Raspberry Pi controllo ventola: come implementarlo da zero

Come implementare da zero un controllo ventola per Raspberry Pi? In questo articolo scopriamo come realizzarne uno da zero grazie al potere di Python!

Raspberry Pi non è un cima nel controllo della temperatura: nel caso non lo sapessi non è stato progettato per essere all'interno di un case, al contrario per stare all'aria aperta.

Argomento che ho trattato ampiamente in questo articolo se vuoi approfondire, la gestione e il controllo della temperatura di Raspberry Pi è strettamente correlata a uno strumento, anzi: ad una soluzione. 

Specialmente per i Raspberry Pi più potenti, a maggior ragione se stai usando il model 4 con 8GB di RAMè opportuno implementare una soluzione che si chiama "Sistema di dissipazione".

Nel nostro caso una ventola: Perchè parlare di controllo ventola e come implementarne uno da zero?

A differenza delle schede madri che usiamo per i nostri computer, Raspberry Pi non mette a disposizione dei driver nativi per le ventole e dei sistemi di controllo integrati.

Per quale motivo ci serve un controllo ventola?

Senza driver a disposizione o circuiti pensati per controllare una ventola, succede una cosa a dir poco inefficiente.

Una ventola, da un punto di vista elettrico, non è nient'altro che un motore DC che fa girare delle pale.

Non c'è niente di magico: solo la corrente che permette di farlo girare.

Ma perchè parlare di efficienza? Perché un motore DC ha bisogno di un sistema che gli dica QUANDO e QUANTO FORTE girare.

Dimenticavo: anche per quanto tempo.

E prima che me ne scordi: in funzione di un altro parametro, la temperatura.

In termini ancora più semplici: la ventola deve girare QUANDO la temperatura del processore e/o della GPU è TROPPO ALTA e deve girare tanto FORTE QUANTO necessario a ridurre la temperatura in questione a un valore decente.

... Che non ti faccia bruciare Raspberry Pi, insomma.

Certo, potremmo far girare la ventola a velocità costante e in maniera indefinita: ma è uno spreco di corrente inutile, non ci serve.

 

Ha forse senso tenere acceso il riscaldamento se ci sono 28 gradi nella tua stanza? NO, lo accendi solo nel momento in cui è necessario portare la temperatura della stessa a un valore gradevole!

 

Controllo ventola per Raspberry Pi: il circuito

Da un punto di vista circuitale, ti servirà un transistor, una resistenza e... La ventola. Per intenderci:

Nel circuito, noterai il transistor NPN posto fra la GPIO di Raspberry Pi e uno dei due morsetti del motore.

Prima di confonderti: la ventola, sarebbe il motore 😀

Ciò detto: perchè usare un transistor? In linea generale le ventole operano con 5V e la GPIO con i suoi pin è in grado di erogarne solo 3,3V: perciò ci serve dare potenza in qualche modo.

Questo discorso, così come il transistor, lo puoi tranquillamente saltare se la tua ventola funziona con 3,3V!

Per passare oltre, il transistor servirà in ogni caso a controllare l'accensione e lo spegnimento della ventola.

Siamo arrivati a realizzare metà del nostro controllo per ventola: andiamo oltre.

Come implementare la parte lato codice

Per il codice possiamo utilizzare un repository noto come "pi-fan-controller" e procedere ad installarlo sul nostro Raspberry Pi tramite: 

 

git clone https://github.com/Howchoo/pi-fan-controller.git

 

Non basta: dobbiamo installare anche un altro paio di requisiti necessari per il controllo:

 

sudo pip3 install -r pi-fan-controller/requirements.txt

 

Infine, per poter eseguire lo script di controllo della ventola:

 

./pi-fan-controller/script/install

In questo modo avrai a tua disposizione per il tuo Raspberry Pi un controllo per ventola totalmente fatto da zero.

Ma non solo: ti invito a scoprire maggiori dettagli all'interno del codice che compone questo sistema, potrai anche impostarlo tu secondo le tue necessità, magari imparando anche a gestire gli script su Raspberry Pi 😉

 

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend