Robotis Dynamixel RX-64 User Manual

Closer to Real,
Dynamixel
RX-64
v1.10
ROBOTIS CO.,LTD. www.robotis.com
RX-64
Contents
1. Introduction··································································································2
1-1. What is Dynamixel ?······················································································································· 3
1-2. Strong Points of Dynamixel ············································································································ 5
1-3. Specifications of RX-64 ·················································································································· 6
2. Installation·····································································································7
2-1. How to Assemble Frames··············································································································· 8
2-2. Assembling Connector·················································································································· 10
2-3. Wiring ··········································································································································· 11
2-4. Connection of Main Controller ······································································································ 12
3. Communication with RX-64 ·······································································14
3-1. Overview of Communication········································································································· 15
3-2. Instruction Packet ························································································································· 16
3-3. Status Packet (Return Packet) ····································································································· 18
3-4. Control Table································································································································20
3-5. How to Use Packet ······················································································································· 32
4. Appendix·······································································································44
1
RX-64
1. Introduction
What is Dynaimxel?
Strong Points of Dynamixel
Specifications of RX-64
2
RX-64
1-1. What is Dynamixel ?
New Concept Dynamixel is a robot-only Smart Actuator with a new concept integrating speed reducer,
controller, driver, network function, etc. into one module.
Dynamixel
Reduction
Gear
Controller
Driver Network
LINE UP We have Line up of several kinds of Dynamixel applicable numerously according to the
kinds and characteristics of robots
3
RX-64
All-round Combining Dynamixel is built up with all-round combining structure and it is possible to connect one Structure another with various forms. You can design a robot easily as if assembling a block toy by
using option frame for Dynamixel
Convenient Wiring Dynamixel is connected with Daisy Chain and it is easy to wire one another.
Network Dynamixel with a unique ID is controlled by Packet communication on a BUS and
supports networks such as TTL, RS485, and CAN depending on the type of model.
4
RX-64
1-2. Strong Points of Dynamixel
Torque In spite of the compact size, it generates relatively big Torque by way of the efficient
speed reduction.
Close Control It can control location and speed with the resolution of 1024.
Elasticity Setting It can set up the extent of elasticity when controlling position with Compliance Driving.
Position, Speed It can read the current position and speed.
Communication It is easy to wire since it is connected with Daisy chain, and up to 1M BPS of
communication speed is supported.
Distribution Control Since the main processor can set speed, position, compliance, torque, etc.
simultaneously with a single command packet, it can control several Dynamixels with a
little resource
Physical Intensity The main body is made of engineering plastic to withstand against strong external force.
Efficiency against Since a bearing is used at the last axis of the gear, the amount of efficiency reduction is External Force minimal even if strong external force is applied to the axis.
Safety Device It has the [Alarming] function, which notifies when internal temperature, torque, supplied
voltage, etc. deviate from what the user has set, and the [Shut down] function, which allows it to cope with situation by itself.
Status Indicator It informs the user of ERROR status via LED.
5
RX-64
1-3. Specifications of RX-64
RX-64
Weight (g) 125
Dimension (mm) 40.2 x 61.1 x 41.0
Gear Reduction Ratio 1/200
Applied Voltage (V) at 15V at 18V
Final Reduction Stopping Torque
(kgf.cm)
64.4 77.2
Speed (Sec/60 degrees) 0.188 0.157
Resolution 0.29° Running Degree 300°, Endless Turn Voltage 12V~21V (Recommended voltage: 18V) Max Current 1200mA Running Te mpe r a ture -5℃ ~ +85℃ Command Signal Digital Packet Protocol RS485 Asynchronous Serial Communication (8bit,1stop, No Parity) Link (Physical) RS485 Multi Drop Bus ID 254 ID (0~253) Communication Speed 7343bps ~ 1 Mbps Sensing & Measuring Position, Temperature, Load, Input Voltage, etc. Material Quality Full Metal Gear, Engineering Plastic Body Motor Maxon RE-MAX Standby Current 50 mA
6
RX-64
2. Installation
1. How to Assemble Fames
2. Assembling Connectors
3. Wiring
4. Connection of Main Controller
7
RX-64
2-1. How to Assemble Frames
Optional Frames Rx-64 has the following optional frames. optional frames.
OF-64B OF-64S2
OF-64H OF-64S
8
RX-64
Horn RX-64 has the following kinds of Horns.
Device Combination The below picture shows examples of combinations by using optional frames and horns.
Horn-64I Horn-64T Horn-64N
Basic Supply
Ball Bearing
Trust Bearing
9
RX-64
10
2-2. Assembling Connector
Connector is assembled in the following order.
1) Striping
2) Inserting
3) Forming
4) Formed Wire
5) Assembling
6) Complete
Peel the coating of cable to the extent of 5mm
approx.
Put the cable on the terminal like the left
picture.
Press the cable and terminal by using Wire
Former.
Combine the terminal to the cable tightly like
the left picture. Solder the terminal and cable
after Forming to get the more solid
combination.
Insert the terminal into 4P Molex connector.
When inserting the
terminal, be careful with
the direction of the Molex
connector.
Terminals should be
inserted in the same way
as the left picture
RX-64
11
2-3. Wiring
Pin Assignment The pin assignment of a connector is as shown below. RX-64 can be run by linking with
any one of two 4P connectors of RX-64 since they are connected Pin2Pin internally.
Wiring Wiring should be done Pin2Pin as shown below. By connecting as such, several RX-64s
can be controlled on a BUS.
PIN1: GND
PIN2: VDD (12V~21V)
PIN3: D+
PIN4: D-
PIN1: GND
PIN2: VDD(12V~21V)
PIN3: D+
PIN4: D-
4
3
2
1
4 3
2 1
Caution
Please pay special attention to avoid incorrect pin assignments in wiring.
Otherwise, RX-64 may be damaged.
4 3
2 1
4
3
2
1
4
3
2
1
4 3
2 1
RX-64
12
2-4. Connection of Main Controller
Main Controller RX-64 uses the Multi-Drop Link method which connects several RX-64s to a Node by
using Half Duplex UART. Thus, a Main Controller to run RX-64 must support RS485
UART. You can also design and use Main Controller by yourself.
(Refer to the website www.robotis.com
)
Connection with PC If you want to control RX-64 with PC, you may control it via the Dynamixel-only controller
or using the USB2Dynmixel. For further information, refer to the Dynamixel-only controller manual or the USB2Dynmixel manual.
Connection with UART To control RX-64 with a personally made Main Controller, the signal of Main Controller
UART should be converted into RS485 type signal. The following is a recommended
circuit diagram.
Serial cable
Dynamixel-only
Controller
Power line
USB PORT
Power line
USB2Dynamixel
RX-64
13
The power of RX-64 is supplied via Pin1(-), Pin2(+).
(The above circuit is built into Dynamixel-only controller.)
In the above circuit diagram, the direction of data signal of TxD and RxD in the TTL Level
is determined according to the level of DIRECTION 485 as follows:
In case of DIRECTION485 Level = High: The signal of TxD is output to D+ and D-.
In case of DIRECTION485 Level = Low: The signal of D+ and D- is output to RxD.
Confirmation of The LED of RX-64 flickers once if the power is supplied to RX-64 properly via wiring. Connection
Checking If the above steps are not performed successfully, recheck the pin assignment of the
connector. If the pin assignment is right, check the allowable voltage and current of the
power supply.
Note
Please check the current consumption when applying the power for the first
time. The current consumption of RX-64 in the standby state is 50mA or
less.
RX-64
3. Communication with RX-64
1. Overview of Communication
2. Instruction Packet
3. Status Packet
4. Control Table
5. How to Use Packet
14
RX-64
15
3-1. Overview of Communication
To control RX-64, communication should be established according to the protocol of RX-
64. RX-64 is driven by receiving binary data. Examples of programs for the transmission
of this kind of data are described in detail in the User’s Manual of the Dynamixel-only
controller or the USB2Dynamixel.
Thus, this manual describes only the method and protocol of communication used in
RX-64 on the assumption that Main Controller can transfer binary data.
Packet Main Controller and R-64 communicate each other by sending and receiving data called
Packet. Packet has two kinds: Instruction Packet, which Main Controller sends to control
RX-64, and Status Packet, which RX-64 responses to Main Controller.
Role of ID ID is a specific number for distinction of each RX-64 when several RX-64s are linked to
one bus. By giving IDs to Instruction and Status Packets, Main Controller can control
only the RX-64 that you want to control
Protocol RX-64 does the Asynchronous Serial Communication with 8 bit, 1 Stop bit, and None
Parity.
Instruction Packet
Status Packet
Main
Controller
Caution
If RX-64 with the same ID is connected, packet will collide and network
problem will occur. Thus, set ID as such that there is no RX-64 with the
same ID.
Note
ID of RX-64 is changeable.
For this change, please refer to ‘Changing IDs of Ex.2 and Ex.7’. The
factory default setting ID is 1.
RX-64
3-2. Instruction Packet
Instruction Packet is command data that Main Controller sends to RX-64. The structure
of Instruction Packet is as follows:
OXFF 0XFF ID LENGTH INSTRUCTION PARAMETER1 …PARAMETER N CHECK SUM
The meaning of each byte composing packet is as follows:
0XFF 0XFF This signal notifies the beginning of the packet
ID It is the ID of RX-64 which will receive Instruction Packet. It can use 254 IDs from 0 to
253 (0X00~0XFD).
Note
Broadcasting ID : ID = 254 (0XFE)
If Broadcast ID is used, all linked RX-64s execute command of
Instruction Packet, and Status Packet is not returned.
LENGTH It is the length of the packet. The length is calculated as “the number of Parameters (N)
+ 2”.
INSTRUCTION This command gives an instruction to RX-64 and has the following types.
Value Name Function
No. of
Parameters
0x01 PING
No execution. It is used when controller is ready to recevie Status Packet
0
0x02 READ DATA This command reads data from RX-64 2
0x03 WRITE DATA This com mand writes data to RX-64 2 or more
0x04 REG WRITE
It is similar to WRTE_DATA, but it remains in the standby state without being executed until the ACTION command arrives.
2 or more
0x05 ACTION
This command initiates motions registered with REG WRITE
0
0x06 RESET
This command restores the state of RX-64 to the factory default setting.
0
0x83 SYNC WRITE
This command is used to control several RX-64s simultaneously at a time.
4 or more
16
RX-64
PARAMETER0…N Parameter is used when Instruction requires ancillary data. For the usage of parameters,
refer to “3-5 How to Use Packet”
CHECK SUM It is used to check if packet is damaged during communication. Check Sum is calculated
according to the following formula.
Check Sum = ~ ( ID + Length + Instruction + Parameter1 + … Parameter N )
Where, “~” is the Not Bit operator.
When the calculation result of the parenthesis in the above formula is larger than 255
(0xFF), use only lower bytes.
For example, when you want to use Instruction Packet like the below
ID=1 (0x01), Length= 5 (0x05), Instruction= 3 (0x03),
Parameter1= 12 (0x0C), Parameter2= 100 (0x64), Parameter3= 170 (0xAA)
Check Sum = ~ ( ID + Length + Instruction + Parameter1 + … Parameter 3 )
= ~ [ 0x01 + 0x05 + 0x03 + 0x0C + 0x64 + 0xAA ]
= ~ [ 0x123 ] // Only the lower byte 0x23 executes the Not operation.
= 0xDD
Thus, Instruction Packet should be 0x01, 0x05, 0x03, 0x0C, 0x64, 0xAA, 0xDD.
17
RX-64
18
3-3. Status Packet (Return Packet)
RX-64 executes command received from the Main controller and returns the result to
the Main Controller. The returned data is called Status Packet. The structure of Status
Packet is as follows:
OXFF 0XFF ID LENGTH ERROR PARAMETER1 PARAMETER2…PARAMETER N
CHECK SUM
Each byte composing the packet means as below.
0XFF 0XFF This signal notifies the beginning of the packet. ID It is the ID of RX-64 which transfers Status Packet. LENGTH It is the length of Status Packet, the value of which is“the number of Parameters (N) + 2”.
ERROR It displays the error status occurred during the operatio of RX-64. The meaning of each
bit is described in the below table.
Bit Name Contents
Bit 7 0 -
Bit 6 Instruction Error
In case of sending an undefined instruction or delivering the action command without the reg_write command, it is set as 1.
Bit 5 Overload Error
When the curren load cannot be controlled by the set Torque, it is set as 1.
Bit 4 Checksum Error
When the Checksum of the transmitted Instruction Packet is incorrect, it is set as 1.
Bit 3 Range Error
Wh
en a command is out of the range for use, it is set as
Bit 2 Overheating Error
When internal temperature of Dynamixel is out of the range of operating temperature set in the Control table, it is set as 1.
Bit 1 Angle Limit Error
When Goal Position is written out of the range from CW Angle Limit to CCW Angle Limit , it is set as 1.
Bit 0 Input Voltage Error
When the applied voltage is out of the range of operating voltage set in the Control table, it is as 1.
RX-64
For example, when Status Packet is returned as below
0xFF 0xFF 0x01 0x02 0x24 0xD8
It means that the error of 0x24 occurs from RX-64 whose ID is 01. Since 0x24 is
00100100 as binary, Bit5 and Bit2 become 1. In order words, Overload and Overheating
Errors have occurred.
PARAMETER0…N It returns data except ERROR. For the usage of parameters, refer to “3-5 How to Use
Packet".
CHECK SUM It is used to check if packet is damaged during communication. The below formula
defines Check Sum. This formula is constructed in the same way as the Check Sum of
Instruction Packet.
Check Sum = ~ ( ID + Length + Error + Parameter1 + … Parameter N )
19
RX-64
3-4. Control Table
Control Table consists of data regarding the current status and operation, which exists inside of RX-64.
The user can control RX-64 by changing data of Control Table via Instruction Packet.
Address
(hexadecimal)
Name Description Access
Initial Value
(Hexad eci mal)
0 (0X00)
Model Number(L)
Lowest byte of model number R 64 (0X40)
1 (0X01)
Model Number(H)
Highest byte of model number R 0 (0X00)
2 (0X02)
Version of Firmware
Inf ormation on the version of firmware R -
3 (0X03)
ID
ID of Dynamixel RW 1 (0X01)
4 (0X04)
Baud Rate
Baud Rate of Dynamixel RW 34 (0X22)
5 (0X05]
Return Delay Time Return Delay Time
RW 250 (0XFA)
6 (0X06)
CW Angle Limit(L)
Lowest byte of clockwise Angle Limit RW 0 (0X00)
7 (0X07)
CW Angle Limit(H)
Highest byte of clockwise Angle Limit RW 0 (0X00)
8 (0X08)
CCW Angle Limit(L)
Lowest byte of counterclockwise Angle Limit RW 255 (0XFF)
9 (0X09)
CCW Angle Limit(H)
Highest byte of counterclockwise Angle Limit RW 3 (0X03)
11 (0X0B)
the Highest Limit Temperature Internal Limit Temperature
RW 80 (0X50)
12 (0X0C)
the Lowest Lim it V oltage Lowest Limit V oltage
RW 60 (0X3C)
13 [0X0D)
the Highest Limit Voltage Highest Limit Voltage
RW 240 (0XF0)
14 (0X0E)
Max Torque(L)
Lowest byte of Max. Torque RW 255 (0XFF)
15 (0X0F)
Max Torque(H)
Highest byte of Max. Torque RW 3 (0X03)
16 (0X10)
Status Return Level Status Return Level
RW 2 (0X02)
17 (0X11)
Alarm LED LED for Alarm
RW 36 (0X24)
18 (0X12)
Alarm Shutdown Shutdown for Alarm
RW 36 (0X24)
24 (0X18)
Torque Enable
Torque On/Off RW 0 (0X00)
25 (0X19)
LED
LED On/Off RW 0 (0X00)
26 (0X1A)
CW Compliance Margin
CW Compliance margin RW 0 (0X00)
27 (0X1B)
CCW Compliance Margin
CCW Compliance margin RW 0 (0X00)
28 (0X1C)
CW Compliance Slope
CW Compliance slope RW 32 (0X20)
29 (0X1D)
CCW Compliance Slope
CCW Comliance slope RW 32 (0X20)
30 (0X1E)
Goal P osition(L )
Lowest byt e of Goal Positi on RW -
31 (0X1F)
Goal P osition(H )
Highest byte of Goal Position RW -
32 (0X20)
Moving Speed(L) Lowest byte of Moving S peed
RW -
33 (0X21)
Moving Speed(H) Highest byte of Moving Speed
RW -
34 (0X22)
Torque Limit(L)
Lowest byte of Torque Limit RW ADD14
35 (0X23)
Torque Limit(H)
Highest byte of Torque Limit RW ADD15
36 (0X24)
Pres ent Pos ition( L)
Lowest byte of Current Position R -
37 (0X25)
Pres ent Pos ition( H)
Highest byte of Current Position R -
38 (0X26)
Pres ent Speed(L)
Lowest byt e of Cur ren t Speed R -
39 (0X27)
Pres ent Speed(H)
Highest byte of Current Speed R -
40 (0X28)
Pres ent Load(L)
Lowest byt e of Cur ren t Load R -
41 (0X29)
Pres ent Load(H)
Highest byte of Current Load R -
42 (0X2A)
Pres ent Voltage C urrent Voltage
R-
43 (0X2B)
Pres ent Temperatur e Cur rent T emper ature
R-
44 (0X2C)
Registered Instruction Means if Instruction is registered
RW 0 (0X00)
46 (0X2E)
Moving Means if there is any movement
R 0 (0X00)
47 (0X2F)
Lock
Locking EEPROM RW 0 (0X00)
48 (0X30)
Punch(L)
Lowest byte of Punch RW 32 (0X20)
49 (0X31)
Punch(H)
Highest byte of Punch RW 0 (0X00)
RAM AreaEEPROM Area
20
RX-64
RAM and EEPROM Data in RAM area is reset to the initial value whenever the power is turned on while data
in EEPROM area is kept once the value is set even if the power is turned off.
Address It represents the location of data. To read data from or write data to RX-64, the user
should assign an address where the data locates to Packet.
Access RX-64 has two kinds of data: Read-only data, which is mainly used for sensing, and
Read-and-Write data, which is used for driving.
Initial Value In case of data in the EEPROM Area, the initial values on the right side of the above
Control Table are the factory default settings. In case of data in the RAM Area, the initial
values on the right side of the above Control Table are the ones when the power is
turned on.
Highest/Lowest Byte In the Control table, some data share the same name, but they are attached with (L) or
(H) at the end of each name to distinguish the address. This data requires 16bit, but it is
divided into 8bit each for the addresses (low) and (high). These two addresses should be
written with one Instruction Packet at the same time.
21
RX-64
22
3-4-1 Control Table Items ( EEPROM Area )
Model Number. Address 0, 1 (0x00, 0x01) In case of RX-64, the data value is 64 (0X0040).
Firmware Version Address 2 (0x02)
It represents the firmware version.
ID Address 3 (0x03)
It is a unique number to identify RX-64. 0 to 253 (0xFD) can be used
for it and the factory default setting is 1.
Baud Rate Address 4 (0x04)
It represents the communication speed. 0 to 254 (0xFE) can be
used for it. This speed is calculated by using the below formula.
Speed (BPS) = 2000000 / ( Data + 1 )
Return Delay Time Address 5 (0x05)
It is the delay time that takes from the transmission of Instruction
Packet until the return of Status Packet. 0 to 254 (0xFE) can be used, and the delay time
per data value 1 is 2 usec. That is to say, if the data value is 10, 20 usec is delayed. The
initial value is 250 (0xFA) (i.e., 0.5 msec).
Data value per Baud Rate
Data Set BPS Target BPS Tolerance
1 1000000.0 1000000.0 0.000%
3 500000.0 500000.0 0.000%
4 400000.0 400000.0 0.000%
7 250000.0 250000.0 0.000%
9 200000.0 200000.0 0.000%
16 117647.1 115200.0 -2.124%
34 57142.9 57600.0 0.794%
103 19230.8 19200.0 -0.160%
207 9615.4 9600.0 -0.160%
Note
If the tolerance of Baud Rate is less than 3 %, there is no
problem with communication. The initial value of Baud rate
is 34 (0x22) (i.e., 57600bps).
RX-64
Operating Angle Limit Address 6, 7, 8, 9 (0x06,0x07,0x08,0x09) It represents the allowed range of
movement. The range for use is 0 to 1023 (0x3FF). Data 0 denotes 0° and Data 1023
(0X3FF) 300°. Thus, the angle per data value 1 is about 0.3°.
Highest Limit Address 11 (0x0B)
It is the highest limit of operating temperature. The range for use is
Temperature 10 to 99 (0x10~0x63). If the internal temperature of RX-64 exceeds this range, Over
Heating Error Bit (Bit2) of Status Packet is returned as ‘1’ and Alarm is triggered as set in
the addresses 17 and 18. The value is equal to the actual Celsius temperature. In other
words, the initial value Data 80 (0x50) is 80℃.
Caution
Do not set The Highest Limit Temperature of RX-64 above the initial value
of 80 . ℃ If RX-64 is used at the temperature of 80 or higher, it may be
damaged
Lowest / Highest Address 12, 13 (0x0C, 0x0D)
It is the operation range of voltage. 50 to 250 (0x32 ~
Limit Voltage 0x96) can be used. If Present Voltage (Address42) is out of the range, Voltage Range
Error Bit (Bit0) of Status Packet is returned as ‘1’ and Alarm is triggered as set in the
addresses 17 and 18. Data value is 10 times larger than actual voltage. For example, the
Lowest Limit Voltage Data of 80 means that the Lowest Limit Voltage is set as 8V.
Max Torque Address 14, 15 (0x0E, 0x0F)
It is the torque value of maximum output. 0 to 1023 (0x3FF)
can be used. The value set to ‘0’ means the Free Run state without torque. Max Torque
is allocated to EEPROM (Addresses 14 and 15) and RAM (Addresses 34 and 35). When
the power is turned on, EEPROM value is copied to RAM. In actual operation, the
maximum torque is restrained by Torque Limit (Addresses 34 and 35) located in RAM.
Data value represents the ratio of Torque output under the currently applied voltage. In
other words, Data 1023 (0x3FF) means that RX-64 will use 100% of the maximum
torque it can produce while Data 512 (0x200) means that RX-64 will use 50% of the
maximum torque. For stopping torque value according to the state of voltage of RX-64,
refer to “1-3 Specifications of RX-64”.
23
RX-64
24
Status Return Level Address 16 (0X10) It decides how to return Status Packet. There are three ways like the
below table.
Alarm LED Address 17 (0X11)
It shows an error status occurred during operation through LED.
Alarm LED is allocated with a bit according to each error content like the below table and
it flickers when the bit is set as 1 and the corresponding error occurs.
The function of each bit runs the logic of ‘OR’. That is to say, LED flickers even if 0X05
(binary 00000101) is set and Input Voltage Error or Overheating Error occurs. LED stops
flickering in two seconds when error occurs and is recovered to the normal state.
Address16 Return of Status Packet
0
No return against all instructions
1
Retrun only for the READ_DATA command
2
Return for all Instructions
Note
When Instruction Packet is Broadcast ID, Status Packet is not returned
regardless of Status Return Level.
When Instruction Packet is Ping, Status Packet is returned regardless of
Status Return Level.
Bit Name Contents
Bit 7 0 -
Bit 6 Instruction Error
When undefined Instruction is transmitted or the Action command is delivered without the reg_write command
Bit 5 Overload Error
When the current load cannot be controlled with the set maximum torque
Bit 4 Checksum Error
When the Checksum of the transmitted Instruction Packet is invalid
Bit 3 Range Error When the command is given beyond the range of usage
Bit 2 Overheating Error
When the internal temperature is out of the range of operating temperature set in the Control Table
Bit 1 Angle Limit Error
When Goal Position is written with the value that is not between CW Angle Limit and CCW Angle Limit
Bit 0 Input Voltage Error
When the applied voltage is out of the range of operating voltage set in the Control Table
RX-64
Alarm Shut down Address 18 (0X12) It turns Torque off when an error occurs during operation. It also
allocates each error content in the same way as Alarm LED. It turns Torque off when the
Data bit is set as “1” and the applicable error occurs.
The function of each Bit runs the logic of ‘OR’ in the same way as Alarm LED. However,
unlike Alarm LED, the Torque OFF state is maintained even if an error occurs ans is
recovered to the normal state. To get out of the Shut down state, you should reset a
value you want into the Torque Limit (Addresses 34 and 35).
25
RX-64
26
3-4-2 Control Table Items ( RAM Area )
Torque Enable Address 24 (0x18) When the power is supplied to RX-64 for the first time, RX-64 is in the
Free Run state in which case there is no torque generated. When Torque Enable is set
as "1”, Torque is generated.
LED Address 25 (0x19)
When it is set as “1”, LED is turned on; when it is set as “0”, LED is
turned off.
Compliance Address 26~29 (0x1A~0x1D)
Compliance is to set the pattern of output torque. Making
Margin & Slope well use of it will result in shock absorption, smooth motion, etc. The length of A, B, C,
and D in the below graph ( Position vs. Torque curve ) is the value of Compliance.
Compliance Margin is available from 0 to 254 (0xFE) while Compliance Slope is valid
from 1 to 254 (0xFE).
B and C (Compliance Margin) are the areas where output torque is 0.
A and D (Compliance Slope) are the areas where output torque is reduced when they
are getting close to Goal Position. The wider these areas are, the smoother the motion
is.
A : CW Compliance Slope (Address 28)
B : CW Compliance Margin (Address 26)
C : CCW Compliance Margin (Address 27)
D : CCW Compliance Slope (Address 29)
E : Punch (Address 48, 49)
Goal Position
CCW
CW
CCW
CW
X axis: Position
Y axis: Output Torque
BA CD
E
E
RX-64
27
Compliance Slope can be defined as seven levels in total as shown in the below table. It
recognizes the data values 1 to 5 as 4, valid position value, while the data values 6 to 11
as 8. Thus, it is convenient to set up the data of Compliance Slope as the valid position
value in the below table. The initial value is 32 (0x20) in the 4
th
level.
Level Data Value Valid Position Value
1 1 (0x00) ~ 5 (0x05) 4 (0x04)
2 6 (0x00) ~ 11 (0x0B) 8 (0x08)
3 12 (0x0C) ~ 23 (0x17) 16 (0x10)
4 24 (0x18) ~ 47 (0x2F) 32 (0x20)
5 48 (0x30) ~ 95 (0x5F) 64 (0x40)
6 96 (0x60) ~191 (0xBF) 128 (0x80)
7 192 (0xC0)~254 (0xFE) 254 (0xFE)
For example, if the current position is set as 200 (0X0C8), Goal Position is set as 512
(0X200), and Compliance is set as below,
Area A B C D E
Data 16 5 5 16 10
From the current position 200 to 491 ( 512-16-5=491 ), movement is made with
appropriate torque to reach the set speed; from 491 to 507 ( 512-5=507 ), torque is
continuously reduced to the Punch value; from 507 through 517 ( 512+5=517 ), no
torque is generated.
Goal Position
CCW
CW
CCW
CW
X axis: Position
Y axis: Output Torque
491200 507 51210517
RX-64
Goal Position Address 30, 31 (0X1E, 0x1F) It is a position value of destination. 0 to 1023 (0x3FF) is
available. Position values according to data values are as shown in the below picture.
Goal Position should be used within the range of CW Angle Limit Goal Potion CCW
Angle Limit; when it is out of the range, Angle Limit Error occurs.
(Goal Position = 0)
300°
(Goal Position = 0x3ff)
150°
(Goal Position = 0x200)
300~360°
Invalid Angle
CW
CCW
Moving Speed Address 32, 33 (0x20, 0x21)
It is a moving speed to Goal Position. 0 to 1023 (0X3FF)
can be set for the speed.
Present Speed Address 38, 39 (0x26,0x27)
It is the current moving speed of RX-64. 0 to 1023
(0X3FF) can be measured.
Moving Speed and Present Speed can be converted into RPM when data value is
multiplied by 0.111. For example, Data 1023 is 114RPM ( 1023x0.111=113.6 ). But, the
maximum speed of RX-64 is less than 114RPM. Nevertheless, the range of speed data
value is set up to 114 RPM since RX-64 can move faster than the maximum speed by
outside factors.
The maximum speed of RX-64 is in proportion to the size of supplied voltage. In other
words, the higher voltage it is supplied with, the wider range of speed it can control. For
example, when RX-64 is supplied with 18V, it can reach to the speed of 63.7RPM and
control the speed with 0 to 63.7 RPM. However, when it is supplied with 15V, the
28
RX-64
29
maximum speed is reduced to 53.2RPM so that the speed with 0 to 53.2 RPM can be
controlled. The relationship between data value and speed is as shown in the below
picture.
Torque Limit Address 34, 35, (0x22, 0x23)
It sets the maximum output Torque. 0 to 1023 (0x3FF) is
available. Torque related data is allocated in EEPROM (Addresses 14 and 15) and
RAM (Addresses 34 and 35). And when the power is on, the EEPROM value is copied
to RAM. Torque is restricted by the Torque Limit value located in RAM (Addresses 34
and 35) in driving. Data value represents the ratio of Torque that can be output under the
currently applied voltage as described in Max Torque
Present Position Address 36, 37 (0x24,0x25)
It is the current position of RX-64. The unit is the same as
that of Goal Position.
Present Load Address 40, 41 (0x28,0x29) It is the size of the load currently being driven by Rx-64.
The meaning of data per each bit in the Present Load is as below.
Load Direction = 0 : CCW Load, Load Direction = 1: CW Load
Note
When Moving Speed is set as 1 (0X001), movement is made at the minimum
speed. When Moving Speed is set as 0 (0x000), movement is made at the
maximum speed which can be reached under the applied voltage. In other
words, setting as 0 means that no speed control will be done.
RX-64, Max. Moving Speed & Data Value at 18V
RPM
Data
1023 (0x3FF)
114 RPM
1 (0X001)
Min. Speed
63.7 RPM
572 (0x23C)
Available area
BIT 15~11 10 9876543210
Value 0 Load Direction Data (Load Ratio)
RX-64
Data value indicates the ratio of Torque as described in Max Torque. For example, data
value is 1023 (0X3FF) when the maximum torque is generated but the load is too big for
RX-64 to move, so that RX-64 ends up in the holding state.
Present Voltage Address 42 (0x2A) It is the size of the current voltage supplied. This value is 10 times
larger than the actual voltage. For example, when 10V is supplied, the data value is 100
(0x64).
Present Temperature Address 43 (0x2B) It is the internal temperature of RX-64 in Celsius. Data value is
identical to the actual temperature in Celsius. For example, if the data value is 85 (0x55),
the current internal temperature is 85
℃.
Registered Instruction Address 44 (0x2C) It is set as “1” when a command is registered by the REG_WRITE
command of Instruction Packet. Then, it changes into “0” after executing a registered
command by the Action command.
Moving Address 46 (0x2E) It is set as “1” while movement is being made with Goal Position set;
it changes into “0” when Goal Position is reached.
Lock Address 47 (0x2F) Setting it as “1” leads to the lock state and only the values from
Address 24 (0X18) to Address 35 (0x23) are writable. Once locked, it is impossible to
unlock unless the power is off.
Punch Address 48, 49 (0x30,0x31) It is the limit value of torque being reduced when the output
torque is decreased in the Compliance Slope area. In other words, it is the mimimum
torque. The initial value is 32 (0x20) and can be extended up to 1023 (0x3FF). (Refer to
Compliance margin & Slope)
30
RX-64
3-4-3 Endless Turn
Endless Turn can be materialized when CW Angle Limit (Address 6,7) and CCW Angle
Limit (Address8,9) are set as “0”. It can be usefully applied to move wheels.
Endless Turn has no speed control function. Enter a desired torque value into Moving
Speed (Addresses 32 and 33 (0X20 and 0X21)). The meaning of Moving Speed Address
is as shown in the below picture.
Data value in the table represents the ratio of output torque. For example, Data 1023
(0x3FF) means that 100% of torque should be generated in the current voltage state
while data 512 (0x200) means that 50% of torque should be generated.
BIT 15~11 10 9876543210
Value 0 Turn Direction Data (Torque Ratio)
Turn Direction = 0 : CCW Direction Turn, Turn Direction = 1: CW Direction Turn
31
RX-64
32
3-5. How to Use Packet
To operate RX-64, Instruction Packet, which is binary type data, should be sent to RX-
64 from Main Controller. Instruction Packet has seven kinds of commands. (Refer to “3-
2 Instruction Packet”)
In addition, RX-64 receives Instruction Packet to performs a command and returns the
result as Status Packet to Main Controller. This section describes examples of the usage
of each command of Instruction Packet.
3-5-1 READ DATA
Function This command is to read data in the Control Table inside of RX-64. Length 0X04 Instruction 0X02 Parameter1 Start Address of data to be read Parameter2 Length of Data to be read
Reads the current internal temperature of RX-64 whose ID is 1.
Reads 1 byte from the value of Address 43 (0x2B) in the Control Table.
Instruction Packet : 0XFF 0XFF 0X01 0X04 0X02 0X2B 0X01 0XCC
ID LENGTH INSTRUCTION PARAMETERS
CHECKSUM
Status Packet returned is as follows:
Status Packet : 0XFF 0XFF 0X01 0X03 0X00 0X20 0XDB
ID LENGTH ERROR PARAMETER1 CHECKSUM
Data value read is 0x20 (i.e., 32 in decimal). Thus, the current internal temperature of
Example 1
RX-64
33
3-5-2 WRITE DATA
Function This command is to write data to the Control Table inside of RX-64. Length N+3 (if the number of writing data is N) Instruction 0X03 Parameter1 Start address to write data Parameter2 First data to write Parameter3 Second data to write Parameter N+1 Nth Data to write
Sets the ID of RX-64 as “1’”.
Writes 1 to the Address 3 in the Control Table.
Sends ID as Broadcasting ID(0xFE).
Instruction Packet : 0XFF 0XFF 0XFE 0X04 0X03 0X03 0X01 0XF6`
ID LENGTH INSTRUCTION PARAMETERS.CHECKSUM
Status Packet is not returned since Broadcast ID (0XFE) is transmitted.
Example 2
RX-64
3-5-3 REG WRITE
Function The REG_WRITE command is similar to the WRITE_DATA command in terms of
function, but differs in terms of the timing that a command is executed. When Instruction
Packet arrives, it is saved in Buffer and the Write operation remains in the standby state.
At this moment, Registered Instruction (Address 44 (0x2C)) is set as “1”. Then, when
Action Instruction Packet arrives, Registered Instruction changes into “‘0” and the
registered Write command is finally executed.
Length N+3 (if the number of Writing Data is N) Instruction 0X04 Parameter1 Start Address to write Data Parameter2 First data to write Parameter N+1 Nth data to write
3-5-4 ACTION
Function This command is to execute the Write action registered by REG_WRITE Length 0X02 Instruction 0X05 Parameter NONE
The Action command is useful when several RX-64s are moved with accuracy at the
same time. When several running gears are controlled via communication, there is a
little time difference in terms of enabling time between the first and the last running gear
getting commands. RX-64 has resolved this problem by using Action Instruction.
Note
In case of transmiting the Action command to more than two RX-64s,
Broadcast ID(0XFE) should be used, but Status Packet is not returned at
this time.
34
RX-64
35
3-5-5 PING
Function This command does not instruct anything. It is only used when receiving Status Packet
or confirming the existence of RX-64 with a specific ID.
Length 0X02 Instruction 0X01 Parameter NONE
Receives Status Packet of RX-64 whose ID is 1.
Reads 1 byte from the value of Address 43 (0x2B) in the Control Table.
Instruction Packet : 0XFF 0XFF 0X01 0X02 0X01 0XFB`
ID LENGTH INSTRUCTION CHECKSUM
Status Packet returned is as follows:
Status Packet : 0XFF 0XFF 0X01 0X02 0X00 0XFC
ID LENGTH ERROR CHECKSUM
Example 3
Note
Although Status Return Level (Address 16 (0X10)) is 0, it returns Status
Packet all the time for Ping Instruction. But, it does not return Status Packet
when Check Sum Error occurs in spite of using PING Instruction.
RX-64
3-5-6 RESET
Function This command is to reset the Control Table of RX-64 to the factory default setting. Length 0X02 Instruction 0X06 Parameter NONE
Resets the Control Table of RX-64 whose ID is 0.
Example 4
Instruction Packet : 0XFF 0XFF 0X00 0X02 0X06 0XF7`
ID LENGTH INSTRUCTION CHECKSUM
Status Packet returned is as follows:
Status Packet : 0XFF 0XFF 0X00 0X02 0X00 0XFD
ID LENGTH ERROR CHECKSUM
Please note that ID is changed into”‘1” after the execution of the RESET command.
Caution
Please note that the value set by the user is removed when the RESET
command is used.
36
RX-64
3-5-7 SYNC WRITE
Function
This command is used to control several RX-64s simultaneously with one Instruction
Packet transmission. When this command is used, several commands are transmitted at
once, so that the communication time is reduced when multiple RX-64s are controlled.
However, the SYNC WRITE command can be used only if both of the address and
length of the Control Table to write is identical. Besides, ID should be transmitted as
Broadcasting ID. Make sure that the length of packet does not to exceed 143 bytes since
the volume of receiving buffer of RX-64 is 143 bytes.
ID
0XFE
Length (L+1) X N + 4 (L: Data Length per RX-64, N: the number of RX-64s) Instruction 0X83 Parameter1 Start address to write Data Parameter2 Length of Data to write Parameter3 First ID of RX-64
Data regarding the first RX-64
Parameter4 First data of the first RX-64 Parameter5 Second data of the first RX-64
Parameter L+3 Lth Data of the first RX-64
Data regarding the second RX-64
Parameter L+4 ID of the second RX-64 Parameter L+5 First data of the second RX-64 Parameter L+6 Second data of the second RX-64
Parameter 2L+4 Lth data of the second RX-64
Moves to the following position and speed for each RX-64.
Example 5
RX-64 with ID 0 : Moves to the position of 0x010 at the speed of 0x150
RX-64 with ID 1 : Moves to the position of 0x220 at the speed of 0x360
RX-64 with ID 2: Moves to the position of 0x030 at the speed of 0x170
RX-64 with ID 3: Moves to the position of 0x220 at the speed of 0x380
Instruction Packet : 0XFF 0XFF 0XFE 0X18 0X83 0X1E 0X04 0X00 0X10 0X00
0X50 0X01 0X01 0X20 0X02 0X60 0X03 0X02 0X30 0X00
0X70 0X01 0X03 0X20 0X02 0X80 0X03 0X12`
Status Packet is not returned since ID is transmitted as Broadcasting ID.
37
RX-64
3-5-8 Other Examples
The following examples are supposed that ID is 1 and Baud rate is 57142 BPS.
Reads the Model Number and Firmware Version.
Example 6
Hint Instruction = READ_DATA, Address = 0x00, Length = 0x03
Communication Instruction Packet : FF FF 01 04 02 00 03 F5
Status Packet : FF FF 01 05 00 40 00 08 7D
Status Packet Result Model Number = 64 (0x40) Firmware Version = 0x08
Changes the ID of RX-64 from 1 to 0.
Example 7
Hint Instruction = WRITE_DATA, Address = 0x03, DATA = 0x00
Communication Instruction Packet : FF FF 01 04 03 03 00 F4
Status Packet : FF FF 00 02 00 FC
Status Packet Result NO ERROR
Changes the Baud Rate to 1M bps.
Example 8
Hint Instruction = WRITE_DATA, Address = 0x04, DATA = 0x01
Communication Instruction Packet : FF FF 01 04 03 04 01 F3
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
38
RX-64
Resets Return Delay Time as 4usec.
Example 9
Hint Instruction = WRITE_DATA, Address = 0x05,
DATA = 0x02
Communication Instruction Packet : FF FF 01 04 03 05 02 F1
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Return Delay Time Data 1 is equal to 2usec.
It is recommended that Return Delay Time be set as the minimum value
within the allowed range of Main Controller.
Note
Restricts the movement angle from 0 to 150°.
Example 10
Hint Since CCW Angle Limit 0x3FF means 300°,
150°corresponds to 0x200.
Instruction = WRITE_DATA, Address = 0x08,
DATA = 0x00, 0x02
Communication Instruction Packet : FF FF 01 05 03 08 00 02 EC
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Resets the highest limit of operating temperature as 80°.
Example 11
Hint Instruction = WRITE_DATA, Address = 0x0B,
DATA = 0x50
Communication Instruction Packet : FF FF 01 04 03 0B 50 9D
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
39
RX-64
Sets the operating voltage as 10 to 17V.
Example 12
Hint Data of 10V is 100 (0x64) while 17V is 170 (0xAA).
Instruction = WRITE_DATA, Address = 0x0C,
DATA = 0x64, 0xAA
Communication Instruction Packet : FF FF 01 05 03 0C 64 AA DD
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Only generates 50% of the maximum torque.
Example 13
Hint Sets the value of MAX Torque located in the EEPROM
area
as 0x1FF, which is 50% of the maximum value 0x3FF.
Instruction = WRITE_DATA, Address = 0x0E,
DATA = 0xff, 0x01
Communication Instruction Packet: FF FF 01 05 03 0E FF 01 E9
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
The change of Max Torque can be checked by turning the power off and then on.
Do not return Status Packet all the time.
Example 14
Hint Instruction = WRITE_DATA, Address = 0x10,
DATA = 0x00
Communication Instruction Packet: FF FF 01 04 03 10 00 E8
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Status Packet is not returned from the next Instruction.
40
RX-64
41
Locates at the Position 180° with the speed of 57RPM.
Hint Sets Goal Position (Address 30 (0x1E))= 511 (0x1FF) and
Moving Speed (Address 0x20))= 512 (0x200).
Instruction = WRITE_DATA, Address = 0x1E,
DATA = 0x00, 0x02, 0x00, 0x02
Communication Instruction Packet: FF FF 01 07 03 1E 00 02 00 02 D3
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Example 17
Turns on the LED and enables Torque.
Hint Instruction = WRITE_DATA, Address = 0x18,
DATA = 0x01, 0x01
Communication Instruction Packet: FF FF 01 05 03 18 01 01 DD
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
You can check the Torque Enable state by touching the axis of Dynamixel you’re
your hand.
Example 16
Sets the Alarm as such that LED flickers and shutdown (torque off)
when the operating temperature is higher than the limit temperature.
Hint Since Overheating Error is Bit 2, set up Alarm value as
0x04. ( 0x04=00000100 )
Instruction = WRITE_DATA, Address = 0x11,
DATA = 0x04, 0x04
Communication Instruction Packet: FF FF 01 05 03 11 04 04 DE
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Example 15
RX-64
42
Sets the minimum output Torque (Punch) as 0x40.
Hint Instruction = WRITE_DATA, Address = 0x30,
DATA = 0x40, 0x00
Communication Instruction Packet : FF FF 01 05 03 30 40 00 87
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Example 19
Sets Compliance Margin=1 and Compliance Slope=0x40.
Hint The suggested condition can be depicted in a graph as below.
Goal Position
CCW
CW
CCW
CW
0x01(CW) 0x01(CCW) 0x41(CW) 0x41(CCW)
Angle (Position Error)
A: CCW Compliance Slope (Address 29 (0x1D)) = 0x40 (about 18.8°)
B: CCW Compliance Margin (Address 27 (0x1B)) = 0x01 (about 0.3°)
C: CW Compliance Margin (Address 26 (0x1A)) = 0x01 (about 0.3°)
D: CW Compliance Slope (Address 28 (0x1C)) = 0x40 (about 18.8°)
Instruction = WRITE_DATA, Address = 0x1A,
DATA = 0x01, 0x01, 0x40, 0x40
Communication Instruction Packet: FF FF 01 07 03 1A 01 01 40 40 59
Status Packet : FF FF 01 02 00 FD
Status Packet Result NO ERROR
Example 18
RX-64
43
Unable to change values except Address 24 to Address 35.
Hint Sest Lock ( Address 47 (0x2F) ) as 1.
Instruction = WRITE_DATA, Address = 0x2F,
DATA = 0x01
Communication Instruction Packet : FF FF 01 04 03 2F 01 C8
Status Packet : FF FF 01 02 00 FD
Status Packet Result Status Packet Result NO ERROR
Once locked, It is impossible to unlock unless the power is off.
When other data is accessed while locked, an error is returned.
Example 21
Locates RX-64 with ID 0 at Position 0° and RX-64 with ID 1 at
Position 300°. Start only two RX-64s at the same point.
Hint When the WRITE_DATA command is used, two RX-64s
cannot be started at the same point.
Thus, REG_WRITE and ACTION are used.
ID=0, Instruction = REG_WRITE, Address = 0x1E,
DATA = 0x00, 0x00
ID=1, Instruction = REG_WRITE, Address = 0x1E,
DATA = 0xff, 0x03
ID=0xfe(Broadcasting ID), Instruction = ACTION,
Communication Instruction Packet: FF FF 00 05 04 1E 00 00 D8
Status Packet : FF FF 00 02 00 FD
Instruction Packet: FF FF 01 05 04 1E FF 03 D5
Status Packet : FF FF 01 02 00 FC
Instruction Packet: FF FF FE 02 05 FA (LEN:006)
Status Packet //No return packet
Status Packet Result NO ERROR
Example 20
RX-64
44
4. Appendix
Range Each data has valid range. When the Write commancd that is off the valid range is
transmitted, an error is returned. The below table shows the length and range of data
that the user can write. 16bit Data is displayed in two bytes, L and H. These two bytes
should be written as one Instruction Packet at once.
Write
Address
Writing Item
Length (bytes)
Min Max
3(0X03) ID 1 0
253(0xfd)
4(0X04) Baud Rate 1 0
254(0xfe)
5(0X05) Return Delay Time 1 0
254(0xfe)
6(0X06) CW Angl e Limit 2 0
1023(0x3ff)
8(0X08) CCW Angle Limit 2 0
1023(0x3ff)
11(0X0B) the Highest Limit Temperature 1 10(0x10)
99(0x63)
12(0X0C) the Lowest Limi t Voltage 1 50(0x32)
250(0xfa)
13(0X0D) the Highest Limit Voltage 1 50(0x32)
250(0xfa)
14(0X0E) Max Torque 2 0
1023(0x3ff)
16(0X10) Status Return Level 1 0
2
17(0X11) Alarm LED 1 0
127(0x7f)
18(0X12) Alarm Shutdown 1 0
127(0x7f)
19(0X13) (Reserved) 1 0
1
24(0X18) Torque Enable 1 0
1
25(0X19) LED 1 0
1
26(0X1A) CW Compli ance Margi n 1 0
254(0xfe)
27(0X1B) CCW Compliance Margin 1 0
254(0xfe)
28(0X1C) CW Compliance Slope 1 1
254(0xfe)
29(0X1D) CCW Compli ance Slope 1 1
254(0xfe)
30(0X1E) Goal Position 2 0
1023(0x3ff)
32(0X20) Moving Speed 2 0
1023(0x3ff)
34(0X22) Torque Limi t 2 0
1023(0x3ff)
44(0X2C) Registered Instruction 1 0
1
47(0X2F) Lock 1 0
1
48(0X30) Punch 2 0
1023(0x3ff)
[Control Table Data Range and Length for Writing]
RX-64
RS485 UART RS485 UART is a serial communication method that TxD and RxD cannot be executed
simultaneously. It is usually used when connecting several communication equipments
to one BUS. Since multiple devices are connected to the same BUS, all other devices
should be in the input state while a device transmits. The communication direction of
Main Controller controlling RX-64 is set as input and is changes to output only in the
course of transferring Instruction Packet.
Return Delay Time
Instruction Packet Status Packet
RS485 Direction Output Duration
Return Delay Time It is the time that takes to returns Status Packet after RX-64 receives Instruction Packet.
Default value is 160uSec. Return Delay Time can be changed by changing the data of
Control Table Address 5. Main Controller should convert Direction Port into the input
state within the Return Delay Time frame after sending Instruction Packet.
Tx, Rx Direction Rs485 UART should change Direction into the receiving mode at the time of finishing
transmission. In general, CPU has the following BITs showing UART_STATUS in the
register.
TXD_BUFFER_READY_BIT : It indicates the state that Transmission DATA can be
loaded into Buffer. However, it does not mean that previously transmitted data is
removed from CPU, but it means that SERIAL TX BUFFER is empty.
TXD_SHIFT_REGISTER_EMPTY_BIT : It is set when all Transmission Data is unloaded
from CPU. In case of TXD_BUFFER_READY_BIT, this bit is used when sending a byte
in serial communication as shown in the following example.
TxDByte(byte bData)
{
while(!TXD_BUFFER_READY_BIT); //wait until data can be loaded.
SerialTxDBuffer = bData; //data load to TxD buffer
}
45
RX-64
46
You should check TXD_SHIFT_REGISTER_EMPTY_BIT at the time of changing
direction. The following example is a program sending Instruction Packet.
LINE 1 DIRECTION_PORT = TX_DIRECTION;
LINE 2 TxDByte(0xff);
LINE 3 TxDByte(0xff);
LINE 4 TxDByte(bID);
LINE 5 TxDByte(bLength);
LINE 6 TxDByte(bInstruction);
LINE 7 TxDByte(Parameter0); TxDByte(Parameter1); …
LINE 8 DisableInterrupt(); // interrupt should be disable
LINE 9 TxDByte(Checksum); //last TxD
LINE 10 while(!TXD_SHIFT_REGISTER_EMPTY_BIT); //Wait till last data bit has been
sent
LINE 11 DIRECTION_PORT = RX_DIRECTION; //Direction change to RXD
LINE 12 EnableInterrupt(); // enable interrupt again
You should be careful of LINEs 8 to 12.
As for LINE 8, it is required since the front part of Status Packet is damaged if Interrupt
Routine is performed longer than Return Delay Time due to the interruption happening
when LINE 8 is executed.
Byte to Byte Time It means the delay time between bytes when Instruction Packet is transmitted. When this
time exceeds 100msec, RX-64 considers there is a transmission error and waits the
header (0xff 0xff) of packet again.
Connector Company Name : Molex
0xFF 0xFF ID Length
Byte To Byte Time
RX-64
47
Pin Number: 4 (or 5 for Optional VCC 5V)
Model Number
Temperature range : -40°C to +105°C
Contact Insertion Force-max : 14.7N (3.30 lb)
Contact Retention Force-min : 14.7N (3.30 lb)
For further information, please visit the website www.molex.com
or www.molex.co.jp.
Female Connector
Male Connector
Molex Part Number Old Part Number
Male 22-03-5045
male 50-37-5043
5267-04 5264-04Fe
Pin No.1
48
RX-64
61,1
Dimension
418
45,3
22
34,6
40,2
φ
2
2
8-M2.5TAP THRU
3
M3TAP DP8
34
41
42,5
29
47
6,5
34,6
40,2
φ
2
2
29
22
61,1
18 4
42,5
45,3
22
29
φ
2
2
40,2
34,6
45,3
42,5
18
61,1
4
8-M2.5TAP THRU
34
41
41
34
3
8-M2.5TAP THRU
8-M2.5TAP THRU
Loading...