Cerca

modulo attività

modulo tecnica

Circuiti per pilotare motorini in PWM

MOSFET

Micro:bit può anche essere utilizzato per pilotare dei motorini (nota 1).

Un motorino cc per applicazioni modellistiche (robot, piccoli veicoli) assorbe correnti che non sono alla portata di micro:bit.

Con  l'aggiunta di componenti elettronici è possibile alimentare motori più potenti.

 

In diverse applicazioni disponibili sul web, per controllare la luminosità di un LED viene usato il PWM, la stessa tecnica può essere utilizzata per modificare la velocità dei motorini cc.

La tecnica è stata illustrata nell'articolo "controllare un LED".

In questo articolo si illustra il metodo di pilotaggio di un motorino della potenza di qualche watt alimentato con tensione PWM (Pulse Width Modulation) che fa uso di qualche componente elettronico aggiuntivo per aumentarne la potenza.

Dato che si usa il metodo PWM (Pulse Width Modulation) per controllare la velocità del motorino, tutti i componenti del circuito funzionano in commutazione:
- o si comportano come interruttori aperti per cui non lasciano passare corrente
- o si comportano come interruttori chiusi per cui passa tutta la corrente possibile.

In questo modo, per regolare la potenza si deve "parzializzare la tensione" nel senso che si fa in modo di rendere intermittente l'elimentazione del  motore: periodicamente si accende e si spegne l'alimentazione del motore utilizzando un interruttore.

Il ciclo acceso/spento deve ripetersi ad una frequenza tale da non produrre effetti indesiderati; in micro:bit la frequenza è 50Hz.

Il comando da utilizzare per il comando PWM è del tipo "analog write __":

analogWrite

Questo comando agisce sul duty cycle della tensione che alimenta il motore.

Il duty cycle, anche detto rapporto di intermittenza, è il rapporto fra durata di conduzione e dutrata del periodo.

Se si scrive il valore "0", il duty cycle è "0", la tensione sul motore è zero per cui sta fermo; se si scrive "1023" il duty cycle è "100", la tensione è uguale a quella di alimentazione ed il motore gira alla velocità massima (nota 2). 

Se si scrive "512" il dutycycle è "50" e la tensione per metà del periodo è uguale alla tensione di alimentazione e per l'altra metà del periodo è "0"; il valore medio è la metà del valore massimo con conseguente funzionamento a velocità ridotta (circa la metà).

Amplificatori di potenza

Per controllare un motorino utilizzabile in progetti hobbistici è necessario disporre di maggiore potenza.

L'uscita disponibile ai GPIO di micro:bit è utilizzata per pilotare un circuito capace di erogare maggiore corrente eventualemente a tensioni maggiori.

Vengono proposti diversi circuiti con lo scopo di assicurare alcune caratteristiche di funzionamento:

- proteggere tutti i dispositivi da sovracorrenti, sovratensioni e surriscaldamenti;

- proteggere le persone dalla elettrocuzione in caso di utilizzo di tensioni alte (>50V);

- minimizzare la corrente sui pin di micro:bit tenendola al di sotto di 1mA o meno;

- assicurare una commutazione rapida del dispositivo di potenza per minimizzare il calore da dissipare;

- prevenire accensioni intempestive all'atto dell'avvio del circuito (argomento che non viene rattato in questo articolo).

 

Gli schemi proposti sono i seguenti:

1) utilizzo di un transistor NPN (detto anche BJT)

2) utilizzo di un MOSFET,

3) utilizzo di un transistor NPN ed un MOSFET,

4) utilizzo di un optoisolatore.

 

Nota importante: l'uscita digitale di micro:bit è sempre a bassa impedenza:

- quando l'uscita è "HIGH" la tensione è 3V ed il terminale eroga la corrente che il circuito richiede;

- quando l'uscita è "LOW" la tensione è "0V" ed il terminale assorbe la corrente che il circuito consente.

L'uscita di  micro:bit è paragonabile ad un commutatore fra i valori di tensione "0V" e "3V", non è paragonabile ad un interruttore che fornisce "3V" oppure niente perchè apre il circuito.

Questa considerazione è molto importante per rendersi conto che il comando di un componente elettronico è diverso se la tensione commuta fra due valori o se detta tensione non esiste perché viene interrotto il circuito.

 

transistor1) circuito con transistor NPN

L’uscita di micro:bit viene utilizzata per inviare una corrente di valore “sufficiente" alla base di un transistor NPN in modo da farlo funzionare in regime di saturazione (come un interruttore chiuso).

Quando P1 vale "LOW" la tensione è nulla e la Base del transistor non può essere percorsa da corrente.

Se la corrente di Base è nulla il transistor si trova in interdizione (come un interruttore aperto) e non può circolare corrente fra Collettore ed Emettitore.

Quando P1 vale "HIGH" la tensione è 3V e può circolare corrente di Base in quanto detta tensione è superiore alla tensione necessaria per mettere in conduzione la giunzione BE.

La corrente di Base provoca la circolazione di corrente fra Collettore ed Emettitore.

Un esempio è trattato nel sito di kitronic.

 

In assenza di dati forniti dal costruttore del transistor, per essere sicuri che il transistor entri in saturazione è sufficiente che la corrente di Base IB sia un decimo della corrente di collettore IC.


Esempio: se IC= 1A, allora è necessaria una IB = 0,1A.

Con i valori dello schema, quando il pin P1 di micro:bit è “alto”, la tensione è 3V per cui la corrente di base sarà

 

\[I_B=\dfrac{V_{CC}-V_{BE}}{R_B} =\dfrac{3-0.6}{2.200}=1,1mA \]

ed il transistor entra in conduzione funzionando come un interruttore chiuso finché la corrente di collettore non supera 11mA.

In questo esempio è stata realizzata una certa amplificazione di potenza che risulta essere sufficiente per una piccola ventola ma non per un motorini più grandi.

Si può portare la corrente di Base IB al limite superiore per le uscite di micro:bit, cioè 5mA.
Per avere questa corrente si deve inserire una resistenza di base RB di 470Ω.

In questo caso si possono pilotare motori che assorbono 50mA.

È un valore interessante ma non è ancora sufficiente, occorre un’amplificazione di corrente più spinta.

Agendo sulla tensione di alimentazione del motore si può comunque aumentare la potenza controllata.

Nei piccoli progetti di livello hobbistico si arriva ai 12V di una batteria, raramente si dispone di maggiori tensioni (nota 3).

Una trattazione esauriente si trova in “Tips & Tricks”.

Nota: il transistor BC109 è lì solo perché è facilemte reperibile, tutti gli NPN vanno bene a questa frequenza di commutazione (50Hz).

 

2) circuito con MOSFET

Il MOSFET viene pilotato tramite la tensione del Gate:MOSFET

- quando la tensione di Gate è sotto un valore di soglia, il MOSFET presenta una resistenza di valore altissimo fra Drain e Source e si comporta come un interruttore aperto;

- quando la tensione di Gate è superiore al valore di soglia, il MOSFET presenta una resistenza di valore bassissimo tra Drain e Source e si comporta come un interruttore chiuso.

Dato che assorbe pochissima o nessuna corrente è ottimo per essere utilizzato con micro:bit.

Attenzione: occorre utilizzare un MOSFET per “logic level” che ha una tensione di soglia di 2V. I MOSFET ordinari hanno bisogno di 10V per commutare bene per cui la tensione imposta da micro:bit non sarebbe adatta.

Una debole corrente di Gate è comunque necessaria per caricare e scaricare la capacità presenta fra il terminale di Gate ed il substrato.

La corrente, quindi, fluice solo in occasione delle commutazioni.

Per essere certi che la commutazione avvenga, il circuito di Gate deve sempre consentire circolazione di corrente sia in ingresso, all'accensione, che in uscita, allo spegnimento

Con una resistenza di Gate di 1kΩ si realizza un pilotaggio adeguato senza caricare troppo micro:bit.

La tensione di alimentazione del motore e la corrente dipendono solo dalle caratteristiche del MOSFET (nota 4).

Per saperne di più sui MOSFET in commutazione vedere qui link1

Un articolo molto interessante si trova in "Tips & Tricks".

 

3) Transistor e MOSFET

Un circuito alternativo realizza il pilotaggio del MOSFET per mezzo di un transistor NPN.

Il MOSFET viene correttamente pilotato dal circuito di GATE in quanto sono consentite sia la corrente di carica che quella di scarica della capacità di Gate.trMOSFET

Il vantaggio consiste nel poter alimentare il Gate del MOSFET con tensione di soglia più elevata di 2V perché permetterebbe l’uso di MOSFET ordinari che hanno una resistenza di conduzione molto bassa.

Basterebbe, infatti, alimentare il collettore del transistor, anziché con i 5V indicati nello schema con 10-20V disponibili altrimenti, per avere la stessa tensione sul Gate del MOSFET.

Ci sono però due considerazioni da fare:

- tensioni molto elevate sul circuito di potenza (>50V) rendono pericoloso il suo impiego per il rischio di elettrocuzione anche dal lato del circuito di pilotaggio che di solito è manipolato direttamente specie in fase di prototipazione;

- il comando viene invertito perché ad una tensione positiva in uscita dal P1 di micro:bit corrisponde una tensione nulla sul carico e viceversa … comunque è un falso problema in quanto si risolve agendo sul software, bisogna solo esserne consapevoli!

 

4) circuito con optoisolatore

optoUn optoisolatore permette di separare galvanicamente le due parti scongiurando il pericolo di elettrocuzione quando si manipola il lato del microcontrollore che funziona in bassa tensione mentre il lato di potenza funziona a valori di tensione pericolose (ovviamente da segregare per non poter toccare involontariamente le sue parti).

Il transistor di uscita dell'optoisolatore, lavorando in commutazione, si trova in una fra due situazioni:

- quando riceve luce dal fotodiodo, il transistor entra in conduzione, la corrente di carica della capacità di Gate può circolare, il Gate viene messo in tensione ed il MOSFET entra in conduzione;

- quando dal fotodiodo non arriva luce, il transistor entra in interdizione, si apre, la capacità di Gate può scaricarsi grazie alla presenza delle due resistenze che collegano il Gate a GROUND.

La resistenza che collega l'Emittitore alla massa è di fondamentale importanza per il corretto funzionamento del circuito. Se non ci fosse questo collegamento verso massa, non sarebbe possibile la circolazione della corrente di scarica della capacità del Gate ed il MOSFET resterebbe in conduzione per lungo tempo (fino a quando la capacità suddetta non si sarebbe finalmente scaricata).

 

Nota: nello schema utilizzato la massa (GND) è la stessa per i due lati solo per consentire misurazioni contemporanee di forme d’onda con l’oscilloscopio, con questo schema la separazione galvanica non esiste.

Negli usi industriali le due masse possono essere indipendenti: è la luce emessa dal fotodiodo che realizza il comando del MOSFET per cui non c’è bisogno di connessione galvanica fra le due parti del circuito.

Anche micro:bit si avvantaggia di questo schema per il fatto che le tensioni provocate da commutazioni sulla parte di potenza non si trasferiscono sui suoi pin danneggiandolo irreparabilmente.

 

Il diodo di libera circolazione
In tutti gli schemi appare in grigio un diodo collegato ai capi del motore: è il diodo di libera circolazione o free wheeling diode.
La sua presenza può sembrare non necessaria ma serve ad impedire che la extracorrente di interruzione, che si verifica quando c'è un carico ohmico-induttivo, produca sovratensioni pericolose per i componenti, per il motore e per le persone.

È stato prodotto un video che illustra la relazione fra il PWM generato dal piedino P1 di micro:bit e la velocità di un motoriduttore pilotato per mezzo di un MOSFETvideo2.

A questo link1 è disponibile la scheda dell'esperimento realizzato per creare il video suddetto.

Allink1 è disponibile una scheda di approfondimento.

Questo è unlink1ad un articolo di questo sito dove si esamina cosa accade quando si interrompe un carico ohmico-induttivo.

 

Note

nota 1: ad onor del vero si tratterebbe di motorini piccolissimi data la potenza erogabile troppo modesta di micro:bit. Con 3V e 5mA si può, al massimo, comandare un motorino da 15mW. Per questa ragione alcuni progettisti preparano delle schede per consentire il pilotaggio di piccoli motori da usare per veicoli comandati con Micro:bit.

nota 2: la gamma 0-1023 comprende 1024 valori che sono quelli ottenibili con 10 bit (1024=2^10).

nota 3: ed è anche opportuno che sia così per evitare problemi sulla sicurezza elettrica.

nota 4: una resistenza da 10K  fra Gate e GROUND renderebbe più sicuro il funzionamento di micro:bit.