文章目录
- [第1部分 产品介绍](#第1部分 产品介绍)
- [第2部分 相关资料及软件下载](#第2部分 相关资料及软件下载)
-
- [2.1 MKS E系列闭环步进驱动资料](#2.1 MKS E系列闭环步进驱动资料)
- [2.2 Arduino源代码例程下载](#2.2 Arduino源代码例程下载)
- [2.3 串口调试助手下载](#2.3 串口调试助手下载)
- [2.4 上位机下载](#2.4 上位机下载)
- [第3部分 注意事项](#第3部分 注意事项)
-
- [3.1 注意事项](#3.1 注意事项)
- [第4部分 脉冲控制电机运行示例](#第4部分 脉冲控制电机运行示例)
- [第5部分 读取参数示例](#第5部分 读取参数示例)
-
- [5.1 读取电机实时位置](#5.1 读取电机实时位置)
- [5.2 读取电机实时转速](#5.2 读取电机实时转速)
- [5.3 读取电机输入脉冲数](#5.3 读取电机输入脉冲数)
- [5.4 读取电机位置误差](#5.4 读取电机位置误差)
- [5.5 读取电机IO端口状态](#5.5 读取电机IO端口状态)
- [第6部分 设置参数与恢复默认示例](#第6部分 设置参数与恢复默认示例)
-
- [6.1 设置电机工作模式](#6.1 设置电机工作模式)
- [6.2 设置电机工作电流](#6.2 设置电机工作电流)
- [6.3 设置电机工作细分](#6.3 设置电机工作细分)
- [6.4 读取参数](#6.4 读取参数)
- [6.5 恢复默认参数](#6.5 恢复默认参数)
- [第7部分 电机运行示例](#第7部分 电机运行示例)
-
- [7.1 电机速度模式运行](#7.1 电机速度模式运行)
- [7.2 电机位置模式1-按脉冲数运行](#7.2 电机位置模式1-按脉冲数运行)
- [7.3 电机位置模式2-按相对坐标运行](#7.3 电机位置模式2-按相对坐标运行)
- [7.4 电机位置模式3-按绝对坐标运行](#7.4 电机位置模式3-按绝对坐标运行)
第1部分 产品介绍
MKS SERVO42E/57E 闭环步进电机是创客基地为满足市场需求,按工业级标准自主研发的一款产品。具备脉冲接口、RS485接口以及CAN接口,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈,有效防止电机丢步。适合小型机械臂,3D打印机,雕刻机,写字机,非标自动化产品以及电子竞赛等应用。
第2部分 相关资料及软件下载
2.1 MKS E系列闭环步进驱动资料
百度网盘:
https://pan.baidu.com/s/1kRJBl8JTGwhifs0gMLtrQ?pwd=jad9
2.2 Arduino源代码例程下载
百度网盘:
2.3 串口调试助手下载
百度网盘:
2.4 上位机下载
百度网盘:
第3部分 注意事项
3.1 注意事项
1.串口和USB下载口共用串口(0,1),USB上传程序时,先拔掉串口线,以免程序上传失败;
2.如果程序上传失败,可以尝试:按住UNO的RESET按键,再点击上传,待Arduino显示"正在上传"时,迅速松开按键;
第4部分 脉冲控制电机运行示例
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板发送脉冲信号,控制电机循环正反转动。
程序运行后,可观察到:
a.LED灯亮,电机正转一圈
b.LED灯灭,电机反转一圈
c.如此不断循环
第5部分 读取参数示例
5.1 读取电机实时位置
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板通过串口读取电机实时位置信息。
程序运行后,可观察到:
a. LED灯每秒闪烁一次,即串口发出读取实时位置指令;
b. 串口监视器可以观察到每秒输出一个位置值 location = xxxxx;
c. 手转动电机轴,可以看到位置值变化 (增加或减少)。
3.串口监视器输出结果
5.2 读取电机实时转速
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板串口读取电机实时转速。
程序运行后,可观察到:
a.电机匀速运行,每10秒改变一次转速(通过定时器1中断实现);
b.LED灯每秒闪烁一次,即串口发出读取实时转速指令;
c. 串口监视器可以观察到每秒输出一个位置值 speed = xx RPM;
3.串口监视器输出结果
5.3 读取电机输入脉冲数
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
1.代码说明
代码功能:Arduino UNO 主板串口读取输入脉冲数。
程序运行后,可观察到:
a.电机匀速运行,每10秒改变一次脉冲数(通过定时器1中断实现);
b.LED灯每秒闪烁一次,即串口发出读取脉冲数指令;
c. 串口监视器可以观察到每秒输出一个位置值 pulses = xxxx;
2.串口监视器输出结果
5.4 读取电机位置误差
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板串口读取位置误差。
程序运行后,可观察到:
a.电机匀速运行,每10秒改变一次转速(通过定时器1中断实现);
b.LED灯每秒闪烁一次,即串口发出读取位置误差指令;
c. 串口监视器可以观察到每秒输出一个位置误差 error = xxxx;
3.串口监视器输出结果
注意:errors = 51200 对应角度值360度
5.5 读取电机IO端口状态
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板串口读取IO端口状态。
程序运行后,可观察到:
a.LED灯每秒闪烁一次,即串口发出读取脉冲数指令;
b.串口监视器可以观察到每秒输出一个IO状态 IN_1=x IN_2=x PEND=x ALM=x;
c. 改变输入端口状态(比如IN_1端口接地),可以观察到输出IO状态也会跟着变化;
3.串口监视器输出结果
注: 1-高电平; 0-低电平
第6部分 设置参数与恢复默认示例
6.1 设置电机工作模式
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
1.代码说明
代码功能:Arduino UNO 主板通过串口设置工作模式。
程序运行后,可观察到:
a. LED灯亮,即串口发出设置细分指令;
b. 如果设置成功,LED灯慢闪,可通过上位机或串口调试助手,查看设置的工作模式;
c. 如果设置失败,LED灯快闪。
6.2 设置电机工作电流
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
1.代码说明
代码功能:Arduino UNO 主板通过串口设置工作电流。
程序运行后,可观察到:
a. LED灯亮,即串口发出设置细分指令;
b. 如果设置成功,LED灯慢闪,可通过上位机或串口调试助手,查看设置的电流;
c. 如果设置失败,LED灯快闪。
6.3 设置电机工作细分
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
1.代码说明
代码功能:Arduino UNO 主板通过串口设置工作细分。
程序运行后,可观察到:
a. LED灯亮,即串口发出设置细分指令;
b. 如果设置成功,LED灯慢闪,可通过上位机或串口调试助手,查看设置的细分;
c. 如果设置失败,LED灯快闪。
6.4 读取参数
使用上位机或串口调试助手对本文6.1、6.2、6.3所设置的参数进行读取验证,本文使用上位机
1.接线说明
① MKS SERVO42E RS485单机接线
② MKS SERVO57E RS485单机接线
2.上位机参数配置
① 连接设置
选择对应的串口号:COMxx(如果没有找到端口可尝试扫描)
选择对应的波特率:38400(默认38400)
选择对应的通讯地址:0xXX(默认0x01)
② 完成上一步的设置后,点击连接主板,连接成功后就可以对电机进行操作。
③ 连接主板后,如需操控其它地址的电机(如0x00广播地址、其他电机的通讯地址、从机分组地址),无需断开连接直接更改连接设置中的通讯地址即可。
3.读取参数
① 点击读取"所有参数",右侧数据日志将显示电机的参数信息
(识读需阅读MKS SERVO42E&57E_RS485 闭环步进电机 使用说明 V1.0.0中读取所有参数指令)
② 查看该指令返回值,5代表05表示工作模式是RS485总线 闭环FOC模式;9C4代表电流值为2500;20代表细分值为32,由此可知以上三个示例设置参数成功
6.5 恢复默认参数
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板通过串口恢复出厂参数。
程序运行后,可观察到:
a. LED灯亮,即串口发出恢复出厂参数指令;
b. 如果恢复成功,LED灯慢闪,电机会自动重启,需要重新校准电机;
c. 如果恢复失败,LED灯快闪。
第7部分 电机运行示例
7.1 电机速度模式运行
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板通过串口控制电机以速度模式运行。
程序运行后,可观察到:
a. LED灯亮/灭一次,电机改变一次速度运行,不停循环运行;
b. 如果运行失败,LED灯快闪;
7.2 电机位置模式1-按脉冲数运行
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板通过串口控制电机以脉冲数运行。
程序运行后,可观察到:
a. 电机按设定的脉冲数运行到指定位置(10圈),停止2000ms;
b. 改变方向,再运行到指定位置(10圈),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
7.3 电机位置模式2-按相对坐标运行
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
1.代码说明
代码功能:Arduino UNO 主板通过串口控制电机按相对坐标运行。
程序运行后,可观察到:
a. 电机按设定的相对坐标(realAxis)运行到指定位置(10圈),停止2000ms;
b. 相对坐标(realAxis)取反,电机运行到起点位置,停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
7.4 电机位置模式3-按绝对坐标运行
1.接线说明
① MKS SERVO 42E与Arduino UNO接线说明
② MKS SERVO 57E与Arduino UNO接线说明
2.代码说明
代码功能:Arduino UNO 主板通过串口控制电机按按绝对坐标运行。
程序运行后,可观察到:
a. 电机运行到绝对坐标(absoluteAxis=0),停止2000ms;
b. 电机运行到绝对坐标(absoluteAxis=163840),停止2000ms;
c. 不停循环运行;
d. 如果运行失败,LED灯快闪。
注:本文同样适合后续产品MKS SERVO28E/35E闭环步进电机
下一篇:《MKS SERVO42E&57E 闭环步进电机_系列10 STM32_串口例程》
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
欢迎光临 创客基地 B站:https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店:https://makerbase.taobao.com/
网盘资料下载:https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9