磁编码 HLS 舵机 - 内存表解析¶
适用于 HLS 半双工 TTL 系列串行舵机。双字节字段按低字节在前传输。
1 舵机通信协议¶
舵机使用FT-SCS自定义协议,出厂时的串口默认配置,波特率默认为1Mbps,数据位 8,无校验,停止位 1;波特率可配置范围38400~1Mbps,默认通信地址(站号)为 1。
完整协议帧格式与指令集见通信协议。
2 舵机内存表定义¶
如果功能地址采用两个字节的数据,低位字节在前地址,高位字节在后地址
2.1 版本信息¶
| 地址DEC | 地址HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值范围 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 0 | 0x00 | 固件主版本号 | 1 | 3 | 只读 | |||
| 1 | 0x01 | 固件次版本号 | 1 | – | 只读 | 40 ~ 59 | ||
| 2 | 0x02 | END | 1 | 0 | 只读 | 0表示小端存储结构 | ||
| 3 | 0x03 | 舵机主版本号 | 1 | 10 | 只读 | |||
| 4 | 0x04 | 舵机次版本号 | 1 | – | 只读 |
2.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 | 副ID | 1 | 0 | 读写 | 0~253 | 号 | 副ID标识(第二标识),副ID适用于写指令、异常写指令、异常执行指令与同步写指令;对主ID写入会同步修改副ID的参数 |
| 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 | ℃ | |
| 14 | 0x0E | 最高输入电压 | 1 | – | 读写 | 0~254 | 0.1V | |
| 15 | 0x0F | 最低输入电压 | 1 | 40 | 读写 | 0~254 | 0.1V | |
| 16 | 0x10 | 最大扭矩 | 2 | 980 | 读写 | 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 | 无 | 上电赋值给50号地址Kp |
| 22 | 0x16 | 位置环D 微分系数 | 1 | – | 读写 | 0~254 | 无 | 上电赋值给51号地址Kd |
| 23 | 0x17 | 位置环I 积分系数 | 1 | 0 | 读写 | 0~254 | 无 | 上电赋值给52号地址Ki |
| 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 | – | 读写 | 0~2047 | 6.5mA | 上电赋值给44号地址目标电流 |
| 30 | 0x1E | 角度分辨率 | 1 | 1 | 读写 | 1~128 | 无 | 对传感器最小分辨角度的放大系数 |
| 31 | 0x1F | 位置偏移 | 2 | 0 | 读写 | -4095~4095 | 0.087度 | BIT15表示正负方向,其他位可表示范围为0-4095 |
| 33 | 0x21 | 运行模式 | 1 | 0 | 读写 | 0~3 | 无 | 0:位置伺服模式(位置+限流);1:电机恒速模式(恒速+限流);2:电机恒流模式(限流,速度不可控);3:PWM开环调速度模式 |
| 34 | 0x22 | 电流环P 比例系数 | 1 | – | 读写 | 无 | ||
| 35 | 0x23 | 电流环I 积分系数 | 1 | – | 读写 | 无 | ||
| 36 | 0x24 | 无定义 | 1 | – | 读写 | – | – | – |
| 37 | 0x25 | 速度闭环P比例系数 | 1 | – | 读写 | 0~254 | 无 | 电机恒速模式(模式1)下,速度环比例系数 |
| 38 | 0x26 | 过流保护时间 | 1 | 200 | 读写 | 0~254 | 10ms | |
| 39 | 0x27 | 速度闭环I积分系数 | 1 | – | 读写 | 0~254 | 无 | 电机恒速模式(模式1)下,速度环积分系数 |
2.3 SRAM控制¶
| 地址DEC | 地址HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值范围 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 40 | 0x28 | 扭矩开关 | 1 | 0 | 读写 | 0~2 | 无 | 写0:关闭扭力输出;写1:打开扭力输出;写2:阻尼输出 |
| 41 | 0x29 | 加速度 | 1 | 0 | 读写 | 0~254 | 8.7度/秒² | 舵机运行加/减速度,0表示最大加速度 |
| 42 | 0x2A | 目标位置 | 2 | 0 | 读写 | -32767~32767 | 0.087度 | 绝对位置控制方式,最大对应最大有效角度,BIT15为方向位 |
| 44 | 0x2C | 目标电流 | 2 | 保护电流(28) | 读写 | -2047~2047 | 6.5mA | 除模式3外其它模式可修改此值来控制电机最大运行电流的输出;恒流模式(模式2)BIT15为电流方向位;PWM开环调速模式(模式3)写入范围-1000~1000,BIT10为方向位 |
| 46 | 0x2E | 运行速度 | 2 | 舵机出厂默认最大速度 | 读写 | -32767~32767 | 0.732RPM | 控制电机最高运行速度,0表示停止运行;恒速模式(1),BIT15为速度方向位 |
| 48 | 0x30 | 转矩限制 | 2 | 最大扭矩(16) | 读写 | 0~1000 | 0.1% | 用户可程序修改此值来控制堵转扭矩的输出 |
| 50 | 0x32 | Kp | 1 | 位置环P 比例系数(21)/速度闭环P比例系数(37) | 读写 | 0~254 | 无 | 位置伺服模式:控制电机位置环的比例系数(1/8);电机恒速模式:控制电机速度环的比例系数 |
| 51 | 0x33 | Kd | 1 | 位置环D 微分系数(22) | 读写 | 0~254 | 无 | 位置伺服模式:控制电机位置环的微分系数(1/4);电机恒速模式:无效 |
| 52 | 0x34 | Ki | 1 | 速度闭环I积分系数(39) | 读写 | 0~254 | 无 | 位置伺服模式:无效;电机恒速模式:控制电机速度环的积分系数 |
| 53 | 0x35 | 无定义 | 1 | – | 读写 | – | – | |
| 54 | 0x36 | 无定义 | 1 | – | 读写 | – | – | |
| 55 | 0x37 | 锁标志 | 1 | 1 | 读写 | 0~1 | 无 | 写0关闭写入锁,写入EPROM地址的值掉电保存;写1打开写入锁,写入EPROM地址的值掉电不保存 |
2.4 SRAM反馈¶
| 地址DEC | 地址HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值范围 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 56 | 0x38 | 当前位置 | 2 | – | 只读 | – | 0.087度 | 反馈舵机当前绝对位置,BIT15为方向位 |
| 58 | 0x3A | 当前速度 | 2 | – | 只读 | – | 0.732RPM | 反馈当前电机转动的速度,BIT15为方向位 |
| 60 | 0x3C | 当前负载 | 2 | – | 只读 | – | 0.1% | 当前控制输出驱动电机的电压占空比,BIT10为方向位 |
| 62 | 0x3E | 当前电压 | 1 | – | 只读 | – | 0.1V | 当前舵机工作电压 |
| 63 | 0x3F | 当前温度 | 1 | – | 只读 | – | ℃ | 当前舵机内部工作温度 |
| 64 | 0x40 | 异步写标志 | 1 | 0 | 只读 | – | 无 | 采用异步写指令时,标志位 |
| 65 | 0x41 | 舵机状态 | 1 | 0 | 只读 | – | 无 | 对应位被置1表示相应错误出现,详细查阅特殊字节解释 |
| 66 | 0x42 | 移动标志 | 1 | 0 | 只读 | – | 无 | BIT0:舵机在运动时标志为1(大于移动速度阀值),舵机停止时为0;BIT1:舵机在运动时标志为1,舵机到达目标并且停止时为0,舵机无更新目标位置保持为0 |
| 67 | 0x43 | 目标位置 | 2 | – | 只读 | – | 0.087度 | 当前目标位置 |
| 69 | 0x45 | 当前电流 | 2 | – | 只读 | – | 6.5mA | 反馈当前电机相电流,BIT15为电流方向位 |
| 71 | 0x47 | 无定义 | 2 | – | 只读 | – | – | |
| 73 | 0x49 | 电流偏置 | 2 | – | 只读 | – | – | 电流0点偏移值 |
2.5 出厂参数¶
| 地址DEC | 地址HEX | 功能名称 | 字节数 | 初始值 | 权限 | 取值范围 | 单位 | 说明 |
|---|---|---|---|---|---|---|---|---|
| 77 | 0x4D | vFk(*10) | 1 | – | 只读 | – | – | – |
| 78 | 0x4E | vKgI | 1 | – | 只读 | – | – | – |
| 79 | 0x4F | pFk(*10) | 1 | – | 只读 | – | – | – |
| 80 | 0x50 | 移动速度阀值 | 1 | – | 只读 | – | – | – |
| 81 | 0x51 | DTs(ms) | 1 | – | 只读 | – | – | – |
| 82 | 0x52 | eFk(*10) | 1 | – | 只读 | – | – | – |
| 83 | 0x53 | Vk(ms) | 1 | – | 只读 | – | – | – |
| 84 | 0x54 | 最大速度限制 | 1 | – | 只读 | – | – | – |
| 85 | 0x55 | 加速度限制 | 1 | – | 只读 | – | – | – |
| 86 | 0x56 | 加速度倍数 | 1 | – | 只读 | – | – | – |
3 特殊字节解释¶
3.1 舵机相位¶
位数/位权重:说明
- BIT0(1):伺服相位(固件版本<=3.41),磁编码支持(0:AS5600,1:MT6701,固件版本>=3.44)
- BIT1(2):电流反馈方向相位;(0)正向,(1)反向
- BIT2(4):驱动桥方向相位;(0)正向,(1)反向
- BIT3(8):速度方向相位(固件版本<=3.41)
- BIT4(16):角度反馈模式;(0)反馈单圈角度,(1)反馈全角度
- BIT5(32):驱动桥配置,(0)独立H桥,(1)集成H桥
- BIT6(64):PWM频率,(0)24kHz,(1)16kHz
- BIT7(128):位置反馈方向相位,(0)正向,(1)反向
提示
如果同时设置多个位,舵机的相位值为各个位值之和。例如:原相位值为0,舵机运行反向,则相位值为128+4+2=134;
3.2 舵机状态¶
舵机状态:0表示正常,1表示异常
位数/位权重:说明
- BIT0(1):电压状态
- BIT1(2):磁编码状态
- BIT2(4):温度状态
- BIT3(8):电流状态
- BIT4(16):-----
- BIT5(32):-----
- BIT6(64):-----
- BIT7(128):-----
提示
如果同时有多种状态,舵机的状态值为各个位值之和。例如:电压过压/欠压与舵机过热,则舵机状态值为4+1=5;
3.3 卸载条件¶
卸载条件:0表示关闭,1表示开启
位数/位权重:说明
- BIT0(1):电压保护
- BIT1(2):磁编码保护
- BIT2(4):过热保护
- BIT3(8):过流保护
- BIT4(16):-----
- BIT5(32):-----
- BIT6(64):-----
- BIT7(128):-----
提示
如果同时设置多个位,舵机的卸载条件值为各位值之和。例如:电压保护与过热保护同时开启,则卸载条件值为4+1=5;
3.4 LED报警条件¶
报警条件:0表示关闭,1表示开启
位数/位权重:说明
- BIT0(1):电压报警
- BIT1(2):磁编码报警
- BIT2(4):过热报警
- BIT3(8):过流报警
- BIT4(16):-----
- BIT5(32):-----
- BIT6(64):-----
- BIT7(128):-----
提示
如果同时设置多个位,舵机的报警条件值为各位值之和。例如:电压报警与过热报警同时开启,则卸载条件值为4+1=5;
不要跨系列套用地址
其他系列即使使用相同地址,含义也可能不同(例如 SMS 系列地址 44–45 为 PWM 开环速度,而非本表的目标电流)。请返回通信协议选择正确的内存表。