MKS SERVO4257D 闭环步进电机_系列5 CAN指令说明

news2025/1/1 16:09:24

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

  1. 地址(ID)范围00~2047,默认地址为01。
    其中 00 为广播地址;
    地址01~10可在显示屏菜单CanID选项设置;
    大于10的地址需通过串行指令设置。
  2. 数据长度(DLC)最大值8,指示数据域字节数。
  3. 功能码(code)执行相应指令,例如0x30读取编码器值。
  4. 指令数据或返回数据,详见《CAN指令说明》。
  5. 校验和CRC为 地址和数据域累加,取低8位。
    例如读取编码器值指令:
    在这里插入图片描述
    校验和 CRC = (0x01 + 0x30) & 0xFF = 0x31 & 0xFF = 0x31
    注意:使用广播地址发送命令,从机不应答。

第3部分 CAN指令说明
注1:本章节默认地址为01。
注2:使用广播地址发送命令,从机不应答。
3.1 读取参数指令
1. 读取进位制多圈编码器值
功能码0x30
记录上电后(使能或不使能),编码器记录的电机转动范围。
在这里插入图片描述
编码器值: 记录当前编码器值,范围为0 ~ 0x4000,表示0~360°。
进位值 : 记录编码器进位值,即电机转动圈数。
进位规则:当编码器值大于0x4000,进位值加1
当编码器值小于0,进位值减1
例如:
当前编码器值为0x3FF0,正转一圈后(+0x4000),多圈编码器值为0x13FF0。
当前编码器值为0x3FF0,反转一圈后(-0x4000),多圈编码器值为0xFFFFFFFF3FF0。

2. 读取累加制多圈编码器值
功能码0x31
记录上电后(使能或不使能),编码器记录的电机转动范围。
在这里插入图片描述
累加规则:
正转一圈,多圈编码器值 +0x4000;
反转一圈,多圈编码器值 -0x4000;
例如:
当前编码器值为0x3FF0,正转一圈后(+0x4000),多圈编码器值为0x000000007FF0。
当前编码器值为0x3FF0,反转一圈后(-0x4000),多圈编码器值为0xFFFFFFFFFFF0。
注:按坐标值相对/绝对运动时,使用该编码器值作为坐标。

3. 读取电机实时转速
功能码0x32
实时转单位为 转/分钟。
在这里插入图片描述
注:转速单位为RPM, 正转时转速大于0,反转时转速小于0。

4. 读取输入累计脉冲数
功能码0x33
在这里插入图片描述
5. 读取IO端口状态
功能码0x34
在这里插入图片描述
6. 读取位置角度误差
功能码0x39
预期的位置角度减去实际的位置角度得到的差值,单位:0 ~ 65535表示0~360°,比如误差为1°时,数值为65536/360°= 182.444,以此类推。
在这里插入图片描述
7. 读取闭环驱动板的使能状态
功能码0x3A
在这里插入图片描述
enable = 1 已使能
enable = 0 未使能

8. 读取单圈上电自动回零状态
功能码0x3B
在这里插入图片描述

9. 解除堵转状态
功能码0x3D
当电机发生堵转时,发送该命令可以解除当前堵转状态。
解除堵转后,如果再次发生堵转,仍然会触发堵转保护。
在这里插入图片描述

10. 读取堵转标志位
功能码0x3E
当电机发生堵转,会置位堵转标志,通过该命令可以获取到电机是否发生了堵转。如果使能了堵转保护选项,发生堵转后,驱动板会自动关闭驱动器。
在这里插入图片描述

3.2 设置系统参数指令
1. 校准编码器 (对应屏幕上的“Cal”选项)
功能码0x80
在这里插入图片描述
校准编码器前,请确保电机没带负载!!!建议校准好以后再装进机器。
注:校准完成后,驱动板会自动复位重启。

2. 设置工作模式 (对应屏幕上的“Mode”选项)
功能码0x82
在这里插入图片描述

3. 设置工作电流Ma (对应屏幕上的“Ma”选项)
功能码0x83
在这里插入图片描述
注:
开环模式 工作电流不变,恒定为value
闭环模式 工作电流不变,恒定为value
FOC模式 工作电流可变,最大值为value

4. 设置任意细分 (对应屏幕上的“MStep”选项)
功能码0x84
在这里插入图片描述

5. 设置En 引脚有效电平 (对应屏幕上的“En”选项)
功能码0x85
在这里插入图片描述

6. 设置电机旋转正方向 (对应屏幕上的“Dir”选项)
功能码0x86
注:此参数只对脉冲接口有效,串行接口电机转向只受指令控制。
在这里插入图片描述

7. 设置自动熄屏功能 (对应屏幕上的“AutoSDD”选项)
功能码0x87
在这里插入图片描述

8. 设置堵转保护功能 (对应屏幕上的“Protect”选项)
功能码0x88
在这里插入图片描述
注:堵转保护后,可以通过Enter按键或CAN指令解除堵转保护状态。

9. 设置细分插补功能 (对应屏幕上的“MPlyer”选项)
功能码0x89
在这里插入图片描述

10. 设置CAN接口比特率 (对应屏幕上的“CanRate”选项)
功能码0x8A
在这里插入图片描述

11. 设置从机地址 (对应屏幕上的“CanID”选项)
功能码0x8B
在这里插入图片描述
注1:地址范围00~0x7FF,00为广播地址,01为默认地址。
注2:设置大于10的地址,也会在CanID选项末尾显示。

12. 设置从机是否应答 (对应屏幕上的“CanRSP”选项)
功能码0x8C
在这里插入图片描述
注:设置从机无应答后,可以通过功能码“F1”查询电机运行状态。

13. 设置按键是否锁定
功能码0x8F
在这里插入图片描述

14. 设置分组地址
功能码0x8D
在这里插入图片描述
发送 01 FD 01 2C 64 00 00 0C 80 1B 电机1 转1圈
发送 00 FD 01 2C 64 00 00 0C 80 1A 电机1-6 转1圈
发送 50 FD 01 2C 64 00 00 0C 80 6A 电机1-3 转1圈
发送 51 FD 01 2C 64 00 00 0C 80 6B 电机4-6 转1圈
注意:使用分组地址发送命令,从机不应答。

3.3 设置限位指令
1. 设置限位相关参数
(对应屏幕“HmTrigHmDirHmSpeed”选项)
功能码0x90
在这里插入图片描述

2. 限位归零指令
功能码0x91
该指令可以控制电机以设定的方向,速度回到限位开关位置。
在这里插入图片描述
注意:如果限位开关已经处于闭合状态,电机会往homeDir反方向转动,直到限位开关断开,然后再归零。

3. 直接归零指令
功能码0x92
该指令可以直接设置当前位置为零点。
在这里插入图片描述

3.4 设置单圈回零参数指令
1. 设置单圈回零相关参数
(对应屏幕“0_ModeSet 00_Speed0_Dir”选项)
功能码0x9A
在这里插入图片描述

3.5 恢复默认参数指令
1. 恢复默认参数 (对应屏幕上的“Restore”选项)
功能码0x3F
在这里插入图片描述
注1:恢复默认参数后,驱动板自动重启,需重新校准电机。
注2:先按住“Next”键,再上电,待LED灯亮,也可恢复默认参数。

3.6 读取版本信息(对应屏幕上的“About”选项)
功能码0x40
在这里插入图片描述

第4部分 CAN控制电机运行说明
注意:本章节指令只在“SR_OPEN/SR_CLOSE/SR_vFOC”模式下有效。
4.1 曲线加减速参数说明
转速单位(RPM)说明:Revolutions Per Minute的缩写,即转每分钟。
曲线加减速控制电机运行,涉及到速度(speed)和加速度(acc)两个参数,下面分别说明:

1. 速度参数 speed
速度参数speed 取值范围0 – 3000 (RPM),数值越大,电机转速越快。

控制模式和最大速度如下表:
在这里插入图片描述
如果设置的速度超过了控制模式的最大速度,电机以该控制模式的最大速度运行。
注意:速度值以16/32/64细分标定,其他细分的速度需以16细分作为基准计算,
比如设定 speed = 1200
8细分时,转速 2400(RPM)
16/32/64细分时,转速 1200(RPM)
128细分时,转速 150(RPM)

2. 加速度参数 acc
加速度参数acc取值范围0 – 255,数值越大,电机 加/减 速越快。
当acc=0时,电机不做加减速,直接以设定的速度speed运行。
① 加速阶段
假设 t1 时刻,当前速度为Vt1 (Vt1 < speed)
t2 时刻,速度为Vt2
t2 – t1 = (256-acc)* 50 (uS)
则Vt2 计算如下:
Vt2 = Vt1 + 1 (Vt2 <= speed)
例如,设定acc=236,speed=3000,电机从静止开始加速,时间t和电机速度关系如下
在这里插入图片描述
即经过3000ms后,电机从静止加速到3000RPM。
当acc=255时,电机从静止加速到3000速,需要150ms。
② 减速阶段
假设 t1 时刻,当前速度为Vt1 (Vt1 > speed)
t2 时刻,当前速度为Vt2
t2 – t1 = (256-acc)* 50 (uS)
则Vt2 计算如下:
Vt2 = Vt1 - 1 (Vt2 >= speed)

4.2 电机查询/使能指令
1. 查询串行控制模式下电机运行状态
功能码0xF1
在这里插入图片描述
注意:本指令只在“SR_OPEN/SR_CLOSE/SR_vFOC”模式下有效。

2. 修改串行控制模式下驱动板的使能状态
功能码0xF3
在这里插入图片描述
在SR_OPEN/SR_CLOSE/SR_vFOC控制模式下,驱动板的使能状态不再受En引脚的电平控制,而是利用该命令进行控制。

4.3 速度控制模式指令
速度控制模式下,可以控制电机以设定的加速度和速度一直运行。
1. 速度控制模式运行指令
功能码0xF6
在这里插入图片描述
注1:可以通过菜单 “CanRSP”或指令“8C”设置是否返回运行状态。
注2:本指令只在“SR_OPEN/SR_CLOSE/SR_vFOC”模式下有效。

2. 速度控制模式停止指令
功能码0xF6
在这里插入图片描述
注意:本指令只在“SR_OPEN/SR_CLOSE/SR_vFOC”模式下有效。

3. 速度控制模式参数“保存/清除”指令
功能码0xFF
在这里插入图片描述
注1:可以让电机每次上电都直接按照保存的方向,速度和加速度一直转动。
也就是说,如果你想要电机一上电就以一定的速度/加速度运行,你可以先发送速度控制模式运行指令,让电机按想要的方向/速度/加速度运行,接着利用该命令保存参数,重新上电后,电机就会按照保存的参数运行了。如果不想上电自动运行了,发送清除指令即可。
注2:本指令只在“SR_OPEN/SR_CLOSE/SR_vFOC”模式下有效。

4.4 位置控制模式1 按脉冲数相对运动
位置控制模式下,可以控制电机以设定的加速度和速度,运行到指定的位置。
1. 位置控制模式1 运行指令
功能码0xFD
在这里插入图片描述
注:可以通过菜单 “CanRSP”或指令“8C”设置是否返回运行状态。

2. 位置控制模式1 停止指令
功能码0xFD
在这里插入图片描述
注意:本指令只在“SR_OPEN/SR_CLOSE/SR_vFOC”模式下有效。

4.5 位置控制模式2 按坐标值相对运动
注1:坐标值即为累加制多圈编码器值。
注2:该控制模式下,坐标值会有+15左右误差!建议以 “64细分”运行,以减小误差。
位置控制模式2,可以控制电机以设定的加速度和速度,根据坐标值相对运行到指定的位置。

1. 位置控制模式2 运行指令
功能码0xF4
在这里插入图片描述
注:可以通过菜单 “CanRSP”或指令“8C”设置是否返回运行状态。

2. 位置控制模式2 停止指令
功能码0xF4
在这里插入图片描述
注意:本指令只在“SR_OPEN/SR_CLOSE/SR_vFOC”模式下有效。

4.6 位置控制模式3 按坐标值绝对运动
注1:坐标值即为累加制多圈编码器值。
注2:该控制模式下,坐标值会有+15左右误差!建议以 “64细分”运行,以减小误差。
位置控制模式3,可以控制电机以设定的加速度和速度,根据坐标值绝对运行到指定的位置。
1. 位置控制模式3 运行指令
功能码0xF5
在这里插入图片描述
注:可以通过菜单 “CanRSP”或指令“8C”设置是否返回运行状态。

2. 位置控制模式3 停止指令
功能码0xF5
在这里插入图片描述
注意:本指令只在“SR_OPEN/SR_CLOSE/SR_VFOC”模式下有效。

注:本文同样适合后续产品MKS SERVO28D/35D闭环步进电机
欢迎加入MKS 闭环步进电机技术交流 Q群(948665794)
下一篇:《MKS SERVO42&57D 闭环步进电机_系列6 串口(RS485)通讯示例》

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

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

相关文章

客户案例 | 思腾合力GPU算力节点助力实时云渲染

客户介绍 平行云是国内领先的云化XR概念倡导者与技术先行者&#xff0c;LarkXR是平行云研发的云化XR PaaS平台。LarkXR能够帮助XR领域企业级客户快速实现技术、产品及平台的云化转型&#xff0c;高效使能企业的云化XR业务&#xff0c;有效保护客户的内容安全&#xff0c;让多种…

ANDEAWELL:国产工业RFID替代潮即将到来!

受这两年国外的芯片供应不足&#xff0c;价格上涨后用户难以承受等影响&#xff0c;越来越多的企业选择国产替代芯片。随着国产替代芯片的应用增加&#xff0c;东信源芯、旗连、国芯物联等出货量也开始增加&#xff0c;可以预见的是&#xff0c;国产工业RFID替代潮即将到来! 国…

解决Maven 依赖下载不全的问题 (自测有效)

问题描述&#xff1a;从仓库拉代码下来 发现存在部分依赖下载不了。 解决方案&#xff1a;去中央仓库一个个手动下载。具体步骤如下 1.清除下载一般的依赖 &#xff08;以下代码是 .bat 文件&#xff09; echo off rem create by NettQunrem 这里写你的仓库路径 s…

类实例化和实例初始化

就算不写main方法里面的3句&#xff0c;也会执行5 1 10 6 因为main方法所在的类需要先加载和初始化 执行顺序如下&#xff1a;先初始化父类再初始化子类 静态实例变量显示赋值和静态代码块代码从上到下顺序执行&#xff08;根据书写顺序&#xff09; 子类的实例化方法&am…

【9 Vue全家桶 – Vuex状态管理】

1 什么是状态管理 其实是数据管理但是为了更好的指出是由于状态的变化导致数据的变化(响应式数据),我们称之为状态管理. 2 Vuex的状态管理 组件只能直接读取state,而不能直接修改state,必须通过mutation才能修改.(pinia可以直接读取和修改state) 3 Vuex的安装 npm install …

ModDrop++:一种具有受试者内部协同训练的动态滤波网络,用于具有缺失模态的多发性硬化病变分割

文章目录 ModDrop: A Dynamic Filter Network with Intra-subject Co-training for Multiple Sclerosis Lesion Segmentation with Missing Modalities摘要本文方法Dynamic Head with Filter ScalingIntra-subject Co-training 实验结果 ModDrop: A Dynamic Filter Network wit…

1:面向对象

文章目录 1&#xff1a;与equals的区别2&#xff1a;写算法题的时候边界条件最后考虑3&#xff1a;高内聚低耦合4&#xff1a;父类引用指向子类对象5&#xff1a;如何重写equals方法6&#xff1a;java是如果实现跨平台的7&#xff1a;HashMap中的重点注意事项8&#xff1a;局部…

快速入门Python语言:人生苦短,我用Python~~Python语言经验分享

⭐方向一&#xff1a;“你是如何学习/自学 Python 的&#xff1f;” 我通过自学的方式学习Python。我的自学方法具有良好的灵活性和自控力&#xff0c;在这个过程中&#xff0c;我注重打下坚实的基础&#xff0c;确保学习的深度与广度&#xff0c;以提高对Python语言和编程的认…

[答疑]UMLChina的Logo是不是不对劲

DDD领域驱动设计批评文集>> 《软件方法》强化自测题集>> 《软件方法》各章合集>> Lynn 2023-4-6 13:55 潘老师&#xff0c;咱umlchina的标记是不是不太对劲&#xff0c;火柴人指向用例的箭头是三角形似乎不合uml的标准。 UMLChina潘加宇 是的。如果按U…

张驰咨询:六西格玛绿带培训如何帮助酒店降低成本和提高客户满意度?

六西格玛是一种质量管理方法&#xff0c;旨在通过减少缺陷和提高效率来提高客户满意度。在酒店行业中&#xff0c;六西格玛可以帮助酒店降低成本和提高客户满意度的方法有&#xff1a;减少浪费、提高效率、优化客户体验、降低维护成本等等。下面张驰咨询给大家分享两个真实案例…

免改造数据安全技术,实现企业关键数据资产保护落地

4月26日&#xff0c;腾讯安全联合中国信通院“数据安全推进计划”共同在深圳举办了数据安全研讨会。炼石网络创始人兼CEO白小勇受邀出席&#xff0c;分享了“免改造数据安全的实践与思考”的议题&#xff0c;与中国信息通信研究院云计算与大数据研究所高级业务主管龚诗然、腾讯…

SpringMvc源码分析

概述 用户的请求&#xff0c;是如何被 DispatcherServlet 处理的 先看图 从图中可以看到请求首先是被 DispatcherServlet 所处理&#xff0c;但是实际上&#xff0c;FrameworkServlet 先被触发 我们看下处理各种请求的方法 Overrideprotected final void doGet(HttpServletR…

JavaEE进阶(5/28)SpringMVC

目录 1.什么是SpringMVC&#xff1f; 2.学习SpringMVC学习了什么&#xff1f; 3.SpringMVC核心1 4.SpringBoot传递参数 5.SpringBoot传递对象参数 6.SpringBoot传递表单 7.SpringBoot后端参数重命名 8.SpringBoot后端用来接收json对象 1.什么是SpringMVC&#xff1f; 1.…

如何在手机和平板中浏览三维实景模型?

对于数据量庞大的三维实景模型&#xff0c;想要在手机和平板中进行在线浏览并实现实时交互&#xff0c;一般平台很难实现这些功能。 四维轻云是一款操作简单、支持在线协作、在线展示及在线分享的三维实景模型在线浏览平台。在四维轻云平台中&#xff0c;用户可以创建项目&…

人生苦短,我用Python:如何入门Python的世界

人生苦短&#xff0c;我用Python&#xff1a;如何入门Python的世界 Python是一门非常简洁、易读、高效的编程语言&#xff0c;适合初学者入门。自从1991年问世以来&#xff0c;Python已经在全球范围内成为了众多工程师、科研人员、数据分析师等人群的首选编程语言。本文将详细…

数据库DBMS并发控制

pgsql&#xff08;PostgreSQL&#xff09;常用命令行操作_pgsql常用命令_石头wang的博客-CSDN博客 事务的操作和事务的性质 操作演示 三种典型数据不一致现象: 串行调度和可串行调度 串行调度 顾名思义 就是可以进行调度的意思 可串行调度 就是 一种和串行调度等价的并行调…

Quest 3初体验,或是苹果MR最大竞争对手

随着苹果MR临近&#xff0c;我们从彭博Mark Gurman了解到更多消息。昨日&#xff0c;Mark Gurman发布了Quest 3上手体验文章&#xff0c;并认为Quest 3可能是苹果MR头显最大的竞争对手。 1&#xff0c;Meta是XR头显领导者 尽管WWDC 23苹果MR将会成为最大的主角&#xff0c;但…

Android音视频开发2:So库适配总结

名词解析 Android NDK 是在SDK前⾯⼜加上了原⽣⼆字&#xff0c;即Native Development Kit&#xff0c;因此⼜被Google称为 NDK。C/C编写代码。so 为共享库,是shared object。 前⾔ ⽇常开发我们经常会使⽤到第三库&#xff0c;涉及到底层的语⾳&#xff0c;视频等都需要…

【虚拟机】VMware虚拟机安装Windows 10系统 详细教程

大家好&#xff0c;我是雷工&#xff01; 由于购买的电脑自带系统为windows11家庭版&#xff0c;而有些软件无法在家庭版中安装&#xff0c;所以考虑用虚拟机再装个Windows10专业版系统。 前一段时间在Windows11 家庭版上安装的KingSCADA软件运行时总反应很慢&#xff0c;准备…

【MLC】 TensorIR 练习

文章目录 前言TensorIR 练习TensorIR: 张量程序抽象案例研究练习 1&#xff1a;广播加法练习 2&#xff1a;二维卷积练习 3&#xff1a;变换批量矩阵乘法程序 总结 前言 这两天重新看了一下天奇的mlc课程文档&#xff0c;把里边儿的TensorIR 练习写了一下&#xff0c;顺便推广…