Skip to main content

Introduction

RH-P12-RN(A)

RH-P12-RN(A)

  • It uses improved firmware version compared to RH-P12-RN.
  • It has the similar control table structure to DYNAMIXEL-PRO(A) and DYNAMIXEL-P series, so that they can be used together.

RH-P12-RN

  • It uses old firmware version.
  • It has the similar control table structure to DYNAMIXEL-PRO series, so that they can be used together.

You can choose the desired firmware version by using Firmware Recovery of R+Manager 2.0 or DYNAMIXEL Wizard 2.0

info

NOTE : As DYNAMIXEL-PRO series is discontinued, using RH-P12-RN(A) Firmware version is recommended.

Hardware Revision History

RevImageStrokeDate
00 ~ 109 mm.
10 ~ 106 mmNov 04th, 2019

Specifications

ItemSpecifications
MCUST CORTEX-M4 (STM32F405 @ 168 Mhz, 32 bit)
Position SensorContactless Absolute Encoder (12 bit, 360°)
Maker : ams(www.ams.com), Part No : AS5045
MotorCoreless
Baud Rate9,600 bps ~ 10.5 Mbps
Control AlgorithmPID Control
Degree of Precision0.088°
Operating ModeCurrent Control Mode
Current based Position Control Mode
Weight500 g
Stroke0 ~ 106 mm
Max Closing Speed75 mm/s
Gear Ratio1181 : 1
Maximum Gripping Force170 N
Recommended Payload5 kg
Operating Temperature-5°C ~ 55°C
Nominal Voltage24 V
Command SignalDigital Packet
Protocol TypeRS485 Asynchronous Serial Communication
(8bit, 1stop, No Parity)
Physical ConnectionRS485 Multidrop Bus
ID0 ~ 252
FeedbackPosition, Velocity, Current, Temperature, Input Voltage, etc
MaterialFull Metal Gear, Metal Body
Standby Current30 mA
Peak Current3.33 A
danger


DANGER
(Ignoring these warnings may cause serious injury or death)

  • Never place items containing water, flammables/open flames, or solvents near the product.
  • Never place fingers, arms, toes, and other body parts near product during operation.
  • Cease operation and remove power from the product if the product begins to emit strange odors, noises, or smoke.
  • Keep product out of reach of children.
  • Check input polarity before installing or energizing wiring or cables.
warning


CAUTION
(Ignoring these warnings may cause mild injury or damage to the product)

  • Always comply with the product's offical operating environment specifications including input voltage, current, and operating temperature.
  • Do not insert blades or other sharp objects during product operation.
warning


ATTENTION
(Ignoring these warnings may cause minor injury or damage to the product)

  • Do not disassemble or modify the product.
  • Do not drop the product or apply strong impacts.
  • Do not connect or disconnect DYNAMIXEL cables while power is being supplied.

Control Table

The Control Table is a data structure used by DYNAMIXEL actuators to manage the state of the device. Users can read data registers to get information about the status of the device with Read Instruction Packets, and modify data registers 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 DYNAMIXEL Protocol 2.0 for more details about Instruction Packets.

note

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

warning

Data in the EEPROM Area can only be written to if Torque Enable(562) 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

AddressSize(Byte)Modbus
Address
Data NameAccessInitial
Value
RangeUnit
0240001Model NumberR35,074--
2440002Model InformationR---
6140004 (Lo Byte)Firmware VersionR---
7140004 (Hi Byte)IDRW10 ~ 252-
8140005 (Lo Byte)Baud RateRW10 ~ 9-
91N/AReturn Delay TimeRW2500 ~ 2552 [μsec]
11140006 (Hi Byte)Operating ModeRW50, 5-
121N/ASecondary IDRW2550 ~ 255-
13140007 (Hi Byte)Protocol TypeRW22, 10-
20440011Homing OffsetRW00 ~ 1,1501 [pulse]
24440013Moving ThresholdRW800 ~ 2,9700.01 [rev/min]
31140016 (Hi Byte)Temperature LimitRW800 ~ 1001 [°C]
32240017Max Voltage LimitRW300150 ~ 3000.1 [V]
34240018Min Voltage LimitRW150150 ~ 3000.1 [V]
36240019PWM LimitRW2,0090 ~ 2,0090.0498 [%]
38240020Current LimitRW6610 ~ 1,9841 [mA]
40440021Acceleration LimitRW3,4470 ~ 1,378,7881 [rev/min2]
44440023Velocity LimitRW2,9700 ~ 2,9700.01 [rev/min]
48440025Max Position LimitRW1,1500 ~ 1,1501 [pulse]
52440027Min Position LimitRW00 ~ 1,1501 [pulse]
56140029 (Lo Byte)External Port Mode 1RW30 ~ 3-
57140029 (Hi Byte)External Port Mode 2RW30 ~ 3-
58140030 (Lo Byte)External Port Mode 3RW30 ~ 3-
59140030 (Hi Byte)External Port Mode 4RW30 ~ 3-
63140032 (Hi Byte)ShutdownRW580x20(Overload)
0x10(Electrical Shock)
0x08(Motor Encoder)
0x04(Overheating)
0x02(Motor Hall Sensor)
0x01(Input Voltagae)
-
1682N/AIndirect Address 1RW634512 ~ 1,023-
1702N/AIndirect Address 2RW635512 ~ 1,023-
1722N/AIndirect Address 3RW636512 ~ 1,023-
........................
4222N/AIndirect Address 128RW761512 ~ 1,023-

Control Table of RAM Area

AddressSize(Byte)Modbus
Address
Data NameAccessInitial
Value
RangeUnit
512140257 (Lo Byte)Torque EnableRW00 ~ 1-
513140257 (Hi Byte)LED RedRW00 ~ 255-
514140258 (Lo Byte)LED GreenRW00 ~ 255-
515140258 (Hi Byte)LED BlueRW00 ~ 255-
5161N/AStatus Return LevelRW20 ~ 2-
5171N/ARegistered InstructionR0--
518140260 (Lo Byte)Hardware Error StatusR0--
524240263Velocity I GainRW-0 ~ 32,767-
526240264Velocity P GainRW-0 ~ 32,767-
528240265Position D GainRW-0 ~ 32,767-
532240266Position P GainRW-0 ~ 32,767-
530240267Position I GainRW-0 ~ 32,767-
536240269Feedforward 2nd GainRW-0 ~ 32,767-
538240270Feedforward 1st GainRW-0 ~ 32,767-
546140274 (Lo Byte)Bus WatchdogRW-0 ~ 12720 [msec]
548240275Goal PWMRW--PWM Limit(36) ~
PWM Limit(36)
0.0498 [%]
550240276Goal CurrentRW0-Current Limit(38) ~
Current Limit(38)
1 [mA]
552440277Goal VelocityRW0-Velocity Limit(44) ~
Velocity Limit(44)
0.01 [rev/min]
556440279Profile AccelerationRW00 ~
Acceleration Limit(40)
1 [rev/min2]
560440281Profile VelocityRW00 ~
Velocity Limit(44)
0.01 [rev/min]
564440283Goal PositionRW-Min Position Limit(52) ~
Max Position Limit(48)
1[pulse]
568240285Realtime TickR-0 ~ 32,7671 [msec]
570140286 (Lo Byte)MovingR---
571140286 (Hi Byte)Moving StatusR---
572240287Present PWMR--0.0498 [%]
574240288Present CurrentR--1 [mA]
576440289Present VelocityR--0.01 [rev/min]
580440291Present PositionR--1 [pulse]
584440293Velocity TrajectoryR--0.01 [rev/min]
588440295Position TrajectoryR--1 [pulse]
592240297Present Input VoltageR--0.1 [V]
594140298 (Lo Byte)Present TemperatureR--1 [°C]
600240301External Port Data 1R/RW00 ~ 4,095-
602240302External Port Data 2R/RW00 ~ 4,095-
604240303External Port Data 3R/RW00 ~ 4,095-
606240304External Port Data 4R/RW00 ~ 4,095-
6341N/AIndirect Data 1RW00 ~ 255-
6351N/AIndirect Data 2RW00 ~ 255-
6361N/AIndirect Data 3RW00 ~ 255-
.....................
7611N/AIndirect Data 128RW00 ~ 255-

Control Table Description

warning

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

:::

NOTE : RH-P12-RN(A) stands for the Advanced firmware of RH-P12-RN. Please be aware of the changes of Control Table such as Addresses and additional features.

:::

Model Number(0)

This address stores model number of the device.

Model NameModel Number
RH-P12-RN(A)35,074 (0x8902)

Firmware Version(6)

This address stores firmware version of the device.

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

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.

ValueBaud RateActual Baud RateMargin of Error
910.5M [bps]10,500,0000.000%
86M [bps]6,000,0000.000%
74.5M [bps]4,421,053-1.176%
64M [bps]4,000,0000.000%
53M [bps]3,000,0000.000%
42M [bps]2,000,0000.000%
31M [bps]1,000,0000.000%
2115,200 [bps]115,2260.023%
1(Default)57,600 [bps]57,6130.023%
09,600 [bps]9,6000.000%
note

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

note

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.

UnitValue RangeDescription
2μsec0 ~ 254Default Value: ‘250’(500 [μs])
Maximum Value: 508 [μs]
warning

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

Operating Mode(11)

Operating mode of the device can be configured. Each control mode has different characteristics so please choose appropriate mode for the application.

ValueOperating ModeDescription
0Current Control ModeThis mode only controls Current regardless of speed and position.
1 ~ 4Reserved-
5(Default)Current based Position Control ModeThis mode controls both Position and Current.

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.
ValuesDescription
0 ~ 252Enable the secondary ID feature with the configured ID value.
253 ~ 255Deactivate 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

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.

ValueDescription
2DYNAMIXEL Protocol 2.0
10Modbus-RTU, Industrial Standard Protocol
warning

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

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

UnitValue Range
1 [pulse]0 ~ 1150

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.

UnitValue Range
0.01 [rev/min]0 ~ 2,970

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.

UnitValue RangeDescription
About 1 [°C]0 ~ 1000 ~ 100 [°C]
warning

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.

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

ValueDescription
0 ~ 2,0092,009 = 100 [%] Output

Current Limit(38)

This value indicates the maximum current(torque) output 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.

UnitValue Range
1 [mA]0 ~ 1,984

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.

UnitValue Range
1 [rev/min2]0 ~ 1,378,788

Velocity Limit(44)

This value indicates maximum velocity of Goal Velocity(552) and Profile Velocity(560). 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.

UnitValue Range
0.01 [rev/min]0 ~ 2,970

Max/Min Position Limit(48, 52)

These values limit maximum and minimum positions in Current based Position Control Mode within the range of 0 ~ 1,150.
Therefore, Goal Position(564) should not exceed the limit range. Attempting to write an invalid value will fail and set the Limit Error Bit in the error field of the Status Packet.

UnitValue Range
1 [pulse]0 ~ 1,150

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

ItemDescription
Voltage0 ~ 3.3 [V]
VESD(HBM) : 2[kV]
Current0 ~ 5 [mA]

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

FunctionExternal Port ModeExternal Port DataAccessDetails
Analogue Input0Converts External Port signal to digital value
External Data = signal x (4,095 / 3.3)
RResolution : 12[bit] (0 ~ 4,095)
Digital Output Push-Pull10 : Set External Port output to 0[V]
1 : Set External Port output to 3.3[V]
WOutput High level(VOH) : 2.4 [V] (min)
Output Low level(VOL) : 0.5 [V] (max)
Digital Input Pull-Up20 : External Port input is 0[V]
1 : External Port input is 3.3[V] or Open
RInput High level(VIH) : 2.3 [V] (min)
Input Low level(VIL) : 1.0 [V] (max)
Pull-Up : 40 [kΩ] (typ)
Digital Input Pull-Down3 (Default)0 : External Port input is 0[V] or Open
1 : External Port input is 3.3[V]
RInput High level(VIH) : 2.3 [V] (min)
Input Low level(VIL) : 1.0 [V] (max)
Pull-Down : 40 [kΩ] (typ)
danger

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 1Pin 2Pin 3Pin 4Pin 5Pin 6
GND3.3VPORT1PORT2PORT3PORT4

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(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's output becomes 0 [%].

REBOOT is the only method to reset Torque Enable(562) 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(892). The followings are detectable situations.

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

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 AddressGoal Position AddressSaved HEX Value
6355640x51
6365650xD4
6375660x03
6385670x00
note

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

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.

ValueDescription
0(Default)Torque Off
1Torque On and lock EEPROM area
note

NOTE : [Present Position(611)] can be reset when [Operating Mode(11)] and [Torque Enable(562)] are updated. For more details, please refer to the [Homing Offset(13)] and [Present Position(611)].

RGB LED

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

AddressColorRange
513Red0 ~ 255
514Green0 ~ 255
515Blue0 ~ 255

Status Return Level(516)

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

ValueResponding InstructionsDescription
0PING InstructionReturns the Status Packet for PING Instruction only
1PING Instruction
READ Instruction
Returns the Status Packet for PING and READ Instruction
2All InstructionsReturns the Status Packet for all Instructions
note

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

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

Registered Instruction(517)

ValueDescription
0No instruction registered by REG_WRITE.
1Instruction registered by REG_WRITE exists.
note

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

warning

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), Position PID Gain(528,530,532), Feedforward 2nd Gains(536), Feedforward 1st Gains(538)

These values indicate Gains of Current based Position Control. Position P Gain of the device's internal controller is abbreviated to KPP and that of the Control Table is abbreviated to KPP(TBL).

Controller GainRangeDescription
Velocity I Gain(524)KVI0 ~ 32,767Velocity Integral Gain
Velocity P Gain(526)KVP0 ~ 32,767Velocity Proportion Gain
Position D Gain(528)KPD0 ~ 32,767Position Differential Gain
Position I Gain(530)KPI0 ~ 32,767Position Integral Gain
Position P Gain(532)KPP0 ~ 32,767Position Proportion Gain
Feedforward 2nd Gain(536)KFF1st0 ~ 32,767Feedforward Acceleration Gain
Feedforward 1st Gain(538)KFF1st0 ~ 32,767Feedforward Velocity Gain

Below figure is a block diagram describing the position controller in Current-based 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 Velocity Trajectory by Profile Acceleration(556).
  3. The desired Velocity Trajectory and Position Trajectory are stored at Velocity Trajectory(584) and Position Trajectory(588).
  4. Feedforward and PID controller calculates PWM output for the motor based on the desired trajectories.
  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 : Ka stands for 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(RS-485, 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.

ValueDescription
Range0Deactivates Bus Watchdog Function and clears Bus Watchdog Error
Range1 ~ 127Activates Bus Watchdog (Unit: 20 [msec])
Range-1Bus 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

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.

UnitRange
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. This value sets a current limit of the current controller in Current-based Position Control Mode. This value cannot exceed Current Limit(38).

Goal Velocity(552)

Goal Velocity(552) value is used as an input limiter of velocity controller.
This value cannot exceed Velocity Limit(44).

Profile Acceleration(556)

Profile Acceleration is set with this value.
This value is used only in Current-based Position Control Mode.
The value of Profile Acceleration ranges from 0 to Acceleration Limit(40).

:::

WARNING: When Profile Velocity(560) is set to '0', Profile Acceleration is not applied.

:::

Profile Velocity(560)

The Maximum velocity for Profile can be set with this value.
Profile Velocity(560) can be used in Current-based Position Control Mode.
Profile Velocity(560) cannot exceed Velocity Limit(44).
In case of Velocity Control Mode, Profile Acceleration(556) is applied, but Profile Velocity(560) isn't.

UnitValue RangeDescription
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 applied 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 received 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.
ConditionTypes of Profile
Profile Velocity(560) = 0Profile 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 : Step and Trapezoidal Profiles are only supported while 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).

Model NameGoal Position = 0Goal Position = 740
RH-P12-RN

Realtime Tick(568)

This value indicates device’s internal time.

UnitValue RangeDescription
1 [msec]0 ~ 32,767The 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 Current-based Position Control Mode.

DetailsDescription
Bit 70x80-Unused
Bit 60x40-Unused
Bit 5
~
Bit 4
0x30Profile Type(0x30)
Profile Type(0x10)
Profile Type(0x00)
Trapezoidal Velocity Profile
Rectangular Velocity Profile
Profile unused(Step)
Bit 30x08-Unused
Bit 20x04-Unused
Bit 10x02-Unused
Bit 00x01In-PositionThe 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 represents present position of the device.

Model NameGoal Position = 0Goal Position = 740
RH-P12-RN

Velocity Trajectory(584)

This is a desired velocity trajectory created by Profile. For more details, please refer to the Profile Velocity(560).

Current-based 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 Current-based 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

Reference

Connector Information

ItemRS-485External Port
Pinout1 GND
2 VDD
3 DATA+
4 DATA-
1 GND
2 VDD
3 PORT 1
4 PORT 2
5 PORT 3
6 PORT 4
Diagram
HousingJST EHR-04
MOLEX 51021-0600
PCB Header
JST B4B-EH-A

MOLEX 53047-0610
Crimp TerminalJST SEH-001T-P0.6MOLEX 50079-8100
Wire Gauge for DYNAMIXEL21 AWG21 AWG

Drawings

Download RH-P12-RN(PDF).zip
Download RH-P12-RN(STP).zip

Certifications

Please inquire us for information regarding unlisted certifications.

FCC

note

Note: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one more of the following measures:

  • Reorient or relocate the receiving antenna.
  • Increase the separation between the equipment and receiver.
  • Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
  • Consult the dealer or an experienced radio/TV technician for help.
warning

WARNING
Any changes or modifications not expressly approved by the manufacturer could void the user’s authority to operate the equipment.