工具
使用松下MINAS A6B 系列驱动器,可以通过PANATERM ver.6.0设置对象。
使用绝对式编码器要安装电池。安装电池后,需要在设备初次启动时进行多圈数据清零。
绝对式编码器设定
3015h对象,绝对式编码器设定说明:
值 | 说明 |
---|---|
0 | 绝对式模式 |
1 | 增量模式 |
2 | 绝对式模式(无视多圈计数溢出) |
3 | 绝对式模式(1 圈绝对值) |
4 | 绝对式模式(无限圈绝对值) |
把3015h对象设置为4,绝对式模式(无限圈绝对值)
上限值设定
3688h对象,绝对式编码器多圈数据上限值(Absolute encoder multi-turn data upper-limit value)
单圈数据,数据宽度为23bit,范围为0~8388607.
多圈数据,数据宽度为16bit,范围为0~65535.
因为单圈数据和多圈数据都有范围,一直往一个方向旋转,总有溢出的时候,不可能无限旋转。
旋转轴是在0~360°之间,所以我们配置下限和上限值。当移动达到上限值时,再移动1个脉冲,当前位置就变为下限值。如图:
607Bh-01h(Min position range limit) = 0h
607Bh-02h(Max position range limit) = 8388608 / 电子齿轮比 × (3688h+ 1)-1 – 公式1
我设置的电机转1°,需要1188386.13333333333个脉冲,电子齿轮比为1,所以转一圈需要1188386.13333333333 * 360 = 427819007.9999999个脉冲,即607Bh-02h=427819007(0 ~ 427819007之间有427819008个脉冲),根据公式1,计算出3688h=50.
所以把3688h对象设置为50.
注:607Bh-02h无限旋转绝对式模式下自动设定内部处理的计算值。所以我们设置3688h为50后,607Bh-02h自动设置为427819007.
重启驱动器
设置好后,掉电重启驱动器才生效。
总结
设置好3015h和3688h后,0 ~ 427819007(指令单位)之间对应0 ~ 360°,1个脉冲对应8.414e-7度,也就是精度。这样就可以无限旋转了。
运动时,有正负,也有大于360°,要把其映射到0 ~ 360°之间;再把度转换为脉冲后,脉冲值在0 ~ 427819007范围内;最后把脉冲值传给607Ah(Target position)。