使用CAN盒子(CAN分析仪(创芯科技)CANalyst-II)发指令进行测试。
SDO协议帧ID: 00 00 06 05
2B 40 60 00 06 00 00 00//电机disable
2B 40 60 00 86 00 00 00//清除警报位
2F 60 60 00 03 00 00 00//设置为速度模式
23 FF 60 00 00 00 00 00//设置速度大小
2B 40 60 00 06 00 00 00//电机disable
2B 40 60 00 0F 00 00 00//电机enable
23 FF 60 00 5C 00 00 00
2B 40 60 00 0F 00 00 00//更改速度赋值后,需要再执行一下。
可以这样试一下
在不跑飞的情况下按照以下顺序执行:
1.
00 00 06 05
23 FF 60 00 00 00 00 00 //设置速度为0
2.
00 00 06 05
2F 60 60 00 03 00 00 00//设置为速度工作模式
3.
00 00 06 05
2B 40 60 00 06 00 00 00//松轴
4.
00 00 06 05
2B 40 60 00 0F 00 00 00//锁轴,速度为0
5.
00 00 06 05
23 FF 60 00 11 11 00 00 //设置速度,开始按照11 11的速度运动
6.
00 00 06 05
2B 40 60 00 06 00 00 00//松轴停止
或者
00 00 06 05
23 FF 60 00 00 00 00 00 //设置速度停止,或其他速度也可以
==============================================================
Kinco MD系列集成式伺服电机
网络助手端发送的指令,前3个字节表示长度,0601后为一个完整的CAN帧
080000 0601 2F 60 60 00 FD 00 00 00 速度模式 03 00 ???
080000 0601 23 FF 60 00 00 00 00 00 0RPM
080000 0601 23 FF 60 00 00 40 06 00 150RPM
080000 0601 2B 40 60 00 0F 00 00 00 使能
080000 0601 2B 40 60 00 06 00 00 00 不使能
指令解释:
0601= 600 + 电机ID
功能码: 指定数据传送的方向和大小。
23(hex)发送 4 个字节数据
2b (hex)发送 2 个字节数据
2f(hex)发送 1 个字节数据
FF 60为索引60FF:发送的数据对象地址,16 位
00子索引: 发送的数据对象子地址,8 位
下划线表示倒序进行计算
速度换算的,举例 0601 23 FF 60 00 00 40 06 00
k = 编码器分辨率 = 10000
单位换算关系为 DEC=[(rpm*512*k)/1875] = 150*512*10000/1875 = 409600
matlab: dec2hex(409600) = 64000 = 00 06 40 00
则4个字节的数据位为(4个字节全部倒序):00 40 06 00