EN | IT
Shop

Tre ruoli per macchine, robot e sistemi modulari

Caratteristiche principali

DUILIO F4 - Caratteristiche principali

Questa pagina fornisce una panoramica tecnica strutturata di DUILIO F4, includendo le capacita di controllo del movimento STM32, i comportamenti di sicurezza e failsafe, I/O e le interfacce driver motore supportate per robotica e macchine.

La documentazione del progetto e disponibile su GitHub.

Controllo del movimento e sicurezza

I/O e interfacce

Architettura di sistema

DUILIO F4 usa un'architettura distribuita con una chiara separazione tra la logica host e il controllo del movimento in tempo reale. L'host gestisce UI, networking e coordinamento mentre i nodi Duilio eseguono i compiti critici nel tempo. Il sistema scala su RS485, permettendo piu schede Duilio sullo stesso bus.

Sezione Dettagli
MCU
  • Microcontrollore: STM32F411 (64 pin, Cortex-M4F)
  • Controllo dei movimenti in tempo reale in tempo reale
  • Firmware pre-sviluppato basato su profili (nessun codice applicativo richiesto)
Controllo movimento
  • 2 assi di movimento indipendenti
  • Controllo di velocita, posizione e coppia
  • Controllo della coppia tramite sensori di corrente esterni
  • Rampe di accelerazione / decelerazione
  • Limiti e soft limit
  • Coordinamento assi e mix del movimento
  • Interlock, watchdog e comportamenti failsafe
Scalabilita
  • Bus RS485 multidrop nativo
  • Progettato per 10+ schede DUILIO F4 sullo stesso bus
  • Esempio: 10 schede = 20 motori, coordinati centralmente
  • Architettura: un host, molti nodi Duilio (controllo distribuito in tempo reale)
Driver motore
  • Solo driver motore esterni (nessuno stadio di potenza a bordo)
  • Interfacce supportate / supportabili:
  • PWM / DIR
  • ENABLE + DIR + PWM
  • Dual-PWM (avanti / indietro)
  • STEP / DIR (velocita o posizione)
  • Velocita analogica (0-5 V)
  • Velocita analogica + direzione
  • PWM stile RC (ESC / impulso servo)
  • Driver seriali / basati su protocollo (dipende dal profilo)
Encoder e feedback
  • 2 encoder assoluti I2C
  • 2 encoder incrementali in quadratura (A/B)
  • Canale Z e finecorsa per homing
  • Feedback di posizione, homing e riferimento zero
RC I/O
  • 4 ingressi servo RC (cattura impulso PWM)
  • 4 uscite servo RC
  • Uso: ricevitori RC, ESC, servo, controllo misto/manuale
I/O digitali (potenza)
  • 4 uscite NPN low-side
  • Rele esterni, solenoidi, lampade
  • Corrente: < 2 A per canale
  • Controllato da firmware, dipendente dal profilo
I/O digitali (logica)
  • Finecorsa e ingressi di sicurezza
  • Ingressi dedicati all'azzeramento
Ingressi analogici
  • 2 ingressi analogici (0-5 V)
  • Riferimento di coppia
  • Riferimento di posizione (potenziometro)
  • Ingresso comando analogico
Sensori
  • 2 interfacce sonar a ultrasuoni (TRIG / ECHO)
  • Altri sensori digitali e analogici (dipende dal profilo)
Sicurezza e failsafe
  • Stato sempre sicuro su timeout di comunicazione
  • Comportamento configurabile in caso di perdita host o bus
  • Movimento abilitato solo dopo una sequenza di avvio valida
  • Logica di abilitazione multi-condizione opzionale
  • Interlock di sicurezza hardware e firmware
  • Disabilitazione immediata delle uscite in caso di guasto
  • Watchdog interno e logica di supervisione
  • Uscite forzate in stato sicuro all'accensione
Configurazione
  • Interfaccia di programmazione: ST-Link (SWD)
  • Flash e configurazione firmware tramite ST-Link
  • USB: opzionale / sperimentale, non l'interfaccia principale
Sistemi host
  • Raspberry Pi
  • SBCs
  • PCs
  • Computer industriali
  • Separazione dei ruoli:
  • Host = logica, UI, networking
  • Duilio = controllo movimento e I/O in tempo reale
Power
  • VIN: 7 V - 43 V
  • USB: 5 V
  • Header Raspberry Pi: 5 V (modalita HAT)
Uscita alimentazione Raspberry Pi
  • Up to 5.1 V / 5 A
  • Alimentazione diretta Raspberry Pi
Protezione
  • TVS and ESD protection
  • Protezione da inversione e back-feed
  • Progettato per ambienti con disturbi elettromagnetici
Filosofia di sistema
  • Progettato per lavorare con diversi tipi di motori e driver motore esterni
  • La stessa logica di movimento puo essere riutilizzata su macchine diverse

Compatibilita driver motore

DUILIO F4 funziona con molti driver motore esterni. La compatibilita dipende dall'interfaccia di controllo usata dal driver motore, mentre DUILIO gestisce logica di movimento e coordinamento.

Interfacce di controllo supportate

Famiglie di driver motore comunemente usate

Esempi solo come riferimento, non supporto ufficiale:

La compatibilita specifica dipende dal cablaggio e dal profilo firmware. Alcuni driver sono gia usati in applicazioni reali, altri sono in valutazione.

Confronto / Posizionamento

Dai controller ai cuori dei sistemi di motion control

La maggior parte dei controller e progettata per eseguire codice.
DUILIO F4 e progettato per far funzionare macchine.
Questo confronto evidenzia differenze architetturali, non le prestazioni pure.

I segmenti pieni indicano il livello da 0 a 4.
Controller Compatibilita logica 5V Ingressi analogici ad alta risoluzione Logica failsafe dedicata Coordinamento multi-motore Ampio range di tensione in ingresso Puo alimentare periferiche (es. Raspberry Pi) Funziona con driver motore esterni Watchdog di sistema e stati di sicurezza Tempo per un sistema di movimento funzionante Efficienza dei costi (tipica)
Arduino UNO / MKR
Arduino GIGA R1
ESP32
STM32 Nucleo
DUILIO F4

Nota: i punteggi riflettono l'uso tipico a livello di sistema, non le capacita pure della MCU. Le schede generaliste possono richiedere hardware e firmware extra per raggiungere caratteristiche simili di sicurezza e movimento.

Perche esiste / Problema che risolve

La storia dietro Duilio

Duilio e nato come parte di un progetto piu ampio di guida da remoto.

L'obiettivo iniziale era permettere a Fabry di guidare un veicolo del mondo reale, dal suo PC.

Costruire macchine vere ha svelato rapidamente il solito punto debole: motori e driver funzionano, ma la logica di movimento ? sempre da adattare, instabile e sul piu bello non funziona mai qualcosa.

Ogni controller significava riscrivere rampe, limiti, coordinamento e comportamento failsafe.

Quindi ho progettato un controller di movimento come di deve.

Non per demo, ma per macchine che devono funzionare veramente, ripetibili e scalabili.

Quel controller e Duilio.

-- Fabio Giuliodori

Continua a esplorare

Ultimo aggiornamento: 18 gennaio 2026