Edit on GitHub

H42P-020-S300-R

Specifications

Item Specifications
Motor Coreless (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 340 [g]
Dimensions (W x H x D) 42 x 84 x 42 [mm]
Resolution 607,500 [pulse/rev]
Gear Ratio 303.75:1
Backlash < 6 [arcmin], 0.1 [°]
Radial Load 280 [N] (10 [mm] away from the horn)
Axial Load 100 [N]
No Load Speed 32.7 [rev/min]
No Load Current 0.57 [A]
Continuous Speed 29.2 [rev/min]
Continuous Torque 5.1 [Nm]
Continuous Current 1.5 [A]
Output 20 [W]
Operating Temperature -5 ~ 55 [°C]
Input Voltage 24.0 [V]
Command Signal Digital Packet
Protocol Type RS485 Asynchronous Serial Communication
(8bit, 1stop, No Parity)
Physical Connection RS485 Multidrop Bus
ID 253 ID (0 ~ 252)
Standby Current 30 [mA]


DANGER
(May cause serious injury or death)

  • Never place items containing water, flammables, and solvents near product.
  • Never place fingers, arms, toes, and other body parts near product during operation.
  • Cut power off if product emits strange odors or smoke.
  • Keep product out of reach of children.
  • Check the power polarity before wiring.


CAUTION
(May cause injury or damage to product)

  • Do not operate the product at a temperature exceeding -5 ~ 55 [°C] range.
  • Do not insert sharp blades nor pins during product operation.


ATTENTION
(May cause injury or damage to product)

  • Do not disassemble or modify product.
  • Do not drop or apply strong shock to product.

Performance Graph

Show Enlarged 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 supplying power

  • It is recommended using ROBOTIS controller or SMPS2DYNAMIXEL.
  • Do not connect or disconnect DYNAMIXEL when power is being supplied.

Control Table

The Control Table is a structure of data implemented in the device. Users can read a specific Data to get status of the device with Read Instruction Packets, and modify Data as well to control the device with WRITE Instruction Packets.

Control Table, Data, Address

The Control Table is a structure that consists of multiple Data fields to store status or to control the device. Users can check current status of the device by reading a specific Data from the Control Table with Read Instruction Packets. WRITE Instruction Packets enable users to control the device by changing specific Data in the Control Table. The Address is a unique value when accessing a specific Data in the Control Table with Instruction Packets. In order to read or write data, users must designate a specific Address in the Instruction Packet. Please refer to Protocol 2.0 for more details about Instruction Packets.

NOTE : Two’s complement is applied for the negative value. For more information, please refer to Two’s complement from Wikipedia.

Area (EEPROM, RAM)

The Control Table is divided into 2 Areas. Data in the RAM Area is reset to initial values when the power is reset(Volatile). On the other hand, data in the EEPROM Area is maintained even when the device is powered off(Non-Volatile).
Data in the EEPROM Area can only be written to if Torque Enable(512) 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 device.

Initial Value

Each data in the Control Table is restored to initial values when the device is turned on. Default values in the EEPROM area are initial values of the device (factory default settings). If any values in the EEPROM area are modified by a user, modified values will be restored as initial values when the device is turned on. Initial Values in the RAM area are restored when the device is turned on.

Control Table of EEPROM Area

Address Size
(Byte)
Data Name Access Initial
Value
Range Unit
0 2 Model Number R 2,000 - -
2 4 Model Information R - - -
6 1 Firmware Version R - - -
7 1 ID RW 1 0 ~ 252 -
8 1 Baud Rate RW 1 0 ~ 9 -
9 1 Return Delay Time RW 250 0 ~ 254 2 [μsec]
10 1 Drive Mode RW 0 0 ~ 1 -
11 1 Operating Mode RW 3 0, 1, 3, 4, 16 -
12 1 Sencondary ID RW 255 0 ~ 255 -
20 4 Homing Offset RW 0 -2,147,483,648 ~
2,147,483,647
1 [pulse]
24 4 Moving Threshold RW 20 0 ~ 2,920 0.01 [rev/min]
31 1 Temperature Limit RW 80 0 ~ 100 1 [°C]
32 2 Max Voltage Limit RW 350 0 ~ 350 0.1 [V]
34 2 Min Voltage Limit RW 150 0 ~ 350 0.1 [V]
36 2 PWM Limit RW 2,009 0 ~ 2,009 -
38 2 Current Limit RW 4,500 0 ~ 4,500 1 [mA]
40 4 Acceleration Limit RW 10,765 0 ~ 4,306,173 1 [rev/min2]
44 4 Velocity Limit RW 2,920 0 ~ 2,920 0.01 [rev/min]
48 4 Max Position Limit RW 303,454 -303,750 ~
303,750
1 [pulse]
52 4 Min Position Limit RW -303,454 -303,750 ~
303,750
1 [pulse]
56 1 External Port Mode 1 RW 3 0 ~ 3 -
57 1 External Port Mode 2 RW 3 0 ~ 3 -
58 1 External Port Mode 3 RW 3 0 ~ 3 -
59 1 External Port Mode 4 RW 3 0 ~ 3 -
63 1 Shutdown RW 52 0 ~ 255 -
168 2 Indirect Address 1 RW 634 512 ~ 1,023 -
170 2 Indirect Address 2 RW 635 512 ~ 1,023 -
172 2 Indirect Address 3 RW 636 512 ~ 1,023 -
422 2 Indirect Address 128 RW 761 512 ~ 1,023 -

Control Table of RAM Area

Address Size
(Byte)
Data Name Access Initial
Value
Range Unit
512 1 Torque Enable RW 0 0 ~ 1 -
513 1 LED Red RW 0 0 ~ 255 -
514 1 LED Green RW 0 0 ~ 255 -
515 1 LED Blue RW 0 0 ~ 255 -
516 1 Status Return Level RW 2 0 ~ 2 -
517 1 Registered Instruction R 0 - -
518 1 Hardware Error Status R 0 - -
524 2 Velocity I Gain RW - 0 ~ 32,767 -
526 2 Velocity P Gain RW - 0 ~ 32,767 -
528 2 Position D Gain RW - 0 ~ 32,767 -
530 2 Position I Gain RW - 0 ~ 32,767 -
532 2 Position P Gain RW - 0 ~ 32,767 -
536 2 Feedforward 2nd Gain RW - 0 ~ 32,767 -
538 2 Feedforward 1st Gain RW - 0 ~ 32,767 -
546 1 Bus Watchdog RW - 0 ~ 127 20 [ms]
548 2 Goal PWM RW - -PWM Limit(36) ~
PWM Limit(36)
-
550 2 Goal Current RW 0 -Current Limit(38) ~
Current Limit(38)
1 [mA]
552 4 Goal Velocity RW 0 -Velocity Limit(44) ~
Velocity Limit(44)
0.01 [rev/min]
556 4 Profile Acceleration RW 0 0 ~
Acceleration Limit(40)
1 [rev/min2]
560 4 Profile Velocity RW 0 0 ~
Velocity Limit(44)
0.01 [rev/min]
564 4 Goal Position RW - Min Position Limit(52) ~
Max Position Limit(48)
1[pulse]
568 2 Realtime Tick R - 0 ~ 32,767 1 [msec]
570 1 Moving R - - -
571 1 Moving Status R - - -
572 2 Present PWM R - - -
574 2 Present Current R - - 1 [mA]
576 4 Present Velocity R - - 0.01 [rev/min]
580 4 Present Position R - - 1 [pulse]
584 4 Velocity Trajectory R - - 0.01 [rev/min]
588 4 Position Trajectory R - - 1 [pulse]
592 2 Present Input Voltage R - - 0.1 [V]
594 1 Present Temperature R - - 1 [°C]
600 2 External Port Data 1 R/RW 0 0 ~ 4,095 -
602 2 External Port Data 2 R/RW 0 0 ~ 4,095 -
604 2 External Port Data 3 R/RW 0 0 ~ 4,095 -
606 2 External Port Data 4 R/RW 0 0 ~ 4,095 -
634 1 Indirect Data 1 RW 0 0 ~ 255 -
635 1 Indirect Data 2 RW 0 0 ~ 255 -
636 1 Indirect Data 3 RW 0 0 ~ 255 -
761 1 Indirect Data 128 RW 0 0 ~ 255 -

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 model number of the device.

Model Name Model Number
H42P-20-S300-R 2,000 (0x07D0)

Firmware Version(6)

This address stores the firmware version of the device.

ID(7)

The ID is a unique value in the network to identify each device 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 devices simultaneously.

NOTE : Please avoid using an identical ID for multiple devices. You may face communication failure or may not be able to detect devices with an identical ID. Also ID(7) is in the EEPROM area, Torque Enable(512) should be set to 0 to change the ID.

Baud Rate(8)

Baud Rate determines serial communication speed between controller and device.

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

NOTE : Less than 3[%] of the baud rate error margin will not affect to UART communication.

Return Delay Time(9)

After the device 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] from when the Instruction Packet is received.

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

Drive Mode(10)

Drive Mode configures direction of rotation of the device.

Value Mode Description
0 Normal Mode CCW(Positive), CW(Negative)
1 Reverse Mode CCW(Negative), CW(Positive)

Operating Mode(11)

Operating mode of the device can be configured.

Value Operating Mode Description
0 Current Control Mode The device only controls current(torque) regardless of speed and position. This mode is ideal for a gripper or a system that only uses current(torque) control or a system that has additional velocity/position controllers.
1 Velocity Control Mode This mode controls velocity and current, but does not control position.
3(Default) Position Control Mode This mode controls position, velocity and current.
4 Extended Position Control Mode This mode is similar to the Position Control Mode, but does not limited by the Position Limits. Therefore, the control range will not be bounded between 0 ~ 360 [°] which enables multi-turn position control.
16 PWM(Voltage) Control Mode Directly controls with PWM(Voltage) signal.

Secondary ID(12)

Set the device’s Secondary ID. Secondary ID(12) is a value to identify each device, just like the ID(7). However, unlike ID(7), Secondary ID(12) is not a unique value. Therefore, devices with the same Secondary ID value form a group. The differences between Secondary ID(12) and ID(7) are as follows :

  1. Secondary ID(12) is not a unique value. i.e., a lot of devices may have the same Secondary ID value.
  2. ID(7) has a higher priority than Secondary ID(12). i.e., if Secondary ID(12) and ID(7) are the same, ID(7) will be applied first.
  3. The EEPROM area of the Control Table cannot be modified with Secondary ID(12). Only the RAM area can be modified.
  4. If Instruction Packet ID is the same as Secondary ID(12), the Status Packet will not be returned.
  5. If the value of Secondary ID(12) is 253 or higher, the Secondary ID function is deactivated.
Values Description
0 ~ 252 Activate Secondary ID function
253 ~ 255 Deactivate Secondary ID function, Default value ‘255’

The following are examples of operation when there are five devices with ID (7) set from 1 to 5.

  1. Set all five devices’ Secondary ID(12) to ‘5’.
  2. Send Write Instruction Packet(ID = 1, LED Red(513) = 255).
  3. Turn on the LED of the device with ID ‘1’ and return the Status Packet.
  4. Send Write Instruction Packet(ID = 5, LED Red(513) = 255).
  5. Turn on the LED of five devices. However, Status Packet of the device with ID ‘5’ will be returned.
  6. Set the Secondary ID(12) of all five devices to ‘100’.
  7. Send Write Instruction Packet(ID = 100, LED Red(513) = 0).
  8. Turn off the LED of the five devices. However, as there is no device with ID ‘100’, Status Packet is not returned.

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

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,920

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) is cleared to ‘0’ and Torque will be turned 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) is cleared to ‘0’ and Torque is disabled. For more details, please refer to the Shutdown(63) section.

Unit Value Range
about 0.1 [V] 0 ~ 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,500

Acceleration Limit(40)

This value indicates the maximum acceleration limit.
Profile Acceleration(556) cannot be configured with any values exceeding Acceleration Limit(40). 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 [rev/min2] 0 ~ 4,306,173

Velocity Limit(44)

This value indicates maximum velocity of Goal Velocity(552) and Profile Velocity(562). Goal Velocity(552) and Profile Velocity(562) cannot be configured with any values exceeding Velocity Limit(44). Attempting to write an invalid value will fail and set the Limit Error Bit in the error field of the Status Packet.

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

Max/Min Position Limit(48, 52)

These values limit maximum and minimum desired positions within a single turn(-303,750 ~ 303,750).
The Goal Position(564) can’t exceed these values.
Attempting to write an exceeding value will fail and result in receiving a Limit Error Bit from the Status Packet.

Unit Range
1 [pulse] -303,750 ~ 303,750

NOTE: In Extended Position Control Mode, these limits will be ignored.

External Port Mode, External Port Data

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 (초기값) 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

Shutdown(63)

The device can protect itself by detecting dangerous situations that could occur during the operation.
Each Bit is inclusively calculated with the ‘OR’ logic, therefore, multiple options can be generated.
For instance, when ‘0x05’ (binary : 00000101) is defined as Shutdown(63) condition, the device can detect both Input Voltage Error(binary : 00000001) and Overheating Error(binary : 00000100).
If those errors are detected, Torque Enable(512) is reset to ‘0’ and the motor output becomes 0[%].
Controllers can identify the error status by checking Alert Bit(0x80) in the Error field of the Status Packet, or reading Hardware Error Status(518) of the device.
In order to turn on the torque of the device in shutdown status, REBOOT has to be performed first. 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) 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(Default) 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 :

  1. If Shutdown occurs, use below method to reboot the device.
    • H/W REBOOT : Turn off and turn on the power again
    • S/W REBOOT : Transmit REBOOT Instruction (For more details, please refer to the Reboot section of e-Manual.)
  2. If Shutdown occurs, LED will flicker every second.
  3. If Shutdown occurs, Dynamic brake will be activated.

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.

Torque Enable(512)

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

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 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 of Protocol 2.0.

Registered Instruction(517)

Value Description
0 REG_WRITE instruction is not received.
1 REG_WRITE instruction is received.

NOTE : If ACTION instruction is executed, the value will be changed to 0.

Hardware Error Status(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. Gains of the device’s internal controller can be calculated from Gains of the Control Table as shown below. Velocity P Gain of the device’s internal controller is abbreviated to KVP and that of the Control Table is abbreviated to KVP(TBL).

  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) KFF1st 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, please refer to the PID Controller at wikipedia.

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 and that of the Control Table is abbreviated to KPP(TBL).

  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.

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
Unit 20 [msec] -
Range 0 Deactivates Bus Watchdog Function and clears Bus Watchdog Error
Range 1 ~ 127 Activates Bus Watchdog
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’.
If the measured communication interval time is longer than 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, attempting to write a new value to these address will fail and return Range Error in the Status Packet. Writing ‘0’ to Bus Watchdog(546) will clear the Bus Watchdog Error.

NOTE : For details of 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), 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, this value is used to limit the output torque.
This value cannot exceed PWM Limit(36).
Please refer to the Gain section in order to see how Goal PWM(548) affects to different control modes.

Range Description
-PWM Limit(36) ~ PWM Limit(36) Initial Value of PWM Limit(36) : 2,009

Goal Current(550)

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

Goal Velocity(552)

In Velocity Control Mode, Goal Velocity(552) can be used to set the desired velocity.
This value cannot exceed Velocity Limit(44).
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)

The acceleration of Profile can be set with this value. Profile Acceleration(556) can be used in Velocity Control Mode, Position Control Mode and Extended Position Control Mode. Profile Acceleration(556) must be a positive number and cannot exceed Acceleration Limit(40).

NOTE : When Profile Velocity(560) is set to ‘0’, Profile Acceleration will be ignored.

Profile Velocity(560)

The Maximum velocity for Profile can be set with this value.
Profile Velocity(560) can be used in Position Control Mode and Velocity Control Mode.
Profile Velocity(560) cannot exceed Velocity Limit(44).
Velocity Control Mode only uses Profile Acceleration(556) and Profile Velocity(560) will be ignored.

Unit Value Range Description
0.01 [rev/min] 0 ~ Velocity Limit(44) ‘0’ stands for the infinite velocity

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

  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).(Refer to the 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 Acceleration(556).
Step and Trapezoidal Profiles are supported and Velocity Override is supported as well.
Acceleration time(t1) can be calculated as below equation.

t1 = 600 * {Goal Velocity(552) / Profile Acceleration(556)}

Goal Position(564)

Desired position can be set with Goal Position(564).
This value must be in 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.

Angle Range Value Range Description
-180 [°] ~ 180 [°] -303,750 ~ 303,750

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)

This value 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 4 byte size continuous range(-2,147,483,648 ~ 2,147,483,647) when Torque is turned off regardless of Operating Mode(11). However, Present Position(580) will be reset in those cases:

  1. Present Position(580) is reset with the value within 1 revolution when Operating Mode(11) is changed to Position Control Mode.
  2. Present Position(580) is reset with the value within 1 revolution when Torque Enable(512) is turned on in Position Control Mode.

Reset value of Present Position(580) can be affected by Homing Offset(20).

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

How to Assemble

Option Frame Assembly

Maintenance

Reference

NOTE : Pro Compatibility Guide

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 21 AWG 20 AWG 26 AWG

WARNING: Check the pinout! The pinout of Dynamixel can differ from the pinout of connector manufacturer.

Drawings

Download PDF, DWG, STEP, IGES

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