Robotis Dynamixel DX-116 User Manual

Robotis co. ltd. user's manual smart actuator dx-116

Advertisement

Quick Links

User's Manual 2004-04-02
Closer to Real,
Dynamixel
DX-116

Advertisement

Table of Contents
loading
Need help?

Need help?

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

Questions and answers

Subscribe to Our Youtube Channel

Summary of Contents for Robotis Dynamixel DX-116

  • Page 1 User’s Manual 2004-04-02 Closer to Real, Dynamixel DX-116...
  • Page 2: Table Of Contents

    DYNAMIXEL DX-116 Contents 1. Summary 1-1. Overview & Characteristics of DX-116 1-2. Main Specification 2. Dynamixel Assembly 2-1. Mechanical Parts 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: Overview & Characteristics Of Dx-116

    DYNAMIXEL DX-116 1. Dynamixel DX-116 1-1. Overview & Characteristics of DX-116 Dynamixel DX-116 The Dynamixel is a smart actuator which incorporates a precision servo motor and a control unit with networking functionality, all in a single unit. Despite its compact size, it can produce high torque and has been manufactured using high quality materials to provide the necessary strength and structural resilience.
  • Page 4 DYNAMIXEL DX-116 Metal Gears All the gear sets are made of metal to ensure extreme durability. Axis Bearing A bearing is used on the final axis to ensure there is no loss of efficiency during heavily loaded conditions. Status LED A LED indicates error status.
  • Page 5: Main Specification

    DYNAMIXEL DX-116 1-2. Main Specification Holding Torque 31.5kg·cm (18V) ~ 21 kg·cm (12V) Reduction ratio 1/140 Speed 0.084sec/60° (18V) ~ 0.125sec/60° (12V) Resolution 0.35° Operating Angle 300° Voltage 12V~18V (Recommended voltage: 14~15V) Max. Current 1200mA Operating Temp. -5℃ ~ +85℃...
  • Page 6: Mechanical Parts Assembly

    DYNAMIXEL DX-116 2. Installation of Dynamixel 2-1. Mechanical Parts Assembly Mechanical Parts of Dynamixel are assembled as follows: Nut(8EA) The 8 sets of Nuts & Screws are only used when a Dynamixel is mounted to other equipment. 2-2. Connector Assembly Assemble the connectors as shown below.
  • Page 7 DYNAMIXEL DX-116 2-3. Wiring of Dynamixel Pin Assignment Pin assignments of the connectors are as follows:- Pin 1: GND Pin 2: +12V~18V Pin 3: D+ (RS485 Signal) Pin 4: D- (RS485 Signal) Wire Link Connect the same pin numbers as shown below.
  • Page 8 DYNAMIXEL DX-116 Please refer to the Cycloid-M2 Board manual for more details. Connection to UART To control the Dynamixel, the main Controller needs to convert the signals to RS485. The recommended schematic configuration is as follows:- 전원은 Main Controller의 Molex4P Connector의 Pin1,Pin2를 통하여 Dynamixel로...
  • Page 9 DYNAMIXEL DX-116 RS485 A multi-dropped RS485 (IEEE485) network is established from the main controller. Data Packets are then issued through this single portal. Main Controller Please note that caution should be applied when connecting the Dynamixel units to ensure that the pin assignments are correct.
  • Page 10: Communication Protocol

    DYNAMIXEL DX-116 3. Communication Protocol 3-1. Communication Overview Packet The Main Controller communicates with the Dynamixel by sending and receiving data packets. There are two types of packets, the Instruction Packet (Main Controller to Dynamixel) and the Status Packet (Dynamixel to Main Controller)
  • Page 11 DYNAMIXEL DX-116 3-2. Instruction Packet The structure of the Instruction Packet is as follows: Instruction Packet OXFF 0XFF ID LENGTH INSTRUCTION PARAMETER1 …PARAMETER N CHECK The packet byte definitions are as follows:- 0XFF 0XFF Two 0XFF bytes indicate the start of an incoming packet.
  • Page 12 DYNAMIXEL DX-116 OXFF 0XFF ID LENGTH ERROR PARAMETER1 PARAMETER2…PARAMETER N CHECK SUM The meaning of each byte within the packet is as follows:- 0XFF 0XFF Two 0XFF bytes indicate the start of a packet ID of the Dynamixel which is returning the packet.
  • Page 13: Control Table

    DYNAMIXEL DX-116 3-4. Control Addre ss 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)
  • Page 14 Please note the following meanings for data assigned to each address in the control table. Address 0x00,0x01 Model Number. In the case of the DX-116, the value is 0X0074(116). Address 0x02 Firmware Version. Address 0x03 ID.
  • Page 15 DYNAMIXEL DX-116 receive the requested Status Packet. The delay time is given by 2uSec * Address5 value. Address 0x06,0x07,0x08,0x09 Operating Angle Limit. Set the operating angle to restrict the Dynamixel’s angular range. The Goal Position needs to be within the range of:- CW Angle Limit <= Goal Position <= CCW Angle Limit...
  • Page 16 Alarm LED, after returning to a normal condition, it maintains a torque off status. To remove this restriction, Torque Enable (Address0X18) is required to be set to 1. Address 0x14~0x17 Calibration. Data used for compensating for the differences between Robotis products. Users cannot change this area. Func tion Func tion English Translation by: Tribotix Pty Ltd www.tribotix.com...
  • Page 17 DYNAMIXEL DX-116 From Address 0x18 in the RAM area. Address 0x18 Torque Enable. When power is first applied the Dynamixel enters the Torque Free Run condition. To allow torque to be applied Address 0x18 must be set to 1. (Torque Enabled Condition) Address 0x19 LED is on when set to 1 and LED is off if set to 0.
  • Page 18 DYNAMIXEL DX-116 (Goal Position = 0x3ff) Address 0x20,0x21 Moving Speed. The angular speed to move to the Goal Position. If set to the maximum values of 0x3ff, it moves at 70RPM. Address 0x24,0x25 Present Position. Current position of the Dynamixel.
  • Page 19 DYNAMIXEL DX-116 Address 0x2F Lock. If set to 1, only Address 0x18 ~ Address 0x23 can be written to. Other areas are not permitted. Once locked, it can only be unlocked by powering down. Address 0x30,0x31 Punch. Minimum current being supplied to the motor during an action. The minimum value is 0x20 and the maximum value as 0x3ff.
  • Page 20: Write _Data

    DYNAMIXEL DX-116 4. Instruction Set and Examples The following Instructions are available. Ins tr uc tion Na me PING READ_DAT A Re a d the va lue s in the Contr ol T a ble . WRIT E_DAT A Wr ite the va lue s to the Contr ol T a ble .
  • Page 21: Reg_Write And Action

    DYNAMIXEL DX-116 Broadcasting ID (0xFE). Instruction Packet : 0XFF 0XFF 0XFE 0X04 0X03 0X03 0X01 0XF6` Because it was transmitted by Broadcast ID(0XFE), no return status packet. 4-2. READ_DATA Function Read data from the Control Table of Dynamixel. Length 0X04...
  • Page 22: Ping

    DYNAMIXEL DX-116 Function 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 saved into the Buffer and the Write instruction is under a standby status. The Registered Instruction register (Address 0x2C) is set to 1. After an Action Instruction Packet is received the registered Write instruction is executed.
  • Page 23: Reset

    DYNAMIXEL DX-116 Example 3 To obtain the status packet of a Dynamixel with ID=1 Instruction Packet : 0XFF 0XFF 0X01 0X02 0X01 0XFB` The returned Status Packet is as follow; Status Packet : 0XFF 0XFF 0X01 0X02 0X00 0XFC 4-5. RESET...
  • Page 24: Example

    DYNAMIXEL DX-116 5. Example Used to explain through example with the assumption that the Dynamixel has been Reset (ID = 1, Baudrate = 57142BPS) Example 5 Read the Model Number and Firmware Version of a Dynamixel with ID=1 Instruction Packet...
  • Page 25 DYNAMIXEL DX-116 The best approach is to set the Return Delay Time to the minimum value the Main Controller will allow. Example 9 Limit the the operative angles of a Dynamixel with ID=0 to 0~150°. If CCW Angle Limit is 0x3ff, it is 300°, therefore the values for 150°is 0x1ff.
  • Page 26 DYNAMIXEL DX-116 Instruction Packet Instruction = WRITE_DATA, Address = 0x0E, DATA = 0xff, 0x01 Communication ->[Dynamixel]:FF FF 00 05 03 0E FF 01 E9 (LEN:009) <-[Dynamixel]:FF FF 00 02 00 FD (LEN:006) Status Packet Result NO ERROR After a power off and on, you can check the effect of the changes in max torque.
  • Page 27 DYNAMIXEL DX-116 Example 16 Set the Dynamixel with ID=0 to have a Compliance Margin = 1 and Compliance Slope=0x40 The following graph shows the Angle Error and Torque Output. If the position is slightly deviated from the goal position, the motor will generate a high torque to try to adjust its position to that of the goal position.
  • Page 28 DYNAMIXEL DX-116 number), that is, the effect of the values of Compliance between 0x11 and 0x20 are the same. Example 17 Position Dynamixel with ID=0 at Position 180°after moving it at the speed of 35RPM. Set Address 0x1E(Goal Position) = 0x200, Address 0x20(Moving Speed) =...
  • Page 29 DYNAMIXEL DX-116 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 NO ERROR If Locked, it can only be unlocked by removing power.
  • Page 30: Appendix

    DYNAMIXEL DX-116 Appendix RS485 Direction The Main Controller sets the RS485 communication direction to be an input at all times other than when specifically sending an instruction packet. RS485 Direction Output Duration Return Delay Time The Default Value is 160us and can be changed via the Control Table at Address 0x05.
  • Page 31 DYNAMIXEL DX-116 TXD_SHIFT_REGISTER_EMPTY_BIT. An example program to send an Instruction packet:- LINE 1 PORT_485_DIRECTION = TX_DIRECTION; LINE 2 TxDByte(0xff); LINE 3 TxDByte(0xff); LINE 4 TxDByte(bID); LINE 5 TxDByte(bLength); LINE 6 TxDByte(bInstruction); LINE 7 TxDByte(Parameter0); TxDByte(Parameter1); … LINE 8 DisableInterrupt(); // interrupt should be disabled LINE 9 TxDByte(Checksum);...
  • Page 32 DYNAMIXEL DX-116 C Language Example #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <dos.h> #include <mem.h> #define MCS80 #include "..\..\base.h" #include "..\lib188es.c" #define RS485_DIRECTION_BIT 0x2000 #define RS485_TXD (SET_PORT1(RS485_DIRECTION_BIT)) #define RS485_RXD (RESET_PORT1(RS485_DIRECTION_BIT)) #define BROADCASTING_ID #define MEMORY_SPARE #define ADDRESS_TORQUE_ENABLE #define ADDRESS_OPERATING_MODE #define ADDRESS_ID...
  • Page 33 DX-116 SetInterrupt(INUM_SERIAL0,Serial0Interrupt,INT_ENABLE|INT_RX, 7/*Priority*/); //Memory Initialize gbRxBufferReadPointer = gbRxBufferWritePointer = 0; STI; //Interrupt Enable * Example For Driving Dynamixel DX-116 TxDString("\r\n\n Dynamixel Driving Sample Program"); //Set ID to 3 bpParameter[0] = ADDRESS_ID; bpParameter[1] = 3; bPacketLength = TxPacket(bpTxBuffer, BROADCASTING_ID, INST_WRITE, bpParameter, 2/*Length of Parameter*/);...
  • Page 34 DYNAMIXEL DX-116 #define RX_TIMEOUT_COUNT2 10000L //10mSec #define RX_TIMEOUT_COUNT1 (RX_TIMEOUT_COUNT2*10L) //1Sec unsigned long ulCounter; byte bCount; ulCounter = 0; while(gbRxBufferReadPointer == gbRxBufferWritePointer) if(ulCounter++ > RX_TIMEOUT_COUNT1) return 0; bCount = 0; for(bCount = 0; bCount < 254; bCount++) //Maximum Data Length Limit : 255 ulCounter = 0;...
  • Page 35 DYNAMIXEL DX-116 TxD8Hex(bpPrintBuffer[bCount]); TxD8(' '); Result 0xFE is BROADCAST_ID, so Dynamixel does not return status packet.(First 2 Instruction Packet) Set ID to 3 Motor Torque Enable English Translation by: Tribotix Pty Ltd www.tribotix.com...
  • Page 36 DYNAMIXEL DX-116 Connector Company Name : Molex Pin Number: 4 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 Female Connector Male Connector Pin No.1...
  • Page 37 DYNAMIXEL DX-116 Dimension Motor Curve(No reduction gear state) English Translation by: Tribotix Pty Ltd www.tribotix.com...
  • Page 38 DYNAMIXEL DX-116 Optional Frame Application Example OF116H OF116S OF116B Body to Body Mount English Translation by: Tribotix Pty Ltd www.tribotix.com...
  • Page 39 DYNAMIXEL DX-116 Full Option frame 23Axis frame full Set Helmet and hands plastic is not included in frame set Cycloid M2 Board - The Custom-Built Controller for Dynamixel - Optional Part : Blue-tooth module, RS232 UART, and 6-button blue-tooth remocon.
  • Page 40 DYNAMIXEL DX-116 Application Example CYCLOIDⅡ English Translation by: Tribotix Pty Ltd www.tribotix.com...

Table of Contents