WARNING : EX-106+ has been discontinued.
|Baud Rate||7843 bps ~ 1 Mbps|
|Running Degree||0° ~ 251°
|Dimensions (W x H x D)||40.2mm x 65.1mm x 46mm|
|Gear Ratio||184 : 1|
|Stall Torque||10.9 N*m (at 18.5V, 7A)|
|No Load Speed||91rpm (at 18.5V)|
|Operating Temperature||-5°C ~ +80°C|
|Input Voltage||12 ~ 18.5V (Recommended : 14.8V)|
|Command Signal||Digital Packet|
|Protocol Type||RS485 Asynchronous Serial Communication
(8bit, 1stop, No Parity)
|Physical Connection||RS485 Multi Drop Bus(Daisy Chain Type Connector)|
|ID||0 ~ 253|
|Feedback||Position, Temperature, Load, Input Voltage, etc|
|Material||Full Metal Gear, Aluminium Front Case,
Engineering Plastic Body
NOTE : 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.
(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.
(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.
(May cause injury or damage to product)
- Do not disassemble or modify product.
- Do not drop or apply strong shock to product.
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.
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 1.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 device is powered off(Non-Volatile).
Data in the EEPROM Area can only be written to if Torque Enable(24) is cleared to ‘0’(Off).
The Size of data varies from 1 ~ 2 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 device.
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.
|0||2||Model Number||Model Number||R||107|
|2||1||Firmware Version||Firmware Version||R||-|
|4||1||Baud Rate||Communication Speed||RW||34|
|5||1||Return Delay Time||Response Delay Time||RW||250|
|6||2||CW Angle Limit||Clockwise Angle Limit||RW||0|
|8||2||CCW Angle Limit||Counter-Clockwise Angle Limit||RW||4,095|
|10||1||Drive Mode||Dual Mode Setting||RW||0|
|11||1||Temperature Limit||Maximum Internal Temperature Limit||RW||80|
|12||1||Min Voltage Limit||Minimum Input Voltage Limit||RW||60|
|13||1||Max Voltage Limit||Maximum Input Voltage Limit||RW||240|
|14||2||Max Torque||Maximun Torque||RW||1023|
|16||1||Status Return Level||Select Types of Status Return||RW||2|
|17||1||Alarm LED||LED for Alarm||RW||36|
|18||1||Shutdown||Shutdown Error Information||RW||36|
|24||1||Torque Enable||Motor Torque On/Off||RW||0|
|25||1||LED||Status LED On/Off||RW||0|
|26||1||CW Compliance Margin||CW Compliance Margin||RW||1|
|27||1||CCW Compliance Margin||CCW Compliance Margin||RW||1|
|28||1||CW Compliance Slope||CW Compliance Slope||RW||32|
|29||1||CCW Compliance Slope||CCW Compliance Slope||RW||32|
|30||2||Goal Position||Target Position||RW||-|
|32||2||Moving Speed||Moving Speed||RW||-|
|34||2||Torque Limit||Torque Limit(Goal Torque)||RW||ADD 14&15|
|36||2||Present Position||Present Position||R||-|
|38||2||Present Speed||Present Speed||R||-|
|40||2||Present Load||Present Load||R||-|
|42||1||Present Voltage||Present Voltage||R||-|
|43||1||Present Temperature||Present Temperature||R||-|
|44||1||Registered||If Instruction is registered||R||0|
|48||2||Punch||Minimum Current Threshold||RW||0|
|56||2||Sensed Current||Consuming Current||R||-|
This address stores model number of the DYNAMIXEL.
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.
|Value||Baud Rate||Margin of Error|
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
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.
|Range||0 ~ 254||Default value ‘250’(500[μsec]), Maximum 508[μsec]|
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). CW Angle Limit: the minimum value of Goal Position(Address 30, 31) CCW Angle Limit: the maximum value of 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 are 0|
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.
|Bit 2 ~ 7||N/A||-|
|Bit 1||Master/Slave Mode||0: Master Mode
1 : Slave Mode
|Bit 0||Normal/Reverse Mode||0: Normal Mode
1: Reverse mode
Master Mode In case of being used as dual joints, it is set to designate as master.
Slave Mode In case of being used as dual joints, it is set to designate as slave.
General Mode Sets the direction of rotation to set direction. Reads normal data values from position.
Reverse Mode Sets the direction of rotation opposite to set direction. Reads inverse data values from position.
NOTE : Reverse mode is to reverse the rotational direction. It can be used conveniently when a symmetrical joint is required.
Dual joints are used as 1 joint by controlling 2 motors simultaneously. To use the dual joints, 1 unit of motor set in master mode and 1 unit of motor set in slave mode are needed. Next, the motors must be connected to each other using synchronization cable.
- Normal mode synch cable: Drives Master and PWM signals synchronized.
- Reverse mode synch cable: Drives PWM signals in reverse.
NOTE : Slave is synchronized by directly receiving the control command through synchronization cable from Master. Slave Mode unit responds to communication through command packets, but data related to motor drive are processed only through the synchronization.
NOTE : In a dual master-slave configuration position information from the slave is ignored and the position of the dual configuration is based on the master in PWM control. When master and slave are not physically connected there could be a slight difference on the driven load. Use the frame shown in the below image to achieve dual configuration.
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.
It is the operation range of voltage.
|About 0.1V||50 ~ 250||5.0 ~ 25.0V|
For example, if the value is 80, the voltage is 8V. If Present Voltage(42) 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.
|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.
|0||Keeps Torque from generating by interrupting the power of motor|
|1||Generates Torque by impressing the power to the motor.|
|0||Turn OFF the LED|
|1||Turn ON the LED|
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.
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)|
Compliance is to set the control flexibility of the motor. The following diagram shows the relationship between output torque and position of the motor.
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 the front view of Dynamixel
NOTE : 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.
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.
NOTE : Please 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 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.
NOTE : 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.
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 the front view of Dynamixel.
Wheel Mode The range of the value is 0~65535(0XFFFF), and the unit is 0.06 degree. In case of Wheel Mode, only the moving distance can be measured since the present location outputs the value of Encoder. It is increased or decreased by 1 depending on the moving direction of wheel. If it is decreased when the value is 0, it becomes 65535; if it is increased when it is 65535, the value becomes 0.
Total Moved Angle = (The value currently measured - The value measured in the past) x 0.06 According to the formula above, if the total moved angle is greater than 0, it is turned to the direction of CCW; if it is less than 0, it is turned to the direction of CW. For example, The value is changed from 5000 to 10000, (10000 - 5000) x 0.06 = 300, and the total moved angle becomes 300 degrees.
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.
|Bit||15 ~ 11||10||9 ~ 0|
|Value||0||Load Direction||Data (Load Ratio)|
NOTE : CCW Load : Load Direction = 0, CW Load : Load Direction = 1
NOTE : 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°C.
|0||There are no commands transmitted by REG_WRITE|
|1||There are commands transmitted by REG_WRITE|
NOTE : If ACTION command is executed, the value is changed into 0.
|0||Goal position command execution is completed|
|1||Goal position command execution is in progress|
|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.
Current to drive motor is at minimum. Can choose vales from 0x20 to 0x3FF.
It is the amount of current in use. The range from 0 to 1023 is used, and the unit is 10mA. The value less than 512 means the motor consumes the current and torques to the direction of CCW. The value greater than 512 means the motor consumes the current and torques to the direction of CW. 512 is equal to 0mA, and it means there is no torque from the motor.
For example, if the value is 612, the motor torques to the direction of CW and consumes 1000mA(612-512=100 => 100x10mA = 1,000mA).
If the value is 312, the motor torques to the direction of CW and consumes 2000mA(512-312= -200 => 200x10mA=2,000mA).
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
Place the thrust horn washer into the actuator before inserting the horn. You must carefully align the horn to the wheel gear serration by aligning dots.
Once alignment is properly done, gently push the center of the horn toward the actuator. Make sure that the horn washer is in place as you tighten the bolt.
Installing the Bearing Set
You may need to remove the bearing set from the previous actuator and reinstall it into the new actuator. The bearing set can also be purchased separately. As bearing set is rotating freely, therefore alignment is not required when assembling to DYNAMIXEL.
NOTE : Compatibility Guide
|Crimp Terminal||MOLEX 08-70-1039|
|Wire Gauge||21 AWG|
WARNING: Check the pinout! The pinout of Dynamixel can differ from the pinout of connector manufacturer.
Please also checkout ROBOTIS Download Center for software applications, 3D/2D CAD, and other useful resources!
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.
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.