-
校准编码器 (对应屏幕上的“Cal”选项)
发送e0 80 00 tCHK校准编码器。
校准编码器前,请确保电机没带负载!!!建议校准好以后再装进机器。
比如:
发送e0 80 00 60,校准编码器。
校准成功,返回 e0 01 e1;
校准失败,返回 e0 02 e2。
-
设置电机类型 (对应屏幕上的“MotType”选项)
发送e0 81 __ tCHK,修改电机类型。
00对应0.9度电机
01对应1.8度电机
比如:
发送e0 81 01 62,修改电机类型为 1.8°。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
设置电机类型后,需要重新校准编码器,校准前要断开电机负载。
-
设置工作模式 (对应屏幕上的“CtrMode”选项)
发送e0 82 __ tCHK,设置工作模式。
00 CR_OPEN (开环模式)
01 CR_vFOC (闭环模式(STP/DIR 接口))
02 CR_UART (闭环模式 (UART 接口))
比如:
发送e0 82 01 63,设置CR_vFOC模式。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置电流档位 (对应屏幕上的“Ma”选项)
发送e0 83 __ tCHK,设置电流档位。
00 对应 0ma
01 对应 200ma
02 对应 400ma
…
0C对应 2400ma
0D 对应 2600ma
0E 对应 2800ma
0F 对应 3000ma
比如:
发送e0 83 06 69,设置电流1200ma。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置任意细分 (对应屏幕上的“MStep”选项)
发送e0 84 MS tCHK,设置1~256任意细分。
可以在MStep选项看到设置的细分。
比如:
发送e0 84 07 6B,修改为7细分;
发送e0 84 4e B2,修改为78细分;
发送e0 84 00 64,修改为256细分。
以此类推…
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置En 引脚有效电平 (对应屏幕上的“En”选项)
发送e0 85 __ tCHK,设置En 引脚有效电平。
00 对应低电平使能(L)
01 对应高电平使能(H)
02 对应一直使能(Hold)
比如:
发送e0 85 00 65,设置为低电平使能。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置电机旋转正方向 (对应屏幕上的“Dir”选项)
发送e0 86 __ tCHK,设置电机旋转正方向。
00 对应顺时针旋转
01 对应逆时针旋转
比如:
发送e0 86 00 66,设置为顺时针旋转。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置自动熄屏功能 (对应屏幕上的“AutoSDD”选项)
发送e0 87 __ tCHK,设置自动熄屏功能。
00 关闭自动熄屏功能
01使能自动熄屏功能
比如:
发送e0 87 00 67,设置关闭自动熄屏功能。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置堵转保护功能 (对应屏幕上的“Protect”选项)
发送e0 88 __ tCHK,设置堵转保护功能。
00关闭堵转保护功能
01使能堵转保护功能
比如:
发送e0 88 00 68,设置关闭堵转保护功能。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置细分插补功能 (对应屏幕上的“MPlyer”选项)
发送e0 89 __ tCHK,设置堵转保护功能。
00关闭内部的 256 细分插补功能
01使能内部的 256 细分插补功能
比如:
发送e0 89 00 69,设置关闭细分插补功能。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置串口波特率 (对应屏幕上的“UartBaud”选项)
发送e0 8a __ tCHK,设置串口波特率。
01 9600
02 19200
03 25000
04 38400
05 57600
06 115200
比如:
发送e0 8a 04 6e,设置波特率为38400。
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置串口地址 (对应屏幕上的“UartAddr”选项)
发送e0 8b __ tCHK,设置串口地址。
00 对应e0
01对应e1
…
09对应e9
比如:
发送e0 8b 00 6b,设置串口地址为e0。
发送e0 8b 01 6c,设置串口地址为e1。
发送e0 8b 02 6d,设置串口地址为e2。
…
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置自动回零的模式 (对应屏幕上的“0_Mode”选项)
发送e0 90 __ tCHK,设置自动回零的模式。
00 关闭自动回零Disable
01方向模式DirMode
02就近模式NearMode
比如:
发送e0 90 01 71,设置为DirMode模式
设置成功,返回 e0 01 e0;
设置失败,返回 e0 00 e1;
-
设置自动回零的零点 (对应屏幕上的“Set 0”选项)
发送e0 91 00 tCHK,设置自动回零的零点。
比如:
发送e0 91 00 71,设置零点
设置成功,返回 e0 01 e0;
设置失败,返回 e0 00 e1。
注意:需要先设置“0_Mode” 的模式。
-
设置自动回零的速度 (对应屏幕上的“0_Speed”选项)
发送e0 92 __ tCHK,设置自动回零的速度(范围0~4,数值越小速度越快)。
比如:
发送e0 92 02 74,设置自动回零速度为2。
设置成功,返回 e0 01 e0;
设置失败,返回 e0 00 e1。
-
设置自动回零的方向 (对应屏幕上的“0_Dir”选项)
发送e0 93 __ tCHK,设置自动回零的模式。
00 对应顺时针方向CW
01 对应逆时针方向CCW
比如:
发送e0 93 00 73,设置自动回零方向为顺时针方向。
设置成功,返回 e0 01 e0;
设置失败,返回 e0 00 e1。
注意:对于就近模式回零模式NearMode,0_Dir的设置应该和电机实际运行方向一致,否则会回零失败。
-
返回零点 (对应屏幕上的“Goto 0”选项)
发送e0 94 00 tCHK,返回零点。
比如:
发送e0 94 00 74,返回零点
返回成功,返回 e0 01 e1;
返回失败,返回 e0 00 e0。
注意:需要先设置 “0_Mode” 和 “Set 0”。
-
设置位置Kp参数
发送e0 a1 __ __ tCHK,设置位置Kp参数。(Kp默认值为 0x650)
比如:
发送e0 a1 01 20 a2,设置Kp = 0x120;
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置位置Ki参数
发送e0 a2 __ __ tCHK,设置位置Ki参数。(Ki默认值为 1)
比如:
发送e0 a2 00 02 84,设置Ki = 2;
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
设置位置Kd参数
发送e0 a3 __ __ tCHK,设置位置Kd参数。(Kd默认值为 0x650)
比如:
发送e0 a3 02 50 d5,设置Kd = 0x250;
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
注意:PID参数设置不当,电机可能震动,请谨慎设置参数!!!
-
设置加速度ACC参数
屏幕上的“ACC”选项只能设置7个固定数值,这里可以任意设置数值。
发送e0 a4 __ __ tCHK,设置ACC参数。(ACC默认值为 0x11E)
比如:
发送e0 a4 00 80 04,设置ACC = 0x80;
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0;
注意: ACC设置过大,可能损坏驱动板,请谨慎设置参数!!!
-
设置最大扭矩MaxT参数
发送e0 a5 __ __ tCHK,设置最大扭矩MaxT。(MaxT默认值为 0x4B0)
MaxT取值范围(0 ~ 0x4B0)
比如:
发送e0 a5 02 58 df,设置MaxT = 0x258;
设置成功,返回 e0 01 e1;
设置失败,返回 e0 00 e0。
-
发送e0 f3 0_,修改串口控制模式下驱动板的使能状态。
在串口控制模式下,驱动板的使能状态不再受En引脚的电平控制,而是利用该命令进行控制。
发送e0 f3 00,关闭驱动板;
发送e0 f3 01,使能驱动板;
修改成功,返回 0xe0 0x01 rCHK;
修改失败,返回 0xe0 0x00 rCHK;
-
发送e0 f6 __,让电机以一定的速度进行正/反转。
__字节的最高位表示方向,低7位表示128个速度档位,
转速计算公式为:
Vrpm = (speed × 3000)/(Mstep × 200) 1.8度电机
Vrpm = (speed × 3000)/(Mstep × 400) 0.9度电机
例如 1.8度电机,150细分,speed=1
Vrpm = (1 × 3000)/(150 × 200) = 1
部分转速如下表
比如:
发送e0 f6 01 tCHK,电机以1档速度正转;
发送e0 f6 81 tCHK,电机以1档速度反转;
发送e0 f6 5a tCHK,电机以90(0x5a)档速度正转;
发送e0 f6 da tCHK,电机以90(0xda = 0x5a | 0x80)档速度反转;
运行成功,返回 0xe0 0x01 rCHK;
运行失败,返回 0xe0 0x00 rCHK;
-
发送e0 f7 tCHK,让电机停止正/反转。
成功,返回 0xe0 0x01 rCHK;
失败,返回 0xe0 0x00 rCHK;
-
发送e0 ff c_ tCHK保存/清除保存上面(2)中所设置的正/反转速度。
发送e0 ff c8 tCHK,保存上面(2)中所设置的正/反转速度;
发送e0 ff ca tCHK,清除已保存的正/反转速度;
注1:可以让电机每次上电都直接按照保存的速度和方向一直转动。
也就是说,如果你想要电机一上电就以一定的速度正/反转,你可以先按照(2)中的命令设置好想要的速度和方向,接着利用该命令进行保存,然后重新上电后电机就会按照保存的速度和方向转动了。
注2:保存成功后,会关闭驱动板,需重新使能驱动板。
成功,返回 0xe0 0x01 rCHK;
失败,返回 0xe0 0x00 rCHK;
-
发送e0 fd __ __ __ __ __ tCHK,串口直接位置控制。
第一个__字节,最高位表示方向,低7位表示速度。
第二个__字节、第三个__字节、第四个__字节、第五个__字节组成 uint32_t类型的数据,表示你要发送的脉冲数。
转速计算公式同上面(2)。
比如:
在16细分下,发送e0 fd 01 00 00 0c 80 6a,表示电机以1档速度正转360°。
(01表示1档速度正转,0c 80表示3200(0x0c80)个脉冲 = 360°)
又比如:
在16细分下,发送e0 fd 88 00 10 75,表示电机以8档速度反转1.8°
(88表示8档速度反转,00 00 00 10表示16(0x10)个脉冲 = 1.8°)
成功,返回 0xe0 0x01 rCHK;
失败,返回 0xe0 0x00 rCHK;