DynamixelRX-28舵机用户手册_第1页
DynamixelRX-28舵机用户手册_第2页
DynamixelRX-28舵机用户手册_第3页
DynamixelRX-28舵机用户手册_第4页
DynamixelRX-28舵机用户手册_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Dynamixel RX-28舵机用户手册目录1 摘要1-1 RX-28概述及特点1-2 主要规格2 Dynamixel 操作2-1 机械组装2-2 连接器组装2-3 Dynamixel 连线3 通讯协议3-1 通讯概述3-2 指令包3-3 状态包3-4 控制表4 指令设置和实例4-1 WRITE_DATA4-2 READ_DATA4-3 REG WRITE and ACTION 4-4 PING4-5 RESET4-6 SYNCWRITE5 示例附录 1 Dynamixel RX-281-1 RX-28概述及特点Dynamixel RX-28 Dynamixel 系列机器人执行器是一个聪明的

2、、模块化的驱动器。它将一个齿轮减速装置、一个高精密直流电机和一个具有联网功能的控制电路集于一个单一封装中。尽管它体积比较小,但是它可以产生很大的扭矩。它由高品质的材料制成用于提供必要的强度和能够忍受大的外力的结构韧性。它也有检测诸如内部温度和电源电压的变化并采取相应应对措施的能力。精密控制 舵机位置和转动速度是可以用1024步的分辨率进行控制服从驱动 服从的等级可以调节并且可以指定在控制位置。 原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS反馈 具有角位移、角速度和负载转矩的反馈。报警系统 当参数偏离用户定义范围后(比如内部温度、扭矩电压等等),Dyn

3、amixel系列机器人执行器可以报警给用户,并且也可以自动处理这些问题(比如关闭扭矩)。通讯 类似链条的连接使得接线容易,支持最高1M bps的通讯速度。分布式控制 位置、速度、遵从程度和扭矩可以用一个命令包进行设置。这样就可以使主控器利用很少的资源就可以控制很多个Dynamixel单元。工程塑料 舵机的主体是由高质量的工程塑料制成,使得它可以承受很高的扭矩负载。轴轴承 输出轴用轴承用于保证在高的外界负载下没有效率丢失。状态指示灯 这个LED可以向用户指示错误状态。框架 一个铰链框架和侧装框架支持选项1-2主要规格和性能RX-28重量( g )72齿轮减速比1/193输入电压( V )At 1

4、2 VAt 16 V最大堵转扭矩( kgf.cm )28.337.7Sec/60degree0.1670.126最小精度: 0.3°工作角度: 300°, 无边界旋转电压 : 12V 16V最大电流: 1200mA工作温度: -5 - +85命令信号: 数据包格式协议类型: RS485 异步串行通讯(8数据位,1停止位,无校验位)连接 : RS485 多路总线ID : 254 ID 通讯速度: 7343bps 1Mbps反馈 : 位置,温度,负载,输入电压等材料 : 全金属齿轮, 工程塑料电机 : Maxon RE-MAX 2 Dynamixel 操作2-1 机械装配选项框

5、2-2 连接器装配连接器的组装如下图所示,用正确的压线工具将电线和接头连接到一起,如果你没有工具就将电线头和接头焊接到一起以保证在使用时不会松动。2-3 Dynamixel 接线引脚分配 连接头的引脚分配如下所示。两个连接头是引脚对应连接的,所以只要原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS接上一个连接头就可以操作RX-28 。 (注意:连接头边缘切掉一段的针脚号是PIN1)接线 按照下图所示将RX-28执行器针脚对针脚连接起来。许多RX-28执行可以按照如下所示组成单个总线来控制。主控器 为了操作Dynamixel执行器,主控器必须支持RS485

6、串行通讯。一个专有控制器就可以控制,但是强烈建议使用CM-2 PLUS Dynamixel控制器。串口连接 为了控制数字舵机,主控器需要将自己的串行信号转换成485类型。推荐的电路原理图如下所示。 主控器通过Molex3P的PIN1 和PIN2给舵机供电。(上面介绍的电路用于解释485串行协议的用法,CM-2 PLUS控制器已包含上述的电路,所以数字舵机可以直接连接上它。)TTL电平的TXD 、RXD数据信号的方向取决于DIRECTION485 引脚的电平,如下所示当DIRECTION485 为高电平:TXD信号输出为D+、 D-。当DIRECTION485 为低电平:D+、 D-输入转化为R

7、XD。RS485串口 将多个舵机执行器连接到一个节点的多分枝方法是可以通过RS485串行通讯实现的。所以当控制这些舵机时,一个不允许在同一时间有多个传输的总线协议是需要存在的。警告 当连接舵机线路时要确保引脚配置都正确。当上电时要检查电流消耗。一 个单独的舵机在待机模式下的电流不会大于50mA 。连接状态验证 当通电时,LED闪烁两次来确认已经连接。 检查 当上述操作不成功时,就检查连接头连线是否正确还有电源的电压电流最原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS大限3 通讯协议3-1 通讯概述数据包 主控器通过发送数据包和接收数据包和舵机单元通讯。

8、有两种类型的数据包,指令包(主控器发送给舵机单元),状态包(舵机发送给主控器)。 通讯 如下所示连接,如果主控器发送一个ID为N的指令包,只有ID为这个值的舵机单元会发送检查状态包给主机并且执行相应的指令。唯一的ID 如果多个舵机拥有同样的ID ,同时发送多个数据包就会发生碰撞,造成通讯问题,因此,确保没有相同ID的舵机连接在同一个网络中就至关重要。 协议 舵机执行器通过拥有8位数据位,1位停止位和无校验的异步串行通讯协议通讯。 3-2 指令包指令包是主控器发送给舵机单元命令的数据包。指令包的结构如下所示 指令包 0XFF 0XFF ID LENGTH INSTRUCTION ARAMETER

9、1 PARAMETERN CHECKSUM 0XFF 0XFF 两个0XFF 0XFF 字节表明一个输入数据包的开始。 ID 一个舵机的唯一ID ,总共有254个可用的ID值,从0X00 到0XFD 广播ID ID 为0XFE为广播地址,表示所有的连接的舵机单元,一个ID为这个值的数据包适用于所有连接的舵机,所以包含广播ID的数据包是不会返回任何状态数据包的。 长度 数据包的长度,它的值为: 参数个数+2 指令 舵机需要执行的指令。 参数。N 用于除了指令本身还需要发送附加信息的情况。 检验和 校验和的计算方法如下所示: CheckSum = (ID + Length + Instructio

10、n+Parameter1+.+ParameterN ) 如果计算的值超过255 ,最低八位的值将会被认为是CheckSum值。 是“按位取反”逻辑运算。 3-3 状态包(返回包) 状态包是舵机接收指令包后返回给主控器的应答包。返回包的构成如下: 0XFF 0XFF ID LENGTH ERROR PARAMETER1 PARAMETER2 PARAMETER N CHECKSUM 每个包内字节的意义如下所示: 0XFF 0XFF 数据包的开始。 ID 返回数据包的舵机的唯一的ID 。初始缺省值是1 。 LENGTH原文出处及作者:Dynamixel RX-28 Users Manual ROB

11、OTIS 数据包长度值为 :参数个数+2 ERROR 舵机发出的表示错误类型的字节。每个位的意义如下所示: 位名字细节Bit70Bit6指令错误如果一个没有定义的指令被发送或者一个Action指令被发送却没有一个REG_WRITE指令,这些情况下该位都会置为1Bit5过载错误如果指定的最大负载都不能控制这个外部负载该位就会置为1Bit4校验错误如果指令包的校验和不正确该位就会置为1Bit3范围错误如果发送的指令超出定义范围该位就会置为1Bit2过热错误如果内部温度超过控制表中定义的温度时就会该位置为1Bit1角度限制错误如果目标位置超过 CW Angle 和 CCW Angle限定的范围,该位

12、就会置为1 Bit0输入电压错误如果工作电压超过了控制表中定义的电压范围,该位就会置为1 Parameter0.N 用于需要加原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS入附加信息的场合。 校验和 校验和的计算方法如下所示: CheckSum = (ID + Length + Instruction+Parameter1+.+ParameterN ) 如果计算的值超过255 ,最低八位的值将会被认为是CheckSum值。 是“按位取反”逻辑运算。 3-4 控制表地址项目访问初始值0(0x00)模型号码(L)RD 28(0x1C)1(0x01)模型号码

13、(H)RD0(0x00)2(0x02)硬件版本号RD?3(0x03)IDRD , WR1(0x01)4(0x04)波特率RD , WR34(0x22)5(0x05)返回延时时间RD , WR250(0xFA)6(0x06)CW 角度极限(L)RD , WR0(0x00)7(0x07)CW 角度极限(H)RD , WR0(0x00)8(0x08)CCW 角度极限(L)RD , WR255(0xFF)9(0x09)CCW 角度极限(H)RD , WR3(0x03)10(0x0A)保留-0(0x00)11(0x0B)最高温度RD , WR85(0x55)12(0x0C)最低电压RD , WR60(0

14、X3C)13(0x0D)最高电压RD , WR240(0xF0)14(0x0E)最大扭矩(L)RD , WR255(0XFF)15(0x0F)最大扭矩(H)RD , WR3(0x03)16(0x10)状态返回等级RD , WR2(0x02)17(0x11)报警灯RD , WR4(0x04)18(0x12)报警关闭RD , WR4(0x04)19(0x13)保留RD , WR0(0x00)20(0x14)RD ?21(0x15)RD ?22(0x16)RD ?23(0x17)RD ?24(0x18)RD , WR0(0x00)25(0x19)RD , WR0(0x00)26(0x1A)RD ,

15、WR0(0x00)27(0x1B)RD , WR0(0x00)28(0x1C)RD , WR32(0x20)29(0x1D)RD , WR32(0x20)30(0x1E)RD , WRaddr36value31(0x1F)RD , WRaddr37value32(0x20)RD , WR033(0x21)RD , WR034(0x22)RD , WRaddr14value35(0x23)RD , WRaddr15value36(0x24)RD ?37(0x25)RD?38(0x26)RD?39(0x27)RD?40(0x28)RD?41(0x29)RD?42(0x2A)RD?43(0x2B)R

16、D?44(原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS0x2C)RD , WR0(0x00)45(0x2D)-0(0x00)46(0x2E)RD 0(0x00)47(0x2F)RD , WR0(0x00)18(0x30)RD , WR32(0x20)49(0x31)RD , WR0(0x00) 控制表 控制表包含关于状态和操作的信息。操作数字舵机就是通过向控制表写据来完成的,并且它的状态就是通过读取控制表的数值来实现。 RAM和EEPROM 任何刚开始上电的时候,RAM区域中的数据值都会被赋予缺省值。但是EEPROM区域中的数值却不改变,依然和上次断

17、电时一样的数值。 初始值 控制表的最右侧一列显示了EEPROM区域的出厂设置值和RAM区域中的数据每次上电时的初始值。 地址0x00 0x01 模型号码,对于RX-28,这个值为0x001C(28)。 地址 0x02 硬件版本号 地址 0x03 ID ,为了辨别这些舵机,分配给它们唯一的ID号,在同一个网络中不同的ID需要给每个舵机分配。 地址 0x04 波特率。决定通讯速率。这个计算由下列算式决定。 Speed = 2000000/(address4+1) 主要的几个波特率对应的数据值 地址 0x04hex设置波特率目标波特率误差10x011000000.01000000.00.0000%3

18、0x03500000.0500000.00.0000%40x04400000.0400000.00.0000%70x07250000.0250000.00.0000%90x09200000.0200000.00.0000%160x10117647.1115200.0-2.1240%340x2257142.957600.00.7940%1030x6719230.819200.0-0.1600%2070xCF9615.49600.0-0.1600% 注意 最大波特率误差不超过3%是在USART通讯的容忍范围内。 警告 波特率的初始设置值为34(57600bps) 地址 0x05 返回延时时间。舵机

19、从收到指令包到返回状态包所耗费的时间值。这个延时时间的值是决定于 2us*地址0x05的数值 。 地址 0x06 0x07 0x08 0x09 转角极限。设置舵机的转角范围。目标位置需要在这个范围以内: CW角度极限<= 目标角度<= CCW角度值。如果目标位置超出转角极限规定的范围就会产生一个角度越界错误。 地址 0x0B 最高极限温度。舵机操作温度的上限。如果舵机内部温度超过这个值,温度过高位(状态包的第2位)将要返回一个1,并且在地址17 、18出现一个警告。这个值是以摄氏度为单位。 地址0x0C,0x0D 最高和最低供电电压。工作电压的最低和最高极限。如果当前电压(地址42

20、)超出指定的范围,供电电压错误(返回包的第0位)将会返回一个1,并且在地址17、18处产生一个警告,这个值是实际电压的10倍。比如说,如果地址12的值为80,那么最低电压极限设置为8V 。 地址 0x0E 0x0F 0x22 0x23 最大扭矩。舵机的最大扭矩输出。当这个值被置为0的时候,舵机进入自由转动模式。定义这个最大值的位置有两个地址;在EEPROM(地址0X0E,0X0F)和RAM(地址0X22,0X23)。当电源刚供电时,EEPROM中定义的最大扭矩值被复制到RAM中的地址。舵机的扭矩输出由RAM(地址0x22,0x23 )中的数值来限制。 地址 0x10 状态返回等级。决定舵机是否

21、在收到一个指令包后返回一个状态包。 地址16返回状态包0不对任何指令做应答1只对READ_DATA指令做应答2对任何指令都做应答 在接收到一个应用广播地址的指令包的情况下,不管地址0x10是什么数值都不返回状态包。 地址 0x11 报警灯。如果相应位置1,当错误发生时,LED闪烁。 Bit返回状态包Bit70Bit6如果置为1,指令错误时闪烁Bit5如果置为1,过载错误时闪烁Bit4原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS如果置为1,校验和错误时闪烁Bit3如果置为1,范围错误时闪烁Bit2如果置为1,过热错误时闪烁Bit1如果置为1,角度极限越

22、界错误时闪烁Bit0如果置为1,输入电压越界错误时闪烁 这个功能在进行按位与运算后开始起作用。例如,当这个值被设置为0x05,当输入电压错误或者过热错误发生时LED灯会闪烁。当从一个错误的状态返回到一个正常的状态,LED将会闪烁2S后停止。地址 0x12 报警关闭。如果相应位置1,当错误发生时,舵机的扭矩将关闭。 Bit返回状态包Bit70Bit6如果置为1,指令错误时扭矩关闭Bit5如果置为1,过载错误时扭矩关闭Bit4如果置为1,校验和错误时扭矩关闭Bit3如果置为1,范围错误时扭矩关闭Bit2如果置为1,过热错误时扭矩关闭Bit1如果置为1,角度极限越界错误时扭矩关闭Bit0如果置为1,

23、输入电压越界错误时扭矩关闭 这个功能在进行按位与运算后开始起作用。但是,和报警LED不同的是,当返回到一个正常的状态后,它仍然处在扭矩关闭状态。想要恢复,就需要将扭矩开启(地址0x18)复位为1。 地址0x140x17 校准。用于补偿舵机中电位器误差的数据。用户不能改变这些数据。 以下(从地址0x18)是在RAM区域。 地址0x18 扭矩使能。当是第一次供电时,舵机进入自由运行状态(扭矩为0)。设置在地址0x18中的这个值为1就开启了扭矩。 地址 0x19 LED。当置为1的时候LED点亮。反之,置为0 LED灭。 地址 0x1a0x1d 斜坡和边缘顺从性。舵机的顺从性是由顺从斜坡和边缘来定义

24、。这个特性可以吸收输出轴的冲击。下图显示了每一个符合值(A,B,C,D的长度)如何被位置误差和施加的扭矩。地址0x1E 0x1F 目标位置。舵机执行器输出将要移动到的期望位置。设置这个值到0x3ff将移动这个输出轴到300°的位置。 地址0x20 0x21 转动速度。设置输出轴移动到目标位置的角速度。设置这个最大值到0x3ff将使输出达到最大的移动速度,这个最大速度的具体数值取决于电池电压和舵机种类。(最低的速度是该值被置为1。当它被置为0时,角速度将以电源电压允许的最大速度移动。就像没有速度控制被应用于舵机。)地址0x24 0x25 当前位置。当前舵机输出的角度位置。地址0x26

25、0x27 当前速度。当前舵机输出的角速度。地址0x28 0x29 当前负载。正在运行的舵机的负载大小。BIT10是负载的方向。地址 0x2A 当前电压。当前舵机的供电电压。这个值是实际电压的10倍。例如,10V的电压用100(0x64)表示。地址 0x2B 当前温度。以摄氏度为单位的舵机当前内部温度。地址 0x2C 注册指令。当一个指令被REG_WRITE分配后该地址的数值置为1。当舵机原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS通过Action指令完成被分配的指令后该地址的数值被清零。地址 0x2E 正在转动。当舵机在电源的供应下移动,该处置1地址

26、 0x2F 锁住。当该处为1,只有0x18到0x23能够被执行写操作,而其他地方不可以。一旦被锁住,只能通过断电解锁。地址0x30 0x31 冲击。电机工作时供应的最小电流值。初始值为0x20而它的最大值是0x3ff。无边际旋转 如果顺时针角速度和逆时针角速度都置为0,一个无限旋转模式将会通过设置目标速度来实施。这种特性可以用来实施一个持续旋转的车轮。目标速度设置 位1511109876543210值0旋转方向速度值范围 每个数据都有一个合理的最大和最小值。写指令时超出这些合理范围将会导致返回一个错误。以下的表格总结了各个寄存器的数据范围。16位数据寄存器表明两个字节。两个字节需要在一个数据包

27、中同时被写入。4 指令设置和示例以下为可用的指令指令功能值参数数量PING无动作,用于获取一个状态返回包0x010READ DATA读取控制表的数值0x022WRIT原文出处及作者:Dynamixel RX-28 Users Manual ROBOTISE DATA向控制表写数据0x032REG WRITE同WRITE_DATA很相似,但是保持在待机模式直到给出ACTION指令0x042ACTION出发被REG_WRITE指令注册的指令0x050RESET将控制表的所有值恢复到出厂设置值0x060SYNC WRITE用于在同一时间控制多个舵机0x8344-1 WRITE_DATA功能: 向舵机

28、的控制表中写数据。长度: N+3(N是需要向控制表中的数据个数)指令: 0x03参数1: 需要被写数据的存储器首地址。参数2: 将要写的第一个数据。参数3: 将要写的第二个数据。参数N+1: 将要写的第N个数据。例1 : 设置一个连接的舵机ID为1 向控制表的地址3写入数据1。这个ID通过广播地址0xfe来传输。指令a 指令包:0XFF 0XFF 0XFE 0X04 0X03 0X03 0X01 0XF6校验和参数a长度aID 4-2 READ_DATA功能: 从控制表中读取数据。长度: 0x04指令: 0x02参数1: 需要被读出数据的存储器首地址。参数2: 原文出处及作者:Dynamixe

29、l RX-28 Users Manual ROBOTIS 将要读取数据的长度。例2 : 读取一个ID为1的舵机的内部温度。 读取控制表地址0x2B的1个字节。 指令包:0XFF 0XFF 0X01 0X04 0X02 0X2B 0X01 0XCC参数a指令a长度aID校验和 返回状态包如下所示:错误长度aID校验和参数a 状态包:0XFF 0XFF 0X01 0X03 0X00 0X20 0XDB 读取的值为0x20 。所以当前舵机的内部温度为大约为32(0x20)。4-3 REG_WRITE 和 ACTION 4-3-1 REG_WRITE功能: REG_WRITE指令和WRITE_DATA

30、指令很相似,但是执行时间却不同。当指令包被接收时这些值被存在缓存区中并且写操作处于待机模式。这时,注册指令寄存器(地址0x2C)被置为1。当Action指令包被接收,已经寄存的写指令将被最终被执行。长度: N+3(N是需要向控制表中的数据个数)指令: 0x04参数1: 需要被写数据的存储器首地址。参数2: 将要写的第一个数据。参数3: 将要写的第二个数据。参数N+1: 将要写的第N个数据。4-3-2 ACTION功能: 触发被REG_WRITE指令寄存的动作。长度: 0x02指令: 0x05参数: NONE。 这个ACTION指令在多个舵机需要同时动作的场合很有用。当控制多个舵机时,从第一个舵

31、机收到到最后一个接收到指令会出现稍微的时间延迟。所以,Dynamxiel系列舵机通过ACTION指令解决这个问题。广播 ACTION指令用广播ID(0Xfe)来给多于两个的舵机发送指令。注意这个操作不会返回任何数据包。 4-4 PING功能: 不产生任何操作,只是为了返回一个数据包或者检查特定ID的舵机的存在。长度: 0x02指令: 0x01原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS参数: NONE。例3 : 读取一个ID为1的舵机的状态包。 指令包:0XFF 0XFF 0X01 0X02 0X01 0XFB 指令a长度aID校验和 返回状态包如下

32、所示:错误长度aID 状态包:0XFF 0XFF 0X01 0X02 0X00 0XRC校验和 不管是否广播地址被使用或者状态返回级别(地址16)是0,PING指令总会返回一个状态包。4-5 RESET功能: 控制表中数据恢复出厂设置。长度: 0x02指令: 0x06参数: NONE。例4 : 复位一个ID为0的舵机。 指令包:0XFF 0XFF 0X00 0X02 0X06 0XF7 校验和指令a长度aID 返回状态包如下所示:错误长度aID 状态包:0XFF 0XFF 0X00 0X02 0X00 0XFD校验和 注意复位操作后舵机的ID已经改变为1。4-6 .SYNC WRITE功能:

33、用于在同一时间控制多个舵机。由于多个指令可以用一个指令来代替,所以通讯时间会减少。但是,只有在要写的控制表数据的长度和地址都相同时才可以用这个指令。并且,传输时需要用到广播地址。ID: 0xFE长度: ( L+1 )*N+4 (L:每个舵机的数据长度,N:舵机的数量)指令: 0x83参数1: 需要写数据的首地址。参数2: 需要写的数据的长度。参数3: 第一个原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS舵机执行器的ID。第一个舵机数据参数4: 第一个舵机的第一个数据。参数5: 第一个舵机的第二个数据。 参数L+3: 第一个舵机的第L个数据。参数L+4:

34、 第二个舵机执行器的ID。第二个舵机数据参数L+5: 第二个舵机的第一个数据。参数L+6: 第二个舵机的第二个数据。 参数2L+4: 第二个舵机的第L个数据。例5 : 设置以下的四个舵机位置和角速度。 ID为0的舵机:位置0x010速度0x150 ID为1的舵机:位置0x220速度0x360 ID为2的舵机:位置0x030速度0x170 ID为3的舵机:位置0x220速度0x380 指令包:0XFF 0XFF 0XFE 0X18 0X83 0X1E 0X04 0X00 0X10 0X00 0X50 0X01 0X01 0X20 0X02 0X60 0X03 0X02 0X30 0X00 0X7

35、0 0X01 0X03 0X20 0X02 0X80 0X03 0X12 由于使用了广播地址所以没有状态包返回。 5 示例 为了下面的这个例子,我们假设一个在复位状态的ID为1的舵机,并且它的波特率为57142bps示例6 读取ID为1的舵机的模型号码和版本号。 指令包 指令= READ_DATA 地址= 0x00 长度= 0x03 通讯 发送:FF FF 01 04 02 00 03 F5 (LEN:008) 接收:FF FF 01 05 00 1C 00 08 D5 (LEN:009) 状态包结果 模型号 = 28(0x1C)(针对RX-28舵机) 版本号 = 0x08 示例7 把一个ID

36、为1的舵机ID改为0。 指令包 指令= WRITE_DATA 地址= 0x03 数据= 0x00 通讯 发送:FF FF 01 04 03 03 00 F4 (LEN:008) 接收:FF FF 01 02 00 FC (LEN:006) 状态包结果 无原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS错误 示例8 把一个舵机的波特率改为1Mbps。 指令包 指令= WRITE_DATA 地址= 0x04 数据= 0x01 通讯 发送:FF FF 00 04 03 04 01 F5 (LEN:008) 接收:FF FF 00 02 00 FD (LEN:0

37、06) 状态包结果 无错误示例9 把一个ID为0的舵机返回延迟时间复位为4微秒。 返回时间值1对应于2微秒 指令包 指令= WRITE_DATA 地址= 0x05 数据= 0x02 通讯 发送:FF FF 00 04 03 05 02 F1 (LEN:008) 接收:FF FF 00 02 00 FD (LEN:006) 状态包结果 无错误 强烈建议将返回延迟时间调整到主控器能允许的最小时间。示例10 把一个ID为0的舵机工作角度范围限制在0°150°。 由于CCW角度限制0x3ff对应于300°,150°就对应于0x1ff 。 指令包 指令= WRIT

38、E_DATA 地址= 0x08 数据= 0xff,0x01 通讯 发送:FF FF 00 05 03 08 FF 01 EF (LEN:009) 接收:FF FF 00 02 00 FD (LEN:006) 状态包结果 无错误示例11 把一个ID为0的舵机工作最高温度改为80。 指令包 指令= WRITE_DATA 地址= 0x0B 数据= 0x50 通讯 发送:FF FF 00 04 03 0B 50 9D (LEN:008) 接收:FF FF 00 02 00 FD (LEN:006) 状态包结果 无错误示例12 把一个ID为0的舵机工作电压范围限制在10V17V。 10V用100表示,1

39、7V用170表示 。 指令包 指令= WRITE_DATA 地址= 0x0C 数据= 0x64,0xAA 通讯 发送:FF FF 00 05 03 0C 64 AA DD (LEN:009) 接收:FF FF 00 02 00 FD (LEN:006) 状态包结果 无错误示例13 把一个ID为0的舵机最大扭矩调整为其最大可能值的50%。 设置位于ROM区域最大扭矩值为0x1ff,这个数值是最大值0X3FF的50%。 指令包 指令= WRITE_DATA 地址= 0x0E 数据= 0xff,0x01 通讯 发送:FF FF 00 05 03 0E FF 01 E9 (LEN:009) 接收:FF

40、 FF 00 02 00 FD (LEN:006) 状态包结果 无错误原文出处及作者:Dynamixel RX-28 Users Manual ROBOTIS示例14 把一个ID为0的舵机永不返回状态包。 指令包 指令= WRITE_DATA 地址= 0x10 数据= 0x00 通讯 发送:FF FF 00 04 03 10 00 E8 (LEN:008) 接收:FF FF 00 02 00 FD (LEN:006) 状态包结果 无错误 在这个指令之后就不会再返回状态包。示例15 设置当工作温度超过设定限制时报警LED闪烁并且关闭舵机扭矩。 由于过热位是第二位,所以设置报警值为0x04 。 指

41、令包 指令= WRITE_DATA 地址= 0x11 数据= 0x04,0x04 通讯 发送:FF FF 00 05 03 11 04 04 DE (LEN:009) 接收:FF FF 00 02 00 FD (LEN:006) 状态包结果 无错误示例16 把一个ID为0的舵机开启LED并且使能扭矩。 指令包 指令= WRITE_DATA 地址= 0x18 数据= 0x01,0x01 通讯 发送:FF FF 00 05 03 18 01 01 DD (LEN:009) 接收:FF FF 00 02 00 FD (LEN:006) 状态包结果 无错误 你可以用手旋转舵机输出轴来鉴别扭矩使能状态。示例17 把一个ID为0的舵机的服从边缘设置为1,服从斜线为0x40。服从性 下图可以表示出角度偏差和扭矩输出的对应关系 即使在顺时针方向偏离目标位置一点点,也会在逆时针方向产生一个很大的扭矩来弥补,但是由于必须考虑惯性,这种方法和实际情况不同。考虑如此,在给定的条件下,可以表示为如下图。 A: 逆时针符合斜坡(地址0x1D)= 0x40(大约18.8°) B: 逆时针符合边缘(地址0x1B)= 0x01(大约0.29°) C: 逆时针符合斜坡(地址0x1A)= 0x01(大约0.29°)D: 逆时针符合斜

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论