DYNAMIXEL RX-64 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.
DYNAMIXEL RX-64 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 ~ +85 ℃ Command Signal Digital Packet Protocol Type RS485 Asynchronous Serial Communication (8bit,1stop,No Parity)
DYNAMIXEL RX-64 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.
DYNAMIXEL RX-64 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+...
Page 8
DYNAMIXEL RX-64 Connection to UART To control the Dynamixel actuators, the main controller needs to convert its UART signals to the RS485 type. The recommended circuit diagram for this is shown below.\ The power is supplied to the Dynamixel actuator from the main controller through Pin 1 and Pin 2 of the Molex3P connector.
Page 9
DYNAMIXEL RX-64 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.
DYNAMIXEL RX-64 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.) Communication For the system connection below, if the main controller sends an instruction packet with...
Page 11
DYNAMIXEL RX-64 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 OXFF 0XFF ID LENGTH INSTRUCTION PARAMETER1 …PARAMETER N CHECK SUM The meanings of each packet byte definition are as the following.
DYNAMIXEL RX-64 The meanings of each packet byte definition are as the following. 0XFF 0XFF 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. LENGTH The length of the packet where its value is “Number of parameters (N) + 2”...
Page 14
DYNAMIXEL RX-64 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.
Page 15
DYNAMIXEL RX-64 Address 0x05 Return Delay Time. The time it takes for the Status Packet to 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 <= Goal Position <= CCW Angle Limit.
Page 16
DYNAMIXEL RX-64 In the case of an instruction which uses the Broadcast ID (0XFE) 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 7 Bit 6 Bit 5...
Page 17
DYNAMIXEL RX-64 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 turns off if set to 0. Address 0x1A~0x1D Compliance Margin and Slope.
Page 18
DYNAMIXEL RX-64 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 0x3ff 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.
Page 19
DYNAMIXEL RX-64 Goal Speed Setting Value Turn Direction = 0 : CCW Direction Turn, 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.
DYNAMIXEL RX-64 4. Instruction Set and Examples The following Instructions are available. Instruction PING READ DATA W RITE DATA REG W RITE ACTION RESET SYNC W RITE 4-1. WRITE_DATA Function To write data into the control table of the Dynamixel actuator Length N+3 (N is the number of data to be written) Instruction...
DYNAMIXEL RX-64 Instruction Packet : 0XFF 0XFF 0XFE 0X04 0X03 0X03 0X01 0XF6` Because it was transmitted with a Broadcast ID (0XFE), no status packets are returned. 4-2. READ_DATA Function Read data from the control table of a Dynamixel actuator Length 0X04 Instruction...
DYNAMIXEL RX-64 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. At this time, the Registered Instruction register (Address 0x2C) is set to 1. After the Action Instruction Packet is received, the registered Write instruction is finally executed.
DYNAMIXEL RX-64 Example 3 Obtaining the status packet of the Dynamixel actuator with an ID of 1 Instruction Packet : 0XFF 0XFF 0X01 0X02 0X01 0XFB` The returned Status Packet is as the following Status Packet : 0XFF 0XFF 0X01 0X02 0X00 0XFC Regardless 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.
DYNAMIXEL RX-64 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.
DYNAMIXEL RX-64 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...
Page 26
DYNAMIXEL RX-64 Instruction Packet Instruction = WRITE_DATA, Address = 0x05, DATA = 0x02 Communication ->[Dynamixel]:FF FF 00 04 03 05 02 F1 (LEN:008) <-[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.
Page 27
DYNAMIXEL RX-64 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 0x1ff which is 50% of the maximum value 0x3ff.
Page 28
DYNAMIXEL RX-64 Communication ->[Dynamixel]:FF FF 00 05 03 18 01 01 DD (LEN:009) <-[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.
Page 29
DYNAMIXEL RX-64 Instruction Packet Instruction = WRITE_DATA, Address = 0x1A, DATA = 0x01, 0x01, 0x40, 0x40 Communication ->[Dynamixel]:FF FF 00 07 03 1A 01 01 40 40 59 (LEN:011) <-[Dynamixel]:FF FF 00 02 00 FD (LEN:006) Status Packet Result NO ERROR The Compliance Slope takes effect with discrete steps of 2 Compliance value between 0x11 and 0x20 has identical effects.
Page 30
DYNAMIXEL RX-64 Example 20 Lock all addresses except for Address 0x18 ~ Address0x23 for a Dynamixel actuator with an ID of 0 Set Address 0x2F (Lock) to 1. Instruction Packet Instruction = WRITE_DATA, Address = 0x2F, DATA = 0x01 Communication ->[Dynamixel]:FF FF 00 04 03 2F 01 C8 (LEN:008) <-[Dynamixel]:FF FF 00 02 00 FD (LEN:006) Status Packet Result...
DYNAMIXEL RX-64 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.
Page 32
DYNAMIXEL RX-64 When changing the direction, the TXD_SHIFT_REGISTER_EMPTY_BIT must be checked. The following is an example program that sends an Instruction Packet. LINE 1 DIRECTION_PORT = TX_DIRECTION; LINE 2 TxDByte(0xff); LINE 3 TxDByte(0xff); LINE 4 TxDByte(bID); LINE 5 TxDByte(bLength); LINE 6 TxDByte(bInstruction);...
Page 33
DYNAMIXEL RX-64 C Language Example : Dinamixel access with Atmega128 * The Example of Dynamixel Evaluation with Atmega128 * Date : 2005.5.11 * Author : BS KIM * included files #define ENABLE_BIT_DEFINITIONS //#include <io.h> #include <inttypes.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h>...
Page 34
DYNAMIXEL RX-64 // --- Gloval Variable Number --- volatile byte gbpRxInterruptBuffer[256]; byte gbpParameter[128]; byte gbRxBufferReadPointer; byte gbpRxBuffer[128]; byte gbpTxBuffer[128]; volatile byte gbRxBufferWritePointer; int main(void) byte bCount,bID, bTxPacketLength,bRxPacketLength; PortInitialize(); //Port In/Out Direction Definition RS485_RXD; //Set RS485 Direction to Input State. SerialInitialize(SERIAL_PORT0,1,RX_INTERRUPT);//RS485 Initializing(RxInterrupt) SerialInitialize(SERIAL_PORT1,DEFAULT_BAUD_RATE,0);...
Page 35
DYNAMIXEL RX-64 while(1); void PortInitialize(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); //All Port Pull Up ready DDRE |= (BIT_RS485_DIRECTION0|BIT_RS485_DIRECTION1);...
Page 37
DYNAMIXEL RX-64 Connector Company Name : Molex Pin Number: 4 (or 5 for Optional VCC 5V) Model Number Male Female Temperature range : -40°C to +105°C Contact Insertion Force-max : 14.7N (3.30 lb) Contact Retention Force-min : 14.7N (3.30 lb) www.molex.com or www.molex.co.jp for more detail information Female Connector Male Connector...
Page 38
DYNAMIXEL RX-64 Dimension 34,6 40,2 34,6 40,2 34,6 40,2 8-M2.5T AP TH R U 8-M2.5T AP TH R U 8-M2.5T AP TH R U M3TAP DP 8 8-M2.5TAP TH R U...
Need help?
Do you have a question about the Dynamixel RX-64 and is the answer not in the manual?
Questions and answers