文章目录
第1部分 产品介绍
MKS SERVO42E/57E 闭环步进电机是创客基地为满足市场需求,按工业级标准自主研发的一款产品。具备脉冲接口、RS485接口以及CAN接口,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈,有效防止电机丢步。适合小型机械臂,3D打印机,雕刻机,写字机,非标自动化产品以及电子竞赛等应用。
第2部分 串口参数配置
2.1 串口助手参数配置
1.串口设置
选择串口号:(COMxx)
选择波特率:38400
选择校验位:NONE
选择数据位:8
选择停止位:1
如下图绿框1所示
2.接收和发送设置,如下图绿框2,3所示
3.选择自动发送校验位,如下图绿框4,5,6所示
4.打开串口,如上图绿框7所示。
2.2 电机参数配置
1.选设置控制模式: Mode → 05 RS485总线 闭环FOC模式
发送 FA 01 82 05 82 (注:最后一个字节82为校验码,串口助手自动添加)
返回 FB 01 82 01 7F
如下图框1所示
2.设置波特率: UartBaud → 38400
发送FA 01 8A 04 89
返回FB 01 8A 01 87
如下图框2所示
3.设置从机地址: UartAddr → 01
发送FA 01 8B 01 87
返回FB 01 8B 01 88
第3部分 读取/设置电机参数
3.1 读取参数指令
以“读取累加制多圈编码器值”为例
发送 FA 01 31 2C
返回 FB 01 31 00 00 00 00 43 D2 42
即编码器值为 0x0000000043D2
如下图所示
3.2 设置参数指令
以设置电流参数为例
发送 FA 01 83 06 FD 81 设置电流为1789mA (0x6FD = 1789)
返回 FB 01 83 01 80 表示设置完成
串口助手指令如下图所示
3.3 读取IO端口状态
端口状态定义如下:
(注:28E/35E/42E只能读取到IN_1端口)
发送 FA 01 34 2F读取IN_1,IN_2,ALM,PEND端口状态
返回 FB 01 34 0F 3F (0x0F 的低4位对应4个端口的状态)
如下图所示
第4部分 电机限位归零运行
57E电机,建议把电流设置为3200mA
限位触发电平,限位方向,限位速度通过串行指令设置(功能码0x90)。
本文使用默认参数。
发送 FA 01 91 8C
返回 FB 01 91 01 8E
电机开始归零运行,串口调试助手返回显示:FB 01 91 02 8F
此时将IN_1端口置低电平(可以用地线触碰IN_1端口)
电机完成归零,串口调试助手返回显示:FB 01 91 02 8F
第5部分 电机速度模式运行
注意:57E电机,建议把电流设置为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 按脉冲数相对运行
注意:57E电机,建议把电流设置为3200mA
6.1 按脉冲数相对运行
注:1.8度电机,16细分时,3200脉冲电机转1圈
1.先将当前坐标设置为0,方便观察电机运行
发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
如下图红框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
如下图红框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左右误差
注意:57E电机,建议把电流设置为3200mA
7.1 按坐标值相对运行
1.先将当前坐标设置为0,方便观察电机运行
发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
如下图红框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
如下图红框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
如下图红框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左右误差
注意:57E电机,建议把电流设置为3200mA
8.1 按坐标值绝对运行
1.先将当前坐标设置为0,方便观察电机运行
发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
如下图红框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
如下图红框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
如下图红框4所示
5.再次读取当前坐标值
发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 02 7F FF AD
当前坐标值为0x000000027FFF (误差1),即电机没有运行,和预定目标一致。
如下图红框5所示
6.再次让电机以速度300RPM,加速度200,绝对运行到坐标0
发送指令:FA 01 F5 01 2C C8 00 00 00 00 E5
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
如下图红框6所示
7.再次读取当前坐标值
发送指令: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所示
8.3 速度与坐标实时更新
1.先将当前坐标设置为0,方便观察电机运行
发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
如下图红框1所示
2.控制电机以速度300RPM,加速度200,绝对运行坐标0x42A8C0(即转30圈)
发送指令:FA 01 F5 01 2C 64 00 42 A8 C0 2B
开始运行:FB 01 F5 01 F2
如下图红框2所示
3.控制电机以速度1000RPM,加速度200,绝对运行坐标58 E1 00 (即转40圈)
发送指令FA 01 F5 03 E8 C8 00 58 E1 00
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
如下图红框3所示
4.读取当前坐标值
发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 58 E0 FC 61
当前坐标为0x 58 E0 FC(误差),和修改后目标坐标一致。
如下图红框4所示
注:本文同样适合后续产品MKS SERVO28E/35E闭环步进电机
下一篇:《MKS SERVO42E&57E 闭环步进电机_系列6 MODBUS-RTU通讯示例》
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
欢迎光临 创客基地 B站:https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店:https://makerbase.taobao.com/
网盘资料下载:https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明