Sommario:
- Passaggio 1: come funziona
- Passaggio 2: cosa ho usato?
- Passaggio 3: il caso
- Passaggio 4: elettronica
- Passaggio 5: il codice
- Passaggio 6: conclusione
Video: Controllo della temperatura con ventole Arduino e PWM: 6 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Controllo della temperatura con PID su Arduino e ventole PWM per il raffreddamento di server/rack di rete fai da te
Qualche settimana fa avevo bisogno di configurare un rack con dispositivi di rete e alcuni server.
Il rack è posto in un garage chiuso, quindi l'escursione termica tra inverno ed estate è piuttosto elevata, e anche la polvere potrebbe essere un problema.
Navigando in Internet alla ricerca di soluzioni di raffreddamento, ho scoperto che sono piuttosto costosi, almeno al mio posto, essendo >100€ per 4 ventilatori a soffitto da 230V con termostato. Non mi è piaciuto l'azionamento del termostato perché aspira molta polvere quando è alimentato, a causa delle ventole che funzionano a piena potenza e non fornisce alcuna ventilazione quando non è alimentato.
Quindi, insoddisfatto di questi prodotti, ho deciso di seguire la strada del fai da te, costruendo qualcosa che possa mantenere una certa temperatura senza problemi.
Passaggio 1: come funziona
Per rendere le cose molto più semplici sono andato per i fan DC: sono molto meno rumorosi dei fan AC mentre sono un po' meno potenti, ma sono comunque più che sufficienti per me.
Il sistema utilizza un sensore di temperatura per controllare quattro ventole azionate da un controller Arduino. L'Arduino limita le ventole utilizzando la logica PID e le guida tramite PWM.
La temperatura e la velocità della ventola sono riportate attraverso un display a 7 segmenti a 8 cifre, montato su una barra di alluminio montata su rack. Oltre al display sono presenti due pulsanti per la regolazione della temperatura target.
Passaggio 2: cosa ho usato?
Nota: ho cercato di realizzare questo progetto con cose che avevo in casa, quindi non tutto può essere l'ideale. Il budget era una preoccupazione.
Ecco i componenti che ho utilizzato:
-
Hardware
- Un pannello acrilico: usato come base (€ 1,50);
- Quattro profili in PVC sagomato a L 3,6x1cm (€ 4,00);
- Un pannello in alluminio: tagliato a 19" di larghezza (€ 3,00);
- Elettronica
- Quattro ventole PWM da 120mm: ho optato per Arctic F12 PWM PST per la possibilità di impilarle in parallelo (4x € 8,00);
- One Pro Micro: qualsiasi scheda alimentata ATMega 32u4 dovrebbe funzionare bene con il mio codice (€ 4,00);
- Una scheda relè: per spegnere i ventilatori quando non servono (€ 1,50);
- Un modulo display MAX7219 8 cifre 7 segmenti (€ 2,00);
- Tre pulsanti momentanei, 1 di reset (€ 2,00);
- Un interruttore di alimentazione da 3A (€ 1,50);
- Un accoppiatore per cavo LAN: per scollegare facilmente l'assieme principale dal pannello display (€ 2,50);
-
Un alimentatore a doppia uscita 5V e 12V: è possibile utilizzare 2 alimentatori separati o un 12V con un convertitore step down a 5V (€ 15,00);
- Cavi, viti e altri componenti minori (€ 5,00);
Costo totale: € 74,00 (se dovessi acquistare tutti i componenti su Ebay/Amazon).
Passaggio 3: il caso
La custodia è composta da 4 sottili profili in plastica a forma di L incollati e rivettati su una tavola acrilica.
Tutti i componenti della scatola sono incollati con resina epossidica.
Quattro fori da 120 mm sono tagliati nell'acrilico per adattarsi alle ventole. Viene praticato un foro aggiuntivo per il passaggio dei cavi del termometro.
Il pannello frontale ha un interruttore di alimentazione con un indicatore luminoso. Sulla sinistra, due fori lasciano uscire il cavo del pannello frontale e il cavo USB. Viene aggiunto un pulsante di ripristino aggiuntivo per una programmazione più semplice (Pro Micro non ha un pulsante di ripristino e talvolta è utile per caricare un programma su di esso).
La scatola è sostenuta da 4 viti che passano attraverso i fori della base in acrilico.
Il pannello frontale è costituito da un pannello in alluminio spazzolato, tagliato a 19 di larghezza e con un'altezza di ~4cm. Il foro del display è stato realizzato con un Dremel e gli altri 4 fori per viti e bottoni sono stati realizzati con un trapano.
Passaggio 4: elettronica
La scheda di controllo è piuttosto semplice e compatta. Durante la realizzazione del progetto, ho scoperto che quando fornisco 0% PWM alle ventole, queste funzioneranno a piena velocità. Per fermare completamente la rotazione delle ventole, ho aggiunto un relè che spegne le ventole quando non sono necessarie.
Il pannello frontale è collegato alla scheda tramite un cavo di rete che, utilizzando un accoppiatore per cavi, può essere facilmente staccato dall'armadio principale. Il retro del pannello è costituito da un condotto elettrico 2,5x2,5 e fissato al pannello con nastro biadesivo. Il display è inoltre fissato al pannello con nastro adesivo.
Come puoi vedere negli schemi, ho usato alcuni resistori di pullup esterni. Questi forniscono un pullup più forte di quelli di Arduino.
Gli schemi di Fritzing possono essere trovati sul mio repository GitHub.
Passaggio 5: il codice
Le specifiche di Intel per le ventole a 4 pin suggeriscono una frequenza PWM target di 25 KHz e un intervallo accettabile da 21 kHz a 28 kHz. Il problema è che la frequenza predefinita di Arduino è 488Hz o 976Hz, ma ATMega 32u4 è perfettamente in grado di fornire frequenze più alte, quindi dobbiamo solo impostarlo correttamente. Ho fatto riferimento a questo articolo sul PWM di Leonardo per sincronizzare il quarto timer a 23437Hz, che è il più vicino possibile a 25KHz.
Ho utilizzato varie librerie per il display, il sensore di temperatura e la logica PID.
Il codice completo aggiornato può essere trovato sul mio repository GitHub.
Passaggio 6: conclusione
Quindi eccolo qui! Devo aspettare fino a quest'estate per vederlo effettivamente in azione, ma sono abbastanza sicuro che funzionerà bene.
Sto pensando di creare un programma per vedere la temperatura dalla porta USB che ho collegato a un Raspberry Pi.
Spero che tutto sia stato comprensibile, se no fatemelo sapere e mi spiego meglio.
Grazie!
Consigliato:
TouchFree: controllo automatico della temperatura e chiosco per il rilevamento della maschera: 5 passaggi
TouchFree: controllo automatico della temperatura e chiosco per il rilevamento della maschera: con la riapertura dei paesi di tutto il mondo, convivere con il nuovo coronavirus sta diventando il nuovo stile di vita. Ma per fermare la diffusione del virus dobbiamo separare le persone che hanno il Coronavirus dal resto. Secondo il CDC, la febbre è la l
Controllo della luminosità Controllo LED basato su PWM tramite pulsanti, Raspberry Pi e Scratch: 8 passaggi (con immagini)
Controllo della luminosità Controllo LED basato su PWM tramite pulsanti, Raspberry Pi e Scratch: stavo cercando di trovare un modo per spiegare come funzionava il PWM ai miei studenti, quindi mi sono posto il compito di provare a controllare la luminosità di un LED utilizzando 2 pulsanti - un pulsante aumenta la luminosità di un LED e l'altro lo attenua. Per programmare
Controllo batteria con selezione della temperatura e della batteria: 23 passaggi (con immagini)
Controllo batteria con selezione della temperatura e della batteria: tester di capacità della batteria. Con questo dispositivo è possibile controllare la capacità della batteria 18650, acido e altro (la batteria più grande che ho testato è la batteria acida 6v 4,2A). Il risultato del test è in milliampere/ora. Creo questo dispositivo perché ho bisogno di verificare
Controllo della velocità e della luce del motore CC PWM - Dimmer DC: 7 passaggi
Controllo della velocità e della luce del motore CC PWM | DC Dimmer: oggi in questo video ti mostrerò come attenuare le luci, controllare la velocità di un motore in DC o corrente continua, quindi iniziamo
CONTROLLO DELLA DIREZIONE E DELLA VELOCITÀ DEL MOTORE CC CON LABVIEW (PWM) E ARDUINO: 5 passaggi
DIREZIONE E CONTROLLO DELLA VELOCITÀ DEL MOTORE CC UTILIZZANDO LABVIEW (PWM) E ARDUINO: Ciao ragazzi, prima di tutto scusate per il mio inglese divertente. In questo tutorial vi mostrerò come controllare la velocità di un motore CC utilizzando labview Cominciamo