Cuprins:

Controlul temperaturii cu ventilatoarele Arduino și PWM: 6 pași (cu imagini)
Controlul temperaturii cu ventilatoarele Arduino și PWM: 6 pași (cu imagini)

Video: Controlul temperaturii cu ventilatoarele Arduino și PWM: 6 pași (cu imagini)

Video: Controlul temperaturii cu ventilatoarele Arduino și PWM: 6 pași (cu imagini)
Video: How to use W1209 Temperature relay controller and program the thermostat 2024, Noiembrie
Anonim
Controlul temperaturii cu ventilatoarele Arduino și PWM
Controlul temperaturii cu ventilatoarele Arduino și PWM
Controlul temperaturii cu ventilatoarele Arduino și PWM
Controlul temperaturii cu ventilatoarele Arduino și PWM
Controlul temperaturii cu ventilatoarele Arduino și PWM
Controlul temperaturii cu ventilatoarele Arduino și PWM

Controlul temperaturii cu PID pe ventilatoarele Arduino și PWM pentru răcirea serverului DIY / rack de rețea

Acum câteva săptămâni am avut nevoie să configurez un rack cu dispozitive de rețea și câteva servere.

Raftul este amplasat într-un garaj închis, astfel încât intervalul de temperatură între iarnă și vară este destul de ridicat și, de asemenea, praful ar putea fi o problemă.

În timp ce navigați pe internet pentru soluții de răcire, am aflat că sunt destul de scumpe, cel puțin în locul meu, fiind> 100 € pentru 4 ventilatoare de tavan de 230V cu control termostat. Nu mi-a plăcut unitatea termostatului, deoarece aspiră mult praf când este alimentată, din cauza faptului că ventilatoarele merg la putere maximă și nu oferă deloc ventilație când nu este alimentată.

Deci, nemulțumit de aceste produse, am decis să merg pe calea DIY, construind ceva care poate menține fără probleme o anumită temperatură.

Pasul 1: Cum funcționează

Cum functioneaza
Cum functioneaza

Pentru a face lucrurile mult mai ușoare, m-am orientat spre ventilatoarele de curent continuu: sunt mult mai puțin zgomotoase decât ventilatoarele de curent alternativ, în timp ce sunt puțin mai puternice, dar sunt totuși mai mult decât suficiente pentru mine.

Sistemul folosește un senzor de temperatură pentru a controla patru ventilatoare care sunt acționate de un controler Arduino. Arduino limitează ventilatoarele folosind logica PID și le conduce prin PWM.

Temperatura și viteza ventilatorului sunt raportate printr-un afișaj cu 8 cifre din 7 segmente, montat pe o bară de aluminiu montată pe rack. Pe lângă afișaj, există două butoane pentru reglarea temperaturii țintă.

Pasul 2: Ce am folosit

Ce am folosit
Ce am folosit
Ce am folosit
Ce am folosit

Notă: Am încercat să realizez acest proiect cu lucruri pe care le aveam întinse în casă, deci nu totul poate fi ideal. Bugetul era o preocupare.

Iată componentele pe care le-am folosit:

  • Hardware

    • Un panou acrilic: folosit ca bază (1,50 €);
    • Patru profile din PVC în formă de L de 3,6x1cm (4,00 €);
    • Un panou din aluminiu: tăiat la o lățime de 19 "(3,00 EUR);
  • Electronică

    • Patru ventilatoare PWM de 120 mm: am ales Arctic F12 PWM PST datorită capacității de a le stiva în paralel (4x 8,00 EUR);
    • One Pro Micro: Orice placă alimentată ATMega 32u4 ar trebui să funcționeze bine cu codul meu (4,00 €);
    • O placă de releu: pentru a opri ventilatoarele atunci când nu sunt necesare (1,50 €);
    • Un modul de afișare MAX7219 cu 7 cifre din 7 segmente (2,00 EUR);
    • Trei butoane momentane, 1 este pentru resetare (2,00 EUR);
    • Un comutator de alimentare 3A (1,50 €);
    • Un cuplaj de cablu LAN: pentru a deconecta ușor ansamblul principal de la panoul de afișare (2,50 €);
    • O sursă de alimentare cu ieșire dublă de 5V și 12V: Puteți utiliza 2 alimentatoare separate sau un 12V cu un convertor de jos în 5V (15,00 €);
    • Cabluri, șuruburi și alte componente minore (5,00 EUR);

Cost total: 74,00 € (dacă ar trebui să cumpăr toate componentele de pe Ebay / Amazon).

Pasul 3: Cazul

Cazul
Cazul
Cazul
Cazul
Cazul
Cazul

Carcasa este realizată din 4 profile subțiri din plastic, în formă de L, lipite și nituite pe o placă acrilică.

Toate componentele cutiei sunt lipite cu epoxidic.

Patru găuri de 120 mm sunt tăiate în acril pentru a se potrivi ventilatoarelor. O gaură suplimentară este tăiată pentru a permite trecerea cablurilor termometrului.

Panoul frontal are un întrerupător de alimentare cu indicator luminos. În stânga, două găuri lasă să se stingă cablul panoului frontal și cablul USB. Se adaugă un buton de resetare suplimentar pentru o programare mai ușoară (Pro Micro nu are buton de resetare și, uneori, este util pentru a încărca un program pe el).

Cutia este susținută de 4 șuruburi care trec prin găuri baza acrilică.

Panoul frontal este realizat dintr-un panou din aluminiu periat, tăiat la o lățime de 19 și cu o înălțime de ~ 4cm. Gaura afișajului a fost realizată cu un Dremel, iar celelalte 4 găuri pentru șuruburi și butoane au fost realizate cu un burghiu.

Pasul 4: Electronică

Electronică
Electronică
Electronică
Electronică
Electronică
Electronică
Electronică
Electronică

Placa de control este destul de simplă și compactă. În timpul realizării proiectului, am aflat că atunci când voi furniza ventilatoare 0% PWM, acestea vor rula la viteză maximă. Pentru a opri complet ventilatoarele să se învârtă, am adăugat un releu care oprește ventilatoarele atunci când nu sunt necesare.

Panoul frontal este conectat la placa printr-un cablu de rețea care, utilizând un cuplaj de cablu, poate fi ușor detașat de carcasa principală. Partea din spate a panoului este realizată dintr-o conductă electrică de 2,5x2,5 și fixată pe panou cu bandă dublă. Afișajul este, de asemenea, fixat pe panou cu bandă.

După cum puteți vedea în schemă, am folosit câteva rezistențe de extragere externe. Acestea oferă un pullup mai puternic decât cel al arduino.

Schemele Fritzing pot fi găsite în repo-ul meu GitHub.

Pasul 5: Codul

Specificațiile Intel pentru fanii cu 4 pini sugerează o frecvență PWM țintă de 25KHz și o gamă acceptabilă de 21 kHz până la 28 kHz. Problema este că frecvența implicită a Arduino este de 488Hz sau 976Hz, dar ATMega 32u4 este perfect capabil să furnizeze frecvențe mai mari, deci trebuie doar să o configurăm corect. M-am referit la acest articol despre PWM-ul lui Leonardo pentru a aloca al patrulea timer la 23437Hz, care este cel mai aproape de 25KHz.

Am folosit diverse biblioteci pentru afișaj, senzorul de temperatură și logica PID.

Codul complet actualizat poate fi găsit în repo-ul meu GitHub.

Pasul 6: Concluzie

Deci iată-l! Trebuie să aștept până în această vară pentru a o vedea efectiv, dar sunt destul de încrezător că va funcționa bine.

Plănuiesc să fac un program pentru a vedea temperatura de la portul USB pe care l-am conectat la un Raspberry Pi.

Sper că totul a fost de înțeles, Dacă nu mă anunțați și vă voi explica mai bine.

Mulțumiri!

Recomandat: