跳转至

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

适用于 UAVCAN(CAN 总线)磁编码舵机。寄存器数据为 16 位,按大端格式(高字节在前)传输。

1 通信协议

舵机使用UAVCAN通讯协议,出厂CAN默认波特率为1M,波特率可配置范围 20K~1M,通信地址,CAN波特率、通信站点地址可通过上位机软件进行设置。

2 UAVCAN指令实例

UAVCAN通讯协议

以下指令为CAN2.0B标准,电机NODE_ID默认为100(0x64)

单电机位置指令:1807DB01(帧ID):00 64 05 D5(数据)
等级:18
帧类型:07DB(2011)
帧源ID:01
帧数据:00 64 05,电机通道(00),位置数据(0564)
帧尾:D5

多电机位置指令:
1807DC01(帧ID):8E 82 64 05 00 00 00 97(数据)
1807DC01(帧ID):00 00 00 00 00 00 00 37(数据)
1807DC01(帧ID):00 00 00 00 00 00 00 17(数据)
1807DC01(帧ID):00 00 00 00 00 00 00 37(数据)
1807DC01(帧ID):00 00 00 00 00 00 00 17(数据)
1807DC01(帧ID):00 00 00 77(数据)
等级:18
帧类型:07DC(2012)
帧源ID:01
CRC校验码:8E 82
帧数据:
64 05 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00 00 00 00 00
00 00 00
(cmd[0]=0564,cmd[1]=0000,cmd[2]=0000......cmd[17]=0000)
帧尾:
97/37/17/37/17/77

自动动上报反馈指令:
1807DD64(帧ID):A1 04 00 CC 0C CD 0C 80(数据)
1807DD64(帧ID):45 00 00 00 2A 00 00 60(数据)
等级:18
帧类型:07DD(2013)
帧源ID:64
CRC校验码:A1 04
帧数据:
00 CC 0C CD 0C
45 00 00 00 2A 00 00
(Servo_ID:00,POS_CMD:0CCC,POS_SENSOR:0CCD,VOLTAGE:0045,CURRENT:0000,PCB_Temp:2A,MOTOR_Temp:00,StatusInfo:00)
帧尾:80/60

节点状态指令:18015564(帧ID):50 03 00 00 00 00 00 D0(数据)
等级:18
帧类型:0155(341)
帧源ID:64
帧数据:50 03 00 00 00 00 00
(uptime_sec:00000350,health:0,mode:0,sub_mode:0,vendor_specific_status_code:0)
帧尾:D0

扭矩控制指令:1803FC01 (帧ID):00 00 D6(数据)
等级:18
帧类型:03FC(1020)
帧源ID:01
帧数据:00 00 D6,电机通道(00),扭矩指令(00,00表示关闭扭矩)
帧尾:D6

读硬件版本号指令:
请求:18FAE481(帧ID):00 00 02 C0(数据)
响应:18FA0164(帧ID):00 02 4E 28 07 D1 C0(数据)
请求帧等级:18
请求帧类型:FA(250)
请求帧源ID:01
请求帧目标ID:64
请求帧数据:00 01 02 C0(参数地址:0001,参数长度:02)
请求帧尾:C0
响应帧等级:18
响应响应帧类型:FA(250)
响应帧源ID:64
响应帧目标ID:01
响应帧数据:00 02 4E 28 07 D1(读取状态:00,参数长度:02,参数数据0:4E28,参数数据1:07D1)
响应帧尾:C0

3 舵机内存表定义

寄存器地址使用分页结构,每页为64个寄存器,寄存器地址由页码与序号组成,如页码1,序号2的寄存器地址为1*64+2=66。可通过MODBUS-RTU与UAVCAN协议访问寄存器表中的所有寄存器

3.1 版本信息

存储区:SRAM,权限:只读,读写条件:无

页码 序号 功能 取值范围 默认值 取值解释
0 0 产品型号高位 20008
0 1 产品型号低位 2001
0 2 固件版本高位 2050
0 3 固件版本低位 513xx xx=00~99
0 4 字节顺序 1 大端格式
0 5 SN1 0
0 6 SN2 0
0 7 SN3 0
0 8 SN4 0

3.2 控制参数

存储区:SRAM,权限:读写,读写条件:无

页码 序号 功能 取值范围 默认值 取值解释
1 0 预留地址 0
1 1 预留地址 0
1 2 目标位置高位 0~65535 0 1=0.02197度, -8192~8192(输出轴-180度 ~ 180度)
1 3 目标位置低位 0~65535 0 1=0.02197度, -8192~8192(输出轴-180度 ~ 180度)
1 4 运行加速度 0~2000 默认加速度 输出轴加速度, 1=2.1972度/秒²,0表示最大默认值
1 5 运行速度 -600~600 默认运行速度 输出轴速度, 1=0.1831rpm, 0表示停止
1 6 运行电流 -625~625 默认运行电流 运行电源电流, 1=6.5mA
1 7 扭矩限制 0~4800 默认扭矩限制 默认值为4800
1 8 状态复位 0~65535 0 详细查阅“状态复位”相关位说明
1 9 扭矩开关 0~1 0 0关闭扭矩,1打开扭矩,伺服模式0下UAVCAN指令自动打开扭矩
1 10 读写锁标志 0~11 0 EPROM参数区写入解锁标志位,解锁值为相应页码值
1 11 读写锁密码 -32768~32767 0
1 12 CAN功能开关位 0~7 CAN功能开关位默认 详细查阅“CAN功能开关位”相关位说明

状态复位:0无效,1复位相应故障

位数/位权重:说明

  • BIT10(1024):复位圈数
  • BIT15(32768):零位校准

要复位那个故障就在相对应的位置设置1,之后把它转换成数值,把这个值写到相对于的地址上,例如:要把过热过流故障恢复,对应的位置写入1,得出二进制字样“0000 0000 0000 1100”,转为16进制的值:000C,用命令把这个值写入状态复位(1-8)地址中。

CAN功能开关位:0无效,1有效

位数/位权重:说明

  • BIT0:节点状态指令自动上报总开关位
  • BIT1:----
  • BIT2:反馈指令自动上报开关位

3.3 状态参数

存储区:SRAM,权限:只读,读写条件:无

页码 序号 功能 取值范围 默认值 取值解释
2 0 预留地址 --
2 1 预留地址 --
2 2 当前位置高位 0~65535 -- 单位与目标位置相同
2 3 当前位置低位 0~65535 -- 单位与目标位置相同
2 4 舵机单圈位置 -32768~32767 -- 1=360/16384=0.02197°
2 5 预留地址
2 6 当前舵机速度 -32768~32767 -- 1=0.1831rpm
2 7 预留地址 0
2 8 当前母线电流 -2048~2047 -- 单位与运行电流相同
2 9 当前电压 0~400 -- 1=0.1V
2 10 当前MOS温度 0~100 -- 1=1摄氏度
2 11 当前负载 0~5000 -- 舵机驱动PWM占空比,单位1=0.02%
2 12 舵机状态 0~65535 -- 详细查阅“舵机状态”相关位说明
2 13 预留地址 --
2 14 当前电机温度 0~100 -- 1=1摄氏度
2 15~21 预留地址 --
2 22 输入信号脉宽us -- 单位微秒
2 23 输入信号周期us -- 单位微秒
2 24 编码器状态码 -- BIT0~1(0:正常、1磁场太强、2磁场太弱),BIT2:按钮被按压,BIT3:转速过快
2 25 编码器出错计数 -- 输出轴编码器通信出错次数计数

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

位数/位权重:说明

  • BIT0(1):过压,电压正常自动恢复
  • BIT1(2):欠压,电压正常自动恢复
  • BIT2(4):驱动器MOS过热,温度正常自动恢复
  • BIT3(8):过流,驱动器检测输出扭矩小于安全扭矩自动恢复
  • BIT5(64):磁编码出错,磁编码正常自动恢复
  • BIT7(128):扭矩状态,0表示扭矩关闭,1表示扭矩打开
  • BIT8(256):移动状态,0表示停止,1表示移动
  • BIT9(512):目标超范围,接收正常目标位置自动恢复
  • BIT12(4096):到达目标状态,0表示到达目标
  • BIT13(8192):电机MOS过热,温度正常自动恢复
  • BIT14(32768):阻尼状态,1表示进入阻尼状态

如果同时有多种状态的话,电机的状态值为各状态值之和。例如:扭矩打开并且过压,则状态值为128+1=129;

3.4 通信参数

存储区:EPROM,权限:读写,读写条件:扭矩开关=0&&读写锁标志=3

页码 序号 功能 取值范围 默认值 取值解释
3 0 串口主ID 1~247 1 总线上唯一的身份识别码,同一总线不可出现重复ID,0为广播ID
3 1 预留地址 0
3 2 串口波特率 2~10 4 2-10分别代表波特率: 256000(2),128000(3),115200(4),57600(5),38400(6),19200(7),14400(8),9600(9),4800(10)
3 3 预留地址 0
3 4 预留地址 0
3 5 串口返回延时 0~1000 500 单位为毫秒
3 6 预留地址 0
3 7 CAN通信超时 0~1000 100 单位为毫秒
3 8 CAN波特率 0~9 8 0-9分别代表波特率: 10K(0),20K(1),50K(2),100K(3),125K(4),250K(5),500K(6),800K(7),1M(8),83.3K(9)
3 9 CAN驱动端ID 1~125 100 用于识别舵机的唯一NODE-ID
3 10 CAN控制端ID 1~125 1 控制端NODE-ID,控制器的NODE-ID需要与此寄存器值一致否则舵机无法接收控制端指令
3 11 预留地址 0 0
3 12 主动上报频率 0~32767 100 单位为毫秒,反馈主动上报指令时间间隔,0表示停止上报
3 13~17 预留地址 0
3 18 CAN心跳包频率 0~32767 1000 单位为毫秒,状态主动上报指令时间间隔,0表示停止上报
3 19 预留地址 0 0
3 20 CAN通道ID 0~17 0 UAVCAN位置指令通道ID

3.5 配置参数

存储区:EPROM,权限:读写,读写条件:扭矩开关=0&&读写锁标志=4

页码 序号 功能 取值范围 默认值 取值解释
4 0 运行模式 0~5 0 0伺服模式,1恒速模式,2恒流模式,3RCPWM伺服模式(重启生效),4预留,5电机模式,6RCPWM恒速模式(重启生效)
4 1 默认运行速度 0~32767 -- 单位与运行速度相同
4 2 默认运行加速度 0~32767 -- 单位与运行加速度相同,0表示加速度参数无效
4 3 默认运行最大电流 0~4095 -- 单位与运行电流相同
4 4 默认输出最大扭矩 0~4800 4800 单位与输出最大扭矩相同
4 5 预留地址 0
4 6 预留地址 0
4 7 正方向位置死区 0~128 2 单位与目标位置相同
4 8 负方向位置死区 0~128 2 单位与目标位置相同
4 9 最小角度限制 -8192~0 0 单位与目标位置相同,最小角度限制=最大角度限制表示角度无限制,RCPWM模式无效
4 10 最大角度限制 0~8191 0 单位与目标位置相同,最小角度限制=最大角度限制表示角度无限制,RCPWM模式无效
4 11 输出轴位置偏移 -32768~32767 0 单位与目标位置相同
4 12 预留地址
4 13 CAN功能开关位默认 0~7 5 详细查阅“CAN功能开关位”相关位说明
4 14 配置相位 0~32768 0 预留地址

3.6 RCPWM参数

存储区:EPROM,权限:读写,读写条件:扭矩开关=0&&读写锁标志=4

页码 序号 功能 取值范围 默认值 取值解释
5 0 最小输入信号脉宽 500~2500 500 单位微秒
5 1 最大输入信号脉宽 500~2500 2500 单位微秒
5 2 正方向信号脉宽 0~1000 1000 单位微秒
5 3 负方向信号脉宽 0~1000 1000 单位微秒
5 4 信号最小角度 -8192~0 -8192 单位与目标位置相同,PWM信号脉宽角度映射,UAVCAN位置指令0~1000角度映射
5 5 信号最大角度 0~8191 8191 单位与目标位置相同,PWM信号脉宽角度映射,UAVCAN位置指令0~1000角度映射
5 6 信号分辨率 1~16 2 单位微秒
5 7 信号微调 -128~128 0 单位微秒
5 8 失控保护 0~2 0 0丢信号无扭矩,1丢信号回失控保护位置,2丢信号保持当前位置
5 9 失控保护位置 -32768~32767 0 单位与目标位置相同
5 10 信号死区 0~128 50 RCPWM调速模式下的RCPWM信号死区
5 11 预留地址 0
5 12 预留地址 0
5 13 信号调制系数 0~512 15 信号调制功能开启,此参数生效,权重越大调节响应越快
5 14 信号相位 0~65535 0 详细查阅“信号相位”相关位说明

信号相位:0表示关,1表示开

位数/位权重:说明

  • BIT0(1):----
  • BIT1(2):----
  • BIT2(4):RCPWM恒速模式下,信号与转向相位,0表示正方向,1表示反方向
  • BIT3(8):RCPWM伺服模式下,信号与目标位置相位,0表示正方向,1表示反方向
  • BIT4(16):RCPWM信号调制功能位,固件版本>=2050.51303有效;0表示关闭,1表示开启(开启后通过信号调制系数参数调节权重);对于快速响应需关闭此位

3.7 保护参数

存储区:EPROM,权限:读写,读写条件:扭矩开关=0&&读写锁标志=7

页码 序号 功能 取值范围 默认值 取值解释
7 0 扭矩关闭条件 0~65535 7 详细查阅“LED报警条件/扭矩关闭条件”相关位说明
7 1 LED报警条件 0~65535 12295 详细查阅“LED报警条件/扭矩关闭条件”相关位说明
7 2 MOS最高温度上限 0~100 70 1=1摄氏度
7 3 MOS保护温度差 0~10 2 1=1摄氏度,过热报警恢复温度=MOS最高温度上限-MOS保护温度差
7 4 MOS过热保护时间 0~32767 50 时间单位毫秒
7 5 最低输入电压 0~400 80 1=0.1V
7 6 最高输入电压 0~400 280 1=0.1V
7 7 保护电压差 0~20 5 欠压报警恢复电压=最低电压+保护电压差,过压报警恢复电压=最高电压-保护电压差
7 8 欠压保护时间 0~32767 100 时间单位毫秒
7 9 过压保护时间 0~32767 1000 时间单位毫秒
7 10~12 预留地址 0 0
7 13 保护电流 0~4095 1000 单位同运行电流
7 14 过流保护时间 0~32767 1000 时间单位毫秒
7 15 安全扭矩 0~4095 0 进入过流保护后最大扭矩输出值,当舵机输出扭矩小于此值退出过流保护
7 16~18 预留地址
7 19 电机最高温度上限 0~100 0 1=1摄氏度,0表示关闭温度传感器输入
7 20 电机温度差 0~10 2 1=1摄氏度,过热报警恢复温度=电机最高温度上限-电机保护温度差
7 21 电机过热保护时间 0~32768 50 时间单位毫秒

LED报警条件/扭矩关闭条件:0表示关闭,1表示打开

位数/位权重:说明

  • BIT0(1):过压报警/过压保护
  • BIT1(2):欠压报警/欠压保护
  • BIT2(4):MOS过热报警/MOS过热保护,电机过热报警/电机过热保护
  • BIT3(8):过流报警/过流保护
  • BIT6(64):末端磁编码出错报警/末端磁编码出错保护

3.8 PID参数

存储区:EPROM,权限:读写,读写条件:扭矩开关=0&&读写锁标志=8

页码 序号 功能 取值范围 默认值 取值解释
8 0 位置环P 0~1000 48
8 1 位置环D 0~1000 32
8 2 位置环I 0~1000 0
8 3 位置环 积分限制 0~5000 0 0表示无限制
8 4 预留地址 0
8 5 速度环P 0~1000 20
8 6 速度环I 0~1000 20
8 7 预留地址 0
8 8 电流环P 0~1000 0 预留地址
8 9 电流环I 0~1000 1

不要跨系列套用地址

本表采用「页码×64+序号」的分页地址结构,与 FT-SCS 系列(SMS/STS/HLS/SCSCL)的线性地址完全不同,不可跨系列套用。请返回通信协议选择正确的内存表。