Skip to content

内存控制表

1. 控制表详细说明

模块本身的信息和控制参数形成了一张一维控制表,在控制芯片的RAM和Flash中各保存一份。

在系统上电时,控制芯片从Flash读取控制表到RAM中,在模块运行过程中用户对RAM中的控制表进行读写操作,获取模块状态或对模块进行控制。

若用户对表中的“保存数据到Flash标志”写1,则控制芯片将当前RAM表的内容复制到Flash中,实现断电保存。 控制表内容如下:

地址名称命令项权限初始值
0x00保留保留--0x1314
0x01SYS_ID驱动器ID--1
0x02SYS_MODEL_TYPE驱动器型号,具体请参考驱动器型号定义R--
0x03SYS_FW_VERSION固件版本,如0x0102表示版本号1.2R--
0x04SYS_ERROR错误代码R--
0x05SYS_VOLTAGE系统电压(0.01V)R--
0x06SYS_TEMP系统温度(0.1℃)R--
0x07SYS_REDU_RATIO模块减速比R与程序编译一致80/100
0x08~0x09保留保留----
0x0ASYS_ENABLE_DRIVER驱动器使能标志,1:使能,0:未使能。(禁使能后需要等待5ms再下发指令)R/W0
0x0BSYS_ENABLE_ON_POWER上电使能驱动器标志,1:使能,0:不使能。R/W1
0x0CSYS_SAVE_TO_FLASH保存数据到Flash标志,1:保存,0:不保存。在掉使能的状态下保存。(发送保存Flash后需要等待50ms再下发指令)R/W0
0x0D保留保留----
0x0ESYS_SET_ZERO_POS将当前位置设置为零点标志,1:设置,0:不设置。R/W0
0x0FSYS_CLEAR_ERROR清除错误标志,1:清除,0:不清除。R/W0
0x10CUR_CURRENT_L当前电流低16位(mA)R0
0x11CUR_CURRENT_H当前电流高16位(mA)R--
0x12CUR_SPEED_L关节当前速度低16位 (RPM,分辨率0.02RPM)R--
0x13CUR_SPEED_H关节当前速度高16位 (RPM,分辨率0.02RPM)R--
0x14CUR_POSITION_L当前位置低16位(units),精度0.0001°R--
0x15CUR_POSITION_H当前位置高16位(units),精度0.0001°R--
0x16~ 0x1E保留保留----
0x1FON_DELAY0使能关节上电延迟,1关节上电无延迟R/W0
0x20~0X29保留保留----
0X2AMOT_MODEL_ID0模块全球唯一ID:15:0R--
0X2BMOT_MODEL_ID1模块全球唯一ID:31:16R--
0X2CMOT_MODEL_ID2模块全球唯一ID:47:32R--
0X2DMOT_MODEL_ID3模块全球唯一ID:63:48R--
0X2EMOT_MODEL_ID4模块全球唯一ID:79:64R--
0X2FMOT_MODEL_ID5模块全球唯一ID:95:80R--
0x30TAG_WORK_MODE工作模式:0-开环,1-电流模式,2-速度模式,3-位置模式R/W3
0x31TAG_OPEN_PWM开环模式下占空比(0~100)R/W0
0x32TAG_CURRENT_L目标电流低16位(mA)R/W0
0x33TAG_CURRENT_H目标电流高16位(mA)R/W0
0x34TAG_SPEED_L关节目标速度低16位 (RPM,分辨率0.002RPM)R/W0
0x35TAG_SPEED_H关节目标速度高16位 (RPM,分辨率0.002RPM)R/W0
0x36TAG_POSITION_L目标位置低16位(units),精度0.0001°R/W0
0x37TAG_POSITION_H目标位置高16位(units),精度0.0001°R/W0
0X38保留保留----
0X39Speed feed forward switch存储的数值是位置环跟随系数,有效值0到100,默认值0R/W0
0x3A~ 0x3F保留保留----
0x40LIT_MAX_CURRENT最大电流(mA)(预留)R/W--
0x41LIT_MAX_SPEED关节最大速度(RPM,分辨率1/减速比RPM)R/W3000
0x42LIT_MAX_ACC关节最大加速度(0.1rpm/s)R/W5000
0x43LIT_MAX_DEC关节最大减速度(0.1rpm/s)(预留)R/W--
0x44LIT_MIN_POSITION_L最小位置低16位(units),精度0.0001°R/W--
0x45LIT_MIN_POSITION_H最小位置高16位(units),精度0.0001°R/W--
0x46LIT_MAX_POSITION_L最大位置低16位(units),精度0.0001°R/W--
0x47LIT_MAX_POSITION_H最大位置高16位(units),精度0.0001°R/W--
0X48保留保留----
0X49IAP_FLAGIAP在线更新标志位:0-不更新,1-更新R/W0
0x4A~0x50保留保留----
0x51SEV_CURRENT_P电流环P参数R/W--
0x52SEV_CURRENT_I电流环I参数R/W--
0x53SEV_CURRENT_D电流环D参数R/W--
0x54SEV_SPEED_P速度环P参数R/W--
0x55SEV_SPEED_I速度环I参数R/W--
0x56SEV_SPEED_D速度环D参数R/W--
0x57SEV_SPEED_DS速度P死区R/W--
0x58SEV_POSITION_P位置环P参数R/W--
0x59SEV_POSITION_I位置环I参数R/W--
0x5ASEV_POSITION_D位置环D参数R/W--
0x5BSEV_POSITION_DS位置P死区R/W--
0x5CSEV_POS_SMOOTH位置环平滑系数R/W系数越大跟随效果越好
0x5DSEV_SPD_FF速度前馈系数R/W系数越大跟随效果越好
0x5E~0X68保留保留----
0x69LOW_POWER_MODE低功耗模式R/W--
0X6A~0X77保留保留----
0x78ERROR错误代码R0
0x79END_BOARD_MODE末端板模式R/W0
0x7A~0x91保留保留----

注意

  1. ID设置成功后需要给关节断电重启,模块将以新ID进行通讯。
  2. 三闭环参数出厂时已经按照最优状态调整好,如非必要无需再调整。

2. 控制表补充说明

2.1 标志说明

共有6个标志类变量,其值只能为1或者0,其他值无效。

具体说明如下表:

地址定义说明
0x0a驱动器使能标志写1使能驱动器,写0禁能驱动器并打开锁相继电器。
0x0b上电使能驱动器标志1代表上电即使能驱动器并工作在指定模式,0代表上电不使能。
0x0c保存数据到Flash标志写入1后芯片将当前RAM中的控制表写入Flash中,系统自动清零。
0x0d自动标定绝对位置标志写入1后驱动器将根据编码器的值标定绝对位置传感器(数字电位器),并将标定后的数据保存到Flash中,必须确保模块当前不带任何负载,并且能够稳定工作在位置伺服模式并且出于使能状态,否则将带来不可预测的后果。系统自动清零。
0x0e将当前位置设置为零点标志写1后将当前的位置保存为零点位置,并立即起作用,数据保存到Flash中后下次上电后将使用保存的位置作为零点位置。系统自动清零。
0x0f清除错误标志写1尝试清除当前错误。自动清零。

2.2 相关单位说明

10关节与30关节,目标电流和反馈的实际电流,单位为1mA;
60关节,目标电流和反馈的实际电流,单位为2mA;
所有关节的电流前馈,单位为2mA;
目标速度,对象是关节输出端,单位为0.002RPM;
实际速度,对象是关节输出端,单位为0.02RPM;
前馈速度,对象是关节输出端,单位为0.002RPM;
目标位置和反馈的实际位置,对象是关节输出端,单位为0.0001度;
电压单位0.01V;
系统温度单位0.1℃。

2.3 工作模式说明

模块共有四种工作模式:开环模式、电流模式、速度模式和位置模式。 四种模式的切换通过改变控制表中的TAG_WORK_MODE字段(0x30)实现切换。

  1. 开环模式直接控制驱动器输出到电机的占空比,容易发生危险,不建议使用。
  2. 电流模式控制电机输出的目标电流(力矩)。
  3. 速度模式控制电机输出转速,除非模块能够实现整周转动,否则不建议使用。
  4. 位置模块控制电机伺服位置。

0x3*字段中的目标占空比、电流、速度和位置只有在模块处于相应工作模式下才起作用。 0x40~0x46字段中的最大电流、最大速度和最大加/减速度对电流、速度和位置模式均有效,最小和最大位置只有工作在位置伺服模式有效,其指定了位置伺服的目标值不能够设定在该范围以外。

若设定的目标位置小于最小值或大于最大值,则模块将只运动到最小值或最大值处。若驱动器使能时模块已经处于范围之外,则将自动运动到最小/最大值处。

2.4 驱动器型号定义

驱动器型号的内存控制表地址0x02对应的关节型号说明如下:

关节类型字符定义内存向量表定义
关节10J140x02
关节30J170x03
关节60J200x04
关节120J250x05
夹爪GRIPPER0x06
关节03J30x07

3. 错误代码

错误代码16位数据每一位代表一种错误,当相应错误产生时,相应位将置1,出现不可恢复的错误后,模块将自动进入驱动禁能状态,用户需要往“清除错误标志”字段(0x0f)写1来清除错误。

错误位代表的含义如下:

错误位定义说明
0x0001FOC频率过高FOC频率过高
0x0002过压输入电压超过关节的耐压范围
0x0004欠压输入电压低于关节的耐压范围
0x0008过温关节温度达到报警温度
0x0010启动过程失败关节启动FOC 出错
0x0020编码器错误关节自检失败或无法识别到当前角度
0x0040过流电机电流过大
0x0080软件错误硬件和软件不对应,电流检测错误
0x0100温度传感器出错温度传感器未能正常获取关节温度
0x0200位置超限错误当前/目标位置超过限位
0x0400关节ID非法关节ID不正确
0x0800位置跟踪误差超限目标位置与当前位置差值超过阈值;位置误差跟踪超限保护
0x1000电流检测错误上电时电流传感器检测错误
0x2000抱闸失败打开抱闸失败;内部霍尔信号不正确
0x4000位置指令阶跃当前位置和目标位置误差大于10 度
0x8000多圈丢数多圈丢数