第1部分 产品介绍
MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈,有效防止电机丢步。适合小型机械臂,3D打印机,雕刻机,写字机,自动化产品以及电子竞赛等应用。
硬件开源,性价比高!
第2部分 相关资料下载
2.1 源代码下载
百度网盘:https://pan.baidu.com/s/1BjrK9SC8pWnDoU32F8jHqA?pwd=mks2
07_例程-STM32系列(脉冲_串口)
第3部分 参数配置和注意事项
3.1 电机参数配置
- 设置波特率: 菜单 → UartBaud → 38400
- 设置从机地址: 菜单 → UartAddr → 01
3.2 注意事项
- 42D/57D串口为RS485电平,需要一个TTL转RS485电平模块。
第4部分 脉冲控制电机运行示例
-
接线说明
-
代码说明
代码功能:STM32 主板发送脉冲信号,控制电机循环正反转动。
程序运行后,可观察到:
a. LED灯亮,电机运行10圈;
b. LED灯灭,电机停止;
c. 如此不断循环
第5部分 读取参数示例
5.1 读取电机实时位置
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口读取电机实时位置信息。
程序运行后,可观察到:
a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
b. LED灯每秒闪一次,发出查询电机实时位置指令;
c. watch 窗口添加观察变量realTimeLocation,可以观察到位置数据变化;
d. 如此不断循环
-
Watch窗口观察结果
5.2 读取电机实时转速
-
接线说明
-
代码说明
代码功能:STM32 主板串口读取电机实时转速。
程序运行后,可观察到:
a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
b. LED灯每秒闪一次,发出查询电机实时转速指令;
c. watch 窗口添加观察变量realTimeSpeed,可以观察到转速数据变化;
d. 如此不断循环。
-
Watch窗口输出结果
5.3 读取电机输入脉冲数
-
接线说明
-
代码说明
代码功能:STM32 主板串口读取电机输入脉冲数。
程序运行后,可观察到:
e. TIMER3 定时器中断生成脉冲信号,控制电机转动;
f. LED灯每秒闪一次,发出查询电机输入脉冲数指令;
g. watch 窗口添加观察变量inputPulses,可以观察到脉冲数据变化;
h. 如此不断循环。
-
Watch窗口输出结果
5.4 读取电机位置误差
-
接线说明
-
代码说明
代码功能:STM32 主板串口读取位置误差。
程序运行后,可观察到:
a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
b. LED灯每秒闪一次,发出查询电机位置误差指令;
c. watch 窗口添加观察变量PositionError,可以观察到位置误差变化;
d. 如此不断循环
-
Watch窗口输出结果
注意:PositionError = 51200 对应角度值360度
5.5 读取电机IO端口状态
-
接线说明
-
代码说明
代码功能:STM32 主板串口读取IO端口状态。
程序运行后,可观察到:
a. LED灯每秒闪一次,发出查询电机IO端口状态指令;
b. watch 窗口添加观察变量IoStatus,可以观察到IO端口状态变化;
c. IO端口默认为高电平,用地线触碰IN_1,IN_2 可以看到状态变化;
-
Watch窗口输出输出结果
注: 1-高电平; 0-低电平
第6部分 设置参数示例
6.1 设置电机工作模式
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口设置工作模式。
程序运行后,可观察到:
a. LED灯每秒闪一次,即串口发出设置工作模式指令;
b. 如果设置成功,LED灯慢闪,可通过屏幕菜单Mode选项,查看设置的工作模式;
c. 如果设置失败,LED灯快闪。
6.2 设置电机工作电流
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口设置工作电流。
程序运行后,可观察到:
a. LED灯每秒闪一次,即串口发出设置工作电流指令
b. 如果设置成功,LED灯慢闪,可通过屏幕菜单Ma选项,查看设置的电流;
c. 如果设置失败,LED灯快闪。
6.3 设置电机工作细分
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口设置工作细分。
程序运行后,可观察到:
a. LED灯亮,即串口发出设置细分指令;
b. 如果设置成功,LED灯慢闪,可通过屏幕菜单MStep选项,查看设置的细分;
c. 如果设置失败,LED灯快闪。
6.4 恢复出厂参数
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口恢复出厂参数。
程序运行后,可观察到:
a. LED灯亮,即串口发出恢复出厂参数指令;
b. 如果恢复成功,LED灯慢闪,屏幕显示“Reload ok”,“Reboot…”,电机会自动重启,需要重新校准电机;
c. 如果恢复失败,LED灯快闪。
第7部分 电机运行示例
7.1 电机速度模式运行
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口控制电机以速度模式运行。
程序运行后,可观察到:
a. LED灯亮/灭一次,电机改变一次速度运行,不停循环运行;
b. 如果运行失败,LED灯快闪;
7.2 电机位置模式1-按脉冲数运行
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口控制电机以脉冲数运行。
程序运行后,可观察到:
a. 电机按设定的脉冲数运行到指定位置(10圈),停止2000ms;
b. 改变方向,再运行到指定位置(10圈),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
7.3 电机位置模式2-按相对坐标运行
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口控制电机按相对坐标运行。
程序运行后,可观察到:
a. 电机按设定的相对坐标(realAxis)运行到指定位置(10圈),停止2000ms;
b. 相对坐标(realAxis)取反,电机运行到起点位置,停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
7.4 电机位置模式3-按绝对坐标运行
-
接线说明
-
代码说明
代码功能:STM32 主板通过串口控制电机按按绝对坐标运行。
程序运行后,可观察到:
a. 电机运行到绝对坐标(absoluteAxis=0),停止2000ms;
b. 电机运行到绝对坐标(absoluteAxis=163840),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
下一篇:《MKS SERVO42&57D 闭环步进电机_系列12 STM32_CAN例程》
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
欢迎光临 创客基地 B站:https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店:https://makerbase.taobao.com/
网盘资料下载 https://pan.baidu.com/s/1BjrK9SC8pWnDoU32F8jHqA?pwd=mks2