http://www.sgbotic.com/products/datasheets/robotics/herkulexeng.pdf

Version 1.00
AUGUST, 2011
'56 '56
User Manual
ONTENT
C
1. Safety Instructions
1-1. Meaning of Symbols
1-2. Operating Precautions
1-3. Safe Battery Handling
1-4. Safe Storage
03p
03p
04p
04p
2. Introduction
2-1. Parts List
2-2. Product Overview
2-3. Specification
05p
06p
09p
3. Assembly Instructions
3-1. Joint Assembly
3-2. Joint Assembly(Optional Bracket and Bolt Required)
3-3. Connector Pin & System Assembly
10p
12p
17p
4. Operation
4-1. Communication Protocol
4-2. Register Map
18p
21p
5. Command Set
5-1. [To Servo Module] - Request Packet
5-2. [To Controller(ACK)] - ACK Packet
5-3. CMD(Command) Details
40p
40p
41p
6. Command Examples
42p
Referenace
51p
2
1. Safety Instructions
Thank you for purchasing our HerkuleX.
For your safety, please read the instruction manual before using the HerkuleX
with particular attention to the safety instructions below.
1-1. Meaning of Symbols
Any sections within the manual with the following symbols require special attention to safety.
Danger
Ignoring the instructions with this symbol can lead to serious bodily
injury or death to the user and to those near by and high possibility
of damage to the property and equipment.
Warning
Ignoring the instructions with this symbol can lead to possible bodily
injury and death to the user and to those near by and high possibility
of damage to the property and equipment.
Caution
Ignoring instructions with this symbol may risk bodily injury.
Strictly Prohibited
Compulsory requirement
1-2. Operating Precautions
Caution
Do not disassemble or modify the servo.
Do not use power sources other than the recommended battery.
Do not touch the servo casing immediately after the operation.
3
Keep away from water, sand, and dust.
Do not use the servo for purposes other than installation in the indoor robot.
Do not use overt force to turn the servo horn.
Servo should not be left if locked position.
1-3. Safe Battery Handling
Warning
Alwasy use the appropriate battery charger to charge the battery pack.
Do not connect the battery packs in parallel configuration.
Never disassemble or modify the battery pack.
Do not use the battery pack with apparent external damage.
1-4. Safe Storage
Caution
To prevent accidents and damage, do not store the servo under the conditions
listed below
Location with temperatures above 60 degree celsius or below 20 degree celsius.
Location with direct sunlight.
Location with high humidity.
Area with vibration.
Dusty area.
Area with possible electrostatic electricity,
Area within easy reach of children.
4
2. Introduction
2-1. Parts List
2
3
4
5
6
1
7
8
9
10
11
12
13
1
Servo
: 1ea
2
Horn
: 1ea
3
Horn Bolt(BHT 2.6X8)
: 1ea
4
Wheel Horn Bushing
: 1ea
5
Wheel Horn Washer
: 1ea
6
Wheel Horn Bolt(PHM 3X8)
: 1ea
7
Cable Guard
: 2ea
8
I-type Joint
: 2ea
9
L-type Joint
: 2ea
10
L-type Joint(Single Nut)
: 4ea
11
Bracket Bolt(PHT 2X5)
: 4ea (※ DRS-0201 replaced by PHM 2X5)
12
Joint Bolt(PHM 2X5)
: 12ea
13
Wire Harness(200mm)
: 1ea
5
2-2. Product Overview
Smart Servo
DRS-0101 and DRS-0201 are state of the art modular smart servos incorporating motor,
gear reducer, control circutry and communications capability in one single package.
Both servos are capable of detecting and responding to internal changes in termerature
and voltage supply.
Simple Assembly and Wiring
Small, light, and easy to assemble structure. Ours sevos make joint assembly an easy job with
an added advantage of simple wiring. Two connectors attached to each servo allows serial
connection as well as parallel connection if required.
Highest Stall Torque in relation to Size and Power
In relation to size, weight, and power requirement, our servos have the highest stall torque
in its class.
Versatility from Two Different Models
By introducing two different models of the same size but with different torque and speed, our
customers have the choice to choose and mix and match the servos to assemble custom joints.
DRS-0101 : Stall Torque 12kgf.cm @7.4DCV [166.8 ozf.in.], Speed 0.166s/60˚@7.4DCV
DRS-0201 : Stall Torque 24kgf.cm @7.4DCV [333.6 ozf.in.], Speed 0.147s/60˚@7.4DCV
Smooth Movement
Position
Once the servo receives a movement command, it automatically creates a trapezoidal type speed
profile like the diagram below to control the position. With the servo operating according to the
acceleration/deceleration profile, it suppresses vibrations caused by the sudden acceleratiion and
deceleration as found in the square type speed profile and increases the energy efficiency while
leading to smoother movement. The servo chooses the trapezoidal type speed profile as a default
but profile could be changed according to usage to trapezoidal type, square type or triangle type.
Increasing
Accelated Period
Velocity
Time
Increasing
Accelated Period
Time
6
Durability
Manufactured using Super Engineering Plastic, our servos are highly durable, impact resistant
and designed to withstand even the high torque stress levels that go beyond the tolerance
specs of Engineering Plastic Gears.
Communication
Using Multi Drop TTL Full Duplex UART Serial communications protocol with maxium speed
of 0.667Mbps, single command can set the speed, position, LED, operational compliance,
stop and operational status of up to 254 servos simultaneoulsy at once.
54 Operating Parameters
Operational parameters such as speed, calibration, compliance to external force, LED could be
set by writing directly to the register, by using the Servo Manager downloaded from the web site
or by using the Servo Manager Kit sold separately.
Resolution
0.325 degrees resolution provides very accurate smooth control and minimal vibration.
Maximum Operating Angle
Position Control Mode : 0 ~ 320˚ possible but recommended range is within 0 ~ 300˚
Speed Control Mode : Continuous rotation possible with rotation speed control
Compliance Control
By controlling the torque according to the discrepancy between the goal position and the
actual position, Compliance Control provides certain measure of elasticity to absorb the shock
from the external force.
Data Feedback
Data feedback from the internal temperature, position, and overload sensors.
Protection Features
Internal temperature sensor monitors the motor and the circuit temperature and issues Overheating
Protection Error if the temperature moves beyond set value.
Overload Protection Error is issued when the load stress on the servo goes beyond the set value.
These safety features protec the sevo from the potential damage and prolongs the servo life.
7
Self Diagnosis
Servos are capable of diagnosing seven different types of errors which are then indicated by the
LED. Servo UI is used to set the function and timing of the Overload Protection.
( protects the servo when the overload occurs by releasing the torque )
Multi Drop Network
Expandable Multi Drop type Network with 1:n configuration.
(single controller connected to multiple “n” number of servos).
ID : 0
ID : 1
ID : n
ID : 253
Controller
or
232 Gender
Communication
BUS
TXD
RXD
Multi Function LED
User has direct control the three independently controlled LEDs Red/Green/Blue which are used for
diagnostics and decorative purposes. LED commands are sent together with the Operation command.
※ In case of an error, diagnostics function ignores all LED commands and the Red LED starts to blink periodically
according to the setting.
Metal Ball Bearing (DRS-0201)
Ball bearing installed on the 4th gear shaft will prevent wear, sloping and provide protection from external
shocks that can bend the shaft or throw the gear out of mesh.
※ DRS-0101 : Plastic Bushing
※ DRS-0201 : Metal Ball Bearing
8
6SHFLILFDWLRQ
'LPHQVLRQ:HLJKW
5HGXFWLRQ5DWLR
*HDU0DWHULDO
PP:[PP'[PP+J>R]@
PP:[PP'[PP+J>R]@'56
>LQ:[LQ'[LQ+@
6XSHU(QJLQHHULQJ3ODVWLF+HDY\'XW\0HWDO'56
,QSXW9ROWDJH
5DWHG&XUUHQW0RWRU
6WDOO7RUTXH
0D[LPXP6SHHG
a9'&2SWLPL]HG9
P$#9NJIFPP$#9NJIFP'56
&DUERQ%UXVK&RUHG'&0HWDO%UXVK&RUHOHVV'&'56
NJIFP>R]ILQ@VƉ#9
NJIFP>R]ILQ@VƉ#9'56
5HVROXWLRQ
Ɖ
2SHUDWLQJ$QJOH
7HPSHUDWXUH
Ɖ&RQWLQXRXV5RWDWLRQ
aí>ƔaƔ@
&RPPXQLFDWLRQ/LQN
,'0D[LPXP%DXG5DWH
)HHGEDFN
)XOO'XSOH[$V\QFKURQRXV6HULDO77//HYHO
%LQDU\3DFNHW0XOWL'URS
a%URDGFDVWRQO\
0ESV
3RVLWLRQ6SHHG7HPSHUDWXUH/RDG9ROWDJHHWF
3,')HHGIRUZDUG7UDSH]RLGDO9HORFLW\3URILOH9HORFLW\2YHUULGH
7RUTXH6DWXUDWRU2IIVHW2YHUORDG3URWHFWLRQ
1HXWUDO&DOLEUDWLRQ'HDG=RQH
6HOHFWDEOH6HWWLQJ3DUDPHWHUVü6HUYR0DQDJHU.LW5HTXLUHG
&RQWURO$OJRULWKP
ZWUW¶
Y[””G‚WU`[G•U„
o–™•
ZZU]””G‚XUZYG•U„
Y`””G‚XUX[G•U„
ÞX[””G‚ÞWU\\G•U„
`U^””
‚WUZ_G•U„
ÞX`””G‚ÞWU^\G•U„
Y_UZ””G‚XUXXG•U„
[\””G‚XU^^G•U„
XWU^””
‚WU[YG•U„
Z””
‚WUXXG•U„
X_””G‚XU[YG•U„
ZX””G‚XUYYG•U„
ü5HIHUWR3DJHVDQGIRUFRQQHFWRUVSHFV
3. Assembly Instructions
3-1. Joint Assembly
TYPE 1
12
12
12
12
8
8
8
8
12
12
8
12
12
12
Assembly Diagram
Assembled Unit
TYPE 2
12
12
12
12
8
8
8
8
12
12
12
12
Assembly Diagram
Assembled Unit
10
TYPE 3
12
PHM 2X4
(Option)
10
Bracket
(not included)
12
10
10
12
10
Bracket
(not included)
12
Assembly Diagram
Assembled Unit
TYPE 4
12
PHM 2X4 (Option)
12
10
Bracket
(not included)
10
10
10
12
Bracket
(not included)
12
Assembly Diagram
Assembled Unit
TYPE 5
12
12
12
9
12
12
9
9
12
12
9
12
Assembly Diagram
Assembled Unit
11
-RLQW$VVHPEO\2SWLRQDO%UDFNHWDQG%ROW5HTXLUHG
7<3(
3+0;2SWLRQ
〉⽢
$VVHPEO\'LDJUDP
$VVHPEOHG8QLW
$VVHPEO\'LDJUDP
$VVHPEOHG8QLW
$VVHPEO\'LDJUDP
$VVHPEOHG8QLW
TYPE 2
10
10
10
12
10
12
12
12
Assembly Diagram
Assembled Unit
12
12
11
11
11
12
11
12
Assembly Diagram
Assembled Unit
TYPE 3
10
10
PHM 2X6 (Option)
10
9
10
PHM 2X4 (Option)
10
9
10
Assembly Diagram
12
12
Assembled Unit
12
12
12
12
12
12
Assembly Diagram
Assembled Unit
13
12
12
12
12
12
12
12
12
Assembly Diagram
Assembled Unit
TYPE 4
10
10
9
10
9
9
10
PHM 2X6 (Option)
9
Assembly Diagram
12
12
Assembled Unit
12
12
12
12
12
Assembly Diagram
Assembled Unit
12
12
12
12
12
12
Assembly Diagram
Assembled Unit
14
12
12
12
12
12
12
12
Assembly Diagram
Assembled Unit
TYPE 5
10
10
9
9
PHM 2X6 (Option)
10
9
9
Assembly Diagram
Assembled Unit
12
12
12
12
12
12
12
12
Assembly Diagram
Assembled Unit
15
TYPE 6
10
10
9
PHM 2X6
(Option)
9
10
9
9
Assembly Diagram
Assembled Unit
12
12
12
12
12
12
12
12
Assembly Diagram
Assembled Unit
TYPE 7
9
PHM 2X6
(Option)
9
9
9
Assembly Diagram
Assembled Unit
16
3-3. Connector Pin & System Assembly
All the Servo to Servo connectors have same Pin assingment as the diagram below.
Multi Drop Network makes expansion easy.
Controller
RS232
Cable
Controller
Pin # Description
1
2
GND
VDD
3
4
TXD
RXD
RS232
Cable
232 Gender
★ HerkuleX Manager Kit is requried to connect servo to PC.
9
Battery Cable
Battery
(7.4VDC)
Servo Interface Cable
6
5
3
2
GND PC
TXD PC
RXD PC
DSUB9
Female
Serial Interface Unit
1
HerkuleX
PC
PC Serial Cable
GND HerkuleX
VDD HerkuleX
TXD HerkuleX
RXD HerkuleX
4
Caution
Servos must be cross connected to the PC or Motion Controller. Examples of cross
connection would be Servo TXD to PC or Motion Controlller RXD, Servo RXD to PC or
Motion Controller TXD.
Caution
Do not connect the servo directly to the PC without using the Motion Controller or Signal
Converter. Even though both PC and the servo uses serial protocol (TXD, RXD ) they are
not directly compatible due to electrical difference.
Caution
If using custom made Wire Harness, make sure to check that connector pin assingments
are in correct order. Servo LED will blink once if it is receiving power properly.
If the LED does not blink, check the connector pin assignment and the power supply
Voltage and Amp.
17
4. Operation
4-1. Communications Protocol
Introduction
Servo Controller communicates with the servos in the network by sending a Request Packet and
receiving ACK Packet back from the servo. The example below shows the controller sending a
Request Packet to the Servo n and receiving ACK packet back from the Servo n. Regardless
of the number of servos in the network, only the servo with correct ID (n) will acknowledge the
Request Packet and send the ACK Packet to the controller.
TX : Request Packet
Controller
or
PC
ID : n
ID : 0
RX : ACK Packet
Data Bit : 8
Stop Bit : 1
Parity : None
Flow Control : None
Baud Rate : 57,600 / 115,200 / 0.2M / 0.25M / 0.4M / 0.5M / 0.667M
Communication
Protocol
※ The communications speed of the PC communication ports or USB to Serial Cable can be limited by the
hardware or by the device driver. If problem occurs, check the Baud Rate of the involved port of peripheral to
make sure it supports 115,200bps. If the supported Baud Rate can not found, set the Baud Rate to 115,200bps
or 57,600bps and try again. The default factory setting for DRS-0101 and DRS-0201 is 115,200bps.
Packet
Type
Header
Packet Size
pID
CMD
Check Sum1
Check Sum2
Data[n]
Value
0xFF 0xFF
7~223
0~0xFE
1~9
Refer to Detail
Refer to Detail
Refer to Detail
1
1
1
1
1
MAX 216
Byte
1
1
18
Header
Indicates start of the Packet.
Header
Type
Value
0xFF
0xFF
Byte
1
1
Packet Size
Refers to total Packe size ( in Bytes ) from Header to Data. The maximum Packet Size 233, if the
packet size is larger than 223 Bytes, packet may not be recognized. Minimum packet size is 7
which is packet without any data.
pID
Unique pID value can range from 0 ~ 253 which is total number of servos in the network.
Care must be taken when using pID value of “0xFE” which is a special value that affects all the
servos in the network.
※ To avoid confusion with Servo ID, ID within the packet is deonoted pID
Type
pID
Value
0 ~ 0xFE
Byte
1
CMD
CMD is actual instructions for the servo to perfom when packet is received. There are 9 types of
CMD in Request Packet EEP_WRITE(0x01), EEP_READ(0x02), RAM_WRITE(0x03), RAM_READ(0x04),
I_JOG(0x05), S_JOG(0x06), STAT(0x07), ROLLBACK(0x08), REBOOT(0x09). ACK Packet also has
equivalent set of CMD, but to distinquish from the Request CMD, ACK Packet adds 0x40.
For example, ACK Packet CMD for Request Packet EEP_WRITE(0x01)would be 0x41.
Type
CMD
Value
0x01 ~ 0x09 : Request Packet
0x41 ~ 0x49 : ACK Packet
Byte
1
19
Check Sum1
Check Sum1 is used to check for errors in the Packet. Check Sum1 is calculated as follows,
Check Sum1 = (PacketSize ^ pID ^ CMD ^ Data[0] ^ Data[1] ^ …… ^ Data[n]) & 0xFE.
Header, Check Sum1, Check Sum2 are not included in the calculation.
※ ‘A ^ B’ : Bit Exclusive OR Operator, A is different from B 1(True), same 0(False)
Type
Check Sum1
Value
(PacketSize ^ pID ^ CMD ^ Data[0] ^ Data[1] ^ …… ^ Data[n])&0xFE
Byte
1
Check Sum2
Checksum2 is also used to check for errors in the Packet. Check sum2 is calculated as follows,
Check Sum2 = ( ~CheckSum1) & 0xFE
※ ‘~ A’ : Bit Not Operator, A = 0 1(True), A = 1 0(False)
Type
Check Sum2
Value
(~CheckSum1) & 0xFE
Byte
1
Data[n]
Number of Data depends on CMD and some CMD may not have Data field.
Refer to CMD for details.
Type
Data
Value
Refer to CMD for details
Byte
Max216
20
4-2. Register Map
Register Map are values residing within the Servo and contain data pertaining to current servo
status and operation. Registers are either Non-Volatile or Volatile.
Users are able to control the servos by using Request Packet and ACK Packet to either check or
change the data in the Register Map.
Non-Volatile Register Map
Non-Volatile memory retains data without power. Once the power is turned on, data in the Non-Volataile
memory in EEP Register are copied to the RAM Register which is Volatile memory. Data in the Non-Volatile
memory does not have direct affect on the operation of the servo once it has been copied to the RAM
Register. Rebooting the servo will again copy the data from EEP Register to the RAM Register.
Address
Address refers to the address of the Register. To Read/Write to the Register, Register address must be
included in the Packet.
Default
Factory Default Value, Rollback Protocol is used to return all values to Factory Default Value.
Valid Range
Range of valid data values servo can have. Input of data beyond the Valid Range will possibly result
in unpredictable servo behavior.
RO(Read Only), RW (Read Write)
RO refers to read only Registers. Writing to RO Register will result in error.
RO Registers hold fixed values such as Model #, Version or sensor values used for feedback.
RW refers to Registers which be both read and written to.
※ e (Reg_Name) : Refers to Reg_Name in EEP Register.
※ r (Reg_Name) : Refers to Reg_Name in RAM Register.
ADDRESS
Type
Bytes
Default
Valid Range
RW
0
Model No1
1
0x01
-
RO
1
Model No2
1
0x01
-
RO
2
Version1
1
0x00
-
RO
3
Version2
1
0x90
-
RO
21
Description
Shows DRS-0101 model #
(※ For DRS-0201, Model No1 is 0x02)
Firmware Version
ADDRESS
Type
Bytes
Default
Valid Range
RW
4
Baud Rate
1
0x10
Refer to Pg 26
RW
5
Reserved
1
0x00
-
-
6
ID
1
0xFD
0x00 ~ 0xFD
RW
Servo ID(0xFE : Can be used as
Broadcasing ID. ID not assignable)
7
ACK Policy
1
0x01
0x00 ~ 0x2
RW
Refer to Pg 33
8
Alarm LED Policy
1
0x7F
0x00 ~ 0x7F
RW
Activates alarm LED according to policy
9
Torque Policy
1
0x35
0x00 ~ 0x7F
RW
Releases torque according to policy
10
Reserved
1
-
-
-
11
Max. Temperature
1
0xDE
0x00 ~ 0xFE
RW
Maximum allowed temp(0xDF : 85℃)
12
Min. Voltage
1
0x5B
0x00 ~ 0xFE
RW
Minimum allowed voltage(0x5B : 6.714DCV)
13
Max. Voltage
1
0x89
0x00 ~ 0xFE
RW
Maximum allowed voltage(0x89 : 10DCV)
14
Acceleration Ratio
1
0x19
0x00 ~ 0x32(50)
RW
15
Max. Acceleration Time
1
0x2D
0x00 ~ 0xFE
RW
Ratio of time to reach goal position
to acceleration or decceleration
Max acceleration time, 11.2ms interval
Acceleration(0x2D : 504ms)
16
Dead Zone
1
0x00
0x00 ~ 0xFE
RW
Outside control/sensor range
17
Saturator Offset
1
0x00
0x00 ~ 0xFE
RW
Refer to Pg 36
18
Saturator Slope
2
0x0000
0x0000 ~ 0x7FFF
RW
Refer to Pg 36
20
PWM Offset
1
0x00
-128 ~ 127
RW
21
Min. PWM
1
0x00
0x00 ~ 0xFE
RW
22
2
0x03FF
0x0000 ~ 0x03FF
RW
2
0x03FE
0x0000 ~ 0x7FFE
RW
26
Max. PWM
Overload PWM
Threshold
Min. Position
PWM Offset value
Refer to Pg 37
Sets minimum PWM value
Refer to Pg 37
Sets maximum PWM value
Refer to Pg 37
Sets PWM overload treshold range
Refer to Pg 34
2
0x0015
0x0000 ~ 0x03FF
RW
Minimum position value(0~1023)
28
Max. Position
2
0x03EA
0x0000 ~ 0x03FF
RW
Maximum position value(0~1023)
30
Position Kp
2
0x01B8
0x0000 ~ 0x7FFF
RW
Proportional Gain,
32
Position Kd
2
0x1F40
0x0000 ~ 0x7FFF
RW
Derivative Gain,
34
Position Ki
2
0x0000
0x0000 ~ 0x7FFF
RW
Integral Gain,
2
0x0000
0x0000 ~ 0x7FFF
RW
Refer to Pg 35
2
0x0000
0x0000 ~ 0x7FFF
RW
Refer to Pg 35
40
Position Feed forward
1st Gain
Position Feedforward
2nd Gain
Reserved
2
-
-
-
Reserved
42
Reserved
2
-
-
-
Reserved
44
LED Blink Period
1
0x2D
0x00 ~ 0xFE
RW
45
ADC Fault Check Period
1
0x2D
0x00 ~ 0xFE
RW
46
Packet Garbage
Check Period
1
0x12
0x00 ~ 0xFE
RW
47
Stop Detection Period
1
0x1B
0x00 ~ 0xFE
RW
24
36
38
22
Description
Communication Speed
Reserved
Reserved
Alarm LED blink period accoring to policy,
11.2ms/Tick, 0x2D : 504ms
Temp/voltage error check period,
11.2ms/Tick, 0x2D : 504ms
Packet Error check period,
11.2ms/Tick, 0x12 : 201ms
Stop detection check period,
11.2ms/Tick, 0x1B : 302ms
$''5(66
7\SH
%\WHV
'HIDXOW
9DOLG5DQJH
5:
'HVFULSWLRQ
2YHUORDG'HWHFWLRQ3HULRG
[
[a[)(
5:
2YHUORDG&KHFN,QWHUYDO
PV7LFN[V
6WRS7KUHVKROG
[
[a[)(
5:
6WRS7KUHVKROG
,QSRVLWLRQ0DUJLQ
[
[a[)(
5:
2IIVHW7KUHVKROG
5HVHUYHG
5HVHUYHG
5HVHUYHG
5HVHUYHG
&DOLEUDWLRQ'LIIHUHQFH
a
5:
6HUYR&RPSHQVDWLRQ
ü%\WH9DULDEOH%\WH2UGHU/LWWOH(QGLDQ0RVWVLJQLILFDQWE\WHLVVWRUHGLQWWKHKLJKHUDGGUHVV
>([[email protected]$GGUHVVLVa7RVWRUH[VWRUHWKHOHDVWVLJQLILFDQWILUVW
$GGUHVV [DQGPRVWVLJQLILFDQWGLJLWODVW$GGUHVV [
ü,QWHO$OSKD3URFHVVHVRUVXVH/LWWOH(QGLDQZKHUHDVPRVWRIWKH5,6&3URFHVVHUV0RUWRUROD3URFHVVRUV
XVH%LJ(QGLDQ
0D[3:0'HDG=RQH
3:0LVWKHYDOXHUHSUHVHQWLQJHQJHUJ\LQSXWWRWKH6HUYR:KHQWKHHQHUJ\LVLQFUHDVHGVHUYR
WRUTXHRUVSHHGLQFUHDVHV
0D[3:0/LPLWVPD[LPXP3:0,QRWKHUZRUGVOLPLWVWKHPD[LPXPHQHUJ\VXSSOLHGWRWKH6HUYR
(QHUJ\XVHLVRSWLPL]HGE\OLPLWLQJWKHPD[LPXPWRUTXHRUVSHHGRIWKHVHUYR
'HDG=RQH6HUYRPRYHVWRUHDFKWKHH[DFW*RDO3RVLWLRQ:KHQWKHGLIIHUHQFH(UURUEHWZHHQWKH
FXUUHQWSRVLWLRQDQGWKHJRDOSRVLWLRQEHFRPHVWKHIRUFHGURSVWRDQGWKHVHUYRVWRSV
'HDG=RQHSURYLGHVIOH[LELOLW\WRWKHVHUYRRSHUDWLRQE\LQFUHDVLQJWKHUDQJHZKHUHWKHIRUFHGURSVWR
,IWKHGLIIHUHQFH(UURULVOHVVWKDQWKH'HDG=RQHVHUYRDVVXPHVLWKDVUHDFKHGWKHJRDOSRVLWLRQDQGVWRSV
üÔ:KDWGRHVRSHUDWLRQDOIOH[LELOLW\ÕPHDQ"
,QWKHJUDSKEHORZJUHHQOLQHLVWKH3:0OHYHOZLWKRXWWKH0D[3:0DQG'HDG=RQHVHW7KH\HOORZOLQHLV
WKH3:0OHYHOZLWKWKH0D[3:0DQGWKH'HDG=RQHVHW7KH\HOORZOLQHVKRZVWKH3:0GURSSLQJWRZLWKLQ
WKH'HDG=RQHHYHQWKRXJK*RDO3RVLWLRQKDVQRWEHHQUHDFKHG/RRNLQJDWWKHULJKWVLGHRIWKHJUDSKHYHQ
WKRXJKWKHJUHHQOLQHLVDERYHODUJHUWKDQWKH0D[3:0DFWXDO3:0YDOXH\HOORZOLQHLVZLWKLQWKH0D[3:0
3:0
ü6HWWLQJWKH'HDG=RQHWRRODUJHZLOOLQFUHDVHWKHGLVFRQWLQXRXV3:0VHFWLRQDQGOHDGWRGHFUHDVHG
FRQWUROODELOLW\5HFRPPHQGHG'HDG=RQHYDOXHLVEHORZ
0D[300
0D[3:0
%HIRUH6HWWLQJ
*RDO3RVLWLRQ
$IWHU6HWWLQJ
3RVLWLRQ
'HDG=RQH
0D[3:0'HDG=RQH
Volatile Register(RAM Register) MAP
Volatile Memory has direct affect on the operation of the Servo and reverts to default (EEP Register)
value when the Servo is reboot even though RAM register value has been changed to change the
servo operating parameters. Read/Write has to be performed to RAM Register value to operate
the Servo, change the operating parameters or to check servo status.
ADDRESS
Type
Bytes
Valid Range
RW
0
ID
1
0x00 ~ 0xFD
RW
Servo ID(0xFE : Can be used as
Broadcasting ID, ID not assignable)
1
ACK Policy
1
0x00 ~ 0x2
RW
Refer to Pg 33
2
Alarm LED Policy
1
0x00 ~ 0x7F
RW
Activates alarm LED according to Policy
3
Torque Policy
1
0x00 ~ 0x7F
RW
Releases Torque according to Plolicy
4
Reserved
1
-
-
5
Max. Temperature
1
0x00 ~ 0xFE
RW
Maximum allowed temp(0xDF : 85℃)
6
Min. Voltage
1
0x00 ~ 0xFE
RW
Minimum allowed voltage(0x5B : 6.714VDC)
7
Max. Voltage
1
0x00 ~ 0xFE
RW
Maximum allowed voltage(0x89 : 10VDC)
8
Acceleration Ratio
1
0x00 ~ 0x32(50)
RW
9
Max. Acceleration
1
0x00 ~ 0xFE
RW
Ratio of time to reach goal position
to acceleration or decceleration
Max acceleration time, 11.2ms interval
Acceleration(0x2D : 504ms)
10
Dead Zone
1
0x00 ~ 0xFE
RW
Outside control range
11
Saturator Offset
1
0x00 ~ 0xFE
RW
Refer to Pg 36
12
Saturator Slope
2
0x0000 ~ 0x7FFF
RW
Refer to Pg 36
14
PWM Offset
1
-128 ~ 127
RW
15
Min. PWM
1
0x00 ~ 0xFE
RW
16
Max. PWM
2
0x0000 ~ 0x03FF
RW
18
Overload PWM Threshold
2
0x0000 ~ 0x7FFE
RW
PWM Offset value
Refer to Pg 37
Set minimum PWM value
Refer to Pg 37
Set maximum PWM value
Refer to Pg 37
Set PWM Overload treshold range
Refer to Pg 34
20
Min. Position
2
0x0000 ~ 0x03FF
RW
Minimum position value(0~1023)
22
Max. Position
2
0x0000 ~ 0x03FF
RW
Maximum position value (0~1023)
24
Position Kp
2
0x0000 ~ 0x7FFF
RW
Proportional Gain
26
Position Kd
2
0x0000 ~ 0x7FFF
RW
Derivative Gain
28
Position Ki
2
0x0000 ~ 0x7FFF
RW
Integral Gain
30
2
0x0000 ~ 0x7FFF
RW
Refer to Pg 35
32
Position
Feedforward 1st Gain
Position
Feedforward 2nd Gain
2
0x0000 ~ 0x7FFF
RW
Refer to Pg 35
34
Reserved
2
-
-
Reserved
36
Reserved
2
-
-
Reserved
38
LED Blink Period
1
0x00 ~ 0xFE
RW
24
Description
Reserved
Alarm LED blink period according to Policy
11.2ms/Tick, 0x2D : 504ms
ADDRESS
Type
Bytes
Valid Range
RW
1
0x00 ~ 0xFE
RW
1
0x00 ~ 0xFE
RW
Description
40
ADC Fault
Detection Period
Packet Garbage
Detection Period
41
Stop Detection Period
1
0x0000 ~ 0x7FFF
RW
42
Overload Detection Period
1
0x00 ~ 0xFE
RW
Temp/Voltage error check interval
11.2ms/Tick, 0x2D : 504ms
Packet Error check interval,
11.2ms/Tick, 0x12 : 201ms
Stop detection check interval,
11.2ms/Tick, 0x1B : 302ms
Overload check interval,
11.2ms/Tick, 0x96 : 1.68s
43
Stop Threshold
1
0x00 ~ 0xFE
RW
Stop Threshold
44
Inposition Margin
1
0x00 ~ 0xFE
RW
Offset Threshold
45
Reserved
1
-
-
Reserved
46
Reserved
1
-
-
Reserved
47
Calibration Difference
1
-128 ~ 127
RW
Servo compersation
48
Status Error
1
0x00 ~ 0x7F
RW
Refer to Pg 39
49
Status Detail
1
0x00 ~ 0x7F
RW
Refer to Pg 39
50
Reserved
1
-
-
Reserved
51
Reserved
2
-
-
Reserved
52
Torque Control
1
MASK : 0x60
RW
Torque enable states (Refer to Pg 28)
53
LED Control
1
0x00 ~ 0x07
RW
0x01:Green, 0x02:Blue, 0x04:Red
54
Voltage
2
0x00 ~ 0xFE
RO
55
Temperature
2
0x00 ~ 0xFE
RO
56
Current Control Mode
2
0~1
RO
Input voltage Raw Data, 8Bit
(Refer to detail in Pg 31)
Current temp Raw Data, 8Bit
(Refer to detail in Pg 31)
0 : Position Control,
1 : Turn / Velocity Control
57
Tick
2
0x00 ~ 0xFF
RO
11.2ms/Tick
58
Calibrated Position
2
-
RO
Calbrated current position Raw Data 10Bit(0~1023)
60
Absolute Position
2
-
RO
Uncalibrated absolute position Raw Data
62
Differential Position
2
-
RO
Position change/11.2ms
64
PWM
2
-
RO
Torque Raw Data
66
Reserved
2
-
-
68
Absolute Goal Position
2
-
RO
Uncalibrated goal position Raw Data
70
Absolute Desired
Trajectory Position
2
-
RO
Current intermediate goal position in trajectory
72
Desired Velocity
1
-
RO
Desired speed based on speed profile Raw Data
39
25
Reserved
Register Detail
NO
Type
Bytes
EEP ADDR
RAM ADDR
1
Model No1
1
0
-
2
Model No2
1
1
-
3
Version1
1
2
-
4
Version2
1
3
-
RW
RO
Servo Model Name
RO
Firmware Version
5
Baud Rate
1
4
-
RW
6
Reserved
1
5
-
-
7
8
9
ID
ACK Policy
Alarm LED Policy
1
1
1
6
0
7
1
8
2
RW
RW
Sets Alarm LED policy when error. r(LED Policy)
& r(Status Error) TRUE > LED blink
LED blink period set by r(LED Blink Period)
When error LED blink > Ignore r(LED Control) value
Resolve r(Status Error) Error to make
r(LED Control) function normally
r(Servo Policy) & r(Status Error) TRUE >
Torque release(Torque Off)
When Torque released, by errorTorque
On not possible regardless of value in
r(Torque Control)
Servo does not automaticallly revert to Torque
On even after r(Status Error) has been resolved
Enable Toque On using r(Torque Control)
after r(Status Error) has been resolved
9
3
RW
11
Reserved
1
10
4
-
12
Max. Temperature
13
14
Min. Voltage
Max. Voltage
1
1
12
6
13
7
26
Reserved
Sets ACK packet reply policy when
Request packet received
0 : No reply
1 : Only reply to Read CMD
2 : Reply to all Request Packet
※ When CMD is STAT, ACK packe will
be sent regardless of r(ACK Policy)
※ When pID(Boradcast pID)is 254 no reply
(Exception when CMD is STAT)
1
5
Default Baud Rate is 115,200bps
0x02 : 666,666bps
0x03 : 500,000bps
0x04 : 400,000bps
0x07 : 250,000bps
0x09 : 200,000bps
0x10 : 115,200bps
0x22 : 57,600bps
※ Baud Rate error within 3%
RW
Torque Policy
11
(※ for DRS-0201, Model No1 is 0x02)
Servo ID, Error when same ID exists
within the same network.
Range 0 ~ 253
※ pID up to 254
Servo ID maximum 253
10
1
Description
Reserved
RW
Maximum operational temperature
When r(Temperature) is greater than
r(Max. Temperature) r(Status Error) "Exceed
Temperature Limit" activated
RW
Minimum operational voltage
When Servo input voltage r(Voltage) is below
r(Min. Voltage), r(Status Error) "Exceed
Voltage Limit" activated
Voltage = 0.074 X ADC
RW
Maximum operational voltage
When Servo input voltage r(Voltage) is greather
than r(Max. Voltage), r(Status Error) "Exceed
Voltage Limit" activated
Voltage = 0.074 X ADC
NO
15
구분
Acceleration Ratio
Bytes
1
EEP ADDR
RAM ADDR
14
8
RW
RW
Description
Acceleration ratio regarding velocity Profile
Ratio of operation time of Motion command
(I_JOG, S_JOG), %
Acceleration ratio is same as decceleration ratio
Maximum r(Acceleration Ratio) value is 50
Ex) When operating time is 100ms and
r(Acceleration Ratio) is 20 : Acceleration
time is 100 X 0.2 = 20ms
※ When r(Acceleration Ratio)is 0, speed
profile is rectangle
※ When r(Acceleration Ratio) is below 50,
velocity profile is triangle
16
Max. Acceleration Time
1
15
9
RW
Maximum acceleration time(1 : 11.2ms)
When maximum acceleration time r(Max.
Acceleration Time) is 254 = 2.844sec
※ When r(Max. Acceleration Time) is 0 velocity
profile is rectangle
17
Dead Zone
1
16
10
RW
Outside control range
Dead Zone only funtions within position control
18
Saturatior Offset
1
17
11
RW
Select Offset at Saturator curve
※ Not applicapable in nfinite Turn
(continuous turn)
RW
Saturator does not work when
r(Staturation Slop)=0
Actual Saturator Slop = r(Saturator Slop) / 256
※ Not applicapable infinite Turn Mode
(continuous turn)
RW
PWM Offset value
PWM increases by r(PWM Offset) amount
※ When PWM is at maximum value, Servo at
current load outputs maximum Torque and speed
※ When PWM is 0, Servo stopped
※ Maximum PWM value 1023
※ Not applicapable innfinite Turn(continuous turn)
RW
Minimum PWM = Sets Minimum Torque
※ When PWM is at maximum value, Servo at
current load outputs maximum Torque and
speed
※ When PWM is 0, Servo stopped
※ Maximum PWM value 1023
RW
Maximum PWM = Sets Maximum Torque
※ Smaller this value, Maximum Servo Torque decreases
※ When PWM is at maximum value, Servo at
current load outputs maximum Torque and
speed
※ When PWM is 0, Servo stopped
※ Maximum PWM value 1023
RW
Sets overload activation point
External force divided into 0~1023 steps,
Overload error when force > r(Overload PWM
Threshold) is exerted for period longer than
r(Overload Detection Period)
Not activated when This value is > 1023
RW
Minimum operational angle
When requested position angle is less than
r(Min. Position), “Exceed Allowed POT Limit”
activated. Actual operation is limited to
r(Min. Position)
RW
Maximum operational angle
When requested position angle is greater than
r(Max. Position), "Exceed Allowed POT Limit"
activated. Actual operation is limited to
r(Max. Position)
19
20
21
22
23
24
25
Saturator Slope
PWM Offset
Min. PWM
Max. PWM
Overload PWM
Threshold
Min. Position
Max. Position
2
1
1
2
2
2
2
18
12
20
14
21
15
22
16
24
18
26
20
28
22
27
NO
Type
Bytes
EEP ADDR
RAM ADDR
RW
26
Position Kp
2
30
24
RW
Proportional Gain
27
Position Kd
2
32
26
RW
Derivative Gain
28
Position Ki
2
34
28
RW
Integral Gain
29
Position Feedforward 1st Gain
2
36
30
RW
Refer to Pg 35
30
Position Feedforward 2nd Gain
2
38
32
RW
Refer to Pg 35
31
Reserved
2
40
34
-
Reserved
32
Reserved
2
42
36
-
Reserved
33
LED Blink Period
1
44
38
RW
Alarm LED blink period according to
policy 11.2ms
34
ADC Fault Check Period
1
45
39
RW
Temp/Voltage error check interval
1 = 11.2ms
Error activated if Temp/V error lasts longer
than the check interval
35
Packet Garbage
Check Period
RW
Incomplete packet error check interval
1 = 11.2ms
Incomplete packet is deleted if it reamains longer
than the error check interval
1
46
40
Description
36
Stop Detection
Period
1
47
41
RW
Time limit to determine if the servo has
stopped
1 = 11.2ms
Servo confirmed Stopped if stoppage lasts
past set time limit
37
Overload Detection Period
1
48
42
RW
Overload error check interval
38
Stop Threshold
1
49
43
RW
When position change is less than r(Stop Threshold),
Servo seen as having stopped
39
Inposition Margin
1
50
44
RW
Standard value to determine if goal position reached.
If deviation from goal position is less than
r(Inposition Margin) recognized as goal
position reached
40
Reserved
1
51
45
-
Reserved
41
Reserved
2
52
46
-
Reserved
42
Calibration Difference
1
53
47
RW
43
Status Error
1
-
48
RW
44
Status Detail
1
-
49
RW
45
Reserved
1
-
50
-
Reserved
46
Reserved
1
-
51
-
Reserved
47
Torque Control
1
-
52
28
RW
Used to calibrate Newtral point(POS. : 512)
Absolute position = Calibrated position +
r(Calibration Difference)
r(Calibration Difference) = Absolute position Newtral point(512)
Shows 7 different status
Refer to Pg 39
Shows 7 different status
Refer to Pg 39
Torque enable states
0x40 : Break On, 0x60 : Torque On
0x00 : Torque Free
When Torque enabled, Mode depends on
r(Current Control Mode) before Torque On.
※ r(Current Control Mode) defaults to
Position Control(0) when servo powered on
※ Torque On : Operation possible state
※ Break On : Opeation command (I_JOG,
S_JOG) not possible
※ Torque Free : Similar to Break On, Joints
manually movable.
NO
Type
Bytes
EEP ADDR
RAM ADDR
RW
Description
48
LED Control
1
-
53
RW
Servo LED control
When corresponding Bit value 1 = On, 0 = Off
(0x01 : Green, 0x02 : Blue, 0x04 : Red)
※ When alarm LED activated by r(Status Error)
and r(Alarm LED Policy). r(Led Control)
Write value ignored
49
Voltage
1
-
54
RO
Input Voltage = 0.074 X ADC
50
Temperature
1
-
55
RO
Internal Servo Temperature
51
Current Control
Mode
1
-
56
RO
Current time Servo control mode
I_JOG / S_JOG CMD Packet used to
change control mode
When Torque On using r(Torque Control),
Servo refers to r(Current Control Mode)
0 : Position Control
1 : Turn/Velocity Control(Continuous rotation)
52
Tick
1
-
57
RO
Servo operating time, Max setting 2.8672sec
0~255, 1 = 11.2ms
53
Calibrated
Position
2
-
58
RO
Calibrated position Raw Data
Refer to r(Calibration Difference)
54
Absolute Position
2
-
60
RO
Absolute position Raw Data
Angle = r(Absolute Position) X 0.325
55
Differential Position
2
-
62
RO
Shows speed measurement, interval 11.2ms
r(Diff Position)1 = 29.09deg/sec
56
PWM
2
-
64
RO
Current Torque, 1023 = Max Torque
57
Reserved
2
-
66
-
58
Absolute Goal
Position
2
-
68
RO
Absolute Goal position Raw Data
User selected Goal Position
Uncalibrated value
59
Absolute Desired
Trajectory Position
RO
Current Intermediate goal position based
on velocity Profile, Raw Data
r(Absolute Desired Trajectory Position) is
current goal position
RO
Current intermediate goal speed based
on velocity Profile, Raw Data
r(Desired Velocity) velocity required at
current time.
60
Desired Velocity
2
2
-
70
-
72
29
Reserved
Acceleration Ratio(RAM Register Address 8)
Acceleration Ratio is controlled by changing the parameter value and any change in the acceleration
ratio is applied to the decceleration ratio by exactly the same amount. The default Acceleration
Ratio parameter shows a trapezoidal type speed profile.
Velocity
※ Decreasing the acceleration ratio will lead to sudden change in speed accompanied by vibration as
shows in blue rectangle graph. Increasing the ratio will show slow increase in speed with smooth
movement as in red triangle graph.
시간
Play Time
Acceleration Time
Deceleration
Maximum Acceleration Time(RAM Register Address 9)
Controls maximum acceleration time, 1 is equaivalent to11.2ms.
Maximum acceleration time r(Maximum Acceleration Time) 254 is equivalent to 2.844sec.
※ When r(Maximum Acceleration Time) is 0, velocity Profile is rectangle.
Torque Control(RAM Register Address 52)
Controls Torque eanable states
0x40 : Break On
0x60 : Torque On
0x00 : Torque Free
When the torque is enabled, it’s mode depends on "Current Control Mode". If the servo was on Position
Control Mode when Torque ON is enabled, it will remain in that mode.
※ r(Current Control Mode) defaults to Position Control(0) when servo is first powered on
※ Control commands will only function when Torque On is enabled (I_JOG, S_JOG)
※ Control commands will not function when Break On is enabled (I_JOG, S_JOG)
※ Joints can be manually manipulated when Torque Free is enabled
LED Control(RAM Address 53)
Controls the LEDs.
When Bit value below is 1 = On, 0 = Off
0x01 : Green
30
[%OXH
[5HG
ü:KH$ODUP/('LVDFWLYDWHGE\WKHU6WDWXV(UURURUU$ODUP/('3ROLF\YDOXHLQU/('&RQWURO
LVLJQRUHG
9ROWDJH5$05HJLVWHU$GGUHVV
6KRZVWKH$'&$QDORJ'LJLWDO&RQYHUVLRQYDOXHRIWKHLQSXWYROWDJHLQUDZGDWD7KHFRQYHUVLRQ
IRUPXODWRDFWXDOYROWDJHLVVKRZQEHORZ5HIHUWRWKHYROWDJH$'&FRQYHUVLRQWDEOHLQSDJH
9ROWDJH ;$'&
7HPSHUDWXUH5$05HJLVWHU$GGUHVV
6KRZVWKH$'&$QDORJ'LJLWDO&RQYHUVLRQYDOXHRIWKHFXUUHQWWHPSHUDWXUHLQUDZGDWD
5HIHUWRWHPSHUDWXUH$'&FRQYHUVLRQWDEOHLQSDJH
&XUUHQW&RQWURO0RGH5$05HJLVWHU$GGUHVV
6KRZVWKHFXUUHQWFRQWUROPRGHRIWKHVHUYR,B-2*6B-2*&0'3DFNHWLVXVHGWRFKDQJHWKHPRGH
:KHQU7RUTXH&RQWUROLVXVHGWRFKDQJHWKHVHUYRVWDWHWR7RUTXH2QVHUYRILUVWUHIHUVWR
U&XUUHQW&RQWURO0RGH)RUH[DPSOHGDIDXOWPRGHRIWKHVHUYRZKHQLWLVILUVWSRZHUHGXSLV
Ô3RVLWLRQ&RQWURO0RGHÕDQGZKHQWKHVHUYRVWDWHLVFKDQJHGWR7RUTXH2QPRGHUHPDLQVDW
Ô3RVLWLRQ&RQWURO0RGHÕ6HUYRKDVWREHDW2IIVWDWHWRFKDQJHWKHFRQWUROPRGHWRÔ7XUQ9HORFLW\
&RQWURO0RGHÕ:LWK7RUTXH2IIXVH,B-2*6B-2*&0'WRVZLWFKWRÔ7XUQ9HORFLW\&RQWURO0RGHÕ
$IWHUWKHVZLWFKXVHU7RUTXH&RQWUROWRWRWXUQ7RUTXH2QDQGWKHPRGHZLOOKDYHVZLWFKHGWR
Ô7XUQ9HORFLW\&RQWURO0RGHÕ
3RVLWLRQ&RQWURO
7XUQ9HORFLW\&RQWURO
ü7XUQ9HORFLW\&RQWURO,QILQLWH7XUQ&RQWLQXRXV5RWDWLRQ0RGH
7LFN5$05HJLVWHU$GGUHVV
6KRZVDFWXDOOHQJWKRIWKHVHUYRWLFNWLPH7LFNWLPHFDQEHFKDQJHGIURPaWLFNWLPHUHYHUWV
EDFNWRDIWHULVHTXLYDOHQWWRPVLVHTXLYDOHQWWRVHF
&DOLEUDWHG3RVLWLRQ5$05HJLVWHU$GGUHVV
6KRZV&DOLEUDWHG3RVLWLRQLQUDZGDWD7KHUHODWLRQVKLSEHWZHHQ&DOLEUDWHG3RVLWLRQDQG$EVROXWH
3RVLWLRQLVDVIROORZV
&DOLEUDWHG3RVLWLRQ $EVROXWH3RVLWLRQU&DOLEUDWLRQ'LIIHUHQFH$GGUHVV
'HJUHH 3RVLWLRQ5DZ'DWD;
$EVROXWH3RVLWLRQ5$05HJLVWHU$GGUHVV
6KRZVXQFDOLEUDWHGFXUUHQWSRVLWLRQLQUDZGDWD5HODWLRQVKRSEHWZHHQ5DZ'DWDDQGDFWXDOGHJUHH
LVDVIROORZV
'HJUHH 3RVLWLRQ5DZ'DWD;
Ɖ
Ɖ
5HFRPPHQGHG5DQJH
Ɖ
Ɖ
)XOO5DQJH
Ɖ
'LII3RVLWLRQ5$05HJLVWHU$GGUHVV
6KRZVYHORFLW\PHDVXUHPHQWYHORFLW\LVPHDVXUHGLQPVLQWHUYDOV
üU'LII3RVLWLRQ GHJVHF
3:05$05HJLVWHU$GGUHVV
6KRZVFXUUHQW7RUTXHLQUDZGDWDPD[LPXPYDOXHLV
$EVROXWH*RDO3RVLWLRQ5$05HJLVWHU$GGUHVV
6KRZVXQFDOLEUDWHGJRDOSRVLWLRQLQUDZGDWD
$EVROXWH'HVLUHG7UDMHFWRU\3RVLWLRQ5$05HJLVWHU$GGUHVV
8QFDOLEUDWHGFXUUHQWJRDOSRVLWLRQLQ5DZ'DWD7RDUULYHDWXVHUGHVLJQDWHGDEVROXWHJRDOSRVLWLRQ
VHUYRDXWRPDWLFDOO\SODQVRXWWKHWUDMHFWRU\WRWKHJRDOSRVLWLRQXVLQJWKHYHORFLW\SURILOH$EVROXWH
'HVLUHG7UDMHFWRU\3RVLWLRQLVDÔFXUUHQWÕJRDOSRVLWLRQRULQWHUPHGLDWHJRDOSRVLWLRQWREHUHDFKHGRQ
WKHZD\WRILQDOJRDOSRVLWLRQ
5HIHUWRWKHGLDJUDPWRVHHWKHUHODWLRQVKLSEHWZHHQ$EVROXWH*RDO3RVLWLRQDQGWKH$EVROXWH'HVLUHG
7UDMHFWRU\3RVLWLRQ
Velocity
Position
Absolute Goal
Position
Play Time
Absolute Desired
Trajectory Position
Desired Velocity
Time
Command
recevied
Time
Command
recevied
Current
Current
ACK Policy(RAM Register Address 1)
Sets ACK Packet reply policy when Request Packet is received.
0 : No reply to any Request Packet
1 : Only reply to Read CMD
2 : Reply to all Request Packet
※ When the CMD is “STAT” ACK Packet will be sent regardless of r(ACK Policy).
※ There is no reply when the pID in Request Packet is 254(Broadcast pID) with an exception of
“STAT” CMD in which case reply will be sent.
Alarm LED Policy(RAM Register Address 2)
Sets Alarm LED policy when Error is detected.
When (r(LED Policy) & r(Status Error)) is TRUE, Alarm LED starts to blink, Alarm LED blink period is set
by r(LED Blink Period).
When (r(LED Policy) & r(Status Error))is TRUE, Any values written to r(LED Control) will be ignored to
prevent confusion with Error state.
Error status r(Status Error) must be resloved first for r(LED Control) to function properly.
※ ’A&B’ : Bit And Operator, 1(True) only whe A and B are both (True)
Torque Policy(RAM Register Address 3)
Sets Torque Off policy when Error is detected.
When (r(Servo Policy) & r(Status Error))is TRUE, Torque is released (Torque Off). Under the Error
condition, servo will not return to Torque ON state regardless of the value written to r(Torque Control).
Servo does not automatically revert to Torque On state even after r(Status Error)has been resolved.
Enable Torque On using r(Torque Control) after r(Status Error) has been resloved.
※ ’A&B’ : Bit And Operator, 1(True) only whe A and B are both (True)
33
0D[LPXP7HPSHUDWXUH5$05HJLVWHU$GGUHVV
0D[LPXPRSHUDWLRQDOWHPSHUDWXUHVKRZQLQ5DZ'DWD
:KHQLQWHUQDOVHUYRWHPSHUDWXUHU7HPSHUDWXUHH[FHHGVU0D[7HPSHUDWXUH
([FHHGHG7HPSHUDWXUH/LPLWLQU6WDWXV(UURUEHFRPHVDFWLYH
5HVXOWLQJ$ODUP/('DQG7RUTXHVWDWXVFDQEHFKDQJHGXVLQJU/('3ROLF\U6HUYR3ROLF\
'HIDXOWYDOXHLV[')DSSUR[LPDWOH\í5HIHUWRFRQYHUVLRQFKDUW3JIRUDFWXDOWHPHUDWXUH
üÓ$%Ó7UXHRQO\ZKH$DQG%DUHERWK7UXH
0LQLPXP9ROWDJH5$05HJLVWHU$GGUHVV
0LQLQPXPLQSXWYROWDJHVKRZQLQ5DZ'DWD
:KHQVHUYRLQSXWYROWDJHU9ROWDJHLVEHORZU0LQ9ROWDJH([FHHGHG9ROWDJH/LPLWLQ
U6WDWXV(UURUEHFRPHVDFWLYH5HVXOWLQJ$ODUP/('DQG7RUTXHVWDWXVFDQEHFKDQJHGXVLQJ
U/('3ROLF\U6HUYR3ROLF\
'HIDXOWYDOXHLV[%DSSUR[LPDWHO\95HIHUWRFRQYHUVLRQFKDUW3JIRUDFWXDOYROWDJH
0D[LPXP9ROWDJH5$05HJLVWHU㉔$GGUHVV
0D[LPXPLQSXWYROWDJHVKRZQLQ5DZ'DWD
:KHQVHUYRLQSXWYROWDJHU9ROWDJHLVH[FHHGVU0D[9ROWDJH([FHHGHG9ROWDJH/LPLWLQ
U6WDWXV(UURUEHFRPHVDFWLYH5HVXOWLQJ$ODUP/('DQG7RUTXHVWDWXVFDQEHFKDQJHGXVLQJ
U/('3ROLF\U6HUYR3ROLF\
'HIDXOWYDOXHLV[DSSUR[LPDWHO\95HIHUWRFRQYHUVLRQFKDUW3JIRUDFWXDOYROWDJH
2YHUORDG3:07KUHVKROG5$05HJLVWHU$GGUHVV
6HWVRYHUORDGDFWLYDWLRQSRLQW7KHRYHUORDGSRLQWIURPH[WHUQDOIRUFHFDQVHWIURPa
2YHUORDGDFWLYDWHVZKHQH[WHUQDOIRUFHLVJUHDWHUWKHPU2YHUORDG3:07KUHVKROG
2YHUORDGGRHVQRWDFWLYDWHZKHQWKHJLYHQYDOXHLVJUHDWHUWKDQ
0LQLPXP3RVLWLRQ5$05HJLVWHU$GGUHVV
0LQLPXPRSHUDWLRQDODQJOHLQ5DZ'DWD
:KHQUHTXHVWHGSRVLWLRQDQJOHLVOHVVWKDQU0LQ3RVLWLRQ([FHHG$OORZHG327/LPLWLQ
U0LQ3RVLWLRQEHFRPHVDFWLYHDQGWKHRSHUDWLRQLVOLPLWHGWRU0LQ3RVLWLRQ
'HIDXOWYDOXHLV[DSSUR[LPDWHO\Ɖ5HIHUWRFRQYHUVLRQFKDUJHLQ3JIRUDFWXDODQJOH
0D[LPXP3RVLWLRQ5$05HJLVWHU$GGUHVV
0D[LPXPRSHUDWLRQDODQJOHLQ5DZ'DWD
:KHQUHTXHVWHGSRVLWLRQDQJOHLVJUHDWHUWKDQU0D[3RVLWLRQ([FHHG$OORZHG327/LPLWLQ
U0D[3RVLWLRQEHFRPHVDFWLYHDQGWKHRSHUDWLRQLVOLPLWHGWRU0D[3RVLWLRQ
'HIDXOWYDOXHLV[($DSSUR[LPDWHO\Ɖ5HIHUWRFRQYHUVLRQFKDUWLQ3JIRUDFWXDODQJOH
3RVLWLRQ.S5$05HJLVWHU$GGUHVV
6KRZVWKH3URSRUWLRQDO*DLQ,QFUHDVLQJWKH3RVLWLRQ.SLQFUHDVHVWKHUHVSRQVHWLPHEXWRYHU
UHVSRQVHYLEUDWLRQRYHUVKRRWZLOOUHVXOWLIWKHLQFUHDVHLVWRRODUJH
3RVLWLRQ.G5$05HJLVWHU$GGUHVV
6KRZVWKH'HULYDWLYH*DLQ,QFUHDVLQJWKH3RVLWLRQ.GZLOOVXSSUHVVWKHRYHUUHVSRQVHYLEUDWLRQ
RYHUVKRRWIURP3RVLWLRQ.SEXWXQVWDELOLW\PD\UHVXOWLIWKHLQFUHDVHLVWRRODUJH
3RVLWLRQ.L5$05HJLVWHU$GGUHVV
6KRZVWKH,QWHUJUDO*DLQ$SSOLHGWRFRUUHFWVPDOORIIVHWLQ6WHDG\6WDWH0D\UHVXOWLQUHVSRQVH
ODJLIWKHLQFUHDVHLVWRRODUJH
3RVLWLRQ)HHGIRUZDUG.G5$05HJLVWHU$GGUHVV
6KRZV3RVLWLRQ)HHGIRUZDUGVW*DLQ$SSOLHGWRLQFUHDVH6HUYRUHVSRQVHWLPH
3RVLWLRQ)HHGIRUZDUG.GG5$05HJLVWHU$GGUHVV
6KRZV3RVLWLRQ)HHGIRUZDUGQG*DLQDSSOLHGWRLQFUHDVH6HUYRUHVSRQVHWLPH
/('%OLQN3HULRG5$05HJLVWHU$GGUHVV
6KRZVWKH$ODUP/('EOLQNSHULRGVHWE\WKH/('3ROLF\ZKHQHUURURFFXUVLVHTXLYDOHQWWRPV
'HIDXOWYDOXHLV['$SSUR[LPDWHO\PV
$'&)DXOW&KHFN3HULRG5$05HJLVWHU$GGUHVV
7HPSHUDWXUH,QSXWYROWDJHHUURUFKHFNLQWHUYDOLVHTXLYDOHQWWRPV(UURUDFWLYDWHGLIWKH
7HPHUDWXUH,QSXWYROWDJHHUURUODVWVORQJHUWKDQWKHFKHFNLQWHUYDO
'HIDXOWYDOXHLV['$SSUR[LPDWHO\PV
3DFNHW*DUEDJH&KHFN3HULRG5$05HJLVWHU$GGUHVV
,QFRPSOHWH3DFNHWHUURUFKHFNLQWHUYDOLVHTXLYDOHQWWRPV,QFRPSOHWH3DFNHWLVGHOHWHGLILW
UHPDLQVORQJHUWKDQWKHFKHFNLQWHUYDO'HIDXOWYDOXHLV[$SSUR[LPDWHO\PV
Stop Detection Period(RAM Register Address 41)
Set time limit by which the servo stoppage is measured to determine if it has stopped. 1 is equivalent
to 11.ms. If the servo stoppage lasts beyond the time limit, it is determined to be stopped.
Default value is 0x1B ( Approximately 302ms )
Overload Detection Period(RAM Register Address 42)
Set time limit by which the servo overload is measured to determine if the overload has occured.
If the overload period lasts beyond the time limit, it is determined to be overloaded.
Default value is 0x96 ( Approximately 1.68s )
Stop Threshold(RAM Register Address 43)
The servo is seen as not moving (stopped) when the position movement of the servo is less than
the r(Stop Threshold). The servo is determined to be stopped if the stoppage lasts longer than the
r(Stop Detection Period).
Inposition Margin(RAM Register Address 44)
Standard value to determine if the goal position has been reached.
Goal position is judged to have been reached if the deviation is less than r(Inposition Margin).
Saturator Offset, Saturator Slope(RAM Register Address 11, 12)
Saturation Offset and Saturation Slope work in similar manner to the PWM. However, by controlling
the limit per given section, accurate Saturator can be designed to provide flexible and elastic
response to the external force. The garph below shows the PWM with several settings.
The thick grey line show the PWM without the Saturator Offset and Slope settings. The red line
shows the actual PWM output with the Saturator Offset & Slope set. The blue dotted line shows the
boundary of the force restrained by the Saturator. The restrain by the Saturator on PWM value
increases when near the goal position and decreases when further away from the goal position.
The effect on PWM is smiliar to having a spring installed near the goal position, resulting in low
strength near the goal position and strength increasing with distance. Assuming the servo is stopped
at the goal position, Saturator allows flexible response to external force, and provides assistance
when trying to hold delicate object.
Before Saturator
Saturator
Slop
Goal
Position
-Position
-PWM
PWM Max
Dead Zone
Saturation Offset
+PWM
PWM Max
+PWM
-Position
+Position
Saturator
Slop
-PWM
36
Goal Position
After Saturator
+Position
3:02IIVHW5$0$GGUHVV
:KHQWKHSRLQWRIWKH3:0LVPRYHG3:0ZLOOLQFUHDVHRXWSXWE\WKHDPRXQWRIWKH2IIVHW
7KLVRXWSXWFRXOGEHXVHGWRDFWDVDFRPSHQVDWRULQDV\VWHPZKHUHORDGLVRQRQHVLGH
([*UDYLW\%\PRYLQJWKHSRLQWFRQVWDQWIRUFHGLUHFWHGWRZDUGVSRQWFDQDSSOLHG
)RUFHSXUVKLQJXSZDUGVZKHQ
SRVLWLRQUHDFKHG
3:0
3:0
2IIVHW
3RVLWLRQ
3RVLWLRQ
*RDO
3RVLWLRQ
3:0
%HIRUHVHWWLQJ
$IWHUVHWWLQJ
0LQLPXP3:05$05HJLVWHU$GGUHVV
3:0RXWSXWYDOXHGRHVQRWIDOOEHORZWKHU0LQ3:00LQLPXP3:0LVXVHGZKHQWKHUHLVMHUN\
PRYHPHQWGXHWRWLJKWILWWLQJRUIULFWLRQLQWKHVHUYRDSSOLFDWLRQV\VWHPEXWDVVLJQLQJ0LQLPXP3:0
WKDWLVWRRODUJHPD\OHDGWRXQVWDEOHV\VWHP
0D[LPXP3:05$05HJLVWHU$GGUHVV
3:0RXWSXWYDOXHGRHVQRWH[FHHGU0D[3:0%DWWHU\OLIHFRXOGEHLQFUHDVHGE\OLPLWLQJWKH
0D[LPXP3:0EXWLWZLOODOVRGHFUHDVHWKHPD[LPXPVHUYRWRUTXH
5HODWLRQVKLSEHWZHHQ6DWXUDWRU3:0
3:0UHVXOWVLQVHUYRRXWSXW$VVHHQLQWKHJUDSKDWQH[WSDJHWKHUHDUHVHYHUDOSDUDPHWHUV
FRQWUROOLQJWKHVHUYRRXWSXW7KHVHSDUDPHWHUVFDQEHPDQLSXODWHGWREXLOGRSWLPXPVHUYRV\VWHP
7RVHHWKHFKDUDFWHULVWLFVRIHDFKSDUDPHWHUUHIHUWRWKHGHWDLOHGH[SODQDWLRQVHFWLRQLQWKHPDQXDO
+PWM
Dead Zone
r(Saturator Offset)
r(PWM MIN)
+Position
r(PWM MIN)
Goal Position
r(Saturator Offset)
r(Saturator Slop)/256
-PWM
+PWM
+Position
PWM limited by Dead Zone
Goal Position
Saturator
Saturator output PWM
-PWM
Final output PWM
PWM limited by Saturator
Calibration Difference(RAM Register Address 47)
Used to calibrate newtral point(standard). Used to make adjustments to compensate for assembly
variations when servos are used to build a system. Calibrated Difference is calculated by
following formula
Calibrated Position= Absolute Position - Calibration Difference
Calibration Difference
Calibrated Position
(ADC=512)
Absolute Position
(ADC=512)
38
Status Error, Status Details(RAM Register Address 48, 49)
Status
REG (Status Error)
Bits
7
6
Bits Value
5
4
3
2
REG (Status Detail)
1
0
Bits
Comment
7
6
Bits Value
5
4
3
2
1
0
Comment
0
0X01
Exceed Input Voltage limit
0
0X01
Moving flag
1
0X02
Exceed allowed POT limit
1
0X02
Inposition flag
2
0X04
Exceed Temperature limit
2
0X04
Checksum Error
3
0X08
Invalid Packet
3
0X08
Unknown Command
4
0X10
Overload detected
4
0X10
Exceed REG range
5
0X20
Driver fault detected
5
0X20
Garbage detected
6
0X40
EEP REG distorted
6
0X40
MOTOR_ON flag
7
0X80
reserved
7
0X80
reserved
※ LED Policy, Servo Policy : Same as above
※ LED Policy : When Check bit error occurs,
LED(RED) blinks consistently
※ Servo Policy : When Check bit error occurs,
Torque is released to Freerun state
※ When Invalid Packet occurs, detailed
information is record in Status Detail Register
※ Moving/Inposition/MOTOR_ON flag are
Read only.
※ MOTOR_ON : Torque ON
Yellow lines above points to error detail when Status Error shows Invalid Packet(0x08).
Invalid Packet can be divided into 5 different causes, 4 shows in the Status Detail and other.
Portions of Status Detail are Read only but can be Written to by the Protocol.
Read only values are just ignored not actually Written to.
39
5. Command Set
To control the Servo, CMD is sent to the servo from the Controller in Binary
format. Our servos are controlled by 9 different CMDs. Once the Servo receives
Request Packet with included CMD, Servo performs requested operation and returns
the result to the Controller by ACK Packet.
5-1. [To Servo Module] - Request Packet
Type
CMD
Explanation
EEP_WRITE
0x01
Write Length number of values to EEP Register Address
EEP_READ
0x02
Request Length number of values from EEP Register Address
May not reply, depending on r(ACK Policy)
RAM_WRITE
0x03
Write Length number of values to RAM Register Address
RAM_READ
0x04
Request Lenght number of values from RAM Register Address
May not reply, depending on r(ACK Policy)
I_JOG
0x05
Able to send JOG command to maximum 43 servos.
I_JOG can set the operation timing of individual Servo
I_JOG Refer to Pg 48 for details
S_JOG
0x06
Able to send JOG command to maximum 53 servos.
S_JOG All the Servos operate simultaneously at same time
S_JOG Refer to Pg 48 for details
STAT
0x07
Status Error, Status Detail request
Always send reply reagardless of r(ACK Policy)
ROLLBACK
0x08
Change all EEP Regsters to Factory Default value
Apply changes after power reset
ID, and Baud Rate maybe exempt from Factory Default
depending on ID Skip and Baud Skip setting.
REBOOT
0x09
Request Reboot
5-2. [To Controller(ACK)] - ACK Packet
Type
CMD
Meaning
EEP_WRITE
0x41
CMD(0x01) Reply Packet
Default is no reply, Reply possible by changing r(ACK Policy) setting
EEP_READ
0x42
Repy with “n” number of values from EEP Register Address
May not reply depending on r(ACK Policy) setting
40
7\SH
&0'
([SODQDWLRQ
5$0B:5,7(
[
&0'[5HSO\3DFNHW
'HIDXOWLVQRUHSO\UHSO\SRVVLEOHE\FKDQJLQJU$&.3ROLF\VHWWLQJ
5$0B5($'
[
&0'[5HSO\3DFNHW
0D\QRWUHSO\GHSHQGLQJRQU$&.3ROLF\VHWWLQJ
,B-2*
[
&0'[5HSO\3DFNHW
'HIDXOWLVQRUHSO\UHSO\SRVVLEOHE\FKDQJLQJU$&.3ROLF\VHWWLQJ
6B-2*
[
&0'[5HSO\3DFNHW
'HIDXOWLVQRUHSO\UHSO\SRVVLEOHE\FKDQJLQJU$&.3ROLF\VHWWLQJ
67$7
[
U6WDWXV(UURU6WDWXV'HWDLO5HSO\$OZD\V5HSO\UHJDGOHVVRIU$FN3ROLF\
52//%$&.
[
&0'[5HSO\3DFNHW
'HIDXOWLVQRUHSO\UHSO\SRVVLEOHE\FKDQJLQJU$&.3ROLF\VHWWLQJ
5(%227
[
&0'[5HSO\3DFNHW
'HIDXOWLVQRUHSO\UHSO\SRVVLEOHE\FKDQJLQJU$&.3ROLF\VHWWLQJ
ü$&.RSWLRQFKDQJHDEOHE\XVLQJU$&.3ROLF\
ü$&.3DFNHW&0'LV5HTXHVW3DFNHW&0'[
ü/DVW%\WHVRIWKH$&.3DFNHWLQFOXGHVU6WDWXV(UURU6WDWXV'HWDLO
&0'&RPPDQG'HWDLOHG([SODQDWLRQ
&0'
([SODQDWLRQ
((3B5($'
5HTXHVWWRUHDG/HQJWKRIYDOXHVIURP((35HJLVWHU$GGUHVV
2SWLRQDO'DWDOHQJWKLV
5$0B5($'
5HTXHVWWRUHDG/HQJWKRIYDOXHVIURP5$05HJLVWHU$GGUHVV
2SWLRQDO'DWDOHQJWKLV
((3B:5,7(
5HTXHVWWRZULWH/HQJWKRIYDOXHVWR((35HJLVWHU$GGUHVV
2SWLRQDO'DWDOHQJWKLV$GGUHVV/HQJWK%\WHHDFK/HQJWK%\WH
5$0B:5,7(
5HTXHVWWRZULWH/HQJWKRIYDOXHVWR5$05HJLVWHU$GGUHVV
2SWLRQDO'DWDOHQJWKLV$GGUHVV/HQJWK%\WHHDFK/HQJWK%\WH
,B-2*
6HQGLQVWUXFWLRQVWRPXOWLSOHVHUYRVVLPXOWDQHRXVO\DEOHWRVHWSRVLWLRQWLPHWRHDFKVHUYR
LQGHSHQGHQOWO\$EOHWRVHWJRDOSRVLWLRQWLPHDUULYDOWLPHWRHDFKLQGHSHQGHQWO\
,B-RJUHTXLUHV%\WHVRIGDWDIRUHDFKVHUYR2SWLRQDO'DWDOHQJWKRI%\WHVUHTXLUHG
LIVHQGLQJLQVWUXFWLRQVWRVHUYRVVLPXOWDQHRXVO\
6B-2*
$EOHWRVHQGLQVWUXFWLRQVWRPXOWLSOHVHUYRVVLPXOWDQHRXV\$OOVHURYVKDYHVDPH
RSHUDWLRQDOWLPLQJ$OOVHUYRVDUULYHDWJRDOSRVLWLRQDWVDPHWLPH
6B-RJUTXLUHVE\WHIRU3OD\WLPHDQG%\WHVIRUHDFKVHUYR2SWLRQDO'DWDOHQJWKRI
%\WHVUHTXLUHGLIVHQGLQJLQVWUXFWLRQVWRVHUYRVVLPXOWDQHRXVO\
67$7
52//%$&.
5(%227
5HTXHVW6HUYR6WDWXVU6WDWXV(UURU6WDWXV'HWDLO
67$73DFNHWDOZD\VUHFHLYHUHSO\
&KDQJHDOOYDOXHVLQ((3B5HJLVWHUWR)DFWRU\GHIDXOWYDOXH
,'DQG%DXG5DWHPD\EHH[HPSWHGIURP)DFWRU\'HIDXOWE\XVLQJ,'6NLS%DXG6NLS%\WH
5HERRW6HUYR
6. Command Examples
6-1. EEP_READ
Request 4 Bytes of information from EEP Register 0x1E Address of Servo ID(253). 4 Bytes from
EEP Register 0x1E Address are e(Position Kp)and e(Position Kd).
Header
EEP_READ
Example1
Packet Size
pID
CMD
0
1
2
3
4
0xFF
0xFF
9
Servo ID
0x02
0xFF
0xFF
0x09(9)
0xFD
0x02
Check Sum1
Check Sum2
5
6
EEP_READ
(Refer to Checksum formula)
Example1
0XEC
0X12
Data
7
8
Data[0]
Data[1]
0x1E
0x04
(Address)
(Length)
EEP READ
Request to read Length # of values from EEP Register Address. Data length is 2Bytes
( Address 1Byte + Length 1Byte )
Packet Size
7(Standad Size)+2(Data length)
pID
EEP READ CMD
Servo ID 0xFD(253)
0x02 (Refer to Pg 40)
CHECKSUM1 Formula
Checksum1 = (PacketSize ^ pID ^ CMD ^ Data[0] ^ Data[1]) & 0xFE
DATA[0]
Refers to starting address of EEP Register being Read, 0x1E(30) in the example is starting address
of Position Kp.
DATA[1]
Data[1], Refers to number of Bytes to be READ from the starting address, 0x04 in the example
means 4Bytes will be read. In other words, 4Bytes from Position Kp starting address will be read,
Position Kp(2Bytes variable)and Position Kd(2Bytes variable) will be read.
42
$&.3DFNHW
((3B5($'
$&.RI([DPSOH
+HDGHU
3DFNHW6L]H
S,'
&0'
&KHFN6XP
&KHFN6XP
[%
[))
[))
[)
[)'
[
[&
'DWD
'DWD>@
'DWD>@
'DWD>@
'DWD>@
'DWD>@
'DWD>@
/HQJWK
'DWD>@
'DWD>@
$GGUHVV
6WDWXV(UURU
6WDWXV'HWDLO
[(
[
[%
[
[
[)
[
[
&0'5HTXHVW3DFNHW&0'[[5HSO\ZLWK[
H3RVLWLRQ.S[%
3RVLWLRQ.G[)
/DVW%\WHVRIDOO$&.3DFNHWFRQWDLQ6WDWXV(UURU%\WHDQG6WDWXV'HWDLO%\WH
((3B:5,7(
,'H3RVLWLRQ.S.G$GGUHVV[( %\WHV5HJLVWHU.S [&
.G [(:ULWH
+HDGHU
((3B:5,7(
([DPSOH
3DFNHW6L]H
S,'
&0'
&KHFN6XP
&KHFN6XP
[))
[))
/HQJWK
6HUYR,'
[
[))
[))
['
[)'
[
5HIHUWR&KHFNVXP)RUPXOD
;&
;
'DWD
'DWD>@
'DWD>@
$GGUHVV
/HQJWK
'DWD>@
'DWD>@
'DWD>@
'DWD>@
[(
[
;&
;
;(
;
'DWD>@a'DWD>@
'DWD>@'DWD>@ZLOOEHFKDQJHGWRH3RVLWLRQ.SDQG'DWD>@'DWD>@ZLOOEHFKDQJHGWR
H3RVLWLRQ.G<RXPXVWLQSXW%\WHLQUHYHUVHRUGHUE\/LWWOH(QGLDQUXOH
ü5HIHUWR3DJHVIRU/LWWOH(QGLDQ
((35HJLVWHU
7RDSSO\FKDQJHG((35HJLVWHUYDOXH6HUYRKDVWREHUHERRWILUVW
5$0B:5,7(
([DPSOH
,'U/('&RQWURO$GGUHVV[5HTXHVW*UHHQ/('2Q
([DPSOH
,'U6WDWXV(UURU6WDWXV'HWDLO5HTXHVWWR&OHDU$GGUHVV[WR
([DPSOH
,'U7RUTXH&RQWURO5HTXHVWWRZULWH[WR$GGUHVV[IRU7RUTXH2Q
ü0DNHVXUHWRKDYH7RUTXH2QEHIRUH,B-2*6B-2*FRPPDQGWRDYRLGHUURU
+HDGHU
5$0B:5,7(
3DFNHW6L]H
S,'
&0'
&KHFN6XP
&KHFN6XP
[))
[))
/HQJWK
6HUYR,'
[
([DPSOH
[))
[))
[$
[)'
[
[&
[(
([DPSOH
[))
[))
[%
[)'
[
[&
[
([DPSOH
[))
[))
[$
[)'
[
[$
[(
5HIHUWR&KHFNVXP)RUPXOD
2SWLRQDO'DWD
'DWD>@
'DWD>@
$GGUHVV
/HQJWK
'DWD>@
'DWD>@
[
[
[
[
[
[
[
[
[
[
5$0B5($'
([DPSOH
,'5HDG%\WHIURP$GGUHVV[$GGUHVVHG5HJLVWHULVU/('&RQWURO
RAM_READ ACK
Reply to RAM_READ(CMD 0x04)with Packet, reply CMD is 0x44, last 2Bytes of All ACK Packet
contain r(Status Error) and r(Status Detail). ACK Packet reply option can be changed by r(ACK Policy)
Data[2]
0x01 is r(LED Control) value, it means Green LED is on.
Data[3]
Data[3] is Status Error: No Error, Data[4] 0x42 means Torque On and Inposition,
Arrived at goal position.
Header
RAM_READ
Packet Size
pID
CMD
Check Sum1
Check Sum2
5
6
0
1
2
3
4
0xFF
0xFF
7+(2+Length)
Servo ID
0x03
Example1
0xFF
0xFF
0x09(9)
0xFD
0x04
0xC4
0x3A
RAM_READ
ACK
0xFF
0xFF
0x0C(12)
0xFD
0x44
0xC2
0x3C
(Refer to Checksum Formula)
Optional Data
7
8
9
10
11
Data[0]
Data[1]
(Length)
Data[2]
Data[3]
Data[4]
0x35
0x01
-
-
-
0x35
0x01
0x01
0x00
0x42
(Address)
6-5. I_JOG
Example 1
ID(253), Position Control, Position Goal 512, Green LED On, Operating Time(60 : 672ms)
Example 2
ID(253), Continuous Rotation, Goal Speed 320, Blue LED On, Operating Time(60 : 672ms)
45
+HDGHU
,B-2*
3DFNHW6L]H
S,'
&0'
&KHFN6XP
&KHFN6XP
[))
[))
[,B-2*
6HUYR,'
[
([DPSOH
[))
[))
[&
[)'
[
[
[&&
([DPSOH
[))
[))
[&
[)'
[
[(
[
5HIHUWR&KHFNVXP)RUPXOD
2SWLRQDO'DWD
,B-2*B6
-2*/6%
-2*06%
6(7
,'
SOD\WLPH
[
[
[
[)'
[&
[
[$
[$
[&
5HIHUWR3DFNHWVWUXFWXUHEHORZIRUH[SODQDWLRQRIHDFK%LWLQ,B-2*
$EOHWRXVH6WUXFWXUHDVEHORZIRUFRQYHQLHQFH
/6%/HDVW6LJQLILFDQW%LWILUVWIRU%LWYDOXH
([DPSOH6(7[LV3RVLWLRQ&RQWURO*UHHQ/('2Q
W\SHGHIVWUXFW
^
LQW
XQVLJQHGLQW
L-RJ'DWD
XL5HVHUYHG
XQVLJQHGLQW
XQVLJQHGLQW
XQVLJQHGLQW
XQVLJQHGLQW
XQVLJQHGLQW
XL6WRS XL0RGH XL/(' XL-RJ,QYDOLG
XL5HVHUYHG
3RVLWLRQ&RQWURO
*UHHQ%OXH5HG
XQVLJQHGLQW
XF,'
XQVLJQHGFKDU
`,-2*B7$*
XF-RJ7LPHBPV
ü%LW9DULDEOHVL]HRUELWILHOGPD\YDU\GHSHQGLQJRQWKHFRPSLOHURUFRPSLOHUVHWWLQJ
7KHDERYHH[DPSOHXVHVELWYDULDEOH7KHVWUXFWXUHE\WHDOLJQPHQWRIWKHSURFHVVPD\
YDU\DVZHOO7KHDERYHH[DPSOHXVHVE\WHDOLJQPHQWDVVWDQGDUG
6B-2*
([DPSOH
,'3RVLWLRQ&RQWURO*RDO3RVLWLRQ5HG/('2Q2SHUDWLQJ7LPHPV
([DPSOH
,'&RQWLQXRXV5RWDWLRQ*RDO6SHHG%OXH/('2Q2SHUDWLQJ7LPHPV
Header
S_JOG
Packet Size
pID
CMD
Check Sum1
Check Sum2
5
6
0
1
2
3
4
0xFF
0xFF
7+(5XI_JOG #)
Servo ID
0x06
Example1
0xFF
0xFF
0x0C(12)
0xFD
0x06
0x30
0xCE
Example2
0xFF
0xFF
0x0C(12)
0xFD
0x06
0xFE
0x00
(Refer to Checksum Formula)
Optional Data
7
8
PLAY TIME
9
10
11
S_JOG_S(0)
JOG(LSB)
JOG(MSB)
SET
ID
0x3C(60)
0x00
0x02
0x04
0xFD
0x3C(60)
40
0x01
0x0A
0x0A
Refer to Packet structure below for explanation of each Bit in S_JOG
Able to use Structure as below for convenience
LSB(Least Significant Bit) first for Bit value
Example1 SET(0x04) is Position Control, Green LED On
typedef struct
{
int
unsigned int
iJogData
uiReserved1
: 15;
: 1;
unsigned int
unsigned int
unsigned int
unsigned int
unsigned int
uiStop
uiMode
uiLED
uiJogInvalid
uiReserved2
: 1;
: 1; //1 : Speed Control
: 3; //Green, Blue, Red
: 1;
: 2;
ucID
: 8;
unsigned int
} SJOG_TAG
※ Bit Variable size or bit field may vary depending on the compiler or compiler setting,
The above example uses 16 bit variable. The structure byte alignment of the process may
vary as well. The above example uses 1byte alignment as standard.
47
I_JOG, S_JOG Packet Structure
I_JOG_TAG
Type
JOG
Information
Bytes Bits
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
2
S_JOG_TAG
Comments
JOG
ID
1
Playtime
1
Valid Range : 0~0XFE
1
Information
Bytes Bits
Case) JOG
Desired Goal POS
(Calibration applied)
Case) Infinite turn
Desired PWM
※ Infinite turn Sign :
0X4000 MEMS Negative
Sig@Infinite turn
Reserved=0
Stop flag
MODE
LED GREEN
LED BLUE
LED RED
JOG Invalid(No Action)
Reserved=0
Reserved=0
Valid Range : 0~0XFE
SET
Type
SET
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
2
1
ID
1
MODE
0
1
Case) JOG
Desired Goal POS
(Calibration applied)
Case) Infinite turn
Desired PWM
※ Infinite turn Sign :
0X4000 MEMS Negative
Sig@Infinite turn
Reserved=0
Stop flag
MODE
LED GREEN
LED BLUE
LED RED
JOG Invalid(No Action)
Reserved=0
Reserved=0
Valid Range : 0~0XFE
Comments
Position Control JOG
Infinite turn (Continuous Rotation)
6-7. STAT
ID(253) Resquest Status
ACK Packet Data[0] refers to Status Error and means no Error
Data[1] refers to Status Detail 0x40 Torque On
※ Refer to Page 39 for detailed information on Status Error and Status Detail.
48
Comments
Header
STAT
Packet Size
pID
CMD
Check Sum1
Check Sum2
5
6
0
1
2
3
4
0xFF
0xFF
7
Servo ID
0x07
Example2
0xFF
0xFF
0x07
0xFD
0x07
0xFC
0x02
STAT ACK
0xFF
0xFF
0x09
0xFD
0x47
0xF2
0x0C
(Refer to Pg 20)
Optional Data
7
8
Data[0]
Data[1]
0x00
0x40
0x00
0x40
6-8. ROLLBACK
ID(253) ROLLBACK(Factory Default), ID and Baud Rate excepted
ROLLBACK ACK
When r(ACK Policy) is set to "2" meaning "Always Reply" Send ACK Packet
Header
ROLLBACK
Packet Size
pID
CMD
Check Sum1
Check Sum2
5
6
0
1
2
3
4
0xFF
0xFF
9
Servo ID
0x08
Example1
0xFF
0xFF
0x09
0xFD
0x08
0xFC
0x02
ROLLBACK ACK
0xFF
0xFF
0x09
0xFD
0x48
0xFC
0x02
Optional Data
7
8
Data[0]
Data[1]
ID Skip
Band Skip
1
1
00
0x40
49
(Refer to Pg 20)
6-9. REBOOT
ID(254) Reboot
REBOOT ACK
When r(ACK Policy) is set to "2" meaning "Always Reply" Send ACK Packet
Header
REBOOT
Packet Size
pID
CMD
Check Sum1
Check Sum2
5
6
0
1
2
3
4
0xFF
0xFF
7
Servo ID
0x09
Example1
0xFF
0xFF
0x07
0xFD
0x09
0xF2
0x0C
REBOOT ACK
0xFF
0xFF
0x09
0xFD
0x49
0xBC
0x42
Optional Data
7
8
Data[0]
Data[1]
-
-
0x00
0x00
50
(Refer to Pg 20)
Reference
HerkuleX Manager Kit Circuit Diagram
LOGIC 5V
AOT_0603P_R01
LED2
10K
R2
10K
R1
TTL_TX
TTL_RX
LED4
AOT_0603P_G01Z
PC
U5
TTL_RX
12
8
TTL_TX
VIN
11
10
BP2
1
J2
1
2
3
4
YW200-04 (연호)
100n/25V
TTL_TX
BP10
VIN
BP9
1u/16V
BP8
1u/16V
3
4
TTL_RX
5
R1OUT
R2IN
R1IN
R2OUT
T1IN
T2IN
T1OUT
T2OUT
13
9
14
7
RS232_RX
4
RS232_TX
3
2
LOGIC 5V
C1+
C1C2+
VCC
V+
V-
C2-
GND
PJ_208_2.5PI
J22
16
2
6
15
MAX3232E/TSSOP
BP5
BP6
1u/16V
1u/16V
BP7
100n/25V
J3
1
2
3
4
100n/25V
TTL_TX
TTL_RX
YW200-04 (연호)
LOGIC 5V
VIN
VIN
U8
NJM2872/SOT-23-5
TC7
33/16/B
R3
10K
3
VIN
CTRL
VOUT
GND
1
NB
5
4
BP11
1u/16V
51
BP14
1u/16V
$'&9ROWDJH&RYHUVLRQ&KDUW
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
9,1
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$'&
'HFLPDO +(;
9,1
$
%
&
'
(
)
$
%
&
'
(
)
$
$
$
$
$
$
$
$
$
$
$$
$%
$&
$'
$(
$)
%
%
%
%
%
%
%
%
%
%
%$
%%
%&
%'
%(
%)
9,1
$'&
'HFLPDO +(;
&
&
&
&
&
&
&
&
&
&
&$
&%
&&
&'
&(
&)
'
'
'
'
'
'
'
'
'
'
'$
'%
'&
''
'(
')
(
(
(
(
(
(
(
(
(
(
($
(%
(&
('
((
()
)
)
)
)
)
)
)
)
)
)
)$
)%
)&
)'
)(
))
9,1
$'&7HPSHUDWXUH&RYHUVLRQ&KDUW
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
í
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$'&
'HFLPDO +(;
í
$
%
&
'
(
)
$
%
&
'
(
)
$
$
$
$
$
$
$
$
$
$
$$
$%
$&
$'
$(
$)
%
%
%
%
%
%
%
%
%
%
%$
%%
%&
%'
%(
%)
&
&
&
&
&
&
&
&
&
&
&$
&%
&&
&'
&(
í
$'&
'HFLPDO +(;
&)
'
'
'
'
'
'
'
'
'
'
'$
'%
'&
''
'(
')
(
(
(
(
(
(
(
(
(
(
($
(%
(&
('
((
()
)
)
)
)
)
)
)
)
)
)
)$
)%
)&
)'
)(
))
í
$'&3RVLWLRQ&RYHUVLRQ&KDUW
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
GHJUHH
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$'&
'HFLPDO +(;
GHJUHH
$
%
&
'
(
)
$
%
&
'
(
)
$
$
$
$
$
$
$
$
$
$
$$
$%
$&
$'
$(
$)
%
%
%
%
%
%
%
%
%
%
%$
%%
%&
%'
%(
%)
&
&
&
&
&
&
&
&
&
&
&$
&%
&&
&'
&(
GHJUHH
$'&
'HFLPDO +(;
&)
'
'
'
'
'
'
'
'
'
'
'$
'%
'&
''
'(
')
(
(
(
(
(
(
(
(
(
(
($
(%
(&
('
((
()
)
)
)
)
)
)
)
)
)
)
)$
)%
)&
)'
)(
))
$
%
&
'
(
)
GHJUHH
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
GHJUHH
$'&
'HFLPDO +(;
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
$
$
$
$
$
$
$
$'&
'HFLPDO +(;
GHJUHH
$
$
$$
$%
$&
$'
$(
$)
%
%
%
%
%
%
%
%
%
%
%$
%%
%&
%'
%(
%)
&
&
&
&
&
&
&
&
&
&
&$
&%
&&
&'
&(
&)
'
'
'
'
'
'
'
'
'
'
'$
'%
'&
''
'(
')
(
(
(
(
(
(
(
(
(
(
($
(%
(&
('
((
()
)
)
GHJUHH
$'&
'HFLPDO +(;
)
)
)
)
)
)
)
)
)$
)%
)&
)'
)(
))
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
GHJUHH
$'&
'HFLPDO +(;
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
GHJUHH
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
$
$
$
$
$
$
$
$
$
$$
$%
$&
$'
$(
$)
%
%
%
%
%
%
%
%
%
%
%$
%%
%&
%'
%(
%)
&
&
&
&
&
&
&
&
&
&
&$
&%
&&
&'
&(
&)
$'&
'HFLPDO +(;
GHJUHH
'
'
'
'
'
'
'
'
'
'
'$
'%
'&
''
'(
')
(
(
(
(
(
(
(
(
(
(
($
(%
(&
('
((
()
)
)
)
)
)
)
)
)
)
)
)$
)%
)&
)'
)(
))
$
%
&
'
(
)
GHJUHH
$'&
'HFLPDO +(;
GHJUHH
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$'&
'HFLPDO +(;
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
%
&
'
(
)
$
$
$
$
$
$
$
$
$
$
$$
$%
$&
$'
GHJUHH
$'&
'HFLPDO +(;
$(
$)
%
%
%
%
%
%
%
%
%
%
%$
%%
%&
%'
%(
%)
&
&
&
&
&
&
&
&
&
&
&$
&%
&&
&'
&(
&)
'
'
'
'
'
'
'
'
'
'
'$
'%
'&
''
'(
')
(
(
(
(
(
(
(
(
(
(
($
(%
(&
('
((
()
)
)
)
)
)
)
)
)
$'&
'HFLPDO +(;
GHJUHH
)
)
)$
)%
)&
)'
)(
))
GHJUHH