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[GWU`[GU o ZZU]GXUZYGU Y`GXUX[GU ÞX[GÞWU\\GU `U^ WUZ_GU ÞX`GÞWU^\GU Y_UZGXUXXGU [\GXU^^GU XWU^ WU[YGU Z WUXXGU X_GXU[YGU ZXGXUYYGU ü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