RSBL 舵机-内存表解析
1. 舵机内存表定义
如果功能地址采用两个字节数的数据,低位字节在前面地址,高位字节在后面地址。
1.1 版本信息
| 地址 DEC | 地址 HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 0 | 0x00 | 固件主版本号 | 1 | - | 只读 | - | - | - |
| 1 | 0x01 | 固件次版本号 | 1 | - | 只读 | - | - | - |
| 2 | 0x02 | END | 1 | 0 | 只读 | - | - | 0 表示小端存储结构 |
| 3 | 0x03 | 舵机主版本号 | 1 | - | 只读 | - | - | - |
| 4 | 0x04 | 舵机次版本号 | 1 | - | 只读 | - | - | - |
1.2 EPROM 配置
| 地址 DEC | 地址 HEX | 功能 | 字节数 | 初始值 | 权限 | 取值 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 5 | 0x05 | 舵机 ID | 1 | 1 | 读写 | 0~253 | 号 | 总线中唯一的主 ID 标识 |
| 6 | 0x06 | 波特率 | 1 | 0 | 读写 | 0~7 | 无 | 0-7 分别代表波特率:1000000(0)、500000(1)、250000(2)、128000(3)、115200(4)、76800(5)、57600(6)、38400(7) |
| 7 | 0x07 | 应答返回延时 | 1 | 0 | 读写 | 0/50 ~ 253 | 2us | 最大可设置返回延时 254*2=508us,0 表示最少返回延时,设置 <50 默认仍然为 50(100us) |
| 8 | 0x08 | 应答状态级别 | 1 | 1 | 读写 | 0~1 | 无 | 0:除读指令与 PING 指令外其它指令不返回应答包;1:对所有指令返回应答包 |
| 9 | 0x09 | 最小角度限制 | 2 | 0 | 读写 | 0~4094 | 0.087 度 | 多圈绝对位置控制时此值为 0 |
| 11 | 0x0B | 最大角度限制 | 2 | 4095 | 读写 | 1~4095 | 0.087 度 | 多圈绝对位置控制时此值为 0 |
| 13 | 0x0D | 最高温度上限 | 1 | 70 | 读写 | 0~100 | °C | - |
| 14 | 0x0E | 最高输入电压 | 1 | - | 读写 | 0~254 | 0.1V | - |
| 15 | 0x0F | 最低输入电压 | 1 | 40 | 读写 | 0~254 | 0.1V | - |
| 16 | 0x10 | 最大扭矩 | 2 | 1000 | 读写 | 0~1000 | 0.1% | 上电赋值给 48 号地址转矩限制 |
| 18 | 0x12 | 相位 | 1 | - | 读写 | 0~254 | 无 | 特殊功能字节,无特别需求不可修改 |
| 19 | 0x13 | 卸载条件 | 1 | - | 读写 | 0~254 | 无 | 对应位设置 1 为开启相应保护,对应位设置 0 为关闭相应保护 |
| 20 | 0x14 | LED 报警条件 | 1 | - | 读写 | 0~254 | 无 | 对应位设置 1 为开启闪灯报警,对应位设置 0 为关闭闪灯报警 |
| 21 | 0x15 | 位置环 P 比例系数 | 1 | - | 读写 | 0~254 | 无 | 控制电机的比例系数(1/4) |
| 22 | 0x16 | 位置环 D 微分系数 | 1 | - | 读写 | 0~254 | 无 | 控制电机的微分系数(1/8) |
| 23 | 0x17 | 位置环 I 积分系数 | 1 | 0 | 读写 | 0~254 | 无 | 控制电机的积分系数 |
| 24 | 0x18 | 最小启动扭矩 | 1 | - | 读写 | 0~254 | 0.1% | 设置舵机的最小输出启动扭矩 |
| 25 | 0x19 | 积分限制值 | 1 | 0 | 读写 | 0~254 | 无 | 最大积分值=积分限制值 * 4,0 表示关闭积分限制功能,位置模式 0 与模式 4 生效 |
| 26 | 0x1A | 正向不灵敏区 | 1 | 1 | 读写 | 0~16 | 0.087 度 | 最小单位为一个最小分辨角度 |
| 27 | 0x1B | 负向不灵敏区 | 1 | 1 | 读写 | 0~16 | 0.087 度 | 最小单位为一个最小分辨角度 |
| 28 | 0x1C | 保护电流 | 2 | 511 | 读写 | 0~2047 | 6.5mA | 最大可设置电流为 500 * 6.5mA = 3250mA |
| 30 | 0x1E | 角度分辨率 | 1 | 1 | 读写 | 1~128 | 无 | 对传感器最小分辨角度的放大系数 |
| 31 | 0x1F | 位置偏移 | 2 | 0 | 读写 | 0~8191 | 0.087 度 | 0~2047 表示 0~2047;2048~4095 表示 0~-2047;4096~6143 表示 2048~4095;6144~8191 表示 -2048~-4095(表示偏位置 -4095~4095) |
| 33 | 0x21 | 运行模式 | 1 | 0 | 读写 | 0~3 | 无 | 0:位置伺服模式;1:电机恒速模式;2:PWM 开环调速度模式;3:步进模式 |
| 34 | 0x22 | 保持扭矩 | 1 | 20 | 读写 | 0~254 | 1% | 进入过载保护后输出扭矩,如设 20 表示 20%的最大扭矩 |
| 35 | 0x23 | 保护时间 | 1 | 200 | 读写 | 0~254 | 10ms | 当前负载输出超过过载扭力并保持的计时时长,如设 200 表示 2 秒,最大可设 2.5 秒 |
| 36 | 0x24 | 过载扭矩 | 1 | 80 | 读写 | 0~254 | 1% | 启动过载保护时间计时的最大扭力阈值,如设 80 表示 80%的最大扭矩 |
| 37 | 0x25 | 速度闭环 P 比例系数 | 1 | - | 读写 | 0~254 | 无 | 电机恒速模式(模式 1)下,速度环比例系数 |
| 38 | 0x26 | 过流保护时间 | 1 | 200 | 读写 | 0~254 | 10ms | 最大可设置 254 * 10ms = 2540ms |
| 39 | 0x27 | 速度闭环 I 积分系数 | 1 | - | 读写 | 0~254 | 无 | 电机恒速模式(模式 1)下,速度环积分系数 |
1.3 SRAM 控制
| 地址 DEC | 地址 HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 40 | 0x28 | 扭矩开关 | 1 | 0 | 读写 | 0、1、128 | 无 | 写 0:关闭扭力输出;写 1:打开扭力输出;写 128:任意当前位置校正为 2048 |
| 41 | 0x29 | 加速度 | 1 | 0 | 读写 | 0~254 | 8.7 度/秒² | 舵机运行加/减速度,0 表示最大加速度 |
| 42 | 0x2A | 目标位置 | 2 | 0 | 读写 | -32767~32767 | 0.087 度 | 绝对位置控制方式,最大对应最大有效角度,BIT15 为方向位 |
| 44 | 0x2C | PWM 开环速度 | 2 | 1000 | 读写 | 0~1000 | 0.1% | PWM 开环调速度模式下生效,BIT10 为方向位 |
| 46 | 0x2E | 运行速度 | 2 | 舵机出厂默认最大速度 | 读写 | -32767~32767 | 0.732 RPM / 0.0146 RPM | 控制电机最高运行速度,BIT15 为方向位;速度 0 默认表示最高速度,可通过相位设置 0 表示停止;速度单位可通过相位设置,0.732RPM / 0.0146RPM 两种单位,速度单位设置为 0.0146RPM,其精度也是 0.732RPM。0.732RPM = 50 步/秒;0.0146 RPM = 步/秒 |
| 48 | 0x30 | 转矩限制 | 2 | 最大扭矩(16),默认 1000 | 读写 | 0~1000 | 0.1% | 用户可通过程序修改此值来控制堵转扭矩的输出 |
| 50~54 | 0x32~0x36 | 无定义 | 1 | - | 读写 | - | - | - |
| 55 | 0x37 | 锁标志 | 1 | 1 | 读写 | 0~1 | 无 | 写 0 关闭写入锁,写入 EPROM 地址的值掉电保存;写 1 打开写入锁,写入 EPROM 地址的值掉电不保存 |
1.4 SRAM 反馈
| 地址 DEC | 地址 HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 56 | 0x38 | 当前位置 | 2 | - | 只读 | - | 0.087 度 | 反馈舵机当前绝对位置,BIT15 为方向位;步进模式 3 返回当前位置与目标位置的步进差值,BIT15 为方向位 |
| 58 | 0x3A | 当前速度 | 2 | - | 只读 | - | 0.732 RPM/0.0146 RPM | 反馈当前电机转动的速度,速度单位根据相位设置,BIT15 为方向位 |
| 60 | 0x3C | 当前负载 | 2 | - | 只读 | - | 0.1% | 当前控制输出驱动电机的电压占空比,BIT10 为方向位 |
| 62 | 0x3E | 当前电压 | 1 | - | 只读 | - | 0.1V | 当前舵机工作电压 |
| 63 | 0x3F | 当前温度 | 1 | - | 只读 | - | °C | 当前舵机内部工作温度 |
| 64 | 0x40 | 异步写标志 | 1 | 0 | 只读 | - | 无 | 采用异步写指令时的标志位 |
| 65 | 0x41 | 舵机状态 | 1 | 0 | 只读 | - | 无 | 对应位被置 1 表示相应错误出现 |
| 66 | 0x42 | 移动标志 | 1 | 0 | 只读 | - | 无 | 舵机在运动时标志为 1,舵机到达目标并且停止时为 0;舵机无更新目标位置时保持为 0 |
| 67 | 0x43 | 目标位置 | 2 | 0 | 只读 | - | 0.087 度 | 当前目标位置 |
| 69 | 0x45 | 当前电流 | 2 | - | 只读 | - | 6.5 mA | 反馈当前电机相电流 |
| 71 | 0x47 | 无定义 | 2 | - | 只读 | - | - | - |
2. 特殊字节解释
2.1 舵机状态
| 字节位 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| 位权重 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 地址 65 | -- | -- | 负载状态 | -- | 电流状态 | 温度状态 | 磁编码状态 | 电压状态 |
| -- | -- | (0) 负载正常 | -- | (0) 电流正常 | (0) 温度正常 | (0) 磁编码正常 | (0) 电压正常 | |
| -- | -- | (1) 负载过载 | -- | (1) 电流过流 | (1) 温度过热 | (1) 磁编码异常 | (1) 过压/欠压 |
信息
如果同时有多种状态,舵机的状态值为各个位值之和。例如:电压过压/欠压与舵机过热,则舵机状态值为 4+1=5。
2.2 LED 报警条件
| 字节位 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| 位权重 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 地址 20 | -- | -- | 负载过载报警 | -- | 过流报警 | 过热报警 | 磁编码报警 | 电压报警 |
| -- | -- | (0) 关闭负载过载报警 | -- | (0) 关闭过流报警 | (0) 关闭过热报警 | (0) 关闭磁编码报警 | (0) 关闭电压报警 | |
| -- | -- | (1) 开启负载过载报警 | -- | (1) 开启过流报警 | (1) 开启过热报警 | (1) 开启磁编码报警 | (1) 开启电压报警 |
信息
如果同时设置多个位,舵机的 LED 报警条件值为各位值之和。例如:电压报警与过热报警同时开启,则报警条件值为 4+1=5。
2.3 卸载条件
| 字节位 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| 位权重 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 地址 19 | -- | -- | 负载过载 | -- | 过流保护 | 过热保护 | 磁编码保护 | 电压保护 |
| -- | -- | (0) 关闭负载过载 | -- | (0) 关闭过流保护 | (0) 关闭过热保护 | (0) 关闭磁编码保护 | (0) 关闭电压保护 | |
| -- | -- | (1) 开启负载过载 | -- | (1) 开启过流保护 | (1) 开启过热保护 | (1) 开启磁编码保护 | (1) 开启电压保护 |
信息
如果同时设置多个位,舵机的卸载条件值为各位值之和。例如:电压保护与过热保护同时开启,则卸载条件值为 4+1=5。
2.4 舵机相位
| 字节位 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| 位权重 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 地址 18 | 位置反馈方向相位 | PWM 频率 | 电压采样 | 角度反馈模式 | 速度模式 | 速度单位 | 驱动桥模式 | 驱动方向相位 |
| (0) 正向 | (0) 24kHz | (0) 1.5K 低压采样 | (0) 反馈单圈角度 | (0) 速度 0 表示停止 | (0) 0.732RPM | (0) 无刷,重启生效 | (0) 正向 | |
| (1) 反向 | (1) 16kHz | (1) 1K 高压采样 | (1) 反馈全角度 | (1) 速度 0 表示最高速 | (1) 0.0146RPM | (1) 有刷,重启生效 | (1) 反向 |
信息
如果同时设置多个位,舵机的相位值为各个位值之和。例如:原相位值为 0,舵机运行反向,则相位值为 128+1=129。