关节模组 CANFD/CANopen 使用协议简易说明书
适用驱动:一体化通讯模组
版本:V1.0
日期:2025-12-06
适用固件:1.16.07 及以上版本
免责声明
感谢您购买巨蟹电机驱动系统。使用产品前,请仔细阅读本说明、产品手册及相关安全要求。一旦使用,即视为认可并接受本说明内容。用户应严格遵守手册、产品说明以及相关法律法规、政策和准则安装、调试、改装和使用产品,并对自身行为及其后果负责。因不当使用、安装或改装造成的损失,巨蟹智能驱动科技有限公司不承担相应法律责任。未经许可,不得以任何形式复制翻印。免责声明的最终解释权归巨蟹智能驱动科技有限公司所有。
1. 模组上电程序运行逻辑
模组上电后的典型流程如下:
- 进入 Boot 程序,约
300 ms后跳转到 App。 - App 初始化时间预计约
2 s。 - 初始化完成后,设备会上传 ID 为
0x700 + Dev_ID、数据为00的数据帧,同时看门狗上电自锁。 - 电机上伺服后,需要延时
100 ms,再向新位置转动。
注意事项:
- 看门狗数据帧间隔应小于
500 ms,否则电机会自锁。 - 抱闸打开和关闭均有约
100 ms延时。
2. CAN 总线接线规范
2.1 信号线定义
| 信号 | 说明 |
|---|---|
CAN_H | 高位数据线,显性电平约 3.5 V,隐性电平约 2.5 V |
CAN_L | 低位数据线,显性电平约 1.5 V,隐性电平约 2.5 V |
CAN_GND | 信号地,用于建立共地参考点,提高抗共模干扰能力 |
2.2 终端电阻
终端电阻用于消除信号在总线末端的反射,保证信号完整性。
| 项目 | 规范 |
|---|---|
| 数量 | 必须在总线物理两端的节点上各安装一个终端电阻 |
| 阻值 | 120 ohm |
| 位置 | 仅安装在距离最远的两个节点上;总线中间节点不应安装终端电阻 |
| 连接方式 | 并联在 CAN_H 和 CAN_L 之间 |
| 检查方式 | 断电状态下测量主干线两端电阻,健康网络总电阻约 60 ohm,即两个 120 ohm 并联 |

3. 协议说明
巨蟹关节模组支持 CAN 2.0 和 CAN FD 通信方式,协议基于 CANopen 402,也称 CiA 402 或 DS402。该协议是 CANopen 协议族中面向驱动和运动控制设备的子协议。
3.1 通信配置
CAN FD 默认配置:
- 标准帧
- 仲裁段速率:
1 Mbps - 数据段速率:
5 Mbps - CAN FD 数据段加速开启
3.2 执行器 ID
执行器 ID 范围为 0x01 到 0x7F。
3.3 对象字典
所有参数、数据和功能均通过对象字典访问。对象字典使用一个 16 bit 索引和一个 8 bit 子索引定位具体对象。
3.4 主要控制模式
| 控制模式 | 中文名称 | 主要特点 |
|---|---|---|
PP / Profile Position | 轮廓位置模式 | 预先定义完整位置轮廓,包括目标位置、速度和加速度,驱动器按规划执行 |
PV / Profile Velocity | 轮廓速度模式 | 控制轴按预设加速度和减速度曲线达到并维持目标速度 |
CSP / Cyclic Synchronous Position | 循环同步位置模式 | 上位机周期下发目标位置,驱动严格同步跟踪 |
CSV / Cyclic Synchronous Velocity | 循环同步速度模式 | 上位机周期下发目标速度,驱动侧积分得到位置 |
CST / Cyclic Synchronous Torque | 循环同步转矩模式 | 直接控制电机输出转矩 |
MIT | 混合控制模式 | 支持电流、速度、位置的混合控制 |
4. CAN FD / CANopen SDO 控制示例
4.1 SDO 消息解析

主站下发到从站时,SDO 帧常用格式如下。
| CAN 帧字段 | 字节长度 | 内容说明 |
|---|---|---|
StdID | 11 bit | 0x600 + Dev_ID |
DLC | - | 0x08 |
[0] | 8 bit | 指令代码,见下方指令代码表 |
[1]..[2] | 16 bit | 对象字典索引,低字节在前 |
[3] | 8 bit | 子索引 |
[4]..[7] | 32 bit | 写入值,低字节在前,高字节在后 |
SDO 指令代码说明:
| 指令代码 | 描述 | 方向 |
|---|---|---|
2Fh | 写 1 字节数据到对象 | 主站 -> 从站 |
2Bh | 写 2 字节数据到对象 | 主站 -> 从站 |
27h | 写 3 字节数据到对象 | 主站 -> 从站 |
23h | 写 4 字节数据到对象 | 主站 -> 从站 |
60h | 写数据反馈 | 从站 -> 主站 |
40h | 从对象读取数据 | 主站 -> 从站 |
4Fh | 读取到 1 字节数据 | 从站 -> 主站 |
4Bh | 读取到 2 字节数据 | 从站 -> 主站 |
47h | 读取到 3 字节数据 | 从站 -> 主站 |
43h | 读取到 4 字节数据 | 从站 -> 主站 |
4.2 读取电机版本信息
读取出的版本字符串需要转换为 ASCII 码。
| 信息 | ID | DLC | Data (HEX) |
|---|---|---|---|
| 厂家名称 | 60X | 8 | 40 08 10 00 00 00 00 00 |
| 关节型号 | 60X | 8 | 40 00 10 00 00 00 00 00 |
| 固件版本 | 60X | 8 | 40 0A 10 00 00 00 00 00 |
| 硬件版本 | 60X | 8 | 40 09 10 00 00 00 00 00 |

4.3 修改电机 ID
示例:将电机 ID 设置为 5。
| ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|
60x | 8 | 23 30 25 00 05 00 00 00 | 设置电机 ID 为 5 |
4.4 零位标定步骤
零位标定时,电机需要处于失能状态。
- 先使能电机,并运行到需要标零的位置。
- 发送标定指令:
60x 23 31 25 00 01 00 00 00。 - 读取当前反馈位置,确认当前位置为
0,表示标定成功。 - 电机去使能并抱闸后,按固件要求发送标定复位指令。
- 电机重新使能,抱闸释放后可恢复正常控制。
| ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|
60x | 8 | 23 31 25 00 01 00 00 00 | 设置零位 |
4.5 读取电机位置
| ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|
60x | 8 | 40 64 60 00 00 00 00 00 | 读取电机实际位置 |
58x | 8 | 43 64 60 00 00 00 00 00 | 反馈电机实际位置 |
位置反馈按低字节在前、高字节在后解析。例如 FE 3F 还原为 0x3FFE,十进制为 16382,再除以 182,得到约 90 deg。
| ID | 帧格式 | 类型 | DLC | CAN FD | 数据 |
|---|---|---|---|---|---|
0x601 | 标准帧 | 数据帧 | 8 | CAN FD | 43 64 60 00 00 00 00 00 |
0x581 | 标准帧 | 数据帧 | 8 | CAN FD | 43 64 60 00 FE 3F 00 00 |
4.6 看门狗、限位和心跳
关闭看门狗和限位保护会降低现场安全保护能力,仅建议在明确风险的调试场景中使用。
| 功能 | ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|---|
| 关闭看门狗和限位保护 | 60x | 8 | 23 50 26 00 01 00 00 00 | 关闭 500 ms 看门狗保护机制及限位保护 |
| 设置心跳时间 | 60x | 8 | 2B 17 10 00 D0 07 00 00 | 设置心跳时间为 2000 ms,断电后恢复默认状态 |
4.7 限位与 CAN FD 数据段速率
设置正负限位时,电机应处于失能状态;设置完成后需要保存到 Flash。
| 功能 | ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|---|
| 设置正限位 | 60x | 8 | 23 7D 60 02 30 7F 00 00 | 设置正限位 |
| 读取正限位 | 60x | 8 | 40 7D 60 01 00 00 00 00 | 读取正限位 |
| 设置负限位 | 60x | 8 | 23 7D 60 01 C8 80 FF FF | 设置负限位 |
| 读取负限位 | 60x | 8 | 40 7D 60 02 00 00 00 00 | 读取负限位 |
CAN FD 数据段波特率设置关系:
| 写入值 | 数据段波特率 |
|---|---|
1 | 5 Mbps |
2 | 4 Mbps |
3 | 2 Mbps |
4 | 1 Mbps |
设置后需要重启生效,且需要保存到 Flash。
| ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|
60x | 8 | 23 40 25 00 01 00 00 00 | 设置 CAN FD 数据段波特率 |
4.8 SDO 位置模式示例
位置环速度是减速机输出端速度。
| 步骤 | ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|---|
| 准备好启动 | 601 | 8 | 2B 40 60 00 06 00 00 00 | 准备好启动 |
| 松开抱闸 | 601 | 8 | 2B 40 60 00 07 00 00 00 | 松开抱闸 |
| 电机使能 | 601 | 8 | 2B 40 60 00 0F 00 00 00 | 电机使能激活 |
| 设置模式 | 601 | 8 | 2F 60 60 00 01 00 00 00 | 设置位置模式 |
| 设置加速度 | 601 | 8 | 23 83 60 00 D0 07 00 00 | 加速度 2000 RPM/s,电机端加减速范围 0..10000 |
| 设置减速度 | 601 | 8 | 23 84 60 00 D0 07 00 00 | 减速度 2000 RPM/s,电机端加减速范围 0..10000 |
| 设置速度 | 601 | 8 | 23 81 60 00 0A 00 00 00 | 输出端速度 10 RPM,范围 0..30 |
| 设置目标位置 | 601 | 8 | 23 7A 60 00 00 40 00 00 | 目标位置范围 -32767..32768 |
| 开始绝对运动 | 601 | 8 | 2B 40 60 00 4F 00 00 00 | 电机开始绝对运动 |
| 停止运动 | 601 | 8 | 2B 40 60 00 0F 00 00 00 | 电机停止运动 |
4.9 SDO 速度模式示例
速度环速度和加速度均为电机端速度。
| 步骤 | ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|---|
| 准备好启动 | 601 | 8 | 2B 40 60 00 06 00 00 00 | 准备好启动 |
| 松开抱闸 | 601 | 8 | 2B 40 60 00 07 00 00 00 | 松开抱闸 |
| 电机使能 | 601 | 8 | 2B 40 60 00 0F 00 00 00 | 电机使能激活 |
| 设置模式 | 601 | 8 | 2F 60 60 00 03 00 00 00 | 设置速度模式 |
| 设置加速度 | 601 | 8 | 23 83 60 00 E8 03 00 00 | 加速度 1000 RPM/s,范围 0..10000 |
| 设置减速度 | 601 | 8 | 23 84 60 00 E8 03 00 00 | 减速度 1000 RPM/s,范围 0..10000 |
| 设置速度 | 601 | 8 | 23 FF 60 00 F4 01 00 00 | 设置速度 500 RPM |
4.10 SDO 电流模式示例
最大电流建议使用默认值,并与电机峰值电流保持一致。
| 步骤 | ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|---|
| 准备好启动 | 601 | 8 | 2B 40 60 00 06 00 00 00 | 准备好启动 |
| 松开抱闸 | 601 | 8 | 2B 40 60 00 07 00 00 00 | 松开抱闸 |
| 电机使能 | 601 | 8 | 2B 40 60 00 0F 00 00 00 | 电机使能激活 |
| 设置模式 | 601 | 8 | 2F 60 60 00 0A 00 00 00 | 设置电流模式 |
| 设置目标电流 | 601 | 8 | 2B 71 60 00 F4 01 00 00 | 设置目标电流 500 mA,范围参考电机规格参数 |
4.11 PI 参数和 Flash 保存
| 参数 | ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|---|
| 电流环 P | 601 | 8 | 23 32 25 00 00 00 00 00 | 设置电机电流环 P |
| 电流环 I | 601 | 8 | 23 33 25 00 00 00 00 00 | 设置电机电流环 I |
| 速度环 P | 601 | 8 | 23 34 25 00 00 00 00 00 | 设置电机速度环 P |
| 速度环 I | 601 | 8 | 23 35 25 00 00 00 00 00 | 设置电机速度环 I |
| 位置环 P | 601 | 8 | 23 36 25 00 00 00 00 00 | 设置电机位置环 P |
| 位置环 I | 601 | 8 | 23 37 25 00 00 00 00 00 | 设置电机位置环 I |
将写入的 PI 参数和最大电流保存到 Flash:
| ID | DLC | Data (HEX) | 说明 |
|---|---|---|---|
601 | 8 | 23 39 25 00 01 00 00 00 | 写入 Flash |
读取 PI 参数:
| 参数 | Data (HEX) |
|---|---|
| 读电机电流环 P 参数 | 40 32 25 00 00 00 00 00 |
| 读电机电流环 I 参数 | 40 33 25 00 00 00 00 00 |
| 读电机速度环 P 参数 | 40 34 25 00 00 00 00 00 |
| 读电机速度环 I 参数 | 40 35 25 00 00 00 00 00 |
| 读电机位置环 P 参数 | 40 36 25 00 00 00 00 00 |
| 读电机位置环 I 参数 | 40 37 25 00 00 00 00 00 |
| 读电机最大电流参数 | 40 38 25 00 00 00 00 00 |
4.12 SDO 读取反馈状态示例
| ID | DLC | Data (HEX) | 说明 | 解析 |
|---|---|---|---|---|
601 | 8 | 40 78 60 00 00 00 00 00 | 读取电机实际电流 | - |
581 | 8 | 4B 78 60 00 45 01 00 00 | 反馈电机实际电流 | 0x0145 转十进制为 325,单位 mA |
601 | 8 | 40 64 60 00 00 00 00 00 | 读取电机实际位置 | - |
581 | 8 | 43 64 60 00 FE 3F 00 00 | 反馈电机实际位置 | 0x3FFE 为 16382,除以 182 后约 90 deg;一圈脉冲为 65536,对应角度 -180..180 deg |
601 | 8 | 40 6C 60 00 00 00 00 00 | 读取电机实际速度 | - |
581 | 8 | 43 6C 60 00 F9 01 00 00 | 反馈电机实际速度 | 0x01F9 换算为 50.5 RPM |
601 | 8 | 40 3F 60 00 00 00 00 00 | 读取电机故障 | - |
581 | 8 | 4B 3F 60 00 00 00 00 00 | 反馈电机故障 | 故障码见故障排查说明 |
601 | 8 | 40 41 60 00 00 00 00 00 | 读取电机运动状态 | - |
581 | 8 | 4B 41 60 00 00 00 00 00 | 反馈电机运动状态 | 0x0021 准备好启动,0x0023 松开抱闸,0x0027 使能激活,0x0008 报错状态 |
601 | 8 | 40 62 26 00 00 00 00 00 | 读取 MOS 温度传感器 | - |
581 | 8 | 43 62 26 00 18 01 00 00 | 反馈温度传感器 | 0x0118 为十进制 280,温度 28.0 degC |
601 | 8 | 40 63 26 00 00 00 00 00 | 读取电机温度传感器 | - |
581 | 8 | 43 63 26 00 18 01 00 00 | 反馈温度传感器 | 0x0118 为十进制 280,温度 28.0 degC |
5. CAN FD 自定义 PDO 控制示例
5.1 单执行器控制报文
上位机发送给执行器:
| 字段 | 长度 | 内容说明 |
|---|---|---|
StdID | 11 bit | 0x100 + Dev_ID |
DLC | - | 7 |
[0].Bit[7] | 1 bit | 使能控制,0 下使能,1 上使能 |
[0].Bit[6] | 1 bit | 抱闸控制,0 抱闸吸合,1 抱闸释放 |
[0].Bit[5] | 1 bit | 清除错误控制,0 默认,1 复位错误 |
[0].Bit[4:1] | 4 bit | 控制模式:0x01 轮廓位置,0x02 轮廓速度,0x03 CSP 位置,0x04 CSV 速度,0x05 电流环 |
[0].Bit[0] | - | 预留 |
[1]..[2] | 16 bit | 目标参数 1。位置模式为输出端目标位置,范围 -32768..32767 对应 -180..180 deg;速度模式为电机端目标速度,单位 RPM;电流模式为目标 Iq 电流,单位 mA |
[3]..[4] | 16 bit | 目标参数 2。轮廓位置和轮廓速度模式下为轮廓加减速,范围 0..20000,单位 RPM/s |
[5]..[6] | 16 bit | 目标前馈参数。位置模式下为输出端轮廓速度,其余模式预留 |
5.2 单轴控制报文示例
以下以 ID 为 1 的电机为例。
| 序号 | ID | 协议 | DLC | 名称 | 数据 |
|---|---|---|---|---|---|
| 0 | 0x101 | CAN FD | 7 | PP 模式转动到 0 cnt,加减速 2000,速度 5 | C2 00 00 07 D0 00 05 |
| 1 | 0x101 | CAN FD | 7 | PP 模式转动到 16384 cnt,加减速 1000,速度 8 | C2 40 00 03 E8 00 08 |
| 2 | 0x101 | CAN FD | 7 | PP 模式转动到 -16384 cnt,加减速 1000,速度 8 | C2 C0 00 03 E8 00 08 |
| 3 | 0x101 | CAN FD | 7 | 速度模式,速度 500,加减速 1000 | C4 01 F4 03 E8 00 00 |
| 4 | 0x101 | CAN FD | 7 | 速度模式,速度 -500,加减速 1000 | C4 FE 0C 03 E8 00 00 |
| 5 | 0x101 | CAN FD | 7 | 电流模式,电流 1000 | CA 03 E8 00 00 00 00 |
| 6 | 0x101 | CAN FD | 7 | 电流模式,电流 -1000 | CA FC 18 00 00 00 00 |
| 7 | 0x101 | CAN FD | 7 | CSP 模式转动 50 cnt | C6 00 32 00 00 00 00 |
| 8 | 0x101 | CAN FD | 7 | CSP 模式转动 100 cnt | C6 00 64 00 00 00 00 |
简单反馈示例:
| ID | 帧格式 | 类型 | DLC | CAN FD | 数据 |
|---|---|---|---|---|---|
0x101 | 标准帧 | 数据帧 | 7 | CAN FD | C2 00 00 07 D0 00 05 |
0x301 | 标准帧 | 数据帧 | 12 | CAN FD | FF FE 00 00 FF E2 00 00 01 04 01 D0 |
0x081 | 标准帧 | 数据帧 | 8 | CAN FD | 02 00 00 00 00 00 00 00 |
5.3 多执行器控制报文
多控报文用于广播指令,最多可同时控制 8 个电机。
| 字段 | 长度 | 内容说明 |
|---|---|---|
StdID | 11 bit | 0x200 |
DLC | - | 64 |
[0]..[6] | 7 bytes | 控制指令分包 1 |
[7]..[13] | 7 bytes | 控制指令分包 2 |
[14]..[20] | 7 bytes | 控制指令分包 3 |
[21]..[27] | 7 bytes | 控制指令分包 4 |
[28]..[34] | 7 bytes | 控制指令分包 5 |
[35]..[41] | 7 bytes | 控制指令分包 6 |
[42]..[48] | 7 bytes | 控制指令分包 7 |
[49]..[55] | 7 bytes | 控制指令分包 8 |
[56]..[63] | 8 bytes | 对应分包的执行器 ID,即 Dev_ID |
每个 7 字节控制指令分包与单执行器控制报文保持一致。不使用的分包用 00 补齐。
7 个轴控制示例:
0x200:
D0 16 E5 00 00 00 00 D0 2D 15 00 00 00 00 D0 17 EA 00 00 00 00
D0 FD 65 00 00 00 00 D0 E1 07 00 00 00 00 D0 F4 E9 00 00 00 00
D0 08 C8 00 00 00 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07
00
0x301: 16 E3 00 00 F5 2D 01 98 01 DC 70 00
0x302: 2D 17 00 00 F7 B0 01 B5 01 DE 70 00
0x303: 18 41 FF A0 F4 49 01 BE 01 C8 70 00
0x304: FD 78 FF E8 04 50 01 AB 01 E0 70 00
0x305: E2 80 FE 8B FA CD 01 BE 01 F4 70 00
0x306: F5 51 FF A6 FF 2F 01 CC 01 E4 70 00
0x307: 08 B2 00 01 FF C3 01 C2 01 E2 70 00
5.4 MIT 模式单执行器控制报文
上位机发送给执行器:
| 字段 | 长度 | 内容说明 |
|---|---|---|
StdID | 11 bit | 0x110 + Dev_ID |
DLC | - | 9 |
[0].Bit[7] | 1 bit | 使能控制,0 下使能,1 上使能 |
[0].Bit[6] | 1 bit | 抱闸控制,0 抱闸吸合,1 抱闸释放 |
[0].Bit[5] | 1 bit | 清除错误控制,0 默认,1 复位错误 |
[0].Bit[4:1] | 4 bit | 控制模式:0x06 为 MIT 模式 |
[0].Bit[0] | - | 预留 |
[1]..[2] | 16 bit | 目标位置,0..65535 对应 -Pos_Max..Pos_Max |
[3] 和 [4].Bit[7:4] | 12 bit | 目标速度,0..4095 对应 -Vel_Max..Vel_Max |
[4].Bit[3:0] 和 [5] | 12 bit | 位置增益 Kp,0..4095 对应 0..500 |
[6] 和 [7].Bit[7:4] | 12 bit | 速度增益 Kd,0..4095 对应 0..5 |
[7].Bit[3:0] 和 [8] | 12 bit | 目标力矩,0..4095 对应 -T_Max..T_Max |
6. 执行器反馈报文
执行器反馈报文有三种触发方式:
- 上位机发送同步帧,ID 为
0x80。 - 执行器多控报文触发数据反馈。
- 单轴控制报文触发数据反馈。
执行器发送给上位机:
| 字段 | 长度 | 内容说明 |
|---|---|---|
StdID | 11 bit | 0x300 + Dev_ID |
DLC | - | 12 |
[0]..[1] | 16 bit | 负载端实际位置,Byte[0] 高 8 位,Byte[1] 低 8 位,范围 -32768..32767 对应 -180..180 deg |
[2]..[3] | 16 bit | 电机端实际速度,int16,单位 RPM |
[4]..[5] | 16 bit | 实际电流 Iq,int16,单位 mA |
[6]..[7] | 16 bit | 错误代码,见故障码表 |
[8]..[9] | 16 bit | 电机线圈温度,int16,单位 0.1 degC |
[10] | 8 bit | 控制模式反馈:0x01 轮廓位置,0x02 轮廓速度,0x03 CSP,0x04 CSV,0x05 电流环 |
[11].Bit[7] | 1 bit | 使能状态,0 下使能,1 上使能 |
[11].Bit[6] | 1 bit | 抱闸状态,0 抱闸吸合,1 抱闸释放 |
[11].Bit[5] | 1 bit | 报错状态,0 正常,1 报错 |
[11].Bit[4] | 1 bit | 位置到位状态,0 运行中,1 运行到位 |
[11].Bit[3:0] | - | 预留 |
反馈解析示例:
| 方向 | ID | 帧格式 | 类型 | DLC | CAN FD | 数据 |
|---|---|---|---|---|---|---|
| Tx | 0x101 | 标准帧 | 数据帧 | 7 | CAN FD | C2 00 00 07 D0 00 05 |
| Rx | 0x301 | 标准帧 | 数据帧 | 12 | CAN FD | 09 E1 FD E5 FF 51 00 00 00 F0 01 C0 |
| 数据 | 解析 |
|---|---|
09 E1 | 13 deg |
FD E5 | -539 RPM |
FF 51 | -175 mA |
00 00 | 无报错 |
00 F0 | 24 degC |
01 | 轮廓位置模式 |
C0 | 1100 0000,上使能、抱闸释放、正常状态、运行中 |
7. CANopen PDO 说明
CANopen 的 PDO 部分未预置完整映射,需要用户按业务自行配置映射。原 Word 转换出的代码片段存在明显 OCR 错位,因此本节以报文序列方式整理。
典型配置顺序如下:
| ID | 帧类型 | 帧格式 | 长度 | 数据 | 说明 |
|---|---|---|---|---|---|
0x0701 | 数据帧 | 标准帧 | 0x01 | 00 | 上电反馈 |
0x0000 | 数据帧 | 标准帧 | 0x02 | 81 01 | 开启节点 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2B 17 10 00 C8 00 00 00 | 配置心跳时间 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 17 10 00 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 18 01 81 01 00 80 | 关闭 txPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 18 01 00 00 00 00 | 关闭 txPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 01 18 01 81 02 00 80 | 关闭 txPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 01 18 01 00 00 00 00 | 关闭 txPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 02 18 01 81 03 00 80 | 关闭 txPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 02 18 01 00 00 00 00 | 关闭 txPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 03 18 01 81 04 00 80 | 关闭 txPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 03 18 01 00 00 00 00 | 关闭 txPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 14 01 01 02 00 80 | 关闭 rxPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 14 01 00 00 00 00 | 关闭 rxPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 01 14 01 01 03 00 80 | 关闭 rxPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 01 14 01 00 00 00 00 | 关闭 rxPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 02 14 01 01 04 00 80 | 关闭 rxPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 02 14 01 00 00 00 00 | 关闭 rxPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 03 14 01 01 05 00 80 | 关闭 rxPDO |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 03 14 01 00 00 00 00 | 关闭 rxPDO 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2F 00 18 02 01 00 00 00 | 设置 TPDO 模式 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 18 02 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2F 00 1A 00 00 00 00 00 | 清空 txPDO1 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 1A 00 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 1A 01 10 00 41 60 | 映射 6041 状态字 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 1A 01 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 1A 02 10 00 78 60 | 映射 6078 实际电流 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 1A 02 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 1A 03 20 00 64 60 | 映射 6064 实际位置 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 1A 03 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2F 00 1A 00 03 00 00 00 | 保存映射 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 1A 00 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 18 01 81 01 00 00 | 映射 ID 0x181 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 18 01 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2F 00 14 02 01 00 00 00 | 设置 RPDO 模式 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 14 02 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2F 00 16 00 00 00 00 00 | 清空 rxPDO1 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 16 01 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 16 01 10 00 40 60 | 映射 6040 控制字 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 16 01 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 16 02 10 00 71 60 | 映射 6071 目标电流 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 16 02 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 16 03 20 00 7A 60 | 映射 607A 目标位置 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 16 03 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2F 00 16 00 03 00 00 00 | 保存映射 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 16 00 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 23 00 14 01 01 02 00 00 | 映射 ID 0x201 |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 00 14 01 00 00 00 00 | 应答 |
0x0601 | 数据帧 | 标准帧 | 0x08 | 2F 60 60 00 07 00 00 00 | 设置运行模式 CSP |
0x0581 | 数据帧 | 标准帧 | 0x08 | 60 60 60 00 00 00 00 00 | 应答 |
0x0701 | 数据帧 | 标准帧 | 0x01 | 7F | 节点状态 |
0x0000 | 数据帧 | 标准帧 | 0x02 | 01 00 | 启动节点 |
0x0080 | 数据帧 | 标准帧 | 0x00 | - | 同步帧 |
8. 编码器说明
8.1 编码器分辨率与单圈位置反馈
关节模组通过双绝对值单圈编码器构建全闭环控制:
- 电机端编码器分辨率:
14 bit,即16384 cnt/rev。 - 负载端编码器分辨率:
16 bit,即65536个位置值,反馈范围为0..65535。
当轴跨越零位时,反馈值会产生数值突变:正向过零为 65535 -> 0,反向过零为 0 -> 65535。在全闭环控制中需要对过零跳变进行补偿,避免产生瞬时扰动。
16 bit 绝对值编码器角度误差不大于 +/-0.5 deg,重复定位精度不大于 +/-0.05 deg。
单圈角度 theta 对应的位置值计算方式:
position = theta / 360 deg * 65536
例如 theta = 20 deg 时:
position = 20 / 360 * 65536 ~= 3641
编码器线数为 4096。
8.2 位置反馈示意图

9. 模组端子说明
原始 Word 转换出的端子表存在大量重复 OCR 内容,以下仅整理可辨识的型号、端子型号和 Pin 定义。实际接线仍应以产品丝印、结构图纸或随货规格书为准。
| 型号 | 电源端子 | 电源 Pin 定义 | 通信端子 | 通信 Pin 定义 |
|---|---|---|---|---|
R120 / R120MAX | XT30AW-M.G.Y,AMASS | 1: G,2: VIN | X1251WVS-03HF-LPSW,XKB-Connection | 1: H,2: L,3: G |
R102 | XT30AW-M.G.Y,AMASS | 1: G,2: VIN | X1251WVS-03HF-LPSW,XKB-Connection | 1: H,2: L,3: G |
R83 | XT30AW-M.G.Y,AMASS | 1: G,2: VIN | B03B-XNISK-A-1(LF)(SN),JST | 1: H,2: L,3: G |
R68 | XT30AW-M.G.Y,AMASS | 1: G,2: VIN | X1251WVS-03HF-LPSW,XKB-Connection | 1: H,2: L,3: G |
R58 | DL15006-2AB,德利来 | 1: G,2: 24+ | DL12503-3AB,德利来 | 1: G,2: L,3: H |
R48 | B02B-XNISK-A-1(LF)(SN),JST | 1: G,2: VIN | B03B-ZESK-1D(LF)(SN),JST | 1: G,2: L,3: H |
R48-101-DNF | B02B-XNISK-A-1(LF)(SN),JST | 1: G,2: VIN | B03B-ZESK-1D(LF)(SN),JST | 1: G,2: L,3: H |
R83-101-FBN | XT30AW-M.G.Y,AMASS | 1: G,2: VIN | B03B-XNISK-A-1(LF)(SN),JST | 1: H,2: L,3: G |
R80-50-13NSFN | XT30U-M 母头,AMASS | 1: G,2: 24+ | DL12503-3AB,德利来 | 1: G,2: L,3: H |
R68-101-lite | XT30AW-M.G.Y,AMASS | 1: G,2: VIN | X1251WVS-03HF-LPSW,XKB-Connection | 1: H,2: L,3: G |
R48-101-lite | DL15006-2AB,德利来 | 以规格书为准 | DL12503-3AB / HC-0.8-6PLT | HC-0.8-6PLT: 1: G,2: L,3: H,4: G,5: L,6: H |
10. 故障排查说明
当电机出现异常报警时,可参考以下报错代码。
| 报错内容 | 触发条件 | 保护方式 | 清除错误方式 | 报错代码 | 说明 |
|---|---|---|---|---|---|
| 欠压 | 母线电压 < 40 V | 快速保护 | 重启清除 | 0x0002 | 硬件欠压保护为 35 V |
| 过压 | 母线电压 > 72 V | 一般保护 | 重启清除 | 0x0001 | - |
| 过温 | 电机线圈 NTC 温度 > 95 degC 持续 100 ms;或驱动器 NTC 温度 > 100 degC 持续 100 ms;电机与驱动温度大于 80 degC 时执行上升斜率保护 | 一般保护 | 恢复到 85 degC 以下后指令清除 | 0x0004 | - |
| 堵转 | 电机 Iq 电流达到或超过设置最大电流,持续 2 s | 限幅保护 | 重启清除 | 0x0008 | - |
| 过载 | 电机 Iq 电流积分大于设置阈值 | 一般保护 | 重启清除 | 0x0010 | - |
| 速度跟踪误差过大 | 期望速度与实际速度误差 > 320 RPM 持续 20 ms;该阈值仅针对 R120 / R120MAX,其他模组按 200 RPM 阈值设置 | 快速保护 | 重启清除 | 0x0020 | 负载突变可能触发;负载缓慢上升可能触发堵转与速度误差过大 |
| 正限位保护 | 限位光电开关触发,或超过软件角度限位;目标速度方向与限位方向一致。软件正限位默认参数 32767 | 快速保护 | 指令清除,向限位反方向可以运行 | 0x0040 | - |
| 负限位保护 | 限位光电开关触发,或超过软件角度限位;目标速度方向与限位方向一致。软件负限位默认参数 -32767 | 快速保护 | 指令清除,向限位反方向可以运行 | 0x0080 | - |
| 输出端编码器异常 | 通过输出端编码器计算速度并与速度端比较;当输出端编码器计算速度为 0、速度端为 100 RPM 持续 20 ms 时触发,反向同理 | 快速保护 | 重启清除 | 0x0100 | - |
| 位置跃迁过大 | CSP 模式下发送的目标位置增量 > 100 cnt,发送周期 1 ms | 伺服保持在当前位置 | 指令清除 | 0x0200 | - |
| 电流采样错误 | 初始化时判断电流采样基准不在合理范围 | 快速保护 | 重启清除 | 0x0400 | - |
| 电流跟踪误差超差 | 目标电流与反馈电流误差 > 10 A 持续 20 ms,阈值按额定电流设置 | 快速保护 | 重启清除 | 0x0800 | 缺相或电机参数设置异常可能触发 |
| 位置跟踪误差过大 | 期望位置与实际位置误差 > 2000 cnt 持续 20 ms | 快速保护 | 重启清除 | 0x1000 | - |
保护等级说明:
| 保护等级 | 保护方式说明 |
|---|---|
| 一般保护 | 速度减速到设置阈值;抱闸吸合;等待 100 ms;关 PWM |
| 快速保护 | 关 PWM;抱闸吸合 |
| 限幅保护 | 限幅到最大电流的二分之一;抱闸吸合;等待 100 ms;关 PWM |