Skip to content

LZ-01 masterCtrlV2.0 Modbus RTU 对外通信协议说明

版本:V2.2 | 更新日期:2026-03-01


1. 通信参数

项目参数
物理接口RS-485 半双工
波特率115200 bps
数据位8 位
校验位
停止位1 位
协议类型Modbus RTU
默认从机地址1(右手)/ 2(左手)
应答超时20ms
串口缓冲区256 字节

2. 支持的功能码

功能码名称说明
0x03Read Holding Registers读保持寄存器,支持批量读取
0x06Write Single Register写单个寄存器
0x10Write Multiple Registers写多个寄存器,支持批量写入

3. 寄存器地址总览

地址范围区域读写说明
0~5电机位置控制RW写入目标位置,读取返回实际位置(0~1000 ‰)
6~11电机速度控制RW写入目标速度,读取返回实际速度(0~1000 ‰)
12~17电机力矩控制RW写入目标力矩限制,读取返回实际力矩(‰)
18~30压力传感器RO压力传感器测量值(单位:mN)
31~40关节角度RO关节实际角度(单位:0.1°)
41~46电机位置反馈RO实际位置反馈(0~1000 ‰)
47~56角度校准RW编码器校准参数
57系统控制RWFlash 保存命令
58~63错误日志RO错误标志/计数/状态
66最近错误码RO最近一次产生的错误码
67错误清除WO写 1 清除所有错误计数和标志
70~75电机速度反馈RO实际速度反馈(0~1000 ‰)
76~81电机力矩反馈RO实际力矩反馈(‰)

4. 寄存器详细定义

4.1 电机控制寄存器(地址 0~17,可读写)

值域 0~1000,对应千分比(‰)。

读写反射机制:为了方便在同一地址进行控制与观察,读取这 18 个寄存器时将返回实时测量值而非目标值:

  • 读取 0~5:返回电机实际位置
  • 读取 6~11:返回电机实际速度
  • 读取 12~17:返回电机实际力矩

位置指令(地址 0~5)

地址名称说明
0pos_cmd[0]拇指旋转电机目标位置
1pos_cmd[1]拇指捏合电机目标位置
2~5pos_cmd[2~5]食指/中指/无名指/小指目标位置

速度指令(地址 6~11)

默认值 1000 (全速)。

力矩限制指令(地址 12~17)

默认值 1000 (最大力矩)。

4.2 压力传感器寄存器(地址 18~30,只读)

单位为 mN(毫牛)。

地址名称对应部位
18~19pressure[0~1]拇指
20~21pressure[2~3]食指
22~23pressure[4~5]中指
24~25pressure[6~7]无名指
26~27pressure[8~9]小拇指
28~30pressure[10~12]手心

4.3 关节角度寄存器(地址 31~40,只读)

单位为 0.1°

地址名称对应手指
31~32angle[0~1]拇指 (J1/J2)
33~34angle[2~3]食指 (J1/J2)
35~36angle[4~5]中指 (J1/J2)
37~38angle[6~7]无名指 (J1/J2)
39~40angle[8~9]小拇指 (J1/J2)

5. 错误码定义

last_err_code(地址 66)格式为 0xTTII(高字节=类型,低字节=设备编号):

类型码含义
0x01通信超时
0x02设备连接失败
0x03数据读取失败
0x04初始化状态异常
0x05机械找零超时

6. 通信示例

6.1 读取所有电机实际位置(地址 41~46)

请求: 01 03 00 29 00 06 [CRC16]
应答: 01 03 0C [12字节数据] [CRC16]

6.2 设置拇指旋转位置为 50% (500‰)

请求: 01 06 00 00 01 F4 [CRC16]
应答: 01 06 00 00 01 F4 [CRC16]

7. 数据流示意


8. 注意事项

  1. 初始化检测:上电后请先查询 hand_status(地址 62),当值为 1 时表示系统已完成找零,可正式控制。
  2. 频率建议:建议 Modbus 通信采集频率为 10ms - 50ms
  3. 参数存储:修改校准参数后,需向 save_cmd(地址 57)写入 1 触发永久保存。