|Baud Rate||9600 bps ~ 10.5 Mbps|
|Operating Modes||Torque Control Mode
Velocity Control Mode
Position Control Mode
Extended Position Control Mode
|Dimensions (W x H x D)||42mm x 72mm x 42mm (1.65 x 2.83 x 1.65)|
|Gear Ratio||303.8 : 1|
|No Load Speed||29.7rpm|
|No Load Current||0.72A|
|Continuous Torque||1.2Nm (170 ozf-in)|
|Operating Temperature||5°C ~ 55°C|
|Command Signal||Digital Packet|
|Protocol Type||RS485 Asynchronous Serial Communication
(8bit, 1stop, No Parity)
|Physical Connection||RS485 Multidrop BUS|
|ID||0 ~ 252|
Note The max torque measurement method for the Stall Torque and Performance Graph is different. Stall torque is measured from the max torque that it can reach. This is generally how RC servos measure their torque. For the Performance graph with the N-T curves, it is measured with the load gradually increasing. The motor operation environment is closer to the performance graph, not stall torque method. This is probably why the performance graph is being broadly used in the industrial market. This is why the max torque of the performance grap can actually be less than the stall torque.
Caution When connecting to power supply, it is recommended using ROBOTIS controller or SMPS2DYNAMIXEL.
Do not connect or disconnect DYNAMIXEL when power is being supplied.
The Control Table is a structure of data implemented in the DYNAMIXEL. Users can read a specific Data to get status of the DYNAMIXEL with Read Instruction Packets, and modify Data as well to control DYNAMIXEL with WRITE Instruction Packets.
The Control Table is a structure that consists of multiple Data fields to store status of the DYNAMIXEL or to control the DYNAMIXEL. Users can check current status of the DYNAMIXEL by reading a specific Data from the Control Table with Read Instruction Packets. WRITE Instruction Packets enable users to control the DYNAMIXEL 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.
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 DYNAMIXEL is powered off(Non-Volatile). Data in the EEPROM Area can only be written to if Torque Enable(64) is cleared to ‘0’(Off).
The Size of data varies from 1 to 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.
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 DYNAMIXEL.
Each data in the Control Table is restored to initial values when the DYNAMIXEL is turned on. Default values in the EEPROM area are initial values of the DYNAMIXEL (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 DYNAMIXEL is turned on. Initial Values in the RAM area are restored when the DYNAMIXEL is turned on.
|Address||Size(Byte)||Data Name||Description||Access||Initial Value|
|0||2||Model Number||Model Number||R||35072|
|2||4||Model Information||Model Information||R||-|
|6||1||Firmware Version||Firmware Version||R||-|
|8||1||Baud Rate||Communication Speed||RW||1|
|9||1||Return Delay Time||Response Delay Time||RW||250|
|11||1||Operating Mode||Operating Mode||RW||3|
|17||4||Moving Threshold||Velocity Threshold for Movement Detection||RW||50|
|21||1||Temperature Limit||Maximum Internal Temperature Limit||RW||80|
|22||2||Max Voltage Limit||Maximum Input Voltage Limit||RW||400|
|24||2||Min Voltage Limit||Minimum Input Voltage Limit||RW||150|
|26||4||Acceleration Limit||Maximum Accleration Limit||RW||-|
|30||2||Torque Limit||Maximum Torque Limit||RW||-|
|32||4||Velocity Limit||Maximum Velocity Limit||RW||-|
|36||4||Max Position Limit||Maximum Position Limit||RW||-|
|40||4||Min Position Limit||Minimum Position Limit||RW||-|
|44||1||External Port Mode 1||External Port Mode 1||RW||0|
|45||1||External Port Mode 2||External Port Mode 2||RW||0|
|46||1||External Port Mode 3||External Port Mode 3||RW||0|
|47||1||External Port Mode 4||External Port Mode 4||RW||0|
|48||1||Shutdown||Shutdown Error Information||RW||48|
|49||2||Indirect Address 1||Indirect Address 1||RW||634|
|51||2||Indirect Address 2||Indirect Address 2||RW||635|
|53||2||Indirect Address 3||Indirect Address 3||RW||636|
|…||2||Indirect Address N||Indirect Address N||RW||…|
|559||2||Indirect Address 256||Indirect Address 256||RW||889|
|Address||Size(Byte)||Data Name||Description||Access||Initial Value|
|562||1||Torque Enable||Motor Torque On/Off||RW||0|
|563||1||LED Red||Red LED Intensity Value||RW||0|
|564||1||LED Green||Green LED Intensity Value||RW||0|
|565||1||LED Blue||Blue LED Intensity Value||RW||0|
|590||2||Position D Gain||D Gain of Position||RW||-|
|592||2||Position I Gain||I Gain of Position||RW||-|
|594||2||Position P Gain||P Gain of Position||RW||-|
|596||4||Goal Position||Target Position Value||RW||-|
|600||4||Goal Velocity||Target Velocity Value||RW||0|
|604||2||Goal Torque||Target Current Value||RW||0|
|606||4||Goal Acceleration||Target Acceleration Value||RW||0|
|611||4||Present Position||Present Position Value||R||-|
|615||4||Present Velocity||Present Velocity Value||R||-|
|621||2||Present Current||Present Current Value||R||-|
|623||2||Present Input Voltage||Present Input Voltage||R||-|
|625||1||Present Temperature||Present Internal Temperature||R||-|
|626||2||External Port Data 1||External Port Data 1||R/RW||0|
|628||2||External Port Data 2||External Port Data 2||R/RW||0|
|630||2||External Port Data 3||External Port Data 3||R/RW||0|
|632||2||External Port Data 4||External Port Data 4||R/RW||0|
|634||1||Indirect Data 1||Indirect Data 1||RW||0|
|635||1||Indirect Data 2||Indirect Data 2||RW||0|
|636||1||Indirect Data 3||Indirect Data 3||RW||0|
|…||1||Indirect Data N||Indirect Data N||RW||0|
|889||1||Indirect Data 256||Indirect Data 256||RW||0|
|890||1||Registered Instruction||Check Reception of Instruction||R||0|
|891||1||Status Return Level||Select Types of Status Return||RW||2|
|892||1||Hardware Error Status||Hardware Error Status||R||0|
Caution Data in the EEPROM Area can only be written when the value of Torque Enable(562) is cleared to ‘0’.
This address stores model number of the DYNAMIXEL.
|Model Name||Model Number|
This address stores firmware version of the DYNAMIXEL.
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 determines serial communication speed between a controller and DYNAMIXELs.
Note Less than 3% of the baud rate error margin will not affect to UART communication.
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.
|2[μsec]||0 ~ 254||Default value ‘250’(500[μsec]), Maximum 508[μsec]|
|1||Velocity Control Mode||This mode controls Velocity and Torque. Position will not be controlled.|
|3(Default)||Position Control Mode||This mode controls Position, Velocity and Torque.|
If Present Velocity(615) is bigger than this value, Moving(610) is set to ‘1’ and otherwise Moving(610) is cleared to ‘0’. This value determines whether Dynamixel is in motion or not.
|0 ~ 2,147,483,647|
This value limits operating temperature. When the Present Temperature(625) that indicates internal temperature of Dynamixel is greater than the Temperature Limit(21), the Over Heating Error Bit(Bit 2) in the Hardware Error Status(892) will be set. If Overheating Error Bit(Bit 2) is configured in the Shutdown(48) when Over Heating Error occurs, Torque Enable(562) is cleared to ‘0’ and Torque will be disabled. For more details, please refer to the Shutdown(48) section.
|About 1°||0 ~ 100||0 ~ 100°|
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. Keep using the product when the temperature is high can cause severe damage.
These values are maximum and minimum operating voltages. When current input voltage acquired from Present Input Voltage(623) exceeds the range of Max Voltage Limit(36) and Min Voltage Limit(40), Input Voltage Error Bit(Bit 0) in the Hardware Error Status(892) will be set to ‘1’. If Input Voltage Error Bit(Bit 0) is configured in the Shutdown(48) when Input Voltage Error occurs, Torque Enable(562) is cleared to ‘0’ and Torque will be disabled. For more details, please refer to the Shutdown(48) section.
|About 0.1V||0 ~ 400||0 ~ 40.0V|
This value indicates acceleration limit. The Goal Velocity(600) can’t exceed this value. Trying to write an exceeding value will fail and result in receiving a Limit Error Bit from the Status Packet.
|0 ~ 2,147,483,647|
This value indicates torque limit. Goal Torque(604) can’t exceed this value. Trying to write an exceeding value will fail and result in receiving a Limit Error Bit from the Status Packet.
|0 ~ 32,767|
This value indicates velocity limit. The Goal Velocity(600) can’t exceed this value. Trying to write an exceeding value will fail and result in receiving a Limit Error Bit from the Status Packet.
|0 ~ 2,147,483,647|
These values limit maximum and minimum target positions. The Goal Position(596) can’t exceed these values. Trying to write an exceeding value will fail and result in receiving a Limit Error Bit from the Status Packet. In Extended Position Control Mode, these limits will be ignored.
|Model Name||Value Range|
|-250,961 ~ 250,961|
|H42-20-S300-R||-151,875 ~ 151,875|
|-125,708 ~ 125,708|
|M42-10-S260-R||-131,593 ~ 131,593|
|L54-50-S290-R||-103,846 ~ 103,846|
|-180,692 ~ 180,692|
|L54-30-S400-R||-144,197 ~ 144,197|
Dynamixel PRO is equipped with multi-purpose expansion ports.
|Voltage||0 ~ 3.3V|
|Current||0 ~ 5mA|
- Analog input mode: analog values from an external port get converted to digital. These values are automatically updated in External port data(626 ~ 632).
- Output mode: can adjust external port voltage 0V or 3.3V. External port data value of 0 is 0V, 1 for 3.3V.
- Pull-up input mode: Verify port value of 0 or 1. External port data value changes by following voltage from expansion port; 0V to 0. 3.3V to 1. This becomes a weak pull-up. Depending on needs an external strong pull-up is acceptable.
- Pull-up output mode: Verify port value of 0 or 1. External port data value changes by following voltage from expansion port; 0V to 0. 3.3V to 1. This becomes a weak pull-down. Depending on needs an external strong pull-down is acceptable.
External expansion port location and pin function
Remove bolts and cover plate to reveal External Port connector.
|Pin 1||Pin 2||Pin 3||Pin 4||Pin 5||Pin 6|
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 as Shutdown(48), Dynamixel can detect both Input Voltage Error(binary : 00000001) and Overheating Error(binary : 00000100). If those errors are detected, Torque Enable(562) is cleared to ‘0’ and the motor output becomes 0[%]. In order to reuse Dynamixel Pro in shutdown status, REBOOT has to be done. The followings are detectable situations.
|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||Motor Hall Sensor Error||Motor hall sensor value exceeds normal range|
|Bit 0||Input Voltage Error||Detect input voltage exceeds the configured operating voltage|
Note If Shutdown occurs, use below method to reboot Dynamixels.
- H/W REBOOT : Turn off the power and turn on again
- S/W REBOOT : Transmit REBOOT Instruction (For more details, please refer to the Protocol section of e-Manual.)
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 562 ~ 892). 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, if address 563(LED Red) is allocated to Indirect Address 1(49), Indirect Data 1(634) will have the exactly same value of LED Red(563).
Example 1 Allocating 1 byte LED(563) to Indirect Data 1(634).
- Indirect Address 1(49) : change the value to ‘563’ which is the address of LED Red.
- Set Indirect Data 1(634) to ‘1’ : LED Red(563) also becomes ‘1’ and Red LED will be turned on.
- Set Indirect Data 1(634) to ‘0’ : LED Red(563) also becomes ‘0’ and Red LED will be turned off.
Example 2 Allocating Size 4 byte Goal Position(596) to Indirect Data 2(635), 4 sequential bytes have to be allocated.
- Indirect Address 2(51) : change the value to ‘596’ which is the first address of Goal Position.
- Indirect Address 3(53) : change the value to ‘597’ which is the second address of Goal Position.
- Indirect Address 4(55) : change the value to ‘598’ which is the third address of Goal Position.
- Indirect Address 5(57) : change the value to ‘599’ which is the fourth address of Goal Position.
- Set 4 byte value 305,419,896(0x12345678) to Indirect Data 2 : Goal Position(596) also becomes 305,419,896(0x12345678) as below.
|Indirect Data Address||Goal Position Address||Saved HEX Value|
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.
Controls Torque ON/OFF. Writing ‘1’ to this address will turn on the Torque and all Data in the EEPROM area will be protected.
|0(Default)||Torque OFF(Free-run) and the motor does not generate torque|
|1||Torque ON and all Data in the EEPROM area will be locked|
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).
Controls the RGB LED on Dynamixel PRO.
|563||Red||0 ~ 255|
|564||Green||0 ~ 255|
|565||Blue||0 ~ 255|
These Gains are used in Position Control Mode. Below figure is a block diagram describing the Position Control Mode. KPD, KPI, KPP stands for Position D Gain, Position I Gain and Position P Gain respectively.
|Gain Value Range|
|0 ~ 32,767|
Target position can be set with Goal Position(596). This value can’t be smaller than the Min Position Limit(40) or larger than Max Position Limit(36). When CW/CCW Angle Limit are exceeded the status packet sends an Angle limit error bit (bit 1) to 1. The alarm LED is triggered and initiate shutdown.
|Model||Angle Range||Position Range||Description|
|L42-10-S300-R||0° ~ 360 °||0 ~ 4,095|
Position Control Mode Speed for Goal Position. Range is from 0 ~ 1,023 (0x3FF) and 0.114rpm is a RPM conversion unit. If Goal Velocity is set to ‘0’, maximum rpm will be used. For example, if Goal Velocity is set to ‘1,023’, 1,023 * 0.114rpm = 116.62rpm
Speed Control Mode It is a velocity to a target direction. -1,023 ~ 1,023 (0x3FF) can be used, and the conversion unit is about 0.114rpm. If a value in the range of 0 ~ 1,023 is used, rotating direction is CCW and ‘0’ will stop rotation. If a value in the range of -1,023 ~ 0 is used, rotating direction is CW and ‘0’ will stop rotation.
NotePlease check the maximum rpm of the Dynamixel. The motor cannot exceed the maximum rpm with the higher Moving Speed value.
It is the value of the maximum torque limit. 0 ~ 1,023(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 Torque Limit(30) is used as an initial value.
Goal Acceleration(606) can be used to set a target acceleration. This value is used in Velocity Control Mode and Position Control Mode. The profile control will be enabled when both Goal Acceleration(606) and Goal Velocity(600) are not ‘0’. Please refer to the Goal Velocity(600) for RPM conversion constant.
|-2,147,483,647 ~ 2,147,483,647||214 RPM2 @ Core Motor|
This value indicates whether Dynamixel Pro is in motion or not. If absolute value of Present Velocity(615) is greater than Moving Threshold(17), Moving(610) is set to ‘1’. Otherwise, it will be cleared to ‘0’. However, this value will always be set to ‘1’ regardless of Present Velocity(615) while Profile is in progress with Goal Position(596) instruction.
|0||Movement is not detected|
|1||Movement is detected, or Profile is in progress(Goal Position(596) instruction is being processed)|
This value indicates present Position. For more details, please refer to the Goal Position(596).
This value indicates present Velocity. It is a velocity to a target direction. -1,023 ~ 1,023 (0x3FF) can be used, and the conversion unit is about 0.114rpm. For more details, please refer to the Goal Velocity(600).
|A = V * 8,250 / 2,048
A : Current[mA]
V : Present Current/Goal Torque
This value indicates present voltage that is being supplied. For more details, please refer to the Min/Max Voltage Limit(24, 22).
This value indicates present internal Temperature. For more details, please refer to the Temperature Limit(21).
|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.
This value decides how to return Status Packet when Dynamixel receives an Instruction Packet.
|0||PING Instruction||Status Packet will not be returned for all Instructions|
|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.
This value indicates hardware error status. For more details, please refer to the Shutdown(48).
- FRP42-H110K, FRP42-H120K Set