Sommario:
- Passaggio 1: parti necessarie
- Passaggio 2: collegamenti elettrici
- Passaggio 3: programma per controllare la velocità della ventola
- Passaggio 4: eseguire il programma all'avvio
Video: Ventola con regolazione PWM basata sulla temperatura della CPU per Raspberry Pi: 4 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Molte custodie per Raspberry Pi sono dotate di una piccola ventola da 5 V per aiutare a raffreddare la CPU. Tuttavia, queste ventole sono generalmente piuttosto rumorose e molte persone le collegano al pin 3V3 per ridurre il rumore. Queste ventole sono generalmente classificate per 200 mA, che è piuttosto alto per il regolatore 3V3 sull'RPi. Questo progetto ti insegnerà come regolare la velocità della ventola in base alla temperatura della CPU. A differenza della maggior parte dei tutorial che trattano questo argomento, non solo accenderemo o spegneremo la ventola, ma controlleremo la sua velocità come avviene sui PC tradizionali, utilizzando Python.
Passaggio 1: parti necessarie
Per questo progetto utilizzeremo solo alcuni componenti che solitamente sono inclusi nei kit di elettronica per hobbisti che puoi trovare su Amazon, come questo.
- Raspberry Pi con Raspbian (ma dovrebbe funzionare con altre distribuzioni).
- Ventola 5V (ma una ventola da 12V potrebbe essere utilizzata con un transistor adattato e un alimentatore da 12V).
- Transistor NPN che supporta almeno 300 mA, come un 2N2222A.
- Resistenza da 1K.
- 1 diodo.
Facoltativo, per inserire i componenti all'interno del case (ma non ancora fatto):
- Un piccolo pezzo di scheda prototipale, per saldare i componenti.
- Grande termoretraibile, per proteggere la tavola.
Passaggio 2: collegamenti elettrici
Il resistore può essere collegato in entrambi i modi, ma fai attenzione alla direzione del transistor e del diodo. Il catodo del diodo deve essere collegato al filo +5V (rosso) e l'anodo deve essere collegato al filo GND (nero). Controlla il documento del tuo transistor per i pin dell'emettitore, della base e del collettore. La terra del ventilatore deve essere collegata al collettore e la terra di Rpi deve essere collegata all'emettitore
Per controllare la ventola, dobbiamo utilizzare un transistor che verrà utilizzato in configurazione a collettore aperto. In questo modo, abbiamo un interruttore che collegherà o disconnetterà il filo di terra dalla ventola alla terra del lampone pi.
Un transistor NPN BJT conduce a seconda della corrente che scorre nel suo gate. La corrente che potrà fluire dal collettore (C) all'emettitore (E) è:
Ic = B * Ib
Ic è la corrente che scorre attraverso il collettore dell'emettitore, Ib è la corrente che scorre attraverso la base verso l'emettitore e B (beta) è un valore che dipende da ciascun transistor. Approssimiamo B = 100.
Poiché la nostra ventola è classificata come 200 mA, abbiamo bisogno di almeno 2 mA attraverso la base del transistor. La tensione tra la base e l'emettitore (Vbe) è considerata costante e Vbe = 0, 7V. Ciò significa che quando il GPIO è acceso, abbiamo 3,3 - 0,7 = 2,6 V al resistore. Per avere 2 mA attraverso quel resistore, abbiamo bisogno di un resistore di, massimo, 2,6/0,002 = 1300 ohm. Usiamo un resistore da 1000 ohm per semplificare e mantenere un margine di errore. Avremo 2,6 mA attraverso il pin GPIO che è totalmente sicuro.
Poiché un ventilatore è fondamentalmente un motore elettrico, è una carica induttiva. Ciò significa che quando il transistor smette di condurre, la corrente nella ventola continuerà a fluire mentre una carica induttiva cerca di mantenere costante la corrente. Ciò comporterebbe un'alta tensione sul pin di massa della ventola e potrebbe danneggiare il transistor. Ecco perché abbiamo bisogno di un diodo in parallelo alla ventola che farà fluire la corrente costantemente attraverso il motore. Questo tipo di configurazione del diodo è chiamato diodo volano
Passaggio 3: programma per controllare la velocità della ventola
Per controllare la velocità della ventola, utilizziamo un segnale PWM software dalla libreria RPi. GPIO. Un segnale PWM è ben adattato per pilotare motori elettrici, poiché il loro tempo di reazione è molto elevato rispetto alla frequenza PWM.
Usa il programma calib_fan.py per trovare il valore FAN_MIN eseguendo nel terminale:
python calib_fan.py
Controlla diversi valori tra 0 e 100% (dovrebbe essere intorno al 20%) e vedi qual è il valore minimo per accendere la tua ventola.
È possibile modificare la corrispondenza tra temperatura e velocità del ventilatore all'inizio del codice. Devono essere presenti tanti tempSteps quanti sono i valori speedSteps. Questo è il metodo generalmente utilizzato nelle schede madri dei PC, spostando i punti su un grafico a 2 assi Temp/Velocità.
Passaggio 4: eseguire il programma all'avvio
Per eseguire il programma automaticamente all'avvio, ho creato uno script bash in cui inserisco tutti i programmi che voglio avviare, quindi lancio questo script bash all'avvio con rc.locale
- Crea una directory /home/pi/Scripts/ e posiziona il file fan_ctrl.py all'interno di quella directory.
- Nella stessa directory, crea un file chiamato launcher.sh e copia lo script qui sotto.
- Modifica il file /etc/rc.locale e aggiungi una nuova riga prima di "exit 0": sudo sh '/home/pi/Scripts/launcher.sh'
script launcher.sh:
#!/bin/sh#launcher.sh # vai alla directory home, quindi a questa directory, quindi esegui lo script python, quindi torna homelocalecd /cd /home/pi/Scripts/sudo python3./fan_ctrl.py &cd /
Se vuoi usarlo con OSMC, ad esempio, devi avviarlo come servizio con systemd.
- Scarica il file fanctrl.service.
- Controlla il percorso del tuo file python.
- Posiziona fanctrl.service in /lib/systemd/system.
- Infine, abilita il servizio con sudo systemctl enable fanctrl.service.
Questo metodo è più sicuro, poiché il programma verrà riavviato automaticamente se ucciso dall'utente o dal sistema.
Consigliato:
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: 3 passaggi
Controllore automatico della luce e della ventola della stanza con contatore visitatori bidirezionale: spesso vediamo contatori visitatori in stadi, centri commerciali, uffici, aule, ecc. Come contano le persone e accendono o spengono la luce quando nessuno è all'interno? Oggi siamo qui con il progetto di controllo automatico della luce ambientale con contatore visitatori bidirezionale
Raspberry Pi Box di ventola di raffreddamento con indicatore della temperatura della CPU: 10 passaggi (con immagini)
Raspberry Pi Box di raffreddamento FAN con indicatore della temperatura della CPU: avevo introdotto il circuito dell'indicatore della temperatura della CPU raspberry pi (di seguito come RPI) nel progetto precedente. Il circuito mostra semplicemente RPI 4 diversi livelli di temperatura della CPU come segue.- LED verde acceso quando La temperatura della CPU è entro 30~
Indicatore della temperatura della CPU Raspberry Pi: 11 passaggi (con immagini)
Indicatore della temperatura della CPU Raspberry Pi: in precedenza avevo introdotto un semplice circuito indicatore di stato operativo lampone pi (di seguito come RPI). Questa volta, spiegherò alcuni circuiti indicatori più utili per l'RPI in esecuzione come modalità headless (senza monitor). CPU
Condotto della ventola di aspirazione della CPU del computer da $ 3: 7 passaggi (con immagini)
$ 3 Condotto della ventola di aspirazione della CPU del computer: Avere un condotto di aspirazione direttamente dal lato del case del computer nella ventola della CPU può darti un raffreddamento molto migliore rispetto a qualsiasi altra opzione di raffreddamento (ad aria). Invece di utilizzare l'aria aspirata da una porta anteriore, che ha il tempo di riscaldarsi da un altro componente
Pad di raffreddamento per laptop fai da te - Impressionanti trucchi di vita con ventola della CPU - Idee creative - Ventola del computer: 12 passaggi (con immagini)
Pad di raffreddamento per laptop fai da te | Impressionanti trucchi di vita con ventola della CPU | Idee creative | Fan del computer: devi guardare questo video fino alla fine. per capire il video