Skip to content

内存控制表

1. 控制表详细说明

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

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

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

地址名称命令项权限初始值
0x00保留保留--0x1314
0x01SYS_ID驱动器ID--1
0x02SYS_MODEL_TYPE驱动器型号:2:J14,3:J17,4:J20,5:J25,6:手爪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
0x08SYS_BPS_CANFD_BRTCANFD仲裁域波特率: 0-250k,1-500k,1-2MR/W0
0x09SYS_BPS_CANFD_DATACANFD数据域特率: 0-250k,1-500k,1-2M,2-3M,4M,5MR/W2
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
0x0dSYS_DEMA_ABSPOS自动标定绝对位置标志,1:标定,0:不标定。R/W0
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保留------
0x17保留
0x18机械臂标定完成标志0未标定,1标定中,2标定完成0
0x19保留保留----
0x1A保留保留----
0x1B保留保留----
0x1C保留保留----
0x1D~ 0x1f保留保留----
0x20保留保留----
0x21保留保留----
0x22保留保留----
0x23保留保留----
0x24保留保留----
0x25保留保留----
0X26~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
0X38TAG_SERVO_FLAG目标状态伺服 1. 伺服控制指令按默认反馈 2. 伺服控置指令后面加目标电流、速度和位置,上电后程序强制改写该寄存器为0R/W0
0X39Speed feed forward switch存储的数值是位置环跟随系数,有效值0到100,默认值0R/W0
0x3A~ 0x3f保留保留----
0x40LIT_MAX_CURRENT最大电流(mA)R/W--
0x41LIT_MAX_SPEED关节最大速度(RPM,分辨率0.01RPM)R/W3000
0x42LIT_MAX_ACC关节最大加速度(0.1rpm/s)R/W5000
0x43LIT_MAX_DEC关节最大减速度(0.1rpm/s)
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-不更新R/W
0x4a保留保留----
0x4BLIT_MAX_POS_DIFF_L允许的最大跟随误差低16位 ,精度0.0001°R/W--
0x4CLIT_MAX_POS_DIFF_H允许的最大跟随误差高16位 ,精度0.0001°R/W--
0x4D~0x4E保留保留----
0X4F保留保留----
0x50SEV_PARAME_UPDATE1:更新到伺服程序。0:不更新R/W0
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--
0x5c保留保留----
0x5D保留保留----
0x5E保留保留----
0x5F保留保留----
0X60保留保留----
0X61保留保留----
0X62保留保留----
0X63~0X6F保留保留----
0X70保留保留----
0x71保留保留----
0x72保留保留----
0x73保留保留----
0x74保留保留----
0x75保留保留----
0x76保留保留----
0x77保留保留----
0x78ERROR错误代码R0
0x79~0x7f保留保留----
0x80保留保留----
0x81保留保留----
0x82保留保留----
0x83保留保留----
0x84保留保留----
0x85保留保留----
0x86保留保留----
0x87保留保留----
0x88保留保留----
0x89保留保留----
0x8A保留保留----
0x8B保留保留----
0x8C保留保留----
0x8D保留保留----
0x8E保留保留----
0X8F保留保留----
0X90保留保留----
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字段中的最大电流、最大速度和最大加/减速度对电流、速度和位置模式均有效,最小和最大位置只有工作在位置伺服模式有效,其指定了位置伺服的目标值不能够设定在该范围以外。

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

3. 错误代码

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

错误位代表的含义如下:

错误位定义说明
0x0001FOC频率过高FOC rate too high
0x0002过压Over voltage
0x0004欠压Under voltage
0x0008过温Over temperature
0x0010启动过程失败Startup failed
0x0020编码器错误丢零位
0x0040过流Over current
0x0080软件错误Software Error
0x0100温度传感器出错温度传感器出错标志
0x0200位置超限错误当前/目标位置超过限位
0x0400关节ID非法关节ID非法
0x0800位置跟踪误差超限目标位置与当前位置差值超过阈值
0x1000电流检测错误上电时电流传感器检测错误
0x2000抱闸失败打开抱闸失败
0x4000位置指令阶跃位置指令阶跃警告
0x8000多圈丢数多圈丢数