Sadržaj:

Kontrola temperature s Arduino i PWM ventilatorima: 6 koraka (sa slikama)
Kontrola temperature s Arduino i PWM ventilatorima: 6 koraka (sa slikama)

Video: Kontrola temperature s Arduino i PWM ventilatorima: 6 koraka (sa slikama)

Video: Kontrola temperature s Arduino i PWM ventilatorima: 6 koraka (sa slikama)
Video: ШИМ на Attiny 13, AVR, CodeVisionAvr 2024, Novembar
Anonim
Kontrola temperature s Arduino i PWM ventilatorima
Kontrola temperature s Arduino i PWM ventilatorima
Kontrola temperature s Arduino i PWM ventilatorima
Kontrola temperature s Arduino i PWM ventilatorima
Kontrola temperature s Arduino i PWM ventilatorima
Kontrola temperature s Arduino i PWM ventilatorima

Kontrola temperature s PID -om na Arduino i PWM ventilatorima za hlađenje DIY servera/mrežnog stalka

Prije nekoliko sedmica morao sam postaviti stalak s mrežnim uređajima i nekoliko servera.

Stalak je smješten u zatvorenoj garaži, tako da je temperaturni raspon između zime i ljeta prilično visok, a i prašina bi mogla biti problem.

Pretražujući Internet u potrazi za rješenjima za hlađenje, otkrio sam da su oni prilično skupi, barem na mom mjestu, koji su> 100 € za 4 230V stropna ventilatora sa regulacijom termostata. Pogon termostata mi se nije svidio jer usisava puno prašine kada se napaja, jer ventilatori rade punom snagom, i uopće ne daje ventilaciju kada je bez napajanja.

Stoga sam, nezadovoljan ovim proizvodima, odlučio krenuti putem „uradi sam“, gradeći nešto što može bez problema održavati određenu temperaturu.

Korak 1: Kako to funkcionira

Kako radi
Kako radi

Da bih olakšao stvari, odlučio sam se za DC obožavatelje: oni su mnogo manje bučni od ventilatora naizmjenične struje, iako su manje snažni, ali meni su i dalje više nego dovoljni.

Sistem koristi temperaturni senzor za upravljanje četiri ventilatora koje pokreće Arduino kontroler. Arduino prigušuje ventilatore pomoću PID logike i vodi ih kroz PWM.

Temperatura i brzina ventilatora se prijavljuju putem osmocifrenog 7-segmentnog ekrana, postavljenog na aluminijsku šipku montiranu u stalak. Osim zaslona, postoje i dva gumba za podešavanje željene temperature.

Korak 2: Ono što sam koristio

Šta sam koristio
Šta sam koristio
Šta sam koristio
Šta sam koristio

Napomena: Pokušao sam realizirati ovaj projekt sa stvarima koje sam ležao u kući, tako da ne može sve biti idealno. Budžet je bio zabrinjavajući.

Evo komponenti koje sam koristio:

  • Hardver

    • Jedna akrilna ploča: koristi se kao osnova (1,50 €);
    • Četiri PVC profila dimenzija 3,6x1 cm u obliku slova L (4,00 €);
    • Jedna aluminijumska ploča: izrezana na 19 "širine (3,00 €);
  • Elektronika
    • Četiri 120 mm PWM ventilatora: Otišao sam na Arctic F12 PWM PST zbog mogućnosti slaganja paralelno (4x 8,00 €);
    • One Pro Micro: Bilo koja ploča sa ATMega 32u4 pogonom trebala bi dobro funkcionirati s mojim kodom (4,00 €);
    • Jedna relejna ploča: za isključivanje ventilatora kada nisu potrebni (1,50 €);
    • Jedan osmocifreni 7-segmentni modul prikaza MAX7219 (2,00 €);
    • Tri trenutna tastera, 1 je za resetovanje (2,00 €);
    • Jedan prekidač za napajanje 3A (1,50 €);
    • Jedna spojnica LAN kabela: za jednostavno odvajanje glavnog sklopa od ploče ekrana (2,50 €);
    • Jedno napajanje sa dvostrukim izlazom 5V i 12V: Možete koristiti 2 odvojena napajanja ili 12V sa stepenastim pretvaračem na 5V (15,00 €);

    • Kablovi, vijci i druge manje komponente (5,00 €);

Ukupni trošak: 74,00 € (ako moram kupiti sve komponente na Ebayu/Amazonu).

Korak 3: Slučaj

Slučaj
Slučaj
Slučaj
Slučaj
Slučaj
Slučaj

Kućište je izrađeno od 4 tanka plastična profila u obliku slova L zalijepljena i zakovana za akrilnu ploču.

Sve komponente kutije su zalijepljene epoksidom.

Četiri rupe od 120 mm izrezane su u akrilu kako bi odgovarale ventilatorima. Dodatna rupa je izrezana za propuštanje kabela termometra.

Prednja ploča ima prekidač za napajanje sa indikatorskom lampicom. S lijeve strane, dvije rupe omogućuju izlazak kabela prednje ploče i USB kabela. Dodatno dugme za resetovanje je dodano za lakše programiranje (Pro Micro nema dugme za resetovanje, a ponekad je korisno za postavljanje programa na njega).

Kutiju drže 4 vijka koji prolaze kroz rupe na bazi akrila.

Prednja ploča izrađena je od ploče od brušenog aluminija, izrezane na 19 širine i visine ~ 4 cm. Otvor za ekran napravljen je Dremel -om, a ostale 4 rupe za vijke i dugmad napravljene su bušilicom.

Korak 4: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Upravljačka ploča je prilično jednostavna i kompaktna. Tijekom izrade projekta otkrio sam da će ventilatori raditi 0% PWM -a ventilatorima. Kako bih potpuno spriječio okretanje ventilatora, dodao sam relej koji isključuje ventilatore kada nisu potrebni.

Prednja ploča je povezana s pločom putem mrežnog kabela koji se pomoću kabelske spojnice može lako odvojiti od glavnog kućišta. Stražnja strana ploče izrađena je od 2,5x2,5 električnog vodiča i pričvršćena na ploču dvostranom trakom. Ekran je takođe pričvršćen za ploču pomoću trake.

Kao što možete vidjeti na shemama, koristio sam neke vanjske otpornike. Oni pružaju snažnije povlačenje od arduino.

Sheme Fritzinga mogu se pronaći na mom GitHub repo -u.

Korak 5: Kôd

Intelova specifikacija za 4-pinske ventilatore sugerira 25KHz ciljanu PWM frekvenciju i prihvatljiv raspon od 21 kHz do 28 kHz. Problem je u tome što je zadana frekvencija Arduina 488Hz ili 976Hz, ali je ATMega 32u4 savršeno sposobna isporučiti veće frekvencije, pa je potrebno samo ispravno postaviti. Referirao sam se na ovaj članak o Leonardovom PWM -u kako bi četvrti tajmer radio na 23437Hz, što je najbliže što može postići do 25KHz.

Koristio sam razne biblioteke za prikaz, temperaturni senzor i PID logiku.

Potpuno ažurirani kod možete pronaći u mom GitHub repo -u.

Korak 6: Zaključak

Evo ga! Moram sačekati ovo ljeto da zaista vidim kako djeluje, ali prilično sam uvjeren da će dobro funkcionirati.

Planiram napraviti program koji će vidjeti temperaturu s USB priključka koji sam spojio na Raspberry Pi.

Nadam se da je sve bilo razumljivo, ako mi ne javite pa ću vam bolje objasniti.

Hvala!

Preporučuje se: