Last modified by Eric Nantel on 2024/09/06 14:52

From version < 58.1 >
edited by Coleman Benson
on 2023/07/27 13:51
To version < 62.1 >
edited by Coleman Benson
on 2023/07/27 15:22
< >
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -197,7 +197,7 @@
197 197  |(% colspan="2" %)(((
198 198  ====== (% style="color:inherit; font-family:inherit" %)__Default & confirm__(%%) ======
199 199  )))
200 -| |(((
200 +|(% style="width:30px" %) |(((
201 201  (% style="color:inherit; font-family:inherit" %)Ex: #5DEFAULT<cr>
202 202  
203 203  (% style="color:inherit; font-family:inherit" %)This command sets in motion the reset of all values to the default values included with the version of the firmware installed on that servo. The servo then waits for the CONFIRM command. Any other command received will cause the servo to exit the DEFAULT function.
... ... @@ -212,7 +212,7 @@
212 212  |(% colspan="2" %)(((
213 213  ====== (% style="color:inherit; font-family:inherit" %)__Update & confirm__(%%) ======
214 214  )))
215 -| |(((
215 +|(% style="width:30px" %) |(((
216 216  (% style="color:inherit; font-family:inherit" %)Ex: #5UPDATE<cr>
217 217  
218 218  (% style="color:inherit; font-family:inherit" %)This command sets in motion the equivalent of a long button press when the servo is not powered in order to enter firmware update mode. This is useful should the button be broken or inaccessible. The servo then waits for the CONFIRM command. Any other command received will cause the servo to exit the UPDATE function.
... ... @@ -224,17 +224,21 @@
224 224  (% style="color:inherit; font-family:inherit" %)Note: After the CONFIRM command is sent, the servo will automatically perform a RESET.
225 225  )))
226 226  
227 -(% class="wikigeneratedid" %)
228 -====== ======
229 -
227 +|(% colspan="2" %)(((
230 230  ====== (% style="color:inherit; font-family:inherit" %)__Confirm__(%%) ======
231 -
229 +)))
230 +|(% style="width:30px" %) |(((
232 232  (% style="color:inherit; font-family:inherit" %)Ex: #5CONFIRM<cr>
233 233  
234 234  (% style="color:inherit; font-family:inherit" %)This command is used to confirm changes after a Default or Update command.
235 235  Note: After the CONFIRM command is sent, the servo will automatically perform a RESET.
235 +)))
236 236  
237 -====== (% style="color:inherit; font-family:inherit" %)__ID Number (**ID**)__(%%) ======
237 +|(% colspan="2" %)(((
238 +====== (% style="color:inherit; font-family:inherit" %)__ID Number__(%%) ======
239 +)))
240 +|(% style="width:30px" %) |(((
241 +This assigns ID #5 to the servo previously assigned to ID 0
238 238  
239 239  (% style="color:inherit; font-family:inherit" %)Configure ID Number (**CID**)
240 240  
... ... @@ -247,9 +247,12 @@
247 247  Ex: #254QID<cr> might return *254QID5<cr>
248 248  
249 249  In this case, the broadcast ID is used to ensure the servo connected will reply with the ID. This can be used in case the ID assigned to a servo is forgotten.
254 +)))
250 250  
251 -====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor (**ET**)__(%%) ======
252 -
256 +|(% colspan="2" %)(((
257 +====== (% style="color:inherit; font-family:inherit" %)__Enable CAN Terminal Resistor__(%%) ======
258 +)))
259 +|(% style="width:30px" %) |(((
253 253  Query Enable CAN Terminal Resistor (**QET**)
254 254  
255 255  Ex: #5QET<cr> might return *QET0<cr>
... ... @@ -261,24 +261,35 @@
261 261  (% style="color:inherit; font-family:inherit" %)Ex: #5CET1<cr>
262 262  
263 263  (% style="color:inherit; font-family:inherit" %)This commands sets servo with ID 5 as being the last in the CAN Bus. The last servo in a CAN bus must be configured this way.
271 +)))
264 264  
265 -====== __USB Connection Status (**UC**)__ ======
266 -
273 +|(% colspan="2" %)(((
274 +====== __USB Connection Status__ ======
275 +)))
276 +|(% style="width:30px" %) |(((
267 267  Query USB Connection Status (**QUC**)
268 268  
269 269  Ex: #5QUC<cr> might return *5QUC1<cr> meaning the servo is connected via USB
280 +)))
270 270  
271 -====== __Firmware Release (**FR**)__ ======
272 -
282 +|(% colspan="2" %)(((
283 +====== __Firmware Release__ ======
284 +)))
285 +|(% style="width:30px" %) |(((
273 273  Query Firmware Release (**QFR**)
274 274  
275 275  Ex: #5QFR<cr> might return *QFR11<cr> meaning it has a (random) firmware release version number 11.
276 276  
277 277  This is used to verify if the firmware on the servos is up to date, or which version is running on the microcontroller.
291 +)))
278 278  
279 279  == Motion ==
280 280  
281 -====== __Position in Degrees (**D**)__ ======
295 +|(% colspan="2" %)(((
296 +====== __Position in Degrees__ ======
297 +)))
298 +|(% style="width:30px" %) |(((
299 +Position in Degrees (**D**)
282 282  
283 283  Example: #5D1456<cr>
284 284  
... ... @@ -297,15 +297,24 @@
297 297  Ex: #5QDT<cr> might return *5QDT6783<cr>
298 298  
299 299  The query target position command returns the target virtual position during and after an action which results in a rotation of the servo horn. In the example above, the servo is rotating to a virtual position of 678.3 degrees. Should the servo not have a target position or be in wheel mode, it will respond with the last target position used.
318 +)))
300 300  
301 -====== __(Relative) Move in Degrees (**MD**)__ ======
320 +|(% colspan="2" %)(((
321 +====== __(Relative) Move in Degrees__ ======
322 +)))
323 +|(% style="width:30px" %) |(((
324 +Move in Degrees (**MD**)
302 302  
303 -
304 304  Example: #5MD123<cr>
305 305  
306 306  The relative move command causes the servo to read its current position and move the specified number of tenths of degrees in the corresponding position. For example if the servo is set to rotate CW (default) and an MD command of 123 is sent to the servo, it will cause the servo to rotate clockwise by 12.3 degrees. Negative commands would cause the servo to rotate in the opposite configured direction.
329 +)))
307 307  
308 -====== __Wheel Mode in Degrees (**WD**)__ ======
331 +|(% colspan="2" %)(((
332 +====== __Wheel Mode in Degrees__ ======
333 +)))
334 +|(% style="width:30px" %) |(((
335 +Wheel mode in Degrees (**WD**)
309 309  
310 310  Ex: #5WD90<cr>
311 311  
... ... @@ -316,8 +316,13 @@
316 316  Ex: #5QWD<cr> might return *5QWD90<cr>
317 317  
318 318  The servo replies with the angular speed in degrees per second. A negative sign would indicate the opposite direction (for factory default a negative value would be counter clockwise).
346 +)))
319 319  
320 -====== __Wheel Mode in RPM (**WR**)__ ======
348 +|(% colspan="2" %)(((
349 +====== __Wheel Mode in RPM__ ======
350 +)))
351 +|(% style="width:30px" %) |(((
352 +Wheel moed in RPM (**WR**)
321 321  
322 322  Ex: #5WR40<cr>
323 323  
... ... @@ -328,8 +328,14 @@
328 328  Ex: #5QWR<cr> might return *5QWR40<cr>
329 329  
330 330  The servo replies with the angular speed in rpm. A negative sign would indicate the opposite direction (for factory default a negative value would be counter clockwise).
363 +)))
331 331  
332 -====== __(Relative) Move in Degrees (**MD**)__ ======
365 +|(% colspan="2" %)(((
366 +====== __(Relative) Move in Degrees__ ======
367 +)))
368 +|(% style="width:30px" %) |(((
369 +(% class="wikigeneratedid" %)
370 +Move in Degrees (**MD**)
333 333  
334 334  (% class="wikigeneratedid" id="HExample:235M15003Ccr3E" %)
335 335  Example: #5M1500<cr>
... ... @@ -336,8 +336,13 @@
336 336  
337 337  (% class="wikigeneratedid" id="HTherelativemoveinPWMcommandcausestheservotoreaditscurrentpositionandmovebythespecifiednumberofPWMsignal.ForexampleiftheservoissettorotateCW28default29andanMcommandof1500issenttotheservo2Citwillcausetheservotorotateclockwiseby90degrees.NegativePWMvaluewouldcausetheservotorotateintheoppositeconfigureddirection." %)
338 338  The relative move in PWM command causes the servo to read its current position and move by the specified number of PWM signal. For example if the servo is set to rotate CW (default) and an M command of 1500 is sent to the servo, it will cause the servo to rotate clockwise by 90 degrees. Negative PWM value would cause the servo to rotate in the opposite configured direction.
377 +)))
339 339  
340 -====== __Query Status (**Q**)__ ======
379 +|(% colspan="2" %)(((
380 +====== __Query Status__ ======
381 +)))
382 +|(% style="width:30px" %) |(((
383 +Query Status (**Q**)
341 341  
342 342  The status query describes what the servo is currently doing. The query returns an integer which must be looked up in the table below.
343 343  
... ... @@ -367,18 +367,29 @@
367 367  | |ex: *5Q1<cr>|Current limit has been passed|Something cause the current to either spike, or remain too high for too long
368 368  | |ex: *5Q2<cr>|Input voltage detected is below or above acceptable range|Check the voltage of your batteries or power source
369 369  | |ex: *5Q3<cr>|Temperature limit has been reached|The servo is too hot to continue operating safely.
413 +)))
370 370  
371 -====== __Limp (**L**)__ ======
415 +|(% colspan="2" %)(((
416 +====== __Limp__ ======
417 +)))
418 +|(% style="width:30px" %) |(((
419 +Limp (**L**)
372 372  
373 373  Example: #5L<cr>
374 374  
375 375  This action causes the servo to go "limp". The microcontroller will still be powered, but the motor will not. As an emergency safety feature, should the robot not be doing what it is supposed to or risks damage, use the broadcast ID to set all servos limp #254L<cr>.
424 +)))
376 376  
377 -====== __Halt & Hold (**H**)__ ======
426 +|(% colspan="2" %)(((
427 +====== __Halt & Hold__ ======
428 +)))
429 +|(% style="width:30px" %) |(((
430 +Halt & Hold (**H**)
378 378  
379 379  Example: #5H<cr>
380 380  
381 381  This command causes the servo to stop immediately and hold that angular position. It overrides whatever the servo might be doing at the time the command is received (accelerating, travelling, deccelerating, etc.)
435 +)))
382 382  
383 383  == Motion Setup ==
384 384  
Copyright RobotShop 2018