MKS SERVO42E&57E 闭环步进电机_系列9 arduino 例程

文章目录

  • [第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源代码例程下载

百度网盘:

https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9#list/path=%2FMKS E系列闭环步进驱动器%2F06_例程-arduino系列

2.3 串口调试助手下载

百度网盘:

https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9#list/path=%2FMKS E系列闭环步进驱动器%2F10_通用工具软件\&parentPath=%2F

2.4 上位机下载

百度网盘:

https://pan.baidu.com/s/1kRJBl8JTGw-hifs0gMLtrQ?pwd=jad9#list/path=%2FMKS E系列闭环步进驱动器%2F05_上位机软件\&parentPath=%2F

第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

相关推荐
Pandaconda28 分钟前
【新人系列】Python 入门(二十八):常用标准库 - 上
开发语言·经验分享·笔记·后端·python·面试·标准库
计软考研大C哥8 小时前
【25考研】考清华的软件工程专业的研究生需要准备什么?
经验分享·考研·软件工程
十二测试录8 小时前
【大厂面试题】软件测试面试题整理(附答案)
经验分享·面试·职场和发展
s_little_monster8 小时前
【Linux】权限
linux·运维·数据库·经验分享·学习·学习方法
qq_433502189 小时前
Browser-Use WebUI项目启动指南
人工智能·经验分享·python·chatgpt
兔子宇航员030113 小时前
面试经验分享-回忆版某小公司
经验分享·面试·职场和发展
愚公移山填海1 天前
WPS不登录无法使用基本功能的解决方案
经验分享
EterNity_TiMe_1 天前
回顾2024年度 - 挑战之旅:学习、生活与成长的华丽蜕变
经验分享·笔记·学习·生活·生活与学习
2的n次方_1 天前
【2024 年度总结】从小白慢慢成长
人工智能·经验分享