Satura rādītājs:

Temperatūras kontrole ar Arduino un PWM ventilatoriem: 6 soļi (ar attēliem)
Temperatūras kontrole ar Arduino un PWM ventilatoriem: 6 soļi (ar attēliem)

Video: Temperatūras kontrole ar Arduino un PWM ventilatoriem: 6 soļi (ar attēliem)

Video: Temperatūras kontrole ar Arduino un PWM ventilatoriem: 6 soļi (ar attēliem)
Video: How to use W1209 Temperature relay controller and program the thermostat 2024, Jūlijs
Anonim
Temperatūras kontrole ar Arduino un PWM ventilatoriem
Temperatūras kontrole ar Arduino un PWM ventilatoriem
Temperatūras kontrole ar Arduino un PWM ventilatoriem
Temperatūras kontrole ar Arduino un PWM ventilatoriem
Temperatūras kontrole ar Arduino un PWM ventilatoriem
Temperatūras kontrole ar Arduino un PWM ventilatoriem

Temperatūras kontrole ar PID uz Arduino un PWM ventilatoriem DIY servera/tīkla statīva dzesēšanai

Pirms dažām nedēļām man bija jāiestata statīvs ar tīkla ierīcēm un dažiem serveriem.

Plaukts ir novietots slēgtā garāžā, tāpēc temperatūras diapazons starp ziemu un vasaru ir diezgan augsts, kā arī putekļi var būt problēma.

Pārlūkojot internetu, lai atrastu dzesēšanas risinājumus, es uzzināju, ka tie ir diezgan dārgi, vismaz manā vietā, ir> 100 € par 4 230 V pie griestiem uzstādītiem ventilatoriem ar termostata vadību. Man nepatika termostata piedziņa, jo, kad tā tiek darbināta, tas iesūc daudz putekļu, jo ventilatori darbojas ar pilnu jaudu, un, ja nav barošanas, vispār netiek nodrošināta ventilācija.

Tāpēc, neapmierināts ar šiem produktiem, es nolēmu iet DIY ceļu, uzbūvējot kaut ko tādu, kas var vienmērīgi uzturēt noteiktu temperatūru.

1. darbība. Kā tas darbojas

Kā tas strādā
Kā tas strādā

Lai padarītu lietas daudz vieglākas, es izvēlējos līdzstrāvas ventilatorus: tie ir daudz mazāk trokšņaini nekā maiņstrāvas ventilatori, vienlaikus padarot nedaudz mazāk jaudīgus, taču man tie joprojām ir vairāk nekā pietiekami.

Sistēma izmanto temperatūras sensoru, lai kontrolētu četrus ventilatorus, kurus darbina Arduino kontrolieris. Arduino ierobežo ventilatorus, izmantojot PID loģiku, un vada tos caur PWM.

Par temperatūru un ventilatora ātrumu tiek ziņots, izmantojot 8 ciparu 7 segmentu displeju, kas uzstādīts uz statīva uzstādīta alumīnija stieņa. Papildus displejam ir divas pogas mērķa temperatūras regulēšanai.

2. darbība. Ko es izmantoju

Ko es izmantoju
Ko es izmantoju
Ko es izmantoju
Ko es izmantoju

Piezīme: Es mēģināju realizēt šo projektu ar lietām, kas man bija mājās, tāpēc ne viss var būt ideāls. Budžets bija bažas.

Šeit ir manis izmantotās sastāvdaļas:

  • Aparatūra
    • Viens akrila panelis: izmantots kā pamats (1,50 eiro);
    • Četri 3,6x1cm L formas PVC profili (€ 4,00);
    • Viens alumīnija panelis: sagriezts 19 collu platumā (3,00 eiro);
  • Elektronika
    • Četri 120 mm PWM ventilatori: es izvēlējos Arctic F12 PWM PST, jo ir iespēja tos salikt paralēli (4x 8,00 €);
    • One Pro Micro: jebkurai ar ATMega 32u4 darbināmajai plāksnei vajadzētu labi darboties ar manu kodu (4,00 eiro);
    • Viens releja dēlis: lai izslēgtu ventilatorus, kad tie nav nepieciešami (1,50 eiro);
    • Viens 8 ciparu 7 segmentu MAX7219 displeja modulis (2,00 €);
    • Trīs īslaicīgas spiedpogas, 1 ir paredzēta atiestatīšanai (€ 2,00);
    • Viens 3A barošanas slēdzis (€ 1,50);
    • Viens LAN kabeļa savienotājs: lai viegli atvienotu galveno komplektu no displeja paneļa (€ 2,50);
    • Viens 5V un 12V divējāda izejas barošanas avots: varat izmantot 2 atsevišķus barošanas blokus vai 12 V ar pakāpenisku pārveidotāju līdz 5 V (15,00 €);

    • Kabeļi, skrūves un citas nelielas detaļas (€ 5,00);

Kopējās izmaksas: € 74,00 (ja man būtu jāiegādājas visas sastāvdaļas ebay/Amazon).

3. darbība: lieta

Lieta
Lieta
Lieta
Lieta
Lieta
Lieta

Korpuss ir izgatavots no 4 plāniem L formas plastmasas profiliem, kas pielīmēti un kniedēti uz akrila plātnes.

Visas kastes sastāvdaļas ir pielīmētas ar epoksīdu.

Akrilā ir izgriezti četri 120 mm caurumi, lai tie atbilstu ventilatoriem. Tiek izgriezts papildu caurums termometra kabeļu izlaišanai.

Priekšējā panelī ir barošanas slēdzis ar indikatora gaismu. Kreisajā pusē divi caurumi ļauj iziet priekšējā paneļa kabelim un USB kabelim. Programmēšanai ir pievienota papildu atiestatīšanas poga (Pro Micro nav atiestatīšanas pogas, un dažreiz tā ir noderīga, lai tajā augšupielādētu programmu).

Kastīti notur 4 skrūves, kas iet caur akrila pamatnes caurumiem.

Priekšējais panelis ir izgatavots no matēta alumīnija paneļa, sagriezts 19 collu platumā un ~ 4 cm augstumā. Displeja caurums tika izveidots ar Dremel, bet pārējie 4 caurumi skrūvēm un pogām tika izgatavoti ar urbi.

4. solis: elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Vadības panelis ir diezgan vienkāršs un kompakts. Projekta izstrādes laikā es uzzināju, ka, piegādājot ventilatoriem 0% PWM, tie darbosies ar pilnu ātrumu. Lai pilnībā apturētu ventilatoru griešanos, es pievienoju releju, kas izslēdz ventilatorus, kad tie nav vajadzīgi.

Priekšējais panelis ir savienots ar plāksni, izmantojot tīkla kabeli, kuru, izmantojot kabeļa savienotāju, var viegli atdalīt no galvenā korpusa. Paneļa aizmugure ir izgatavota no 2,5x2,5 elektrības vadiem un piestiprināta pie paneļa ar abpusēju lenti. Displejs ir piestiprināts pie paneļa arī ar lenti.

Kā redzat shēmās, esmu izmantojis dažus ārējos pievilkšanas rezistorus. Tie nodrošina spēcīgāku pievilkšanos nekā arduino.

Fritzing shēmas var atrast manā GitHub repo.

5. darbība: kods

Intel specifikācija 4 kontaktu ventilatoriem liecina par 25KHz mērķa PWM frekvenci un no 21 kHz līdz 28 kHz pieņemamu diapazonu. Problēma ir tā, ka Arduino noklusējuma frekvence ir 488 Hz vai 976 Hz, bet ATMega 32u4 lieliski spēj nodrošināt augstākas frekvences, tāpēc mums tas ir tikai pareizi jāiestata. Es atsaucos uz šo rakstu par Leonardo PWM, lai ceturto taimeri iestatītu līdz 23437 Hz, kas ir vistuvāk tam, ko tas var sasniegt līdz 25KHz.

Displejam, temperatūras sensoram un PID loģikai izmantoju dažādas bibliotēkas.

Pilnu atjaunināto kodu var atrast manā GitHub repo.

6. darbība. Secinājums

Tātad šeit tas ir! Man jāgaida līdz vasarai, lai to redzētu darbībā, bet esmu diezgan pārliecināts, ka tas darbosies labi.

Es plānoju izveidot programmu, lai redzētu temperatūru no USB porta, kuru pievienoju Raspberry Pi.

Es ceru, ka viss bija saprotams, ja ne, dariet man to zināmu, un es labāk paskaidrošu.

Paldies!

Ieteicams: