当前位置: 首页 > news >正文

MKS SERVO4257D 闭环步进电机_系列8 CAN通讯示例

第1部分 产品介绍

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

第2部分 相关资料下载

2.1 Cangaroo

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

第3部分 参数配置

3.1 电机参数配置

  1. 选择控制模式: 菜单 → Mode → SR_vFOC
  2. 设置波特率: 菜单 → CanRate → 500K
  3. 设置从机地址: 菜单 → CanID → 01

3.2 Cangaroo设置

  1. 双击“cangaroo.exe”,运行上位机软件;

  2. 在cangaroo窗口,选择菜单“Measurement”->“Start Measurement”,如下图所示。
    在这里插入图片描述

  3. 在弹出的Measurement Setup窗口,点击“candle0”,如下图所示
    在这里插入图片描述

  4. 使用默认参数,不做任何修改,点击“ok”,如下图所示
    在这里插入图片描述

  5. Timestamps 选择“absolute”
    不选择“aggregate by ID”
    ,如下图所示
    在这里插入图片描述

  6. 选择菜单“File”->“Save Workspace”,选择保存路径和名称,保存配置。
    在这里插入图片描述

  7. 保存完成后,如下图所示
    在这里插入图片描述

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

4.1 读取参数指令

以“读取累加制多圈编码器值”为例
发送 31 32
返回 31 00 00 00 00 3E 39 A9
即编码器值为 0x000000003E39
如下图所示
在这里插入图片描述

4.2 设置参数指令

以设置电流参数为例(对应屏幕上的“Ma”选项)
发送 83 06 FD 87 设置电流为1789mA (0x6FD = 1789)
返回 83 01 85 表示设置完成
如下图所示
在这里插入图片描述

电机屏幕菜单选项“Ma”,可以查看刚设置的电流值,如下图
在这里插入图片描述

4.3 读取IO端口状态

端口状态定义如下:
在这里插入图片描述

(注:28D/35D/42D只能读取到IN_1端口)

发送 34 35读取IN_1,IN_2,OUT_1,OUT_2端口状态
返回 34 0F 44 (0x0F 的低4位对应4个端口的状态,即4个端口均为高电平)

如下图所示
在这里插入图片描述

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

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

在这里插入图片描述

电机屏幕显示过程如下图:
在这里插入图片描述

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

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

6.1 速度模式运行和停止

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

发送指令:F6 01 2C 02 26
返回指令:F6 01 F8
如下图1,2所示

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

发送指令:F6 00 00 C8 BF
开始停止:F6 01 F8
完成停止:F6 02 F9
如下图3,4,5所示
在这里插入图片描述

6.2 速度模式参数保存

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

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

发送指令:F6 01 2C 02 26
返回指令:F6 01 F8
如下图1,2所示

2. 保存速度模式参数

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

6.3 速度模式参数擦除

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

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

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

7.1 按脉冲数相对运行

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

  1. 先将当前坐标设置为0,方便观察电机运行
    发送指令:92 93
    返回指令:92 01 94
    此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
    如下图框1所示
  2. 电机以速度100RPM,加速度2,正转一圈(3200脉冲)
    发送指令:FD 80 64 02 00 0C 80 70
    开始运行: FD 01 FF
    完成运行: FD 02 00
    此时电机屏幕显示角度值360.0,误差0.00err,脉冲数3.2Kclk
    如下图框2所示
    在这里插入图片描述

7.2 中断电机运行

  1. 电机以速度100RPM,加速度2,正转100圈(320000脉冲)
    发送指令:FD 80 64 02 04 E2 00 CA
    开始运行:FD 01 FF
    如下图框1所示
  2. 电机以加速度200停止
    发送指令:FD 80 00 C8 00 00 00 46
    开始停止: FD 01 FF
    完成停止:FD 02 00
    如下图框2所示
    在这里插入图片描述

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

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

8.1 按坐标值相对运行

  1. 先将当前坐标设置为0,方便观察电机运行
    发送指令:92 93
    返回指令:92 01 94
    此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
    如下图1所示

  2. 电机以速度300RPM,加速度200,相对运行坐标0x28000(即转10圈)
    发送指令:F4 01 2C C8 02 80 00 6C
    开始运行:F4 01 F6
    完成运行:F4 02 F7
    此时电机屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
    如下图2所示

  3. 读取当前坐标值
    发送指令:31 32
    返回指令:31 00 00 00 02 80 00 B4
    即当前坐标值为0x000000028000,和预定目标一致。
    如下图3所示

  4. 再次让电机以速度300RPM,加速度200,相对运行坐标0x28000(即再转10圈)
    发送指令:F4 01 2C C8 02 80 00 6C
    开始运行:F4 01 F6
    完成运行:F4 02 F7
    此时电机屏幕显示角度值7.2K,误差0.00err,脉冲数64.0Kclk
    如下图4所示

  5. 再次读取当前坐标值
    发送指令:31 32
    返回指令:31 00 00 00 05 00 00 37
    即当前坐标值为0x000000050000,和预定目标一致。
    如下图5所示
    在这里插入图片描述

8.2 中断电机运行

  1. 让电机以速度300RPM,加速度200,相对运行坐标0x7A0000
    发送指令:F4 01 2C C8 7A 00 00 64
    开始运行:F4 01 F6
    如下图框1所示

  2. 让电机立即停止 (即加速为0)
    发送指令:F4 00 00 00 00 00 00 F5
    开始停止:F4 01 F6
    完成停止:F4 02 F7
    如下图框2所示
    在这里插入图片描述

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

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

9.1 按坐标值绝对运行

  1. 先将当前坐标设置为0,方便观察电机运行
    发送指令:92 93
    返回指令:92 01 94

    此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
    如下图1所示

  2. 电机以速度300RPM,加速度200,绝对运行到坐标0x28000
    发送指令:F5 01 2C C8 02 80 00 6D
    开始运行: F5 01 F7
    完成运行:F5 02 F8
    此时电机屏幕显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
    如下图2所示

  3. 读取当前坐标值
    发送指令:31 32
    返回指令:31 00 00 00 02 80 00 B4
    即当前坐标值为0x00000002800,和预定目标一致。
    如下图3所示

  4. 再次让电机以速度300RPM,加速度200,绝对运行到坐标0x28000(因坐标已经是0x28000,所以电机不动)
    发送指令:F5 01 2C C8 02 80 00 6D
    开始运行:F5 01 F7
    完成运行:F5 02 F8
    此时电机屏幕仍显示角度值3.6K,误差0.00err,脉冲数32.0Kclk
    如下图4所示

  5. 再次读取当前坐标值
    发送指令:31 32
    返回指令:31 00 00 00 02 7F FF AD
    当前坐标值为0x000000028001 (误差1),即电机没有运行,和预定目标一致。
    如下图5所示

  6. 再次让电机以速度300RPM,加速度200,绝对运行到坐标0
    发送指令:F5 01 2C C8 00 00 00 EB
    开始运行:F5 01 F7
    完成运行:F5 02 F8
    此时电机屏幕显示角度值0.0,误差0.00err,脉冲数0clk
    即电机回到坐标0点
    如下图6所示

  7. 再次读取当前坐标值
    发送指令:31 32
    返回指令:31 00 00 00 00 00 01 33
    当前坐标为1(误差1),和预定目标一致。
    如下图7所示
    在这里插入图片描述

9.2 中断电机运行

  1. 让电机以速度300RPM,加速度200,绝对运行坐标0x7A0000
    发送指令:F5 01 2C C8 7A 00 00 65
    开始运行:F5 01 F7
    如下图框1所示

  2. 让电机立即停止 (即加速为0)
    发送指令:F5 00 00 00 00 00 00 F6
    开始停止:F5 01 F7
    完成停止:F5 02 F8
    如下图框2所示
    在这里插入图片描述

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

相关文章:

MKS SERVO4257D 闭环步进电机_系列8 CAN通讯示例

第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈&a…...

UnityVR--组件9--视频组件VideoPlayer

目录 前言 参数解释 RenderMode渲染方式 VideoPlayer类中的API 前言 在之前的VR场景中已经使用过VideoPlayer播放视频(Unity.UI的交互(6)-播放视频),不过在VR中设置是有些不同的,这里更详细地说明一下V…...

Java 深拷贝和浅拷贝

Java 中的深拷贝和浅拷贝是针对对象复制而言的。 浅拷贝(Shallow Copy) 当对象进行浅拷贝时,只会复制对象本身和其中的基本数据类型属性,而不会复制引用对象的实际内容。具体而言,浅拷贝只会创建一个新的对象&#x…...

[ruby on rails] docker

docker安装 ubuntu14.04后自带docker安装包,可以直接安装 sudo apt-get updatesudo apt-get install -y docker.io# 安装后启动sudo service docker start查看docker信息 docker infodocker命令 sudo service docker start sudo service docker stop sudo servic…...

网络协议——STP协议是什么?是如何实现的?

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 目录 一、STP协议是什么 二、为什么需要STP协议 三、STP的实现过程 ​编辑 1、选举跟桥 2、给非跟桥交换机选举跟端口 3、给每个网段选…...

【C++】智能指针 学习总结 |std::shared_ptr |std::unique_ptr | std::weak_ptr

文章目录 前言一、智能指针介绍二、普通指针和智能指针的比较案例三、std::shared_ptr四、std::unique_ptr五、std::weak_ptr六、std::shared_ptr |std::unique_ptr | std::weak_ptr三大智能指针的区别 前言 参考答案:chatgpt 一、智能指针介绍 智能指针是C的一种…...

iptables防火墙

文章目录 一.linux防火墙基础1.linux 包过滤防火墙概述1.1netfilter1.2 iptables 2.包过滤的工作层次2.1 通信的五元素和四元素 3.iptables 的表、链结构3.1 规则链3.2 默认包括5种规则链3.3 规则表3.4 默认包括4个规则表 二.数据包过滤的匹配流程1.规则表之间的顺序2.规则链之…...

properties、yaml作为配置文件的特点

说明:在软件开发中,经常需要把一些配置写在文件中,如数据库配置、MyBatis配置等。这样,后续如果数据库参数有改动,就可以避免直接对代码做修改,只要修改配置文件中关于数据库的配置。关于配置文件的选择&am…...

JavaSE-03 【流程控制语句】

文章目录 JavaSE-03 【流程控制语句】第一章 流程控制1.1 流程概述1.2 顺序结构 第二章 判断语句2.1 判断语句---if2.2 判断语句---if...else2.3 判断语句---if...else if ... else 第三章 选择语句3.1 选择语句--switch3.2 case的穿透性 第四章 循环语句4.1 循环概述4.2 循环语…...

笔记本电脑的BIOS是怎么保护安全的?

随着攻防技术的不断演进,像BIOS攻击、高级网络代码攻击等手段层出不穷,“受害者”也不仅限于企业级服务器、存储,很多魔爪也开始伸向了拥有商业机密数据的PC。 BIOS是Basic Input/Output System(基本输入/输出系统)的…...

Xubuntu之将rm删除内容移至回收站(一百七十七)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...

STM32F407实现1588v2(ptpd)

硬件: STM32F407ZGT6开发板 软件: VSCode arm-none-eabi-gcc openOCD st-link 在github搜到一个在NUCLEO-F429ZI开发板上移植ptpd的example,因为和F407差别很小,所以就打算用这个demo移植到手头的开发板上。因为目前只需要…...

架构师如何找到自己的商业模式

作为一个架构师,必须要在有限的资源下最大化架构活动所带来的商业价值。对于任何一个架构活动而言,架构师的可用资源,包括商业成本、研发成本、时间成本、迁移成本等等,都是非常有限的。但架构活动就是要在这些限制条件之下&#…...

SQLServer2022安装(Windows),已验证

一、SQLServer2022下载 1、官网下载地址 SQL Server 下载 | Microsoft 2、下载安装包 2.1、选择Developer版本,立即下载。 2.2、打开下载文件夹,双击运行SQL2022-SSEI-Dev.exe 尝试运行SQL2022-SSEI-Dev.exe,会收到以下信息:“…...

facenet, dlib人脸识别,人体检测,云数据库mysql,QQ邮箱,手机验证码,语音播报

目录 部分代码展示: 录入部分 识别部分​编辑 活体检测部分​编辑 同步到云数据库MySQL 其他操作 部分图片展示: 完整代码加ui链接: 涉及到的一些知识点的文章 部分代码展示: 录入部分 识别部分 活体检测部分 同步到云数…...

Spring Boot 面试题——定时任务

目录 1.什么是 cron 表达式?如何使用?2.Scheduled 注解有什么作用?3.介绍一下 spring-boot-starter-quartz。4.在 Spring Boot 中如何实现定时任务?4.1.使用 Schedule 注解4.2.Quartz 框架 1.什么是 cron 表达式?如何使…...

总建面64万平,配3所幼儿园+54班九年制学校,坪山江岭竹元规划

近日,坪山区城市更新和土地整备局发布,关于《坪山区马峦街道江岭竹元片区城市更新单元规划》已通过深圳市城市规划委员会法定图则委员会审批。现予以公告。 项目位于坪山区马峦街道,南邻南坪快速路,北邻比亚迪路,东西两…...

python3 爬虫相关学习7:使用 BeautifulSoup下载网页图片到本地文件夹

目录 1 一个爬图片pic的代码的例子 1.1 学习的原文章 1.2 原始代码的问题总结 问题1 问题2 问题3 其他问题 1.3 原始代码 2 直接在cmd里 python运行报错 和 处理 2.1 运行报错 2.2 报错原因: 没有提前安装这个bs4 模块 2.3 如何提前知道我的python环境…...

windows平台python脚本执行环境搭建笔记

1.python脚本环境下载 这里是原始发布源: https://www.python.org/downloads/release/python-3114/https://www.python.org/downloads/release/python-3114/安装时记得添加进系统path,这样你可以随时调用python环境。 2.扩展模块的安装 step1.找到py…...

MyBatis的动态SQL之OGNL(Object-Graph Navigation Language)表达式以及各种标签的用法

MyBatis的动态SQL 1、if标签的用法2、choose标签的用法3、where标签4、set标签5、trim的用法6、foreach标签7、bind标签 使用过JDBC或者是其他的ORM框架的开发者都知道,在很多操作中都需要去根据具体的条件进行SQL语句的拼接,并且在有些时候一些标点符号…...

8086/8088单板机VSCode集中环境开发编译(第二版整理)

对于8086/8088单板机而言,集中的开发环境方便友好。下面是使用VSCode集中开发环境对8086/8088单板机集中编辑、编译、串口下载的使用步骤第一步,在VSCode文件中,选择打开例程文件夹第二部,根据需要对例程main.c进行编辑修改第三步…...

2026 极简环境搭建:使用 Miniconda + pip-tools 锁定 PyTorch 生态依赖全链路方案

前言:一个被依赖管理“毒打”过的故事 不知道你是否有过这样的经历——花了一整天终于把模型训练跑通,隔了一周想在同一台机器上复现结果,环境居然崩了。一通排查才发现,某个依赖偷偷升了一个小版本,API 变了,训练逻辑静默出错。更崩溃的是,把代码交给同事,他花了三个…...

SAP 利润中心(Profit Center, PCA)深度解析:定义、核算、数据归集与实例

SAP 利润中心(Profit Center, PCA)深度解析:定义、核算、数据归集与实例利润中心是 SAP 管理会计(CO-PCA) 核心组织单元,是面向内部经营考核的虚拟核算主体,可独立计算收入、成本、费用与利润&a…...

Cursor AI 编辑器一键配置指南:从零搭建高效编程工作站

1. 项目概述:一个为 Cursor 编辑器量身定制的“开箱即用”向导如果你是一名开发者,最近肯定没少听人提起 Cursor 这款编辑器。它基于 VS Code,但深度集成了 AI 能力,号称能理解你的代码上下文,帮你写代码、改 Bug、甚至…...

微信社交圈净化实战:如何识别并清理单向好友关系

微信社交圈净化实战:如何识别并清理单向好友关系 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 你是…...

GTA5线上小助手:解锁洛圣都无限可能的游戏增强神器

GTA5线上小助手:解锁洛圣都无限可能的游戏增强神器 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 你是否曾在《侠盗猎车手5》线上模式中感到力不从心?面对繁琐的任务、漫长的通…...

ChatterUI本地模式深度解析:在移动设备上运行LLM的完整指南

ChatterUI本地模式深度解析:在移动设备上运行LLM的完整指南 【免费下载链接】ChatterUI Simple frontend for LLMs built in react-native. 项目地址: https://gitcode.com/gh_mirrors/ch/ChatterUI ChatterUI是一款基于React Native构建的轻量级LLM前端应用…...

HYMiniMall项目配置详解:从开发环境到生产环境的完整部署

HYMiniMall项目配置详解:从开发环境到生产环境的完整部署 【免费下载链接】HYMiniMall 小程序商场项目 项目地址: https://gitcode.com/gh_mirrors/hy/HYMiniMall HYMiniMall是一个功能完善的小程序商场项目,本文将详细介绍如何从开发环境到生产环…...

XUnity.AutoTranslator完整指南:如何为Unity游戏添加智能实时翻译功能

XUnity.AutoTranslator完整指南:如何为Unity游戏添加智能实时翻译功能 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而无法享受心爱的Unity游戏?或者作为…...

CANN Ascend C uint32转bfloat16函数

__uint2bfloat16_rd 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://git…...