AX-12/ AX-12+/ AX-12A

Part Photo

[AX-12/12+]                                    [AX-12A]

 

※ AX-12+ is the improved version of existing AX-12; the design of circuit, material, and wheel gear are specially improved.

※ AX-12A is a new version of the AX-12+ with the same performance but more advanced external design. Only the AX-12A is now being sold.

 

H/W Specification

§       0° ~ 300°

§       Endless Turn

 

Stall torque is the maximum instantaneous and static  torque

Stable motions are possible with robots designed for loads with 1/5 or less of the stall torque

 

 

Control Table

Control Table consists of data regarding the current status and operation, which exists inside of Dynamixel. The user can control Dynamixel by changing data of Control Table via Instruction Packet.

EEPROM and RAM

Data in RAM area is reset to the initial value whenever the power is turned on while data in EEPROM area is kept once the value is set even if the power is turned off.

Address

It represents the location of data. To read from or write data to Control Table, the user should assign the correct address in the Instruction Packet.

Access

Dynamixel has two kinds of data: Read-only data, which is mainly used for sensing, and Read-and-Write data, which is used for driving.

Initial Value

In case of data in the EEPROM Area, the initial values on the right side of the below Control Table are the factory default settings. In case of data in the RAM Area, the initial values on the right side of the above Control Tables are the ones when the power is turned on.

Highest/Lowest Byte

In the Control table, some data share the same name, but they are attached with (L) or (H) at the end of each name to distinguish the address. This data requires 16bit, but it is divided into 8bit each for the addresses (low) and (high). These two addresses should be written with one Instruction Packet at the same time.

 

Area

Address (Hexadecimal)

Name

Description

Access

Initial Value

(Hexadecimal)

E

E

P

R

O

M

0 (0X00)

Model Number(L)

Lowest byte of model number

R

12 (0X0C)

1 (0X01)

Model Number(H)

Highest byte of model number

R

0 (0X00)

2 (0X02)

Version of Firmware

Information on the version of firmware

R

-

3 (0X03)

ID

ID of Dynamixel

RW

1 (0X01)

4 (0X04)

Baud Rate

Baud Rate of Dynamixel

RW

1 (0X01)

5 (0X05)

Return Delay Time

Return Delay Time

RW

250 (0XFA)

6 (0X06)

CW Angle Limit(L)

Lowest byte of clockwise Angle Limit

RW

0 (0X00)

7 (0X07)

CW Angle Limit(H)

Highest byte of clockwise Angle Limit

RW

0 (0X00)

8 (0X08)

CCW Angle Limit(L)

Lowest byte of counterclockwise Angle Limit

RW

255 (0XFF)

9 (0X09)

CCW Angle Limit(H)

Highest byte of counterclockwise Angle Limit

RW

3 (0X03)

11 (0X0B)

the Highest Limit Temperature

Internal Limit Temperature

 RW

70 (0X46)

12 (0X0C)

the Lowest Limit Voltage

Lowest Limit Voltage

RW

60 (0X3C)

13 (0X0D)

the Highest Limit Voltage

Highest Limit Voltage

RW

140 (0XBE)

14 (0X0E)

Max Torque(L)

Lowest byte of Max. Torque

RW

255 (0XFF)

15 (0X0F)

Max Torque(H)

Highest byte of Max. Torque

RW

3 (0X03)

16 (0X10)

Status Return Level

Status Return Level

RW

2 (0X02)

17 (0X11)

Alarm LED

LED for Alarm

RW

36(0x24)

18 (0X12)

Alarm Shutdown

Shutdown for Alarm

RW

36(0x24)

R

A

M

24 (0X18)

Torque Enable

Torque On/Off

RW

0 (0X00)

25 (0X19)

LED

LED On/Off

RW

0 (0X00)

26 (0X1A)

CW Compliance Margin

CW Compliance margin

RW

1 (0X01)

27 (0X1B)

 CCW Compliance Margin

CCW Compliance margin

RW

1 (0X01)

28 (0X1C)

CW Compliance Slope

CW Compliance slope

RW

32 (0X20)

29 (0X1D)

CCW Compliance Slope

CCW Compliance slope

RW

32 (0X20)

30 (0X1E)

Goal Position(L)

Lowest byte of Goal Position

RW

-

31 (0X1F)

Goal Position(H)

Highest byte of Goal Position

RW

-

32 (0X20)

Moving Speed(L)

Lowest byte of Moving Speed

RW

-

33 (0X21)

Moving Speed(H)

Highest byte of Moving Speed

RW

-

34 (0X22)

Torque Limit(L)

Lowest byte of Torque Limit

RW

ADD14

35 (0X23)

Torque Limit(H)

Highest byte of Torque Limit

RW

ADD15

36 (0X24)

Present Position(L)

Lowest byte of Current Position

R

-

37 (0X25)

Present Position(H)

Highest byte of Current Position

R

-

38 (0X26)

Present Speed(L)

Lowest byte of Current Speed

R

-

39 (0X27)

Present Speed(H)

Highest byte of Current Speed

R

-

40 (0X28)

Present Load(L)

Lowest byte of Current Load

R

-

41 (0X29)

Present Load(H)

Highest byte of Current Load

R

-

42 (0X2A)

Present Voltage

Current Voltage

R

-

43 (0X2B)

Present Temperature

Current Temperature

R

-

44 (0X2C)

Registered

Means if Instruction is registered

R

0 (0X00)

46 (0X2E)

Moving

Means if there is any movement

R

0 (0X00)

47 (0X2F)

Lock

Locking EEPROM

RW

0 (0X00)

48 (0X30)

Punch(L)

Lowest byte of Punch

RW

32 (0X20)

49 (0X31)

Punch(H)

Highest byte of Punch

RW

0 (0X00)

 

 

Address Function Help

EEPROM Area

Model Number

It represents the Model Number.

 

Firmware Version

It represents the firmware version.

 

ID

It is a unique number to identify Dynamixel.

The range from 0 to 252 (0xFC) can be used, and, especially, 254(0xFE) is used as the Broadcast ID.
If the Broadcast ID is used to transmit Instruction Packet, we can command to all Dynamixels.

 

Please be careful not to duplicate the ID of connected Dynamixel.

 

Baud Rate

It represents the communication speed. 0 to 254 (0xFE) can be used for it.

This speed is calculated by using the below formula.

Speed(BPS)  = 2000000/(Data+1)

Data

Set BPS

Target BPS

Tolerance

1

    1000000.0  

    1000000.0  

  0.000 %

3

      500000.0  

      500000.0  

  0.000 %

4

      400000.0  

      400000.0  

  0.000 %

7

      250000.0  

      250000.0  

  0.000 %

9

      200000.0  

      200000.0  

  0.000 %

16

      117647.1

      115200.0  

 -2.124 %

34

        57142.9

        57600.0  

  0.794 %

103

        19230.8

        19200.0  

 -0.160 %

207

          9615.4

          9600.0  

 -0.160 %

 

Note : Maximum Baud Rate error of 3% is within the tolerance of UART communication.

 

 

Return Delay Time

It is the delay time per data value that takes from the transmission of Instruction Packet until the return of Status Packet.

0 to 254 (0xFE) can be used, and the delay time per data value is 2 usec.

That is to say, if the data value is 10, 20 usec is delayed. The initial value is 250 (0xFA) (i.e., 0.5 msec).

 

CW/CCW Angle Limit

The angle limit allows the motion to be restrained.
The range and the unit of the value is the same as Goal Position(Address 30, 31).

The following two modes can be set pursuant to the value of CW and CCW.

Operation Type

CW / CCW

Wheel Mode

 both are 0

Joint Mode

neither at 0

Multi-turn Mode

both are 4095

The wheel mode can be used to wheel-type operation robots since motors of the robots spin infinitely.

The joint mode can be used to multi-joints robot since the robots can be controlled with specific angles.

 

The Highest Limit Temperature

Caution : Do not set the temperature lower/higher than the default value.

When the temperature alarm shutdown occurs, wait 20 minutes to cool the temperature before re-use.

Using the product when the temperature is high may and can cause damage.

 

The Lowest (Highest) Limit Voltage

It is the operation range of voltage.

50 to 250 (0x32 ~ 0x96) can be used.  The unit is 0.1V.

For example, if the value is 80, it is 8V.

If Present Voltage (Address42) is out of the range, Voltage Range Error Bit (Bit0) of Status Packet is returned as ‘1’ and Alarm is triggered as set in the addresses 17 and 18.

 

Max Torque

It is the torque value of maximum output. 0 to 1023 (0x3FF) can be used, and the unit is about 0.1%.

For example, Data 1023 (0x3FF) means that Dynamixel will use 100% of the maximum torque it can produce while Data 512 (0x200) means that Dynamixel will use 50% of the maximum torque. When the power is turned on, Torque Limit (Addresses 34 and 35) uses the value as the initial value.

 

Status Return Level

It decides how to return Status Packet. There are three ways like the below table.

Value

Return of Status Packet

0

  No return against all commands (Except PING Command)

1

  Return only for the READ command

2

  Return for all commands

 

When Instruction Packet is Broadcast ID, Status Packet is not returned regardless of Status Return Level.

 

Alarm LED

Alarm Shutdown

Dynamixel can protect itself by detecting errors occur during the operation.  

The errors can be set are as the table below.

 

Bit

Name

Contents

Bit 7

0

-

Bit 6

Instruction Error

When undefined Instruction is transmitted or the Action command is delivered without

  the reg_write command

Bit 5

Overload Error When the current load cannot be controlled with the set maximum torque

Bit 4

CheckSum Error When the Checksum of the transmitted Instruction Packet is invalid

Bit 3

Range Error When the command is given beyond the range of usage

Bit 2

OverHeating Error

When the internal temperature is out of the range of operating temperature set in

  the Control Table

Bit 1

Angle Limit Error

 When Goal Position is written with the value that is not between CW Angle Limit and CCW

  Angle Limit

Bit 0

Input Voltage Error  When the applied voltage is out of the range of operating voltage set in the Control Table

 

It is possible to make duplicate set since the function of each bit is run by  the logic of ‘OR’. That is, if 0X05 (binary 00000101) is set, both Input Voltage Error and Overheating Error can be detected.

If errors occur, in case of Alarm LED, the LED blinks; in case of Alarm Shutdown, the motor output becomes 0 % by making the value of Torque Limit(Address 34, 35) as 0.

  

RAM Area

 

Torque Enable

Value

Meaning

0

 Keeps Torque from generating by interrupting the power of motor.

1

 Generates Torque by impressing the power to the motor.

 

LED

Bit

Meaning

Meaning

bit7

   

bit6

   

bit5

   

bit4

   

bit3

   

bit2

BLUE LED

 When Bit is set the blue LED turns on

bit1

GREEN LED

 When Bit is set the green LED turns on

bit0

RED LED

 When Bit is set the red LED turns on

 

Compliance

Compliance is to set the control flexibility of the motor.

The following diagram shows the relationship between output torque and position of the motor.

 

Compliance Margin

It exists in each direction of CW/CCW and means the error between goal position and present position.

The range of the value is 0~255, and the unit is the same as Goal Position.(Address 30,31)

The greater the value, the more difference occurs.

Compliance Slope

It exists in each direction of CW/CCW and sets the level of Torque near the goal position.

Compliance Slope is set in 7 steps, the higher the value, the more flexibility is obtained.

Data representative value is actually used value.  That is, even if the value is set to 25, 16 is used internally as the representative value.

Step

Data Value

Data Representative Value

1

0 (0x00) ~ 3(0x03)

2 (0x02)

2

4(0x04) ~ 7(0x07)

4 (0x04)

3

8(0x08)~15(0x0F)

8 (0x08)

4

16(0x10)~31(0x1F)

16 (0x10)

5

32(0x20)~63(0x3F)

32 (0x20)

6

64(0x40)~127(0x7F)

64 (0x40)

7

128(0x80)~254(0xFE)

128 (0x80)

 

 

Goal Position

It is a position value of destination.

0 to 1023 (0x3FF) is available.  The unit is 0.29 degree.

If Goal Position is out of the range, Angle Limit Error Bit (Bit1) of Status Packet is returned as ‘1’ and Alarm is triggered as set in Alarm LED/Shutdown.

 

                   <The picture above is based on the front of relevant model>

 

If it is set to Wheel Mode, this value is not used.

 

 

Moving Speed

It is a moving speed to Goal Position.

The range and the unit of the value may vary depending on the operation mode.

 

 

Notes: Please check the maximum rpm of relevant model in Joint Mode.  Even if the motor is set to more than maximum rpm, it cannot generate the torque more than the maximum rpm.

 

 

Torque Limit

It is the value of the maximum torque limit.  

0 to 1023 (0x3FF) is available, and the unit is about 0.1%.  

For example, if the value is 512, it is about 50%; that means only 50% of the maximum torque will be used.
If the power is turned on, the value of Max Torque (Address 14, 15) is used as the initial value.

 

Notes: If the function of Alarm Shutdown is triggered, the motor loses its torque because the value becomes 0.  At this moment, if the value is changed to the value other than 0, the motor can be used again.

 

Present Position

It is the current position value of Dynamixel.  

The range of the value is 0~1023 (0x3FF), and the unit is 0.29 degree.

 

                   <The picture above is based on the front of relevant model>

 

Caution: If it is set to Wheel Mode, the value cannot be used to measure the moving distance and the rotation frequency.

 

Present Speed

It is the current moving speed.

0~2047 (0X7FF) can be used.

If a value is in the rage of 0~1023, it means that the motor rotates to the CCW direction.

If a value is in the rage of 1024~2047, it means that the motor rotates to the CW direction.

That is, the 10th bit becomes the direction bit to control the direction, and 0 and 1024 are equal.

The unit of this value varies depending on operation mode.

 

Present Load

It means currently applied load.

The range of the value is 0~2047, and the unit is about 0.1%.

If the value is 0~1023, it means the load works to the CCW direction.

If the value is 1024~2047, it means the load works to the CW direction.

That is, the 10th bit becomes the direction bit to control the direction, and 1024 is equal to 0.

For example, the value is 512, it means the load is detected in the direction of CCW about 50% of the maximum torque.

 

 

Notes: Current load is inferred from the internal torque value, not from Torque sensor etc.

For that reason, it cannot be used to measure weight or torque; however, it must be used only to detect which direction the force works.

 

 

Present Voltage

It is the size of the current voltage supplied.

This value is 10 times larger than the actual voltage. For example, when 10V is supplied, the data value is 100 (0x64)

 

Present Temperature

It is the internal temperature of Dynamixel in Celsius.

Data value is identical to the actual temperature in Celsius. For example, if the data value is 85 (0x55), the current internal temperature is 85℃.

 

Registered Instruction

Value

Meaning

0

 There are no commands transmitted by REG_WRITE

1

 There are commands transmitted by REG_WRITE.

 

Notes: If ACTION command is executed, the value is changed into 0.

 

Moving

Value

Meaning

0

 Goal position command execution is completed.

1

 Goal position command execution is in progress.

 

Lock

Value

Meaning

0

 EEPROM area can be modified.

1

 EEPROM area cannot be modified.

 

Caution: If Lock is set to 1, the power must be turned off and then turned on again to change into 0.

 

Punch

Current to drive motor is at minimum.

Can choose vales from 0x20 to 0x3FF.

 

Option Frame

Basic-Offered Frames

Basic-offered frames with AX-12A are as follows.

 

 

Applying F2

F2 is applied as below.

 

 

 

 

Applying F3

F3 is applied as below.  F3 can be connected to 3 sides of AX-12A: Left, Right, and the bottom.

 

 

 

 

 

 

Dimension

 

 

Videos

HOW TO REPLACE GEARS