Per iniziare — Firmware pronto all'uso
Ogni scheda Duilio F4 viene spedita con un firmware base gia installato e funzionante. E progettato per il controllo del movimento reale con driver motore esterni comuni (come ZS-X11), offrendo controllo PWM open-loop a due motori, logica di sicurezza integrata e limitazione velocita opzionale.
Collega il driver ai motori, connetti Duilio F4, alimenta tutto e sei pronto per partire.
Cosa e gia incluso
Il firmware base arriva pronto per macchine reali, con i blocchi di controllo piu comuni gia configurati.
Controllo PWM a due motori
Controllo open-loop per ruota sinistra e destra.
Driver stile ZS-X11
- ENABLE_X/ENABLE_Y attivo LOW
- BRAKE_X/BRAKE_Y attivo HIGH (se usato)
Limitatore di velocita opzionale
- limite predefinito: 25 km/h
- basato su ruote da 6" e 45 impulsi per giro
- se non serve, lascia l'ingresso RPM non collegato
Mappatura RC + uscite ausiliarie
Ingressi e uscite NPN sono gia configurati.
Failsafe e stati sicuri
Il comportamento sicuro alla perdita comandi e integrato.
Ingressi sonar doppi
Supporta 2 sensori a ultrasuoni subito.
Misura tensione batteria
L'ingresso tensione batteria e incluso.
Le distanze sonar e la tensione batteria sono riportate via USB e possono essere usate come feedback host.
Sorgenti di controllo (RC, Raspberry Pi, PC)
Il firmware base puo essere comandato in due modi, senza riflashare:
- Ricevitore RC (modalita standalone)
- Raspberry Pi o PC via USB
L'host USB (Raspberry Pi/PC) puo comandare la scheda via USB usando la libreria Python o Arduino fornita.
Quando controllato da un host:
- Comandi USB in ingresso
- Telemetria USB in uscita (tensione batteria + letture sonar + stato base)
- Librerie ufficiali Python e Arduino fornite
- L'host puo sostituire o sovrascrivere completamente gli ingressi RC
Non serve alcun cambio firmware per passare tra controllo RC e host.
Mappatura RC predefinita
Ingressi RC:
- CH1 -> STEER
- CH2 -> SPEED (throttle)
- CH3 -> controlla OUT3 (uscita NPN)
- CH4 -> controlla OUT4 (uscita NPN)
Uscite:
- RC1 -> Ruota sinistra
- RC2 -> Ruota destra
- Uscita STEER
- Uscita CH4
Uscite NPN:
- OUT3 pilotata da RC CH3
- OUT4 pilotata da RC CH4
Cablaggio driver (esempio ZS-X11)
La connessione minima richiesta per ogni motore e PWM + DIR. Questo consente il controllo di movimento base.
I pin ENABLE_X/ENABLE_Y sono fortemente consigliati per la sicurezza. Permettono al firmware di disabilitare completamente le uscite motore in condizioni di failsafe, disarm o guasto. Usare ENABLE_X/ENABLE_Y rende il sistema piu sicuro rispetto al solo PWM/DIR.
Logica prevista:
- ENABLE_X/ENABLE_Y attivo LOW
- BRAKE_X/BRAKE_Y attivo HIGH (opzionale)
Cablaggio minimo:
- PWM_X -> PWM driver sinistro
- DIR_L -> DIR driver sinistro
- PWM_Y -> PWM driver destro
- DIR_R -> DIR driver destro
- Massa comune tra Duilio e driver
Cablaggio consigliato:
- PWM_X -> PWM driver sinistro
- PWM_Y -> PWM driver destro
- ENABLE_X/ENABLE_Y -> enable driver (attivo LOW)
- BRAKE_X/BRAKE_Y -> freno driver (se usato)
- Massa comune tra Duilio e driver
Limitatore di velocita
Il limitatore di velocita usa un segnale RPM. Assunzioni predefinite:
- ruota da 6"
- 45 impulsi per giro
- limite 25 km/h
Se RPM non e collegato, il limitatore e automaticamente inattivo.
Avvio rapido e sicurezza
Segui questi passaggi per validare cablaggio e movimento in sicurezza.
- Testa con le ruote sollevate da terra
- Collega alimentazione e massa comune
- Collega PWM e ENABLE_X/ENABLE_Y del driver
- Collega RC o host USB
- Alimenta e testa a bassa velocita
Mantieni sempre accessibile un interruttore di alimentazione fisico o uno stop di emergenza.
Altre opzioni base (su richiesta)
Il firmware base fornito e la configurazione standard descritta sopra. Configurazioni base alternative possono essere fornite su richiesta, per esempio:
- Driver motore brushed (tipo BTS7960) dove il secondo canale PWM e mappato diversamente (es. linea DIR riutilizzata come secondo ingresso PWM).
- Altre mappature o stili driver disponibili su richiesta.
Con Duilio Tools puoi cambiare configurazione in pochi click, senza scrivere una sola riga di codice.