Di Jeremy Cook
Una delle operazioni fondamentali dell'elettronica è il controllo della velocità dei motori CC. Qui vedremo cosa significa partendo dalle basi: inviare un segnale PWM a un MOSFET o a un driver dedicato. Questo segnale controlla direttamente la velocità del motore CC, utilizzando correnti (e spesso tensioni) più elevate di quelle che il controller può produrre da solo.
Semplice controllo PWM del LED
Jeremy Cook | LED esterno con impulsi indicati dall'oscilloscopio
La PWM (ovvero la modulazione di larghezza di impulso) simula un'uscita di tensione analogica ripetendo gli impulsi per un periodo di tempo variabile. In questa configurazione, il periodo è definito come il tempo necessario per completare un ciclo di accensione/spegnimento. Il ciclo di funzionamento, spesso espresso in percentuale, è il rapporto tra tempo di accensione e tempo di spegnimento.
Un segnale di cinque Volt con un ciclo di lavoro del 50% si tradurrà in un segnale analogico simulato di 2,5 V. Un periodo di 1 ms produrrebbe questo cambiamento di stato on/off 1000 volte al secondo (o 1000 Hz), definito come la frequenza del segnale PWM. Il controllo PWM funziona bene con i motori CC e altri carichi a variazione lenta. Un'uscita analogica reale è preferibile in diverse situazioni, come la riproduzione audio.
Utilizzeremo il Raspberry Pi Pico con CircuitPython per esplorare questo principio e generare segnali PWM. Per una breve introduzione, caricare il codice che si trova qui. Questo codice alterna il LED integrato dalla massima potenza, o 65.535 (2^16 - 1), a 4095 (2^12 -1), meno di 1/10 del valore originale. Si può osservare la luce che cambia, anche se può essere difficile correlare l'emissione luminosa osservata con il valore numerico.
Circuito di controllo motore a MOSFET
Jeremy Cook | Circuito di controllo del motore CC a MOSFET
La metodologia di controllo di un MOSFET (FQP30N06L) è essenzialmente la stessa di un LED. Il codice per il nostro prossimo esperimento si trova qui. Collegare l'uscita di controllo al pin di guadagno del MOSFET tramite un piccolo resistore (~100Ω). Aggiungere un resistore da 10k a massa per abbassarlo quando non è presente alcun ingresso. Il cavo positivo del motore va al drain del MOSFET, mentre la sorgente del MOSFET è collegata a massa.
Il pin VBUS inizialmente forniva la tensione positiva; tuttavia, l'utilizzo di una sorgente di tensione esterna collegata a una massa comune con il Pico sarebbe generalmente migliore. È inoltre consigliabile implementare un diodo flyback per gestire i carichi induttivi vaganti.
Driver per motore L293D: un modo più semplice per costruire un circuito di controllo per motori CC
Jeremy Cook | Didascalia: driver per motore L293D
I MOSFET sono ottimi dispositivi generici, ma se si desidera controllare la velocità e la direzione o se si ha più di un motore da gestire, le cose si complicano molto rapidamente. Fortunatamente sono disponibili circuiti integrati per il controllo dei motori già pronti per affrontare questa sfida, tra cui il venerabile driver L293D utilizzato in questo caso. I requisiti di cablaggio possono essere determinati dalla scheda tecnica. Il metodo che ho utilizzato per collegarlo al mio Raspberry Pi Pico è illustrato di seguito:
Jeremy Cook | Pin GND U4 collegati internamente
Il codice di rotazione digitale (on/off) per questa configurazione si trova qui, che fa andare il motore avanti e indietro alla massima potenza, con pause intermedie. Questo codice PWM inizializza il motore a un ciclo di lavoro specifico, ne aumenta la potenza in modo incrementale, quindi si arresta. Dopodiché aumenta la potenza nell'altra direzione e si arresta di nuovo prima di ripetere la sequenza.
Avvertimento sul driver L293D
Utilizzando quest'ultima parte di codice (con un ingresso VCC2 a 12 V e senza condensatore), ho finito per disabilitare una scheda Raspberry Pi Pico. È buona norma utilizzare dei condensatori per uniformare gli ingressi di alimentazione e logici. L'L293D dispone di capacità di bloccaggio interne per gestire i carichi induttivi, quindi non dovrebbero essere necessari diodi flyback esterni. Diverse sono le potenziali cause di quanto accaduto, ma questo dovrebbe servire come promemoria per garantire che l'hardware sia specificato e implementato per soddisfare i requisiti del mondo reale una volta lasciato il banco di prova.
Plug-and-play o personalizzazione completa?
I progetti dei circuiti di controllo dei motori CC probabilmente non resteranno per sempre su una breadboard. Da qui, vi sono due percorsi divergenti:
Per la prototipazione più avanzata o per progetti singoli, sono disponibili shield motore e schede di sviluppo che aggiungono driver come l'L293D come soluzione plug-and-play per motori CC, stepper, servo e altro ancora. L'Arduino Motor Shield è forse il più noto ed è compatibile con il fattore di forma Arduino Uno. Se si desidera rimanere sulla piattaforma RP2040, il Maker Pi RP2040 potrebbe essere un'eccellente soluzione plug-and-play per controllare motori e altri dispositivi.
all'altro estremo, è possibile integrare i progetti dei controller dei motori direttamente nel progetto del circuito stampato. Questa integrazione offre una libertà di progettazione pressoché infinita, consentendo, ad esempio, di implementare alcune delle funzioni del Maker Pi RP2040, tralasciando quelle non necessarie. Inoltre, è possibile creare la scheda con il fattore di forma fisico perfetto per la propria applicazione.
Controllo PWM di motore e carico
Jeremy Cook | MOSFET per il controllo di motori elettrici e altri carichi. Poiché il solenoide funge da induttore, un diodo flyback sarebbe stato comunque una soluzione valida.
I principi generali di controllo PWM qui presentati sono validi e possono essere utilizzati per una varietà di carichi; tuttavia, l'hardware presentato è stato assemblato rapidamente come demo per questo articolo. Per i progetti definitivi, è necessario considerare attentamente ogni situazione particolare, insieme alle specifiche e alle schede tecniche disponibili su Arrow. Con una corretta configurazione del controller del motore CC PWM, il dispositivo può funzionare per anni senza problemi.
Indipendentemente dallo sviluppo del progetto, Arrow è in grado di fornire i microcontroller, i MOSFET, i driver motore e gli altri dispositivi necessari per realizzare il controller di velocità per motori CC PWM.