Last modified by Eric Nantel on 2025/06/06 07:47

From version < 45.1 >
edited by Coleman Benson
on 2018/06/29 12:18
To version < 56.1 >
edited by RB1
on 2018/09/14 16:02
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -xwiki:XWiki.CBenson
1 +xwiki:XWiki.RB1
Content
... ... @@ -39,7 +39,7 @@
39 39  
40 40  Results in the servo rotating from the current angular position to a pulse position of 1456 in 1263 milliseconds.
41 41  
42 -Modified commands are command specific.
42 +Action modifiers can only be used with certain commands.
43 43  )))
44 44  
45 45  (((
... ... @@ -105,6 +105,30 @@
105 105  #5QSR<cr> would return *5QSR4<cr> which represents the value for that session.
106 106  
107 107  #5QSR1<cr> would return *5QSR20<cr> which represents the value in EEPROM
108 +
109 +=== Virtual Angular Position ===
110 +
111 +{In progress}
112 +
113 +A "virtual position" is one which allows for multiple rotations of the output horn, moving the center position and more. The "absolute position" would be the angle of the output shaft with respect to 360.0 degrees.
114 +
115 +[[image:LSS-servo-positions.jpg]]
116 +
117 +Example: Gyre direction / rotation is positive (clockwise), and origin offset has not been modified. Each square represents 30 degrees.
118 +
119 +#1D-300<cr> The servo is sent a command to move to -30.0 degrees (green arrow)
120 +
121 +#1D2100<cr> This second position command is sent to the servo, which moves it to 210.0 degrees (orange arrow)
122 +
123 +#1D-4200<cr> This next command rotates the servo counterclockwise to a position of -420 degrees (red arrow), which means one full rotation of 360 degrees,  stopping at an absolute position of 60.0 degrees (420.0-360.0), with a virtual position of -420.0 degrees.
124 +
125 +Although the final physical position would be the same as if the servo were commanded to move to -60.0 degrees, the servo is in fact at -420.0 degrees.
126 +
127 +#1D4800<cr> This new command is sent which would then cause the servo to rotate from -420.0 degrees to 480.0 degrees (blue arrow), which would be a total of 900 degrees of clockwise rotation, or 2.5 complete rotations.
128 +
129 +#1D3300<cr> would cause the servo to rotate from 480.0 degrees to 330.0 degrees (yellow arrow).
130 +
131 +If / once the servo loses power or is power cycled, it also loses the virtual position associated with that session. For example, if the virtual position was 480.0 degrees before power is cycled, upon power up the servo's position will be read as +120.0 degrees from zero (assuming center position has not been modified).
108 108  )))
109 109  
110 110  = Command List =
... ... @@ -125,10 +125,10 @@
125 125  | 11|**W**heel mode in **R**PM| WR| QWR| | | ✓| rpm|
126 126  | 12|Max **S**peed in **D**egrees| SD| QSD| CSD| ✓| ✓| tenths of degrees per second (ex 248 = 24.8 degrees per second)|QSD: Add modifier "2" for instantaneous speed
127 127  | 13|Max **S**peed in **R**PM| SR| QSR| CSR| ✓| ✓| rpm|QSR: Add modifier "2" for instantaneous speed
128 -| 14|**A**ngular **S**tiffness| AS| QAS| CAS| ✓| ✓|none|
152 +| 14|**A**ngular **S**tiffness| AS| QAS| CAS| ✓| ✓|none|-4 to +4, but suggested values are between 0 to +4
129 129  | 15|//N/A (removed)//| | | | | | |
130 130  | 16|**LED** Color| LED| QLED| CLED| ✓| ✓| none (integer from 1 to 8)|0=OFF 1=RED 2=GREEN 3= BLUE 4=YELLOW 5=CYAN 6=MAGENTA, 7=WHITE
131 -| 17|**ID** #| ID| QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to
155 +| 17|**ID** #| | QID| CID| | ✓| none (integer from 0 to 250)|Note: ID 254 is a "broadcast" which all servos respond to
132 132  | 18|**B**aud rate| B| QB| CB| | ✓| none (integer)|
133 133  | 19|**G**yre direction (**G**)| G| QG| CG| ✓| ✓| none | Gyre / rotation direction where 1= CW (clockwise) -1 = CCW (counter-clockwise)
134 134  | 20|**F**irst Position (**P**ulse)| | QFP|CFP | ✓| ✓| none |
... ... @@ -141,8 +141,15 @@
141 141  | 27|**V**oltage| | QV| | | ✓| tenths of volt (ex 113 = 11.3V; 92 = 9.2V)|
142 142  | 28|**T**emperature| | QT| | | ✓| degrees Celsius|Max temp before error: 85°C (servo goes limp)
143 143  | 29|**C**urrent| | QC| | | ✓| tenths of Amps (ex 2 = 0.2A)|
144 -| 30|**RC** Mode| | |CRC| |✓| |Puts the servo into RC mode. To revert to serial mode, use the button menu.
145 -| | | | | | | | |
168 +| 30|**RC** Mode| | |CRC| |✓| |(((
169 +CRC: Add modifier "1" for RC-position mode.
170 +CRC: Add modifier "2" for RC-wheel mode.
171 +Any other value for the modifier results in staying in smart mode.
172 +Puts the servo into RC mode. To revert to smart mode, use the button menu.
173 +)))
174 +|31|**RESET**| | | | | ✓|none|Soft reset. See command for details.
175 +|32|**DEFAULT**| | | | |✓|none|Revert to firmware defaults. See command for details
176 +|33|**UPDATE**| | | | |✓|none|Update firmware. See command for details.
146 146  
147 147  = Details =
148 148  
... ... @@ -428,7 +428,7 @@
428 428  
429 429  __20. First / Initial Position (pulse)__
430 430  
431 -In certain cases, a user might want to have the servo move to a specific angle upon power up. We refer to this as "first position". The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. FP and FD are different in that FP is used for RC mode only, whereas FD is used for serial mode only.
462 +In certain cases, a user might want to have the servo move to a specific angle upon power up. We refer to this as "first position". The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. FP and FD are different in that FP is used for RC mode only, whereas FD is used for smart mode only.
432 432  
433 433  Query First Position in Pulses (**QFP**)
434 434  
... ... @@ -444,7 +444,7 @@
444 444  
445 445  __21. First / Initial Position (Degrees)__
446 446  
447 -In certain cases, a user might want to have the servo move to a specific angle upon power up. We refer to this as "first position". The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. FP and FD are different in that FP is used for RC mode only, whereas FD is used for serial mode only.
478 +In certain cases, a user might want to have the servo move to a specific angle upon power up. We refer to this as "first position". The factory default has no first position value stored in EEPROM and therefore upon power up, the servo remains limp until a position (or hold command) is assigned. FP and FD are different in that FP is used for RC mode only, whereas FD is used for smart mode only.
448 448  
449 449  Query First Position in Degrees (**QFD**)
450 450  
... ... @@ -456,7 +456,7 @@
456 456  
457 457  Ex: #5CD64<cr>
458 458  
459 -This configuration command means the servo, when set to serial mode, will immediately move to 6.4 degrees upon power up. Sending a CFD command without a number results in the servo remaining limp upon power up.
490 +This configuration command means the servo, when set to smart mode, will immediately move to 6.4 degrees upon power up. Sending a CFD command without a number results in the servo remaining limp upon power up.
460 460  
461 461  __22. Query Target Position in Degrees (**QDT**)__
462 462  
... ... @@ -517,19 +517,25 @@
517 517  
518 518  The units are in milliamps, so in the example above, the servo is consuming 140mA, or 0.14A.
519 519  
520 -__20. RC Mode (**CRC**)__
551 +__30. RC Mode (**CRC**)__
521 521  
522 -This command puts the servo into RC mode, where it will only respond to RC pulses. Note that because this is the case, the servo will no longer accept serial commands. The servo can be placed back into serial model only using the button menu.
553 +This command puts the servo into RC mode (position or continuous), where it will only respond to RC pulses. Note that because this is the case, the servo will no longer accept serial commands. The servo can be placed back into smart mode by using the button menu.
523 523  
555 +|**Command sent**|**Note**
556 +|ex: #5CRC<cr>|Stay in smart mode.
557 +|ex: #5CRC1<cr>|Change to RC position mode.
558 +|ex: #5CRC2<cr>|Change to RC continuous (wheel) mode.
559 +|ex: #5CRC*<cr>|Where * is any number or value. Stay in smart mode.
560 +
524 524  EX: #5CRC<cr>
525 525  
526 -__**RESET**__
563 +__31. RESET__
527 527  
528 528  Ex: #5RESET<cr> or #5RS<cr>
529 529  
530 530  This command does a "soft reset" (no power cycle required) and reverts all commands to those stored in EEPROM (i.e. configuration commands).
531 531  
532 -**__DEFAULT __**__& **CONFIRM**__
569 +__32. DEFAULT & CONFIRM__
533 533  
534 534  Ex: #5DEFAULT<cr>
535 535  
... ... @@ -541,7 +541,7 @@
541 541  
542 542  Note that after the CONFIRM command is sent, the servo will automatically perform a RESET.
543 543  
544 -**__UPDATE __**__& **CONFIRM**__
581 +__33. UPDATE & CONFIRM__
545 545  
546 546  Ex: #5UPDATE<cr>
547 547  
... ... @@ -553,22 +553,4 @@
553 553  
554 554  Note that after the CONFIRM command is sent, the servo will automatically perform a RESET.
555 555  
556 -=== Virtual Angular Position ===
557 -
558 -{In progress}
559 -
560 -A "virtual position" is one which allows for multiple rotations of the output horn, moving the center position and more. The "absolute position" would be the angle of the output shaft with respect to 360.0 degrees.
561 -
562 -[[image:LSS-servo-positions.jpg]]
563 -
564 -Example: Gyre direction / rotation is positive (clockwise), and origin offset has not been modified.
565 -
566 -#1D-300<cr> The servo is commander to move to -30.0 degrees (green arrow)
567 -
568 -#1D2100<cr> This second position command is sent to the servo, which moves it to 210.0 degrees (orange arrow)
569 -
570 -#1D-4200<cr> The servo rotates counterclockwise to a position of -420 degrees (red arrow), which means one full rotation of 360 degrees and (420.0-360.0) stopping at an absolute position of 60.0 degrees, but virtual position of -420.0.
571 -
572 -Although the final position would be the same as if the servo were commanded to move to -60.0 degrees, it is in fact at -420.0 degrees.
573 -
574 -#1D4800<cr> This new command is sent which would then cause the servo to rotate from -420.0 degrees to 480.0 degrees, which would be a total of 900 degrees of clockwise rotation, or 2.5 complete rotations.
593 +=== ===
Copyright RobotShop 2018