第1部分 产品介绍
MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈,有效防止电机丢步。适合小型机械臂,3D打印机,雕刻机,写字机,自动化产品以及电子竞赛等应用。
硬件开源,性价比高!
第2部分 相关资料下载
2.1 MODBUS调试助手
百度网盘:
https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwd=mks1
MKS闭环步进驱动资料 -> 通用工具软件
2.2 Modbus Poll示例
百度网盘:
https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwd=mks1
MKS闭环步进驱动资料 -> Modbus Poll_MKS
第3部分 参数配置
3.1 电机参数配置
- 选择控制模式: 菜单 → Mode → SR_vFOC
- 设置波特率: 菜单 → UartBaud → 38400
- 设置从机地址: 菜单 → UartAddr → 01
- 选择RTU模式: 菜单 → MB_RTU → Enable
3.2 MODBUS调试助手设置
- 运行MODBUS调试助手;
- 点击“设置串口”,如下图红框1所表示;
- 在弹出的“串行口设置”中,选择如下参数:
选择串行口:(COMxx)
选择波特率:38400
选择奇偶校验:No parity(无)
选择数据位:8
选择停止位:1
如下图红框2所示
- 点击“确定”,如下图红框3所示
- 点击“打开串口”,如下图红框4所示
第4部分 读取/设置电机参数
4.1 读取参数指令
以“读取累加制多圈编码器值”为例,指令格式如下
- 输入485地址1,寄存器地址49,寄存器个数3,如下图红框1所示;
- 点击“读取”,如下图红框2所示;
- 发送缓冲区数据如下图红框3所示;
- 接收缓冲区数据如下图红框4所示;
读出编码器值为0x000000002189
Modbus Poll示例见“01_F4(31)读取编码器值(累加制).mbp”
4.2 设置参数指令
以设置电流参数为例(对应屏幕上的“Ma”选项)
指令格式如下:
- 输入485地址1,寄存器地址131,寄存器值1789,如下图红框1所示;
- 点击“发送”,如下图红框2所示;
- 发送缓冲区数据如下图红框3所示;
- 接收缓冲区数据如下图红框4所示;
- 电机屏幕菜单选项“Ma”,可以查看刚设置的电流值1789mA,如下图红框5所示。
Modbus Poll示例见“14_F6(83)设置工作电流.mbp”
4.3 读取IO端口状态
端口状态定义如下:
(注:28D/35D/42D只能读取到IN_1端口)
指令格式如下
- 输入485地址1,寄存器地址52,寄存器个数1,如下图红框1所示;
- 点击“读取”,如下图红框2所示;
- 发送缓冲区数据如下图红框3所示;
- 接收缓冲区数据如下图红框4所示;
读出编码器值为0x000F,即4个端口均为高电平。
第5部分 电机限位归零运行
(对应屏幕上的“ Go Home ”选项)
57D电机的拨码开关PIN3,PIN2拨到ON状态。
57D电机,建议把电流设置为3200mA
限位触发电平,限位方向,限位速度可通过屏幕菜单“HmTrig、HmDir、HmSpeed”设置,也可通过串行指令设置(功能码0x90)。
这里使用默认参数。
指令格式如下:
5. 输入485地址1,寄存器地址145,寄存器值1,如下图红框1所示;
6. 点击“发送”,如下图红框2所示;
7. 电机开始归零运行,屏幕显示“Home…”
8. 此时将IN_1端口置低电平(可以用地线触碰IN_1端口)
9. 电机完成归零,屏幕显示“Home Ok”
10. 发送缓冲区数据如下图红框3所示;
11. 接收缓冲区数据如下图红框4所示;
电机屏幕显示过程如下图:
Modbus Poll示例见“24_F6(91) 执行限位回零.mbp”
第6部分 电机速度模式运行
注意:57D电机,建议把电流设置为3200mA
速度模式指令格式如下:
6.1 速度模式运行和停止
6.1.1速度模式运行
电机以速度300RPM, 加速度2运行
- 输入485地址1,寄存器地址246,寄存器值00 02 01 2C,如下图红框1所示;
- 点击“发送”,如下图红框2所示;
- 电机开始运行;
- 发送缓冲区数据如下图红框3所示;
- 接收缓冲区数据如下图红框4所示;
Modbus Poll示例见“29_F16(F6) 电机运行_速度模式.mbp”
6.1.2速度模式停止
电机以速加速度200停止
- 输入485地址1,寄存器地址246,寄存器值00 C8 00 00,如下图红框1所示;
- 点击“发送”,如下图红框2所示;
- 电机停止运行;
- 发送缓冲区数据如下图红框3所示;
- 接收缓冲区数据如下图红框4所示;
6.2 速度模式参数保存
速度模式保存,即让电机每次上电时,以保存的速度和加速度自动运行。
首先按6.1.1让电机以速度300RPM, 加速度2运行
保存/清除速度模式参数指令如下:
- 输入485地址1,寄存器地址255,寄存器值200,如下图红框1所示;
- 点击“发送”,如下图红框2所示;
- 保存速度模式参数,电机停止运行;
- 发送缓冲区数据如下图红框3所示;
- 接收缓冲区数据如下图红框4所示;
Modbus Poll示例见“27_F6(FF) 保存或清除 速度模式参数.mbp”
此时,断电后再上电,电机会以设定的速度和加速度自动运行。
6.3 速度模式参数擦除
速度模式参数擦除后,电机不再上电时自动运行。
- 输入485地址1,寄存器地址255,寄存器值202,如下图红框1所示;
- 点击“发送”,如下图红框2所示;
- 清除速度模式参数;
- 发送缓冲区数据如下图红框3所示;
- 接收缓冲区数据如下图红框4所示;
此时,断电后再上电,电机不会自动运行。
第7部分 电机位置模式1 按脉冲数相对运行
注意:57D电机,建议把电流设置为3200mA
7.1 按脉冲数相对运行
注:1.8度电机,16细分时,3200脉冲电机转1圈
按脉冲数相对运行指令格式如下
7.1.1坐标归零
先将当前坐标设置为0,方便观察电机运行。
输入485地址1,寄存器地址246,寄存器值00 02 01 2C,如下图红框1
- 输入485地址1,寄存器地址255,寄存器值1,如下图红框1所示;
- 点击“发送”,如下图红框2所示;
- 此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk, 如下图红框3所示
Modbus Poll示例见“25_F6(92) 直接设置回零点.mbp”
7.1.2位置模式1运行
电机以速度100RPM,加速度2,正转一圈(3200脉冲)
- 输入485地址1,寄存器地址253,寄存器值01 02 00 64 00 00 0C 80,如下图红框1所示;
- 点击“发送”,如下图红框2所示;
- 电机开始运行;
- 电机停止后,屏幕显示角度值360.0,误差0.00err,脉冲数3.2Kclk,如下图红框3所示
Modbus Poll示例见“30_F16(FD) 电机运行_位置模式 1_按脉冲数相对运动.mbp”
7.2 位置模式1停止
- 参考7.1.2章节,发送寄存器值01 02 00 64 00 04 E2 00,让电机以速度100RPM, 加速度2,运行100圈;
- 电机未运行完时,发送寄存器值01 C8 00 00 00 00 00 00,电机以加速度200停止,如下图红框1所示;
- 发送缓冲区数据如下图红框2所示;
- 接收缓冲区数据如下图红框3所示;
第8部分 电机位置模式2 按坐标值相对运行
注1:1.8度电机,16细分时,3200脉冲电机转1圈
注2:电机转1圈,坐标值变化0x4000,即16384
注3:坐标值会有正负15左右误差
注意:57D电机,建议把电流设置为3200mA
8.1 按坐标值相对运行
按坐标值相对运行指令格式如下
8.1.1 坐标归零
先将当前坐标设置为0,方便观察电机运行
参考7.1.1章节操作。
8.1.2 位置模式2运行
电机以速度300RPM,加速度200,相对运行坐标0x28000(即转10圈)
- 输入485地址1,寄存器地址244,寄存器值00 C8 01 2C 00 02 80 00 ,如下图红框1所示;
- 点击发送,电机开始运行;
- 电机运行完成后,屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk,如下图红框2所示;
Modbus Poll示例见“31_F16(F4) 电机运行_位置模式 2_按坐标值相对运动.mbp”
8.2 位置模式2停止
- 参考8.1.2章节,发送寄存器值00 C8 01 2C 02 80 00 00,让电机以速度300RPM, 加速度200,相对运行坐标0x2800000(即转1000圈);
- 电机未运行完时,发送寄存器值00 00 00 00 00 00 00 00,让电机立即停止(加速度0),如下图红框1所示;
- 发送缓冲区数据如下图红框2所示;
- 接收缓冲区数据如下图红框3所示;
第9部分 电机位置模式3 按坐标值绝对运行
注1:1.8度电机,16细分时,3200脉冲电机转1圈
注2:电机转1圈,坐标值变化0x4000,即16384
注3:坐标值会有正负15左右误差
注意:57D电机,建议把电流设置为3200mA
9.1 按坐标值绝对运行
按坐标值绝对运行指令格式如下
9.1.1 坐标归零
先将当前坐标设置为0,方便观察电机运行
参考7.1.1章节操作。
9.1.2速度模式3运行
电机以速度300RPM,加速度200,绝对运行到坐标0x28000。
- 输入485地址1,寄存器地址245,寄存器值00 C8 01 2C 00 02 80 00 ,如下图红框1所示;
- 点击发送,电机开始运行;
- 电机运行完成后,屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk,如下图红框2所示;
Modbus Poll示例见“32_F16(F5) 电机运行_位置模式 3_按坐标值绝对运动.mbp”
9.2 位置模式3停止
- 参考9.1.2章节,发送寄存器值00 C8 01 2C 02 80 00 00,让电机以速度300RPM, 加速度200,绝对运行到坐标0x2800000;
- 电机未运行完时,发送寄存器值00 00 00 00 00 00 00 00,让电机立即停止(加速度0),如下图红框1所示;
- 发送缓冲区数据如下图红框2所示;
- 接收缓冲区数据如下图红框3所示;
注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
下一篇:《MKS SERVO42&57D 闭环步进电机_系列8 CAN通讯示例》
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
欢迎光临 创客基地 B站:https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店:https://makerbase.taobao.com/
网盘资料下载 https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwd=mks1