Changes for page LSS-PRO Communication Protocol
Last modified by Eric Nantel on 2025/11/28 14:42
Change comment: There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 1 removed)
Details
- Page properties
-
- Content
-
... ... @@ -140,14 +140,8 @@ 140 140 |(% style="width:25px" %) |(% style="width:200px" %)**Description**|(% style="text-align:center; width:100px" %)**Action**|(% style="text-align:center; width:75px" %)**Query**|(% style="text-align:center; width:75px" %)**Config**|(% style="width:100px" %)**Default**|(% style="width:170px" %)**Unit**|**Notes** 141 141 | |[[**O**rigin Offset>>||anchor="HOriginOffset"]]|(% style="text-align:center" %)O|(% style="text-align:center" %)QO|(% style="text-align:center" %)CO|(% style="text-align:center" %)0|(% style="text-align:center" %)0.01°| 142 142 | |[[**A**ngular **R**ange>>||anchor="HAngularRange"]]|(% style="text-align:center" %)AR|(% style="text-align:center" %)QAR|(% style="text-align:center" %)CAR|(% style="text-align:center" %)36000|(% style="text-align:center" %)0.01°| 143 -| |(% style="vertical-align:middle" %)[[**A**ngular **A**cceleration>>||anchor="HAngularAcceleration"]]|(% style="text-align:center; vertical-align:middle" %)AA|(% style="text-align:center; vertical-align:middle" %)QAA|(% style="text-align:center; vertical-align:middle" %)CAA|(% style="text-align:center; vertical-align:middle" %)((( 144 -L1: 10000 145 -S1: 10000 146 -M1: 147 -)))|(% style="text-align:center; vertical-align:middle" %)0.01°/s^2|(% style="vertical-align:middle" %) 148 -| |(% style="vertical-align:middle" %)[[**A**ngular **D**eceleration>>||anchor="HAngularDeceleration"]]|(% style="text-align:center; vertical-align:middle" %)AD|(% style="text-align:center; vertical-align:middle" %)QAD|(% style="text-align:center; vertical-align:middle" %)CAD|(% style="text-align:center; vertical-align:middle" %)L1: 10000 149 -S1: 10000 150 -M1: |(% style="text-align:center; vertical-align:middle" %)0.01°/s^2|(% style="vertical-align:middle" %) 143 +| |[[**A**ngular **A**cceleration>>||anchor="HAngularAcceleration"]]|(% style="text-align:center" %)AA|(% style="text-align:center" %)QAA|(% style="text-align:center" %)CAA|(% style="text-align:center" %) |(% style="text-align:center" %)0.01°/s^2| 144 +| |[[**A**ngular **D**eceleration>>||anchor="HAngularDeceleration"]]|(% style="text-align:center" %)AD|(% style="text-align:center" %)QAD|(% style="text-align:center" %)CAD|(% style="text-align:center" %) |(% style="text-align:center" %)0.01°/s^2| 151 151 | |[[**G**yre Direction>>||anchor="HGyreDirection"]]|(% style="text-align:center" %)G|(% style="text-align:center" %)QG|(% style="text-align:center" %)CG|(% style="text-align:center" %)1|(% style="text-align:center" %)1 or -1|Gyre / rotation direction: 1= CW (clockwise) -1 = CCW (counter-clockwise) 152 152 | |[[Maximum **S**peed in **D**egrees>>||anchor="HMaximumSpeedinDegrees"]]|(% style="text-align:center" %)SD|(% style="text-align:center" %)QSD|(% style="text-align:center" %)CSD|(% style="text-align:center" %) |(% style="text-align:center" %)0.01°/s|SD / CSD overwrites SR / CSR 153 153 | |[[Maximum **S**peed in **R**PM>>||anchor="HMaximumSpeedinRPM"]]|(% style="text-align:center" %)SR|(% style="text-align:center" %)QSR|(% style="text-align:center" %)CSR|(% style="text-align:center" %) |(% style="text-align:center" %)RPM|SR / CSR overwrites SD / CSD ... ... @@ -339,9 +339,6 @@ 339 339 340 340 Ex: #5WD90<cr> 341 341 342 -⚠️ //Note~:// The servo’s **Angular Range (AR)** must be disabled when using Wheel Mode. 343 -Set AR0 (or CAR0 to save) before sending this command, otherwise the servo **will not rotate**. 344 - 345 345 This command sets the servo to wheel mode where it will rotate in the desired direction at the selected speed. The example above would have the servo rotate at 90.0 degrees per second clockwise (assuming factory default configurations). 346 346 347 347 Query Wheel Mode in Degrees (**QWD**) ... ... @@ -359,9 +359,6 @@ 359 359 360 360 Ex: #5WR40<cr> 361 361 362 -⚠️ //Note~:// The servo’s **Angular Range (AR)** must be disabled when using Wheel Mode. 363 -Set AR0 (or CAR0 to save) before sending this command, otherwise the servo **will not rotate**. 364 - 365 365 This command sets the servo to wheel mode where it will rotate in the desired direction at the selected rpm. Wheel mode (a.k.a. "continuous rotation") has the servo operate like a geared DC motor. The servo's maximum rpm cannot be set higher than its physical limit at a given voltage. The example above would have the servo rotate at 40 rpm clockwise (assuming factory default configurations). 366 366 367 367 Query Wheel Mode in RPM (**QWR**) ... ... @@ -388,8 +388,17 @@ 388 388 | |ex: *5Q3<cr>|3: Traveling|Moving at a stable speed 389 389 | |ex: *5Q4<cr>|4: Decelerating|Decreasing from travel speed towards final position. 390 390 | |ex: *5Q5<cr>|5: Holding|Keeping current position (in EM0 mode, return will normally be holding) 391 -| |ex: *5Q6<cr>|6: Error|If the status is Error, the error value consists of binary flags ([[HERE>>doc:||anchor="HErrorFlag"]])379 +| |ex: *5Q6<cr>|6: Error|If the status is Error, the error value consists of binary flags 392 392 381 +|(% style="width:25px" %) 382 +| | | | 383 +| | | | 384 +| | | | 385 +| | | | 386 +| | | | 387 +| | | | 388 +| | | | 389 + 393 393 *Value returned (Q)StatusDetailed description 394 394 395 395 If a safety limit has been reached and exceeded, the LED will flash red and the servo will stop providing torque (no longer react to commands which cause the motor to rotate). In order to determine which limit has been reached, send a Q1 command. The servo must be RESET in order to return to normal operation, though if a limit is still detected (for example the servo is still too hot), it will revert back to Safe Mode. ... ... @@ -406,10 +406,6 @@ 406 406 ))) 407 407 |(% style="width:30px" %) |((( 408 408 Query Motion Time (**QMT**) 409 - 410 -Ex: #5QMT9000<cr> might return *5QMT1000<cr>, which indicates the motor would take 1.000s to do that movement. 411 - 412 -This is really important for movement using the modifier "T" as asking a movement that could not be achieved in the time asked will result in no movement. 413 413 ))) 414 414 415 415 |(% colspan="2" %)((( ... ... @@ -417,8 +417,6 @@ 417 417 ))) 418 418 |(% style="width:30px" %) |((( 419 419 Query Current Speed (**QCS**) 420 - 421 -Ex: #5QCS<cr> might return *5QCS1245<cr>, which indicate the actuator is moving currently at 12deg/s. 422 422 ))) 423 423 424 424 |(% colspan="2" %)((( ... ... @@ -495,9 +495,6 @@ 495 495 Configure Angular Range (**CAR**) 496 496 497 497 This command allows you to change the total angular range of the servo in tenths of degrees in EEPROM. The setting will be saved upon servo reset / power cycle. 498 - 499 -⚠️ //Note~:// Setting AR0 removes angular limits and allows **continuous rotation**. 500 -This is required for **Wheel Mode (WD / WR)** otherwise the servo **will not move**. 501 501 ))) 502 502 503 503 |(% colspan="2" %)((( ... ... @@ -745,10 +745,6 @@ 745 745 ))) 746 746 |(% style="width:30px" %) |((( 747 747 Query Temp motor Probe (**QTP**) 748 - 749 -Ex: #5QTP<cr> might return *5QTP564<cr> 750 - 751 -The units are in tenths of degrees Celcius, so in the example above, the servo's motor temperature is 56.4 degrees C. To convert from degrees Celcius to degrees Farenheit, multiply by 1.8 and add 32. Therefore 56.4C = 133.52F. 752 752 ))) 753 753 754 754 |(% colspan="2" %)((( ... ... @@ -756,10 +756,6 @@ 756 756 ))) 757 757 |(% style="width:30px" %) |((( 758 758 Query Temp MCU (**QTM**) 759 - 760 -Ex: #5QTM<cr> might return *5QTM564<cr> 761 - 762 -The units are in tenths of degrees Celcius, so in the example above, the servo's microcontroller temperature is 56.4 degrees C. To convert from degrees Celcius to degrees Farenheit, multiply by 1.8 and add 32. Therefore 56.4C = 133.52F. 763 763 ))) 764 764 765 765 |(% colspan="2" %)((( ... ... @@ -768,11 +768,6 @@ 768 768 |(% style="width:30px" %) |((( 769 769 (% class="wikigeneratedid" id="HEx:236QIX3Ccr3Emightreturn2A6QIX303Ccr3E" %) 770 770 Query Temp Controller Error (**QTCE**) 771 - 772 - 773 - 774 -(% class="wikigeneratedid" %) 775 -Returns the value of the "ot" bit of the motor driver's DRV_STATUS register (addr: 0x6F). If the response is 1, the motor driver has detected overtemperature (over 150℃). 776 776 ))) 777 777 778 778 |(% colspan="2" %)((( ... ... @@ -781,10 +781,6 @@ 781 781 |(% style="width:30px" %) |((( 782 782 (% class="wikigeneratedid" id="HEx:236QIX3Ccr3Emightreturn2A6QIX303Ccr3E" %) 783 783 Query Temp Controller Warning (**QTCW**) 784 - 785 - 786 -(% class="wikigeneratedid" %) 787 -Returns the value of the "otpw" bit of the motor driver's DRV_STATUS register (addr: 0x6F). If the response is 1, the motor driver has detected overtemperature pre-warning (over 120℃). 788 788 ))) 789 789 790 790 |(% colspan="2" %)((( ... ... @@ -792,24 +792,6 @@ 792 792 ))) 793 793 |(% style="width:30px" %) |((( 794 794 Query Error Flag (**QEF**) 795 - 796 -Ex: #5QEF<cr> might return *5QEF64<cr> 797 - 798 - 799 -|(% style="width:25px" %) |***Value returned (QEF)**|**Status**|**Detailed description** 800 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_PCBOverTemerature| 801 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_MCUOverTemerature| 802 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_MotorProbeOverTemerature| 803 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_MotorDriverOverTemerature| 804 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_Blocked| 805 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_ExceedSpeedLimit| 806 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_ExceedAccelLimit| 807 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_ExceedDecelLimit| 808 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_CurrentPositionOutOfRangePlus| 809 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_CurrentPositionOutOfRangeMinus| 810 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_EEPROMHeaderDataError| 811 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_EEPROMCheckSumError| 812 -| |ex: *5QEF<cr>|LSSP_ERROR_BITS_EEPROMMapVersionIsNotSupported| 813 813 ))) 814 814 815 815 |(% colspan="2" %)((( ... ... @@ -845,25 +845,7 @@ 845 845 ))) 846 846 |(% style="width:30px" %) |((( 847 847 (% class="wikigeneratedid" id="HEx:236QIB3Ccr3Emightreturn2A6QIB443Ccr3E" %) 848 -The user defined LED color can be changed permanently (CLED) or until reboot (LED). 849 - 850 -(% class="wikigeneratedid" %) 851 -Ex: #5LED5<cr>, will set the user LED color to Cyan until reboot of the actuator. 852 - 853 -(% class="wikigeneratedid" %) 854 -Ex: #5CLED3<cr>, will set the user LED color to Blue and will be that way ever after rebooting the actuator. 855 - 856 - 857 -(% style="width:200px" %) 858 -|(% colspan="2" style="text-align:center; vertical-align:middle; width:35px" %)**Color vs Value** 859 -|(% style="text-align:center; vertical-align:middle; width:35px" %)[[image:[email protected]]]|0 = Off / Black 860 -|(% style="text-align:center; vertical-align:middle" %)[[image:[email protected]]]|1 = Red 861 -|(% style="text-align:center; vertical-align:middle" %)[[image:[email protected]]]|2 = Green 862 -|(% style="text-align:center; vertical-align:middle" %)[[image:[email protected]]]|3 = Blue 863 -|(% style="text-align:center; vertical-align:middle" %)[[image:[email protected]]]|4 = Yellow 864 -|(% style="text-align:center; vertical-align:middle" %)[[image:[email protected]||alt="SQUARE-Black.png"]]|5 = Cyan 865 -|(% style="text-align:center; vertical-align:middle" %)[[image:[email protected]]]|6 = Magenta 866 -|(% style="text-align:center; vertical-align:middle" %)[[image:[email protected]]]|7 = White 801 + 867 867 ))) 868 868 869 869 |(% colspan="2" %)((( ... ... @@ -871,21 +871,7 @@ 871 871 ))) 872 872 |(% style="width:30px" %) |((( 873 873 (% class="wikigeneratedid" id="HEx:236QIB3Ccr3Emightreturn2A6QIB443Ccr3E" %) 874 -This command allows you to control when the RGB LED will blink the user set color (see RGB LED command for details). This is very useful when visually seeing what the servo is doing. You can turn on or off blinking for various LSS status. The command requires that the servo be RESET. Here is the list and their associated value: 875 - 876 -(% style="width:200px" %) 877 -|**Blink While:**|(% style="text-align:center; width:35px" %)**#** 878 -|No blinking|(% style="text-align:center" %)0 879 -|Limp|(% style="text-align:center" %)1 880 -|Holding|(% style="text-align:center" %)2 881 -|Accelerating|(% style="text-align:center" %)4 882 -|Decelerating|(% style="text-align:center" %)8 883 -|Free|(% style="text-align:center" %)16 884 -|Travelling|(% style="text-align:center" %)32 885 -|Always blink|(% style="text-align:center" %)63 886 - 887 -(% class="wikigeneratedid" %) 888 -To set blinking, use CLB with the value of your choosing. To activate blinking in multiple status, simply add together the values of the corresponding status. See examples below:Ex: #5CLB0 to turn off all blinking (LED always solid)Ex: #5CLB1 only blink when limp (1)Ex: #5CLB2 only blink when holding (2)Ex: #5CLB12 only blink when accel or decel (accel 4 + decel 8 = 12)Ex: #5CLB48 only blink when free or travel (free 16 + travel 32 = 48)Ex: #5CLB63 blink in all status (1 + 2 + 4 + 8 + 16 + 32)RESETTING the servo is needed. 809 + 889 889 ))) 890 890 891 891 |(% colspan="2" %)((( ... ... @@ -893,11 +893,7 @@ 893 893 ))) 894 894 |(% style="width:30px" %) |((( 895 895 (% class="wikigeneratedid" id="HEx:236QIB3Ccr3Emightreturn2A6QIB443Ccr3E" %) 896 -The LED Indicator will reflect the blinking pattern from the LED at a given time. 897 - 898 -(% class="wikigeneratedid" %) 899 -Ex: #5QLI<cr> might return *5QLI4<cr>, and the actuator would be blinking 3 times as an Exceed speed limits error. 900 - 901 -(% class="wikigeneratedid" %) 902 -[[image:QLI-Info.png]] 817 + 903 903 ))) 819 + 820 +
- QLI-Info.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -xwiki:XWiki.ENantel - Size
-
... ... @@ -1,1 +1,0 @@ 1 -101.7 KB - Content

