MKS SERVO4257D 闭环步进电机_系列7 MODBUS-RTU通讯示例

news2024/11/15 13:35:20

第1部分 产品介绍

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

第2部分 相关资料下载

2.1 MODBUS调试助手

百度网盘:
https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwd=mks1
MKS闭环步进驱动资料 -> 通用工具软件

2.2 Modbus Poll示例

百度网盘:
https://pan.baidu.com/s/1tBCuDIfBAIRMms82FlLdag?pwd=mks1
MKS闭环步进驱动资料 -> Modbus Poll_MKS

第3部分 参数配置

3.1 电机参数配置

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

3.2 MODBUS调试助手设置

  1. 运行MODBUS调试助手;
  2. 点击“设置串口”,如下图红框1所表示;
  3. 在弹出的“串行口设置”中,选择如下参数:
    选择串行口:(COMxx)
    选择波特率:38400
    选择奇偶校验:No parity(无)
    选择数据位:8
    选择停止位:1
    如下图红框2所示
  4. 点击“确定”,如下图红框3所示
  5. 点击“打开串口”,如下图红框4所示
    在这里插入图片描述

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

4.1 读取参数指令

以“读取累加制多圈编码器值”为例,指令格式如下
在这里插入图片描述

  1. 输入485地址1,寄存器地址49,寄存器个数3,如下图红框1所示;
  2. 点击“读取”,如下图红框2所示;
  3. 发送缓冲区数据如下图红框3所示;
  4. 接收缓冲区数据如下图红框4所示;
    读出编码器值为0x000000002189
    在这里插入图片描述
    Modbus Poll示例见“01_F4(31)读取编码器值(累加制).mbp”

4.2 设置参数指令

以设置电流参数为例(对应屏幕上的“Ma”选项)
指令格式如下:
在这里插入图片描述

  1. 输入485地址1,寄存器地址131,寄存器值1789,如下图红框1所示;
  2. 点击“发送”,如下图红框2所示;
  3. 发送缓冲区数据如下图红框3所示;
  4. 接收缓冲区数据如下图红框4所示;
  5. 电机屏幕菜单选项“Ma”,可以查看刚设置的电流值1789mA,如下图红框5所示。 在这里插入图片描述
    Modbus Poll示例见“14_F6(83)设置工作电流.mbp”

4.3 读取IO端口状态

端口状态定义如下:
在这里插入图片描述
(注:28D/35D/42D只能读取到IN_1端口)
指令格式如下
在这里插入图片描述

  1. 输入485地址1,寄存器地址52,寄存器个数1,如下图红框1所示;
  2. 点击“读取”,如下图红框2所示;
  3. 发送缓冲区数据如下图红框3所示;
  4. 接收缓冲区数据如下图红框4所示;
    读出编码器值为0x000F,即4个端口均为高电平。
    在这里插入图片描述

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

(对应屏幕上的“ Go Home ”选项)
57D电机的拨码开关PIN3,PIN2拨到ON状态。
57D电机,建议把电流设置为3200mA
限位触发电平,限位方向,限位速度可通过屏幕菜单“HmTrig、HmDir、HmSpeed”设置,也可通过串行指令设置(功能码0x90)。
这里使用默认参数。
指令格式如下:
在这里插入图片描述
5. 输入485地址1,寄存器地址145,寄存器值1,如下图红框1所示;
6. 点击“发送”,如下图红框2所示;
7. 电机开始归零运行,屏幕显示“Home…”
8. 此时将IN_1端口置低电平(可以用地线触碰IN_1端口)
9. 电机完成归零,屏幕显示“Home Ok”
10. 发送缓冲区数据如下图红框3所示;
11. 接收缓冲区数据如下图红框4所示;

在这里插入图片描述
电机屏幕显示过程如下图:
在这里插入图片描述
Modbus Poll示例见“24_F6(91) 执行限位回零.mbp”

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

注意:57D电机,建议把电流设置为3200mA
速度模式指令格式如下:
在这里插入图片描述

6.1 速度模式运行和停止

6.1.1速度模式运行

电机以速度300RPM, 加速度2运行

  1. 输入485地址1,寄存器地址246,寄存器值00 02 01 2C,如下图红框1所示;
  2. 点击“发送”,如下图红框2所示;
  3. 电机开始运行;
  4. 发送缓冲区数据如下图红框3所示;
  5. 接收缓冲区数据如下图红框4所示;
    在这里插入图片描述

Modbus Poll示例见“29_F16(F6) 电机运行_速度模式.mbp”

6.1.2速度模式停止

电机以速加速度200停止

  1. 输入485地址1,寄存器地址246,寄存器值00 C8 00 00,如下图红框1所示;
  2. 点击“发送”,如下图红框2所示;
  3. 电机停止运行;
  4. 发送缓冲区数据如下图红框3所示;
  5. 接收缓冲区数据如下图红框4所示;

在这里插入图片描述

6.2 速度模式参数保存

速度模式保存,即让电机每次上电时,以保存的速度和加速度自动运行。
首先按6.1.1让电机以速度300RPM, 加速度2运行
保存/清除速度模式参数指令如下:
在这里插入图片描述

  1. 输入485地址1,寄存器地址255,寄存器值200,如下图红框1所示;
  2. 点击“发送”,如下图红框2所示;
  3. 保存速度模式参数,电机停止运行;
  4. 发送缓冲区数据如下图红框3所示;
  5. 接收缓冲区数据如下图红框4所示;
    在这里插入图片描述
    Modbus Poll示例见“27_F6(FF) 保存或清除 速度模式参数.mbp”
    此时,断电后再上电,电机会以设定的速度和加速度自动运行。

6.3 速度模式参数擦除

速度模式参数擦除后,电机不再上电时自动运行。

  1. 输入485地址1,寄存器地址255,寄存器值202,如下图红框1所示;
  2. 点击“发送”,如下图红框2所示;
  3. 清除速度模式参数;
  4. 发送缓冲区数据如下图红框3所示;
  5. 接收缓冲区数据如下图红框4所示;
    在这里插入图片描述
    此时,断电后再上电,电机不会自动运行。

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

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

7.1 按脉冲数相对运行

注:1.8度电机,16细分时,3200脉冲电机转1圈
按脉冲数相对运行指令格式如下
在这里插入图片描述

7.1.1坐标归零

先将当前坐标设置为0,方便观察电机运行。
输入485地址1,寄存器地址246,寄存器值00 02 01 2C,如下图红框1

  1. 输入485地址1,寄存器地址255,寄存器值1,如下图红框1所示;
  2. 点击“发送”,如下图红框2所示;
  3. 此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk, 如下图红框3所示
    在这里插入图片描述
    Modbus Poll示例见“25_F6(92) 直接设置回零点.mbp”

7.1.2位置模式1运行

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

  1. 输入485地址1,寄存器地址253,寄存器值01 02 00 64 00 00 0C 80,如下图红框1所示;
  2. 点击“发送”,如下图红框2所示;
  3. 电机开始运行;
  4. 电机停止后,屏幕显示角度值360.0,误差0.00err,脉冲数3.2Kclk,如下图红框3所示
    在这里插入图片描述
    Modbus Poll示例见“30_F16(FD) 电机运行_位置模式 1_按脉冲数相对运动.mbp”

7.2 位置模式1停止

  1. 参考7.1.2章节,发送寄存器值01 02 00 64 00 04 E2 00,让电机以速度100RPM, 加速度2,运行100圈;
  2. 电机未运行完时,发送寄存器值01 C8 00 00 00 00 00 00,电机以加速度200停止,如下图红框1所示;
  3. 发送缓冲区数据如下图红框2所示;
  4. 接收缓冲区数据如下图红框3所示;
    在这里插入图片描述

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

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

8.1 按坐标值相对运行

按坐标值相对运行指令格式如下
在这里插入图片描述

8.1.1 坐标归零

先将当前坐标设置为0,方便观察电机运行
参考7.1.1章节操作。

8.1.2 位置模式2运行

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

  1. 输入485地址1,寄存器地址244,寄存器值00 C8 01 2C 00 02 80 00 ,如下图红框1所示;
  2. 点击发送,电机开始运行;
  3. 电机运行完成后,屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk,如下图红框2所示;
    在这里插入图片描述
    Modbus Poll示例见“31_F16(F4) 电机运行_位置模式 2_按坐标值相对运动.mbp”

8.2 位置模式2停止

  1. 参考8.1.2章节,发送寄存器值00 C8 01 2C 02 80 00 00,让电机以速度300RPM, 加速度200,相对运行坐标0x2800000(即转1000圈);
  2. 电机未运行完时,发送寄存器值00 00 00 00 00 00 00 00,让电机立即停止(加速度0),如下图红框1所示;
  3. 发送缓冲区数据如下图红框2所示;
  4. 接收缓冲区数据如下图红框3所示;
    在这里插入图片描述

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

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

9.1 按坐标值绝对运行

按坐标值绝对运行指令格式如下
在这里插入图片描述

9.1.1 坐标归零

先将当前坐标设置为0,方便观察电机运行
参考7.1.1章节操作。

9.1.2速度模式3运行

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

  1. 输入485地址1,寄存器地址245,寄存器值00 C8 01 2C 00 02 80 00 ,如下图红框1所示;
  2. 点击发送,电机开始运行;
  3. 电机运行完成后,屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk,如下图红框2所示;
    在这里插入图片描述

Modbus Poll示例见“32_F16(F5) 电机运行_位置模式 3_按坐标值绝对运动.mbp”

9.2 位置模式3停止

  1. 参考9.1.2章节,发送寄存器值00 C8 01 2C 02 80 00 00,让电机以速度300RPM, 加速度200,绝对运行到坐标0x2800000;
  2. 电机未运行完时,发送寄存器值00 00 00 00 00 00 00 00,让电机立即停止(加速度0),如下图红框1所示;
  3. 发送缓冲区数据如下图红框2所示;
  4. 接收缓冲区数据如下图红框3所示;
    在这里插入图片描述

注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
下一篇:《MKS SERVO42&57D 闭环步进电机_系列8 CAN通讯示例》
欢迎加入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/605681.html

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

相关文章

论坛项目学习记录【预备篇2】

论坛项目学习记录【预备篇2】 1. 什么是依赖注入2. 怎么使用依赖注入依赖注入注意事项 3.组件扫描情况下依赖注入的实现4.Resource注解的使用与Autowired的区别5.SpringMvcSpringMvc执行流程 1. 什么是依赖注入 就是在Spring容器内容将各个对象的依赖关系建立好的操作&#xf…

持续集成和持续交付:构建高效的软件交付流水线

在现代软件开发中,持续集成(Continuous Integration)和持续交付(Continuous Delivery)已成为构建高效、可靠软件交付流水线的关键实践。通过自动化和频繁地集成代码、构建、测试和部署,团队能够更快地交付高…

Unity--使用Cinemachine Confiner设置摄像机边界

使用Cinemachine Confiner设置摄像机边界 前提提要:在做这个功能前需要: ​ main camera ​ 另外一个相机 思路:创建一个对象绑定Polygon Collider2D 边界。然后在另外一个相机Cinemachine Confiner上绑定他 ​ 绑定边界 记得点这个&#…

2023年京东618全品类预售数据查询

这一期主要分享今年618京东数码产品的预售数据,包括笔记本电脑、投影机、微单相机三大品类。 -笔记本电脑- 今年618,笔记本电脑在京东累计预售量达到73万件,预售额达到41亿元。预售期间,微单相机品类均价在5661元左右。期间&#…

软件测试实验:链接测试

目录 前言实验目的实验环境实验内容实验步骤实验过程总结 前言 本实验的目的是学习和掌握软件测试中的链接测试方法和技巧。链接测试是指对Web应用系统中的各种链接进行检查和验证,以确保它们能正确地指向预期的目标,不出现错误链接、空链接、死链接或孤…

简单尝试:ChatGLM-6B + Stable diffusion管道连接

核心思想是: 1. 抛去算法设计方面,仅从工程角度考虑的话,Stable diffusion的潜力挖掘几乎完全受输入文字影响。 2. BLIP2所代表的一类多模态模型走的路线是"扩展赋能LLM模型",思路简单清晰,收益明显。LLM …

电池状态估计 | Matlab实现利用卡尔曼滤波器估计电池充电状态

文章目录 效果一览文章概述研究内容程序设计参考资料效果一览 文章概述 电池状态估计 | Matlab实现利用卡尔曼滤波器估计电池充电状态 研究内容 目前,常用的电池模型有:数

外包干了5年,女朋友嫌弃我,跑了。。。

先说一下自己的情况。大专生,17年通过校招进入湖南某软件公司,干了接近5年的测试,今年年上旬,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了5年,…

一文带你了解MySQL之约束

在SQL标准中,一共规定了6种不同的约束,包括非空约束,唯一约束和检查约束等,而在MySQL中是不支持检查约束的,所以这篇文章先对其余5种约束做一个详解和练习。 文章目录 1. 约束的概念2. 约束的分类3. 非空约束4. 唯一约…

大数据:pyspark模块,spark core的RDD,RDD是弹性分布式数据抽象对象,RDD五大特性,wordcount案例展示RDD

大数据:pyspark模块 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sql…

English Learning - L3 作业打卡 Lesson4 Day29 2023.6.2 周五

English Learning - L3 作业打卡 Lesson4 Day29 2023.6.2 周五 引言🍉句1: I once made a big mistake at the office and felt foolish.成分划分弱读连读爆破语调 🍉句2: I had egg on my face.成分划分弱读语调 🍉句3: Over the weekend, m…

Java企业级信息系统开发学习笔记13 Spring Boot(使用maven方式构建Spring Boot项目)

文章目录 一、学习目标二、Spring Boot框架概述三、使用maven方式构建Spring Boot项目(一)创建Maven项目(二)添加依赖(三)创建入口类(四)创建控制器(五)运行入…

防火墙之服务器负载均衡

防火墙之服务器负载均衡 原理概述: 防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安…

C语言---操作符详解

1、操作符分类 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号操作符 下标引用、函数调用和结构成员。 2、算数操作符 - * / %// 7 / 2 ----->3 // 7 % 2 ----->1//那如果想要打印…

Java程序设计入门教程--类的创建过程

构造方法 在Java的每个类中都有一种特殊的成员方法,它的方法名和类名是一致的。在创建对象时,调用这种特殊方法对成员变量进行初始化,这种方法称为构造方法。 注意 创建构造方法与创建成员方法的格式相同,但要注意以下几点&#…

3GPP R16 HST

3GPP R16高铁场景为了能够支持最高3.6GHz载波频率以及最高500km/h的速度,提出了增强RRM要求和终端解调能力要求。 在增强RRM要求的维度,对intra-RAT和inter-RAT测量提出了新的要求。其中,intra-RAT测量包括NR小区重选要求、NR小区识别要求、波…

大数据:hadoop spark,spark特点,功能,架构,模块,角色

大数据:hadoop spark 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,oracle,尤其sq…

把玩数据在内存中的存储

前言:时光如梭💦,今天到了C语言进阶啦😎,基础知识我们已经有了初步认识, 是时候该拔高拔高自己了😼。 目标:掌握浮点数在内存的存储,整形在内存的存储。 鸡汤&#xff1a…

arcgis for javascript api4.26 本地tomcat部署,以及解决跨域访问问题

一、配置java_jdk以及tomcat arcgis for javascript api 部署到本地服务器,可以是iis,也可以是tomcat,我这里是部署到tomcat,所以就介绍一下tomcat上部署的步骤。 如果电脑上有本地服务器的,可以跳过这一章,直接从第二章开始看 下…

1绪论_1.1数据结构的基本概念+1.2算法和算法评价

1.1.1基本概念和术语 数据 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 数据元素 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数…