第1部分 产品介绍

MKS SERVO42E/57E 闭环步进电机是创客基地为满足市场需求,按工业级标准自主研发的一款产品。具备脉冲接口、RS485接口以及CAN接口,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈,有效防止电机丢步。适合小型机械臂,3D打印机,雕刻机,写字机,非标自动化产品以及电子竞赛等应用。
在这里插入图片描述

第2部分 相关资料下载

2.1 MKS E系列闭环步进驱动资料

百度网盘:
https://pan.baidu.com/s/1kRJBl8JTGwhifs0gMLtrQ?pwd=jad9

2.2 源代码下载

百度网盘:https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9#list/path=%2FMKS%20E系列闭环步进驱动器%2F07_例程-STM32系列(脉冲_串口)
在这里插入图片描述

2.3 上位机下载

百度网盘:
https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9#list/path=%2FMKS%20E系列闭环步进驱动器%2F05_上位机软件&parentPath=%2F
在这里插入图片描述

第3部分 脉冲控制电机运行示例

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板发送脉冲信号,控制电机循环正反转动。
程序运行后,可观察到:
a.LED蓝灯亮,电机运行10圈;
b.LED蓝灯灭,电机停止;
c.如此不断循环

在这里插入图片描述

第4部分 读取参数示例

4.1 读取电机实时位置

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口读取电机实时位置信息。
程序运行后,可观察到:
a. TIMER3 定时器中断生成脉冲信号,控制电机转动;
b. LED蓝灯每秒闪一次,发出查询电机实时位置指令;
c. watch 窗口添加观察变量realTimeLocation,可以观察到位置数据变化;
d. 如此不断循环
在这里插入图片描述

3.Watch窗口观察结果
在这里插入图片描述

4.2 读取电机实时转速

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板串口读取电机实时转速。
程序运行后,可观察到:
a.TIMER3 定时器中断生成脉冲信号,控制电机转动;
b.LED蓝灯每秒闪一次,发出查询电机实时转速指令;
c.watch 窗口添加观察变量realTimeSpeed,可以观察到转速数据变化;
d.如此不断循环。
在这里插入图片描述

3.Watch窗口输出结果
在这里插入图片描述

4.3 读取电机输入脉冲数

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板串口读取电机输入脉冲数。
程序运行后,可观察到:
e.TIMER3 定时器中断生成脉冲信号,控制电机转动;
f.LED蓝灯每秒闪一次,发出查询电机输入脉冲数指令;
g.watch 窗口添加观察变量inputPulses,可以观察到脉冲数据变化;
h.如此不断循环。
在这里插入图片描述

3.Watch窗口输出结果
在这里插入图片描述

4.4 读取电机位置误差

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板串口读取位置误差。
程序运行后,可观察到:
a.TIMER3 定时器中断生成脉冲信号,控制电机转动;
b.LED蓝灯每秒闪一次,发出查询电机位置误差指令;
c.watch 窗口添加观察变量PositionError,可以观察到位置误差变化;
d.如此不断循环
在这里插入图片描述

3.Watch窗口输出结果
在这里插入图片描述

注意:PositionError = 51200 对应角度值360度

4.5 读取电机IO端口状态

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板串口读取IO端口状态。
程序运行后,可观察到:
a.LED蓝灯每秒闪一次,发出查询电机IO端口状态指令;
b.watch 窗口添加观察变量IoStatus,可以观察到IO端口状态变化;
c. IO端口默认为高电平,用地线触碰IN_1,IN_2 可以看到状态变化;
在这里插入图片描述

3.Watch窗口输出输出结果
在这里插入图片描述

注: 1-高电平; 0-低电平

第5部分 设置参数示例

5.1 设置电机工作模式

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口设置工作模式。
程序运行后,可观察到:
a. LED蓝灯每秒闪一次,即串口发出设置工作模式指令;
b. 如果设置成功,LED蓝灯慢闪,可通过串口调试助手或上位机发送指令,查看设置的工作模式;
c. 如果设置失败,LED蓝灯快闪。
在这里插入图片描述

5.2 设置电机工作电流

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口设置工作电流。
程序运行后,可观察到:
a. LED蓝灯每秒闪一次,即串口发出设置工作电流指令
b. 如果设置成功,LED蓝灯慢闪,可通过串口调试助手或上位机发送指令,查看设置的电流;
c. 如果设置失败,LED蓝灯快闪。
在这里插入图片描述

5.3 设置电机工作细分

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口设置工作细分。
程序运行后,可观察到:
a. LED蓝灯亮,即串口发出设置细分指令;
b. 如果设置成功,LED蓝灯慢闪,可通过串口调试助手或上位机发送指令,查看设置的细分;
c. 如果设置失败,LED蓝灯快闪。
在这里插入图片描述

5.4 恢复出厂参数

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口恢复出厂参数。
程序运行后,可观察到:
a. LED蓝灯亮,即串口发出恢复出厂参数指令;
b. 如果恢复成功,LED蓝灯慢闪,电机会自动重启,需要重新校准电机;
c. 如果恢复失败,LED蓝灯快闪。
在这里插入图片描述

第6部分 电机运行示例

6.1 电机速度模式运行

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口控制电机以速度模式运行。
程序运行后,可观察到:
a. LED蓝灯亮/灭一次,电机改变一次速度运行,不停循环运行;
b. 如果运行失败,LED蓝灯快闪;
在这里插入图片描述

6.2 电机位置模式1-按脉冲数运行

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口控制电机以脉冲数运行。
程序运行后,可观察到:
a. 电机按设定的脉冲数运行到指定位置(10圈),停止2000ms;
b. 改变方向,再运行到指定位置(10圈),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED蓝灯快闪。
在这里插入图片描述

6.3 电机位置模式2-按相对坐标运行

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口控制电机按相对坐标运行。
程序运行后,可观察到:
a. 电机按设定的相对坐标(realAxis)运行到指定位置(10圈),停止2000ms;
b. 相对坐标(realAxis)取反,电机运行到起点位置,停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED蓝灯快闪。
在这里插入图片描述

6.4 电机位置模式3-按绝对坐标运行

1.接线说明
① MKS SERVO 42E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

② MKS SERVO 57E 与 STM32F103C8T6 串口通讯接线说明
在这里插入图片描述

2.代码说明
代码功能:STM32 主板通过串口控制电机按按绝对坐标运行。
程序运行后,可观察到:
a. 电机运行到绝对坐标(absoluteAxis=0),停止2000ms;
b. 电机运行到绝对坐标(absoluteAxis=163840),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED蓝灯快闪。
在这里插入图片描述


注:本文同样适合后续产品MKS SERVO28E/35E闭环步进电机
下一篇:《MKS SERVO42E&57E 闭环步进电机_系列11 STM32_CAN例程》
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
欢迎光临 创客基地 B站:https://space.bilibili.com/393688975
网盘资料下载:https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐