ROBOTIS e-Manual v1.29.00

[XL-320]
※ XL-320 is a different product from the OLLO Geared and Servo Motor.
Resolution : 0.29°
Motor : Cored
Gear Reduction Ratio : 238 : 1
§ 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 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) |
Size(byet) |
Name |
Description |
Access |
Inital Value |
Min |
Max |
E E P R O M |
0 |
2 |
Model number |
R |
350 |
- |
- |
|
2 |
1 |
Information on the version of firmware |
R |
- |
- |
- |
||
3 |
1 |
ID of Dynamixel |
RW |
1 |
0 |
252 |
||
4 |
1 |
Baud Rate of Dynamixel |
RW |
3 |
0 |
3 |
||
5 |
1 |
Return Delay Time |
RW |
250 |
0 |
254 |
||
6 |
2 |
clockwise Angle Limit |
RW |
0 |
0 |
1023 |
||
8 |
2 |
counterclockwise Angle Limit |
RW |
1023 |
0 |
1023 |
||
11 |
1 |
Control Mode |
RW |
2 |
1 |
2 |
||
12 |
1 |
Internal Limit Temperature |
RW |
65 |
0 |
150 |
||
13 |
1 |
Lowest Limit Voltage |
RW |
60 |
50 |
250 |
||
14 |
1 |
Upper Limit Voltage |
RW |
90 |
50 |
250 |
||
15 |
2 |
Lowest byte of Max. Torque |
RW |
1023 |
0 |
1023 |
||
17 |
1 |
Return Level |
RW |
2 |
0 |
2 |
||
18 |
1 |
Shutdown for Alarm |
RW |
3 |
0 |
7 |
||
R7 A M |
24 |
1 |
Torque On/Off |
RW |
0 |
0 |
1 |
|
25 |
1 |
LED On/Off |
RW |
0 |
0 |
7 |
||
27 |
1 |
D Gain |
RW |
0 |
0 |
254 |
||
28 |
1 |
I Gain |
RW |
0 |
0 |
254 |
||
29 |
1 |
P Gain |
RW |
32 |
0 |
254 |
||
30 |
2 |
Goal Position |
RW |
- |
0 |
1023 |
||
32 |
2 |
Goal Speed |
RW |
- |
0 |
2047 |
||
35 |
2 |
Goal Torque |
RW |
- |
0 |
1023 |
||
37 |
2 |
Current Position |
R |
- |
- |
- |
||
39 |
2 |
Current Speed |
R |
- |
- |
- |
||
41 |
2 |
Current Load |
R |
- |
- |
- |
||
45 |
1 |
Current Voltage |
R |
- |
- |
- |
||
46 |
1 |
Present temperature |
R |
- |
- |
- |
||
47 |
1 |
Registered Instruction |
R |
0 |
- |
- |
||
49 |
1 |
Moving |
R |
0 |
- |
- |
||
50 |
1 |
Hardware error status |
R |
0 |
- |
- |
||
51 |
2 |
Punch |
RW |
32 |
0 |
1023 |
It represents the Model Number.
It represents the firmware version.
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 cautious not to have the same IDs for the connected dynamixels. You may face communication issues or may not be able to search when IDs overlap. |
It represents the communication speed.
0: 9600, 1:57600, 2:115200, 3:1Mbps
Note : Maximum Baud Rate error of 3% is within the tolerance of UART communication. |
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).
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).
Value |
Return of Status Packet |
1 |
Wheel Mode |
2 |
Joint Mode |
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.
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.
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.
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. |
Dynamixel can protect itself by detecting errors occur during the operation.
The errors can be set are as the table below.
it |
Name |
Contents |
bit7 |
- |
- |
bit6 |
- |
- |
bit5 |
- |
- |
bit4 |
- |
- |
bit3 |
- |
- |
bit2 |
ERROR_INPUT_VALTAGE |
Voltage is out of operational voatage range |
bit1 |
ERROR_OVER_HEATING |
Temperature is out of operational temperature range |
bit0 |
ERROR_OVERLOAD |
Motor cannot output max load due to load being applied continouosly |
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.
Value |
Meaning |
0 |
Keeps Torque from generating by interrupting the power of motor. |
1 |
Generates Torque by impressing the power to the motor. |
Bit |
명칭 |
내용 |
bit0+bit1+bit2 |
WHITE LED |
When the bit is set the white LED turns on |
bit0+bit2 |
PINK LED |
When the bit is set the pink LED turns on |
bit1+bit2 |
BLUE-GREEN LED |
When the bit is set the blue-green LED turns on |
bit0+bit1 |
YELLOW LED |
When the bit is set the yellow LED turns on |
bit2 |
BLUE LED |
When the bit is set the blue LED turns on |
bit1 |
GREEN LED |
When the bit is set the green LED turns on |
bit0 |
RED LED |
When the bit is set the red LED turns on |
XL series will use the PID controller as a main control method.
P gain refers to the value of proportional band.
I gain refers to the value of integral action.
D Gain refers to the value of derivative action.
Gains values are in between 0~254.


※ The relationship between Compliance Slope and PID
The less the P gain, The larger the back lash, and the weaker the amount of output near goal position. At some extent, it is like a combined concept of margine and slope. It does not exactly match the previous concept of compliance. So it is obvious if you see the difference in terms of motion. ※ Explanation for PID required. For the brief explanation about general PID, please refer to the website(link) below. http://en.wikipedia.org/wiki/PID_controller FYI, PID control theory is not only limited to the control of motor(actuator) but is a generic theory that can be applied to all kinds of control. |
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. |
It is a moving speed to Goal Position.
The range and the unit of the value may vary depending on the operation mode.
Join
Mode
0~1023 (0X3FF) can be used, and the unit is about 0.111rpm.
If it is set to 0, it means the maximum rpm of the motor is used
without controlling the speed.
If it is 1023, it is about 114rpm.
For example, if it is set to 300, it is about 33.3 rpm.
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. |
Wheel
Mode
0~2047( 0X7FF) can be used, the unit is about 0.1%.
If a value in the range of 0~1023 is used, it is stopped by setting
to 0 while rotating to CCW direction.
If a value in the range of 1024~2047 is used, it is stopped by
setting to 1024 while rotating to CW direction.
That is, the 10th bit becomes the direction bit to control the
direction.
In Wheel Mode, only the output control is possible, not speed.
For example, if it is set to 512, it means the output is controlled
by 50% of the maximum output.
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 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. Once error conditions are resolved and this value is changed to the value other than 0, the motor can be operated again. |
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. |
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.
Joint
Mode
The unit is about 0.111rpm.
For example, if it is set to 300, it means that the motor is moving
to the CCW direction at a rate of about 33.3rpm.
Wheel
Mode
The unit is about 0.1%.
For example, if it is set to 512, it means that the torque is controlled
by 50% of the maximum torque to the CCW direction.
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: Present load is an inferred value based on the internal output value; not a measured value using torque sensor, etc. Therefore, it may be inaccurate for measuring weight or torque. It is recommended to use it for predicting the direction and size of the force being applied to the joint. |
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)
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℃.
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. |
Value |
Meaning |
0 |
Goal position command execution is completed. |
1 |
Goal position command execution is in progress. |
Current hardware error staus
Alarm shudown error value
Current to drive motor is at minimum.
Can choose vales from 0x20 to
0x3FF.
