Edit on GitHub

L54-30-S400-R

Specifications

Item Specifications
Motor BLDC
Baud Rate 9600 bps ~ 10.5 Mbps
Operating Modes Torque Control Mode
Velocity Control Mode
Position Control Mode
Extended Position Control Mode
Weight 612g (21.6oz)
Dimensions (W x H x D) 54mm x 108mm x 54mm (2.13 x 4.25 x 2.13)
Resolution 288,395 steps/rev
Gear Ratio 400.5 : 1
Backlash 4.6arcmin (0.08°)
No Load Speed 28.7rpm
No Load Current 1.19A
Continuous Speed 26.9rpm
Continuous Torque 2.5Nm (354 ozf-in)
Continuous Current 1.6A
Output 30W
Operating Temperature 5°C ~ 55°C
Nominal Voltage 24V
Command Signal Digital Packet
Protocol Type RS485 Asynchronous Serial Communication
(8bit, 1stop, No Parity)
Physical Connection RS485 Multidrop BUS
ID 0 ~ 252

Performance Graph

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.

Control Table

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.

Control Table, Data, Address

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.

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 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).

Size

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.

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 DYNAMIXEL.

Initial Value

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.

Control Table of EEPROM Area

Address Size(Byte) Data Name Description Access Initial Value
0 2 Model Number Model Number R 37928
2 4 Model Information Model Information R -
6 1 Firmware Version Firmware Version R -
7 1 ID DYNAMIXEL ID RW 1
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
13 4 Homing Offset Home Position Offset RW 0
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 58
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

Control Table of RAM Area

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
586 2 Velocity I Gain I Gain of Velocity RW -
588 2 Velocity P Gain P Gain of Velocity 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
610 1 Moving Movement Status R -
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

Control Table Description

Caution Data in the EEPROM Area can only be written when the value of Torque Enable(562) is cleared to ‘0’.

Model Number(0)

This address stores model number of the DYNAMIXEL.

Model Name Model Number
L54-30-S400-R 37928 (0x9428)

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
8 10.5M
7 4.5M
6 4M
5 3M
4 2M
3 1M
2 115,200
1(Default) 57,600
0 9,600

Note Less than 3% of the baud rate error margin will not affect to UART communication.

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]

Operating Mode(11)

Value Operating Mode Description
0 Torque Control Mode This mode only controls Torque. Speed and Position will not be controlled.
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.
4 Extended Position Control Mode This mode controls Position, Velocity and Torque. Multi-turn is enabled.

Homing Offset(13)

Users can adjust the Home position by setting Homing Offset(13). The Homing Offset value is added to the Present Position(611). Present Position(611) = Actual Position + Homing Offset(13).

Value Range
-2,147,483,648 ~ 2,147,483,647

Moving Threshold(17)

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.

Value Range
0 ~ 2,147,483,647

Temperature Limit(21)

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.

Unit Value Range Description
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.

Min/Max Voltage Limit(22, 24)

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.

Unit Value Range Description
About 0.1V 0 ~ 400 0 ~ 40.0V

Acceleration Limit(26)

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.

Value Range
0 ~ 2,147,483,647

Torque Limit(30)

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.

Value Range
0 ~ 32,767

Velocity Limit(32)

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.

Value Range
0 ~ 2,147,483,647

Min/Max Position Limit(36, 40)

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
H54-200-S500-R
H54-100-S500-R
-250,961 ~ 250,961
H42-20-S300-R -151,875 ~ 151,875
M54-60-S250-R
M54-40-S250-R
-125,708 ~ 125,708
M42-10-S260-R -131,593 ~ 131,593
L54-50-S290-R -103,846 ~ 103,846
L54-50-S500-R
L54-30-S500-R
-180,692 ~ 180,692
L54-30-S400-R -144,197 ~ 144,197

External Port Mode, External Port Data

Dynamixel PRO is equipped with multi-purpose expansion ports.

Item Range
Voltage 0 ~ 3.3V
Current 0 ~ 5mA

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
GND 3.3V PORT1 PORT2 PORT3 PORT4

Shutdown(48)

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 Item Description
Bit 7 - -
Bit 6 - -
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.

  1. H/W REBOOT : Turn off the power and turn on again
  2. S/W REBOOT : Transmit REBOOT Instruction (For more details, please refer to the Protocol section of e-Manual.)

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 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).

  1. Indirect Address 1(49) : change the value to ‘563’ which is the address of LED Red.
  2. Set Indirect Data 1(634) to ‘1’ : LED Red(563) also becomes ‘1’ and Red LED will be turned on.
  3. 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.

  1. Indirect Address 2(51) : change the value to ‘596’ which is the first address of Goal Position.
  2. Indirect Address 3(53) : change the value to ‘597’ which is the second address of Goal Position.
  3. Indirect Address 4(55) : change the value to ‘598’ which is the third address of Goal Position.
  4. Indirect Address 5(57) : change the value to ‘599’ which is the fourth address of Goal Position.
  5. 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
635 596 0x78
636 597 0x56
637 598 0x34
638 599 0x12

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.

Torque Enable(562)

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) 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).

RGB LED(563)

Controls the RGB LED on Dynamixel PRO.

Address Color Range
563 Red 0 ~ 255
564 Green 0 ~ 255
565 Blue 0 ~ 255

Velocity PI Gain(586, 588)

These values indicate P and I Gains of Velocity Control Mode. The I Gain includes sampling time. Velocity P Gain of DYNAMIXEL’s internal controller is abbreviated to KVP and Velocity I Gain is abbreviated to KVI.

Gain Value Range
0 ~ 32,767

Note KPA stands for Anti-windup Gain that cannot be modified by users. For more details about the PID controller, please refer to the PID Controller at wikipedia.

Position P Gain(594)

This P Gain is used in Position Control Mode. Below figure is a block diagram describing the Position Control Mode. The Position Controller is cascaded with the Velocity Controller. KPP stands for Position P Gain.

Gain Value Range
0 ~ 32,767

Goal Position(596), Present Position(611)

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).

Model Angle Range Position Range Description
H54-200-S500-R
H54-100-S500-R
-180° ~ 180 ° -250,961.5 ~ 250,961.5
H42-20-S300-R -180° ~ 180 ° -151,875 ~ 151,875

Goal Velocity(600)

Goal Velocity(600) can be used to set a target velocity and this value cannot exceed Velocity Limit (32). In case of Position Control Mode or Extended Position Control Mode, Goal Velocity will be used to limit the velocity. However, if Goal Velocity is set to ‘0’, Velocity Limit(32) will be used to limit the velocity. (Please refer to the block diagram of Position P Gain) The Goal Velocity stands for the RPM of the motor before the reduction gears and output RPM after the reduction gears can be calculated using below scale factor. Output RPM = Goal Velocity * Scale Factor

Model Scale Factor(RPM)
H54-200-S500-R
H54-100-S500-R
0.00199234
H42-20-S300-R 0.00329218
M54-60-S250-R
M54-40-S250-R
0.00397746
M42-10-S260-R 0.00389076
L54-50-S290-R 0.00346667
L54-50-S500-R
L54-30-S500-R
0.00199234
L54-30-S400-R 0.00249657

Goal Torque(604)

Goal torque (604) can be used to set a target torque and this value cannot exceed Torque Limit(30). When the Operating Mode(11) is set other than Torque Control Mode, Goal Torque will be used to limit the torque. However, if Goal Torque is set to ‘0’, Torque Limit(30) will be used to limit the torque. (Please refer to the block diagram of Position Gain or Velocity Gain) The relationship between torque, current, and goal torque is shown below.

Model Formula
PRO 54 A = V * 33,000 / 2,048
A : Current[mA]
V : Present Current/Goal Torque
PRO 42 A = V * 8,250 / 2,048
A : Current[mA]
V : Present Current/Goal Torque

Goal Acceleration(606)

Goal Acceleration(606) can be used to set a target acceleration. This value is used in Velocity Control Mode, Position Control Mode and Extended 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.

Value Range Unit
-2,147,483,647 ~ 2,147,483,647 58,000 RPM2 @ Core Motor

Moving(610)

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.

Value Description
0 Movement is not detected
1 Movement is detected, or Profile is in progress(Goal Position(596) instruction is being processed)

Present Velocity(615)

This value indicates present Velocity. For more details, please refer to the Goal Velocity(600).

Present Current(621)

This value indicates present Current. For more details, please refer to the Goal Torque(604).

Present Input Voltage(623)

This value indicates present voltage that is being supplied. For more details, please refer to the Min/Max Voltage Limit(24, 22).

Present Temperature(625)

This value indicates present internal Temperature. For more details, please refer to the Temperature Limit(21).

Registered Instruction(890)

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.

Status Return Level(891)

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.

Hardware Error Status(892)

This value indicates hardware error status. For more details, please refer to the Shutdown(48).

How to Assemble

Option Frame Assembly

Maintenance

Reference

Note Pro Compatibility Guide

Quick Start

Drawings

Download PDF, DWG, STEP, IGES