Edit on GitHub

PM54-040-S250-R

Specifications

Item Specifications
MCU ARM CORTEX-M4 (168 [MHz], 32Bit)
Motor BLDC (Maxon)
Baud Rate 9,600 [bps] ~ 10.5 [Mbps]
Operating Modes Torque Control Mode
Velocity Control Mode
Position Control Mode
Extended Position Control Mode
PWM Control Mode(Voltage Control Mode)
Weight 710 [g]
Dimensions (W x H x D) 54 x 108 x 54 [mm]
Resolution 502,834 [pulse/rev]
Gear Ratio 251.417 : 1
Backlash < 6 [arcmin], 0.1 [°]
Radial Load 370 [N] (10 [mm] away from the horn)
Axial Load 130 [N]
No Load Speed 28.4 [rev/min]
No Load Current 1.32 [A]
1 Continuous Speed 24.2 [rev/min]
1 Continuous Torque 3.9 [N.m]
1 Continuous Current 1.9 [A]
Output 40 [W]
Operating Temperature -5 ~ +55 [°C]
Input Voltage 24.0 [V]
Command Signal Digital Packet
Physical Connection RS485 Multidrop Bus
RS485 Asynchronous Serial Communication
(8bit, 1stop, No Parity)
ID 253 ID (0 ~ 252)
Standby Current 40 [mA]

1 These specifications are calculated based on the specifications of the core motor.
Please consult ROBOTIS for the long term use or special use, or else refer to the Performance Graph for general use.


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’s polarity before wiring.


CAUTION
(May cause injury or damage to product)

  • Comply with the operating environment such as voltage and temperature.
  • 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

Show Enlarged Graph

NOTE : The given Stall torque rating for a servo is different from it’s continuous output rating, and may also differ from it’s expected real world performance.

Stall torque is the maximum momentary torque output the servo is capable of, an is generally how RC servos are measured. The Performance graph, or N-T curve, from the above graph is measured under conditions simulating a gradually increasing load.

The actual real world performance of the servo will generally be closer to the performance graph measurements, not the rated stall torque. For this reason, the performance graph is broadly used in the industrial field.

Generally, the Maximum Torque shown through Performance Graph testing is less than the maximum Stall Torque.

CAUTION - When supplying power:

  • Do not connect or disconnect DYNAMIXEL actuator cables while power is being supplied.

  • For DYNAMIXEL PRO and DYNAMIXEL-P series servos, supply additional power through the 24V accessory power port.

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.

WARNING : DYNAMIXEL-P use different Control Table from DYNAMIXEL PRO series. Please pay attention when replacing DYNAMIXEL PRO with DYNAMIXEL-P.

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 DYNAMIXEL 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(512) is cleared to ‘0’(Torque 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) Modbus
Address
Data Name Access Initial
Value
Range Unit
0 2 40001 Model Number R 2,110 - -
2 4 40002 Model Information R - - -
6 1 40004 (Lo Byte) Firmware Version R - - -
7 1 40004 (Hi Byte) ID RW 1 0 ~ 252 (DYNAMIXEL Protocol 2.0)
1 ~ 247 (Modbus)
-
8 1 40005 (Lo Byte) Baud Rate RW 1 0 ~ 9 -
9 1 N/A Return Delay Time RW 250 0 ~ 254 2 [μsec]
10 1 40006 (Lo Byte) Drive Mode RW 0 0 ~ 13 -
11 1 40006 (Hi Byte) Operating Mode RW 3 0, 1, 3, 4, 16 -
12 1 N/A Secondary ID RW 255 0 ~ 255 -
13 1 40007 (Hi Byte) Protocol Type RW 2 2, 10 -
20 4 40011 Homing Offset RW 0 -2,147,483,648 ~
2,147,483,647
1 [pulse]
24 4 40013 Moving Threshold RW 20 0 ~ 2,840 0.01 [rev/min]
31 1 40016 (Hi Byte) Temperature Limit RW 80 0 ~ 100 1 [°C]
32 2 40017 Max Voltage Limit RW 350 150 ~ 350 0.1 [V]
34 2 40018 Min Voltage Limit RW 150 150 ~ 350 0.1 [V]
36 2 40019 PWM Limit RW 2,009 0 ~ 2,009 0.0498 [%]
38 2 40020 Current Limit RW 4,470 0 ~ 4,470 1 [mA]
40 4 40021 Acceleration Limit RW 4,414,976 0 ~ 4,414,976 1 [rev/min2]
44 4 40023 Velocity Limit RW 2,840 0 ~ 2,840 0.01 [rev/min]
48 4 40025 Max Position Limit RW 251,173 -251,417 ~
251,417
1 [pulse]
52 4 40027 Min Position Limit RW -251,173 -251,417 ~
251,417
1 [pulse]
56 1 40029 (Lo Byte) External Port Mode 1 RW 3 0 ~ 3 -
57 1 40029 (Hi Byte) External Port Mode 2 RW 3 0 ~ 3 -
58 1 40030 (Lo Byte) External Port Mode 3 RW 3 0 ~ 3 -
59 1 40030 (Hi Byte) External Port Mode 4 RW 3 0 ~ 3 -
63 1 40032 (Hi Byte) Shutdown RW 58 0 ~ 63 -
60 1 40031 (Lo Byte) Startup Configuration RW 0 3 -
168 2 N/A Indirect Address 1 RW 634 512 ~ 1,023 -
170 2 N/A Indirect Address 2 RW 635 512 ~ 1,023 -
172 2 N/A Indirect Address 3 RW 636 512 ~ 1,023 -
422 2 N/A Indirect Address 128 RW 761 512 ~ 1,023 -

Control Table of RAM Area

Address Size(Byte) Modbus
Address
Data Name Access Initial
Value
Range Unit
512 1 40257 (Lo Byte) Torque Enable RW 0 0 ~ 1 -
513 1 40257 (Hi Byte) LED Red RW 0 0 ~ 255 -
514 1 40258 (Lo Byte) LED Green RW 0 0 ~ 255 -
515 1 40258 (Hi Byte) LED Blue RW 0 0 ~ 255 -
516 1 N/A Status Return Level RW 2 0 ~ 2 -
517 1 N/A Registered Instruction R 0 - -
518 1 40260 (Lo Byte) Hardware Error Status R 0 - -
524 2 40263 Velocity I Gain RW 408 0 ~ 32,767 -
526 2 40264 Velocity P Gain RW 1137 0 ~ 32,767 -
528 2 40265 Position D Gain RW 0 0 ~ 32,767 -
530 2 40266 Position I Gain RW 0 0 ~ 32,767 -
532 2 40267 Position P Gain RW 502 0 ~ 32,767 -
536 2 40269 Feedforward 2nd Gain RW 0 0 ~ 32,767 -
538 2 40270 Feedforward 1st Gain RW 0 0 ~ 32,767 -
546 1 40274 (Lo Byte) Bus Watchdog RW 0 0 ~ 127 20 [msec]
548 2 40275 Goal PWM RW - -PWM Limit(36) ~
PWM Limit(36)
0.0498 [%]
550 2 40276 Goal Current RW - -Current Limit(38) ~
Current Limit(38)
1 [mA]
552 4 40277 Goal Velocity RW - -Velocity Limit(44) ~
Velocity Limit(44)
0.01 [rev/min]
556 4 40279 Profile Acceleration RW - 0 ~
Acceleration Limit(40)
1 [rev/min2]
560 4 40281 Profile Velocity RW - 0 ~
Velocity Limit(44)
0.01 [rev/min]
564 4 40283 Goal Position RW - Min Position Limit(52) ~
Max Position Limit(48)
1[pulse]
568 2 40285 Realtime Tick R - 0 ~ 32,767 1 [msec]
570 1 40286 (Lo Byte) Moving R - - -
571 1 40286 (Hi Byte) Moving Status R - - -
572 2 40287 Present PWM R - - 0.0498 [%]
574 2 40288 Present Current R - - 1 [mA]
576 4 40289 Present Velocity R - - 0.01 [rev/min]
580 4 40291 Present Position R - - 1 [pulse]
584 4 40293 Velocity Trajectory R - - 0.01 [rev/min]
588 4 40295 Position Trajectory R - - 1 [pulse]
592 2 40297 Present Input Voltage R - - 0.1 [V]
594 1 40298 (Lo Byte) Present Temperature R - - 1 [°C]
600 2 40301 External Port Data 1 R/RW 0 0 ~ 4,095 -
602 2 40302 External Port Data 2 R/RW 0 0 ~ 4,095 -
604 2 40303 External Port Data 3 R/RW 0 0 ~ 4,095 -
606 2 40304 External Port Data 4 R/RW 0 0 ~ 4,095 -
634 1 N/A Indirect Data 1 RW 0 0 ~ 255 -
635 1 N/A Indirect Data 2 RW 0 0 ~ 255 -
636 1 N/A Indirect Data 3 RW 0 0 ~ 255 -
 
761 1 N/A Indirect Data 128 RW 0 0 ~ 255 -
878 1 N/A Backup Ready R - 0 ~ 1 -

Control Table Description

CAUTION : Data in the EEPROM Area can only be written when the value of Torque Enable(512) is cleared to 0.

Model Number(0)

This address stores the model number of your DYNAMIXEL servo

Model Name Model Number
PH54-200-S500-R 2,020 (0x07E4)
PH54-100-S500-R 2,010 (0x07DA)
PH42-020-S300-R 2,000 (0x07D0)
PM54-060-S250-R 2,120 (0x0848)
PM54-040-S250-R 2,110 (0x083E)
PM42-010-S260-R 2,100 (0x0834)

Firmware Version(6)

This address stores the version number of the firmware installed on your DYNAMIXEL actuator.

ID(7)

The DYNAMIXEL ID is used by the DYNAMIXEL network to identify individual actuators for instruction packets. Values between 0 and 253 (0xFD) can be assigned to individual DYNAMIXEL actuators and address 254(0xFE) is is reserved for the global broadcast ID to send instruction packets to all connected devices simultaneously.

NOTE: DYNAMIXEL IDs must be unique for each device connected to a DYNAMIXEL network. Multiple devices sharing a single ID may cause communications issues or control failure.

Baud Rate(8)

The Baud Rate setting determines the serial communication speed between your controller and DYNAMIXEL actuators.

Value Baud Rate Actual Baud Rate Margin of Error
9 10.5M [bps] 10,500,000 0.000%
8 6M [bps] 6,000,000 0.000%
7 4.5M [bps] 4,421,053 -1.176%
6 4M [bps] 4,000,000 0.000%
5 3M [bps] 3,000,000 0.000%
4 2M [bps] 2,000,000 0.000%
3 1M [bps] 1,000,000 0.000%
2 115,200 [bps] 115,226 0.023%
1(Default) 57,600 [bps] 57,613 0.023%
0 9,600 [bps] 9,600 0.000%

NOTE: UART communications will remain stable with a margin of error of up to 3%.

NOTE: For stable high speed communication over USB serial connections, you may need to adjust the USB latency settings in your PC’s settings.

Return Delay Time(9)

Following the receipt of an instruction packet, a DYNAMIXEL servo will return a status packet after the configured Return Delay Time(9) has elapsed.

The range of acceptable values includes 0 to 254 (0XFE) with each unit representing a 2μsec delay. For example, if Return Delay Time(9) is set to ‘10’, a status packet will be returned after a 20μsec delay when an instruction packet is received.

Unit Value Range Description
2μsec 0 ~ 254 Default Value: ‘250’(500 [μs])
Maximum Value: 508 [μs]

WARNING : Modbus-RTU communication does not support the Return Delay Time(9) feature.

Drive Mode(10)

The Drive Mode control table register allows the configuration of several settings related to the movement of your DYNAMIXEL actuator:

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) Torque On by Goal Update [0] The actuator will only execute received status packets if Torque Enable(512) is ‘1’.
[1] The actuator will always execute recived instruction packets regardless of the value of Torque Enable(512). If the value of Torque Enable(512) is ‘0’ and a command is received, torque will automatically be enabled before the command is executed.
Bit 2(0x04) Profile Configuration [0] Velocity based movement profile
[1] Time based movement profile.
※ See What is a Profile for more information.
Bit 1(0x02) - Unused, always ‘0’
Bit 0(0x01) Normal/Reverse Mode [0] Normal movement directions: Positive movement direction is counterclockwise, and negative movement direction is clockwise.
[1] Reverse Mode: Negative movement directions are counterclockwise, and positive movement directions are clockwise.

Operating Mode(11)

Configure the selected operating mode of your DYNAMIXEL.

Value Operating Mode Description
0 Current Control Mode This mode controls only current/torque regardless of speed and position. This mode is ideal for a gripper or other system that only requires torque control or a system that has additional velocity/position controllers.
1 Velocity Control Mode This mode controls velocity and current, but does not control position.
3(Default) Position Control Mode This mode controls position, velocity and current. The position range is configured by the Max Position Limit(48) and the Min Position Limit(52) control table items.
4 Extended Position Control Mode This mode is similar to Position Control Mode, but is not limited by the Position Limit control table items. This allows multi turn position based control for applications requiring continuous rotation.
16 PWM(Voltage) Control Mode This mode allows direct control over the PWM signal sent to the motor output.

NOTE : Present Position(580) represents a 4 byte continuous range from -2,147,483,648 to 2,147,483,647 when Torque is turned off regardless of Operating Mode(11).
However, Present Position(580) will be reset to an absolute position value within one full rotation in the following cases:

  1. When the Operating Mode(11) is changed to Position Control Mode.
  2. When torque is turned on in Position Control Mode.
  3. When the actuator is turned on or when rebooted using a Reboot Instruction.

Note that a Present Position(580) value that has been reset to the absolute value within a single rotation will still be affected by the configured Homing Offset(20) value.

Secondary ID(12)

Configure the secondary ID of your DYNAMIXEL servo.

Unlike the primary ID(7) overlapping Secondary ID(12) settings are allowed, allowing simple synchronization of multiple DYNAMIXEL actuators.

The primary and secondary IDs differ in several ways.

  1. Secondary ID(12) do not need to be unique, and can be shared among any number of DYNAMIXEL servos.
  2. The primary ID(7) has a greater priority than the Secondary ID(12). If the Secondary ID(12) and primary ID(7) are the same, the servo will act as if the instruction has been sent only to it’s primary ID.
  3. The EEPROM area of the Control Table cannot be modified using Secondary ID(12), changes can only be made to the RAM area when addressed to secondary IDs.
  4. Status packets will not be returned for instructions sent to secondary IDs.
  5. The secondary ID function is completely disabled when it has been set to a value higher than 253.
Values Description
0 ~ 252 Enable the secondary ID feature with the configured ID value.
253 ~ 255 Deactivate the Secondary ID function. The Default value of the setting is ‘255’.

The following example showcases some of the functionality of DYNAMIXEL’s secondary ID function using DYNAMIXELs with primary ID’s from 1-5:

  1. Set all five devices’ Secondary ID(12) to ‘5’.
  2. Send a Write Instruction Packet to ID 1 turning on the LED: LED Red(513) = 255.
  3. DYNAMIXEL ID 1’s LED will illuminate, and a status packet will be returned.
  4. Send a Write Instruction Packet to ID 5 turning on the LED: LED Red(513) = 255.
  5. The LEDs of all five devices will turn on, but a status packet will only be returned from DYNAMIXEL ID 5.
  6. Set the Secondary ID(12) of all five devices to ‘100’.
  7. Send a Write Instruction Packet to ID 100: LED Red(513) = 0.
  8. The LEDs of all five devices will turn off, but no status packet will be returned as there is no device with primary ID 100.

WARNING : Modbus-RTU communication does not support Secondary ID(12) functionality.

Protocol Type(13)

Select the active communications protocol for your DYNAMIXEL actuator. In order to use Modbus-RTU you must update to firmware version V11 or higher.

Value Description
2 DYNAMIXEL Protocol 2.0
10 Modbus-RTU, Industrial Standard Protocol

WARNING: DYNAMIXEL Wizard 2.0 is required to change the communications protocol of your DYNAMIXEL servo, as R+ Manager 2.0 does not support Modbus-RTU communication.

WARNING : The following Control Table items are not supported by Modbus-RTU communications. Return Delay Time(9)
Secondary ID(12)
Status Return Level(516)
Registered Instruction(517)
Indirect Address
Indirect Data

Homing Offset(20)

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

Unit Value Range
1 [pulse] -2,147,483,648 ~ 2,147,483,647

NOTE : Homing Offset(20) value that exceeds the range of (-90 ~ 90 [°]) will be ignored in Position Control Mode(Joint Mode).

WARNING: Even if Drive Mode(10) is set to the Reverse Mode, the sign of Homing Offset(20) value is not reversed.

Moving Threshold(24)

This value determines whether the device is in motion or not. When the absolute value of Present Velocity(576) is greater than this value, Moving(570) is set to 1, otherwise it is cleared to 0.

Unit Range
0.01 [rev/min] 0 ~ 2,840

Temperature Limit(31)

This value limits operating temperature.
When the Present Temperature(594) that indicates internal temperature of device is greater than the Temperature Limit(31), the Overheating Error Bit(0x04) in the Hardware Error Status(518) will be set.
If Overheating Error Bit(0x04) is configured in the Shutdown(63), Torque Enable(512) will be set to ‘0’ (Torque OFF). For more details, please refer to the Shutdown(63) section.

Unit Value Range Description
About 1 [°C] 0 ~ 100 0 ~ 100 [°C]

CAUTION : Do not set the temperature lower/higher than the default value. When the temperature alarm shutdown occurs, wait for 20 minutes to cool the temperature before reuse. Keep using the product with high temperature can cause severe damage to the device.

Max/Min Voltage Limit(32, 34)

These values are maximum and minimum operating voltages.
When the Present Input Voltage(592) exceeds the range of Max Voltage Limit(32) and Min Voltage Limit(34), Input Voltage Error Bit(0x01) is set in the Hardware Error Status(518) and Alert Bit(0x80) is set in the Error field of the Status Packet.
If Input Voltage Error Bit(0x10) is configured in the Shutdown(63), Torque Enable(512) will be set to ‘0’ (Torque OFF). For more details, please refer to the Shutdown(63) section.

Unit Value Range
about 0.1 [V] 150 ~ 350

PWM Limit(36)

This value indicates the maximum PWM output.
Goal PWM(548) cannot be configured with any values exceeding PWM Limit(36).
PWM Limit(36) is commonly applied in all operating mode as an output limit, therefore decreasing PWM output will also decrease torque and velocity of the device.
For more details, please refer to the Gain section of each operating mode.

Value Description
0 ~ 2,009 2,009 = 100 [%] Output

Current Limit(38)

This value indicates the maximum current limit.
Goal Current(550) cannot be configured with any values exceeding Current Limit(38). Attempting to write an invalid value will fail and set the Limit Error Bit in the error field of the Status Packet.

Unit Range
1 [mA] 0 ~ 4,470

Acceleration Limit(40)

This value indicates the maximum acceleration limit.
Profile Acceleration(556) cannot be configured with any values exceeding Acceleration Limit(40). Writing invalid or the value over its limit, the Status Packet sends the Data Limit Error via its Error field.

Unit Range
1 [rev/min2] 0 ~ 4,414,976

Velocity Limit(44)

This value indicates maximum velocity of Goal Velocity(552) and Profile Velocity(562). Goal Velocity(552) and Profile Velocity(560) cannot be configured with any values exceeding Velocity Limit(44). Writing invalid or the value over its limit, the Status Packet sends the Data Limit Error via its Error field.

Unit Range
0.01 [rev/min] 0 ~ 2,840

Max/Min Position Limit(48, 52)

These values limit maximum and minimum desired positions within a single turn(-251,417 ~ 251,417).
The Goal Position(564) can’t exceed these values.
Writing invalid or the value over its limit, the Status Packet sends the Data Limit Error via its Error field.

Unit Range
1 [pulse] -251,417 ~ 251,417

NOTE : The Max Position Limit(48) and Min Position Limit(52) are only used when the Operating Mode is the Position Control Mode (Joint Mode) which allows DYNAMIXEL for 1 rev only.

External Port Mode, External Port Data (56, 57, 58, 59)

External ports that can be used for various purposes are provided.
The property of each port is configured by the External Port Mode (56 ~ 59) and data of external port is controlled by the External Port Data(600 ~ 607).
The signal of External Port can be controlled or checked via External Port Data.
The External Port is not electrically insulated, therefore, abide by the electrical specifications.
Shielded cable or twisted paired cable reduces signal noise and error.
Shorter cable increases accuracy of the measurement.

Item Description
Voltage 0 ~ 3.3 [V]
VESD(HBM) : 2[kV]
Current 0 ~ 5 [mA]

※ VESD(HBM) : ESD(Electrostatic Discharge) Voltage(human body model)

Function External Port Mode External Port Data Access Details
Analogue Input 0 Converts External Port signal to digital value
External Data = signal x (4,095 / 3.3)
R Resolution : 12[bit] (0 ~ 4,095)
Digital Output Push-Pull 1 0 : Set External Port output to 0[V]
1 : Set External Port output to 3.3[V]
W Output High level(VOH) : 2.4 [V] (min)
Output Low level(VOL) : 0.5 [V] (max)
Digital Input Pull-Up 2 0 : External Port input is 0[V]
1 : External Port input is 3.3[V] or Open
R Input High level(VIH) : 2.3 [V] (min)
Input Low level(VIL) : 1.0 [V] (max)
Pull-Up : 40 [kΩ] (typ)
Digital Input Pull-Down 3 (Default) 0 : External Port input is 0[V] or Open
1 : External Port input is 3.3[V]
R Input High level(VIH) : 2.3 [V] (min)
Input Low level(VIL) : 1.0 [V] (max)
Pull-Down : 40 [kΩ] (typ)

WARNING : 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.

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

Startup Configuration(60)

The Startup Configuration(60) allows to set up the DYNAMIXEL with specific settings on startup.

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) - Unused, always ‘0’
Bit 1(0x02) RAM Restore [0] Deactivate the RAM area restoration on startup.
[1] On startup, use the backup data to restore the RAM area.
Bit 0(0x01) Startup Torque On [0] Torque Off on startup (Torque Enable(64) is set to 0)
[1] Torque On on startup (Torque Enable(64) is set to 1).

NOTE: Startup Configuration is available from firmware V12.

NOTE: For more details about restoring the RAM area, see Restoring RAM Area.

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(512) is cleared to ‘0’ and the motor’s output becomes 0 [%].

REBOOT is the only method to reset Torque Enable(512) to ‘1’(Torque ON) after the shutdown.

Check Alert Bit(0x80) in an error field of Status Packet or a present status via Hardware Error Status(518). The followings are detectable situations.

Bit Item Description
Bit 7 - Not used, always ‘0’
Bit 6 - Not used, always ‘0’
Bit 5 Overload Error(Default) Detects that persistent load exceeds maximum output
Bit 4 Electrical Shock Error(Default) Detects electric shock on the circuit or insufficient power to operate the motor
Bit 3 Motor Encoder Error(Default) Detects malfunction of the motor encoder
Bit 2 Overheating Error Detects that internal temperature exceeds the configured operating temperature
Bit 1 Motor Hall Sensor Error(Default) Detects that Motor hall sensor value exceeds normal range
Bit 0 Input Voltage Error Detects that input voltage exceeds the configured operating voltage

NOTE :

  1. If Shutdown occurs, Dynamic brake will be activated.
  2. If Shutdown occurs, LED will flicker every second.
  3. 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.)

Indirect Address, Indirect Data

Indirect Address and Indirect Data are useful when accessing multiple remote addresses in the Control Table as sequential addresses. Sequential address increases the efficiency of Instruction Packet. Addresses that can be defined as Indirect Address are limited to RAM area(Address 512 ~ 606). 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 513(which is the Address of red LED) to Indirect Address 1(168) and writing 255 to the Indirect Data 1(634) will turn on the red LED. The actual value of LED Red(513) will also be set as 255.
If a specific item has address longer than 2 byte, each address byte has to be sequentially configured in the Indirect Address.

Example 1 : Allocating 1 byte LED Red(513) to Indirect Data 1(634).

  1. Indirect Address 1(168) : write 513 which is the address of LED Red.
  2. Set Indirect Data 1(634) to 255 : The value of LED Red(513) will automatically set as 255 and LED will be turned on.
  3. Set Indirect Data 1(634) to 0 : The value of LED Red(513) will automatically set as 0 and LED will be turned off.

Example 2 : To allocate 4 byte Goal Position(564) to Indirect Data 2(635), 4 sequential bytes have to be allocated.

  1. Indirect Address 2(170) : Write 564 which is the first address of Goal Position.
  2. Indirect Address 3(172) : Write 565 which is the second address of Goal Position.
  3. Indirect Address 4(174) : Write 566 which is the third address of Goal Position.
  4. Indirect Address 5(176) : Write 567 which is the fourth address of Goal Position.
  5. Write 4 byte desired position value of 250,961(0x0003D451) to Indirect Data 2 ~ 5 : The value of Goal Position(564) will reflect these changes and set as 0x0003D451 as shown below(Little Endian).
Indirect Data Address Goal Position Address Saved HEX Value
635 564 0x51
636 565 0xD4
637 566 0x03
638 567 0x00

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.

WARNING : Modebus-RTU dose not support Indirect Address and Indirect Data.

Torque Enable(512)

Torque Enable(64) determines Torque ON/OFF. Writing ‘1’ to Torque Enable’s address will turn on the Torque and all Data in the EEPROM area will be locked.

Value Description
0(Default) Torque Off
1 Torque On and lock EEPROM area

NOTE : Present Position(580) can be reset when Operating Mode(11) and Torque Enable(512) are updated. For more details, please refer to the Homing Offset(20) and Present Position(580).

RGB LED (513, 514, 515)

These addresses control the RGB LED of the device. When Shutdown occurs, LED cannot be controlled.

Address Color Range
513 Red 0 ~ 255
514 Green 0 ~ 255
515 Blue 0 ~ 255

NOTE : The LED indicates present status of the device.

Status LED Representation
Booting Green LED flickers once
Factory Reset Green LED flickers 4 times
Alarm Red LED flickers

Status Return Level(516)

This value decides how to return Status Packet when the device receives an Instruction Packet.

Value Responding Instructions Description
0 PING Instruction Returns the Status Packet for PING Instruction only
1 PING Instruction
READ Instruction
Returns the Status Packet for PING and READ Instruction
2 All Instructions Returns the Status Packet for all Instructions

NOTE : If the Instruction Packet ID is set to the Broadcast ID(0xFE), Status Packet will not be returned for READ and WRITE Instructions regardless of Status Return Level(516). For more details, please refer to the Status Packet section of Protocol 2.0.

WARNING : Modebus-RTU dose not support Status Return Level(516).

Registered Instruction(517)

Value Description
0 No instruction registered by REG_WRITE.
1 Instruction registered by REG_WRITE exists.

NOTE : If ACTION instruction is executed, the Registered Instruction(517) will be changed to 0.

WARNING : Modebus-RTU dose not support Registered Instruction(517).

Hardware Error Status(518)

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

Velocity PI Gain(524, 526), Feedforward 2nd Gains(536)

These values indicate Gains of Velocity Control Mode. Velocity P Gain of the device’s internal controller is abbreviated to KVP.

  Controller Gain Range Description
Velocity I Gain(524) KVI 0 ~ 32,767 Velocity Integral Gain
Velocity P Gain(526) KVP 0 ~ 32,767 Velocity Proportional Gain
Feedforward 2nd Gain(536) KFF2nd 0 ~ 32,767 Acceleration Feedforward Gain

Below figure is a block diagram describing the velocity controller in Velocity Control Mode. When the instruction is received by the device, it takes following steps until driving the device.

  1. An Instruction from the user is transmitted via communication bus, then registered to Goal Velocity(552).
  2. Goal Velocity(552) is converted to desired velocity trajectory by Profile Acceleration(556).
  3. The desired velocity trajectory is stored at Velocity Trajectory(584).
  4. PI controller calculates PWM output for the motor based on the desired velocity trajectory.
  5. Goal PWM(584) sets a limit on the calculated PWM output and decides the final PWM value.
  6. The final PWM value is applied to the motor through an Inverter, and the device is driven.
  7. Results are stored at Present Position(580), Present Velocity(576), Present PWM(572) and Present Current(574).

NOTE : KvA stands for 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.

Position PID Gain(528, 530, 532), Feedforward 1st Gains(538)

These Gains are used in Position Control Mode and Extended Position Control Mode. Gains of device’s internal controller can be calculated from Gains of the Control Table as shown below. Position P Gain of device’s internal controller is abbreviated to KPP.

  Controller Gain Range Description
Position D Gain(528) KPD 0 ~ 32,767 Position Derivative Gain
Position I Gain(530) KPI 0 ~ 32,767 Position Integral Gain
Position P Gain(532) KPP 0 ~ 32,767 Position Proportional Gain
Feedforward 1st Gain(538) KFF1st 0 ~ 32,767 Velocity Feedforward Gain

Below figure is a block diagram describing the position controller in Position Control Mode and Extended Position Control Mode. When the instruction is received by the device, it takes following steps until driving the device.

  1. An Instruction from the user is transmitted via communication bus, then registered to Goal Position(564).
  2. Goal Position(564) is converted to desired position trajectory and desired velocity trajectory by Profile Velocity(560) and Profile Acceleration(556).
  3. The desired position trajectory and desired velocity trajectory is stored at Position Trajectory(588) and Velocity Trajectory(584) respectively.
  4. Feedforward and PID controller calculate PWM output for the motor based on desired trajectories.
  5. Goal PWM(548) sets a limit on the calculated PWM output and decides the final PWM value.
  6. The final PWM value is applied to the motor through an Inverter, and the device is driven.
  7. Results are stored at Present Position(580), Present Velocity(576), Present PWM(572) and Present Current(574).

NOTE : In case of PWM Control Mode, both PID controller and Feedforward controller are deactivated while Goal PWM(548) value is directly controlling the motor through an Inverter. In this manner, users can directly control the supplying voltage of 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.

Bus Watchdog(546)

Bus Watchdog(546) is a safety feature(Fail-safe) that stops the device if the communication(RS485, TTL) between the controller and the device is disconnected due to an unidentified error.
The “communication” can be seen as all the Instruction Packets defined in the protocol.

  Value Description
Range 0 Deactivates Bus Watchdog Function and clears Bus Watchdog Error
Range 1 ~ 127 Activates Bus Watchdog (Unit: 20 [msec])
Range -1 Bus Watchdog Error Status

The Bus Watchdog monitors the communication interval time between the controller and the device when Torque Enable(512) is ‘1’ (Torque ON).
If the measured communication interval time is longer than set value of Bus Watchdog(546), the device will be stopped and Bus Watchdog(546) value will be set to ‘-1’ (Bus Watchdog Error).
If Bus Watchdog Error occurs, goal values such as Goal PWM(548), Goal Current(550), Goal Velocity(552) and Goal Position(564) will be changed to read-only-access.
Therefore, if a new value is written to the Goal Value, the Status Packet will send the Data Range Error via its Error field. Writing ‘0’ to Bus Watchdog(546) will clear the Bus Watchdog Error.

NOTE : For details of Data Range Error, please refer to the Protocol 2.0.

The following is the example of Bus Watchdog function.

  1. After setting the Operating Mode(11) to Velocity Control Mode, change the Torque Enable(512) to 1.
  2. If 50 is written to the Goal Velocity(552), the device will rotate in CCW direction.
  3. Change the value of Bus Watchdog(546) to 100(2,000 [ms]). (Activate Bus Watchdog Function)
  4. If no instruction packet is received within 2,000 [ms], the device will stop with the predefined decelerating value.
  5. Bus Watchdog(546) value is set to -1 (Bus Watchdog Error). At this time, the access property of goal values will be changed to read-only.
  6. If 150 is written to the Goal Velocity(552), the Data Range Error will be returned via Status Packet.
  7. If Bus Watchdog(546) value is changed to 0, Bus Watchdog Error will be cleared.
  8. If 150 is written in the Goal Velocity(552), the device will rotate in CCW direction.

Goal PWM(548)

In case of PWM Control Mode, both PID controller and Feedforward controller are deactivated while Goal PWM(548) value is directly controlling the motor through an Inverter.
In other control modes, Goal PWM(548) is used to limit the output torque.
Goal PWM(548) cannot exceed PWM Limit(36).
Please refer to the Gain section in order to see how Goal PWM(548) affects to different control modes.

Unit Range
about 0.0498 [%] -PWM Limit(36) ~ PWM Limit(36)

Goal Current(550)

In Current Control Mode, Goal Current(550) can be used to set the desired current. Goal Current(550) sets a current limit of the current controller in Velocity Control Mode, Position Control Mode and Extended Position Control Mode.
Goal Current(550) cannot exceed Current Limit(38).

Goal Velocity(552)

In Velocity Control Mode, Goal Velocity(552) can be used to set the desired velocity.
The Goal Velocity(552) cannot exceed Velocity Limit(44).
The Goal Velocity(552) is used to limit the input(velocity) of velocity controller in Position Control Mode and Extended Position Control Mode.

Profile Acceleration(556)

When the Drive Mode(10) is Velocity-based Profile, Profile Acceleration(556) sets acceleration of the Profile.
When the Drive Mode(10) is Time-based Profile, Profile Acceleration(556) sets acceleration time of the Profile.
The Profile Acceleration(556) is to be applied in all control mode except Current Control Mode or PWM Control Mode on the Operating Mode(11).
For more details, see What is the Profile

Velocity-based Profile Values Description
Unit 0 ~ Acceleration Limit(40) Sets acceleration of the Profile
Range 0 ~ 32767 ‘0’ represents an infinite acceleration
Time-based Profile Values Description
Unit 1 [msec] Sets accelerating time of the Profile
Range 0 ~ 32737 ‘0’ represents an infinite acceleration time(‘0 [msec]’).
Profile Acceleration(556, Acceleration time) will not exceed 50% of Profile Velocity (112, the time span to reach the velocity of the Profile) value.

NOTE : When Profile Velocity(560) is set to ‘0’, the profile’s acceleration will be ignored.

NOTE : Time-based Profile is available from firmware 12.

Profile Velocity(560)

When the Drive Mode(10) is Velocity-based Profile, Profile Velocity(560) sets the maximum velocity of the Profile.
When the Drive Mode(10) is Time-based Profile, Profile Velocity(560) sets the time span to reach the velocity (the total time) of the Profile.
The Profile Velocity(560) is to be applied to Position Control Mode or Extended Position Control Mode on the Operating Mode(11).
For more details, see What is the Profile

Velocity-based Profile Values Description
Unit 0.01 [rev/min] Sets velocity of the Profile
Range 0 ~ Velocity Limit(44) ‘0’ represents an infinite velocity
Time-based Profile Values Description
Unit 1 [msec] Sets the time span for the Profile
Range 0 ~ 32737 ‘0’ represents an infinite velocity.
Profile Acceleration(556, Acceleration time) will not exceed 50% of Profile Velocity (560, the time span to reach the velocity of the Profile) value.

NOTE: Time-based Profile is available from firmware v12.

Goal Position(564)

Desired position can be set with Goal Position(564).

The available input range is between Min Position Limit(52) and Max Position Limit(48) in Position Control Mode, while Extended Position Control Mode uses a value range between -2,147,483,648 ~ 2,147,483,647.

NOTE : Present Position(580) represents a 4 byte continuous range from -2,147,483,648 to 2,147,483,647 when Torque is turned off regardless of Operating Mode(11).
However, Present Position(580) will be reset to an absolute position value within one full rotation in the following cases:

  1. When the Operating Mode(11) is changed to Position Control Mode.
  2. When torque is turned on in Position Control Mode.
  3. When the actuator is turned on or when rebooted using a Reboot Instruction.

Note that a Present Position(580) value that has been reset to the absolute value within a single rotation will still be affected by the configured Homing Offset(20) value.

Angle Range Value Range Description
-180 [°] ~ 180 [°] -251,417 ~ 251,417

Realtime Tick(568)

This value indicates device’s internal time.

Unit Value Range Description
1 [msec] 0 ~ 32,767 The value resets to ‘0’ when it exceeds 32,767

Moving(570)

This value indicates whether the device is in motion or not. If absolute value of Present Velocity(576) is greater than Moving Threshold(24), Moving(570) is set to ‘1’. Otherwise, it will be cleared to ‘0’.

However, this value will always be set to ‘1’ regardless of Present Velocity(576) while Profile is in progress with Goal Position(564) instruction.

Moving Status(571)

This value provides additional information about the movement. In-Position Bit(0x01) only works with Position Control Mode and Extended Position Control Mode.

    Details Description
Bit 7 0x80 - Unused
Bit 6 0x40 - Unused
Bit 5
~
Bit 4
0x30 Profile Type(0x30)
Profile Type(0x10)
Profile Type(0x00)
Trapezoidal Velocity Profile
Rectangle Velocity Profile
Profile unused(Step)
Bit 3 0x08 - Unused
Bit 2 0x04 - Unused
Bit 1 0x02 - Unused
Bit 0 0x01 In-Position The device is reached to desired position

Present PWM(572)

The Present PWM(124) indicates current PWM. For more details, please refer to the Goal PWM(548).

Present Current(574)

This value indicates the present current flowing on the motor. For more details, please refer to the Goal Current(550).

Present Velocity(576)

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

Present Position(580)

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

NOTE : Present Position(580) represents a 4 byte continuous range from -2,147,483,648 to 2,147,483,647 when Torque is turned off regardless of Operating Mode(11).
However, Present Position(580) will be reset to an absolute position value within one full rotation in the following cases:

  1. When the Operating Mode(11) is changed to Position Control Mode.
  2. When torque is turned on in Position Control Mode.
  3. When the actuator is turned on or when rebooted using a Reboot Instruction.

Note that a Present Position(580) value that has been reset to the absolute value within a single rotation will still be affected by the configured Homing Offset(20) value.

Velocity Trajectory(584)

This is a desired velocity trajectory created by Profile. Operating method can be differ by control mode. For more details, please refer to the Profile Velocity(560).

  1. Velocity Control Mode : When Profile reaches to the endpoint, Velocity Trajectory(136) becomes equal to Goal Velocity(104).
  2. Position Control Mode, Extended Position Control Mode : The desired Velocity Trajectory is used to create Position Trajectory(588). When Profile reaches to an endpoint, Velocity Trajectory(584) is set to ‘0’.

Position Trajectory(588)

This is a desired position trajectory created by Profile. This value is only used in Position Control Mode and Extended Position Control Mode. For more details, please refer to the Profile Velocity(560).

Present Input Voltage(592)

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

Present Temperature(594)

This value indicates internal temperature of the device. For more details, please refer to the Temperature Limit(31).

Backup Ready(878)

The value in this address indicates whether the backup of the control table exists after sending the Control Table Backup Packet.

Value Description
0 The backup data doesn’t exist.
1 A saved backup data exists.

NOTE
Backup Ready is available from firmware V12.
See Backup and Restore for more details.

How to Assemble

Option Frame Assembly

Maintenance

Reference

NOTE
Compatibility Guide
Harness Compatibility

What is the Profile

The Profile is an acceleration/deceleration control technique to reduce vibration, noise and load on the motor by controlling dramatically changing velocity and acceleration.
It is also called Velocity Profile as it controls acceleration and deceleration based on velocity.
This device provides the following 3 types of profile.
Profiles are usually selected by the combination of Profile Velocity(560) and Profile Acceleration(556).
Trapezoidal Profile is exceptionally chosen with additional factor: travel distance(ΔPos, the distance between desired position and present position).

When given Goal Position(564), the device’s profile creates desired velocity trajectory based on present velocity(initial velocity of the Profile).
When the device receives updated desired position via Goal Position(564) while it is moving toward the previous desired position, velocity will smoothly changed for the new desired velocity trajectory.
Maintaining velocity continuity while updating the desired velocity trajectory is called “Velocity Override”.
For easier calculation in this example, let’s assume that the initial velocity of the Profile is 0.

The following explains how Profile processes Goal Position(564) when the Operating Mode(11) is Position Control Mode or Extended Position Control Mode .

  1. An Instruction is recieved via communication bus, then registered in Goal Position(564).
  2. Accelerating time(t1) is calculated from Profile Velocity(560) and Profile Acceleration(556).
  3. Profile type is decided based on Profile Velocity(560), Profile Acceleration(556) and total travel distance(ΔPos, the distance difference between desired position and present position).
  4. Selected Profile type is stored at Moving Status(571).
  5. The device is driven by the calculated desired trajectory from Profile.
  6. The desired velocity trajectory and the desired position trajectory calculated by the Profile are saved at Velocity Trajectory(584) and Position Trajectory(588) respectively.
Condition Types of Profile
Profile Velocity(560) = 0 Profile not used
(Step Instruction)
(Profile Velocity(560) ≠ 0) & (Profile Acceleration(556) = 0) Rectangular Profile
(Profile Velocity(560) ≠ 0) & (Profile Acceleration(556) ≠ 0) Trapezoidal Profile

NOTE : Velocity Control Mode only uses Profile Velocity(560).
Step and Trapezoidal Profiles are supported and Velocity Override is supported as well.
Acceleration time(t1) can be calculated as below equation.

Velocity-based Profile: t1 = 600 * {Profile Velocity(560) / Profile Acceleration(556)}
Time-based Profile: t1 = Profile Acceleration(556)

NOTE : If Time-based Profile is selected, Profile Velocity(560) is used to set the time span of the Profile(t3), while Profile Acceleration(556) sets accelerating time(t1) in millisecond[ms]. Profile Acceleration(556) will not exceed 50% of Profile Velocity(560) value.

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.

Connector Information

Item RS-485 Power External Port
Pinout 1 GND
2 VDD
3 DATA+
4 DATA-
1 GND
2 VDD
1 GND
2 VDD
3 PORT 1
4 PORT 2
5 PORT 3
6 PORT 4
Diagram
Housing
JST EHR-4

MOLEX 39-01-2020

MOLEX 51021-0600
PCB Header
JST B4B-EH-A

MOLEX 39-28-1023
MOLEX 87427-0242

MOLEX 53047-0610
Crimp Terminal JST SEH-001T MOLEX 39-00-0038 MOLEX 50079-8100
Wire Gauge for DYNAMIXEL 21 AWG 20 AWG 26 AWG

WARNING: Before operating DYNAMIXEL PRO and DYNAMIXEL-P, please supply power through 24V power port.

Communication Circuit

To control DYNAMIXEL-P with a custom made Main Controller, the signal of Main Controller UART should be converted into RS-485 signal. The following is a recommended conversion circuit diagram.

NOTE: Above circuit is designed for 5V or 5V tolerant MCU. Otherwise, use a Level Shifter to match the voltage of MCU.

The power is supplied via Pin1(-) and Pin2(+) of DYNAMIXEL. (The above circuit is built into DYNAMIXEL-only controllers)

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 TX_Enable_5V as follows:

Pin Arrangement

Connector pin arrangement is shown below. DYNAMIXEL-P has two 4-pin connectors arranged in pin-2-pin configuration. In this arrangement there’s no priority in the connector order and DYNAMIXEL-P can be driven like the MX-series.
Additionally there is a 2-pin connector dedicated for power input for high-current operations.

WARNING : When wiring please pay attention to the pin arrangement. Incorrectly connected DYNAMIXEL-P may be damaged severely.

Drawings

Moment of Inertia

Please also checkout ROBOTIS Download Center for software applications, 3D/2D CAD, and other useful resources!