SC 舵机-内存表解析
1. 舵机内存表定义
如果功能地址采用两个字节数的数据,高位字节在前面地址,低位字节在后面地址。
1.1 版本信息
| 地址 DEC | 地址 HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 0 | 0x00 | 固件主版本号 | 1 | - | 只读 | - | - | - |
| 1 | 0x01 | 固件次版本号 | 1 | - | 只读 | - | - | - |
| 2 | 0x02 | END | 1 | 1 | 只读 | - | - | 1 表示大端存储结构 |
| 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 | - | 读写 | - | - | - |
| 8 | 0x08 | 应答状态级别 | 1 | 1 | 读写 | 0~1 | 无 | 0:除读指令与 PING 指令外其它指令不返回应答包;1:对所有指令返回应答包 |
| 9 | 0x09 | 最小角度限制 | 2 | 20 | 读写 | 0~1023 | 步 | 设置最小运行角度限制,取值小于最大角度限制,最小角度限制=最大角度限制=0 进入电机模式 |
| 11 | 0x0B | 最大角度限制 | 2 | 1003 | 读写 | 1~1023 | 步 | 设置最大运行角度限制,取值大于最小角度限制,最小角度限制=最大角度限制=0 进入电机模式 |
| 13 | 0x0D | 最高温度上限 | 1 | 70 | 读写 | 0~100 | °C | - |
| 14 | 0x0E | 最高输入电压 | 1 | - | 读写 | 0~254 | 0.1V | 最高输入电压=最低输入电压=0,表示关闭电压反馈 |
| 15 | 0x0F | 最低输入电压 | 1 | 40 | 读写 | 0~254 | 0.1V | 最高输入电压=最低输入电压=0,表示关闭电压反馈 |
| 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 | 无 | 控制电机的比例系数 |
| 22 | 0x16 | 位置环 D 微分系数 | 1 | - | 读写 | 0~254 | 无 | 控制电机的微分系数 |
| 23 | 0x17 | 无定义 | 1 | - | 读写 | - | - | - |
| 24 | 0x18 | 最小启动力 | 2 | - | 读写 | 0~1000 | 0.1% | 设置舵机的最小输出启动扭矩 |
| 26 | 0x1A | 正向不灵敏区 | 1 | 1 | 读写 | 0~16 | 步 | 最小单位为一个最小分辨角度 |
| 27 | 0x1B | 负向不灵敏区 | 1 | 1 | 读写 | 0~16 | 步 | 最小单位为一个最小分辨角度 |
| 28 ~ 36 | 0x1C ~ 0x24 | 无定义 | 1 | - | 读写 | - | - | - |
| 37 | 0x25 | 保持扭矩 | 1 | 20 | 读写 | 0~254 | 1% | 进入过载保护后输出扭矩,如设 20 表示 20% 的最大扭矩 |
| 38 | 0x26 | 保护时间 | 1 | 200 | 读写 | 0~254 | 10ms | 当前负载输出超过过载扭力并保持的计时时长,如设 200 表示 2 秒,最大可设 2.5 秒 |
| 39 | 0x27 | 过载扭矩 | 1 | 80 | 读写 | 0~254 | 1% | 启动过载保护时间计时的最大扭力阈值,如设 80 表示 80%的最大扭矩 |
1.3 SRAM 控制
| 地址 DEC | 地址 HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 40 | 0x28 | 扭矩开关 | 1 | 0 | 读写 | 0~2 | 无 | 写 0:关闭扭力输出/自由状态;写 1:打开扭力输出;写 2:阻尼状态 |
| 41 | 0x29 | 无定义 | 1 | - | 读写 | - | - | - |
| 42 | 0x2A | 目标位置 | 2 | 0 | 读写 | 0~1023 | 步 | 每步为一个最小分辨角度,绝对位置控制方式,最大对应最大有效角度 |
| 44 | 0x2C | 运行时间 | 2 | 0 | 读写 | 0~9999 / -1000~1000 | 1ms/0.1% | 从当前位置到目标位置的运动时间,当运行速度为 0 时此参数生效;舵机处于电机模式运行时间设置电机输出 PWM 占空比,BIT10 为方向位 |
| 46 | 0x2E | 运行速度 | 2 | 舵机出厂默认最大速度 | 读写 | 0~1000 | 步/s | 单位时间(每秒)内运动的步数 |
| 48 | 0x30 | 锁标志 | 1 | 1 | 读写 | 0~1 | 无 | 写 0 关闭写入锁,写入 EPROM 地址的值掉电保存;写 1 打开写入锁,写入 EPROM 地址的值掉电不保存 |
| 49~55 | 0x31~0x37 | 无定义 | 1 | - | - | - | - | - |
1.4 SRAM 反馈
| 地址 DEC | 地址 HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 56 | 0x38 | 当前位置 | 2 | - | 只读 | - | 步 | 反馈当前所处位置的步数,每步为一个最小分辨角度,绝对位置控制方式,最大值对应最大有效角度 |
| 58 | 0x3A | 当前速度 | 2 | - | 只读 | - | 步/s | 反馈当前电机转动的速度,单位时间(每秒)内运动的步数 |
| 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 |
2. 特殊字节解释
2.1 舵机状态
| 字节位 | BIT7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 |
|---|---|---|---|---|---|---|---|---|
| 位权重 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
| 地址 65 | -- | -- | 负载状态 | -- | -- | 温度状态 | -- | 电压状态 |
| -- | -- | (0) 负载正常 | -- | -- | (0) 温度正常 | -- | (0) 电压正常 | |
| -- | -- | (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) 关闭电压报警 | |
| -- | -- | (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) 关闭电压保护 | |
| -- | -- | (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) 1.5K 低压采样 | (0) 同相 | -- | (0) 速度 0 表示停止 | -- | -- | (0) 正向 | |
| -- | (1) 1K 高压采样 | (1) 反相 | -- | (1) 速度 0 表示最高速 | -- | -- | (1) 反向 |
信息
如果同时设置多个位,舵机的相位值为各个位值之和。