Corso base di Arduino: pilotare grossi carichi con l'IRL540

Oggi vediamo come pilotare grossi carichi con Arduino e un mosfet di potenza come l'IRL540.

Avatar di Elettronica Open Source

a cura di Elettronica Open Source

banner prova1

Il Mosfet di potenza della terza generazione IRL540 sembra stato creato apposta per il pilotaggio di grossi carichi da parte dei microcontrollori. La lettera L nella sua sigla sta, infatti, per Logic-Level Gate Drive. È molto veloce, costa poco e ha una limitata Rdson che si traduce in una dissipazione quasi nulla e temperature basse di funzionamento. Inoltre il suo pilotaggio avviene senza problemi anche con una tensione di "gate" pari a 3.3 V. In figura 1 si può osservare il transistor (in contenitore TO220AB), assieme alla sua piedinatura. Le sue caratteristiche elettriche sono estremamente interessanti: la VDS massima è di 100 V, e la corrente massima di drain è pari a 28 A, per una totale dissipazione di ben 150 W. Un piccolo cavallo insomma.

figura 1 irl540
Figura 1: Il Mosfet IRL540

Lampeggiatore ad alta potenza

Lo schema della figura 2 mostra Arduino collegato a una lampada di grossa potenza, caratterizzata da una tensione di alimentazione di 12 V, una resistenza di 1 ohm, una corrente di assorbimento di ben 12 A e, quindi, una dissipazione di circa 144 W. Per illuminarla occorre una batteria molto grossa.

figura 2 schema lampada
Figura 2: Schema elettrico con una lampada e un MOSFET

La lampada è collegata ad Arduino sulla porta 7. In caso di livello logico alto, il gate del Mosfet si trova ovviamente alla tensione di 5 V (ma non c'è praticamente passaggio di corrente, data la sua altissima impedenza d'ingresso) e il drain è attraversato dalla massima corrente (circa 12 A). In tale condizione l'IRL540 dissipa una potenza di circa 7 W, non male per pilotare un carico di quella portata. Se il transistor dovesse scaldare si dovrebbe prevedere un'adeguata aletta di raffreddamento.

Lo sketch del lampeggiatore

La figura 3 riporta il semplicissimo listato del lampeggiatore. Il pin 7 è configurato come uscita digitale, all'interno della funzione setup(). La funzione loop(), invece, attiva e disattiva, ciclicamente, tale porta, alla frequenza di un Hertz.

figura 3 sketch lampeggiatore
Figura 3: Lo sketch del lampeggiatore ad alta potenza

In figura 4 è riportato il grafico della corrente che attraversa la lampada, nel dominio del tempo, durante il funzionamento del prototipo.

figura 4 grafico corrente lampada
Figura 4: Il grafico della corrente che transita sulla lampada

Motore in continua

Con tale componente è possibile anche pilotare un motore in corrente continua. Tramite la tecnica del PWM si può variare la sua velocità senza influire, peraltro, sulla coppia. La figura 5 mostra lo schema elettrico. Un diodo di ricircolo è montato in "antiparallelo" al carico, per eliminare i pericolosi picchi di tensione, dovuti agli avvolgimenti del motore.

figura 5 schema elettrico motore
Figura 5: Schema elettrico per il pilotaggio del motore in C/C

Lo sketch

Il listato proposto in figura 6 ha lo scopo di pilotare il motore, secondo le seguenti diverse temporizzazioni e potenze:

  • 5 secondi allo 0%;
  • 10 secondi al 25%;
  • 10 secondi al 50%;
  • 10 secondi al 75%;
  • 10 secondi al 100%.

Il motore aumenterà la propria velocità di rotazione a ogni variazione del duty cycle del segnale PWM, come evidenziato dagli oscillogrammi di cui in figura 6.

figura 6 duty cycles
Figura 6: I vari duty cycles per le diverse velocità del motore

In figura 7 è riportato il semplice listato. Si ricorda che per adottare la tecnica del PWM occorre utilizzare solamente i pin di Arduino predisposti a tale tipologia di lavoro.

figura 7 sketch motore
Figura 7: Lo sketch per il pilotaggio del motore

Tom's Consiglia

Per chi inizia ora e voglia dotarsi di tutto l'occorrente, Arduino Uno si trova facilmente a un prezzo abbordabile.