第1部分 产品介绍
MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈,有效防止电机丢步。适合小型机械臂,3D打印机,雕刻机,写字机,自动化产品以及电子竞赛等应用。
硬件开源,性价比高!
第2部分 串口参数配置
2.1 电机参数配置
- 选择控制模式: 菜单 → Mode → SR_vFOC
- 设置波特率: 菜单 → UartBaud → 38400
- 设置从机地址: 菜单 → UartAddr → 01
2.2 串口助手参数配置
- 串口设置
选择串口号:(COMxx)
选择波特率:38400
选择校验位:NONE
选择数据位:8
选择停止位:1
如下图绿框1所示 - 接收和发送设置,如下图绿框2,3所示
- 选择自动发送校验位,如下图绿框4,5,6所示
- 打开串口,如上图绿框7所示。
第3部分 读取/设置电机参数
3.1 读取参数指令
以“读取累加制多圈编码器值”为例
发送 FA 01 31 2C (注:最后一个字节2C为校验码,串口助手自动添加)
返回 FB 01 31 00 00 00 00 43 D2 42
即编码器值为 0x0000000043D2
如下图所示
3.2 设置参数指令
以设置电流参数为例(对应屏幕上的“Ma”选项)
发送 FA 01 83 06 FD 81 设置电流为1789mA (0x6FD = 1789)
返回 FB 01 83 01 80 表示设置完成
串口助手指令如下图所示
电机屏幕菜单选项“Ma”,可以查看刚设置的电流值,如下图
3.3 读取IO端口状态
端口状态定义如下:
(注:28D/35D/42D只能读取到IN_1端口)
发送 FA 01 34 2F读取IN_1,IN_2,OUT_1,OUT_2端口状态
返回 FB 01 34 0F 3F (0x0F 的低4位对应4个端口的状态)
如下图所示
第4部分 电机限位归零运行
57D电机的拨码开关PIN3,PIN2拨到ON状态。
57D电机,建议把电流设置为3200mA
限位触发电平,限位方向,限位速度可通过屏幕菜单“HmTrig、HmDir、HmSpeed”设置,也可通过串行指令设置(功能码0x90)。
本文使用默认参数。
发送 FA 01 91 8C
返回 FB 01 91 01 8E
电机开始归零运行,屏幕显示“Home…”
此时将IN_1端口置低电平(可以用地线触碰IN_1端口)
电机完成归零,屏幕显示“Home Ok”
电机屏幕显示过程如下图:
第5部分 电机速度模式运行
注意:57D电机,建议把电流设置为3200mA
5.1 速度模式运行和停止
1. 控制电机以速度300RPM, 加速度2运行
发送指令:FA 01 F6 01 2C 02 20
返回指令:FB 01 F6 01 F3
如下图1,2所示
2. 控制电机以加速度200停止
发送指令:FA 01 F6 01 2C 02 20
开始停止:FB 01 F6 01 F3
完成停止:FB 01 F6 02 F4
如下图3,4,5所示
5.2 速度模式参数保存
速度模式保存,即让电机每次上电时,以保存的速度和加速度自动运行。
1. 控制电机以速度300RPM, 加速度2运行
发送指令:FA 01 F6 01 2C 02 20
返回指令:FB 01 F6 01 F3
如下图1,2所示
2. 保存速度模式参数
发送指令:FA 01 FF C8
返回指令1:FB 01 FF 01 FC 保存成功
返回指令2:FB 01 F6 02 F4 电机停止
保存成功后,电机会停止运行。
如下图3,4,5所示
5.3 速度模式参数擦除
速度模式参数擦除后,电机不再上电时自动运行。
发送指令:FA 01 FF CA C4
返回指令:FB 01 FF 01 FC
如下图所示
第6部分 电机位置模式1 按脉冲数相对运行
注意:57D电机,建议把电流设置为3200mA
6.1 按脉冲数相对运行
注:1.8度电机,16细分时,3200脉冲电机转1圈
1. 先将当前坐标设置为0,方便观察电机运行
发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
如下图红框1所示
2. 电机以速度100RPM,加速度2,正转一圈(3200脉冲)
发送指令:FA 01 FD 80 64 02 00 00 0C 80 6A
开始运行:FB 01 FD 01 FA
完成运行:FB 01 FD 02 FB
此时电机屏幕显示角度值360.0,误差0.00err,脉冲数3.2Kclk
如下图红框2所示
6.2 中断电机运行
1. 电机以速度100RPM,加速度2,正转100圈(320000脉冲)
发送指令:FA 01 FD 80 64 02 00 04 E2 00 C4
开始运行:FB 01 FD 01 FA
如下图红框1所示
2. 电机以加速度200停止
发送指令:FA 01 FD 80 00 C8 00 00 00 00 40
开始停止:FB 01 FD 01 FA
完成停止:FB 01 FD 02 FB
如下图红框2所示
第7部分 电机位置模式2 按坐标值相对运行
注1:1.8度电机,16细分时,3200脉冲电机转1圈
注2:电机转1圈,坐标值变化0x4000,即16384
注3:坐标值会有+15左右误差
注意:57D电机,建议把电流设置为3200mA
7.1 按坐标值相对运行
1. 先将当前坐标设置为0,方便观察电机运行
发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
如下图红框1所示
2. 电机以速度300RPM,加速度200,相对运行坐标0x28000(即转10圈)
发送指令:FA 01 F4 01 2C C8 00 02 80 00 66
开始运行:FB 01 F4 01 F1
完成运行:FB 01 F4 02 F2
此时电机屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
如下图红框2所示
3. 读取当前坐标值
发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 02 80 00 AF
即当前坐标值为0x000000028000,和预定目标一致。
如下图红框3所示
4. 再次让电机以速度300RPM,加速度200,相对运行坐标0x28000(即再转10圈)
发送指令:FA 01 F4 01 2C C8 00 02 80 00 66
开始运行:FB 01 F4 01 F1
完成运行:FB 01 F4 02 F2
此时电机屏幕显示角度值7.2K,误差0.00err,脉冲数64.0Kclk
如下图红框4所示
5. 再次读取当前坐标值
发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 05 00 00 32
即当前坐标值为0x000000050000,和预定目标一致。
如下图红框5所示
7.2 中断电机运行
1. 让电机以速度300RPM,加速度200,相对运行坐标0x2800000(即转1000圈)
发送指令:FA 01 F4 01 2C C8 02 80 00 00 66
开始运行:FB 01 F4 01 F1
如下图红框1所示
2. 让电机立即停止 (即加速为0)
发送指令:FA 01 F4 00 00 00 00 00 00 00 EF
开始停止:FB 01 F4 01 F1
完成停止:FB 01 F4 02 F2
如下图红框2所示
第8部分 电机位置模式3 按坐标值绝对运行
注1:1.8度电机,16细分时,3200脉冲电机转1圈
注2:电机转1圈,坐标值变化0x4000,即16384
注3:坐标值会有+15左右误差
注意:57D电机,建议把电流设置为3200mA
8.1 按坐标值绝对运行
1. 先将当前坐标设置为0,方便观察电机运行
发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
如下图红框1所示
2. 电机以速度300RPM,加速度200,绝对运行到坐标0x28000
发送指令:FA 01 F5 01 2C C8 00 02 80 00 67
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
此时电机屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
如下图红框2所示
3. 读取当前坐标值
发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 02 7F FF AD
即当前坐标值为0x000000027FFF (误差1),和预定目标一致。
如下图红框3所示
4. 再次让电机以速度300RPM,加速度200,绝对运行到坐标0x28000
(因坐标已经是0x28000,所以电机不动)
发送指令:FA 01 F5 01 2C C8 00 02 80 00 67
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
此时电机屏幕仍显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
如下图红框4所示
5. 再次读取当前坐标值
发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 02 7F FF AD
当前坐标值为0x000000027FFF (误差1),即电机没有运行,和预定目标一致。
如下图红框5所示
6. 第3次让电机以速度300RPM,加速度200,绝对运行到坐标0
发送指令:FA 01 F5 01 2C C8 00 00 00 00 E5
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
即电机回到坐标0点
如下图红框6所示
7. 第3次读取当前坐标值
发送指令:FA 01 31 2C
返回指令: FB 01 31 00 00 00 00 00 00 2D
当前坐标为0,和预定目标一致。
如下图红框7所示
8.2 中断电机运行
1. 让电机以速度300RPM,加速度200,绝对运行到坐标0x2800000
发送指令:FA 01 F5 01 2C C8 02 80 00 00 67
开始运行:FB 01 F5 01 F2
如下图红框1所示
2. 让电机立即停止 (即加速度为0)
发送指令:FA 01 F5 00 00 00 00 00 00 00 F0
开始停止:FB 01 F5 01 F2
完成停止:FB 01 F5 02 F3
如下图红框2所示
注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
下一篇:《MKS SERVO42&57D 闭环步进电机_系列7 MODBUS-RTU通讯示例》
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
欢迎光临 创客基地 B站:https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店:https://makerbase.taobao.com/
网盘资料下载 https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwd=mks1