当前位置:首页 > 工业控制 > 电子电路设计合集
[导读]在本全面教程中,您将学习如何使用RS485通信协议连接DFRobot M0601电机(AGV直驱轮毂电机)。我们将逐步指导您通过原始十六进制命令测试电机,使用Python脚本实现自动化运动控制,并最终通过MotorLink——一款直观的基于浏览器的数字孪生应用——进行远程控制。

在本全面教程中,您将学习如何使用RS485通信协议连接DFRobot M0601电机(AGV直驱轮毂电机)。我们将逐步指导您通过原始十六进制命令测试电机,使用Python脚本实现自动化运动控制,并最终通过MotorLink——一款直观的基于浏览器的数字孪生应用——进行远程控制。

MotorLinkLinkLink 网页应用

MotorLink 是一款免费的基于浏览器的控制应用程序,旨在简化与 M0601 电机的接口操作。它通过 Web Serial API 自动处理所有 RS4855 协议复杂性,无需安装软件或后端系统。

主要特点:

•数字孪生可视化:实时同步电机运动状态于屏幕。

•全电机控制:通过直观的滑块和预设值,实现速度、电流和位置回路模式的调节。

•实时遥测与图表:实时监控速度、电流、位置和温度。

•高级工具:集成身份管理器、原始十六进制编辑器以及通信数据包日志。

材料

•1x M0601

•1x Rainbowlink

1. 发动机概述

M0601 是 DFRobot FIT10422 系列的一款高性能直驱轮毂电机。它基于集成式 FOC(场向控制)伺服架构,将外转子无刷电机、编码器和伺服驱动器集成于一个紧凑的单元中,无需外部减速器,可直接为车轮提供平稳、低噪音的扭矩输出。

与传统的齿轮电机不同,M0601采用直驱技术,即轮子作为转子。这使其具备以下优势:

•无背隙,机械损耗接近零

•超低噪音(适合室内环境)

•低转速下平稳的扭矩,无卡滞现象

•最高可达500Hz的精确闭环控制

通信完全通过RS485实现,采用紧凑的10字节帧协议,可轻松通过USB转RS485适配器与任何微控制器、单板计算机或PC集成。

2. 版本 — — 左对右对

M0601 提供两种镜像版本,以适配不同的底盘和机器人设计:

注意:橡胶轮胎具有方向性花纹。如需更换轮胎角度,请拆下前部黑色盖板上的3×M2.5×8六角螺丝,取下盖板,取出轮胎,将其旋转至正确方向后重新安装。

两个版本在机械和电气上完全相同,仅轮胎安装方向不同。通过速度/电流值的符号,可使任一电机朝任意方向旋转。

3. 规格

4. 应用

M0601结合了直驱、RS485多点控制以及三种控制模式,非常适合以下用途:

•移动机器人——AGV驱动轮、差速驱动和全向平台

•平衡机器人——用于自平衡系统的精确速度控制

•机器人关节——采用电流环模式的力矩控制机械臂和机械腿

•服务机器人——室内配送、酒店服务、安保巡逻机器人

•健身器材 — — — 带扭矩反馈的智能阻力轮

•相机滑块/云台 — — 可重复角度控制的定位回路

工业自动化——共享RS485总线上的输送机驱动轮

5. 引脚布局与接线

电机有两个电缆连接器:

•信号电缆(4针JST连接器)

•电源线(2针连接器)

6. 通过RS485接口通信

RS485是一种差分双线总线。多个电机可以共享同一对A/B,每个电机具有唯一的地址(ID 0x01–0xFE)。

连接图

关键规则

•A/B极性很重要。如果电机无反应,请将橙色和白色互换。

•棕色线必须连接到GND,它是RS485信号的接地参考。如果将其悬空,则会导致通信错误,尤其是在长距离电缆上更为明显。

•18V电源与RS485逻辑独立。即使RS485通信正常,电机在无电源的情况下也不会转动。

•设置或查询ID时,总线上的电机仅有一个——地址冲突会导致响应混乱。

•对于长度超过1米的电缆,应在总线远端的A和B之间加一个120Ω的终端电阻。

7. 与 RainbowLinkLink 接口(TEL0185)

DFRobot RainbowLink(TEL0185)是一款支持RS485、RS232和TTL的4通道USB多协议转换器,通过单一USB连接即可实现多种通信协议。它是M0601型号推荐的PC接口设备。

逐步设置

步骤1:安装驱动程序

RainbowLink 使用 CH34333 芯片组。请从 DFRobotobot 维基或直接从 WCH 下载 CH34333 驱动程序:CH34333 驱动下载

步骤2:连接电线

•橙色(B−)→ RS485通道的终端

•白色(A+)→ RS485通道的B端子

•黑(GND)→ GNDND 接口

•棕色(RESV)→→ 地线端子(推荐)

如果电机无响应,请将橙色与白色互换——电机上的A/B标识相对于某些转换器是反向的。

步骤3:识别COM端口

通过USB插入RainbowLink后:

•Windows:打开设备管理器 → → → 端口(COM 和 LPT)→→ 记录 COM COM 号(例如 COM13)

•Linux/Mac:运行 ls /dev/tty*,查找 /dev/ttyUSB0 或类似路径

步骤4:串行设置

步骤5:使用Hercules进行快速测试

打开 Hercules 设置工具 → 串行选项卡 → → 配置上方设置 → → 点击打开。在“发送”框中,勾选 HEX,输入下方的 ID 查询帧,然后点击发送:

接收窗口中的响应确认电机已正确接线并通电。

8. 通信协议

所有电机通信均采用10字节帧,波特率115200 bps,8N1,半双工RS485。

发送帧结构(驱动命令)

CRC-8/MAXIMIMIM 算法

多项式:xx⁸ + x x⁵ + x x⁴ + 1(反向表示:0x8C)

您也可以在 crccalc.com 上验证帧——选择 CRC-8/MAXIM。

控制模式:

在切换到位置环模式之前,电机转速必须低于10 RPM。

民意调查要求

该电机采用轮询协议。单次指令无法维持运动,主机必须以≥20ms的间隔(建议50Hz)反复发送驱动指令。发送0 RPM或刹车帧将使电机停止运行。

9. 已验证的命令参考

以下所有帧均已通过CRC-8/MAXIM验证。

模式切换:

切换至速度循环

发送3–5次,未收到反馈。

切换至当前回路

发送3–5次,未收到反馈。

切换至位置回路

速度必须先小于10转/分钟。

实用命令:

反馈查询

返回10字节的状态帧。

刹车(速度模式)

电制动。

ID查询(广播)

仅限巴士单电机。

将电机ID设置为0x01

发送5次,每辆巴士上一台电机。

转速循环(-3300 至 +33000 转/分钟)

当前环路(-327677 到 +32767)

位置循环(0–32767 = 0°–360°)

10. 反馈帧解码

电机通过一个10字节的帧对驱动指令和反馈查询作出响应。

协议1:驱动命令响应

协议2:反馈查询响应

错误代码位掩码

示例:0x22 = 0b00100010 → → 相位过流 + + 过流同时激活。

11. 保护规则

在保护事件发生时,电机停止响应驱动指令。反馈帧中的错误代码字节指示了当前激活的保护类型。

12. Python 代码示例

要求:在运行这些脚本之前,请先安装 pyserial。使用 pip pip 安装 pyserial

请在每个脚本的顶部修改 COM_PORT_PORT 变量,以匹配您的系统。

12.1 发动机扫描

该脚本执行两阶段扫描,以发现RS485总线上所有的M0601电机。

它是如何工作的:

第一阶段 — — 广播查询:发送特殊ID查询帧C8 64 00 ... DE,所有电机同时响应。如果仅连接一个电机,则可立即获得结果。

第二阶段 — — 全部扫描:遍历从 0x011 到 0xFE 的所有可能地址,向每个地址发送反馈查询并等待响应。此步骤可检测到之前被更改了默认ID的电机。

脚本在最后打印一份清晰的摘要,列出所有检测到的ID,并明确告知你在其他脚本中应将MOTOR_ID设置为哪个值。

12.2 电机运行

该脚本通过键盘交互演示了三种控制模式,是测试电机行为最完整的起点。

它是如何工作的:

启动时,它会打开串行端口并发送ID查询,以确认电机已上线。

默认情况下切换为速度循环模式(电机的出厂默认设置)。

轮询循环在后台以50Hz频率运行,持续发送当前的命令帧。这是必要的,因为M0601使用的是轮询协议——它无法通过单一命令维持运动。

键盘输入会改变当前的命令、模式,或停止电机运行。轮询循环会在下一次迭代中立即接收到新的命令,且不会中断。

12.3 电机ID更改

该脚本可安全地更改RS485总线上电机的ID地址。

它是如何工作的:

首先查询总线以确认是否存在恰好一个电机,并读取其当前ID。

然后它会连续发送5次ID设置帧(AA 55 53 [NEW_ID] 00 00 00 00 00 00)——电机需要连续5个相同的帧,才能将新的ID写入非易失性存储器。

设置完成后,会立即发送ID查询以验证新ID是否有效。

在此操作期间,必须只连接一个电机到总线。如果存在多个电机,则它们都会获得相同的新的ID,并在总线上发生冲突。

12.4 电机参数监控

该脚本持续轮询电机的反馈帧,并打印一个实时终端仪表盘,显示所有实时参数:速度、电流、位置、绕组温度和故障状态。

它是如何工作的:

以可配置的间隔(默认200ms)发送协议-2反馈查询帧(01 74 00 ... 04)。

解析每个10字节的响应,提取以下信息:模式、扭矩电流(INT16 → → 安培)、速度(INT16 → → → 转每分钟)、绕组温度(°C)、角度位置(U8 → → 度数)以及错误代码位掩码。

将错误位掩码解码为命名故障描述。

打印一个不断更新的单行仪表板,该仪表板会自动覆盖终端中的内容。

将所有读数记录到CSV文件中,以便后续分析。

示例终端输出:

示例 CSV 输出:

13. MotorLink — — — 网络控制应用

手动处理原始的RS485十六进制数据帧容易出错且效率低下。为了解决这一问题,MotorLink被开发成一款免费、基于浏览器的应用程序,可自动处理所有协议复杂性。

兼容电机

工作原理

MotorLinkLink 完全在浏览器中运行,使用 Web Serial API 实现——无需安装,无需后端,除了 USB-RS485 适配器驱动程序外,无需其他驱动。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

该项目通过获取数据来实现,这是一个免费的天气 API,可获取全球各地的空气质量及其他天气数据。我输入了芝加哥的坐标,成功创建了一个回调函数(webhook),每小时更新一次芝加哥的空气质量数据。灯光和电机会根据空气质量数...

关键字: AQI LED 电机

“光明兴旺”这一短语有一种解释,意为光明与成功。我将其理解为一种更为复杂的意义,即当聚光灯从他们身上移开时,为那些失去发声机会的人带来光明。

关键字: API 电机 28BYJ-48

在这个项目中,我使用芝加哥的坐标从一个在线紫外线API获取数据,以获得准确的紫外线水平。接着,我编写了一个LED灯带,将其隐藏在左上角黄色太阳的后面,使得LED的亮度根据外部紫外线强度变化。原本右侧的雨伞在每次数据更新时...

关键字: LED 紫外线 面包板 电机

电机作为现代工业生产与日常生活的核心动力设备,其效率水平直接关系到能源消耗、运行成本与环保效益。随着“双碳”目标推进及新能源、智能制造等领域的快速发展,市场对电机高效化、小型化、轻量化的需求日益迫切。传统绕线方法存在槽满...

关键字: 电机 绕线 能源

在新能源、工业自动化、电动汽车等领域,逆变器与电机驱动系统是能量转换与动力传输的核心,其稳定运行直接决定设备可靠性、安全性与使用寿命。作为连接控制电路(低压域)与功率开关器件(高压域)的关键接口,隔离栅极驱动器不仅承担着...

关键字: 驱动器 逆变器 电机

工作中的电机在低速时像得了帕金森——电流波形畸变、转矩脉动、转速不稳。工程师把PID参数调了无数遍,换用更高分辨率的编码器,甚至升级了主控芯片,问题依旧。这很可能是死区效应在作祟。而这个问题的根源,不在控制算法,而在功率...

关键字: FOC死区补偿 电机 PID

在新能源汽车向高效化、轻量化迭代的当下,车身电机控制器作为车窗升降、座椅调节、门锁控制等各类车身执行器的核心控制单元,其设计复杂度与重量直接影响整车能耗、空间利用率及研发周期。传统车身电机控制器多采用分立器件架构,存在元...

关键字: 汽车 电机 控制器

在汽车电气化转型进程中,48V轻混电动车(MHEV)凭借低成本、高性价比的优势,成为车企实现节能减排目标的核心选择。电机驱动器作为MHEV动力系统的“大脑”,直接决定了电机的运行效率、动力响应及整车能耗表现。当前,随着4...

关键字: 电气化 电机 驱动器

随着新能源汽车向高压化、高效化、智能化升级,电机与电控系统作为动力核心,其性能、可靠性直接决定整车动力响应、续航里程与行驶安全。电机及电控测试是验证产品设计合理性、保障量产质量的关键环节,而测试电源作为测试系统的“能量供...

关键字: 新能源 电机 电控系统

有些电机低中速都很平稳,一到满速附近却突然噪声上来、振动飙升,甚至把联轴器和传感器一起拖着受罪。问题并不一定出在转子本体,而往往是转子不平衡与安装结构的柔度在某个频段上正好对上了。

关键字: 电机 联轴器 传感器 转子
关闭