Tappa 4

Elettronica

Un solo modulo “cervello”, sei servo, un sensore di orientamento, un amplificatore e l’alimentazione. Tutto a filo, niente circuito stampato: bastano poche saldature.

Regola d’oro: regola lo step-down con il multimetro prima di collegarci qualsiasi cosa, e controlla la polarità due volte. Leggi gli avvisi sulle batterie al litio.

Schema dei collegamenti

Disegno originale, semplificato per essere leggibile: ogni colore è un tipo di collegamento. Le linee verdi spesse sono la massa comune: tutti i GND devono essere uniti, altrimenti i segnali dei servo e dell’I²C non hanno un riferimento e il robot si comporta in modo imprevedibile.

Zoom: Su telefono scorri lo schema in orizzontale.
Schema dei collegamenti di Pulcino Batteria 2S con BMS, interruttore e step-down a 5 volt alimentano servo, XIAO e amplificatore. Sei servo sui pin D0, D1, D2, D3, D8, D9. MPU6050 su I2C D4 e D5 a 3,3 volt. MAX98357A su I2S D6, D7, D10 con speaker. Tutte le masse sono collegate insieme. Batteria 2S 18650 · 3,7 V 18650 · 3,7 V in serie 7,4 V (8,4 V pieni) BMS 2S P+ → P− → interruttore VBAT Step-down 5 V, ≥3 A (es. Mini560) IN+ GND OUT+ +5 V (servo, XIAO, amplificatore) XIAO ESP32S3 Sense camera + mic interni USB-C · 8 MB PSRAM 5V GND 3V3 D4 SDA D5 SCL D0 D1 D2 D3 D8 D9 D6 D7 D10 MASSA COMUNE (GND): batteria/BMS, step-down, servo, XIAO, MPU6050, MAX98357A MPU6050 (GY-521) VCC SDA SCL GND MAX98357A amplificatore I²S BCLK LRC DIN VIN GND speaker 8 Ω 1 W Servo 0 · MG90S L_hip_roll Servo 1 · MG90S L_hip_pitch Servo 2 · MG90S L_ankle_pitch Servo 3 · MG90S R_hip_roll Servo 4 · MG90S R_hip_pitch Servo 5 · MG90S R_ankle_pitch segnale · + · − Opzionali • LED occhi 5 mm (PCA9685 ch 8/9) • PCA9685 su I²C • HC-SR04, partitore VBAT (vedi variante) VBAT 7,4 V +5 V 3,3 V GND PWM servo I²C I²S

A parole

  1. Batteria → BMS → interruttore → step-down. Le due 18650 in serie (2S) passano dal BMS; il positivo del BMS (P+) va all’interruttore e da lì all’ingresso dello step-down.
  2. Step-down → rail 5 V. L’uscita alimenta i sei servo (filo rosso), il pin 5V del XIAO e il VIN del MAX98357A.
  3. XIAO → sensori. Il pin 3V3 del XIAO alimenta l’MPU6050 (che è collegato su I²C: D4 = SDA, D5 = SCL).
  4. XIAO → amplificatore. D6 = BCLK, D7 = LRC, D10 = DIN; l’uscita del MAX98357A va allo speaker.
  5. XIAO → servo. Il filo di segnale (arancione/giallo sul servo) di ciascuno va al suo pin, vedi tabella.
  6. Masse comuni. P− del BMS, GND dello step-down, marrone di tutti i servo, GND di XIAO, MPU6050 e MAX98357A: tutti insieme.

Tensione dello step-down. Il pin 5V del XIAO accetta 5 V: regola l’uscita a 5,0 V. Con 6 V i servo hanno più coppia, ma allora il XIAO e il MAX98357A vanno alimentati con un regolatore separato a 5 V. Nel dubbio, 5 V. Il MAX98357A ammette al massimo 5,5 V: scheda del produttore. Consulta anche la guida XIAO. Scollega l’alimentazione esterna prima di collegare USB-C, per evitare ritorni di corrente.

Tabella dei pin (modalità predefinita)

Modalità predefinita: i servo sono pilotati direttamente dal XIAO con la libreria ESP32Servo.

FunzionePin XIAOGPIO
Servo 0 L_hip_rollD01
Servo 1 L_hip_pitchD12
Servo 2 L_ankle_pitchD23
Servo 3 R_hip_rollD34
Servo 4 R_hip_pitchD87
Servo 5 R_ankle_pitchD98
I²C SDA (MPU6050, PCA9685)D45
I²C SCLD56
I²S BCLK (MAX98357A)D643
I²S LRC/WSD744
I²S DIND109
Camerainterna (connettore B2B)XCLK 10, SIOD 40, SIOC 39, Y9 48, Y8 11, Y7 12, Y6 14, Y5 16, Y4 18, Y3 17, Y2 15, VSYNC 38, HREF 47, PCLK 13
Microfono PDMinternoCLK 42, DATA 41

Non usare la microSD della scheda Sense: condivide i pin D8–D10 con due servo e l’audio.

Timer PWM. La camera usa il timer LEDC 0 per il suo clock: il firmware assegna ai servo i timer 1–3. Se modifichi il codice, non toccare questa assegnazione o la camera si blocca.

Variante con PCA9685

Con un driver PWM PCA9685 (circa 3 €, indicativo) i servo passano su I²C e liberano pin del XIAO. Si attiva in config.h con #define USE_PCA9685 1.

CosaDove
Servo 0–5Canali PCA9685 0–5 (stesso ordine)
LED occhiCanale 8 (sinistro), canale 9 (destro), con resistenza da 220 Ω
Tensione batteriaD0 libero → partitore 200 kΩ / 100 kΩ (VBAT = adc × 3)
HC-SR04D1 → trigger; D2 ← echo con partitore 5 V → 3,3 V
Alimentazione PCA9685VCC 3,3 V dal XIAO; V+ (servo) dallo step-down

Il partitore sulla batteria (8,4 V max ÷ 3 = 2,8 V) resta sotto i 3,3 V ammessi dall’ADC.

Dove sta ogni cosa

Le batterie stanno orizzontali in basso, il XIAO in alto davanti (la camera guarda dal frontalino), lo speaker in basso davanti, l’MPU6050 al centro del fondo: così misura l’inclinazione del corpo senza essere disturbato dalle vibrazioni delle gambe.

Consigli di cablaggio

Sicurezza delle batterie al litio

  • Mai cortocircuitare una cella: basta un attimo con una pinza per far scaldare i fili e bruciare l’isolante.
  • Usa sempre il BMS 2S e celle uguali (stessa marca, capacità e carica) nello stesso portabatterie.
  • Non saldare direttamente sulle celle: usa un portabatterie o celle con linguette già saldate.
  • Ricarica sotto supervisione, su una superficie non infiammabile, con un caricatore adatto (4,2 V per cella, 8,4 V per il pacco 2S).
  • Celle ammaccate, gonfie o con la guaina rovinata vanno sostituite e portate a un punto di raccolta, non buttate nell’indifferenziata.
  • Non lasciare il robot acceso e incustodito per lunghi periodi; se qualcosa scalda o puzza, spegni subito l’interruttore.
  • Tieni le batterie lontane dalla portata dei bambini.

Questo progetto è fornito così com’è: costruirlo e usarlo è sotto la tua responsabilità.