Sommario:

Controllo della temperatura con ventole Arduino e PWM: 6 passaggi (con immagini)
Controllo della temperatura con ventole Arduino e PWM: 6 passaggi (con immagini)

Video: Controllo della temperatura con ventole Arduino e PWM: 6 passaggi (con immagini)

Video: Controllo della temperatura con ventole Arduino e PWM: 6 passaggi (con immagini)
Video: PID per controllo temperatura con uscita in PWM e Arduino - Video 706 - PARTE MANCANTE 2024, Dicembre
Anonim
Controllo della temperatura con ventole Arduino e PWM
Controllo della temperatura con ventole Arduino e PWM
Controllo della temperatura con ventole Arduino e PWM
Controllo della temperatura con ventole Arduino e PWM
Controllo della temperatura con ventole Arduino e PWM
Controllo della temperatura con ventole Arduino e PWM

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

Come funziona
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?

Cosa ho usato
Cosa ho usato
Cosa ho usato
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

Il caso
Il caso
Il caso
Il caso
Il caso
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

Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
Elettronica
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: