uniTherm - termostat z wyświetlaczem OLED

uniTherm - termostat z wyświetlaczem OLED
Pobierz PDF Download icon

Projekt niniejszego urządzenia, powstał w wyniku konkretnej potrzeby. Zostałem poproszony o zaprojektowanie prostego sterownika służącego do zarządzania pracą niewielkich wentylatorów DC w serwerowni w celu utrzymania zadanej temperatury powietrza. Zadanie dość banalne, więc decydując się na jego implementację układową chciałem nieco urozmaicić proces twórczy wyposażając urządzenie docelowe w dodatkowe funkcje.

Podstawowe parametry:
  • zakres regulowanej temperatury: 10…50°C,
  • zakres regulacji histerezy: 0,5…9,5°C,
  • dokładność pomiaru: 0,5°C maksymalny obciążenie styków przekaźnika: 20 A (16 VDC),
  • maksymalne napięcie styków przekaźnika: 60 VDC,
  • napięcie zasilania: 9…12 V,
  • pobór prądu 15 mA/65 mA (przekaźnik wyłączony/załączony).

Sterownik może pracować w trybie ogrzewania (sterowanie grzałką itp.) lub schładzania (sterowanie wentylatorem itp.) oraz daje możliwość zdefiniowania histerezy regulacji. Dodatkowym uatrakcyjnieniem, jest niewielki acz bardzo efektowny graficzny wyświetlacz OLED, dzięki któremu możliwe było zaprojektowanie spójnego i czytelnego interfejsu użytkownika. Co więcej, dysponując już tego rodzaju ciekawym elementem wprowadziłem do procedur obsługi termostatu efekt animacji przypominający swoim działaniem pracę starych liczników mechanicznych, gdzie zmianie znaku towarzyszyło przesunięcie się jednego znaku w górę i „wskoczenie” na jego miejsce znaku kolejnego (w przypadku liczników były to oczywiście cyfry). Oczywiście możecie powiedzieć, że stosowanie wyświetlacza OLED mija się z sensem w przypadku tak prostego urządzenia, jednak trzeba wziąć pod uwagę, że tego typu niewielkie peryferium możemy już kupić za kilkanaście złotych co czyni zeń bardzo atrakcyjny element użytkowy.

Budowa

Schematu ideowy urządzenia, pokazano na rysunku 1. Zaprojektowano bardzo prosty system mikroprocesorowy, którego „sercem” jest niewielki mikrokontroler produkcji firmy Microchip (dawniej Atmel) o oznaczeniu ATtiny84, odpowiedzialny za realizację całej, założonej funkcjonalności urządzenia. Taktowany jest wewnętrznym, wysokostabilnym generatorem RC o częstotliwości 8 MHz.

Rysunek 1. Schemat ideowy sterownika

Głównym zadaniem mikrokontrolera jest realizacja magistrali 1-Wire, poprzez którą komunikuje się ze scalonym termometrem cyfrowym typu DS18S20 produkcji firmy Maxim (dawniej Dallas). Jest także odpowiedzialny za sterowanie pracą wspomnianego wcześniej wyświetlacza graficznego OLED, dzięki realizacji programowej obsługi interfejsu SPI, w jaki wyposażono rzeczony moduł. Ostatnim zadaniem jest obsługa prostej klawiatury stanowiącej element interfejsu użytkownika, przy czym obsługa ta realizowana przy użyciu układu czasowo-licznikowego Timer0 wbudowanego w strukturę mikrokontrolera co zapewnia po pierwsze, implementację prostego mechanizmu eliminującego drgania styków klawiatury, zaś po drugie, obsługę krótkiego i długiego naciśnięcia wspomnianych przycisków. Ostatnia właściwość ma zastosowanie w systemie Menu urządzenia.

Wybór tego konkretnego typu mikrokontrolera nie był krytyczny. Wybrany został układ o minimalnej, wymaganej liczbie portów wejścia/wyjścia oraz niezbędnej wielkości pamięci Flash, która to wynikała głównie z konieczności implementacji wzorców czcionek użytych w graficznym interfejsie użytkownika.

Obsługa

Sterownik obsługiwany jest przy użyciu dwóch przycisków umownie nazwanych PLUS i MINUS. Ich krótkie naciskanie powoduje zmianę wartości temperatury ustawionej z krokiem 0,5°C w dopuszczalnym zakresie 10...50°C.

Długie naciśnięcie przycisku PLUS wprowadza sterownik w tryb regulacji wartości histerezy regulacji, której bieżąca wartość pokazywana jest wtedy na ekranie urządzenia. W tym trybie krótkie naciskanie przycisków PLUS i MINUS powoduje zmianę wartości histerezy regulacji z krokiem 0,5°C w dopuszczalnym zakresie 0,5...9,5°C, zaś długie powoduje wyjście z trybu regulacji histerezy (z zapamiętaniem jej wartości w nieulotnej pamięci EEPROM mikrokontrolera) oraz przejście do pracy normalnej, czyli regulacji temperatury ustawionej.

Z kolei długie naciśnięcie przycisku MINUS wprowadza sterownik w tryb wyboru funkcji pełnionej przez automatykę regulacji tj. faktu, czy automatyka regulacji pracuje w trybie ogrzewania (sterowanie grzałką itp.) lub schładzania (sterowanie wentylatorem itp.). Regulację wspomnianej funkcji dokonujemy poprzez krótkie naciskanie przycisków PLUS i MINUS co sygnalizowane jest zapaleniem odpowiedniej ikonki w ramach graficznego interfejsu użytkownika (strzałka w górę dla trybu ogrzewania lub strzałka w dół w przypadku trybu schładzania). Ponowne, długie naciśnięcie przycisku MINUS powoduje wyjście z trybu regulacji funkcji pełnionej przez automatykę regulacji (z zapamiętaniem jej wartości w nieulotnej pamięci EEPROM mikrokontrolera) oraz przejście do pracy normalnej, czyli regulacji temperatury ustawionej.

W ramach graficznego interfejsu użytkownika pokazywany jest stan przekaźnika sterującego. Odpowiedni symbol pokazywany jest w prawym górnym rogu, obok symbolu sygnalizującego rodzaj funkcji pełnionej przez automatykę regulacji. Wypełniony kwadrat oznacza załączenie przekaźnika, zaś pusty, jego wyłączenie. Wygląd graficznego interfejsu użytkownika pokazano na rysunku 2, zaś na rysunku 3 pokazano diagram obrazujący system Menu urządzenia. Wszelkim zmianom temperatury dokonywanym przy użyciu interfejsu użytkownika towarzyszy prosta acz efektowna animacja zmieniających się wartości.

Rysunek 2. Wygląd graficznego interfejsu użytkownika
Rysunek 3. Diagram obrazujący system Menu

Program sterujący

W urządzeniu zastosowano prosty algorytm regulacji, który uwzględnia zdefiniowane wcześniej (i zapisane w nieulotnej pamięci EEPROM mikrokontrolera) parametry histerezy regulacji, na które składa się wartość odchyłki w dół i w górę (symetrycznie) od wartości zadanej (w zakresie ±9,5°C). I tak, dla przykładu: przy ustawieniach histerezy regulacji rzędu ±1°C oraz temperatury zadanej na wartość 21°C w przypadku pracy urządzenia w funkcji ogrzewania automatyka regulacji załączy przekaźnik, gdy temperatura mierzona spadnie do 20°C a wyłączy, gdy owa temperatura osiągnie wartość 22°C, zaś w funkcji chłodzenia automatyka regulacji załączy przekaźnik, gdy temperatura mierzona wzrośnie do 22°C a wyłączy, gdy owa temperatura spadnie do wartości 20°C. Jak się okazuje, ten prosty mechanizm zapewnia bezproblemową pracę urządzenia w warunkach niewielkich i chwilowych wahań temperatury otoczenia.

Ustawienia Fuse-bitów:
  • CKSEL3...0: 0010
  • SUT1...0: 10
  • CKDIV8: 1
  • CKOUT: 1
  • DWEN: 1
  • EESAVE: 0

Montaż i uruchomienie

Schemat montażowy sterownika uniTherm pokazano na rysunku 4. Zaprojektowano niewielki, bardzo prosty, dwustronny obwód drukowany z wyłącznym montażem elementów przewlekanych. Montaż sterownika uniTherm rozpoczynamy od wlutowania mikrokontrolera. Następnie montujemy pozostałe elementy półprzewodnikowe, dalej elementy bierne a na końcu przekaźnik, przyciski i złącza połączeniowe. Na samym końcu przylutowujemy wyświetlacz OLED korzystając z wbudowanego złącza tylu goldpin, które zapewnia zarówno niezbędny montaż elektryczny jak i mechaniczny. Można również skorzystać z gniazda typu goldpin przez co połączenie urządzenia z wyświetlaczem będzie łatwo rozłączalne.

Rysunek 4. Schemat montażowy sterownika
Fotografia 5. Widok zmontowanego urządzenia od strony TOP bez zamontowanego wyświetlacza OLED

Wybierając konkretny moduł wyświetlacza dostępny w handlu należy zakupić wersję wyposażoną w następujące sygnały sterujące: CLK (sygnał zegarowy magistrali SPI), MOSI (wejście danych magistrali SPI), CS (wejście wyboru sterownika SSD1306) oraz DC (wejście, decydujące o charakterze wysyłanych danych: 1 - dane pamięci obrazu, 0 - rozkaz sterujący). Nie mniej ważne jest rozmieszczenie sygnałów zasilających, jako że moduły dostępne w handlu mają często zamienione miejscami sygnały zasilania (VCC) i masy (GND).

Poprawnie zmontowane urządzenie nie wymaga żadnych regulacji i powinno działać tuż po włączeniu zasilania. Widok zmontowanego urządzenia uniTherm od strony TOP bez zamontowanego wyświetlacza OLED pokazano na fotografii 5.

Robert Wołgajew, EP
robert.wolgajew@ep.com.pl

Wykaz elementów:
Rezystory:
  • R1: 2,2 kΩ (miniaturowy 1/8 W)
  • R2: 3,3 kΩ (miniaturowy 1/8 W)
Kondensatory:
  • C1, C4, C5: ceramiczny 100 nF (raster 2,54 mm)
  • C2, C3: elektrolityczny 100 μF/16 V (5 mm, raster 2 mm)
Półprzewodniki:
  • U1: LP2950ACZ-3.3G (obudowa TO-92)
  • U2: ATtiny84 (obudowa DIL14)
  • U3: DS18S20 (obudowa TO-92)
  • T1: BC547 (obudowa TO-92)
  • D1: 1N4004 (obudowa DO-41)
  • D2: 1N4148 (obudowa DO-35)
  • OLED: wyświetlacz OLED 0,96” 128×64 SPI niebieski (lub w innym kolorze, wybranym przez użytkownika)
Inne:
  • PLUS, MINUS: microswitch TACT o wysokości 9 mm 12 V,
  • LOAD: złącze śrubowe typu AK500/2
  • REL: przekaźnik HFKW-012-1ZW
Artykuł ukazał się w
Elektronika Praktyczna
grudzień 2019
DO POBRANIA
Pobierz PDF Download icon
KIT do tego projektu
uniTherm - termostat z wyświetlaczem OLED, AVT5732
uniTherm - termostat z wyświetlaczem OLED, AVT5732
Sterownik może pracować w trybie ogrzewania (sterowanie grzałką itp.) lub schładzania (sterowanie wentylatorem itp.) oraz daje możliwość...
Zobacz w sklepie
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik wrzesień 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio wrzesień 2020

Świat Radio

Magazyn użytkowników eteru

Automatyka Podzespoły Aplikacje wrzesień 2020

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna wrzesień 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich sierpień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów