Robotis Dynamixel RX-28 User Manual

Robotis dynamixel rx-28 user's manual

Advertisement

Quick Links

User's Manual 2007-03-27
Closer to Real,
R
X-28
Dynamixel

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the Dynamixel RX-28 and is the answer not in the manual?

Questions and answers

Summary of Contents for Robotis Dynamixel RX-28

  • Page 1 User’s Manual 2007-03-27 Closer to Real, X-28 Dynamixel...
  • Page 2: Table Of Contents

    DYNAMIXEL RX-28 Contents Summary 1-1. Overview and Characteristics of RX-28 1-2. Main Specifications 2. Dynamixel Operation 2-1. Mechanical Assembly 2-2. Connector Assembly 2-3. Dynamixel Wiring 3. Communication Protocol 3-1. Communication Overview 3-2. Instruction Packet 3-3. Status Packet 3-4. Control Table 4.
  • Page 3: Dynamixel Rx

    It also has the ability to detect and act upon internal conditions such as changes in internal temperature or supply voltage. The Dynamixel RX-28 has many advantages over similar products. Precision Control Position and speed can be controlled with a resolution of 1024 steps.
  • Page 4: Main Specifications

    DYNAMIXEL RX-28 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~16V (Recommended voltage: 14.4V) Max. Current 1200mA ℃ Operate Temperature ~ +85 Command Signal...
  • Page 5: Dynamixel Operation

    DYNAMIXEL RX-28 2. Dynamixel Operation 2-1. Mechanical Assembly Option Frames OF-28B RXOF-28H OF-28S Horn-28T...
  • Page 6: Connector Assembly

    DYNAMIXEL RX-28 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...
  • Page 7: 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-28 can be operated with only one connector attached. ( Note : The pin number of connector’s edge cut side is PIN1)
  • Page 8 DYNAMIXEL RX-28 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-28 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...
  • Page 10: Communication Protocol

    DYNAMIXEL RX-28 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.)
  • Page 11: Instruction Packet

    DYNAMIXEL RX-28 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.
  • Page 12 DYNAMIXEL RX-28 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.
  • Page 13: Control Table

    DYNAMIXEL RX-28 3-4. Control Address Table 0(0X00) 1(0X01) 2(0X02) 3(0X03) 4(0X04) 5(0X05) 6(0X06) 7(0X07) 8(0X08) 9(0X09) 10(0x0A) 11(0X0B) EEPROM 12(0X0C) Area 13(0X0D) 14(0X0E) 15(0X0F) 16(0X10) 17(0X11) 18(0X12) 19(0X13) 20(0X14) 21(0X15) 22(0X16) 23(0X17) 24(0X18) 25(0X19) 26(0X1A) 27(0X1B) 28(0X1C) 29(0X1D) 30(0X1E) 31(0X1F)
  • Page 14 Data Value for each Major Baud Rate Adress4 Note A maximum Baud Rate error of 3% is within the tolerance of UART communication. Caution The initial value of Baudrate is set to 34(57600bps) For RX-28, this value is 0X001C (28). Set BPS 0X01 1000000.0 0X03 500000.0 0X04 400000.0...
  • Page 15 DYNAMIXEL RX-28 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...
  • Page 16 DYNAMIXEL RX-28 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.
  • Page 17 DYNAMIXEL RX-28 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.
  • Page 18 DYNAMIXEL RX-28 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 the maximum angular velocity which depends on the level of power supplied and Dynamixel series.
  • Page 19 DYNAMIXEL RX-28 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.
  • Page 20: Instruction Set And Examples

    DYNAMIXEL RX-28 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...
  • Page 21 DYNAMIXEL RX-28 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...
  • Page 22: Reg Write And Action

    DYNAMIXEL RX-28 4-3. REG_WRITE과 ACTION 4-3-1. REG_WRITE Function The REG_WRITE instruction is similar to the WRITE_DATA instruction, but the 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.
  • Page 23: Ping

    DYNAMIXEL RX-28 4-4. PING Function Does not command any operations. Used for requesting a status packet or to check the existence of a Dynamixel actuator with a specific ID. Length 0X02 Instruction 0X01 Parameter NONE Example 3 Obtaining the status packet of the Dynamixel actuator with an ID of 1...
  • Page 24: Syncwrite

    DYNAMIXEL RX-28 The returned Status Packet is as the following Status Packet : 0XFF 0XFF 0X00 0X02 0X00 0XFD Note the ID of this Dynamixel actuator is now changed to 1 after the RESET instruction. 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.
  • Page 25 DYNAMIXEL RX-28 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 : 0XFF 0XFF 0XFE 0X18 0X83 0X1E 0X04 0X00 0X10 0X00 0X50...
  • Page 26: Example

    <-[Dynamixel]:FF FF 01 05 00 1C 00 08 D5 (LEN:009) Status Packet Result Model Number = 28 (0x1C) (for the case of RX-28) Firmware Version = 0x08 Example 7 Changing the ID to 0 for a Dynamixel actuator with an ID of 1...
  • Page 27 DYNAMIXEL RX-28 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 28 DYNAMIXEL RX-28 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 29 DYNAMIXEL RX-28 Instruction Packet Instruction = WRITE_DATA, Address = 0x18, DATA = 0x01, 0x01 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 30 DYNAMIXEL RX-28 D : CW Compliance Slope (Address0x1C) = 0x40 (about 18.8°) 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)
  • Page 31 DYNAMIXEL RX-28 Status Packet Result NO ERROR 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)
  • Page 32: Appendix

    DYNAMIXEL RX-28 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 33 DYNAMIXEL RX-28 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 34 DYNAMIXEL RX-28 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>...
  • Page 35 DYNAMIXEL RX-28 // --- 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 36 DYNAMIXEL RX-28 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-28 Print value of Baud Rate. void PrintBaudrate(void) TxDString("\r\n RS232:");TxD32Dec((16000000L/8L)/((long)UBRR1L+1 L) ); TxDString(" BPS,"); TxDString(" RS485:");TxD32Dec((16000000L/8L)/((long)UBRR0L+1L) ); TxDString(" BPS"); /*Hardware Dependent Item*/ #define TXD1_READY bit_is_set(UCSR1A,5) //(UCSR1A_Bit5) #define TXD1_DATA (UDR1) #define RXD1_READY bit_is_set(UCSR1A,7) #define RXD1_DATA (UDR1) #define TXD0_READY bit_is_set(UCSR0A,5) #define TXD0_DATA...
  • Page 38 DYNAMIXEL RX-28 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...
  • Page 39 DYNAMIXEL RX-28 Dimension...

Table of Contents