CANopen DS402 Homing方法分析

本文主要分析CANopen DS402中各种Homing方法。


一 装置通用结构

讲解Homing方法前,需要了解一下装置的通用结构,
在这里插入图片描述

装置一般左右各有一个limit switch,即限位开关,用来控制移动范围,分别叫negative限位开关和positive限位开关。

有时根据需要会有home switch,用来确定home位置,分为negative home开关和positive home开关。

Homing需要运动,运动时则会转动电机,电机通常会连接编码器,转动时会带着编码器一起转动,编码器在转动时会发出index pulse。


二 Homing方法

DS402 Spec里Homing方法有35个,本节挨个分析。

Method 1: Homing on the negative limit switch and index pulse

运动轨迹如下,
在这里插入图片描述
该方法使用negative限位开关和编码器index pulse来找home位置。

起始时,如果negative限位开关的电平为低,那么就会驱动电机往左运动,碰到negative限位开关后电平就会变成高,然后往右运动,等negative限位开关的电平变成低之后编码器发出的第一个index pulse就是home位置,此时运动就会停止。

起始时,如果negative限位开关的电平为高,那么就会直接往右运动,等negative限位开关的电平变成低之后编码器发出的第一个index pulse就是home位置。

Method 2: Homing on the positive limit switch and index pulse

运动轨迹如下,
在这里插入图片描述
该方法使用positive限位开关和编码器index pulse来找home位置,与Method 1类似

起始时,如果positive限位开关的电平为低,那么就会驱动电机往右运动,碰到positive限位开关后电平就会变成高,然后往左运动,等positive限位开关的电平变成低之后编码器发出的第一个index pulse就是home位置,此时运动就会停止。

起始时,如果positive限位开关的电平为高,那么就会直接往左运动,等positive限位开关的电平变成低之后编码器发出的第一个index pulse就是home位置。

Methods 3 and 4: Homing on the positive home switch and index pulse

运动轨迹如下,
在这里插入图片描述
起始时,如果positive home开关电平是低,那么就会往右运动;如果home开关电平是高,那么就会往左运动。这个比较好理解,positive home开关电平为低说明没有运动到positive home开关的位置,那么就会往positive方向运动;positive home开关电平为高说明已经超过positive home开关的位置,那么就会往negative方向运动。

运动过程中,如果home开关电平发生变化(高变低或低变高),那么home开关位置左侧或右侧的index pulse决定home位置。

method 3是由home开关位置左侧的index pulse决定,所以如果positive home开关位置电平由低变高,那么就会往反方向运动去寻找home位置;如果positive home开关位置电平由高变低,那么会继续沿着初始运动方向去寻找home位置。

method 4是由home开关位置右侧的index pulse决定,所以如果positive home开关位置电平由高变低,那么就会往反方向运动去寻找home位置;如果positive home开关位置电平由低变高,那么会继续沿着初始运动方向去寻找home位置。

Methods 5 and 6: Homing on the negative home switch and index pulse

运动轨迹如下,
在这里插入图片描述
与Methods 3 and 4类型。

起始时,如果negative home开关电平是低,那么就会往左运动;如果home开关电平是高,那么就会往右运动。这个比较好理解,negative home开关电平为低说明没有运动到negative home开关的位置,那么就会往negative方向运动;negative home开关电平为高说明已经超过negative home开关的位置,那么就会往positive方向运动。

运动过程中,如果home开关电平发生变化(高变低或低变高),那么home开关位置左侧或右侧的index pulse决定home位置。

method 5是由home开关位置右侧的index pulse决定,所以如果negative home开关位置电平由低变高,那么就会往反方向运动去寻找home位置;如果negative home开关位置电平由高变低,那么会继续沿着初始运动方向去寻找home位置。

method 6是由home开关位置左侧的index pulse决定,所以如果negative home开关位置电平由高变低,那么就会往反方向运动去寻找home位置;如果negative home开关位置电平由低变高,那么会继续沿着初始运动方向去寻找home位置。

Methods 7 to 14: Homing on the home switch and index pulse

method 7,8,9,10运动轨迹如下,
在这里插入图片描述

这个装置比较特殊,其home开关在完整行程中有一部分持续位置是高电平,其全行程运动过程中,home开关会变高一段时间,然后变低,如红框展示。

起始时,如果home开关电平是低,那么都会往右运动。

起始位置分为3种情况,即图中绿色标注的地方。

  • Case 1:起始时,home开关是低电平,即deactive,4种方法都会往右运动。
    • 方法7往右运动,当home开关电平由低变高,会反向往左运动,电平变化处左侧的的第一个index pulse就是方法7的home位置;
    • 方法8往右运动,当home开关电平由低变高,会继续往右运动,电平变化处右侧的的第一个index pulse就是方法8的home位置;
    • 方法9往右运动,当home开关电平由低变高,会继续往右运动,直到home开关电平由高变低,此时会反向往左运动,电平变化处左侧的的第一个index pulse就是方法9的home位置,
    • 方法10往右运动,当home开关电平由低变高,会继续往右运动,直到home开关电平由高变低,会继续往右运动,电平变化处右侧的的第一个index pulse就是方法10的home位置
  • Case 2:起始时,home开关是高电平,即active,方法7和8会往左运动,方法9和10则往右运动。
    • 方法7往左运动,当home开关电平由高变低,会继续运动,电平变化处左侧第一个index pulse就是方法7的home位置
    • 方法8往左运动,当home开关电平由高变低,会反向往右运动,电平变化处右侧第一个index pulse就是方法8的home位置
    • 方法9往右运动,当home开关电平由高变低,会反向往左运动,电平变化处左侧第一个index pulse就是方法9的home位置
    • 方法10往右运动,当home开关电平由高变低,会继续运动,电平变化处右侧第一个index pulse就是方法10的home位置
  • Case 3:起始时,home开关是低电平,即deactive,4种方法都会往右运动,当遇到positive限位开关电平由低变高(说明走到了极限),那么就会都反向往左运动。
    • 方法7往左运动,当home开关电平由低变高,会继续往左运动,直到home开关电平由高变低,继续运动,电平变化处左侧第一个index pulse就是方法7的home位置
    • 方法8往左运动,当home开关电平由低变高,会继续往左运动,直到home开关电平由高变低,会反向往右运动,电平变化处右侧第一个index pulse就是方法8的home位置
    • 方法9往左运动,当home开关电平由低变高,会继续往左运动,电平变化处左侧的的第一个index pulse就是方法9的home位置
    • 方法10往左运动,当home开关电平由低变高,会反向往右运动,电平变化处右侧的的第一个index pulse就是方法10的home位置

method 11,12,13,14运动轨迹如下,
在这里插入图片描述
与方法7,8,9,10类似,只是起始时如果home开关电平是低,就会都往左运动,限位开关是negative的。

Methods 15 and 16: Reserved

Methods 17 to 30: Homing without an index pulse

运动轨迹如下,
在这里插入图片描述
method 17到30和method 1到14类似,只是不需要index pulse,只看home开关。

17对应1, 18对应2,…,30对应14,都是在对应方法里去掉index pulse就行了。如上图中方法19和20对应之前的方法3和4,只是把方法3和4里的index pulse去掉。

Methods 31 and 32: Reserved

Methods 33 to 34: Homing on the index pulse

在这里插入图片描述
method 33的初始运动方向是朝左,method 34的初始运动方向是朝右,home位置是对应运动方向上遇到的index pulse。
注意:Spec里没说是第几个index pulse

Method 35: Homing on the current position

直接把当前位置当做home位置,似乎不需要运动。


三 总结

本文分析了DS402协议中homing操作的各种方法,如果单独看文档,会比较难理解,只有对实际的装置结构有一定的了解,那么就比较容易理解了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/280294.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flowable-升级为7.0.0.M2-第二节

目录 替换变化的类和配置把javax.servlet 替换为 jakarta.servlet修改redis的配置配置logging.level.org.springframework.boot.autoconfigureerror避免影响视听 替换变化的类和配置 把javax.servlet 替换为 jakarta.servlet import javax.servlet.ServletContext; import ja…

运行时错误‘53’文件未找到:MathPage.WLL,安装MathType后Word不能复制粘贴问题的解决

两步解决: 1. 打开Word-->文件-->选项-->信任中心-->信任中心设置-->受信任位置,解决宏问题 添加如下受信任位置, 我的路径:C:\Program Files\Microsoft Office\root\Office16\STARTUP\ 2. 找到MathType下的MathT…

1panel使用指南(一)面板安装

一、1panel简介 1Panel是杭州飞致云信息科技有限公司推出的产品 [1],帮助用户实现快速建站。 [2]是一款现代化、开源的Linux服务器运维管理面板,于2023年3月推出,深度集成WordPress和Halo,一键完成域名绑定、SSL证书配置等操作&a…

元旦特辑:Note5---插入排序

目录 前言🪩 1. 排序的概念运用🟣 1.1 排序的概念🟪 1.2 排序的运用💜 2. 直接插入排序🟢 2.1 基本思想🟩 2.2 思路分析💚 2.3 代码实现✅ 2.3.1 sort.h 2.3.2 sort.c 2.3.3 test.c …

c语言-指针练习题

目录 前言一、题目一二、题目二总结 前言 为了巩固c语言中关于指针知识点的掌握,本篇文章记录关于指针的练习题。 一、题目一 有n个整数,使前面各数顺序往后移动m个位置,最后m个数变成最前面的m个数 写一函数实现以上功能,在主函…

k8s搭建(五、k8s可视化管理工具Dashboard配置)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

2000-2022年上市公司股票流动性指标数据/股票流动性Amihud(原始数据+计算代码+计算结果)

2000-2022年上市公司股票流动性指标数据/股票流动性Amihud(原始数据计算代码计算结果) 1、时间:2000-2022年 3、指标:证券代码_没有单位、交易日期_没有单位、日个股交易金额_元、考虑现金红利再投资的日个股回报率_没有单位、交…

杭电新生赛 大雪球 二分

👨‍🏫 题目地址 ✨ AC code import java.io.*; import java.util.*;public class Main {static BufferedReader in new BufferedReader(new InputStreamReader(System.in));static BufferedWriter out new BufferedWriter(new OutputStreamWriter(Sy…

二叉树的中序遍历,力扣

目录 题目地址: 题目: 解题方法: 解题分析: 解题思路: 代码实现: 注: 代码实现(递归): 代码实现(迭代): 题目地址&#xf…

SpringBoot 增量/瘦身部署jar 包

背景 SpringBoot 项目的部署一般采用全量jar 包方式部署相关项目,如果我们对相关的Contrller\Service\Dao\Mapper 层进行相关业务调整就需要重新编译全量jar 包(包大小约为200M左右)实在太麻烦了。 本文:重点讲解使用SpringBoot 的增量/瘦身…

数字资产学习笔记

附:2023年数据资源入表白皮书下载: 关注WX公众号: commindtech77, 获得数据资产相关白皮书下载地址 1. 回复关键字:数据资源入表白皮书 下载 《2023数据资源入表白皮书》 2. 回复关键字:光大银行 下载 光…

行人重识别(ReID)基础知识入门

这里写目录标题 1、ReID技术概述1.1 基本原理1.2 实现流程1.3 重识别存在的技术挑战 2、训练数据格式介绍 1、ReID技术概述 1.1 基本原理 ReID,全称Re-identification,目的是利用各种智能算法在图像数据库中找到与要搜索的目标相似的对象。ReID是图像检…

探索效率与可扩展性:MinIO图片服 VS FastDFS图片服

目录 1、前言 2、背景知识 2.1 Minio图片服的概述 2.2 FastDFS图片服的概述 3、性能比较 3.1 存储性能比较 3.1.1 对比上传速度和下载速度 3.1.2 比较两者的读写性能 3.2 负载均衡性能比较 4、可扩展性比较 4.1 横向扩展性性能比较 4.2 纵向扩展性性能比较 5、结语…

kubeadm

kubeadm来快速的搭建一个k8s集群 二进制搭建适合大集群,50台以上主机。 kubeadm更适合中小企业的业务集群。 我用过的集群是二进制,搭建过adm master 192.168.233.91 2核4G /4核8G docker kubeadm kubectl flannel node1 192.168…

SpringMVC:Ajax、拦截器、文件上传、文件下载

文章目录 SpringMVC - 06一、Ajax1. 概述2. Ajax 异步加载数据1. 单个数据2. 对象 3. 实践4. 总结 二、拦截器1. 概述2. 实现3. 实践4. 总结 三、文件上传:Upload1. 准备工作2. 步骤3. 效果 四、文件下载:Download1. 步骤2. 效果3. 总结 注意&#xff1a…

青龙面板的安装

一、安装docker 首先,需要在服务器上安装docker。 没有服务器的可以使用虚拟机,或申请一台三丰云的免费云服务器体验一下,独立IP地址,送免备案服务,可以满足基本的使用,三丰云上还有免费虚拟主机等其他免费…

OSG绘制视锥体

最近要来实现一个相机位姿态可视化的需求&#xff0c;不想使用pangolin&#xff0c;不好集成&#xff0c;想用osg来做可视化。以下是demo效果。 代码实现&#xff1a; // Cone_of_vision.cpp : 定义控制台应用程序的入口点。 //#include "stdafx.h" #include <os…

华为hcia之ipv6实验手册

R3: dhcp enable ipv6 dhcpv6 pool test address prefix 2000:23::/64 excluded-address 2000:23::2 dns-server 2000:23::2 interface GigabitEthernet0/0/0 ipv6 enable ipv6 address 2000:12::2/64 ipv6 address auto link-local undo ipv6 nd ra halt //无状态配置 inter…

Vue中的默认插槽详解

Vue中的默认插槽详解 在 Vue 中&#xff0c;插槽&#xff08;Slot&#xff09;是一种非常强大且灵活的机制&#xff0c;用于在组件中插入内容。Vue 提供了两种类型的插槽&#xff1a;默认插槽&#xff08;Default Slot&#xff09;和具名插槽&#xff08;Named Slot&#xff09…

递归详解之青蛙跳台阶和汉诺塔问题

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…