Il controllo dei motori DC, sebbene possa sembrare un compito semplice, si rivela spesso particolarmente complesso. Non si tratta solo di attivare e disattivare un motore, ma piuttosto di gestire parametri cruciali come la velocità, la direzione e la frenatura. Per queste ragioni, il controllo richiede dispositivi o schede dedicate dotate di sufficiente capacità di calcolo per eseguire tutte le operazioni necessarie, oltre a uno stadio di potenza collegato al motore che permetta all'unità di calcolo di pilotarlo.

Controllo Base con Transistor BJT e MOSFET
Il modo più semplice per comandare un motore DC che debba girare in un solo verso è per mezzo di un transistor BJT (Bipolar Junction Transistor) o di un transistor MOS (Metal-Oxide-Semiconductor Field-Effect Transistor). Questa configurazione di base permette di attivare e disattivare il motore.

Un componente fondamentale in questo tipo di circuito è il diodo di ricircolo, impiegato per proteggere la giunzione dei transistor dalle sovratensioni che si generano nel momento dello spegnimento del transistor stesso. Per i motori DC a spazzole, comuni in molti giocattoli, vengono spesso utilizzati 1-3 condensatori saldati tra i terminali di alimentazione e il contenitore del motore. Questi condensatori servono a ridurre gli effetti nocivi delle spazzole, in particolare dal punto di vista elettromagnetico, attenuando le scintille e i transitori che si creano sulle spazzole stesse.
Oltre alla semplice attivazione e disattivazione, la configurazione descritta, se abbinata a un segnale PWM (Pulse Width Modulation), consente di controllare la velocità del motore stesso. Il PWM, variando il rapporto tra il tempo di accensione e il tempo di spegnimento del segnale, permette di modulare la potenza media fornita al motore, e di conseguenza, la sua velocità di rotazione.
Controllo PID per motore con Arduino - Video 712
Inversione della Direzione di Rotazione
Invertire la rotazione di un motore DC a spazzole equivale a invertire i terminali positivo e negativo che alimentano il motore. Come accennato, l'uso di un solo transistor non consente di invertire automaticamente i terminali di alimentazione. Tuttavia, esistono diverse soluzioni per ottenere questo controllo bidirezionale.
Alimentazione Duale e Due Transistor
Qualora si disponga di un'alimentazione duale, è possibile controllare la direzione di un motore DC a spazzole per mezzo di un solo transistor aggiuntivo. In questa configurazione, i due transistor non devono mai essere attivi contemporaneamente per evitare un corto circuito delle alimentazioni. Il principio di funzionamento è relativamente semplice:
- Motore fermo: Entrambi i transistor sono spenti (interdetti).
- Rotazione in un verso: Quando il transistor TR1 viene attivato, il motore si collega tra massa e una tensione positiva, ruotando in un verso (ad esempio, orario).
- Rotazione nel verso opposto: Disattivando TR1 e attivando TR2, il motore si collega tra massa e l'alimentazione negativa. Poiché la massa risulta positiva rispetto all'alimentazione negativa, questo equivale ad aver invertito i terminali + e - rispetto al caso precedente, e il motore girerà nel verso opposto.
È fondamentale che la sequenza di cambio direzione avvenga con un lieve ritardo, per permettere a un transistor di disattivarsi completamente prima che l'altro si attivi, prevenendo così cortocircuiti momentanei.
Controllo Lineare per Inversione
Per mezzo della tecnica lineare, è possibile "invertire" le alimentazioni anche nel caso di alimentazione singola. Questa tecnica si basa sul controllo di amplificatori per ottenere valori di tensione variabile. In una configurazione tipica, il primo operazionale può essere configurato come inseguitore di tensione (a guadagno unitario), mentre il secondo operazionale è collegato come sottrattore. In questo modo, aumentando la tensione da un lato, la si diminuisce sull'altro ramo e viceversa.
Un difetto significativo di questa configurazione è la sua efficienza, che risulta piuttosto bassa e variabile in base al valore della tensione applicata al motore. Gli amplificatori, infatti, dissipano potenza a causa della differenza di tensione tra quella di alimentazione e quella applicata al motore, analogamente a quanto avviene nei regolatori lineari.
Il Ponte H: Una Soluzione Versatile
Qualora si faccia uso di un'alimentazione singola, l'inversione dell'alimentazione del motore, e una valida alternativa al controllo lineare, può essere ottenuta per mezzo di un ponte H.

Un ponte H è una configurazione circuitale che permette di applicare una tensione in una delle due polarità a un carico, come un motore, oppure di lasciare il carico disconnesso o in cortocircuito. È importante notare che in un ponte H solo due transistor (o interruttori) alla volta risultano attivi (chiusi), e mai due transistor dello stesso ramo, altrimenti si verificherebbe un cortocircuito delle alimentazioni.
Le configurazioni principali di un ponte H includono:
- Motore non alimentato: Tutti gli interruttori sono aperti.
- Rotazione oraria: Chiusura di opportuni interruttori per una direzione di rotazione.
- Rotazione antioraria: Chiusura di altri interruttori per la direzione opposta.
L'utilizzo di un ponte H offre la possibilità di controllare facilmente il verso di rotazione del motore anche con un'alimentazione singola. Se il ponte H viene controllato per mezzo di un segnale PWM, è inoltre possibile variare la velocità del motore stesso. Questa modalità rappresenta l'implementazione pratica di quanto descritto sul ponte H.

Il controllo di un motore DC in modalità "signed magnitude" (modulo e segno) è un esempio comune di implementazione del ponte H. Il segnale di enable viene utilizzato per il controllo della velocità tramite un segnale PWM. Impostando il segnale PWM a 0%, il motore risulta disattivo. Il verso di rotazione viene impostato per mezzo di un segnale ON-OFF (Right-Left) che attiva i rami opportuni del ponte H.
Frenatura del Motore con il Ponte H
Un motore in movimento può essere spento semplicemente disattivando il ponte o mettendo lo stesso in una configurazione frenante. Disattivando il ponte, il motore viene fermato unicamente dagli attriti (se libero di ruotare). Impostando il ponte in una delle due posizioni frenanti, il motore, oltre che dagli attriti, viene frenato da un effetto elettromagnetico che si crea cortocircuitando il motore stesso.
Un motore che ruota senza alimentazione (in rotazione libera) si comporta come una dinamo, generando ai suoi capi una forza elettromotrice (f.e.m.) o una tensione. Questa tensione è proporzionale alla velocità di rotazione del motore e ha segno opposto alla tensione che ha determinato la rotazione originale (legge di Faraday-Neumann-Lenz). Cortocircuitando i terminali di un motore in rotazione libera, circolerà una corrente limitata dalla resistenza degli avvolgimenti del motore e dalle resistenze dei transistor usati come interruttori. Questo flusso di corrente genera un campo magnetico che si oppone al movimento, frenando efficacemente il motore. Un esperimento semplice per verificare questo effetto è far ruotare un piccolo motorino DC tirando un filo avvolto sul rotore, e poi provare a fermarlo cortocircuitando i terminali.
Microstepping e Half Step
Nel contesto dei motori, in particolare quelli stepper, esistono tecniche avanzate per un controllo più preciso del movimento. Controllando in maniera opportuna i vari induttori, ovvero la corrente che circola in ognuno di essi, piuttosto che utilizzare un semplice stato ON-OFF, è possibile creare dei passi che possono essere una frazione del passo standard dichiarato sulla scheda tecnica del motore stesso. Questa tecnica è detta microstepping.
Qualora si abbia la necessità di ottenere solo il mezzo passo (half step), non è necessario il controllo della corrente, poiché attivando due induttori in contemporanea, il rotore si posiziona già a mezzo passo.
Motorini Stepper
I motori stepper sono dispositivi che convertono impulsi elettrici in movimenti angolari discreti. Attivando i singoli induttori in maniera sequenziale, è possibile mettere in movimento il motore stepper. A seconda del verso in cui vengono attivati gli induttori, si può ottenere una rotazione in senso orario o antiorario. Per il controllo di motori stepper unipolari, è necessaria una circuiteria simile a quella utilizzata per il controllo di motori DC ON-OFF.
Poiché i motori stepper, siano essi unipolari o bipolari, non possiedono spazzole, i condensatori per la soppressione dei transitori legati alle scintille non sono necessari. Ciononostante, radiazioni elettromagnetiche possono generarsi a causa delle repentine variazioni di correnti necessarie nella sequenza di rotazione.
Motori Stepper Bipolari
I motori stepper bipolari, diversamente dagli unipolari, pur possedendo lo stesso numero di induttori interni, hanno un numero ridotto di terminali. Questo è dovuto al fatto che gli induttori sono collegati in modo tale che la corrente debba essere invertita durante la sequenza di movimento del motore. Un motore stepper bipolare possiede due coppie di induttori che necessitano di essere controllate non solo in modalità ON-OFF, come nel motore stepper unipolare, ma anche nel verso della corrente. Per questo motivo, è consigliabile utilizzare un ponte H per ogni coppia di induttori. Per il controllo di motori stepper bipolari, un integrato molto utilizzato è l'L298, dal momento che al suo interno possiede due ponti H. Anche per i motori stepper bipolari, è possibile ottenere un movimento half step semplicemente controllando entrambe le fasi contemporaneamente.
Integrati Ponte H Commerciali
In commercio si trovano numerosi ponti H integrati, dove tutti i transistor sono racchiusi in un unico package. Tra i maggiori produttori di integrati dedicati al controllo di motori DC figurano aziende come TI, Trynamic, ST, National Semiconductor, Fairchild e Infineon. Nonostante la vasta scelta, molti ponti H possono risultare di difficile reperibilità e avere costi elevati. Spesso, i ponti H integrati sono a montaggio superficiale, rendendo il loro utilizzo piuttosto complicato per l'hobbistica, dato che l'aletta di raffreddamento è posta alla base del package e deve essere saldata correttamente.
Tra i ponti H di più facile reperibilità e con un costo relativamente contenuto, si annoverano l'L298, l'L293D e l'L6203 della ST, e l'LMD18200 della National Semiconductor.
L298
L'L298 possiede due ponti H integrati in un package Multiwatt15. Permette il controllo di due motori DC o di un singolo motore stepper bipolare. È realizzato per mezzo di transistor bipolari (BJT), il che lo rende meno efficiente rispetto ai ponti realizzati con transistor MOS. Infatti, la resistenza Ron dei transistor BJT è relativamente alta, portando a una maggiore dissipazione di energia interna. Risulta utile per il controllo di robot medio-piccoli, grazie alla capacità di controllare correnti fino a 2A per ponte e una tensione operativa fino a 48V. L'integrato include una protezione interna in caso di temperatura eccessiva, una situazione che può verificarsi in caso di stallo del motore.
L293D
L'L293D integra due ponti H ottenuti per mezzo di quattro buffer indipendenti con uscita push-pull, in un package DIL16. L'integrato è realizzato con transistor BJT. Ogni ramo del ponte è indipendente, consentendo di comandare anche quattro carichi induttivi separati, ovvero utilizzare diverse delle configurazioni sopra esposte, tra cui il controllo di 4 motori DC ON-OFF, due motori DC con controllo direzione o il controllo di un motore stepper unipolare/bipolare. Ogni ponte H permette di controllare correnti fino a 600mA e 1200mA di picco. Al suo interno sono già presenti i diodi di ricircolo a protezione dei transistor del ponte (l'integrato L293D esiste anche nella versione L293 senza diodi interni).
LMD18200
L'LMD18200 possiede un solo ponte H in un package Multiwatt11 e permette di controllare correnti continue fino a 3A e una tensione operativa di 55V. Include protezione termica e un segnale di warning per la temperatura che precede un possibile spegnimento dell'integrato. Questo ponte consente la misura della corrente assorbita dal motore tramite una tecnica di current sensing non basata su resistenza di potenza in serie al motore, limitando i costi della resistenza di potenza esterna e le dimensioni del PCB. L'integrato è anche disponibile nella versione senza current sensing LMD18201. I transistor di potenza del ponte sono di tipo DMOS (Double-diffused MOSFET) e non BJT, il che permette di ridurre la resistenza Ron del ponte, migliorandone l'efficienza. Le performance del ponte con controllo PWM sono ottime, ma i suoi costi sono circa 3-5 volte superiori a quelli del ponte L298. È particolarmente pratico per la realizzazione di schede di controllo di elevata potenza.
L6203
L'L6203 possiede un solo ponte H realizzato con transistor DMOS, disponibile in package Multiwatt15, Powerdip, SO20 e PowerSO20. Permette di controllare correnti continue fino a 4A e una tensione operativa massima di 42V. Il controllo della corrente avviene tramite una resistenza in serie con i motori, misurando la caduta di tensione su di essa. L'integrato dispone di una protezione termica che disattiva il ponte in caso di temperature elevate. A differenza dell'LMD18200, non possiede un pin dedicato per avvertire il raggiungimento di temperature intermedie, una funzionalità utile per prevenire spegnimenti improvvisi.
Considerazioni Progettuali Essenziali
Sebbene siano presenti sul mercato molte soluzioni integrate pronte per l'uso, un progetto accurato ed eseguito con attenzione è sempre di fondamentale importanza. È cruciale proteggere i transistor del ponte per mezzo di diodi di ricircolo, come descritto in precedenza. Inoltre, è necessario disaccoppiare in maniera opportuna le alimentazioni del motore e della circuiteria di controllo. Spesso, nei robot, si utilizzano due blocchi di batterie: uno per i motori e uno per l'unità di controllo. Qualora questo non sia possibile, un'attenta progettazione dei circuiti di alimentazione è ancor più critica per prevenire interferenze e garantire la stabilità del sistema.
tags: #transistor #bjt #pilotare #motore #dc #autoveicolo