Adreçament al bus de servos
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 sumaID + 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
Com parlen els xips (UART, I2C, SPI, CAN)
Un bus són uns cables compartits. Cada protocol resol a la seva manera qui parla, amb qui i quan: UART punt a punt, I2C per adreça, SPI amb un cable de selecció i CAN per ID de missatge.
Com funcionen els motors
Corrent dins d’un camp magnètic = força. Tres famílies segons qui canvia el corrent: escombretes (DC), un controlador que compta passos (stepper) o una electrònica que llegeix el rotor (brushless).