XH540-W270-T/R
Specifications
Item | Specifications |
---|---|
MCU | ARM CORTEX-M3 (72 [MHz], 32Bit) |
Position Sensor | Contactless absolute encoder (12Bit, 360 [°]) Maker : ams(www.ams.com), Part No : AS5045 |
Motor | Coreless(Maxon) |
Baud Rate | 9,600 [bps] ~ 4.5 [Mbps] |
Control Algorithm | PID control |
Resolution | 4096 [pulse/rev] |
Backlash | 15 [arcmin] (0.25 [°]) |
Operating Modes | Current Control Mode Velcoity Control Mode Position Control Mode (0 ~ 360 [°]) Extended Position Control Mode (Multi-turn) Current-based Position Control Mode PWM Control Mode (Voltage Control Mode) |
Weight | 165 [g] |
Dimensions (W x H x D) | 33.5 x 58.5 x 44 [mm] |
Gear Ratio | 272.5 : 1 |
Stall Torque | 9.2 [N.m] (at 11.1 [V], 4.5 [A]) 9.9 [N.m] (at 12.0 [V], 4.9 [A]) 11.7 [N.m] (at 14.8 [V], 5.9 [A]) |
No Load Speed | 36 [rev/min] (at 11.1 [V]) 39 [rev/min] (at 12.0 [V]) 46 [rev/min] (at 14.8 [V]) |
Radial Load | 40 [N] (10 [mm] away from the horn) |
Axial Load | 20 [N] |
Operating Temperature | -5 ~ +80 [°C] |
Input Voltage | 10.0 ~ 14.8 [V] (Recommended : 12.0 [V]) |
Command Signal | Digital Packet |
Protocol Type | TTL Half Duplex Asynchronous Serial Communication with 8bit, 1stop, No Parity RS485 Asynchronous Serial Communication with 8bit, 1stop, No Parity |
Physical Connection | RS485 / TTL Multidrop Bus |
ID | 253 ID (0 ~ 252) |
Feedback | Position, Velocity, Current, Realtime tick, Trajectory, Temperature, Input Voltage, etc |
Part Material | Full Metal Gear Metal (Front, Middle), Engineering Plastic (Back) |
Standby Current | 40 [mA] |
DANGER
(May cause serious injury or death)
- Never place items containing water, flammables, and solvents near product.
- Never place fingers, arms, toes, and other body parts near product during operation.
- Cut power off if product emits strange odors or smoke.
- Keep product out of reach of children.
- Check the power polarity before wiring.
CAUTION
(May cause injury or damage to product)
- Do not operate the product at a temperature exceeding -5 ~ +80 [°C] range.
- Do not insert sharp blades nor pins during product operation.
ATTENTION
(May cause injury or damage to product)
- Do not disassemble or modify product.
- Do not drop or apply strong shock to product.
Performance Graph
NOTE : The Max Torque and the Stall Torque of Performance Graph are different in measurement methods. Stall torque is a measured value of the momentary torque that it can reach. This is generally how RC servos are measured. The Performance graph is also called as N-T curves, which is measured with the gradually increasing load. The actual motor operation environment is closer to the performance graph, not stall torque method. For this reason, the performance graph is broadly used in the industrial field. Generally, Max Torque of the Performance Graph is less than the Stall Torque.
CAUTION : When supplying power
- It is recommended using ROBOTIS controller or SMPS2DYNAMIXEL.
- Do not connect or disconnect DYNAMIXEL when power is being supplied.
Control Table
The Control Table is a structure of data implemented in the device. Users can read a specific Data to get status of the device with Read Instruction Packets, and modify Data as well to control the device with WRITE Instruction Packets.
Control Table, Data, Address
The Control Table is a structure that consists of multiple Data fields to store status or to control the device. Users can check current status of the device by reading a specific Data from the Control Table with Read Instruction Packets. WRITE Instruction Packets enable users to control the device by changing specific Data in the Control Table. The Address is a unique value when accessing a specific Data in the Control Table with Instruction Packets. In order to read or write data, users must designate a specific Address in the Instruction Packet. Please refer to Protocol 2.0 for more details about Instruction Packets.
NOTE : Two’s complement is applied for the negative value. For more information, please refer to Two’s complement from Wikipedia.
Area (EEPROM, RAM)
The Control Table is divided into 2 Areas. Data in the RAM Area is reset to initial values when the power is reset(Volatile). On the other hand, data in the EEPROM Area is maintained even when the device is powered off(Non-Volatile).
Data in the EEPROM Area can only be written to if Torque Enable(64) is cleared to ‘0’(Off).
Size
The Size of data varies from 1 ~ 4 bytes depend on their usage. Please check the size of data when updating the data with an Instruction Packet. For data larger than 2 bytes will be saved according to Little Endian.
Access
The Control Table has two different access properties. ‘RW’ property stands for read and write access permission while ‘R’ stands for read only access permission. Data with the read only property cannot be changed by the WRITE Instruction. Read only property(‘R’) is generally used for measuring and monitoring purpose, and read write property(‘RW’) is used for controlling device.
Initial Value
Each data in the Control Table is restored to initial values when the device is turned on. Default values in the EEPROM area are initial values of the device (factory default settings). If any values in the EEPROM area are modified by a user, modified values will be restored as initial values when the device is turned on. Initial Values in the RAM area are restored when the device is turned on.
Control Table of EEPROM Area
Address | Size (Byte) |
Data Name | Access | Default Value |
Range | Unit |
---|---|---|---|---|---|---|
0 | 2 | Model Number | R | 1,100 | - | - |
2 | 4 | Model Information | R | - | - | - |
6 | 1 | Firmware Version | R | - | - | - |
7 | 1 | ID | RW | 1 | 0 ~ 253 | - |
8 | 1 | Baud Rate | RW | 1 | 0 ~ 7 | - |
9 | 1 | Return Delay Time | RW | 250 | 0 ~ 254 | 2 [μsec] |
10 | 1 | Drive Mode | RW | 0 | 0 ~ 2 | - |
11 | 1 | Operating Mode | RW | 3 | 0 ~ 16 | - |
12 | 1 | Secondary(Shadow) ID | RW | 255 | 0 ~ 252 | - |
13 | 1 | Protocol Type | RW | 2 | 1 ~ 2 | - |
20 | 4 | Homing Offset | RW | 0 | -1,044,479 ~ 1,044,479 |
1 [pulse] |
24 | 4 | Moving Threshold | RW | 10 | 0 ~ 1,023 | 0.229 [rev/min] |
31 | 1 | Temperature Limit | RW | 80 | 0 ~ 100 | 1 [°C] |
32 | 2 | Max Voltage Limit | RW | 160 | 95 ~ 160 | 0.1 [V] |
34 | 2 | Min Voltage Limit | RW | 95 | 95 ~ 160 | 0.1 [V] |
36 | 2 | PWM Limit | RW | 885 | 0 ~ 885 | 0.113 [%] |
38 | 2 | Current Limit | RW | 2,047 | 0 ~ 2,047 | 2.69 [mA] |
44 | 4 | Velocity Limit | RW | 167 | 0 ~ 1023 | 0.229 [rev/min] |
48 | 4 | Max Position Limit | RW | 4,095 | 0 ~ 4,095 | 1 [pulse] |
52 | 4 | Min Position Limit | RW | 0 | 0 ~ 4,095 | 1 [pulse] |
56 | 1 | External Port Mode 1 | RW | 3 | 0 ~ 3 | - |
57 | 1 | External Port Mode 2 | RW | 3 | 0 ~ 3 | - |
58 | 1 | External Port Mode 3 | RW | 3 | 0 ~ 3 | - |
63 | 1 | Shutdown | RW | 52 | - | - |
Control Table of RAM Area
Address | Size (Byte) |
Data Name | Access | Default Value |
Range | Unit |
---|---|---|---|---|---|---|
64 | 1 | Torque Enable | RW | 0 | 0 ~ 1 | - |
65 | 1 | LED | RW | 0 | 0 ~ 1 | - |
68 | 1 | Status Return Level | RW | 2 | 0 ~ 2 | - |
69 | 1 | Registered Instruction | R | 0 | 0 ~ 1 | - |
70 | 1 | Hardware Error Status | R | 0 | - | - |
76 | 2 | Velocity I Gain | RW | 1,920 | 0 ~ 16,383 | - |
78 | 2 | Velocity P Gain | RW | 100 | 0 ~ 16,383 | - |
80 | 2 | Position D Gain | RW | 0 | 0 ~ 16,383 | - |
82 | 2 | Position I Gain | RW | 0 | 0 ~ 16,383 | - |
84 | 2 | Position P Gain | RW | 800 | 0 ~ 16,383 | - |
88 | 2 | Feedforward 2nd Gain | RW | 0 | 0 ~ 16,383 | - |
90 | 2 | Feedforward 1st Gain | RW | 0 | 0 ~ 16,383 | - |
98 | 1 | Bus Watchdog | RW | 0 | 1 ~ 127 | 20 [msec] |
100 | 2 | Goal PWM | RW | - | -PWM Limit(36) ~ PWM Limit(36) |
- |
102 | 2 | Goal Current | RW | - | -Current Limit(38) ~ Current Limit(38) |
2.69 [mA] |
104 | 4 | Goal Velocity | RW | - | -Velocity Limit(44) ~ Velocity Limit(44) |
0.229 [rev/min] |
108 | 4 | Profile Acceleration | RW | 0 | 0 ~ 32,767 0 ~ 32,737 |
214.577 [rev/min2] 1 [ms] |
112 | 4 | Profile Velocity | RW | 0 | 0 ~ 32,767 | 0.229 [rev/min] |
116 | 4 | Goal Position | RW | - | Min Position Limit(52) ~ Max Position Limit(48) |
1 [pulse] |
120 | 2 | Realtime Tick | R | - | 0 ~ 32,767 | 1 [msec] |
122 | 1 | Moving | R | 0 | 0 ~ 1 | - |
123 | 1 | Moving Status | R | 0 | - | - |
124 | 2 | Present PWM | R | - | - | - |
126 | 2 | Present Current | R | - | - | 2.69 [mA] |
128 | 4 | Present Velocity | R | - | - | 0.229 [rev/min] |
132 | 4 | Present Position | R | - | - | 1 [pulse] |
136 | 4 | Velocity Trajectory | R | - | - | 0.229 [rev/min] |
140 | 4 | Position Trajectory | R | - | - | 1 [pulse] |
144 | 2 | Present Input Voltage | R | - | - | 0.1 [V] |
146 | 1 | Present Temperature | R | - | - | 1 [°C] |
152 | 2 | External Port Data 1 | RW | - | - | - |
154 | 2 | External Port Data 2 | RW | - | - | - |
156 | 2 | External Port Data 3 | RW | - | - | - |
168 | 2 | Indirect Address 1 | RW | 224 | 64 ~ 661 | - |
170 | 2 | Indirect Address 2 | RW | 225 | 64 ~ 661 | - |
172 | 2 | Indirect Address 3 | RW | 226 | 64 ~ 661 | - |
… | … | … | … | … | - | - |
218 | 2 | Indirect Address 26 | RW | 249 | 64 ~ 661 | - |
220 | 2 | Indirect Address 27 | RW | 250 | 64 ~ 661 | - |
222 | 2 | Indirect Address 28 | RW | 251 | 64 ~ 661 | - |
224 | 1 | Indirect Data 1 | RW | 0 | 0 ~ 255 | - |
225 | 1 | Indirect Data 2 | RW | 0 | 0 ~ 255 | - |
226 | 1 | Indirect Data 3 | RW | 0 | 0 ~ 255 | - |
… | … | … | … | … | - | - |
249 | 1 | Indirect Data 26 | RW | 0 | 0 ~ 255 | - |
250 | 1 | Indirect Data 27 | RW | 0 | 0 ~ 255 | - |
251 | 1 | Indirect Data 28 | RW | 0 | 0 ~ 255 | - |
578 | 2 | Indirect Address 29 | RW | 634 | 64 ~ 661 | - |
580 | 2 | Indirect Address 30 | RW | 635 | 64 ~ 661 | - |
582 | 2 | Indirect Address 31 | RW | 636 | 64 ~ 661 | - |
… | … | … | … | … | - | - |
628 | 2 | Indirect Address 54 | RW | 659 | 64 ~ 661 | - |
630 | 2 | Indirect Address 55 | RW | 660 | 64 ~ 661 | - |
632 | 2 | Indirect Address 56 | RW | 661 | 64 ~ 661 | - |
634 | 1 | Indirect Data 29 | RW | 0 | 0 ~ 255 | - |
635 | 1 | Indirect Data 30 | RW | 0 | 0 ~ 255 | - |
636 | 1 | Indirect Data 31 | RW | 0 | 0 ~ 255 | - |
… | … | … | … | … | - | - |
659 | 1 | Indirect Data 54 | RW | 0 | 0 ~ 255 | - |
660 | 1 | Indirect Data 55 | RW | 0 | 0 ~ 255 | - |
661 | 1 | Indirect Data 56 | RW | 0 | 0 ~ 255 | - |
CAUTION : Protocol 1.0 does not support addresses greater than 256. Therefore, Indirect Address 29 ~ 56 and Indirect Data 29 ~ 56 can only be accessed with Protocol 2.0.
Control Table Description
CAUTION : Data in the EEPROM Area can only be written when the value of Torque Enable(64) is cleared to ‘0’.
Model Number(0)
This address stores model number of the DYNAMIXEL.
Firmware Version(6)
This address stores firmware version of the DYNAMIXEL.
ID(7)
The ID is a unique value in the network to identify each DYNAMIXEL with an Instruction Packet. 0~252 (0xFC) values can be used as an ID, and 254(0xFE) is occupied as a broadcast ID. The Broadcast ID(254, 0xFE) can send an Instruction Packet to all connected DYNAMIXELs simultaneously.
NOTE : Please avoid using an identical ID for multiple DYNAMIXELs. You may face communication failure or may not be able to detect Dynamixels with an identical ID.
Baud Rate(8)
Baud Rate determines serial communication speed between a controller and DYNAMIXELs.
Value | Baud Rate | Margin of Error |
---|---|---|
7 | 4.5M | 0.000% |
6 | 4M | 0.000% |
5 | 3M | 0.000% |
4 | 2M | 0.000% |
3 | 1M | 0.000% |
2 | 115,200 | 0.000% |
1(Default) | 57,600 | 0.000% |
0 | 9,600 | 0.000% |
NOTE : Less than 3% of the baud rate error margin will not affect to UART communication.
NOTE : For the stable communication with higher Baudrate, configure USB Latency value to the lower.
USB Latency Setting
Return Delay Time(9)
After the DYNAMIXEL receives an Instruction Packet, it delays transmitting the Status Packet for Return Delay Time(9). For instance, if the Return Delay Time(9) is set to ‘10’, the Status Packet will be returned after 20[μsec] when the Instruction Packet is received.
Unit | Value Range | Description |
---|---|---|
2[μsec] | 0 ~ 254 | Default value ‘250’(500[μsec]), Maximum 508[μsec] |
Drive Mode(10)
This address configures Drive Mode of DYNAMIXEL.
Bit | Item | Description |
---|---|---|
Bit 7(0x80) | - | Unused, always ‘0’ |
Bit 6(0x40) | - | Unused, always ‘0’ |
Bit 5(0x20) | - | Unused, always ‘0’ |
Bit 4(0x10) | - | Unused, always ‘0’ |
Bit 3(0x08) | - | Unused, always ‘0’ |
Bit 2(0x04) | Profile Configuration | [0] Velocity-based Profile: Create a Profile based on Velocity [1] Time-based Profile: Create Profile based on time ※ Please refer to Profile Velocity(112) |
Bit 1(0x02) | Master/Slave Mode (Dual Joint) |
[0] Master Mode: Operate as a Master DYNAMIXEL. [1] Slave Mode: Operate as Slave DYNAMIXEL |
Bit 0(0x01) | Normal/Reverse Mode | [0] Normal Mode: CCW(Positive), CW(Negative) [1] Reverse Mode: CCW(Negative), CW(Positive) |
NOTE : Time-based Profile is available from firmware V42.
NOTE : If the value of Bit 0(Normal/Reverse Mode) of the Drive Mode(10) is set to 1
, rotational direction is inverted.
Thus, Position, Velocity, Current, PWM will have a inverted direction.
This feature can be very useful when configuring symmetrical joint or wheel system.
Dual Mode
Dual Mode is intended to combine two DYNAMIXELs into a single joint to enhance the performance.
In order to use Dual Mode, Slave DYNAMIXEL should be connected to Master DYNAMIXEL with the Sync Cable.
Please note that the Slave DYNAMIXEL is directly controlled only by the PWM signal from the Master DYNAMIXEL through the Sync Cable.
Thus, Goal Position, Goal Velocity, Goal Current, Goal PWM of the Slave DYNAMIXEL are unused and ignored.
The rotational direction of Slave DYNAMIXEL is decided by the type of Sync Cable rather than the Normal/Reverse Mode setting of Slave DYNAMIXEL.
The twisted sync cable will actuate the Slave DYNAMIXEL to the opposite direction of the Master DYNAMIXEL while regular sync cable actuate to the same direction.
Sync Cable | Description |
---|---|
Regular Sync Cable | Slave DYNAMIXEL is controlled by the PWM Signal from the Master DYNAMIXEL.Master and Slave DYNAMIXELs rotate in the same direction. |
Twisted Sync Cable | Slave DYNAMIXEL is controlled by the Inverted PWM Signal from the Master DYNAMIXEL.Master and Slave DYNAMIXELs rotate in the opposite direction. |
CAUTION : If Master and Slave are not physically connected by frame, both DYNAMIXELs may not perfectly synchronized due to the load applied on each DYNAMIXEL.
Please use appropriate frame to connect DYNAMIXELs in Dual Mode.
Operating Mode(11)
Value | Operating Mode | Description |
---|---|---|
0 | Current Control Mode | DYNAMIXEL only controls current(torque) regardless of speed and position. This mode is ideal for a gripper or a system that only uses current(torque) control or a system that has additional velocity/position controllers. |
1 | Velocity Control Mode | This mode controls velocity. This mode is identical to the Wheel Mode(endless) from existing DYNAMIXELs. This mode is ideal for wheel-type robots. |
3(Default) | Position Control Mode | This mode controls position. This mode is identical to the Joint Mode from existing DYNAMIXELs. Operating position range is limited by Max Position Limit(48) and Min Position Limit(52). This mode is ideal for articulated robots that each joint rotates less than 360 degrees. |
4 | Extended Position Control Mode(Multi-turn) | This mode controls position. This mode is identical to the Multi-Turn Mode from existing DYNAMIXELs. 512 turns are supported(-256[rev] ~ 256[rev]). This mode is ideal for multi-turn wrists or conveyer systems or a system that requires an additional reduction gear. |
5 | Current-based Position Control Mode | This mode controls both position and current(torque). Up to 512 turns are supported(-256[rev] ~ 256[rev]). This mode is ideal for a system that requires both position and current control such as articulated robots or grippers. |
16 | PWM Control Mode (Voltage Control Mode) | This mode directly controls PWM output. (Voltage Control Mode) |
NOTE : Switching Operating Mode will reset gains(PID, Feedfoward) properly to the selected Operating Mode. The profile generator and limits will also be reset.
- Profile Velocity(112), Profile Acceleration(108) : Reset to ‘0’
- Goal PWM(100), Goal Current(102) : Reset to PWM Limit(36), Current Limit(38) respectively
- Current-based Position Control Mode : Reset to Position Gain(PID) and PWM Limit(36) values.
Changed Position Gain(PID) and PWM Limit(36) values can be read from the Control Table.
NOTE : PWM is the abbreviation for Pulse Width Modulation that modulates PWM Duty to control motors.
The PWM Control Mode changes pulse width to control average supply voltage to the motor and this technique is widely used in the motor control field.
Therefore, PWM Control Mode uses Goal PWM(100) value to control supply voltage for DYNAMIXEL.
PWM Control Mode is similar to the Wheel Mode of DYNAMIXEL AX and RX series.
Secondary(Shadow) ID(12)
Set the Dynamixel’s Secondary ID. Secondary ID(12) is a value to identify each Dynamixel, just like the ID(7). However, unlike ID(7), Secondary ID(12) is not a unique value. Therefore, Dynamixels with the same Secondary ID value form a group. The differences between Secondary ID(12) and ID(7) are as follows :
- Secondary ID(12) is not a unique value. i.e., a lot of Dynamixels may have the same Secondary ID value.
- ID(7) has a higher priority than Secondary ID(12). i.e., if Secondary ID(12) and ID(7) are the same, ID(7) will be applied first.
- The EEPROM area of the Control Table cannot be modified with Secondary ID(12). Only the RAM area can be modified.
- If Instruction Packet ID is the same as Secondary ID(12), the Status Packet will not be returned.
- If the value of Secondary ID(12) is 253 or higher, the Secondary ID function is deactivated.
Values | Description |
---|---|
0 ~ 252 | Activate Secondary ID function |
253 ~ 255 | Deactivate Secondary ID function, Default value ‘255’ |
The following are examples of operation when there are five Dynamixels with ID (7) set from 1 to 5.
- Set all five Dynamixels’ Secondary ID(12) to ‘5’.
- Send Write Instruction Packet(ID = 1, LED(65) = 1).
- Turn on LED of Dynamixel with ID ‘1’ and return the Status Packet.
- Send Write Instruction Packet(ID = 5, LED(65) = 1).
- Turn on LED on five Dynamixels. However, Status Packet of Dynamixel with ID ‘5’ will be returned.
- Set the Secondary ID(12) of all five Dynamixels to ‘100’.
- Send Write Instruction Packet(ID = 100, LED(65) = 0).
- Turn off LED on five Dynamixels. However, as there is no Dynamixel with ID ‘100’, Status Packet is not returned.
Protocol Type(13)
Users can select DYNAMIXEL protocol type (1.0 and 2.0).
Even if Protocol 1.0 is selected, Protocol 2.0 Control Table will be used.
It is recommended to use an identical protocol type for multiple DYNAMIXEL.
Value | Protocol Type | Compatible DYNAMIXEL |
---|---|---|
1 | 1.0 | AX Series, DX Series, RX Series, EX Series, MX Series with Firmware below v39 |
2(default) | 2.0 | MX-28/64/106 with Firmware v39 or above, X Series, PRO Series |
WARNING : In order to change the Protocol Type to Protocol 1.0, please use DYNAMIXEL Wizard 2.0 as R+ Manager 2.0 does not support Protocol 1.0.
NOTE : The protocol 2.0 is greatly enhanced from the protocol 1.0. Accessing some of the Control Table area might be denied if protocol 1.0 is selected. This manual complies with protocol 2.0. Please refer to the Protocol 1.0 and Protocol 2.0 of e-Manual for more details about the protocol.
NOTE : Please refer to the Protocol Compatibility table for product.
Homing Offset(20)
Users can adjust the Home position by setting Home Offset(20). The Homing Offset value is added to the Present Position(132).
Present Position(132) = Actual Position + Homing Offset(20)
Unit | Value Range | Description |
---|---|---|
about 0.088 [°] | -1,044,479 ~ 1,044,479 (-255 ~ 255[rev]) |
4,096 resolution |
NOTE : In case of the Position Control Mode(Joint Mode) that rotates less than 360 degrees, any invalid Homing Offset(20) values will be ignored(valid range : -1,024 ~ 1,024).
NOTE : In the case of Reverse Mode bit is set in Drive Mode(10), the sign of Homing Offset value will not be reversed.
Moving Threshold(24)
This value helps to determine whether the Dynamixel is in motion or not.
When the absolute value of Present Velocity(128) is greater than the Moving Threshold(24), Moving(122) is set to ‘1’, otherwise it is cleared to ‘0’.
Values | Description | |
---|---|---|
Unit | about 0.229 rpm | All velocity related Data uses the same unit |
Range | 0 ~ 1,023 | - |
Temperature Limit(31)
This value limits operating temperature.
When the Present Temperature(146) that indicates internal temperature of Dynamixel is greater than the Temperature Limit(31), the Over Heating Error Bit(0x04) and Hardware Error Bit(0x80) in the Hardware Error Status(70) will be set.
If Overheating Error Bit(0x04) is configured in the Shutdown(63), Torque Enable(64) is cleared to ‘0’ and Torque will be disabled.
For more details, please refer to the Shutdown(63) section.
Unit | Value Range | Description |
---|---|---|
About 1° | 0 ~ 100 | 0 ~ 100° |
CAUTION : Do not set the temperature higher than the default value. When the temperature alarm shutdown occurs, wait 20 minutes to cool the temperature before re-use. Keep using the product when the temperature is high can cause severe damage.
Min/Max Voltage Limit(32, 34)
These values are maximum and minimum operating voltages.
When present input voltage acquired from Present Input Voltage(144) exceeds the range of Max Voltage Limit(32) and Min Voltage Limit(34), Input Voltage Error Bit(0x01) in the Hardware Error Status(70) are set.
If Input Voltage Error Bit(0x10) is configured in the Shutdown(63), Torque Enable(64) is cleared to ‘0’ and Torque is disabled.
For more details, please refer to the Shutdown(63) section.
Unit | Value Range | Description |
---|---|---|
About 0.1 [V] | 95 ~ 160 | 9.5 ~ 16.0 [V] |
PWM Limit(36)
This value indicates maximum PWM output. Goal PWM(100) can’t be configured with any values exceeding PWM Limit(36). PWM Limit(36) is commonly used in all operating mode as an output limit, therefore decreasing PWM output will result in decreasing torque and velocity. For more details, please refer to the Gain section of each operating modes.
Values | Description |
---|---|
0(0 [%]) ~ 885(100 [%]) | 885 = 100 [%] output |
Current Limit(38)
This value indicates maximum current(torque) output limit. Goal Current(102) can’t be configured with any values exceeding Current Limit(38). The Current Limit(38) is used in Torque Control Mode and Current-based Position Control Mode, therefore decreasing Current Limit(38) will result in decreasing torque of DYNAMIXEL. For more details, please refer to the Position PID Gain(80 ~ 84).
Unit | Value Range |
---|---|
about 2.69[mA] | 0 ~ 2,047 |
NOTE : Current Limit(38) could be differ by each DYNAMIXEL so please check the Control Table.
Velocity Limit(44)
This indicates the maximum value of Goal Velocity(104). For more details, please refer to Goal Velocity(104).
Unit | Value Range |
---|---|
0.229rpm | 0 ~ 1,023 |
NOTE: The default value of Velocity Limit(44) has been decreased since Firmware V42.
Min/Max Position Limit(48, 52)
These values limit maximum and minimum desired positions for Position Control Mode(Joint Mode) within the range of 1 rotation(0 ~ 4,095).
Therefore, Goal Position(116) should be configured within the position limit range.
These values are not used in Extended Position Control Mode and Current-based Position Control Mode.
Unit | Value Range |
---|---|
0.088 [°] | 0 ~ 4,095(1 rotation) |
NOTE : Max Position Limit(48) and Min Position Limit(52) are only used in Position Control Mode with a single turn.
External Port Mode 1,2,3(56,57,58)
External ports that can be used for various purposes are provided.
The property of each port is configured by the External Port Mode and data of external port is controlled by the External Port Data(152~157).
For more details, please refer to External Port Data(152~157).
External Port Mode | Mode | Description |
---|---|---|
0 | AI(Analogue Input) | Converts External Port signal to 12[bit] digital value |
1 | DO_PP(Digital Output Push-Pull) | Use External Port as a digital output port(3.3V level) |
2 | DI_PU(Digital Input Pull-Up) | Use External Port as a digital input port Floating connection will be considered as ‘1’ |
3(default) | DI_PD(Digital Input Pull-Down) | Use External Port as a digital input port Floating connection will be considered as ‘0’ |
Shutdown(63)
The Dynamixel can protect itself by detecting dangerous situations that could occur during the operation.
Each Bit is inclusively processed with the ‘OR’ logic, therefore, multiple options can be generated.
For instance, when ‘0x05’ (binary : 00000101) is defined in Shutdown(63), Dynamixel can detect both Input Voltage Error(binary : 00000001) and Overheating Error(binary : 00000100).
If those errors are detected, Torque Enable(64) is cleared to ‘0’ and the motor output becomes 0 [%].
REBOOT is the only method to reset Torque Enable(64) to ‘1’(Torque ON) after the shutdown.
Check Hardware Error Bit(0x80) in a error field of Status Packet or a present status via Hardware Error Status(70) The followings are detectable situations.
Bit | Item | Description |
---|---|---|
Bit 7 | - | Unused, Always ‘0’ |
Bit 6 | - | Unused, Always ‘0’ |
Bit 5 | Overload Error(default) | Detect persistent load that exceeds maximum output |
Bit 4 | Electrical Shock Error(default) | Detect electric shock on the circuit or insufficient power to operate the motor |
Bit 3 | Motor Encoder Error | Detect malfunction of the motor encoder |
Bit 2 | OverHeating Error(default) | Detect internal temperature exceeds the configured operating temperature |
Bit 1 | - | Unused, Always ‘0’ |
Bit 0 | Input Voltage Error | Detect input voltage exceeds the configured operating voltage |
NOTE :
- If Shutdown occurs, LED will flicker every second. (Firmware v41 or above)
- If Shutdown occurs, reboot the device.
- H/W REBOOT : Turn off and turn on the power again
- S/W REBOOT : Transmit REBOOT Instruction (For more details, refer to the Reboot section of e-Manual.)
Torque Enable(64)
Controls Torque ON/OFF. Writing ‘1’ to this address will turn on the Torque and all Data in the EEPROM area will be protected.
Value | Description |
---|---|
0(Default) | Turn off the torque |
1 | Turn on the torque and lock EEPROM area |
NOTE : Present Position(132) can be reset when Operating Mode(11) and Torque Enable(64) are updated. For more details, please refer to the Homing Offset(20) and Present Position(132).
LED(65)
Turn on or turn off the LED on Dynamixel.
Bit | Description |
---|---|
0(Default) | Turn OFF the LED |
1 | Turn ON the LED |
NOTE : The LED indicates present status of the device.
Status | LED Representation |
---|---|
Booting | LED flickers once |
Factory Reset | LED flickers 4 times |
Alarm | LED flickers |
Slave Mode | LED flickers 3 times |
Boot Mode | LED On |
Status Return Level(68)
This value decides how to return Status Packet when Dynamixel receives an Instruction Packet.
Value | Responding Instructions | Description |
---|---|---|
0 | PING Instruction | Status Packet will not be returned for all Instructions |
1 | PING Instruction READ Instruction |
Status Packet will be returned only for READ Instruction |
2 | All Instructions | Status Packet will be returned for all Instructions |
NOTE : If the ID of Instruction Packet is set to Broad Cast ID(0xFE), Status Packet will not be returned for READ and WRITE Instructions regardless of Status Return Level. For more details, please refer to the Status Packet
section for Protocol 1.0 or Protocol 2.0.
Registered Instruction(69)
Value | Description |
---|---|
0 | REG_WRITE instruction is not received |
1 | REG_WRITE instruction is received |
NOTE : If ACTION instruction is executed, the value will be changed to 0.
Hardware Error Status(70)
The Dynamixel can protect itself by detecting dangerous situations that could occur during the operation.
Each Bit is inclusively processed with the ‘OR’ logic, therefore, multiple options can be generated.
For instance, when ‘0x05’ (binary : 00000101) is defined in Shutdown(63), Dynamixel can detect both Input Voltage Error(binary : 00000001) and Overheating Error(binary : 00000100).
If those errors are detected, Torque Enable(64) is cleared to ‘0’ and the motor output becomes 0 [%].
REBOOT is the only method to reset Torque Enable(64) to ‘1’(Torque ON) after the shutdown.
Check Hardware Error Bit(0x80) in a error field of Status Packet or a present status via Hardware Error Status(70) The followings are detectable situations.
Bit | Item | Description |
---|---|---|
Bit 7 | - | Unused, Always ‘0’ |
Bit 6 | - | Unused, Always ‘0’ |
Bit 5 | Overload Error(default) | Detect persistent load that exceeds maximum output |
Bit 4 | Electrical Shock Error(default) | Detect electric shock on the circuit or insufficient power to operate the motor |
Bit 3 | Motor Encoder Error | Detect malfunction of the motor encoder |
Bit 2 | OverHeating Error(default) | Detect internal temperature exceeds the configured operating temperature |
Bit 1 | - | Unused, Always ‘0’ |
Bit 0 | Input Voltage Error | Detect input voltage exceeds the configured operating voltage |
NOTE :
- If Shutdown occurs, LED will flicker every second. (Firmware v41 or above)
- If Shutdown occurs, reboot the device.
- H/W REBOOT : Turn off and turn on the power again
- S/W REBOOT : Transmit REBOOT Instruction (For more details, refer to the Reboot section of e-Manual.)
Velocity PI Gain(76, 78)
These values indicate Gains of Velocity Control Mode.
Gains of DYNAMIXEL’s internal controller can be calculated from Gains of the Control Table as shown below.
The constant in each equations include sampling time.
Velocity P Gain of DYNAMIXEL’s internal controller is abbreviated to KVP and that of the Control Table is abbreviated to KVP(TBL).
Controller Gain | Conversion Equations | Range | Description | |
---|---|---|---|---|
Velocity I Gain(76) | KVI | KVI = KVI(TBL) / 65,536 | 0 ~ 16,383 | I Gain |
Velocity P Gain(78) | KVP | KVP = KVP(TBL) / 128 | 0 ~ 16,383 | P Gain |
Below figure is a block diagram describing the velocity controller in Velocity Control Mode. When the instruction transmitted from the user is received by DYNAMIXEL, it takes following steps until driving the horn.
- An Instruction from the user is transmitted via DYNAMIXEL bus, then registered to Goal Velocity(104).
- Goal Velocity(104) is converted to desired velocity trajectory by Profile Acceleration(108).
- The desired velocity trajectory is stored at Velocity Trajectory(136).
- PI controller calculates PWM output for the motor based on the desired velocity trajectory.
- Goal PWM(100) sets a limit on the calculated PWM output and decides the final PWM value.
- The final PWM value is applied to the motor through an Inverter, and the horn of DYNAMIXEL is driven.
- Results are stored at Present Position(132), Present Velocity(128), Present PWM(124) and Present Current(126).
NOTE : Ka stands for Anti-windup Gain and β is a conversion coefficient of position and velocity that cannot be modified by users. For more details about the PID controller, please refer to the PID Controller at wikipedia.
Position PID Gain(80, 82, 84), Feedforward 1st/2nd Gains(88, 90)
These Gains are used in Position Control Mode and Extended Position Control Mode. Gains of DYNAMIXEL’s internal controller can be calculated from Gains of the Control Table as shown below. The constant in each equations include sampling time. Position P Gain of DYNAMIXEL’s internal controller is abbreviated to KPP and that of the Control Table is abbreviated to KPP(TBL).
Controller Gain | Conversion Equations | Range | Description | |
---|---|---|---|---|
Position D Gain(80) | KPD | KPD = KPD(TBL) / 16 | 0 ~ 16,383 | D Gain |
Position I Gain(82) | KPI | KPI = KPI(TBL) / 65,536 | 0 ~ 16,383 | I Gain |
Position P Gain(84) | KPP | KPP = KPP(TBL) / 128 | 0 ~ 16,383 | P Gain |
Feedforward 2nd Gain(88) | KFF2nd | KFF2nd(TBL) / 4 | 0 ~ 16,383 | Feedforward Acceleration Gain |
Feedforward 1st Gain(90) | KFF1st | KFF1st(TBL) / 4 | 0 ~ 16,383 | Feedforward Velocity Gain |
Below figure is a block diagram describing the position controller in Position Control Mode and Extended Position Control Mode. When the instruction from the user is received by DYNAMIXEL, it takes following steps until driving the horn.
- An Instruction from the user is transmitted via DYNAMIXEL bus, then registered to Goal Position(116).
- Goal Position(116) is converted to desired position trajectory and desired velocity trajectory by Profile Velocity(112) and Profile Acceleration(108).
- The desired position trajectory and desired velocity trajectory is stored at Position Trajectory(140) and Velocity Trajectory(136) respectively.
- Feedforward and PID controller calculate PWM output for the motor based on desired trajectories.
- Goal PWM(100) sets a limit on the calculated PWM output and decides the final PWM value.
- The final PWM value is applied to the motor through an Inverter, and the horn of DYNAMIXEL is driven.
- Results are stored at Present Position(132), Present Velocity(128), Present PWM(124) and Present Current(126).
NOTE : In case of PWM Control Mode, both PID controller and Feedforward controller are deactivated while Goal PWM(100) value is directly controlling the motor through an Inverter. In this manner, users can directly control the supplying voltage to the motor.
NOTE : Ka is an Anti-windup Gain that cannot be modified by users.
For more details about the PID controller and Feedforward controller, please refer to the PID Controller and Feed Forward.
Below figure is a block diagram describing the current-based position controller in Current-based Position Control Mode. As Current-based Position Control Mode is quite similar to Position Control Mode, differences will be focused in the following steps. The differences are highlighted with a green marker in the block diagram as well.
- Feedforward and PID controller calculates desired current based on desired trajectory.
- Goal Current(102) decides the final desired current by setting a limit on the calculated desired current.
- Current controller calculates PWM output for the motor based on the final desired current.
- Goal PWM(100) sets a limit on the calculated PWM output and decides the final PWM value.
- The final PWM value is applied to the motor through an Inverter, and the horn of DYNAMIXEL is driven.
- Results are stored at Present Position(132), Present Velocity(128), Present PWM(124) and Present Current(126).
NOTE : Ka is an Anti-windup Gain that cannot be modified by users.
Bus Watchdog(98)
Bus Watchdog (98) is available from firmware v38. It is a safety device (Fail-safe) that stops the DYNAMIXEL if the communication between the controller and DYNAMIXEL communication (RS485, TTL) is disconnected due to an unspecified error. Communication is defined as all the Instruction Packet in the DYNAMIXEL Protocol.
Values | Description | |
---|---|---|
Unit | 20[ms] | - |
Range | 0 | Deactivate Bus Watchdog Function, Clear Bus Watchdog Error |
Range | 1 ~ 127 | Activate Bus Watchdog |
Range | -1 | Bus Watchdog Error Status |
The Bus Watchdog function monitors the communication interval (time) between the controller and DYNAMIXEL when Torque Enable(64) is ‘1’. If the measured communication interval (time) is larger than Bus Watchdog(98), the DYNAMIXEL will stop. Bus Watchdog(98) will be changed to ‘-1’ (Bus Watchdog Error). If the Bus Watchdog Error screen appears, the Goal Value (Goal PWM(100), Goal Current(102), Goal Velocity(104), Goal Position(116)) will be changed to read-only-access. Therefore, when a new value is written to the Goal Value, a Range Error will be returned via the Status packet. If the value of Bus Watchdog(98) is changed to ‘0’, Bus Watchdog Error will be cleared.
NOTE : For details of Range Error, please refer to the protocol of the e-Manual.
The following are examples of the operation of the Bus Watchdog function.
- After setting the Operating Mode(11) to speed control mode, change the Torque Enable(64) to ‘1’.
- If ‘50’ is written in the Goal Velocity(104), the DYNAMIXEL will rotate in CCW direction.
- Change the value of Bus Watchdog(98) to ‘100’ (2,000 [ms]). (Activate Bus Watchdog Function)
- If no instruction packet is received for 2,000 [ms], the DYNAMIXEL will stop. When it stops, the Profile Acceleration(108) and Profile Velocity(112) are applied as ‘0’.
- The value of Bus Watchdog(98) changes to ‘-1’ (Bus Watchdog Error). At this time, the access to the Goal Value will be changed to read-only.
- If ‘150’ is written to the Goal Velocity(104), Range Error will be returned via Status Packet.
- If the value of Bus Watchdog(98) is changed to ‘0’, Bus Watchdog Error will be cleared.
- If “150” is written in the Goal Velocity(104), the DYNAMIXEL will rotate in CCW direction.
Goal PWM(100)
In case of PWM Control Mode, both PID controller and Feedforward controller are deactivated while Goal PWM(100) value is directly controlling the motor through an Inverter. In other control modes, this value is used to limit PWM value. This value cannot exceed PWM Limit(36). Please refer to the Gain section in order to see how Goal PWM(100) affects to different control modes.
Range | Description |
---|---|
-PWM Limit(36) ~ PWM Limit(36) | Initial Value of PWM Limit(36) : ‘885’ |
Goal Current(102)
In case of Torque Control Mode, Goal Current(102) can be used to set a desired current. This value sets a limit to current in Current-based Position Control mode. This value cannot exceed Current Limit(38).
Unit | Value Range |
---|---|
about 2.69[mA] | -Current Limit(38) ~ Current Limit(38) |
NOTE : Applying high current to the motor for long period of time might damage the motor.
Goal Velocity(104)
In case of Velocity Control Mode, Goal Velocity(104) can be used to set a desired velocity. This value cannot exceed Velocity Limit(44). For now, Goal Velocity(104) is used for desired velocity, but this value is not used to limit the velocity.
Unit | Value Range |
---|---|
0.229 rpm | -Velocity Limit(44) ~ Velocity Limit(44) |
NOTE : The maximum velocity and maximum torque of DYNAMIXEL is affected by supplying voltage.
Therefore, if supplying voltage changes, so does the maximum velocity. This manual complies with recommended supply voltage(12[V]).
NOTE : If Profile Acceleration(108) and Goal Velocity(104) are modified simultaneously, modified Profile Acceleration(108) will be used to process Goal Velocity(104).
Profile Acceleration(108)
If Velocity-based Profile is selected for Drive Mode(10), Profile Acceleration(108) sets acceleration of the Profile.
If Time-based Profile is selected for Drive Mode(10), Profile Acceleration(108) sets accelerating time of the Profile.
Profile Acceleration(108) is applied in all control mode except Current Control Mode.
Please refer to Profile Velocity(112) for more details.
Velocity-based Profile | Values | Description |
---|---|---|
Unit | 214.577 [rev/min2] | Sets acceleration of the Profile |
Range | 0 ~ 32767 | ‘0’ stands for an infinite acceleration |
Time-based Profile | Values | Description |
---|---|---|
Unit | 1 [msec] | Sets accelerating time of the Profile |
Range | 0 ~ 32737 | ‘0’ stands for an infinite accelerating time(‘0 [msec]’). Profile Acceleration(108) will not exceed 50% of Profile Velocity(112) value. |
NOTE : Time-based Profile is available from the firmware version 42.
Profile Velocity(112)
If Velocity-based Profile is selected for Drive Mode(10), Profile Velocity(112) sets the maximum velocity of the Profile.
If Time-based Profile is selected for Drive Mode(10), Profile Velocity(112) sets the time span for the Profile.
Profile Velocity(112) is applied only in Position Control Mode and Extended Position Control Mode.
NOTE: Velocity Control Mode only uses Profile Acceleration(108) without Profile Velocity(112).
Velocity-based Profile | Values | Description |
---|---|---|
Unit | 0.229 [rev/min] | Sets velocity of the Profile |
Range | 0 ~ 32767 | ‘0’ stands for an infinite velocity |
Time-based Profile | Values | Description |
---|---|---|
Unit | 1 [msec] | Sets the time span for the Profile |
Range | 0 ~ 32737 | ‘0’ stands for an infinite velocity. Profile Acceleration(108) will not exceed 50% of Profile Velocity(112) value. |
NOTE : Time-based Profile is available from the firmware V42.
The Profile is an acceleration/deceleration control method to reduce vibration, noise and load of the motor by controlling dramatically changing velocity and acceleration.
It is also called Velocity Profile as it controls acceleration and deceleration based on velocity.
DYNAMIXEL provides 3 different types of Profile. The following explains 3 Profiles.
Profiles are usually selected by the combination of Profile Velocity(112) and Profile Acceleration(108).
When given Goal Position(116), Dynamixel’s profile creates desired velocity trajectory based on present velocity(initial velocity of the Profile).
When Dynamixel receives updated desired position from a new Goal Position(116) while it is moving toward the previous Goal Position(116), velocity smoothly varies for the new desired velocity trajectory.
Maintaining velocity continuity while updating desired velocity trajectory is called Velocity Override.
For a simple calculation, let’s assume that the initial velocity of the Profile is ‘0’.
The following explains how Profile processes Goal Position(116) instruction in Position Control mode, Extended Position Control Mode, Current-based Position Control Mode.
- An Instruction from the user is transmitted via Dynamixel bus, then registered to Goal Position(116) (If Velocity-based Profile is selected).
- Acceleration time(t1) is calculated from Profile Velocity(112) and Profile Acceleration(108).
- Types of Profile is decided based on Profile Velocity(112), Profile Acceleration(108) and total travel distance(ΔPos, the distance difference between desired position and present position).
- Selected Profile type is stored at Moving Status(123).
- Dynamixel is driven by the calculated desired trajectory from Profile.
- desired velocity trajectory and desired position trajectory from Profile are stored at Velocity Trajectory(136) and Position Trajectory(140) respectively.
Condition | Types of Profile |
---|---|
VPRFL(112) = 0 | Profile not used (Step Instruction) |
(VPRFL(112) ≠ 0) & (APRF(108) = 0) | Rectangular Profile |
(VPRFL(112) ≠ 0) & (APRF(108) ≠ 0) | Trapezoidal Profile |
NOTE : Velocity Control Mode only uses Profile Acceleration(108). Step and Trapezoidal Profiles are supported. Velocity Override are supported as well. Acceleration time(t1) can be calculated as below equation.
Velocity-based Profile : t1 = 64 * {Goal Velocity(104) / Profile Acceleration(108)}
Time-based Profile : t1 = Profile Acceleration(108)
NOTE : If Time-based Profile is selected, Profile Velocity(112) is used to set the time span of the Profile(t3), while Profile Acceleration(108) sets accelerating time(t1) in millisecond[ms]. Profile Acceleration(108) will not exceed 50% of Profile Velocity(112) value.
Goal Position(116)
Desired position can be set with Goal Position(116). From the front view of Dynamixels, CCW is an increasing direction whereas CW is a decreasing direction. The way to reaching Goal Position(116) is differ by 4 Profiles provided by Dynamixels. Please refer to the Profile Velocity(112) for more details.
Mode | Values | Description |
---|---|---|
Position Control Mode | Min Position Limit(52) ~ Max Position Limit(48) | Initial Value : 0 ~ 4,095 |
Extended Position Control Mode | -1,048,575 ~ 1,048,575 | -256[rev] ~ 256[rev] |
Current-based Position Control Mode | -1,048,575 ~ 1,048,575 | -256[rev] ~ 256[rev] |
Degree Conversion Constant | Description |
---|---|
0.088°/Value | 1[rev] : 0 ~ 4,095 |
NOTE : Profile Velocity(112) and Profile Acceleration(108) are applied in below cases:
In Position Control Mode, Profile Velocity(112) and Profile Acceleration(108) are used to create a new profile when Goal Position(116) is updated.
In Velocity Control Mode, Profile Acceleration(108) is used to create a new profile when Goal Velocity(104) is updated.
Realtime Tick(120)
This value indicates Dynamixel’s time.
Unit | Value Range | Description |
---|---|---|
1 ms | 0 ~ 32,767 | The value resets to ‘0’ when it exceeds 32,767 |
Moving(122)
This value indicates whether Dynamixel is in motion or not.
If absolute value of Present Velocity(128) is greater than Moving Threshold(24), Moving(122) is set to ‘1’.
Otherwise, it will be cleared to ‘0’.
However, this value will always be set to ‘1’ regardless of Present Velocity(128) while Profile is in progress with Goal Position(116) instruction.
Value | Description |
---|---|
0 | Movement is not detected |
1 | Movement is detected, or Profile is in progress(Goal Position(116) instruction is being processed) |
Moving Status(123)
This one byte data provides additional information about the movement.
Following Error(0x08) and In-Position(0x01) are available under Position Control Mode, Extended Position Control Mode, Current-based Position Control Mode.
Bit | Value | Information | Description |
---|---|---|---|
Bit 7 | X | - | Reserved |
Bit 6 | X | - | Reserved |
Bit [5:4] | 11 10 01 00 |
Velocity Profile | 11 : Trapezoidal Profile 10 : Triangular Profile 01 : Rectangular Profile 00 : Profile not used(Step) |
Bit 3 | 0 or 1 | Following Error | DYNAMIXEL is following the desired position trajectory 0 : Following 1 : Not following |
Bit 2 | X | - | Reserved |
Bit 1 | 0 or 1 | Profile Ongoing | Profile is in progress with Goal Position(116) instruction 0 : Not in progress 1 : In progress |
Bit 0 | 0 or 1 | In-Position | DYNAMIXEL has arrived to the desired position 0 : Not arrived 1 : Arrived |
NOTE : Triangular velocity profile is configured when Rectangular velocity profile cannot reach to the Profile Velocity(112).
NOTE : In-Position bit will be set when the positional deviation is smaller than a predefined value under Position related control modes.
Present PWM(124)
This value indicates current PWM. For more details, please refer to the Goal PWM(100).
Present Current(126)
This value indicates current Current. For more details, please refer to the Goal Current(102).
Present Velocity(128)
This value indicates current Velocity. For more details, please refer to the Goal Velocity(104).
Present Position(132)
This value indicates present Position. For more details, please refer to the Goal Position(116).
NOTE : Present Position(132) represents 4 byte continuous range(-2,147,483,648 ~ 2,147,483,647) when Torque is turned off regardless of Operating Mode(11). However, Present Position(132) will be reset in those cases:
- Present Position(132) is reset with the value within 1 rev (0 ~ 4,095) when Operating Mode(11) is changed to Position Control Mode.
- Present Position(132) is reset with the value within 1 rev (0 ~ 4,095) when Torque is turned on in Position Control Mode.
Reset Present Position(132) value can be affected by Homing Offset(20).
Velocity Trajectory(136)
This is a desired velocity trajectory created by Profile. Operating method can be changed based on control mode. For more details, please refer to the Profile Velocity(112).
- Velocity Control Mode : When Profile reaches to the endpoint, Velocity Trajectory(136) becomes equal to Goal Velocity(104).
- Position Control Mode, Extended Position Control Mode, Current-based Position Control Mode : Velocity Trajectory is used to create Position Trajectory(140). When Profile reaches to an endpoint, Velocity Trajectory(136) is cleared to ‘0’.
Position Trajectory(140)
This is a desired position trajectory created by Profile.
This value is only used in Position Control Mode, Extended Position Control Mode and Current-based Position Control Mode.
For more details, please refer to the Profile Velocity(112).
Present Input Voltage(144)
This value indicates present voltage that is being supplied. For more details, please refer to the Max/Min Voltage Limit(32, 34).
Present Temperature(146)
This value indicates internal temperature of Dynamixel. For more details, please refer to the Temperature Limit(31).
External Port Data 1,2,3
Through External Port Data, signal on the External Port can be read or data can be written on the External Port.
The External Port is not electrically insulated, therefore abide by the electrical specifications.
For more accurate measurement, use shielded cable or twisted cable.
The shorter the length, the better the result.
External Port Mode | Access | Details | Electrical Characteristics |
---|---|---|---|
Common | - | - | 0 ~ 3.3[V], 0 ~ 5[mA] VESD(HBM) : 2[kV] |
0(AI) | Read | Converts External Port signal to digital value External Data = signal x (4,095 / 3.3) |
Resolution : 12[bit] (0 ~ 4,095) |
1(DO_PP) | Write | 0 : Set External Port output to 0[V] 1 : Set External Port output to 3.3[V] |
Output High level(VOH) : 2.4 [V] (min) Output Low level(VOL) : 0.5 [V] (max) |
2(DI_PU) 3 (DI_PD) |
Read | 0: External Port input is 0[V] 1 : External Port input is 3.3[V] |
Input High level(VIH) : 2.3 [V] (min) Input Low level(VIL) : 1.0 [V] (max) Pull-Up/Down : 40 [kΩ] (typ) |
※ VESD(HBM) : ESD(Electrostatic Discharge) Voltage(human body model)
The External Port is not electrically insulated, therefore, abide by the electrical specifications.
If the electrical specification is exceeded or there is a problem with the signal connection, special caution is required because DYNAMIXEL can be damaged.
- Be careful not to cause electric shock by static electricity (ESD), short circuit, open circuit.
- Be careful not to let water or dust get into the External Port connector.
- If you are not using the External Port, remove the cable.
- To connect or disconnect the External Port, proceed with power off.
- Do not connect the GNDext pin of External Port directly to the GND pin of DYNAMIXEL connector. Noise from power may affect on the External Port.
Indirect Address, Indirect Data
Indirect Address and Indirect Data are useful when accessing two remote addresses in the Control Table as sequential addresses. Sequential addresses increase Instruction Packet efficiency. Addresses that can be defined as Indirect Address is limited to RAM area(Address 64 ~ 661). If specific address is allocated to Indirect Address, Indirect Address inherits features and properties of the Data from the specific Address. Property includes Size(Byte length), value range, and Access property(Read Only, Read/Write). For instance, allocating 65(Address of LED) to Indirect Address 1(168), Indirect Data 1(224) can perform exactly same as LED(65).
Example 1
Allocating Size 1 byte LED(65) to Indirect Data 1(224).
- Indirect Address 1(168) : change the value to ‘65’ which is the address of LED.
- Set Indirect Data 1(224) to ‘1’ : LED(65) also becomes ‘1’ and LED is turned on.
- Set Indirect Data 1(224) to ‘0’ : LED(65) also becomes ‘0’ and LED is turned off.
Example 2
Allocating Size 4 byte Goal Position(116) to Indirect Data 2(225), 4 sequential bytes have to be allocated.
- Indirect Address 2(170) : change the value to ‘116’ which is the first address of Goal Position.
- Indirect Address 3(172) : change the value to ‘117’ which is the second address of Goal Position.
- Indirect Address 4(174) : change the value to ‘118’ which is the third address of Goal Position.
- Indirect Address 5(176) : change the value to ‘119’ which is the fourth address of Goal Position.
- Set 4 byte value ‘1,024’ to Indirect Data 2 : Goal Position(116) also becomes ‘1024’ and Dynamixel moves.
Indirect Address Range | Description |
---|---|
64 ~ 661 | EEPROM address can’t be assigned to Indirect Address |
NOTE : In order to allocate Data in the Control Table longer than 2[byte] to Indirect Address, all address must be allocated to Indirect Address like the above Example 2.
NOTE : Indirect Address 29 ~ 56 and Indirect Data 29 ~ 56 can only be accessed with Protocol 2.0.
How to Assemble
Wiring through Back Case
CAUTION : Dynamixel X-Series cable assembly through hollow case
- Organize the entangled cable before assembling the back case.
- Do not assemble the back case with entangled cable. The entangled cable can be squashed by the case and cause communication error.
Option Frame Assembly
Maintenance
Horn and Gear Replacement
The horn is installed on the front wheel gear serration of the DYNAMIXEL whereas the bearing set is installed on the back.
Installing the Horn
When installing horn, carefully match the align markings on the horn and the wheel gear serration.
Once alignment is properly done, gently push the center of the horn toward the actuator.
Gear Replacement
You may need to replace the internal gear set when gears are worn out or damaged. Please follow the gear replacement instruction video.
Reference
Compatibility Guide
Harness Compatibility
Certifications
Please inquire us for information regarding unlisted certifications.
FCC
Note: This equipment has been tested and found to comply with the limits for a Class A digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense.
WARNING
Any changes or modifications not expressly approved by the manufacturer could void the user’s authority to operate
the equipment.
Quick Start
Prerequisites
- Power supply to DYNAMIXEL(12V SMPS / Controllers)
- PC with Windows or OSX
- Connection between PC and DYNAMIXEL (U2D2, USB2Dynamixel or Micro USB cable)
R+ Manager
In order to change settings of DYNAMIXEL, R+ Manager 1.0 or R+ Manager 2.0 must be installed on your system.
You can also use Dynamixel SDK or Dynamixel Workbench.
Connector Information
Item | TTL | RS-485 | External Port | Dual Joint |
---|---|---|---|---|
Pinout | 1 GND2 VDD3 DATA |
1 GND2 VDD3 DATA+4 DATA- |
1 GND2 VDD3 PORT 14 PORT 25 PORT 3 |
1 PWM12 PWM23 ENABLE |
Diagram | ![]() |
![]() |
![]() |
![]() |
Housing | ![]() JST EHR-03 |
![]() JST EHR-04 |
![]() MOLEX 51021-0500 |
![]() MOLEX 51021-0300 |
PCB Header | ![]() JST B3B-EH-A |
![]() JST B4B-EH-A |
![]() MOLEX 53047-0510 |
![]() MOLEX 53398-0371 |
Crimp Terminal | JST SEH-001T-P0.6 | JST SEH-001T-P0.6 | MOLEX 50079-8100 | MOLEX 50058-8000 |
Wire Gauge | 21 AWG | 21 AWG | 26 AWG | 26 AWG |
WARNING: Check the pinout! The pinout of Dynamixel can differ from the pinout of connector manufacturer.
Communication Circuit
To control the Dynamixel actuators, the main controller needs to convert its UART signals to the half duplex type. The recommended circuit diagram for this is shown below.
TTL Communication
RS-485 Communication
The power of Dynamixel is supplied via Pin1(-), Pin2(+).
(The above circuit is built into Dynamixel-only controller.)
In the above circuit diagram, the direction of data signal of TxD and RxD in the TTL Level is determined according to the level of DIRECTION 485 as follows:
In case of DIRECTION485 Level = High: The signal of TxD is output to D+ and D-
In case of DIRECTION485 Level = Low: The signal of D+ and D- is output to RxD
WARNING: Check the pinout! The pinout of Dynamixel can differ from the pinout of connector manufacturer.
Drawings
Download
X_540.pdfDownload
X-540.dwgDownload
dummy_X540_std.stpDownload
dummy_X540_idle.stp
Please also checkout ROBOTIS Download Center for software applications, 3D/2D CAD, and other useful resources!