DYNAMIXEL AX-12 1. Dynamixel AX-12 1-1. Overview and Characteristics of AX-12 Dynamixel AX-12 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 AX-12 1-2. Main Specifications Weight (g) Gear Reduction Ratio Input Voltage (V) Final Max Holding Torque(kgf.cm) Sec/60degree Resolution 0.35° Operating Angle 300°, Endless Turn Voltage 7V~10V (Recommended voltage: 9.6V) Max. Current 900mA ℃ Operate Temperature ~ +85 Command Signal Digital Packet Protocol Type Half duplex Asynchronous Serial Communication (8bit,1stop,No Parity)
DYNAMIXEL AX-12 2. Dynamixel Operation 2-1. Mechanical Assembly Frames Provided The two frames provided with AX-12 are shown below. OF-12SH Installation The OF-12SH (hinge frame) can be installed on the AX-12 as the following. OF-12S Installation The OF-12S (side mount frame) can be installed on the AX-12 as the following. The OF- 12S can be mounted on any of the three faces (left, right, or under side) of the AX-12 body as needed.
DYNAMIXEL AX-12 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 AX-12 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 AX-12 can be operated with only one connector attached. Wiring Connect the AX-2 actuators pin to pin as shown below. Many AX-12 actuators can be controlled with a single bus in this manner.
Page 8
DYNAMIXEL AX-12 bioloid A robot can be built using only the CM-5 controller and a number of AX-12 actuators. An edutainment robotic kit named “Bioloid” is available which is based on the CM-5 controller and the AX-12 actuators. For details, please refer to the Bioloid manual. Connection to UART To control the Dynamixel actuators, the main controller needs to convert its UART signals to the half duplex type.
Page 9
DYNAMIXEL AX-12 • When the DIRECTION_PORT level is High: the signal TxD is output as Data • When the DIRECTION_PORT level is Low: the signal Data is input as RxD Half Duplex UART A multi-drop method of connecting multiple Dynamixel actuators to a single node is possible by using the half duplex UART.
DYNAMIXEL AX-12 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...
DYNAMIXEL AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 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 AX-12 Appendix Half duplex UART Half duplex 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 AX-12 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 AX-12 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 AX-12 // --- 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 AX-12 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 AX-12 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 or www.molex.co.jp for more detail information Female Connector Male Connector Pin No.1...
Page 38
DYNAMIXEL AX-12 Dimension CM-5 Dedicated AX-12 control box. Able to control 30 AX-12 actuators. 6 push buttons (5 for selection, 1 for reset) Optional installable wireless devices available Battery compartment (AA x 8) with recharging capability (when connected to an external SMPS) CM-5...
Need help?
Do you have a question about the Dynamixel AX-12 and is the answer not in the manual?
Questions and answers