Espurna
CA
ComunicacióIntermediFeetechSTS3215SO-101half-duplexIDchecksum

Adreçament al bus de servos

En 30 segonsSi sis servos comparteixen un cable, cadascun necessita un ID. Tots ho senten tot i només respon el que coincideix; dos servos amb el mateix ID es trepitgen.

També disponible en: English · Castellano

La idea

Al braç SO-101, els servos Feetech STS3215 comparteixen un bus sèrie half-duplex: una sola línia de dades, i els servos parlen per torns. Cada servo té un ID desat a la seva EEPROM, que es conserva sense alimentació.

El paquet

FF FF | ID | LEN | INST | paràmetres | CHK

  • LEN = nombre de paràmetres + 2.
  • CHK = NOT bit a bit de la suma ID + LEN + INST + paràmetres (byte baix).

Exemple: PING al servo 1 → FF FF 01 02 01 FB, perquè ~(1 + 2 + 1) = 0xFB.

Regles

  • Tots els servos senten tots els paquets; només respon el que té aquell ID.
  • ID 254 = broadcast: l’executen tots i no en respon cap.
  • IDs vàlids del 0 al 253; a la pràctica, el límit el posen l’alimentació i la velocitat del bus.
  • Un servo nou surt amb l’ID 1. Dos servos amb el mateix ID responen alhora i es trepitgen; per això, quan es configuren, se’n connecta un de sol cada vegada.

A la demo

Marca «dos servos amb l’ID 1» per veure la col·lisió, prova el broadcast i un ID que no té ningú (timeout).

Preguntes típiques

Per què half-duplex? Estalvia cables: una sola línia per a tots. A canvi, no poden parlar alhora.

Demo interactiva

Conceptes relacionats