由于是通过电机的驱动板来对电机进行控制,所以需要对控制板的通讯协议有所了解,也就是需要去看懂相应的通讯协议。
而脉塔电机的通讯协议十分的简单明了,在此我就对其的电流控制来进行讲解。
速度环控制
从上图来看我们可以发现要想控制伺服电机进行运动,需要对其发送8位can信号,如果没有更改过电机的ID号,则其中ID
号为141,然后Data【0】为控制方法的选择,A1就是转矩闭环控制,Data[4]和 data[5]代表数据大小,Data[4](0x64)为低位,Data[5](0x00)为高位。所以实际 数据为 0x0064 表示十进制 100,按照 0.01A/LSB 缩小即为 100*0.01=1A 。驱动会以 1A 作为目标电流执行。
当我们需要更改电流的大小时,即只需要对4和5位的数据进行更改。
电机返回数据
当给电机成功发送完数据后,电机也会给发送者回复一串数据来显示电机的现在状态,如下图所示:
Data[1] = 0x32 十进制为 50,代表此刻电机温度为 50 度。Data[2]和 Data[3]合成数据 0x0064 十进制为 100,按照 100 倍比例缩小即为 100*0.01=1A,那么代表当前电机实际电流为 1A。Data[4] 和 Data[5]合成数据 0x01F4 十进制为 500,代表电机输出轴转速为 500dps。电机输出轴转速和电机转 速之间存在减速比的关系,如果减速比为 6,那么电机转速比输出轴转速高 6 倍。Data[6]和 Data[7] 合成数据 0x002D 十进制为 45,代表电机输出轴相对零点位置正向移动 45 度。电机输出轴位置和电 机编码器线数和减速比有关,例如电机编码器线数为 16384,减速比为 6,那么电机输出轴的 360 度 对应 16384*6