Home
Robotis Dynamixel RX-64 User's Manual
Contents
1. Bit Name Details Bit 7 0 Set to 1 if an undefined instruction is sent an action Bit 6 Instruction Error UE eO instruction is sent without a Reg_Write instruction Set to 1 if the specified maximum torque can t control the Bit5 Overload Error applied load Bit4 Checksum Error 1 if the checksum ofthe instruction packet is incorrect Bit 3 Range Error Setto 1 ifthe instruction sent is out of the defined range y Set to 1 if the internal temperature of the Dynamixel unit is Overheating Bit 2 above the operating temperature range as defined in the rror control table X Set as 1 if the Goal Position is set outside of the range Angle Limit 1 Bit 1 E between CW Angle Limit and CCW Angle rror Limit BEC Input Voltage Setto 1 if the voltage is out of the operating voltage range as i Error defined in the control table PARAMETERO N CHECK SUM Used if additional information is needed The computation method for the Check Sum is as the following Check Sum ID Length Instruction Parameterl Parameter N If the calculated value is larger than 255 the lower byte is defined as the checksum value represents the NOT logic operation DYNAMIXEL 8 67 ROBOTIS S Con ol Table 00 00 Moder Number Ab 64 0x40 _ 00 01 Model Number L RD ooon F20x02 Version of Firmware L w gt
2. 85 Signal Digital P acket Protocol Type RS485 Asynchronous Serial Communication 8bit 1stop No P arity Link P hysical RS485 Multi Drop Bus ID 254 ID 0 253 Communication Speed 7343bps 1 Mbps Feedback Position Temperature Load Input Voltage etc Material Full Metal Gear Engineering P lastic Motor Maxon RE MAX ROBOTIS DYNAMIXEL vez 2 Dynamixel Operation 2 1 Mechanical Assembly Option Frames OF 64S2 OF 64B OF 64S OF 64H DYNAMIXEL 8 67 ROBOTIS Assembly Sample assembly using option frames 2 2 Connector Assembly Assemble the connectors as shown below Attach the wires to the terminals using the correct crimping tool If you do not have access to a crimping tool solder the terminals to the wires to ensure that they do not become loose during operation 1 Striping 3 Forming 5 Assembling 2 Inserting i w 6 Complete DYNAMIXEL 8 67 ROBOTIS 2 3 Dynamixel Wiring Pin Assignment The connector pin assignments are as the following The two connectors on the Dynamixel are connected pin to pin thus the RX 64 can be operated with only one connector attached Note The pin number of connector s edge cut side is PIN1 PIN5 NC or VCC 5V PIN4 D PIN3 D PIN2 VDD 12V 21V PIN1 GND PIN1 GND PIN2 VDD 12V 21V PIN3 D D PIN5 NC or VCC 5V Wiring Connect the R X 64 actuators
3. Status Packet Result NO ERROR To verify the effect of the adjusted Max Torque value the power needs to be turned off and then on Example 14 Set the Dynamixel actuator with an ID of 0 to never return a Status Packet Instruction Packet Instruction WRITE DATA Address 0x10 DATA 0x00 Communication gt Dynamixel FF FF 00 04 03 10 00 E8 LEN 008 lt Dynamixel FF FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR The Status Packet is not returned starting with the following instruction Example 15 Set the Alarm to blink the LED and Shutdown Torque off the actuator when the operating temperature goes over the set limit Since the Overheating Error is Bit 2 Alarm value to 0x04 Instruction Packet Instruction WRITE DATA Address 0x11 0x04 0x04 Communication gt Dynamixel FF FF 00 05 03 11 04 04 DE LEN 009 lt Dynamixel F F FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR Example 16 Turn on the LED and Enable Torque for a Dynamixel actuator with an ID of 0 Instruction Packet Instruction WRITE DATA Address 20x18 DATA 0x01 0x01 DYNAMIXEL 8 67 ROBOTIS Communication gt Dynamixel FF FF 00 05 03 18 01 01 DD LEN 009 lt Dynamixel FF FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR You can verify the Torque Enabled status by trying to move the output of the actuator by hand Example 17 Setting the Compliance Ma
4. SRR __ Reserved SSCS SSC C ooo EEPROM Area 20014 Down Calibration o 10 15 Down Calibration gt _ 20016 Up Calibration ty TL 85 7 21017 Up CalibratonH o o 3 B2020 Moving o 31x21 Moving Speed r o nam 36 0x24 PresentPostiont gt Area S 70 25 PresentPostonH RD _ 38006 resentspeedtj 0027 resentSpeedty J o moxa resenttoadi J o 43028 _PresentTemperaure Reize Moing o 1810530 291031 RD WR DYNAMIXEL 8 67 ROBOTIS Control Table The Control Table contains information on the status and operation of the Dynamixel actuator The Dynamixel actuator is operated by writing values to its control table and its status is checked by reading values off its control table RAM and EEPROM The data values for the RAM area will be set to the default initial values whenever the power is turned on However the data values for the EEPROM area are non volatile and will still remain even after the power is turned off Initial Value The Initial Value column on the right side of the control table shows the Factory Default Values for the case of EEPROM area data and shows the initial value when the power is turned on for the case of RAM area data The following explains the meaning of data s
5. bParameterLength 4 2 2 bCount lt bPacketLength 1 Oxff checksum bCheckSum 0 h bCount except bCheckSum gbpTxBuffer bCount gbpTxBuffer bCount bCheckSum Inversion Writing Checksum with Bit RS485_TXD bCount 0 bCount lt bPacketLength bCount sbi UCSROA 6 SET_TXDO_FINISH TxD80 gbpTxBuffer bCount while CHECK_TXDO_FINISH Wait until TXD Shift register empty RS485_RXD return bPacketLength RxPacket read data from buffer RxPacket need a Parameter Total length of Return Packet RxPacket return Length of Return Packet byte RxPacket byte bRxPacketLength define RX TIMEOUT COUNT2 define RX TIMEOUT COUNTI unsigned long ulCounter byte bCount bLength bChecksum byte bTimeout 3000L TIMEOUT COUNT2 10L vo bTimeout 0 for bCount 0 bCount lt bRxPacketLength bCount ulCounter 0 while gbRxBufferReadPointer gbRxBufferWr itePointer if ulCounter gt RX_TIMEOUT_COUNT1 bTimeout 1 break if bTimeout break gbpRxBuffer bCount gbpRxInterruptBuffer gbRxBufferReadPointer bLength bCount bChecksum 0 if gbpTxBuffer 2 BROADCASTING 10 if bTimeout amp amp bRxPacketLength 255 TxDStr ing r n Error RxD Timeout CLEAR BUFFER if bLength gt 3 checking is available if gbpRx
6. ID OXFE no status packets are returned 4 2 READ DATA Function Read data from the control table of a Dynamixel actuator Length 0x04 Instruction 0X02 Parameter1 Starting address of the location where the data is to be read Parameter2 Length of the data to be read Example 2 Reading the internal temperature of the Dynamixel actuator with an ID of 1 Read 1 byte from address 0x2B of the control table Instruction Packet OXFF OXFF 0X01 0X04 0X02 0X2B 0X01 OXCC ee ID LENGTH INSTRUCTION PARAMETERS CHECKSUM The returned Status Packet will be as the following Status Packet OXFF OXFF 0X01 0X03 0X00 0X20 OXDB HE ID LENGTH ERROR PARAMETERILCHECKSUM The data read is 0x20 Thus the current internal temperature of the Dynamixel actuator is approximately 32 C 0X20 4 3 REG ACTION 4 3 1 REG_WRITE Function The REG_WRITE instruction is similar to the WRITE_DATA instruction but the DYNAMIXEL 8 67 ROBOTIS Length Instruction Parameter1 Parameter2 Parameter3 Parameter 1 4 3 2 ACTION Function Length Instruction Parameter Broadcasting 4 4 PING Function Length Instruction Parameter execution timing is different When the Instruction Packet is received the values are stored in the Buffer and the Write instruction is under a standby status Atthis time the Registered I
7. Parameter3 The ID ofthe 1st Dynamixel actuator Parameter4 The 1st data for the 1st Dynamixel actuator Parameter5 The 2nd data for the 1st Dynamixel actuator Parameter L 3 The Lth data for the 1st Dynamixel actuator Parameter L 4 The ID ofthe 2nd Dynamixel actuator Parameter L 5 The 1st data for the 2nd Dynamixel actuator Parameter L 6 The 2nd data for the 2nd Dynamixel actuator Parameter 2L 4 The Lth data for the 2nd Dynamixel actuator Example 5 Setting the following positions and velocities for 4 Dynamixel actuators Dynamixel actuator with an ID of 0 to position 0X010 with a speed of 0X150 Dynamixel actuator with an ID of 1 to position 0X220 with a speed of 0X360 Dynamixel actuator with an ID of 2 to position 0X030 with a speed of 0X170 Dynamixel actuator with an ID of 0 to position 0X220 with a speed of 0X380 Instruction Packet OXFF OXFF OXFE 0X18 0X83 OX1E 0X04 0X00 0X10 0X00 0X50 0X01 0X01 0X20 0X02 0X60 0X03 0X02 0X30 0X00 0X70 0X01 0X03 0X20 0X02 0X80 0X03 0X12 No status packets are returned since the Broadcasting ID was used DYNAMIXEL 8 67 ROBOTIS 5 Example For the following examples we assume a Dynamixel actuator with an ID of 1 in Reset status and that the Baud rate is 57142 BPS Example 6 Reading the Model Number and Firmware Version of the Dynamixel actuator with an ID of 1 Instruction Packet Instruction READ_DATA Address 0x00 Length 0x03 Communication gt Dynamixel FF F
8. 27 Present Speed Current angular velocity of the Dynamixel actuator output Address 0x28 0x29 Present Load The magnitude of the load on the operating Dynamixel actuator Bit 10 is the direction of the load Br wo ios aor pedes o Vale o Load Direction Load Value Load Direction 20 CCW Load Load Direction 2 1 CW Load Address 0x2A Present Voltage The voltage currently applied to the Dynamixel actuator The value is 10 times the actual voltage For example 10V is represented as 100 0x64 Address 0x2B Present Temperature The internal temperature of the Dynamixel actuator in Degrees Celsius Address 0x2C Registered Instruction Set to 1 when an instruction is assigned by the REG WRITE command Set 0 after it completes the assigned instruction by the Action command Address 0x2E Moving Setto 1 when the Dynamixel actuator is moving by its own power Address 0x2F Lock If set to 1 only Address 0x18 to 0x23 can be written to and other areas cannot Once locked it can only be unlocked by turning the power off Address 0x30 0x31 Punch The minimum current supplied to the motor during operation The initial value is set to 0x20 and its maximum value is Ox3ff Endless Turn If both values for the CW Angle Limit and the CCW Angle Limit are set to 0 an Endless Turn mode can be implemented by setting the Goal Speed This feature can be used for implementing a continuously rotating wheel DYNAMIXEL 8 67
9. ADY TXD1 DATA bTxdData TXD32DexO change data to decimal number system void TxD32Dec long ILong byte bCount bPrinted ong IDigit bPrinted 0 if ILong lt 0 Digit 1000000000L or bCount 0 bCount lt 9 bCount ITmp byte ILong IDigit if 1Tmp TxD8 byte Tmp 0 bPrinted 1 else if bPrinted TxD8 byte I Tmp 0 ILong long ITmp IDigit IDigit IDigit 10 ITmp byte ILong IDigit if ITmp TxD8 byte 0 TxDStringO prints data in ACSII code void TxDString byte bData whi le xbData TxD8 xbDatat RxD81 read data from UART1 RxD81 return Read data byte RxD81 void while RXD1_READY return RXD1 DATA SIGNALO UARTO Rx Interrupt write data to buffer SIGNAL SIG_UARTO_RECV gbpRxInterruptBuffer gbRxBufferWritePointer RXDO DATA DYNAMIXEL 8 67 ROBOTIS Connector Company Molex Pin Number 4 or 5 for Optional VCC 5V Model Number Molex Part Number Old Part Number Male 22 03 5045 5267 04 Female 50 37 5043 5264 04 Temperature range 40 C to 105 C Contact Insertion Force max 14 7N 3 30 Ib Contact Retention Force min 14 7N 3 30 Ib www molex com or www molex co jp for more detail information Female Connector Male Connector CIRCUIT 1 250 E NUI E S on m
10. Buffer 0 Oxff gbpRxBuffer 1 Oxff TxDString CXrXn Error Wrong Header CLEAR BUFFER return 0 if gbpRxBuffer 2 gbpTxBuffer 2 TxDString YrYn Error TxlD 10 CLEAR BUFFER return 0 if gbpRxBuffer 3 bLength 4 TxDString CXrXn Error Wrong Length CLEAR BUFFER return 0 or bCount 2 bCount lt bLength bCount bChecksum gbpRxBuffer bCount if bChecksum Oxff TxDString CXrXn Error Wrong CheckSum CLEAR BUFFER return 0 return bLength intBuffer print data in Hex code intBuffer 0 needs two parameter gbpRxBuffer name of Pointer gbpTxBuffer id PrintBuffer byte bpPrintBuffer byte bLength byte bCount for bCount 0 bCount lt bLength bCount TxD8Hex bpPr intBuffer bCount TxD8 TxDStr ing LEN TxD8Hex bLength TxD8 DYNAMIXEL vez Print value of Baud Rate void PrintBaudrate void TxDStr ing r n RS232 TxD32Dec 16000000L 8L long UBRR1L 1 L TxDString BPS R 485 TxD32Dec 16000000L 8L TxDString BPS TxDStr ing Hardware Dependent tem define TXD1 READY bit is set UCS UCSRIA_Bit5 define TXD1 DATA UDR1 define RXD1 READY bit is set UCS define RXD1 DATA UDR1 define TXDO_READY bit_is_set UCS define TXDO_DATA UDRO def ine RXDO_READY bit_is_set UCS
11. DATA 0x01 Communication gt Dynamixel FF FF 00 04 03 2F 01 C8 LEN 008 lt Dynamixel F F FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR Once locked the only way to unlock it is to remove the power If an attempt is made to access any locked data an error is returned Dynamixel FF FF 00 05 03 30 40 00 87 LEN 009 lt Dynamixel F F FF 00 02 008 F5 LEN 006 Range Error Example 21 Set the minimum power Punch to 0x40 for a Dynamixel actuator with an ID of 0 Instruction Packet Instruction WRITE DATA Address 20x30 DATA 0x40 0x00 Communication gt Dynamixel FF FF 00 05 03 30 40 00 87 LEN 009 lt Dynamixel F F FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR DYNAMIXEL 8 67 ROBOTIS Appendix RS485 UART RS485 UART is a serial communication protocol where both TxD and RxD cannot be used at the same time This method is generally used when many devices need to be connected to a single bus Since more than one device are connected to the same bus all the other devices need to be in input mode while one device is transmitting The Main Controller that controllers the Dynamixel actuators sets the communication direction to input mode and only when it is transmitting an Instruction Packet it changes the direction to output mode RS 485 Direction Output Duration Instruction Packet Status Packet Return Delay Time Return Delay Time The time it takes f
12. F 01 04 02 00 03 F5 LEN 008 lt Dynamixel FF FF 01 05 00 74 00 08 7D LEN 009 Status Packet Result Model Number 116 0x74 for the case of DX 116 Firmware Version 0x08 Example 7 Changing the ID to 0 for a Dynamixel actuator with an ID of 1 Instruction Packet Instruction WRITE DATA Address 20x03 DATA 0x00 Communication gt Dynamixel FF FF 01 04 03 03 00 F4 LEN 008 lt Dynamixel FF FF 01 02 00 FC LEN 006 Status Packet Result NO ERROR Example 8 Changing the Baud Rate of a Dynamixel actuator to 1M bps Instruction Packet Instruction WRITE DATA Address 20x04 0x01 Communication gt Dynamixel FF FF 00 04 03 04 01 LEN 008 lt Dynamixel FF FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR Example 9 Resetting the Return Delay Time to 4 uSec for a Dynamixel actuator with an ID of 0 A Return Delay Time Value of 1 corresponds to 2uSec DYNAMIXEL 8 67 ROBOTIS Instruction Packet Instruction WRITE DATA Address 0x05 DATA 0x02 Communication gt Dynamixel FF FF 00 04 03 05 02 F1 LEN 008 lt Dynamixel FF FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR It is recommended to set the Return Delay Time to the minimum value allowed by the Main Controller Example 10 Limiting the operating angle range to 0 150 for a Dynamixel actuator with an ID of 0 Since the CCW Angle Limit of 0x3ff corresponds to 300 the an
13. Length TxDStr ing r n n Example 5 Read Control Table Any Key to Continue RxD80 gbpParameter 0 0 Reading Address gbpParameter 1 49 Read Length bTxPacketLength TxPacket bID INST READ 2 bRxPacketLength RxPacket DEFAULT_RETURN_PACKET_SIZE gbpParameter HD TxDStr ing r n TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDStr ing YrXn RxD PrintBuffer gbpRxBuffer bRxPacketLength if bRxPacketLength DEFAULT RETURN PACKET SIZE gbpParameter 1 TxDString CXrXn bCount 0 bCount lt 49 bCount TxD8 TxD8Hex bCount TxDStr ing C1 2 TxD8Hex gbpRxBuffer bCount 5 TxD8 C TxDStr ing r n n Example 6 Go 0x200 with Speed 0x100 Any Key to Continue RxD8 0 gbpParameter 0 P GOAL POSITION L Address of Firmware Version gbpParameter 1 0x00 Writing Data P GOAL POSITION L gbpParameter 2 0x02 Writing Data P GOAL POSITION H gbpParameter 3 0x00 Writing Data P GOAL SPEED L gbpParameter 4 0x01 Writing Data P GOAL SPEED H bTxPacketLength TxPacket bID INST WRITE 5 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDStr ing TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString YrXn 0 PrintBuffer gbpRxBuffer bRxPacketLength TxDString YrXnYn Example 7 Go 0x00 with Speed 0x40 Any Key to Continue 8 0 gbpParameter 0 P GOAL P
14. N PORT TX DIRECTION TxDB yte Oxff TxDB yte Oxff TxDB yte bID TxDByte bLength TxDB yte bInstruction TxDByte P arameterO TxDByte P 1 DisableInterrupt interrupt should be disable TxDByte Checksum last TxD while ITXD SHIFT REGISTER EMPTY BIT Wait till last data bithas been sent DIRECTION PORT RX DIRECTION Direction change to RXD Enablelnterrupt enable interrupt again Please note the important lines between LINE 8 and LINE 12 Line 8 is necessary since an interrupt here may cause a delay longer than the return delay time and corruption to the front of the status packet may occur The delay time between bytes when sending an instruction packet If the delay time is over 100ms then the Dynamixel actuator recognizes this as a communication problem and waits for the next header Oxff Oxff of a packet again Lenath Byte To Byte Time The following is the source code of a program Example c that accesses the Dynamixel actuator using the Atmega 128 DYNAMIXEL C Language Example Dinamixel access with Atmega128 define P_REGISTERED_INSTRUCTION 44 The Example of Dynamixel Evaluation with Atmegal28 Date 2005 5 11 Author BS included files define ENABLE BIT DEFINITIONS include lt io h gt include lt inttypes h gt include lt avr io h gt include lt avr interrupt h gt include lt av
15. NT SPEED L 38 define P PRESENT SPEED H 39 define P PRESENT LOAD L 40 define P PRESENT LOAD 41 define P PRESENT VOLTAGE 42 define P PRESENT TEMPERATURE 43 define P PAUSE TIME 45 define P MOVING 46 define P LOCK 47 define P PUNCH L 48 define P PUNCH H 49 Instruction define INST PING 0x01 define INST READ 0x02 define INST WRITE 0x03 define INST REG WRITE 0x04 define INST ACTION 0x05 iidefine INST RESET 0x06 define INST DIGITAL RESET 0x07 define INST SYSTEM READ 0 0 define INST SYSTEM WRITE OxOD define INST SYNC WRITE 0x83 define INST SYNC REG WRITE 0x84 define CLEAR BUFFER gbRxBufferReadPointer gbRxBufferWr itePointer define DEFAULT RETURN PACKET SIZE 6 define BROADCASTING ID Oxfe define TxD8 TxD81 define RxD8 RxD81 Hardware Dependent Item define DEFAULT BAUD RATE 34 57600bps at 16MHz For M 2 PLUS Hdefine _ RS485 TXD PORTE amp _BV PE3 PORTE _BV PE2 PORT 485 DIRECTION 1 Hdefine _ RS485 RXD PORTE amp _BV PE2 PORTE BV PE3 PORT 485 DIRECTION 0 For 2 define RS485_TXD PORTE _BV PE2 485_DIRECTION 1 define RS485_RXD PORTE amp _BV PE2 PORT_485_DIRECTION 0 def ine TXDO_FINISH UCSROA 6 This bit is for checking TxD Buffer in CPU is empty or not def ine TXD1 FINISH UCSR1A 6 define SET TxDO FINISH sbi UCSROA 6 def RESET TXDO FINISH
16. OSITION L Address of Firmware Version gbpParameter 1 0x00 Writing Data P GOAL POSITION 1 gbpParameter 2 0x00 Writing Data P GOAL POSITION H gbpParameter 3 0x40 Writing Data P GOAL SPEED gbpParameter 4 0x00 Writing Data P GOAL SPEED H bTxPacketLength TxPacket bID INST WRITE 5 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDStr ing r n TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDStr ing 0 PrintBuffer gbpRxBuffer bRxPacketLength TxDStr ing r n n Example 8 Go Ox3ff with Speed Ox3ff Any Key to Continue RxD80 gbpParameter 0 P GOAL POSITION L Address of Firmware Version gbpParameter 1 Oxff Writing Data P GOAL POSITION L gbpParameter 2 0x03 Writing Data P GOAL POSITION gbpParameter 3 Oxff Writing Data P GOAL SPEED L gbpParameter 4 0x03 Writing Data P GOAL SPEED H bTxPacketLength TxPacket bID INST WRITE 5 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDString CYrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString YrXn RxD PrintBuffer gbpRxBuffer bRxPacketLength TxDString YrXnYn Example 9 Torque Off Any Key to Continue RxD80 gbpParameter 0 P TORQUE ENABLE Address of LED gbpParameter 1 0 Writing Data bTxPacketLength TxPacket bID INST WRITE 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDString CYrXn TxD PrintBuf
17. ROBOTIS Setia Tan aa __ __ 7 3 2 1 0 Turn Direction 20 CCW Direction Turn Load Direction 1 CW Direction Range Each data has a valid minimum and maximum values Write instructions made outside of these valid ranges will return an error The following table summarizes the data range for each register 16 bit data registers are indicated with two bytes L and H Both bytes need to be written atthe same time as one instruction packet sis 39 T t reu testae e ee 1 72 18 COW seg timi L 7 ian Dumas 1 9 120089 1210x001 the LowestLimitvotage 1 500622 250062 the HighestLimitVotage 1 5032 2500062 _ roxy mamio i o 325985 BOXim Alarm Shutdown 31 9 127070 rema r o EO 1 ERN TES EIER DNE RET 0 CW Compliance marn 1 0 _ Ems CCW Conpiance L L 0 euo emac cwcemieesee 717 1 asee nix 7 18 saxo 2 o 302305 20 22 Torquetimt L 2 9 iw385 CEA Resid eo ee a r Punch 0 392988 Control
18. Table Data Range and Length for Writing M HHIH egg D DYNAMIXEL 8 67 ROBOTIS 4 Instruction Set and Examples The following Instructions are available Number of PING No action Used for obtaining a Status Packet 0x01 READ DATA Reading values in the Control Table WRITE DATA Writing values to the Control Table Similar to WRITE DATA butstays in standby REG W RITE mode untilthe ACION instruction is given Triggers the action registered by the REG_WRITE instruction Changes the control table values of the RESET Dynamixel actuator to the Factory Default Value settings SYNC WRITE Used for controlling many Dynamixel actuators atthe same time 4 1 WRITE DATA Function To write data into the control table of the Dynamixel actuator Length N 43 N is the number of data to be written Instruction 0X03 Parameter1 Starting address of the location where the data is to be written Parameter2 151 data to be written Parameter3 2nd data to be written Parameter N 1 Nth data to be written Example 1 Setting the ID of a connected Dynamixel actuator to 1 Write 1 to address 3 of the control table The ID is transmitted using the Broadcasting ID OxFE DYNAMIXEL 8 67 ROBOTIS Instruction Packet OXFF OXFF OXFE 0X04 0X03 0X03 0X01 OXF6 AERE SPD ID LENGTH INSTRUCTION PARAMETERS CHECKSUM Because it was transmitted with a Broadcast
19. User s Manual 2006 06 28 Closer to Real ROBOTIS Dynamixel RX 6 A DYNAMIXEL 8 67 ROBOTIS Contents 1 Summary 1 1 Overview and Characteristics of RX 64 Page 2 1 2 Main Specifications Page 3 2 Dynamixel Operation 2 1 Mechanical Assembly Page 4 2 2 Connector Assembly Page 5 2 3 Dynamixel Wiring Page 6 3 Communication Protocol 3 1 Communication Overview Page 9 3 2 Instruction Packet Page 10 3 3 Status Packet Page 10 3 4 Control Table Page 12 4 Instruction Set and Examples 4 1 WRITE_DATA Page 19 4 2 READ_DATA Page 20 4 3 REG WRITE and ACTION Page 20 4 4 PING Page 21 4 5 RESET Page 22 4 6 SYNCWRITE Page 23 5 Example Page 24 Appendix Page 30 DYNAMIXEL 8 67 ROBOTIS 1 Dynamixel RX 64 1 1 Overview and Characteristics of RX 64 Dynamixel RX 64 The Dynamixel series robot actuator is a smart modular actuator that incorporates a gear reducer a precision DC motor and a control circuitry with networking functionality all in a single package Despite its compact size it can produce high torque and is made with high quality materials to provide the necessary strength and structural resilience to withstand large external forces It also has the ability to detect and act upon internal conditions such as changes in internal temperature or supply voltage The Dynamixel series robot actuator has many advantages over similar products Precision Control Position and speed can be controlled wi
20. an instruction packet with the ID set to N only the Dynamixel unit with this ID value will return its respective status packet and perform the required instruction Instruction Packet ID N Main Controller Status Packet ID N Unique ID If multiple Dynamixel units have the same ID value multiple packets sent simultaneously collide resulting in communication problems Thus it is imperative that no Dynamixel units share the same ID in a network node Protocol The Dynamixel actuators communicate through asynchronous serial communication with 8 bit 1 stop bit and no parity DYNAMIXEL 8 67 ROBOTIS 3 2 Instruction Packet The Instruction Packet is the packet sent by the main controller to the Dynamixel units to send commands The structure of the Instruction Packet is as the following Instruction Packet OXFFIOXFFIIDILENGTH INSTRUCTION PARAMETER 1 PARAMETER N CHECK SUM The meanings of each packet byte definition are as the following OXFF OXFF The two OXFF bytes indicate the start of an incoming packet ID The unique ID of a Dynamixel unit There are 254 available ID values ranging from 0X00 to OXFD Broadcasting ID ID OXFE is the Broadcasting ID which indicates all of the connected Dynamixel units Packets sent with this ID apply to all Dynamixel units on the network Thus packets sent with a broadcasting ID will not return any stat
21. an instruction which uses the Broadcast ID OXFE the Status Packet will not be returned regardless of the Address 0x10 value Address 0X11 Alarm LED If the corresponding Bit is set to 1 the LED blinks when an Error occurs Bit OO This function operates following the OR logical operation of all bits For example if the value is set to 0X05 the LED will blink when an Input Voltage Error occurs or when an Overheating Error occurs Upon returning to a normal condition from an error state the LED stops blinking after 2 seconds Address 0X12 Alarm Shutdown If the corresponding Bit is set to a 1 the Dynamixel actuator s torque will be turned off when an error occurs This function operates following OR logical operation of all bits However unlike the Alarm LED after returning to a normal condition it maintains the torque off status To recover the Torque Enable Address0X18 needs to be reset to 1 Address 0x14 0x17 Calibration Data used for compensating for the differences between the potentiometers used in the Dynamixel units The user cannot change this data The following from Address 0x18 is in the RAM area DYNAMIXEL 8 67 ROBOTIS Address 0x18 Torque Enable When the power is first turned on the Dynamixel actuator enters the Torque Free Run condition zero torque Setting the value in Address 0x18 to 1 enables the torque Address 0x19 LED The LED turns on when set to 1 and tu
22. cbi UCSROA 6 define CHECK TXDO FINISH bit is set UCSROA 6 define SET TxD1 FINISH sbi UCSR1A 6 define RESET TXD1 FINISH cbi UCSRIA 6 define CHECK TXD1 FINISH bit is set UCSRIA 6 define RX INTERRUPT 0x01 define TX INTERRUPT 0x02 define OVERFLOW_INTERRUPT 0x01 def ine SERIAL PORTO 0 define SERIAL_PORT1 1 define BIT_RS485_DIRECTIONO 0x08 Port E define BIT RS485 DIRECTIONI 0x04 Port E define BIT ZIGBEE RESET PD4 out default 1 PORTD define BIT ENABLE RXD LINK PC PD5 out default 1 define BIT ENABLE RXD LINK ZIGBEE PD6 out default 0 define BIT LINK PLUGIN PD7 in no pull up void TxD81 byte bTxdData void TxD80 byte bTxdData void TxDString byte void TxD8Hex byte bSentData void TxD32Dec long Long byte RxD81 void void MiliSec word wDelayTime void PortInitialize void void Seriallnitialize byte bPort byte bBaudrate byte blnterrupt byte TxPacket byte bID byte bInstruction byte bParameterLength byte RxPacket byte bRxLength void PrintBuffer byte bpPrintBuffer byte bLength DYNAMIXEL vez Gloval Variable Number volatile byte gbpRxInterruptBuffer 256 byte gbpParameter 128 byte gbRxBufferReadPointer byte gbpRxBuffer 128 byte gbpTxBuffer 128 volatile byte gbRxBufferWr i tePointer main void byte bCount bID bTxPacketLength bRxPacketLength 260 Port I
23. def ine RXDO DATA UDRO SeriallnitializeQ set Serial Port to initial state Vide Megal28 Data sheet about Setting bit of regis Seriallnitialize Q needs port Baud rate Interrup void Seriallnitialize byte bPort byte bBaudrate if bPort SERIAL PORTO UBRROH O UBRROL bBaudrate UCSROA 0x02 UCSROB 0x18 long UBRROL 1L RIA 5 RIA 7 ROA 5 ROA 7 er value byte bInterrupt if bInterrupt amp RX INTERRUPT sbi UCSROB 7 RxD interrupt enable UCSROC 0x06 UDRO OxFF sbi UCSROA 6 SET TXDO FINISH Note set else if bPort SERIAL PORT1 UBRRIH 0 UBRRIL bBaudrate UCSR1A 0x02 UCSRIB 0x18 if bInterrupt amp RX INTERRUPT sbi UCSR1B 7 UCSR1C 0x06 UDR1 OxFF sbi UCSR1A 6 SET_TXD1_FINISH Note set 8 print data seperatly ex Oxla gt 1 a void TxD8Hex byte bSentData byte bTmp bTmp byte bSentData gt gt 4 amp 0 0 byte 0 if gt 9 bTmp 7 TxD8 bTmp bTmp byte bSentData amp OxOf byte 0 if bTmp gt 9 bTmp 7 TxD8 bTmp 080 send data to USART 0 void TxD80 byte bTxdData whi le TXDO_READY TXDO DATA bTxdData 1 then 0 is read RxD interrupt enable 1 then 0 is read TXD810 send data to USART 1 void TxD81 byte bTxdData while TXD1_RE
24. e LAYOUT OOMPONENT SIDE 460 RECOMMENDED THIGENESS ror 4 90 123 a a 5o 138 154 7 7 Pin No 1 IRROBOTIS DYNAMIXEL vez Dimension
25. ets higher than this value the Over Heating Error Bit Bit 2 of the Status Packet will return the value 1 and an alarm will be set by Address 17 18 The values are in Degrees Celsius Address 0x0C 0x0D the Lowest Highest Limit Voltage The upper and lower limits of the Dynamixel actuator s operating voltage If the present voltage Address 42 is out of the specified range a Voltage Range Error Bit Bit 0 of the Status Packet will return the value 1 and an alarm will be set by Address 17 18 The values are 10 times the actual voltage value For example if the Address 12 value is 80 then the lower voltage limit is set to 8V Address 0x0E 0x0F 0x22 0x23 Max Torque The maximum torque output for the Dynamixel actuator When this value is set to 0 the Dynamixel actuator enters the Free Run mode There are two locations where this maximum torque limit is defined in the EEPROM Address OxOF and in the RAM Address 0x22 0x23 When the power is turned on the maximum torque limit value defined in the EEPROM is copied to the location in the RAM The torque of the Dynamixel actuator is limited by the values located in the RAM Address 0x22 0x23 Address 0X10 Status Return Level Determines whether the Dynamixel actuator will return a Status Packet after receiving an Instruction Packet Address16 Returning the Status Packet Respond only to READ DATA instructions qp DYNAMIXEL 8 67 ROBOTIS In the case of
26. fer gbpTxBuffer bTxPacketLength TxDStr ing YrXn RxD PrintBuffer gbpRxBuffer bRxPacketLength TxDStr ing r n n End Push reset button for repeat DYNAMIXEL while 1 void PortInitial ize void DDRA DDRB DDRC DDRD DDRE DDRF 0 input direction first PORTB PORTC PORTD PORTE PORTF PORTG 0x00 PortData initialize to 0 cbi SFIOR 2 Port Pull Up ready DDRE BIT_RS485_DIRECTIONO BIT_RS485_DIRECTION1 set output the bit RS485direction Set all port to DDRD ZIGBEE RESET BIT ENABLE RXD LINK PC BIT BLE RXD LINK ZIGBEE PORTD amp BV BIT LINK PLUGIN no pull up PORTD BV BIT ZIGBEE RESET PORTD BV BIT ENABLE RXD LINK PORTD BV BIT ENABLE RXD LINK ZIGBEE send data to 5485 needs 3 parameter ID of Dynamixel Length of parameters TxPacket return length of Return packet from Dynamixel byte TxPacket byte bID byte blnstruction byte bParameterLength Instruction byte byte bCount bCheckSum bPacketLength gbpTxBuffer 0 Oxff gbpTxBuffer 1 Oxff gbpTxBuffer 2 bID gbpTxBuffer 3 bParameterLength 2 Length Paramter Instruction Checksum gbpTxBuffer 4 blnstruction or bCount 0 bCount lt bParameterLength bCount gbpTxBuffer bCount 5 gbpParameter bCount bPacketLeng or bCount
27. gle 150 is represented by the value Ox1ff Instruction Packet Instruction WRITE DATA Address 0x08 DATA Oxff 0x01 Communication gt FF 00 05 03 08 FF 01 EF LEN 009 lt Dynamixel FF FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR Example 11 Resetting the upper limit for the operating temperature to 80 C for a Dynamixel actuator with an ID of 0 Instruction Packet Instruction WRITE DATA Address 0x0B 0x50 Communication gt Dynamixel FF FF 00 04 03 0B 50 9D LEN 008 lt Dynamixel F F FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR Example 12 Setting the operating voltage to 10V 17V for a Dynamixel actuator with an ID of 0 10V is represented by 100 0x64 and 17V by 170 0xAA Instruction Packet Instruction WRITE DATA Address 0x0C DATA 0x64 Communication gt Dynamixel FF FF 00 05 03 0C 64 AA DD LEN 009 lt Dynamixel FF FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR DYNAMIXEL 8 67 ROBOTIS Example 13 Setting the maximum torque to 50 of its maximum possible value for a Dynamixel actuator with an ID of 0 Set the MAX Torque value located in the ROM area to Ox1ff which is 50 of the maximum value Ox3ff Instruction Packet Instruction WRITE DATA Address 0xOE DATA Oxff 0x01 Communication gt Dynamixel FF FF 00 05 03 FF 01 E9 LEN 009 lt Dynamixel F F FF 00 02 00 FD LEN 006
28. irmware Version Any Key to Continue RxD8 gbpParameter 0 P_VERSION Address of Firmware Version gbpParameter 1 1 Read Length bTxPacketLength TxPacket bID INST READ 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE gbpParameter HD TxDStr ing r n TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDStr ing RxD PrintBuffer gbpRxBuffer bRxPacketLength if bRxPacketLength DEFAULT RETURN PACKET SIZE gbpParameter 1 TxDStr ing Return Error 7 TxD8Hex gbpRxBuf fer 4 TxDStr ing r n Firmware Version TxD8Hex gbpRxBuffer 5 TxDString YrXnYn Example 3 LED Any Key to Continue RxD80 gbpParameter 0 P LED Address of LED gbpParameter 1 1 Writing Data bTxPacketLength TxPacket bID INST WRITE 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDString CYrXn 0 PrintBuffer gbpTxBuffer bTxPacketLength TxDString CYrXn 0 PrintBuffer gbpRxBuffer bRxPacketLength TxDString YrXnYn Example 4 LED OFF Any Key to Continue RxD80 gbpParameter 0 P LED Address of LED gbpParameter 1 0 Writing Data bTxPacketLength TxPacket bID INST WRITE 2 bRxPacketLength RxPacket DEFAULT RETURN PACKET SIZE TxDStr ing YrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString RxD PrintBuffer gbpRxBuffer bRxPacket
29. n Out Direction Definition RS485_RXD Set RS485 Direction to Input State Seriallnitialize SERIAL PORTO 1 RX INTERRUPT RS485 nitializing RxInterrupt Serial Initialize SERIAL_PORT1 DEFAULT BAUD RATE 0 RS232 Initializing None Interrupt gbRxBufferReadPointer gbRxBufferWritePointer 0 RS485 RxBuffer Clearing sei Enable Interrupt Compiler Function TxDString r n The Example of Dynamixel Evaluation with ATmega128 GCC AVR Dynamixel Communication Function Execution Step Step 1 Parameter Setting gbpParameter In case of no parameter instruction Ex INST PING this step is not needed Step 2 TxPacket ID INSTRUCTION LengthOfParameter Total TxPacket Length is returned Step 3 RxPacket ExpectedReturnPacketLength Real RxPacket Length is returned Step 4 PrintBuffer BufferStartPointer LengthForPr inting 1 TxDStr ing XrYnYn Example 1 Scanning Dynamixels 079 Key to Continue RxD8 for bCount 0 bCount lt 0x0A bCount bTxPacketLength TxPacket bCount INST PING 0 bRxPacketLength RxPacket 255 TxDString CXrXn TxD PrintBuffer gbpTxBuffer bTxPacketLength TxDString RxD PrintBuffer gbpRxBuffer bRxPacketLength if bRxPacketLength DEFAULT RETURN PACKET SIZE TxDString Found ID TxD8Hex bCount bID bCount TxDStr ing r n n Example 2 Read F
30. nstruction register Address 0x2C is set to 1 After the Action Instruction Packetis received the registered Write instruction is finally executed N 3 N is the number of data to be written 0X04 Starting address of the location where the data is to be written 151 data to be written 2nd data to be written Nth data to be written Triggers the action registered by the WRITE instruction 0X02 0X05 NONE The ACTION instruction is useful when multiple Dynamixel actuators need to move simultaneously When controlling multiple Dynamixel actuator units slight time delays can occur between the 1st and last units to receive an instruction The Dynamixel actuator handles this problem by using the ACTION instruction The Broadcast ID OXFE is used when sending ACTION instructions to more than two Dynamixel actuators Note that no packets are returned by this operation Does not command any operations Used for requesting a status packet or to check the existence of a Dynamixel actuator with a specific ID 0X02 0X01 NONE DYNAMIXEL 8 67 ROBOTIS Example 3 Obtaining the status packet of the Dynamixel actuator with an ID of 1 Instruction Packet OXFF OXFF 0X01 0X02 0X01 0XFB CE ADAE NS ID LENGTH INSTRUCTION CHECKSUM The returned Status Packet is as the following Status Packet OXFF OXFF 0X01 0X02 0X00 OXFC UMANE ID LENGTH ERROR CHECKSUM Regardles
31. o 0x200 and Address 0x20 Moving Speed to 0x200 Instruction Packet Instruction WRITE DATA Address 0 1 DATA 0x00 0x02 0x00 0x02 Communication gt Dynamixel FF FF 00 07 03 1E 00 02 00 02 D3 LEN 011 lt Dynamixel F F FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR Example 19 Position the output of a Dynamixel actuator with an ID of 0 to 0 and Position the output of a Dynamixel actuator with an ID of 1 to 300 and initiate the movement at the same time If the WRITE DATA is used the movement of the two actuators cannot be initiate at the same time thus the WRITE and ACTION instructions should be used instead Instruction Packet ID 0 Instruction WRITE Address Ox1E DATA 0x00 0x00 ID 1 Instruction WRITE Address Ox1E DATA Oxff 0x03 ID 0xfe Broadcasting ID Instruction ACTION Communication gt Dynamixel FF FF 00 05 04 1E 00 00 D8 lt Dynamixel F F FF 00 02 00 FD LEN 006 gt Dynamixel FF FF 01 05 04 1E FF 0305 lt Dynamixel FF FF 01 02 00 FC LEN 006 gt Dynamixel FF FF FE 02 05 FA LEN 006 Dynamixel IINo return packet against broadcasting ID LEN 009 LEN 009 Status Packet Result NO ERROR DYNAMIXEL 8 67 ROBOTIS Example 20 Lock addresses except for Address 0x18 Address0x23 for a Dynamixel actuator with an ID of 0 SetAddress Ox2F Lock to 1 Instruction Packet Instruction WRITE DATA Address Ox2F
32. or the Dynamixel actuator to return the Status Packet after receiving an Instruction Packet The Default Value is 160 uSec and can be changed via the Control Table at Address 5 The Main Controller needs to change the Direction Port to input mode during the Return Delay Time after sending an instruction packet Tx Rx Direction ForRS485 UART the transmission ending timing is importantto change the direction to receiving mode The bit definitions within the register that indicates UART STATUS are as the following TXD BUFFER READY BIT Indicates that the transmission DATA can be loaded into the Buffer Note that this only means that the SERIAL TX BUFFER is empty and does not necessarily mean that the all the data transmitted before has left the CPU TXD SHIFT REGISTER EMPTY BIT Set when all the Transmission Data has completed its transmission and left the CPU The TXD BUFFER READY BIT is used when one byte is to be transmitted via the serial communication channel and an example is shown below TxDB yte byte bData while ITXD BUFFER READY wait until data can be loaded SerialTxDBuffer bData II data load to TxD buffer DYNAMIXEL 8 67 ROBOTIS LINE 1 LINE 2 LINE 3 LINE 4 LINE 5 LINE 6 LINE 7 LINE 8 LINE 9 LINE 10 LINE 11 LINE 12 Byte to Byte Time When changing the direction the TXD SHIFT REGISTER EMPTY BIT must be checked The following is an example program that sends an Instruction Packet DIRECTIO
33. pin to pin as shown below Many RX 64 actuators can be controlled with a single bus in this manner Control Box CM 2 Main Controller To operate the Dynamixel actuators the main controller must support TTL level RS485 UART A proprietary controller can be used but the use of the Dynamixel controller CM 2 PLUS is recommended DYNAMIXEL 8 67 ROBOTIS Connection to UART To control the Dynamixel actuators the main controller needs to convert its UART signals to the RS 485 type The recommended circuit diagram for this is shown below PARAR DIRECTION485 3 DE CPU TO 41 L5 i DI GND 1 MAX485 ector D D 485 Link Pin Link to conn CPU RxD CPU TxD Link to CPU UART RxD TxD DIRECTION485 Link to CPU Output Port 485 Direction Select a ink Application Example for RS485 L The power is supplied to the Dynamixel actuator from the main controller through Pin 1 and Pin 2 of the Molex3P connector The circuit shown above is presented only to explain the use of RS485 UART The CM 2 PLUS controller already has the above circuitry built in thus the Dynamixel actuators can be directly connected to it The direction of data signals on the TTL level TxD and RxD depends on the DIRECTIONA85 level as the following When the DIRECTION485 level is High the signal TxD is output as D D When the DIRECTION485 level is Low
34. r signal h gt define cbi REG8 BITNUM REG8 amp BV BITNUM define sbi REG8 BITNUM REGS BV BITNUM typedef unsigned char byte typedef unsigned int word define ON 1 define OFF 0 define _ON 0 define _OFF 1 Control Table Address EEPROM AREA def ine P MODEL NUMBER 0 def ine P MODOEL NUMBER 1 define P VERSION 2 Hdefine P ID 3 define P BAUD RATE 4 define P RETURN DELAY 5 define P CW ANGLE LIMIT L 6 define P CW ANGLE LIMIT H 1 define P_CCW_ANGLE LIMIT L 8 define P CCW ANGLE LIMIT H 9 define P SYSTEM DATA2 0 define P LIMIT TEMPERATURE 1 define P DOWN LIMIT VOLTAGE 12 define P UP LIMIT VOLTAGE 3 def ine P MAX TORQUE L 4 define P MAX TORQUE H 5 define P RETURN LEVEL 6 define P ALARM LED 7 define P ALARM SHUTDOWN 8 define P OPERATING MODE 9 define P DOWN CALIBRATION L 20 define P DOWN CALIBRATION 21 define P UP CALIBRATION L 22 define P UP CALIBRATION H 23 define P TORQUE ENABLE 24 define P LED 25 define P CW COMPLIANCE MARGIN 26 define P COW COMPLIANCE 27 define P CW COMPLIANCE SLOPE 28 define P COW COMPLIANCE SLOPE 29 define P GOAL POSITION L 30 define P GOAL POSITION H 31 def ine P GOAL SPEED 1 32 define P GOAL SPEED 33 define P TORQUE LIMIT L 34 define P TORQUE LIMIT 35 define P PRESENT POSITION L 36 define P PRESENT POSITION 37 define P PRESE
35. rgin to 1 and Compliance Slope to 0x40 for a Dynamixel actuator with an ID of 0 Compliance The Angle Error and Torque Output can be represented with the following graph CW Goal Position CCW CW X Angle Error CCW Even if the position deviates a little from the goal position in the CW direction a large amount of torque is generated in the CCW direction to compensate for this However since inertia must be considered a realistic implementation differs from this approach Considering this the given conditions can be represented by the following graph CW Goal Position CCW CW amp h A Angle Position CCW Compliance Slope AddressOx1D 0x40 about 18 8 CCW Compliance Margin AddressOx1B 0x01 about 0 29 CW Compliance Margin Address0x01A 0x01 about 0 29 CW Compliance Slope AddressOx1C 0x40 about 18 8 O gt DYNAMIXEL 8 67 ROBOTIS Instruction Packet Instruction WRITE DATA Address 0x1A 0x01 0x01 0x40 0x40 Communication gt Dynamixel FF FF 00 07 03 1A 01 01 40 40 59 LEN 011 lt Dynamixel F F FF 00 02 00 FD LEN 006 Status Packet Result NO ERROR The Compliance Slope takes effect with discrete steps of 2 n is integer Thus any Compliance value between 0x11 and 0x20 has identical effects Example 18 Position the output of a Dynamixel actuator with an ID of 0 to 180 with an angular velocity of 057RPM SetAddress Ox1E Goal Position t
36. rns off if set to 0 Address 0x1A 0x1D Compliance Margin and Slope The compliance of the Dynamixel actuator is defined by setting the compliance Margin and Slope This feature can be utilized for absorbing shocks at the output shaft The following graph shows how each compliance value length of A B amp D is defined by the Position Error and applied torque CW Goal Position CC CCW Y axis Output Torque A B C D CCW Compliance Slope Address0x1D B CCW Compliance Margin Address0x1B C CW Compliance Margin Address0x1A D CW Compliance Slope Address0x1C E Punch Address0x30 31 Address 0X1E 0x1F Goal Position Requested angular position for the Dynamixel actuator output to move to Setting this value to Ox3ff moves the output shaft to the position at 300 Goal Position Ox1ff 300 38n0 0 Goal Position Ox3ff 900 360 Goal Position 0 Invalid Angle DYNAMIXEL 8 67 ROBOTIS Address 0x20 0x21 Moving Speed Sets the angular velocity of the output moving to the Goal Position Setting this value to its maximum value of Ox3ff moves the output with an angular velocity of 114 RPM provided that there is enough power supplied The lowest velocity is when this value is set to 1 When set to 0 the velocity is the largest possible for the supplied voltage e g no velocity control is applied Address 0x24 0x25 Present Position Current angular position of the Dynamixel actuator output Address 0x26 0x
37. s of whether the Broadcasting ID is used or the Status Return Level Address 16 is 0 a Status Packet is always returned by the PING instruction 4 5 RESET Function Changes the control table values of the Dynamixel actuator to the Factory Default Value settings Length 0x02 Instruction 0X06 Parameter NONE Example 4 Resetting the Dynamixel actuator with an ID of 0 Instruction Packet OXFF OXFF 0X00 0X02 0X06 OXF 7 e ES ID LENGTH INSTRUCTION CHECKSUM The returned Status Packet is as the following Status Packet OXFF OXFF 0X00 0X02 0X00 OXFD t f N ID LENGTH ERROR CHECKSUM Note the ID of this Dynamixel actuator is now changed to 1 after the RESET instruction DYNAMIXEL 8 67 ROBOTIS 4 6 SYNC WRITE Function Used for controlling many Dynamixel actuators at the same time The communication time decreases by the Synch Write instruction since many instructions can be transmitted by a single instruction However you can use this instruction only when the lengths and addresses of the control table to be written to are the same Also the broadcasting ID needs to be used for transmitting ID OXFE Length L 1 N 4 L Data length for each Dynamixel actuator N The number of Dynamixel actuators Instruction 0X83 Parameter1 Starting address of the location where the data is to be written Parameter2 The length of the data to be written L
38. th a resolution of 1024 steps Compliance Driving The degree of compliance can be adjusted and specified in controlling position Feedback Feedback for angular position angular velocity and load torque are available Alarm System The Dynamixel series robot actuator can alert the user when parameters deviate from user defined ranges e g internal temperature torque voltage etc and can also handle the problem automatically e g torque off Communication Wiring is easy with daisy chain connection and it support communication speeds up to 1M BPS Distributed Control Position velocity compliance and torque can be set with a single command packet thus enabling the main processor to control many Dynamixel units even with very few resources Engineering Plastic The main body of the unit is made with high quality engineering plastic which enables it to handle high torque loads Axis Bearing A bearing is used at the final axis to ensure no efficiency degradation with high external loads Status LED The LED can indicate the error status to the user Frames A hinge frame and a side mount frame are supported by option DYNAMIXEL 8 67 ROBOTIS 1 2 Main Specifications Weight g Gear Reduction Ratio Input Voltage V Final Max Holding Torque kgf cm Sec 60degree Resolution 0 3 Operating Angle 300 Endless Turn Voltage 12V 21V Recommended voltage 18V Max Current 1200mA Operate Temperature 5
39. the signal D D is input as RxD RS485 UART A multi drop method of connecting multiple Dynamixel actuators to a single node is possible by using the RS485 UART Thus a protocol that does not allow multiple transmissions at the same time should be maintained when controlling the Dynamixel actuators Main Controller Multi Drop Link DYNAMIXEL 8 67 ROBOTIS Caution Please ensure that the pin assignments are correct when connecting the Dynamixel actuators Check the current consumption when powering on The current consumption of a single Dynamixel actuator unit in standby mode should be no larger than 50mA Connection Status Verification When power is applied to the Dynamixel actuator the LED blinks twice to confirm its connection Inspection If the above operation was not successful then check the connector pin assignment and the voltage current limit of the power supply DYNAMIXEL 8 67 ROBOTIS 3 Communication Protocol 3 1 Communication Overview Packet The main controller communicates with the Dynamixel units by sending and receiving data packets There are two types of packets the Instruction Packet sent from the main controller to the Dynamixel actuators and the Status Packet sent from the Dynamixel actuators to the main controller Instruction Packet Main ee S Controller Status Packet Communication For the system connection below if the main controller sends
40. tored in each of the addresses in the control table Address 0x00 0x01 Model Number For RX 64 this value is 0X0040 64 Address 0x02 Firmware Version Address 0x03 ID The unique ID number assigned to each Dynamixel actuators for identifying them Different IDs are required for each Dynamixel actuators that are on the same network Address 0x04 Baud Rate Determines the communication speed The computation is done by the following formula Speed BPS 2 2000000 Address4 1 Data Value for each Major Baud Rate 004 4000000 400000 0 000 9 009 2000000 2000000 0 000 Note A maximum Baud Rate error of 396 is within the tolerance of UART communication Caution The initial value of Baudrate is setto 34 57600bps DYNAMIXEL 8 67 ROBOTIS Address 0x05 Return Delay Time The time it takes for the Status Packet return after the Instruction Packet is sent The delay time is given by 2uSec Address5 value Address 0x06 0x07 0x08 0x09 Operating Angle Limit Sets the Dynamixel actuator s operating angle range The Goal Position needs to be within the range of CW Angle Limit lt Goal Position lt CCW Angle Limit An Angle Limit Error will occur if the Goal Position is set outside this range set by the operating angle limits Address 0x0B the Highest Limit Temperature The upper limit of the Dynamixel actuator s operating temperature If the internal temperature of the Dynamixel actuator g
41. us packets LENGTH The length of the packet where its value is Number of parameters N 2 INSTRUCTION The instruction for the Dynamixel actuator to perform PARAMETERO N Used if there is additional information needed to be sent other than the instruction itself CHECK SUM The computation method for the Check Sum is as the following Check Sum ID Length Instruction P arameter1 Parameter N If the calculated value is larger than 255 the lower byte is defined as the checksum value represents the NOT logic operation 3 3 Status Packet Return Packet The Status Packet is the response packet from the Dynamixel units to the Main Controller after receiving an instruction packet The structure of the status packet is as the following OXF FI LENGTH IEERROR PARAMETER1J PARAMETER2 PARAMETER CHECK SUM DYNAMIXEL 8 67 ROBOTIS OXFF ID LENGTH ERROR The meanings of each packet byte definition are as the following The two 0XFF bytes indicate the start of the packet The unique ID of the Dynamixel unit returning the packet The initial value is set to 1 The length of the packet where its value is Number of parameters N 2 The byte representing errors sent from the Dynamixel unit The meaning of each bit is as the following
Download Pdf Manuals
Related Search
Related Contents
01_En_IDK-01_TUC.book 1 ページ 2007年7月30日 Philips Easy8 Ironing board GC240/25 Country Flame CF-04 User's Manual syslog等新機能対応添付資料(PDF形式) Copyright © All rights reserved.
Failed to retrieve file