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

相关推荐
电子科技圈8 小时前
在低功耗MCU上实现人工智能和机器学习
人工智能·经验分享·科技·嵌入式硬件·mcu·物联网·机器学习
一个 00 后的码农9 小时前
25会计研究生复试面试问题汇总 会计专业知识问题很全! 会计复试全流程攻略 会计考研复试真题汇总
经验分享·考研·面试·面试问题·25考研·考研复试·会计复试
郭顺发_12 小时前
Git环境搭建指南
经验分享
渗透测试老鸟-九青13 小时前
HW面试经验分享 | 北京蓝中研判岗
网络·经验分享·安全·网络安全·面试·渗透·代码审计
Tianyanxiao14 小时前
【探商宝】2025年2月科技与商业热点头条:AI竞赛、量子计算与芯片市场新格局
大数据·人工智能·经验分享·数据分析
白水先森14 小时前
ArcGIS Pro进行坡度与坡向分析
经验分享·arcgis
slomay1 天前
项目汇报PPT转视频制作 | 有字幕和配音版
经验分享·github
易基因科技1 天前
易基因: ChIP-seq+DRIP-seq揭示AMPK通过调控H3K4me3沉积和R-loop形成以维持基因组稳定性和生殖细胞完整性|NAR
经验分享·数据挖掘·生物学·生物信息学
Fansv5871 天前
深度学习-2.机械学习基础
人工智能·经验分享·python·深度学习·算法·机器学习
爱学习的小王!1 天前
nvm安装、管理node多版本以及配置环境变量【保姆级教程】
经验分享·笔记·node.js·vue