“Il caso del passo falso intermittente” del motore encoder JGB37-520
—Un'analisi delle cause radice in 72 ore
—Un'analisi delle cause radice in 72 ore
Autore: University RoboMaster ECU Team
Data: 14 luglio 2025
Data: 14 luglio 2025
-
Sintomo
20 dicembre 2024, durante la messa a punto del nostro robot da fanteria RoboMaster 2025:
• A 1,5 m/s in sprint rettilineo, il robot deviava di 3–5 cm a destra ogni 3–5 m.
• Durante la deviazione, la velocità del JGB37-520 destro (12 V, 30:1, encoder AB) diminuiva del 15%; ruota sinistra normale.
• Il riavvio del master STM32F407 mascherava il problema per ~30 s, poi si ripresentava.
• Temperatura del motore 35 °C, alimentazione 12,1 V stabile, nessun allarme di sovracorrente o sottotensione. -
Verifiche iniziali
| Fase | Azione | Risultato | Conclusione |
|---|---|---|---|
| ① | Scambio motori destro/sinistro | La direzione della deviazione segue il motore | Problema specifico del motore |
| ② | Analisi delle forme d'onda A/B con oscilloscopio | Onde quadre pulite da 0–3,3 V | Hardware dell'encoder OK |
| ③ | Funzionamento ad anello aperto (encoder scollegato) | Nessuna deviazione | Problema nel percorso ad anello chiuso |
| ④ | Analisi logica dell'uscita PID | PID satura al 100% istantaneamente | Falso “obiettivo non raggiunto” | -
Analisi delle cause radice
-
Rimbalzo di massa nel cablaggio condiviso
L'alimentazione del motore e la massa dell'encoder condividono un cavo a nastro da 30 cm (motore AWG20, encoder AWG28). A una corrente >1 A, appare un picco di massa di 60 mV. -
Filtro MCU troppo stretto
Filtro di ingresso STM32 TIM impostato a 0,1 µs → i bordi dei picchi vengono contati come validi → 2–3 impulsi extra → PID riduce PWM → stallo reale. -
Condizione di innesco
Si verifica solo quando PWM >80% e corrente del motore >1,2 A; i test a bassa velocità non lo hanno mai riprodotto. -
Soluzioni
-
Ricablaggio
• Coppia intrecciata separata da 24 AWG per 5 V e massa dell'encoder, instradata fisicamente lontano dall'alimentazione.
• Decoupling da 100 µF + 0,1 µF al terminale del motore per eliminare il rimbalzo di massa. -
Parametri MCU
• Filtro TIM allargato a 1 µs.
• Abilitare il deglitch digitale a 3 clock. -
Protezione software
• Ogni 1 ms verificare la velocità “incremento impulsi × rapporto di trasmissione”; deviazione >5% → segnala “errore encoder” → torna all'anello aperto per 50 ms e poi risincronizza. -
Verifica
• Percorso di andata e ritorno di 100 m a 2 m/s a pieno carico: nessuna deviazione.
• Rodaggio di 48 ore (PWM casuale 80–100%): nessun errore di conteggio.
• Sette partite di competizione, 3,6 km totali: nessuna deviazione in sprint. -
Lezioni apprese
-
“L'encoder sembra buono” ≠ “la catena del segnale è buona”; il rimbalzo di massa è il killer silenzioso.
-
A PWM >80% il JGB37-520 può assorbire 1,5 A; tratta il suo cablaggio di massa come una linea di alimentazione.
-
Aggiungi sempre una via di fuga software: i sistemi ad anello chiuso necessitano della logica “sensore perso → anello aperto sicuro”.
Il team ECU ha trasformato questa analisi in “Lista di controllo cablaggio serie JGB V2.1”, ora obbligatoria per ogni futuro robot.



