本文主要分析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操作的各种方法,如果单独看文档,会比较难理解,只有对实际的装置结构有一定的了解,那么就比较容易理解了。