Elektroda.pl
Elektroda.pl
X
PLC Fatek
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Dwukanałowy sterownik wentylatorów

klops_mops 10 Wrz 2010 01:48 11331 17
  • Dwukanałowy sterownik wentylatorówWitam, prezentowane dziś urządzenie pełni funkcję dwukanałowego sterownika wentylatorów, sterowanych w zależności od wartości zmierzonej temperatury. Wyposażone jest w dwa niezależne kanały, z własnymi czujnikami temperatury. Umożliwia ono ustawienie za pomocą jednego potencjometru wszystkich podstawowych wartości. Dodatkowo jest ono wyposażone w podświetlany wyświetlacz LCD, na którym prezentowane są wszystkie najważniejsze dane. Sterownik przeznaczony jest do chłodzenia za pomocą wentylatorów podłączonych do jego wyjść.

    Założenia:
    * niezależna praca dwukanałowa
    * możliwość regulacji progu temperatury, przy której załączany jest wentylator, dla każdego kanału z osobna
    * możliwość regulacji wartości histerezy – wspólna dla każdego z kanałów
    * rozdzielczość nastawień 0,1 st. C
    * zastosowanie tranzystorów na wyjściach wentylatorów
    * możliwość zasilania napięciem od 7V do 20V
    * dokonywanie wszystkich regulacji za pomocą potencjometru
    * dokładność pomiaru 0,5 st. C, przy zachowaniu rozdzielczości 0,1 st. C
    * całość zamknięta w zgrabnej obudowie
    * czujniki temperatury zabezpieczone przed wodą

    Urządzenie spełniło wszystkie założenia. Najwięcej problemów sprawiło zabezpieczenie czujników przed działaniem wody. Urządzenie nie jest przeznaczone do ogrzewania (termostat), lecz do schładzania obiektów.

    Realizacja:
    Po przeanalizowaniu wymagań jakie zostały postawione wobec urządzenia, doszedłem do wniosku, iż najlepszym (najtańszym) rozwiązaniem będzie zastosowanie mikro kontrolera, wybór padł na Atmega8, z racji tego, iż była „na stanie”. Program został napisany w Bascomie AVR, w programie napisałem własne, proste procedury odejmowania liczb zawierających rozwinięcie dziesiętne. Nie używałem zmiennej typu single, ponieważ potrzebuje ona bardzo dużo pamięci RAM. Atmega jest taktowana wewnętrznym rezonatorem 8Mhz. Do Atmegi została dołączona bardzo mała ilość elementów elektronicznych. Na płytce znajduje się dodatkowo stabilizator napięcia Lm7805, który umożliwia w miarę szeroki zakres zasilania urządzenia (zakres ten rozszerzy się po zastosowaniu większego radiatora). Sterownik został wyposażony w wyświetlacz LCD 2x16 znaków, oparty na układzie hd44780. Funkcję czujników temperatury realizują bardzo dobre czujniki firmy Dallas – DS18B20. Układ mocy wyjść sterownika został zrealizowany na tranzystorach NPN BD139, gdzie ich maksymalna obciążalność wynosi 1A (na więcej nie pozwoli odpowiednio dobrany rezystor bazy). Napięcie panujące na wyjściach (wentylatorów) jest równe napięciu, które zasila układ.




    Poniżej schemat układu (brakuje tylko diod zabezpieczających na wyjściach, które są podłączone bezpośrednio w gniazdach):
    Dwukanałowy sterownik wentylatorów Dwukanałowy sterownik wentylatorów

    Obudowa:
    Jednym z założeń było wykonanie w miarę zgrabnej obudowy do układu. Zastosowana została obudowa uniwersalna typu Z-P4, w której wywiercone zostały odpowiednie otwory. Panel przedni oraz tylny zostały zaprojektowane w programie graficznym, wydrukowane na drukarce laserowej po czym zostały za laminowane. Rolę gniazd wyjść wentylatorów pełni mały moduł z gniazdami RCA. Zasilanie układu podłączą się do przymocowanej z tyłu kostki. Czujniki temperatury podłączone są na stałe do sterownika, za pomocą przewodu o dł. ok. 2,5m. Przyciski zostały zamocowane za pomocą nakrętek, natomiast wyświetlacz LCD został przyklejony do przedniego panelu. Płytka sterownika przymocowana jest do obudowy na metalowych dystansach, które przykręcone są od spodu za pomocą nakrętek.
    Dwukanałowy sterownik wentylatorów

    Uruchomienie, pierwsze ustawienia:
    Podczas uruchamiania, mikro kontroler sprawdza czy podpięte są dwa czujniki temperatury (jeśli nie, to sterownik dalej się nie uruchamia oraz wyświetlany jest odpowiedni komunikat na LCD), po czym następuje sprawdzenie pamięci EEPROM – jeśli nie znajdują się w niej żadne dane, bądź dane są niepoprawne, wyświetlany jest odpowiedni komunikat informujący, iż należy ustawić parametry pracy urządzenia, po czym kontynuuje swoją pracę.

    Ustawienia dokonuje się w bardzo prosty sposób, tj. za pomocą trzech przycisków oraz jednego potencjometru. Dwa przyciski odpowiadają za regulację temperatury progowej – odpowiednio dla kanału 1 oraz 2. Natomiast trzeci przycisk (niebieski) odpowiada za regulację wartości temperatury histerezy. Potencjometr jest uniwersalny – służy do regulacji wszystkich wartości. Naciskając przycisk np. „Kanał 1” przystępujemy do regulacji temperatury progowej kanału pierwszego. Ustawiamy ją za pomocą potencjometru, po odpowiednim ustawieniu ponownie naciskamy przycisk „Kanał 1” – następuje zapis wartości do pamięci EEPROM, oraz powrót do normalnej pracy. Analogicznie ustawia się pozostałe dwa parametry pracy.
    Wartość histerezy można ustawić w zakresie 0-4 st. C, przy zachowaniu rozdzielczości 0,1 st. C, natomiast wartość temperatury progowej mieści się w przedziale 10-30 st. C.
    Praca:

    Zasada działania jest następująca (każdy kanał osobno):
    Dokonywany jest pomiar temperatury co ok. 1s, gdy temperatura przekroczy ustawiony próg wtedy pojawia się napięcie na wyjściu, wentylator rozpoczyna chłodzenie. Praca wentylatora trwa tak długo, dopóki wartość temperatury mierzonej nie spadanie poniżej ustawionego progu temperatury pomniejszonego o wartość histerezy – wtedy dopiero wentylator jest wyłączany.

    Wyświetlacz LCD:
    Podczas normalnej pracy na wyświetlaczu prezentowane są takie dane jak:

    * stan wyjścia odpowiedniego kanału -- liczba na czarnym tle oznacza pracę kanału, natomiast liczba bez tła oznacza brak pracy kanału. Numer kanału prezentowany jest właśnie tą liczbą.
    * aktualna temperatura każdego z kanałów
    * temperatura progowa każdego z kanałów
    * co ok. 2 minuty na czas 2 sekund wyświetlana jest wartość histerezy
    Dwukanałowy sterownik wentylatorów
    Dodatkowo wyświetlacz LCD jest bardzo przydatny podczas nastawiania temperatur progowych – prezentowana jest wtedy na bieżąco ustawiana temperatura za pomocą potencjometru.


    Zapraszam na stronę projektu, gdzie dodatkowo umieszczony jest film prezentujący działanie: http://diy-elektronika.pl/527-dwukanalowy-sterownik-wentylatorow Pytania odnośnie softu, bądź plików Eagle proszę kierować poprzez e-mail.

    Inne zdjęcia (układ podczas testowania softu):
    Dwukanałowy sterownik wentylatorów Dwukanałowy sterownik wentylatorów Dwukanałowy sterownik wentylatorów


    Fajne!
  • Semicon
  • #2 10 Wrz 2010 07:00
    Snikers
    Poziom 24  

    Takie czepianie sie słowek:

    Cytat:
    Urządzenie nie jest przeznaczone do ogrzewania (termostat), lecz do schładzania obiektów


    Termostat, jest prawidłową nazwą dla urządzenia utrzymującego stałą temperaturę, niezależnie od tego czy steruje chłodzeniem czy grzaniem

  • #3 10 Wrz 2010 08:13
    BigPablo
    Poziom 21  

    Układ dobry, starannie wykonany. Ale czy temperatura 10-30 st to nie za mało co chłodzisz tymi wentylatorami?

  • #4 10 Wrz 2010 08:52
    klops_mops
    Poziom 17  

    Aż głupio się przyznać, lecz zastanawiałem się nad tym czy urządzenie, które realizuje chlodznie można nazwać termostatem - teraz już wiem, że można.

    Link podany do strony jest prawidłowy. Dziś w nocy coś się namieszało w DNS'ach strony - już poprawione.

    Ustalony zakres temperatur jest taki jaki wymagany był poprzez osobę dla której powstał ten termostat. Oczywiście nie ma problemu by go poszerzyć, zarówno w górę, jak i w dół.

  • Semicon
  • #5 10 Wrz 2010 09:32
    Frog_Qmak
    Poziom 25  
  • #6 10 Wrz 2010 09:35
    didii0074
    Poziom 11  

    Gdybyś pospinał ładnie kable w obudowie i zmienił gniazda/wtyczki wiatraków na jakieś odpowiedniejsze było by elegancko ;)

  • #7 10 Wrz 2010 13:00
    Petros
    Poziom 20  

    Witam

    Projekt ciekawy, czy ten silikon sanitarny na czujnikach nie zmienia za bardzo czasu reakcji układu na zmiany temperatury?
    Interfejs całkiem dobry i przyjemny.

    Naucz mnie robić takie zdjęcia jak na twojej stronie interntowej :)
    http://diy-elektronika.pl/wp-content/uploads/2009/08/trmostat01.jpg
    czym robisz zdjęcia?

    pozdrawiam

  • #8 10 Wrz 2010 16:20
    BigPablo
    Poziom 21  

    Zdjęcia wyglądają na zwykłe robione aparatem cyfrowym tylko z włączoną funkcją makro.

  • #9 10 Wrz 2010 20:04
    gbd.reg
    Poziom 20  

    Na jakiej zasadzie działa ten potencjometr? Po wybraniu przycisku sprawdzana jest pozycja (opór) i na tej podstawie wyznaczana wartość? Nie lepiej było użyć do tego celu enkoder?

  • #10 10 Wrz 2010 22:46
    klops_mops
    Poziom 17  

    didii0074 napisał:
    Gdybyś pospinał ładnie kable w obudowie i zmienił gniazda/wtyczki wiatraków na jakieś odpowiedniejsze było by elegancko ;)

    Tam są tylko 3 kabelki - ta plątanina co jest na zdjęciach, to są przewody od programatora oraz UARTu. Ale fakt można by je spiąć.

    Petros napisał:
    Projekt ciekawy, czy ten silikon sanitarny na czujnikach nie zmienia za bardzo czasu reakcji układu na zmiany temperatury?

    Tak trochę zmienia - wiadomo czujnik jest zalany w silikonie, więc ma gorsze przewodnictwo cieplne. Można to zaobserwować na filmie (jak długo muszę go ręką ogrzewać). Tylko, że fakt ten nie wpływa zbytnio na działanie układu, ponieważ czujnik i tak jest zanurzony w wodzie (która ma jeszcze większą bezwładność). Dlaczego wolałbyś użycie enkodera (co by zwiększyło koszt i skomplikowało płytkę)?

    gbd.reg napisał:
    Na jakiej zasadzie działa ten potencjometr? Po wybraniu przycisku sprawdzana jest pozycja (opór) i na tej podstawie wyznaczana wartość? Nie lepiej było użyć do tego celu enkoder?

    Nie, nie sprawdzam oporu. Sprawdzam napięcie (poprzez wbudowany w Atmegę przetwornik A/C) na ślizgaczu potencjometru, a ścieżka oporowa (10kΩ) jest podłączona do VCC i GND. Dzięki temu uzyskuję napięcie z zakresu 0-5V, konkretniej (w programie) zmienną z wynikiem pomiaru ADC, w zakresie 0-1023. Potem już tylko odpowiednie obliczenia, ustalenie wartości skrajnych i wyświetlenie na LCD.

    Zdjęcia wykonywane były zwykłym aparatem cyfrowym z funkcją makro.
    Z tego co mi wiadomo termostat jest wykorzystywany do chłodzenia jakiegoś zbiornika z wodą, a wentylatory dmuchają na lustro wody (proszę się nie odnosić do tego rozwiązania, ponieważ nie jest to częścią prezentowanego projektu, lecz wykorzystanie go przez osobę dla której był wykonany).

  • #11 10 Wrz 2010 22:48
    elektronik1313
    Poziom 10  

    Witam
    Jest to zwykły potencjometr, włączony jest pomiędzy plus zasilania a masę. Uzyskujemy w ten sposób dzielnik napięcia. Napięcie to jest mierzone przez przetwornik A/D mikrokontrolera i na tej podstawie ustalane jest położenie suwaka.
    Enkoder potrzebuje więcej wyprowadzeń mikrokontrolera a także jest trudniejszy do programowej obsługi.

  • #12 10 Wrz 2010 22:58
    gbd.reg
    Poziom 20  

    To też jest jakiś sposób mierzenia oporu ;) Choć nie o wartość oporu tu chodzi. Zaletą enkodera w tym przypadku jest to, że przy ustawieniu jednego kanału na inną wartość niż drugiego (chociażby histerezy i temperatury) powoduje, że przy wybraniu przyciskiem drugiego kanału automatycznie się nam nie ustawia wartość taka, jak na pierwszym przez co przypadkiem możemy przy potencjometrze coś zmienić. A przyciskać czasem musimy jeśli chcemy sprawdzić histerezę. No chyba, że zabezpieczone zostało to w ten sposób, że wartość się zmienia dopiero przy przekręceniu potencjometru (zmiana przyciskiem kanału nie wystarcza).

    Druga sprawa: enkoder byłby wygodniejszy. Przy potencjometrze trudniej trafić w punkt na temperaturę 24 stopni, co widać na filmiku (albo wskakuje 23,9, albo 24,1). Mała zaleta, ale zawsze jakaś ;)

  • #13 10 Wrz 2010 23:26
    klops_mops
    Poziom 17  

    Bardzo trafna uwaga, szczerze mówiąc nigdy nie stosowałem enkoderów przy potencjometrach. Jak będę wykonywał kolejny projekt z podobnym interface'em to wykorzystam tam enkoder - nawet z czystej ciekawości :) Teraz w projekcie przydałbym się potencjometr wolnoobrotowy.

  • #14 11 Wrz 2010 14:33
    gbd.reg
    Poziom 20  

    klops_mops napisał:
    potencjometr wolnoobrotowy.

    A nie wieloobrotowy?

  • #15 12 Wrz 2010 00:44
    Pikczu
    Poziom 14  

    Witam podobny projekt wykonałem jakiś czas temu jako modyfikację fabrycznego zasilacza laboratoryjnego. W układzie fabrycznym wentylatory chodziły bardzo głośno postanowiłem temu zaradzić.
    Jeśli ktoś jest zainteresowany kod źródłowy itd. jest dostępny na forum edw.com.pl w dziale DIY.
    Pozdrawiam

  • #16 18 Wrz 2010 21:46
    comer3
    Poziom 27  

    Witam!
    Może się czepiam, ale podczas wyświetlania ekranu powitalnego na LCD masz literówkę w napisie "Wykonanie" - u Ciebie jest "Wykoanie".. Popraw to i będzie cacy :wink:

  • #17 11 Kwi 2012 23:24
    maxikaaz86
    Poziom 10  

    Posiada ktoś źródło i PCB ? Próbowałem na stronie autora lecz niestety zero odpowiedzi.

    Pozdrawiam maxikaaz

  • #18 11 Kwi 2012 23:26
    klops_mops
    Poziom 17  

    Jutro wyślę Ci pliki, muszę pojechać po mój dysk.