Spisu treści:

Kontrola temperatury z wentylatorami Arduino i PWM: 6 kroków (ze zdjęciami)
Kontrola temperatury z wentylatorami Arduino i PWM: 6 kroków (ze zdjęciami)

Wideo: Kontrola temperatury z wentylatorami Arduino i PWM: 6 kroków (ze zdjęciami)

Wideo: Kontrola temperatury z wentylatorami Arduino i PWM: 6 kroków (ze zdjęciami)
Wideo: Ups. 2024, Listopad
Anonim
Kontrola temperatury z wentylatorami Arduino i PWM
Kontrola temperatury z wentylatorami Arduino i PWM
Kontrola temperatury z wentylatorami Arduino i PWM
Kontrola temperatury z wentylatorami Arduino i PWM
Kontrola temperatury z wentylatorami Arduino i PWM
Kontrola temperatury z wentylatorami Arduino i PWM

Regulacja temperatury za pomocą PID na wentylatorach Arduino i PWM do samodzielnego chłodzenia szaf serwerowych/sieciowych

Kilka tygodni temu musiałem ustawić rack z urządzeniami sieciowymi i kilkoma serwerami.

Regał jest umieszczony w zamkniętym garażu, więc zakres temperatur między zimą a latem jest dość wysoki, a kurz może być problemem.

Przeglądając Internet w poszukiwaniu rozwiązań chłodzących, odkryłem, że są one dość drogie, przynajmniej na moim miejscu, wynoszące >100€ za 4 wentylatory sufitowe 230V z kontrolą termostatu. Nie podobał mi się napęd termostatu, ponieważ podczas zasilania zasysa dużo kurzu, ponieważ wentylatory pracują z pełną mocą i nie zapewniają żadnej wentylacji, gdy nie są zasilane.

Niezadowolony z tych produktów zdecydowałem się więc na majsterkowanie, budując coś, co bez problemu utrzyma określoną temperaturę.

Krok 1: Jak to działa

Jak to działa
Jak to działa

Aby było o wiele łatwiej, wybrałem wentylatory DC: są znacznie mniej hałaśliwe niż wentylatory AC, a jednocześnie trochę mniej wydajne, ale wciąż są dla mnie więcej niż wystarczające.

System wykorzystuje czujnik temperatury do sterowania czterema wentylatorami sterowanymi przez kontroler Arduino. Arduino dławi wentylatory za pomocą logiki PID i steruje nimi przez PWM.

Temperatura i prędkość wentylatora są podawane na 8-cyfrowym 7-segmentowym wyświetlaczu, umieszczonym na aluminiowej listwie zamontowanej w stojaku. Oprócz wyświetlacza znajdują się dwa przyciski do strojenia temperatury docelowej.

Krok 2: Co użyłem

Co użyłem
Co użyłem
Co użyłem
Co użyłem

Uwaga: starałem się zrealizować ten projekt z rzeczy, które leżałem w domu, więc nie wszystko może być idealne. Budżet był problemem.

Oto komponenty, których użyłem:

  • Sprzęt komputerowy

    • Jeden panel akrylowy: używany jako podstawa (1,50 €);
    • Cztery profile PVC w kształcie litery L 3,6x1 cm (4,00 €);
    • Jeden panel aluminiowy: cięty na szerokość 19 cali (3,00 €);
  • Elektronika
    • Cztery wentylatory 120 mm PWM: wybrałem Arctic F12 PWM PST ze względu na możliwość łączenia ich równolegle (4x 8,00 €);
    • Jeden Pro Micro: Każda płyta zasilana ATMega 32u4 powinna działać poprawnie z moim kodem (4,00 €);
    • Jedna tablica przekaźnikowa: do wyłączania wentylatorów, gdy nie są potrzebne (1,50 €);
    • Jeden 8-cyfrowy 7-segmentowy moduł wyświetlacza MAX7219 (2,00 €);
    • Trzy przyciski chwilowe, 1 służy do resetowania (2,00 €);
    • Jeden wyłącznik zasilania 3A (1,50 €);
    • Jeden łącznik kabla LAN: do łatwego odłączenia głównego zespołu od panelu wyświetlacza (2,50 €);
    • Jeden zasilacz z podwójnym wyjściem 5 V i 12 V: można użyć 2 oddzielnych zasilaczy lub 12 V z konwerterem obniżającym napięcie na 5 V (15,00 €);

    • Kable, śruby i inne drobne elementy (5,00 €);

Całkowity koszt: 74,00 € (gdybym musiał kupić wszystkie komponenty na Ebay/Amazon).

Krok 3: Sprawa

Walizka
Walizka
Walizka
Walizka
Walizka
Walizka

Obudowa wykonana jest z 4 cienkich plastikowych profili w kształcie litery L przyklejonych i przynitowanych do płyty akrylowej.

Wszystkie elementy pudełka są sklejone żywicą epoksydową.

W akrylu wycięte są cztery otwory o średnicy 120 mm, które pasują do wentylatorów. Wycięty jest dodatkowy otwór do przepuszczenia przewodów termometru.

Na panelu przednim znajduje się wyłącznik zasilania z kontrolką. Po lewej stronie dwa otwory pozwalają wysunąć kabel panelu przedniego i kabel USB. Dodano dodatkowy przycisk resetowania, aby ułatwić programowanie (Pro Micro nie ma przycisku resetowania, a czasami przydaje się do wgrania do niego programu).

Pudełko jest podtrzymywane 4 śrubami przechodzącymi przez otwory w akrylowej podstawie.

Panel przedni wykonany jest ze szczotkowanego aluminium o szerokości 19 i wysokości ~4cm. Otwór wyświetlacza wykonano za pomocą Dremela, a pozostałe 4 otwory na śruby i przyciski wykonano wiertarką.

Krok 4: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Tablica sterownicza jest dość prosta i kompaktowa. Podczas tworzenia projektu dowiedziałem się, że kiedy dostarczę wentylatorom 0% PWM, będą one działały na pełnych obrotach. Aby całkowicie zatrzymać obroty wentylatorów, dodałem przekaźnik, który wyłącza wentylatory, gdy nie są potrzebne.

Panel przedni jest połączony z płytą kablem sieciowym, który za pomocą przejściówki kablowej można łatwo odłączyć od obudowy głównej. Tył panelu wykonany jest z przewodu elektrycznego 2,5x2,5 i przymocowany do panelu taśmą dwustronną. Wyświetlacz jest również mocowany do panelu taśmą.

Jak widać na schemacie, zastosowałem zewnętrzne rezystory pullup. Zapewniają one mocniejsze podciąganie niż w przypadku arduino.

Schematy Fritzinga można znaleźć w moim repozytorium GitHub.

Krok 5: Kodeks

Specyfikacja Intela dla wentylatorów 4-stykowych sugeruje docelową częstotliwość PWM 25 kHz i akceptowalny zakres od 21 kHz do 28 kHz. Problem polega na tym, że domyślna częstotliwość Arduino to 488 Hz lub 976 Hz, ale ATMega 32u4 doskonale radzi sobie z wyższymi częstotliwościami, więc wystarczy je poprawnie ustawić. Odwołałem się do tego artykułu o PWM Leonarda, aby taktować czwarty zegar do 23437 Hz, który jest najbliższy 25 kHz.

Wykorzystałem różne biblioteki do wyświetlacza, czujnika temperatury i logiki PID.

Pełny zaktualizowany kod można znaleźć w moim repozytorium GitHub.

Krok 6: Wniosek

Więc oto jest! Muszę poczekać do tego lata, żeby zobaczyć to w akcji, ale jestem przekonany, że zadziała.

Planuję zrobić program do sprawdzania temperatury z portu USB, który podłączyłem do Raspberry Pi.

Mam nadzieję, że wszystko było zrozumiałe, jeśli nie daj mi znać, a wyjaśnię lepiej.

Dziękuję!

Zalecana: