FUTABA RS301CR, RS302CD Instruction Manual

RS301CR/RS302CD
Command Type Servo for Robot
Instruction Manual
Read this instruction manual before use.
Keep this manual handy for immediate reference.
For models
User’s Manual Ver.1.0
2
CONTENTS
1.FOR SAFETY
WARNING SYMBOLS ............................................................................................. 4
CAUTIONS FOR USE ............................................................................................. 4
WARNINGS IN HANDLING BATTERIES ............................................................. 5
Cautions for Storage ................................................................................................. 5
2.INTRODUCTION
Features .................................................................................................................... 6
Part Names / Handling Instructions ........................................................................ 7
3.CONNECTION
System Configuration ............................................................................................... 8
Pin Assignment ...................................................................................................... 8
Cautions when connecting ....................................................................................... 9
4.CONTROL METHOD
Abstract ................................................................................................................... 10
Packet Format ......................................................................................................... 11
Short Packet ............................................................................................... 11
Long Packet ................................................................................................ 14
Return Packet ............................................................................................. 15
Memory Map ........................................................................................................... 17
Invariable ROM area .............................................................................................. 17
No.0 /No.1 Model Number ............................................................. 17
No.2 Firmware Version ................................................................. 17
Variable ROM area ................................................................................................. 18
No.4 Servo ID ................................................................................ 19
No.5 Servo Reverse ........................................................................ 19
No.6 Baud Rate .............................................................................. 19
No.7 Return Delay ...................................................................... 20
No.8 /No.9 /No.10 /No.11 Angle Limit ........................................... 20
No.14 /No.15 Temperature Limit .................................................. 20
No.24 /No.25 Compliance Margin ................................................. 21
3
No.26 /No.27 Compliance Slope .................................................... 21
No.28 /No.29 Punch ....................................................................... 21
Variable RAM Area ................................................................................................. 23
No.30 /No.31 Goal Position ............................................................ 24
No.32 /No.33 Goal Time ................................................................. 24
No.35 Maximum Torque ................................................................ 24
No.36 Torque Enable ..................................................................... 25
No.42 /No.43 Present Position ....................................................... 25
No.44 /No.45 Present Time ............................................................ 26
No.46 /No.47 Present Speed .......................................................... 26
No.48 /No.49 Present Load ........................................................... 27
No.50 /No.51 Present Temperature .............................................. 28
No.52 /No.53 Present Voltage ....................................................... 29
5.REFERENCE
SPECIFICATIONS ................................................................................................. 30
DIMENSIONS ........................................................................................................ 31
TROUBLESHOOTING ........................................................................................... 32
4
To use this product safely, please pay your full attention to the followings. Be sure to
read this instruction manual prior to using this product.
Warning Symbols
The warning symbols used in this text are defined as follows:
Indication
Meaning
Danger
Indicates a hazard that will cause severe personal injury, death, or substantial property damage if the warning is ignored.
Warning
Indicates a hazard that can cause severe personal injury, death, or substantial property damage if the warning is ignored.
Caution
Indicates a hazard that will or can cause minor personal injury, or property damage if the warning is ignored.
Symbols: ; Prohibited ; Mandatory
Cautions for Use
Caution
Do not disassemble or alter the servo. Otherwise, it may cause breakage in the gear box, fire on the servo or explosion of
the battery.
Do not use any battery as a power supply other than the specified battery. The product is designed to be operated by Futaba’s 9.6V Ni-MH battery only. Do not use any other batteries.
Do not touch the servo case during or some time after operating the servo. Otherwise, you may get burned on the finger as the motor or electronic circuit in the servo gets very hot.
Do not let the servo get covered with sandy dust or water. Otherwise, the servo may stop moving or have a short circuit. The servo is not
designed to be waterproof or dust-proof.
Do not use this product for any application other than indoor hobby-robots. Futaba is cleared of all responsibility to the results caused by the usage of this product for any application other than indoor hobby-robots.
1.FOR SAFETY
5
Do not turn the servo horn forcibly. Otherwise, the servo will be damaged.
Do not leave the servo locked. If the servo continues to be locked due to a strong external force, it may cause smoke,
fire or damage.
Warnings in Handling Batteries
Warning
Do not use any battery charger other than the specified charger. Otherwise, the battery may be get damaged, fire, smoke or liquid leakage. Be sure to use batteries recommended by Futaba.
Do not use battery packs connected in parallel. Connecting battery packs in parallel may cause abnormal heat generation or explosion due to the differences between charging voltages.
Do not disassemble or alter battery packs. Otherwise, it may cause fire, explosion or liquid leakage. And please be aware that such battery packs will be no longer guaranteed even if their warranties are not
expired.
Do not use batteries if any abnormal symptoms are seen.
If you find any abnormal symptoms such as cracks in coating film, abnormal heat generation from batteries or deformation of batteries, never use the battery because it may cause serious consequences.
Cautions for Storage
Caution
Do not store the servos in the following conditions. Places where the temperature is over 60 or below -20℃. Places where the Sun directly shines over the servos. Places where it is very high in humidity. Places where there is a strong vibration. Places where there is a lot of dust. Places where static electricity tends to be induced. Places where infants can reach.
Storing the servos in the places shown above may cause deformation and failure of the servos, or hazard.
6
2.INTRODUCTION
Features
RS301CR/RS302CD servo is especially designed for robotic applications, having the following features.
Small and Lightweight RS301CR and RS302CD are small and lightweight servos specially designed for robots, which are 28g and 21g respectively.
Interactive high speed
RS485 communication
RS485 half duplex communication carries out bidirectional high-speed communication up to 460kbps. RS485 is used for the communication between the robot’s processor unit and servos at very high speed.
Command type control
The servo can be controlled by commands sent from the robot’s processor unit through RS485. And a single command can convey multiple data, including a period of time to move and a target position. This relieves the robot’s processor unit from load significantly.
Data Feedback
Various kinds of information about the servo such as angular position, load, temperature, current and alarm can be obtained via RS485.
Compliance control
With this feature, the movement of the RS301CR/RS302CD is controlled in accordance with the distance between the present and target positions. This enables the robot to move very smoothly without
trembling its arms and legs and to absorb turbulence from external force.
Calibration Angular position of every
RS301CR/RS302CD servo is calibrated by our standard gauge before their shipment. Even if another RS301CR/RS302CD servo is employed, it does not require any bothersome work for adjusting its angular position.
12bit-A/D converter
for precise positioning
Angular feedback using the 12bit-A/D
converters makes it possible to position the servo
angle precisely.
Wiring from the output shaft
Wires pass through the backside of the
output shaft to avoid getting wires entwined in operation.
Horn with a mark for reference position
marks are placed on the
circumference of the servo horn in order to make sure the reference position even after being built in. ( one 凹 for 0° position, two for 90°, three for 180° and four for 270°).
7
Part Names / Handling Instructions
Removing the screws for fixing the servo with a case may damage the servo.
Fig.2.1 Part names
Output-axis
Screws for fixing the servo to a case
Do not remove these screws.
Caution
Connecter
8
3.CONNECTION
System Configuration
The following figure shows a robotic system using RS301CR/RS302CD servos, RPU-10
processor unit and etc.
Fig. 3.1 Robotic system configuration
Pin Assignment
Pin assignment of the RS301CR/RS302CD servo is shown below.
Fig. 3.2 Pin assignment
① Gray :RS485(D-) ② Black :RS485(D+) ③ Gray :VCC(7.4V) ④ Black :GND
②④ ①③
RS301CR RS302CD
Motion editor Control softwar
Processing Unit (RPU-10 etc.) RSC-U485
Battery (PR-4S780P
)
9
Cautions when Connecting
Please refer to the figure below for connecting RS301CR/RS302CD and RPU-10.
Fig. 3.3 Operating with RPU-100
Allowable current for relay connectors is 2A and for servo harness is 3A each for continues use.
Set your PC’s communication parameters as follows;
Baud rate 115.2 bps
adjustable between 9.6kbps and 460kbps, Refer to Table 4.6 Baud rate in p.19
Data bit length 8 bits
Parity :none
Stop bit 1 bit
Flow control :none
RPU-10
PC
Please prepare it by your self
Relay box
RS301CR/RS302CD
RS232C
PR-4S780P
10
4.CONTROL METHOD
Abstract
Communication Protocol The communication protocol of the RS301CR/RS302CD servo is based on RS485
(IEEE485) half duplex communication. Data transmission and reception are carried out alternatively on the same signal line.
Normally, the RS301CR/RS302CD servo stands by in reception mode. But, when it
receives from RPU-10 a command to send the servo’s data and status, it switches to transmission mode, sends them out and finally returns to reception mode.
Memory Map The RS301CR/RS302C servo has its own memory area to store data necessary for its
movement. This memory area is called “Memory Map”.
This memory map is divided into two groups. One is “RAM area” in which data will be
erased when the power is turned off. The other one is “ROM area” in which data is held even after the power is turned off.
Servo ID You can set ID numbers to RS301CR/RS302C servos individually. These ID numbers are used to identify servos during communication. The default
number of every servo is set to “1”. When you use multiple servos in a single communication network, give them different ID numbers.
Packet A packet is a block that is used for sending a command to or receiving data from
RS301CR/RS302C servos. Packets are divided into the following three groups, having different formats.
(1) Short Packet(→p.11)
Short packets are used for sending the data in the memory map toward a single servo.
(2) Long Packet(→p.14)
Long packets are used for sending the data in the memory map toward multiple servos
simultaneously.
(3) Return Packet(→p.16)
This is a packet that is sent from a servo when a return packet is requested.
11
Packet Format
Short Packet
Short packets are used for sending the data in the memory map toward a single servo.
Packet structure
This is a line head of a packet. FAAFH is used for short packets.
“xH” denotes Hexadecimal number.
This is a servo’s ID. The valid numbers are from 1 through 127 (00H ~ 7FH). When ID is set to 255,
commands are commonly effective to all servos. The processor unit cannot obtain any data from servos
at this time.
Each bit has the following meaning.
Table 4.1 Send packet flags
Bit Function
7 Reserved
6 Write in Flash ROM
5 Reboot servo
4 Initialize memory map data
3
2
1
0
Return-packet’s address
Bit7 Reserved
Set this bit always at “0.”
Bit6 Write in Flash ROM
Setting this bit to “1” (Flags=40H) and sending a packet of address=FFH, length = 00H
and count = 00H to a servo will write the data of the memory map from No.4 through 29(04H~1DH) into the non-volatile Flash ROM. It takes about 1 second for writing.
Header ID Flags Address Length Count Data Sum
Header
ID
Flags
12
ExWrite the data of the ID1 servo into the Flash ROM.
Hdr ID Flg Adr Len Cnt Sum
The servo’s memory should be renewed with the data you want to write into the Flash
ROM by transferring the data by using a short packet beforehand.
The servo ID becomes effective only after receiving a packet. The ID returns to the
previous number on the next boot up unless the ID is written into the Flash ROM.
Never turn off the power while the Flash ROM is being written.
Bit5Reboot servo
Setting this bit to “1” (Flags=20H) and sending a packet of address=FFH, length = 00H
and count = 00H to a servo will reboot a servo.
ExReboot the ID1 servo.
Hdr ID Flg Adr Len Cnt Sum
Setting both Bit6 and Bit5 to “1” makes it possible to write Flash ROM and reboot the
servo consecutively.
ExWrite into the Flash ROM of the ID1 servo and reboot the servo.
Hdr ID Flg Adr Len Cnt Sum
Bit4Initialize the contents of memory map No.4 ~ No.29
Setting this bit to “1” (10H) and sending a packet of address=FFH, length = FFH, count =
00H and data=FFH to a servo will initialize the memory map from No.4 through No.29 to their initial values.
Please refer to initial values in the “ROM area of Memory Map” (p.18) for more details.
Ex Initialize the memory map from No.4 through No.29 to their initial values.
Hdr ID Flg Adr Len Cnt Sum
FA AF 01
10
FF
FF EE
00
FA AF 01
20
FF
00 DE
00
FA AF 01
60
FF
00 9E
00
FA AF 01
40
FF
00 BE
00
Caution
Caution
If you reset to the factory initial value, the ID becomes 1.
13
Bit3 ~ Bit0Address assignment of a return packet
(1) Data return from predetermined addresses Setting the Bit3 through Bit0 like the table below when sending a short packet makes it
possible to receive the data of the specified addresses in the servo’s memory map. The Bit0 indicates whether to require a return packet (Bit0=1) or not (Bit0=0). Please refer to the Table 4.1 Send packet flags (p.11) for setting these bits in sending short packets. The RS485 half duplex communication, which is used to communicate with servos, does not allow addressing more than one servo that can send a return packet. After requesting a return packet, do not send next data until completing reception of the return packet.
Table 4.2 Address assignment of return packet
Bit 3 2 1 0 Function
0 0 0 0 No return packet
0 0 0 1 Return ACK/NACK packet
0 0 1 1 Return the data of the memory map No.00 ~ No.29
0 1 0 1 Return the data of the memory map No.30 ~ No.59
0 1 1 1 Return the data of the memory map No.20 ~ No.29
1 0 0 1 Return the data of the memory map No.42 ~ No.59
1 0 1 1 Return the data of the memory map No.30 ~ No.41
1 1 1 1
Return the specified number of bytes of data starting from the
specified address.
(2) Data return from user-defined addresses Setting the Bit3 through Bit0 to “1” and sending a short command with the starting ad-
dress whose data you want to receive, the length of data and the count=00H makes it possi­ble to return the specified number of bytes of the data starting from the specified address.
Available addresses in the memory map are from No.00 to No.139 (00H~8BH).
Ex Return the data in the memory map addresses from No.42 (2AH) through No.43
(2BH) of the ID1 servo.
Hdr ID Flg Adr Len Cnt Sum
(3) ACK/NAK Packet If a servo receives a request of sending ACK the Flags being set at Bit0=1, Bit1=0,
Bit2=0 and Bit3=0, the servo send ACK.
The return packet is constituted by only one byte of data like bellow: Return packet = 07H: “ACK”
FA AF 01
0F
2A
02 26
00
14
This notation indicates an address on the memory map. Using this address makes it possible
to write the data of the specified number of bytes determined by the “Length” into the
memory map.
This notation indicates the length of a data block.
Length = the number of bytes of data
This notation indicates the number of servos, which should be set at “1” for a short packet.
This notation indicates the data to be stored in the memory map.
This is the check sum of a packet using 8 bits. Check sum is the value obtained from XOR
operation on all bytes from ID through Data in a packet by a unit of a byte.
If the number of bytes from ID through Data in a packet is two or larger, divide them
byte-by-byte and conduct XOR operation on them.
Ex) Send a command ordering ID1 servo to move to 0 degree.
Hdr ID Flg Adr Len Cnt Dat Sum
The check sum of the transmission data above is as follows: 01H XOR 00H XOR 1EH XOR 02H XOR 01H XOR 00H XOR 00H
Long Packet
The long packet is used to send the data in the memory map to multiple servos. Please
note, however, that the memory address and the length of the data to be sent are the same to all the servos.
Packet structure
This notation indicates the front of a packet. Set “FAAFH” for long packets.
“xH” denotes Hexadecimal number.
This should be always kept at 00H.
This should be always kept at 00H.
Address
Length
Count
Data
Sum
FA AF 01
00
1E
02 1C
00 00 01
Header ID Flags Address Length Count
Data
Sum
Header
ID
Flags
VID
Data
VID
Data
VID
Number of servos = Count
Length
15
This indicates an address on the memory map. Using this address makes it possible to write
the data of the specified number of bytes determined by the “Length” into the memory maps of
multiple servos.
This is used to specify the number of bytes of the data for a servo.
Length = the number of bytes of data + 1
This notation indicates the number of servos that data is sent to. VID and data are sent to all of
them.
This field represents the ID of each servo which sends data. Data corresponding to the number of
servos is sent with VID and Data as one set.
This field is the data of one servo which is written to the memory map. Data corresponding to
the number of servos is written with VID and Data as one set.
This field is made up of eight bits which represent the check sum of the packet. The check sum
is the XOR, in byte units, of the set bits from the ID field to the end of the Data field of the
packet string. If there is a packet of 2 bytes or more between the ID and DATA fields, delimit it
into single bytes before XORing.
Hdr ID Flg Adr Len Cnt VID Dat VID Dat VID Dat Sum
The check sum of the send data above is: 00H XOR 00H XOR 1EH XOR 03H XOR 03H XOR 01H XOR 64H XOR 00H XOR 02H XOR 64H
XOR 00H XOR 05H XOR F4H XOR 01H
Address
Length
Count
Data
Sum
FA AF 00
00
1E
03 ED
64 00 03
VID
01 64 00 02 F4 01 05
16
Return Packet
A return packet is the packet returned from the servo when the Flag field requests a
servo to send a return packet.
Packet structure
This field denotes the beginning of the packet. For a short packet, the header is FDDFH.
This field represents the servo ID.
This field represents the flags which are set in the packet. Each bit shown in the table below
represents a servo state.
Table 4.3 Return packet flags
This field represents the servo memory map address No.
This field represents the length of one data block. The length of one return packet data block
is: Length = Number of return VID + Data bytes
This field represents the number of servos. For a return packet, 1 is always set here.
This field is the check sum. It is the XOR, in byte units, of all the set bits from the ID field to the
end of the data field of a command packet.
Bit Value Function
7 0:Normal, 1:Error Temperature error(Torque off over temperature limit)
6 N/A Reserved
5 0:Normal, 1:Error Temperature alarm
4 N/A Reserved
3 N/A Reserved
2 N/A Reserved
1 0:Normal, 1:Error Received packet error
0 N/A Reserved
Header ID Flags Address Length Count Data Sum
ID
Flags
Header
Address
Length
Count
Sum
17
Memory Map
Invariable ROM area
Table 4.4 Invariable ROM area
Area
Adress No.
DEC HEX
Initial
value
Name Property
00 00H 10H(20H) Model Number L R
01 01H 30H Model Number H R
02 02H 01H Firmware Version R
Invariable
ROM
03 03H 00H Reserved -
( ) For RS302CD
No.0 / No.1 Model Number(2Bytes, Hex Number, Read Only)
This field represents the model No. (servo model). For the RS301CR, it is: Model Number L = 10H Model Number H = 30H
For RS302CD, they are as follows. Model Number L = 20H Model Number H = 30H
No.2 Firmware Version(1Byte, Hex Number, Read Only)
This field represents the servo firmware version. Its value varies depending on the
version at production (0x01 in the example below).
Firmware Version = 01H
Storing two-byte data to memory map Two-byte data is stored to the memory map in two individual 8-bit bytes of H (High byte)
and L (Low byte).
Ex.) Issue a 29.2 degrees operation command to servo ID=23. The command angle is saved to the Target Position item. The commanded value is 29.2
degrees, but since this is 0x0124 in hexadecimal notation, the data actually stored is:
Target Position(L) = 24H Target Position(H) = 01H
18
Variable ROM area
Table 4.5 Variable ROM area
Area
Adress No.
DEC HEX
Initial
value
Name Property
04 04H
01H Servo ID RW
05 05H
00H Reverse RW-
06 06H
07H Baud Rate RW
07 07H
00H Return Delay RW
08 08H
DCH CW Angle Limit L RW
09 09H
05H CW Angle Limit H RW
10 0AH
24H CCW Angle Limit L RW
11 0BH
FAH CCW Angle Limit H RW
12 0CH
00H Reserved -
13 0DH
00H Reserved -
14 0EH
50H(46H) Temp Limit L R
15 0FH
00H Temp Limit H R
16 10H
00H Reserved -
17 11H
00H Reserved -
18 12H
00H Reserved -
19 13H
00H Reserved -
20 14H
00H
Reserved -
21 15H
00H Reserved -
22 16H
00H Reserved -
23 17H
00H Reserved -
24 18H
02H CW Compliance Margin
RW
25 19H
02H CCW Compliance Margin
RW
26 1AH
0AH(0FH) CW Compliance Slope RW
27 1BH
0AH(0FH) CCW Compliance Slope RW
28 1CH
B4H(C8H) Punch L RW
ROM
29 1DH
00H Punch H RW
( ) For RS302CD
19
No.4 Servo ID(1Byte, Hex Number, Read/Write)
This data represents the servo ID. Its initial value is 01H. The setting range is 1 ~ 127 (01H ~ 7FH).
Ex) Rewrite servo ID1 to ID5.
Hdr ID Flg Adr Len Cnt Dat Sum
The relevant servo begins to operate under the new ID as soon as the ID rewrite
command is received.
Note that after the ID was rewritten, if it was not written to the flash ROM, when the
power is turned off, it will return to the previous ID.
No.Servo Reverse(1 Byte,Hex Number,Read/Write
This shows rotation directions of the servo. The initial value of 00H means the normal
rotation and 01H means the reverse rotation. If the servo is set with 01H, the limited range of rotation angles is also reversed.
No.6 Baud Rate(1Byte, Hex Number, Read/Write)
This data represents the communication speed. The value assigned to each baud rate is shown below.
Table 4.6 Baud rate
Value
Baud rate
Value
Baud rate
Value
Baud rate
00H
9,600bps
05H
57,600bps
0AH 460,800bps
01H 14,400bps
06H
76,800bps
02H 19,200bps
07H 115,200bps
03H 28,800bps
08H 153,600bps
04H
38,400bps
09H 230,400bps
Date Bits : 8 bit,Stop Bit :1 bit,Parity : None,Flow Control : None
Its initial value is 07H (115,200bps).
When a value other than the set values listed above was set, the communication speed becomes
115,200bps.
Ex.) Set Baud Rate of servo ID=1 to 38,400bps. Write Baud Rate=04H. At this time, a command with 1 set in bits 5 and 6 of the Flag
field is sent and writing to ROM and restarting of the servo are executed simultaneously.
Hdr ID Flg Adr Len Cnt Dat Sum
FA AF 01
00
04
01 00
01 05
FA AF 01
60
06
01 63
01 04
20
No.7 Return Delay(1 Byte,Hex Number,Read/Write)
This indicates the delay time for reply when the return packet is required. The servo sends the return packet in 100μs after receiving data with the setting of 0. The parameters of No.7 are in units of 001H = 50μs. If you want to set the delay time for reply to 1ms, write 18 (12H). (1ms=100μs+18x50μs
Hdr ID Flg Adr Len Cnt Dat Sum
No.8~No.11 Angle Limit(2Bytes, Hex Number, Read/Write)
These data specify the CW (clockwise rotation), CCW (counterclockwise rotation), and
maximum operating angle based on 0 degree. Set these bits to match the usage environment.
The rotation limit angle is the maximum value, which can be initially set (±123
degrees). Never set an angle exceeding this value, because the servo may be damaged. Even if a command value greater than the rotation limit angle is given, the maximum operating angle is not exceeded.
The setting range is CW Angle Limit →0°(0000H) ~ +150°(05DCH) CCW Angle Limit →0°(0000H) ~ -150° (FA24H).
Ex. 1) Set the CW angle limit of servo ID=1 to 100.0 degrees. Since the angle is set in 0.1 degree units, when 100.0 degrees is specified, 1000(03E8H) is
set. CW Angle Limit L = E8H, CW Angle Limit H = 03H
Hdr ID Flg Adr Len Cnt Dat Sum
Ex. 2) Set the CCW set values of servo ID=1 to -100.0 degrees (FC18H). CCW Angle Limit L = 18H , CCW Angle Limit H = FCH
Hdr ID Flg Adr Len Cnt Dat Sum
No.14 / No.15 Temperature Limit(2Bytes, Hex Number, Read Only)
If an overload is applied to a servo, the heat generated by the motor, etc. will cause the
internal temperature to rise. If the internal temperature exceeds the temperature set here, the torque will be disabled so trouble will not occur at the servo and the red LED on the servo will light. To reset the stopped state, send a No. 36 Torque Enable command.
FA AF 01
60
07
01 74
01 12
FA AF 01
00
08
02 E1
01 E8 03
FA AF 01
00
08
02 EE
01 18 FC
21
*Note that rewriting this memory map value will null and void the product warranty.
No.24 / No.25 Compliance Margin(1Byte, Hex Number, Read/Write)
These data specify the allowable range of the servo stop position. If the present value is
within the range set here relative to the specified target position, the servo is judged to have reached the target position and is stopped. CW and CCW can be set individually. Setting is in approximately 0.1 Degree units.
The initial value is 02H(0.2 degree). We recommend that the initial value not be changed
because in most cases, it is the optimum value.
The setting range is 00H ~ FFH (approximately 25.5 degrees).
Please refer to the chart in”●No.28/No29 Punch”.
No.26 / No.27 Compliance Slope(1Byte, Hex Number, Read/Write)
These data set the range of the torque which attempts to return the servo to the target
position when the present position has deviated from the target position. In the range specified here, the torque which attempts to return the servo to the target position is proportion to the difference between the target position and the present position. The CW and CCW directions can be set individually. Hunting can be reduced and shock can be absorbed by using this function.
Setting is in approximately 1.0 degree units. The setting range is 00H ~ 96H (approximately 150 degrees). The initial values are 0AH(10 deg.) for RS301CR, and 0FH(15 deg.) for RS302CD.
Please refer to the chart in ”●No.28/No29 Punch”.
No.28 / No.29 Punch(2Bytes, Hex Number, Read/Write)
The minimum current applied to the internal motor when a servo is driven can be set.
The region in which the servo does not operate even when a minute movement command is given can be reduced and the servo can be more accurately stopped at the target position by setting this value to the optimum value.
The setting should be by 0.01% of the maximum torque. The setting range is 00H ~ 2710H(100%). The initial value for RS301CR is B4H(1.8%) and for RS302CD is C8H(2.0%).
22
Fig. 4.1 Compliance control
Ex. 1) Set punch to 0064H(1%).
Hdr ID Flg Adr Len Cnt Dat Sum
Ex. 2) Servo ID=1 is set as follows: CW Compliance Margin = 03H CCW Compliance Margin = 03H CW Compliance Slope = 14H CCW Compliance Slope = 14H Punch = 0064H
The 6 bytes from memory addresses 24 to 29 are set at one time.
Hdr ID Flg Adr Len Cnt Dat Sum
FA AF 01
00
1c
02 7A
01 64 00
FA AF 01
00
18
06 7A
01 03 03 14 14 64 00
84 03
CCW
CW
CCW
CW
Position
Target position
Punch
Punch
A B
C D
A: CCW Compliance Slope B: CCW Compliance Margin C: CW Compliance Margin D: CW Compliance Slope
23
Variable RAM Area
Table 4.7 Variable RAM area
Area
Adress No.
DEC HEX
Initial
value
Name Property
30 1EH 00H Goal PositionL RW
31 1FH 00H Goal PositionH RW
32 20H 00H Goal TimeL RW
33 21H 00H Goal TimeH RW
34 22H 00H Reserved -
35 23H 64H(4DH) Max Torque RW
36 24H 00H Torque Enable RW
37 25H 00H Reserved RW
38 26H 00H Reserved RW
39 27H 00H Reserved RW
40 28H 00H Reserved -
41 29H 00H Reserved -
42 2AH 00H Present Position L R
43 2BH 00H Present Position H R
44 2CH 00H Present Time L R
45 2DH 00H Present Time H R
46 2EH 00H Present Speed L R
47 2FH 00H Present Speed H R
48 30H 00H Present Current L R
49 31H 00H Present Current H R
50 32H 00H Present Temperature L R
51 33H 00H Present Temperature H R
52 34H 00H Present Voltage L R
53 35H 00H Present Voltage H R
54 36H 00H Reserved R
55 37H 00H Reserved R
56 38H 00H Reserved R
57 39H 00H Reserved R
58 3AH 00H Reserved -
RAM
59 3BH 00H Reserved -
( ) For RS302CD
24
No.30 / No.31 Goal Position(2Bytes, Hex Number, Read/Write)
A servo can be moved to the specified angle. The center of the movement range is 0
degree. Viewed from the top of the servo (nameplate side), the CW (clockwise rotation) direction is “+” and the CCW (counterclockwise rotation) direction is ““. When the “No.5 Servo Reverse” is 01H, CW direction is “-” and the CCW direction is “+”.
The goal position unit is about 0.1 deg. To make 90 degrees the target position, set “900”
(900384H). When an angle larger than the limit angle set at memory addresses No. 8~11 was commanded, the servo operates up to this limit angle. When the Torque is changed from disable to enable, the servo holds the present position where it was enabled.
Ex. 1) Move servo ID=1 to 90.0°(900→384H).
Hdr ID Flg Adr Len Cnt Dat Sum
Ex. 2) Move servo ID=1 to -90.0 degrees (-900→FC7CH).
Hdr ID Flg Adr Len Cnt Dat Sum
No.32 / No.33 Goal Time(2Bytes, Hex Number, Read/Write)
The movement duration of a servo up to the goal position can be set. The duration is set
is 10ms units. When a command value exceeding the maximum speed of the servo was set. the servo moves at its maximum speed.
Ex. 1) Move servo ID=1 to 90.0 degrees (900384) in 5 seconds (since this is 5000ms,
500(01F4H).
Hdr ID Flg Adr Len Cnt Dat Sum
Ex. 2) Move servo ID=1 to 120.0 degrees (-1200→FB50H) in 10 seconds (since this is
10000ms, 1000(03E8H).
Hdr ID Flg Adr Len Cnt Dat Sum
No.35 Maximum Torque(1Byte, Hex Number, Read/Write)
The maximum torque output by the servo can be set. The servo torque can be set in 1% units with the
torque of the servo described in this manual as 100%. However, consider this an approximate standard.
Even if a value over 100% is set, the maximum torque becomes 100%.
64H100%is the initial value for RS301CR,and 4DH77%is for RS302CD.
FA AF 01 00 1E 02 9B01 8403
FA AF 01 00 1E 02 9C01 7CFC
FA AF 01 00 20 04 A501 84 03 F4 01
FA AF 01 00 20 04 6401 50 FB E8 03
25
The setting range is between 0H and 64H.
Ex) Set the maximum torque of servo ID=1 to 80% (50H).
Hdr ID Flg Adr Len Cnt Dat Sum
No.36 Torque Enable(1Byte, Hex Number, Read/Write)
The servo torque can be enabled and disabled. 01H enables the torque and 00H disables
the torque. When the power is turned on, the torque is disabled (00H). When 02H is set, the servo enters the brake mode and the servo horn can be freely rotated by hand, but a weak torque is generated.
*When the Torque is changed from disable to enable, the servo holds the present
position.
Ex. 1) Enable servo ID=1 torque.
Hdr ID Flg Adr Len Cnt Dat Sum
Ex. 2) Disable servo ID=1 torque.
Hdr ID Flg Adr Len Cnt Dat Sum
Ex. 3) Set servo ID=1 to the brake mode.
Hdr ID Flg Adr Len Cnt Dat Sum
No.42 / No.43 Present Position(2Bytes, Hex Number, Read Only)
The present angle of a servo can be read. The angle information
of the present position can be obtained in 0.1 degree units within a range of -150 degrees in the CCW (counterclockwise rotation) direction and 150 degrees in the CW (clockwise rotation) direction with the center of the variation range as 0 degree as shown in the
Fig. 4-2.
Ex.) Read the present position of servo ID=1. To obtain the value of address Nos. 42 and 43 of the servo as a
return packet, send a “Flag” bit 3=1, bit2=0, bit1=0, bit0=1 send packet. After this packet is sent, the value of memory map address Nos. 42 to 59 is returned from the servo(See the Flags item of “Short packet” on p.13 for more information.) Here, The Torque Enable command and the flag of memory map address Nos. 42 ~ 59 are sent to servo ID=1.
FA AF 01
00
23
01 72
01 50
FA AF 01
00
24
01 24
01 01
FA AF 01
00
24
01 25
01 00
0°
+150
150°
Fig. 4-2 servo range
26
If you send only flags, set [COUNT] =1 with [ADRESS]=0 and [LENGTH]=0, and
nothing should be written in「Data」.
Hdr ID Flg Adr Len Cnt Dat Sum
Return Packet
Hdr ID Flg Adr Len Cnt Sum
Memory Map No. 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
As the 2 bytes from the beginning of the return packet data are memory map address
Nos. 42 and 43, the present position is 0384H(90.0 degrees).
No.44 / No.45 Present Time(2Bytes, Hex Number, Read Only)
The present time is the time that has elapsed from reception of the command by the
servo to the start of movement. When movement is complete, the present time is held last data.
Ex.) Read the present time of servo ID=1. To obtain the value of memory map address Nos. 44 and 45 of the servo as a return
packet, send a Flag bit3=1, bit2=0, bit1=0, bit0=1 send packet. After this packet is sent, the value of memory map address Nos. 42 to 59 is returned from the servo. (See the Flags item of “Short packet” on p.11 for more information.)
If you send only flags, set [COUNT] =1 with [ADRESS]=0 and [LENGTH]=0, and
nothing should be written in「Data」.
Hdr ID Flg Adr Len Cnt Dat Sum
Return Packet
Hdr ID Flg Adr Len Cnt Dat Sum
Memory Map No. 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
The value 0237H (5670ms) from memory map address Nos. 44 and 45 of the return
packet is the present time. (As the receive data is in 10ms units, when multiplied by 10, the receive data becomes ms units.)
FA AF 01 09 24 01 2D01 01
FD DF 01 00 2A 12 0001 5C FF 37 02 00 00 07 00 BA 03 00 00 00 00 00 00 00 00
FA AF 01
09
24
01 2D
01 01
FD DF 01
00
2A
12
0001 84 03 00 00 00 00 06 00 BA 03 00 00 00 00 00 00 00 00
27
No.46/No.47 Present Speed(2 Byte,Hex Number,Read
You can get the servo’s current rotation speed on deg/sec basis.
Ex.To read the current rotation speed of the servo in ID=1
If you want to get the values of No.46 and No.47 in the servo’s memory map as return
packets, send the packets with the bits of 1 to 3 in the “Flag” set to bit3=1、bit2=0、bit1=0 and bit0=1. After sending, the values for the items between No.42 and No.59 in the memory map will be sent back to you from the servo.
(Please refer to Flags for “Send-Packet” on Page 11 for details.) If you send only flags, set [COUNT] =1 with [ADRESS]=0 and [LENGTH]=0, and
nothing should be written in「Data」.
Send flags for return packets between No.42 and No.59 in the memory map.
Hdr ID Flg Adr Len Cnt Sum
Return Packet
Hdr ID Flg Adr Len Cnt Dat Sum
Memory Map No. 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
The present rotation speed is 012CH (300deg/sec), which is identified by the values of No.46 and No.47 in the return packet. If you change the unit of the incoming data to a decimal number, the values show angle rates since the incoming data is based on deg/sec.
No.48/No.49 Present Load(2 Byte,Hex Number,Read
This shows the load (electric current) on the servo. The data can be read on mA basis. Please use this data just as a guide since there are
servos, which do not show “0” in case of no load.
Ex.To read the current load on the servo in ID=1
If you want to get the values of No.48 and No.49 in the servo’s memory map as return
packets, send the packets with the bits of 3 to 0 in the “Flags” set to bit3=1,bit2=0,bit1=0 and bit0=1. After sending, the values for the items between No.42 and No.59 in the memory map will be sent back to you from the servo. Read the data that fall under No.48 and No.49. (Please refer to Flags for “Short Packet” on Page 12 for details.)
If you send only flags, set [COUNT] =1 with [ADRESS]=0 and [LENGTH]=0, and
nothing should be written in ”Data”.
FA AF 01
09
00
00
01 09
FD DF 01
00
2A
12 3D
01 5C FF 37 02 2C 01 07 00 BA 03 00 00 00 00 00 00 00 00
28
Ex.) To send flags for the return packets between No.42 and No.59 in the memory map.
Hdr ID Flg Adr Len Cnt Sum
Return Packet
Hdr ID Flg Adr Len Cnt Dat Sum
Memory Map No. 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
The present load is 0006H, which is identified by the values of No.48 andNo.49 in the
return packet
It shows that the motor is live with electricity of 6mA at this time
No.50/No.51 Present Temperature (2 Byte,Hex Number,Read
This shows the present temperature on the board of the servo. Each temperature sensor
has its own characteristics and there is a difference of about ± 3 between one another in measuring temperature. An alarm flag is raised 10℃ before reaching the preset temperature. If the temperature goes up higher than the preset temperature, an error flag for temperature is raised one second later, and at the same time the servo comes into the break mode, which situation is like deadening the torque a little bit. When it is in the break mode, the value for “Torque ON” of No.36 in the memory map becomes 2.
Please be aware that Torque-On-Command does not function unless resetting is carried
out or turning on the power again if temperature limit works. Also, be careful not to burn yourself since the temperature around the servo motor is somewhere between 120 and 140℃ when errors in temperature happen. Please make sure that the temperature goes down sufficiently before you use it again.
Ex.To read the current temperature of the servo in ID=1
If you want to get the values of No.50 and No.51 in the servo’s memory map as return
packets, send the packets with the bits of 3 to 0 in the “Flags” set to bit3=1,bit2=0,bit1=0 and bit0=1. After sending, the values for the items between No.42 and No.59 in the memory map will be sent back to you from the servo.
(Please refer to the Flags on Page 11 for details.) If you send only flags, set [COUNT] =1 with [ADRESS] =0 and [LENGTH] =0, and
nothing should be written in ”DATA”.
Ex.To send flags for return packets between No.42 and No.59 in the memory map.
Hdr ID Flg Adr Len Cnt Sum
FA AF 01
09
00
00
01 09
FD DF 01
00
2A
12 32
01 4E FB 00 00 00 00 06 00 BA 03 00 00 00 00 00 00 00 00
FA AF 01
09
00
00
01 09
29
Return Packets
Hdr ID Flg Adr Len Cnt Dat Sum
Memory Map No. 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
The current temperature is 002DH(45), which is identified by the values of No.50 and
No.51 in the return packet.
No.52/No.53 Present Voltage (2 Byte,Hex Number,Read
This shows the voltage that is currently used for the servo. Although the meter is
indicated in units of 10mV, there is an approximately ± 0.5V difference between voltage sensors since each sensor has its own characteristics.
Ex.To read the current voltage of the servo in ID=1
If you want to get the values of No.52 and No.53 in the servo’s memory map as return
packets, send the packets with the bits of 3 to 0 in the “Flags” set to bit3=1,bit2=0,bit1=0,and bit0=1. After sending, the values for the items between No.42 and No.59 in the memory map will be sent back to you from the servo.
(Please refer to Flags on Page 11 for details.)
If you send only flags, set [COUNT] =1 with [ADRESS] =0 and [LENGTH] =0, and .
nothing should be written in ”DATA”.
Ex.To send flags for return packets between No.42 and No.59 in the memory map.
Hdr ID Flg Adr Len Cnt Sum
Return Packet
Hdr ID Flg Adr Len Cnt Dat Sum
Memory Map No. 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
The current voltage is 02E4H (7.4V), which is identified by values of No.52 and No.53 in
the return packet.
FD DF 01
00
2A
12 A6
01 4E FB 00 00 00 00 06 00 2D 00 00 00 00 00 00 00 00 00
FA AF 01
09
00
00
01 09
FD DF 01
00
2A
12 40
01 4E FB 00 00 00 00 06 00 2D 00 E4 02 00 00 00 00 00 00
30
APPLICATION ROBOT ACTUAT0R FEATURES RS485 SERIAL COMMINUCATION OTHERS MOTOR CONTROL by SOFTWARE
SIZEL×W×H): RS301CR 35.8 × 19.6 × 25.0 [mm] RS302CD 35.8 × 19.6 × 25.0 [mm]
WEIGHT RS301CR 28 [g] RS302CD 21 [g]
Operation Current
IN SUSPENSION RS301CR 40±20 [mA]
ROOM TEMPERATURE, No Load, 7.4V RS302CD 40±20 [mA]
IN WORKING RS301CR 110±40 [mA]
ROOM TEMPERATURE, No Load, 7.4V RS302CD 100±40 [mA]
MAXIMUM OUTPUT TORQUE: RS301CR 7.1 [kg・cm] (7.4V) RS302CD 5.0 [kg・cm]
MAXIMUM SPEED: RS301CR 0.11 [sec/60°] (7.4V) RS302CD 0.16 [sec/60°]
fs ROTATION DIRECTION CW CURRENT POSITION<COMMAND POSITION (CLOCKWISE) CCW CURRENT POSITION<COMMAND POSITION (ANTICLOCKWISE)
OPERATING ANGLE: CW 150[degree] (ON THE BASIS OF 0 degree)
(CLOCKWISE)
CCW 150[degree] (ON THE BASIS OF 0 degree)
(ANTICLOCKWISE)
SUPPLY VOLTAGE: 7.2 ~ 7.4[V]
OPERATING TEMPERATURE RANGE: 0 ~ +40[℃]
STORAGE TEMPERATURE RANGE : -20 ~ +60[℃]
OTHERS: BATTERY LITHIUM POLYMER BATTERY RS485 COMMUNICATION MAXIMUM BAUD RATE: 460kbps
(DEPENDING ON THE COMMUNICATION ENVIRONMENT)
PROTOCOL: 8BIT, STOP BIT, NO PARITY, ASYNCHRONOUS
5. REFERENCE
Specifications
31
DIMENSIONS
Figure 0-1 Dimensions with using Joint-Ball
32
TROUBLESHOOTING
If your servo does not operate, it intermittently stops operating, or it operates erroneously, take the action shown in the table below. If this does not correct the trouble, please contact a Futaba dealer.
Table 0-1 Check list
Check point Check item Action
Battery Dead battery.
Incorrect loading voltage.
Replace the battery.
Charge the LiPo battery.
Reload the batteries in the correct polarity. Change the recommanded battery
Connecter Faulty contact connection.
Dirty contacts.
If the contact pin is deformed, correct it.
Wipe with a dry cloth
Servo horn Looseness of screws Fasten the screws
Command ID, baud rate, check sum Conform the command packet rules
Cable Short-circuit Change the cable
Before requesting repair, read this instruction manual again and recheck your system. Should the problem continue, request repair service as follows:
Describe the problem in as much detail as possible and send it with a detailed packing list together with the parts that require service.
_Symptom (Including when the problem occurred)
_System(Application configuration)
_Model Numbers and Quantity
_Your Name, Address, e-mail address, and Telephone Number.
If you have any questions regarding this product, please consult your local Futaba dealer.
33
Loading...