MKS SERVO4257D 闭环步进电机_系列6 串口(RS485)通讯示例

news2025/1/14 1:23:14

第1部分 产品介绍

MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈,有效防止电机丢步。适合小型机械臂,3D打印机,雕刻机,写字机,自动化产品以及电子竞赛等应用。
硬件开源,性价比高!
在这里插入图片描述

第2部分 串口参数配置

2.1 电机参数配置

  1. 选择控制模式: 菜单 → Mode → SR_vFOC
  2. 设置波特率: 菜单 → UartBaud → 38400
  3. 设置从机地址: 菜单 → UartAddr → 01

2.2 串口助手参数配置

  1. 串口设置
    选择串口号:(COMxx)
    选择波特率:38400
    选择校验位:NONE
    选择数据位:8
    选择停止位:1
    如下图绿框1所示
  2. 接收和发送设置,如下图绿框2,3所示
    在这里插入图片描述
  3. 选择自动发送校验位,如下图绿框4,5,6所示
    在这里插入图片描述
  4. 打开串口,如上图绿框7所示。

第3部分 读取/设置电机参数

3.1 读取参数指令

以“读取累加制多圈编码器值”为例
发送 FA 01 31 2C (注:最后一个字节2C为校验码,串口助手自动添加)
返回 FB 01 31 00 00 00 00 43 D2 42
即编码器值为 0x0000000043D2
如下图所示
在这里插入图片描述

3.2 设置参数指令

以设置电流参数为例(对应屏幕上的“Ma”选项)
发送 FA 01 83 06 FD 81 设置电流为1789mA (0x6FD = 1789)
返回 FB 01 83 01 80 表示设置完成
串口助手指令如下图所示
在这里插入图片描述
电机屏幕菜单选项“Ma”,可以查看刚设置的电流值,如下图
在这里插入图片描述

3.3 读取IO端口状态

端口状态定义如下:
在这里插入图片描述
(注:28D/35D/42D只能读取到IN_1端口)
发送 FA 01 34 2F读取IN_1,IN_2,OUT_1,OUT_2端口状态
返回 FB 01 34 0F 3F (0x0F 的低4位对应4个端口的状态)
如下图所示
在这里插入图片描述

第4部分 电机限位归零运行

57D电机的拨码开关PIN3,PIN2拨到ON状态。
57D电机,建议把电流设置为3200mA
限位触发电平,限位方向,限位速度可通过屏幕菜单“HmTrig、HmDir、HmSpeed”设置,也可通过串行指令设置(功能码0x90)。
本文使用默认参数。
发送 FA 01 91 8C
返回 FB 01 91 01 8E
电机开始归零运行,屏幕显示“Home…”
此时将IN_1端口置低电平(可以用地线触碰IN_1端口)
电机完成归零,屏幕显示“Home Ok”
在这里插入图片描述
电机屏幕显示过程如下图:
在这里插入图片描述

第5部分 电机速度模式运行

注意:57D电机,建议把电流设置为3200mA

5.1 速度模式运行和停止

1. 控制电机以速度300RPM, 加速度2运行

发送指令:FA 01 F6 01 2C 02 20
返回指令:FB 01 F6 01 F3
如下图1,2所示

2. 控制电机以加速度200停止

发送指令:FA 01 F6 01 2C 02 20
开始停止:FB 01 F6 01 F3
完成停止:FB 01 F6 02 F4
如下图3,4,5所示

在这里插入图片描述

5.2 速度模式参数保存

速度模式保存,即让电机每次上电时,以保存的速度和加速度自动运行。

1. 控制电机以速度300RPM, 加速度2运行

发送指令:FA 01 F6 01 2C 02 20
返回指令:FB 01 F6 01 F3
如下图1,2所示

2. 保存速度模式参数

发送指令:FA 01 FF C8
返回指令1:FB 01 FF 01 FC 保存成功
返回指令2:FB 01 F6 02 F4 电机停止
保存成功后,电机会停止运行。
如下图3,4,5所示
在这里插入图片描述

5.3 速度模式参数擦除

速度模式参数擦除后,电机不再上电时自动运行。
发送指令:FA 01 FF CA C4
返回指令:FB 01 FF 01 FC
如下图所示
在这里插入图片描述

第6部分 电机位置模式1 按脉冲数相对运行

注意:57D电机,建议把电流设置为3200mA

6.1 按脉冲数相对运行

注:1.8度电机,16细分时,3200脉冲电机转1圈

1. 先将当前坐标设置为0,方便观察电机运行

发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
如下图红框1所示

2. 电机以速度100RPM,加速度2,正转一圈(3200脉冲)

发送指令:FA 01 FD 80 64 02 00 00 0C 80 6A
开始运行:FB 01 FD 01 FA
完成运行:FB 01 FD 02 FB
此时电机屏幕显示角度值360.0,误差0.00err,脉冲数3.2Kclk
如下图红框2所示
在这里插入图片描述

6.2 中断电机运行

1. 电机以速度100RPM,加速度2,正转100圈(320000脉冲)

发送指令:FA 01 FD 80 64 02 00 04 E2 00 C4
开始运行:FB 01 FD 01 FA
如下图红框1所示

2. 电机以加速度200停止

发送指令:FA 01 FD 80 00 C8 00 00 00 00 40
开始停止:FB 01 FD 01 FA
完成停止:FB 01 FD 02 FB
如下图红框2所示
在这里插入图片描述

第7部分 电机位置模式2 按坐标值相对运行

注1:1.8度电机,16细分时,3200脉冲电机转1圈
注2:电机转1圈,坐标值变化0x4000,即16384
注3:坐标值会有+15左右误差
注意:57D电机,建议把电流设置为3200mA

7.1 按坐标值相对运行

1. 先将当前坐标设置为0,方便观察电机运行

发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
如下图红框1所示

2. 电机以速度300RPM,加速度200,相对运行坐标0x28000(即转10圈)

发送指令:FA 01 F4 01 2C C8 00 02 80 00 66
开始运行:FB 01 F4 01 F1
完成运行:FB 01 F4 02 F2
此时电机屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
如下图红框2所示

3. 读取当前坐标值

发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 02 80 00 AF
即当前坐标值为0x000000028000,和预定目标一致。
如下图红框3所示

4. 再次让电机以速度300RPM,加速度200,相对运行坐标0x28000(即再转10圈)

发送指令:FA 01 F4 01 2C C8 00 02 80 00 66
开始运行:FB 01 F4 01 F1
完成运行:FB 01 F4 02 F2
此时电机屏幕显示角度值7.2K,误差0.00err,脉冲数64.0Kclk
如下图红框4所示

5. 再次读取当前坐标值

发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 05 00 00 32
即当前坐标值为0x000000050000,和预定目标一致。
如下图红框5所示
在这里插入图片描述

7.2 中断电机运行

1. 让电机以速度300RPM,加速度200,相对运行坐标0x2800000(即转1000圈)

发送指令:FA 01 F4 01 2C C8 02 80 00 00 66
开始运行:FB 01 F4 01 F1
如下图红框1所示

2. 让电机立即停止 (即加速为0)

发送指令:FA 01 F4 00 00 00 00 00 00 00 EF
开始停止:FB 01 F4 01 F1
完成停止:FB 01 F4 02 F2
如下图红框2所示
在这里插入图片描述

第8部分 电机位置模式3 按坐标值绝对运行

注1:1.8度电机,16细分时,3200脉冲电机转1圈
注2:电机转1圈,坐标值变化0x4000,即16384
注3:坐标值会有+15左右误差
注意:57D电机,建议把电流设置为3200mA

8.1 按坐标值绝对运行

1. 先将当前坐标设置为0,方便观察电机运行

发送指令:FA 01 92 8D
返回指令:FB 01 92 01 8F
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
如下图红框1所示

2. 电机以速度300RPM,加速度200,绝对运行到坐标0x28000

发送指令:FA 01 F5 01 2C C8 00 02 80 00 67
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
此时电机屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
如下图红框2所示

3. 读取当前坐标值

发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 02 7F FF AD
即当前坐标值为0x000000027FFF (误差1),和预定目标一致。
如下图红框3所示

4. 再次让电机以速度300RPM,加速度200,绝对运行到坐标0x28000

(因坐标已经是0x28000,所以电机不动)
发送指令:FA 01 F5 01 2C C8 00 02 80 00 67
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
此时电机屏幕仍显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
如下图红框4所示

5. 再次读取当前坐标值

发送指令:FA 01 31 2C
返回指令:FB 01 31 00 00 00 02 7F FF AD
当前坐标值为0x000000027FFF (误差1),即电机没有运行,和预定目标一致。
如下图红框5所示

6. 第3次让电机以速度300RPM,加速度200,绝对运行到坐标0

发送指令:FA 01 F5 01 2C C8 00 00 00 00 E5
开始运行:FB 01 F5 01 F2
完成运行:FB 01 F5 02 F3
此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
即电机回到坐标0点
如下图红框6所示

7. 第3次读取当前坐标值

发送指令:FA 01 31 2C
返回指令: FB 01 31 00 00 00 00 00 00 2D
当前坐标为0,和预定目标一致。
如下图红框7所示
在这里插入图片描述

8.2 中断电机运行

1. 让电机以速度300RPM,加速度200,绝对运行到坐标0x2800000

发送指令:FA 01 F5 01 2C C8 02 80 00 00 67
开始运行:FB 01 F5 01 F2
如下图红框1所示

2. 让电机立即停止 (即加速度为0)

发送指令:FA 01 F5 00 00 00 00 00 00 00 F0
开始停止:FB 01 F5 01 F2
完成停止:FB 01 F5 02 F3
如下图红框2所示
在这里插入图片描述

注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
下一篇:《MKS SERVO42&57D 闭环步进电机_系列7 MODBUS-RTU通讯示例》
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
欢迎光临 创客基地 B站:https://space.bilibili.com/393688975
欢迎光临 创客基地 淘宝店:https://makerbase.taobao.com/
网盘资料下载 https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwd=mks1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/601602.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CAR-T药物|疗法适应症|市场销售-上市药品前景分析

对患有癌症的人来说,能够幸运地度过5年大关是一种成功,而能够成功地度过10年大关则是一种奇迹。Emily作为全球第一个接受CAR-T治疗成功的白血病儿童患者,至今已成功摆脱癌症11年之久。 ①CAR-T细胞治疗(Emily Whitehead治疗案例时…

Benewake(北醒) 中距 TF40 40m介绍以及资料整理

目录 1 前言2 产品介绍3 产品快速测试3.1 产品规格书及使用说明书3.2 通用上位机测试说明3.3 通用指令串口助手使用说明3.4 产品快速测试说明 4 基于开源硬件的运用整理4.1 在开源Arduino上的运用 1 前言 本文包含【Benewake(北醒) 】中距 TF40 40m介绍以及资料整理 详细请参考…

Arduino软件+ ESP8266 MCU开发项目之一键式配网操作(有掉电保护),可继续开发成为--WIFI放大器项目。

下载本次ESP8266 MCU开发项目之一键式配网 代码文件 (11条消息) 配网ESP8266MUC.rar资源-CSDN文库 流程图讲解 视频展示效果 配网ESP8266 项目可待 改进/升级 的地方 1:配网流程UI界面单调,可搭配复杂UI配网界面 2:配网流程可看作是WIFI放…

NSS周常刷密码(2)

[GWCTF 2019]babyRSA 解答过程在脚本内 from Crypto.Util.number import * import gmpy2 import sympy import z3e 0x10001 N63658514959457474690903016018269086622290925646484729178300065183722792133723789965128794359777327094438403485892529574488072710160684141…

移动云镜像配置BC-Linux --配置centos 6-7-8版本参考

移动云BC linux 也是一个非常不错的镜像站. 可以加速国内下载. 非常好用, 速度比阿里 等那些流行的镜像站快一些. 下面介绍详解操作配置, 供参考 移动云开源镜像站-Linux系统订阅服务 移动云开源镜像站,包含BC-Linux各版本的软件仓库,对外提供软件升级…

Apache Kudu入门学习

目录 一、概念 二、背景 三、特点 四、架构 五、应用场景 六、kudu的模式设计 1、列设计 2、主键设计 3、分区设计 1.范围分区Range Partitioning 2.哈希分区Hash Partitioning 3.多级分区Multilevel Partitioning 一、概念 官方概念: Apache Kudu i…

​细说websocket - php篇 ​

下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket 套接字做了封装处理,开发者使用的时候只需要考虑数据的交互而不用处理连接的建立…

代码随想录算法训练营day59 | 503.下一个更大元素II,42. 接雨水

代码随想录算法训练营day59 | 503.下一个更大元素II,42. 接雨水 503.下一个更大元素II解法一:单调栈(两次遍历解决环状问题) 42. 接雨水解法一:单调栈(横向累计)解法二:暴力解法解法…

听说今年 “金9银10” 变成 金七银八 了...

眼下虽然才6月份,但真正的金9银10已经悄然开始。从认识的HR那得知,有些公司甚至在6月就开始布局了。。而年前偃旗息鼓的,年后也势必加速进入这波抢人大战! 因此,真的要等到9、10月份再做准备的话,就晚了。…

6-TET, SE,6-TET, SE 6-(4,6-二氯三嗪基)氨基荧光素,一种流行的氨基反应荧光探针

文章关键词:荧光反应探针 中文名称:6-TET, SE 6-(4,6-二氯三嗪基)氨基荧光素 英文名称:6-TET, SE 规格标准:10mg,25mg,50mg CAS:N/A 分子式:C25H11Cl4NO9 分子量:611.17 …

win命令窗口的常用命令

文章目录 一、端口号1、查看所有端口netstat -ano2、查看指定端口情况3、终止改端口4、 二、硬盘操作2.0、进入磁盘管理2.1、 查看磁盘2.2、 选择磁盘2.3、 查看分区2.4、 选择分区2.5、 进入分区删除分区 参考文章 一、端口号 1、查看所有端口netstat -ano netstat -ano 2、查…

【ZLM】ZLM源码阅读一

目录 初始化 RTP RTSP RTMP TCPServer的初始化 参考文档 初始化 RTP RTSP RTMP TCPServer的初始化 参考文档 本文参考: (17条消息) 《ZLToolKit源码学习笔记》(20)网络模块之TcpServer_秦时小的博客-CSDN博客 RTP https://blog.csdn.…

在嵌入式linux板子上搭建NFS服务器

使用portmapnfs-utils的工具在hi3536的linux系统上搭建nfs服务器,使用VM虚拟机中的ubuntu作为客户端挂载,进行文件的读写。 编译能够支持nfs server的内核 1.首先对linux内核进行修改,让linux内核支持nfs服务器的功能,修改方式是…

通过yum:mysql5.6-msyql5.7-mysql8.0升级之路

一 前言 mysql的yum源 https://dev.mysql.com/downloads/repo/yum/ https://dev.mysql.com/get/mysq57-community-release-el7-7.noarch.rpm服务器信息 2c2g40GB [rootlocalhost ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalhost ~]# una…

如何进行测试优先级划分

一般测试的优先级是从这三种情况进行划分:新模块测试、回归测试和特殊功能测试。 1、新单元模块的测试优先级 新模块单元,内部业务逻辑测试,优先级第一。新模块单元与其他模块的集成测试优先级第二。 对于新模块的测试,应以完成单…

消息队列的使用

消息队列 概念: 消息队列是System V IPC对象的一种 消息队列的使用: 发送端: 1 申请Key 2打开/创建消息队列 msgget 3向消息队列发送消息 msgsnd 接收端: 1打开/创建消息队列 msgget 2从消息队列接收消息 msgrcv …

一个29岁软件测试工程师的7年,太真实了...

当前就业环境,裁员、失业消息满天飞,好像有一份工作就不错了,更别说高薪了。其实这只是一方面,而另一方面,各大企业依然求贤若渴,高技术人才依然紧缺,只要你技术过硬,拿个年包50w不是…

Jetpack Compose 的最佳处理运行时权限的方法

Jetpack Compose 的最佳处理运行时权限的方法 如果您的应用安装在运行Android 6.0(API级别23)或更高版本的设备上,则必须按照本指南中的步骤为用户请求运行时权限。 在Jetpack Compose中获取运行时权限有两种方法。 使用Activity Result使用…

算法与数据结构-复杂度分析

文章目录 什么是大 O 复杂度表示法为什么要用大 O 复杂度表示法如何分析一段代码的时间复杂度1、只关注循环执行次数最多的一段代码2、加法法则:总复杂度等于量级最大的那段代码的复杂度3、乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 几种常…

计算机网络常见面试题

参考:小林coding 1.TCP/IP模型 2.说一下TCP的三次握手? 第一次握手:客户端向服务端发起建立连接请求,客户端会随机生成一个起始序列号x,客户端向服务端发送的字段中包含标志位SYN=1,序列号seq=x。第一次握手前客户端的状态为CLOSE,第一次握手后客户端的状态为SYN-SENT。…