跳转至

磁编码 SMSMB 舵机 - 内存表解析

适用于 SMSMB 系列串行舵机,使用 MODBUS-RTU 标准协议。MODBUS 保持寄存器为 16 位,双字节字段按高字节在前传输;「地址PLC」为对应的 MODBUS 保持寄存器地址(4xxxx)。

1 舵机通信协议

舵机使用MODBUS-RTU标准协议,出厂时的串口默认配置,波特率默认为115200,数据位 8,无校验,停止位 1;波特率可配置范围9600~256Kbps,默认通信地址(站号)为 1。

完整协议帧格式与指令集见通信协议。

2 舵机内存表定义

2.1 版本信息

地址DEC 地址HEX 地址PLC 功能名称 字节数 初始值 权限 取值范围 单位 说明
0 0x0 40001 固件版本号 2 – 只读
1 0x1 40002 伺服版本号 2 – 只读
2 0x2 40003 固件发布日期(年) 2 – 只读
3 0x3 40004 固件发布日期(月) 2 – 只读

2.2 EPROM配置

地址DEC 地址HEX 地址PLC 功能名称 字节数 初始值 权限 取值范围 单位 说明
10 0x0A 40011 ID 2 1 读写 1~247 号 总线上唯一的身份识别码,同一总线不可出现重复ID,0号(0x00)为广播ID
11 0x0B 40012 波特率 2 2 读写 0~9 无 0-9分别代表波特率: 256000(0),128000(1),115200(2),57600(3),56000(4),38400(5),19200(6),14400(7),9600(8),4800(9)
12 0x0C 40013 返回延时 2 500 读写 0~500 1us 0表示最少返回延时,最大可设置返回延时500us
13 0x0D 40014 最小角度限制 2 0 读写 0~4095 0.0879度 设置运动行程最小值限制,取值小于最大角度限制,多圈绝对位置控制时此值为0
14 0x0E 40015 最大角度限制 2 4095 读写 0~4095 0.0879度 设置运动行程最大值限制,取值大于最小角度限制,多圈绝对位置控制时此值为0
15 0x0F 40016 位置校正 2 0 读写 -2047~2047 0.0879度 校正表示范围为-2047~2047,故障复位(134)写4自动计算中位(2048)校正值后存储于此地址
16 0x10 40017 运行模式 2 0 读写 0~4 无 0:伺服模式 1:恒速模式 2:预留 3:特殊模式(到目标位置自动关闭扭矩)4:步进模式
17 0x11 40018 位置闭环P 比例系数 2 – 读写 0~254 无 控制电机的比例系数
18 0x12 40019 位置闭环D 微分系数 2 – 读写 0~254 无 控制电机的微分系数
19 0x13 40020 位置闭环I 积分系数 2 0 读写 0~254 无 控制电机的积分系数
20 0x14 40021 速度闭环P 比例系数 2 – 读写 0~254 无 电机恒速模式(模式1)下,速度环比例系数
21 0x15 40022 速度闭环I 积分系数 2 – 读写 0~254 无 电机恒速模式(模式1)下,速度环积分系数

2.3 SRAM控制

地址DEC 地址HEX 地址PLC 功能名称 字节数 初始值 权限 取值范围 单位 说明
128 0x80 40129 目标位置 2 0 读写 -32768~32767 0.0879度 绝对位置控制方式,最大对应最大有效角度
129 0x81 40130 扭矩开关 2 0 读写 0~1 无 写0:关闭扭力输出;写1:打开扭力输出
130 0x82 40131 加速度 2 加速度默认值 读写 0~65535 8.79度/秒² 如设置为0则按舵机最大加速度变速,上电由“加速度默认值(405)”赋值
131 0x83 40132 运行速度 2 速度默认值 读写 0~65535 0.732RPM 上电由“速度默认值(406)”赋值
132 0x84 40133 扭矩限制 2 扭矩限制默认值 读写 0~1000 0.1% 上电初始值会由扭矩限制默认值(0x194)赋值,用户可程序修改此值来控制最大扭矩的输出,注意设置此扭矩限制值会同时影响转动速度,线性比例减小最高空载转速
133 0x85 40134 锁标志 2 1 读写 0~1/128 无 写0关闭EPROM写入锁,写入EPROM地址的值掉电保存;写1打开写入锁,写入EPROM地址的值掉电不保存;写128关闭出厂参数写入锁
134 0x86 40135 故障复位 2 0 读写 0~65535 无 对应位被置1复位相应故障,复位成功相应位被置0,详见特殊字节位解析

2.4 SRAM反馈

地址DEC 地址HEX 地址PLC 功能名称 字节数 初始值 权限 取值范围 单位 说明
256 0x100 40257 伺服状态 2 0 只读 – 无 对应位被置1表示相应错误出现,详见特殊字节位解析
257 0x101 40258 当前位置 2 0 只读 – 0.0879度 反馈当前所处位置;绝对位置控制方式,最大值对应最大有效角度
258 0x102 40259 当前速度 2 0 只读 – 0.732RPM 反馈当前电机转动的速度
259 0x103 40260 输出PWM 2 0 只读 – 0.1% 当前控制输出驱动电机的电压占空比
260 0x104 40261 当前电压 2 0 只读 – 0.1V 当前舵机工作电压
261 0x105 40262 当前温度 2 0 只读 – ℃ 当前舵机内部工作温度
262 0x106 40263 移动标志 2 0 只读 – 无 舵机在运动时标志为1,舵机到达目标并且停止时为0
263 0x107 40264 当前电流 2 0 只读 – 6.5mA 最大可测量电流为 500 * 6.5mA= 3250mA

2.5 出厂参数

地址DEC 地址HEX 地址PLC 功能名称 字节数 初始值 权限 取值范围 单位 说明
384 0x180 40385 移动检测阀值 2 – 默认 – 无 舵机出厂默认参数
385 0x181 40386 D 控制时间 2 – 默认 – 无 舵机出厂默认参数
386 0x182 40387 最大速度限制 2 – 默认 0~32767 0.732RPM 舵机出厂默认参数
387 0x183 40388 H桥死区时间 2 – 默认 舵机出厂默认参数
388 0x184 40389 加速度限制 2 – 默认 0~65535 8.79度/秒² 舵机出厂默认参数
389 0x185 40390 启动扭矩 2 – 默认 0~1000 0.1% 设置舵机的最小输出启动扭矩,设1000 = 100% * 堵转扭力
390 0x186 40391 顺时针不灵敏区 2 – 默认 0~32 0.0879度
391 0x187 40392 逆时针不灵敏区 2 – 默认 0~32 0.0879度
392 0x188 40393 相位 2 – 默认 0~255 无 特殊功能字节,无特别需求不可修改,详见特殊字节位解析
393 0x189 40394 保护开关 2 – 默认 0~255 无 对应位设置1为开启相应保护,对应位设置0为关闭相应保护,详见特殊字节位解析
394 0x18A 40395 LED报警条件 2 – 默认 0~255 无 对应位设置1为开启闪灯报警,对应位设置0为关闭闪灯报警,详见特殊字节位解析
395 0x18B 40396 最高温度上限 2 – 默认 0~100 ℃ 最高工作温度限制,如设置为70 则最高温度为70摄氏度,设置精度为1摄氏度
396 0x18C 40397 最高输入电压 2 – 默认 最低输入电压~360 0.1V 最高输入电压如设置为80,则最高工作电压限制为8.0V,设置精度为0.1V
397 0x18D 40398 最低输入电压 2 – 默认 0~最高输入电压 0.1V 最低输入电压如设置为40,则最低工作电压限制为4.0V,设置精度为0.1V
398 0x18E 40400 过载电流 2 – 默认 0~511 6.5mA 舵机工作过载保护电流
399 0x18F 40401 过流保护时间 2 – 默认 0~5000 1ms 工作电流超出过载电流的最长工作时间
400 0x190 40402 保护扭矩 2 – 默认 0~1000 0.1% 进入过载保护后输出扭矩,如设200表示20%的最大扭矩
401 0x191 40403 过载扭矩 2 – 默认 0~1000 0.1% 启动过载保护的最大扭力阀值,如设800表示80%的最大扭矩
402 0x192 40404 过载保护时间 2 – 默认 0~5000 1ms 舵机扭矩超出过载扭矩的最长工作时间
403 0x193 40405 角度分辨率 2 1 默认 1~128 无 对传感器最小分辨角度的放大系数,修改此值可以扩展控制圈数
404 0x194 40406 扭矩限制默认值 2 1000 默认 0~1000 0.1% 扭矩限制上电默认值
405 0x195 40407 加速度默认值 2 – 默认 0~65535 8.79度/秒² 加速度上电默认值
406 0x196 40408 速度默认值 2 – 默认 0~32767 0.732RPM 速度上电默认值

3 特殊字节解释

3.1 舵机相位

位数/位权重:说明

  • BIT0(1):驱动方向相位; (0)正向,(1)反向
  • BIT1(2):驱动桥模式; (0)无刷,(1)有刷,重启生效
  • BIT2(4):扭矩自动开关; (0)自动开启,(1)指令开启,固件>=20.9版本
  • BIT3(8):状态自动复位; (0)自动复位,(1)指令复位,固件>=20.9版本
  • BIT4(16):角度反馈模式; (0)反馈单圈角度,(1)反馈全角度
  • BIT5(32):----
  • BIT6(64):PWM频率,(0)24kHz,(1)16kHz
  • BIT7(128):位置反馈方向相位,(0)正向,(1)反向

提示

如果同时设置多个位,舵机的相位值为各个位值之和。例如:原相位值为0,舵机运行反向,则相位值为128+1=129;

3.2 舵机状态

舵机状态:0表示正常,1表示异常

位数/位权重:说明

  • BIT0(1):电压状态
  • BIT1(2):磁编码状态
  • BIT2(4):温度状态
  • BIT3(8):电流状态
  • BIT4(16):扭矩状态:0表示扭矩关闭,1表示扭矩打开
  • BIT5(32):负载状态

提示

如果同时有多种状态,舵机的状态值为各个位值之和。例如:电压过压/欠压与舵机过热,则舵机状态值为4+1=5;

3.3 保护开关

卸载条件:0表示关闭,1表示开启

位数/位权重:说明

  • BIT0(1):电压保护
  • BIT1(2):磁编码保护
  • BIT2(4):过热保护
  • BIT3(8):过流保护
  • BIT4(16):----
  • BIT5(32):负载过载

提示

如果同时设置多个位,舵机的卸载条件值为各位值之和。例如:电压保护与过热保护同时开启,则卸载条件值为4+1=5;

3.4 LED报警条件

LED报警条件:0表示关闭,1表示开启

位数/位权重:说明

  • BIT0(1):电压报警
  • BIT1(2):磁编码报警
  • BIT2(4):过热报警
  • BIT3(8):过流报警
  • BIT4(16):----
  • BIT5(32):负载过载报警

提示

如果同时设置多个位,舵机的LED报警条件值为各位值之和。例如:电压报警与过热报警同时开启,则报警条件值为4+1=5;

3.5 故障复位

故障复位:0无效,1表示复位

位数/位权重:说明

  • BIT0(1):复位过载故障; 自动复位开启,反向目标与关闭扭矩开关可复位故障
  • BIT1(2):复位过流故障; 自动复位开启,反向目标与关闭扭矩开关可复位故障
  • BIT2(4):中位设置,当前位置设置为2048中位
  • BIT3(8):----
  • BIT4(16):----
  • BIT5(32):复位过压/欠压,电压恢复正常,状态复位写32复位过压/欠压状态;自动复位开启,电压恢复正常自动复位
  • BIT6(64):复位过热状态,温度恢复正常,状态复位写64复位过热状态;自动复位开启,温度恢复正常自动复位
  • BIT7(128):复位磁编码状态,磁编码连接正常,状态复位写128复位磁编码状态;自动复位开启,磁编码连接正常自动复位

提示

如果同时设置多个位,复位过载故障与复位过流故障的值为各位值之和。例如:复位过载故障同时复位过流故障,则复位故障值为1+2=3;

不要跨系列套用地址

其他系列即使使用相同地址,含义也可能不同(例如 HLS 系列地址 44–45 为目标电流,而 SMSMB 系列地址 132–133 为扭矩限制)。请返回通信协议选择正确的内存表。