Termostat MIN-MAX

Termostat MIN-MAX

W większości termostatów ustawianie parametrów pracy polega na zadaniu temperatury średniej oraz dopuszczalnej histerezy. Dla wielu użytkowników nie jest to zbyt intuicyjne rozwiązanie - woleliby po prostu ustawiać temperaturę załączenia i wyłączenia sterowanego urządzenia. Zaprezentowany układ jest realizuje właśnie taki schemat obsługi i jest odpowiedni zarówno do ogrzewania, jak i chłodzenia.

Podstawowe parametry:
  • pomiar temperatury w zakresie -55…+125°C z rozdzielczością 0,1°C,
  • dwie wartości temperatur granicznych, z zakresu -50...+120°C, ustawianych z rozdzielczością 0,1°C,
  • czujnik temperatury z wyjściem cyfrowym, niewymagający kalibracji,
  • nastawy przechowywane w nieulotnej pamięci EEPROM,
  • dwa tryby działania: grzanie lub chłodzenie, przełączające się samoczynnie w zależności od nastaw,
  • alfanumeryczny wyświetlacz LCD o organizacji 2×16 znaków,
  • zasilanie napięciem stałym 12 V (lub 24 V po modyfikacji),
  • pobór prądu: do 50 mA przy zasilaniu napięciem 12 V.

Nastawy przykładowego termostatu: temperatura średnia 45,5°C, histereza 3,4°C. Konia z rzędem temu, kto - nie będąc wtajemniczonym - bez trudu wskaże, przy jakiej temperaturze grzałka się wyłączy, a przy jakiej znowu załączy. Albo: jakie wartości zadać, jeżeli grzałka miałaby się wyłączać po osiągnięciu przez sterowany obiekt temperatury 49°C? Sprawa nieco pogmatwana, więc zrealizujmy to w łatwiejszy i bardziej intuicyjny sposób. W zaprezentowanym układzie zadajemy wprost, bez żadnych komplikacji, temperaturę załączenia przekaźnika oraz temperaturę jego wyłączenia. Ale to nie wszystko, bowiem na podstawie naszych nastaw układ sam rozszyfruje, czy będzie miał do czynienia z obiektem chłodzonym (czyli takim, którego temperatura będzie samoczynnie wzrastała) czy też z ogrzewanym, który ma naturalną tendencje do stygnięcia. Wszystko odbywa się w bardzo prosty sposób, przy użyciu czterech przycisków.

Budowa i działanie

Schemat ideowy omawianego układu znajduje się na rysunku 1.

Rysunek 1. Schemat ideowy układu termostatu

Najistotniejszym elementem jest układ Atmega8A-PU. To mikrokontroler z nadal popularnej i niezawodnej rodziny AVR, mimo iż jest ona dostępna na rynku już od wielu lat. Liczba jego konfigurowalnych wyprowadzeń oraz ilość pamięci są całkowicie wystarczające do realizacji tego zadania. Kondensatory C1…C3 filtrują napięcie zasilające mikrokontroler i zmniejszają impedancję obsługującego go źródła zasilania. Nie zastosowano zewnętrznego rezonatora kwarcowego do stabilizacji częstotliwości sygnału zegarowego, gdyż układ niemal w ogóle nie realizuje zadań krytycznych czasowo. Za jedyną taką czynność można uznać komunikację z cyfrowym czujnikiem temperatury, ponieważ magistrala 1-Wire prowadzi komunikację transmitując impulsy o zadanym czasie trwania, choć i tu są dopuszczalne pewne odchylenia.

Do obsługi urządzenia, a dokładniej zadawania nastaw, służą cztery przyciski monostabilne S1…S4. Dwa przyciski, S1 i S2, są podłączone do mikrokontrolera z użyciem zewnętrznych rezystorów podciągających, R1 i R2. Zmniejsza to wrażliwość układu za zakłócenia. Dwa pozostałe przyciski zostały podłączone do linii służących programowaniu ISP, które to linie są podciągnięte do potencjału +5 V za pośrednictwem rezystorów z drabinki rezystorowej RN1. Ich zadanie jest takie samo, jak rezystorów R1 i R2, ponadto odprowadzają ładunki elektrostatyczne z wyprowadzeń złącza J1. Programowanie mikrokontrolera może odbywać się zarówno po włożeniu układu programowalnego w podstawkę programatora, jak i za pośrednictwem wspomnianego złącza J1.

Cyfrowy czujnik temperatury typu DS18B20 należy podłączyć do zacisków złącza J2. Napięcie zasilające ten czujnik jest filtrowane przez prosty filtr RC składający się z rezystora R4 i kondensatorów C4 oraz C5, co poprawia stabilność działania tego czujnika. Dla ochrony wejścia mikrokontrolera przed zniszczeniem, do którego mogłyby doprowadzić indukujące się w przewodzie zakłócenia, zostały dodane diody ograniczające napięcie do zakresu -0,7…+5,7 V. Rezystor R3 ogranicza prąd tych diod. Z kolei rezystor R6 ogranicza prąd diod zabezpieczających wbudowanych w mikrokontroler, gdyż ich napięcie przewodzenia jest nieco niższe niż użytych 1N4148. Rezystor R5 jest wymagany do prawidłowego działania magistrali komunikującej się z czujnikiem. Jednocześnie, wartości R3 i R6 zostały tak dobrane, że wprowadzane przez nie spadki napięcia (i spowodowane tym przesunięcie się poziomu napięcia logicznej wartości „0”) nie mają negatywnego wpływu na działanie układu.

Napięcie zasilające układ podłącza się do zacisków złącza J3. Dioda D1 odcina zasilanie w przypadku pomylenia polaryzacji owego napięcia. Stabilizator liniowy typu 7805 dostarcza napięcia 5 V dla układów cyfrowych. Moc strat na nim, przy zasilaniu układu napięciem 12 V, jest na tyle niska, że nie ma potrzeby stosowania przetwornicy impulsowej - jego metalowa wkładka wystarcza do odprowadzania ciepła.

Użytkownik widzi informacje podawane przez układ na wyświetlaczu LCD1, który zawiera sterownik typu HD44780 lub zgodny z nim. Ma dwa wiersze po szesnaście znaków w każdym. Potencjometrem P1 ustawia się kontrast owego wyświetlacza. Rezystor R7 pozwala na zasilanie jego podświetlenia z niestabilizowanego napięcia wejściowego, nie obciążając tym samym stabilizatora US2.

Zasilanie dla sterowanego przez układ urządzenia (chłodziarki lub grzałki) powinno być poprowadzone przez złącze J4, do którego są doprowadzone wyprowadzenia styków normalnie otwartych (NO) przekaźnika PK1. Rezystor R8 i kondensator C10 tworzą prosty układ pochłaniający energię wydzielaną w momencie łączenia i rozłączania styków przekaźnika, kiedy dochodzi do ich iskrzenia. Zmniejsza to ryzyko wystąpienia błędu w funkcjonowaniu układu, ponieważ zmniejszeniu ulega emisja zakłóceń elektromagnetycznych. Dioda LED1 sygnalizuje załączenie cewki przekaźnika, rezystor R11 ogranicza jej prąd.

Montaż i uruchomienie

Układ został zmontowany na dwustronnej płytce drukowanej o wymiarach 120×90 mm. Jej schemat został pokazany na rysunku 2.

Rysunek 2. Schemat płytki PCB

W odległości 3 mm od krawędzi płytki znalazły się cztery otwory montażowe, każdy o średnicy 3,2 mm. Dodatkowo, aby płytka mogła tkwić stabilnie w obudowie, w pobliżu diody LED1 dodano dodatkowe dwa otwory. Rysunek 3 pokazuje lokalizację dwóch dodatkowych otworów montażowych na płytce.

Rysunek 3. Rozmieszczenie otworów montażowych na środku płytki drukowanej

Montaż proponuję rozpocząć od elementów o najmniejszej wysokości obudowy, czyli rezystorów i diod. Pod mikrokontroler proponuję zastosować podstawkę. Stabilizator US1 można położyć na powierzchni laminatu. Ten etap montażu można zobaczyć na fotografii 1.

Fotografia 1. Wygląd zmontowanego układu od strony bottom

Na drugiej stronie płytki jest miejsce dla wyświetlacza LCD1, czterech przycisków S1…S4 i diody LED1. Ich lokalizację po przylutowaniu pokazuje fotografia tytułowa. Pod koniec montażu, po wlutowaniu diody LED1 i przycisków, należy przykręcić wyświetlacz LCD przy pomocy czterech tulei dystansowych oraz przylutować jego złącza. Warto lutowanie zostawić na sam koniec, po dokładnym przykręceniu, aby ewentualny naddatek wysokości tulei mógł być skompensowany przez lekkie wystawanie złącz z powierzchni płytki. W ten sposób część męska i żeńska wchodzą w siebie całkowicie, co zapewnia dobry kontakt elektryczny między nimi. Rozmieszczenie przycisków, diody LED i wyświetlacza na powierzchni płytki znajduje się na rysunku 4, dzięki niemu łatwiejsze będzie wykonanie obudowy dla tego urządzenia.

Rysunek 4. Rozmieszczenie przycisków, diody LED i wyświetlacza LCD na płytce drukowanej 

Na etapie uruchamiania jest konieczne zaprogramowanie pamięci Flash mikrokontrolera dostarczonym wsadem oraz zmiana jego bitów zabezpieczających. Oto ich nowe wartości:

Low Fuse = 0x24
High Fuse = 0xD9

Szczegóły są widoczne na rysunku 5, który zawiera okno konfiguracji bitów z programu BitBurner. W ten sposób zostanie uruchomiony wewnętrzny generator RC o częstotliwości oscylacji 8 MHz oraz Brown-Out Detector, który wprowadzi mikrokontroler w stan zerowania, jeżeli jego napięcie zasilające spadnie poniżej 4 V. To znacznie zmniejsza ryzyko nieprawidłowego uruchomienia się mikrokontrolera.

Rysunek 5. Szczegóły ustawienia bitów zabezpieczających

Poprawnie zaprogramowany układ jest gotowy do działania po ustawieniu kontrastu wyświetlacza potencjometrem P1. Do zasilania powinno służyć napięcie stałe o wartości około 12 V, a dokładniej z przedziału 10…16 V. Takie granice uwzględniają zakres prawidłowej pracy przekaźnika (z uwzględnieniem spadku napięcia na diodzie D3 i tranzystorze T1) w temperaturze 20°C. Warto, aby owe napięcie było dobrze filtrowane, a najlepiej stabilizowane. Pobór prądu przy 12 V wynosi około 15 mA przy wyłączonym przekaźniku oraz około 50 mA, kiedy cewka zostanie załączona. Do zacisków złącza J2 należy podłączyć czujnik typu DS128B20, zgodnie z opisami na płytce. Może to być gotowy moduł: z podwójnie izolowanymi przewodami, z samym czujnikiem hermetycznie zaciśniętym w metalowej rurce.

Zaciski złącza J4 należy potraktować jak styki przełącznika mechanicznego, który odłącza zasilanie od sterowanego urządzenia grzewczego lub chłodniczego. Z uwagi na szerokość ścieżek na powierzchni laminatu, płynący przez nie prąd nie powinien przekraczać natężenia 6 A. Jeżeli w grę wchodziłoby przełączanie większych prądów, warto skorzystać z zewnętrznego stycznika, którego cewka będzie sterowana za pośrednictwem złącza J4.

Napięcie zasilające układ może zostać zwiększone do 24 V po trzech modyfikacjach na płytce: przekaźnik PK1 należy wymienić na egzemplarz z cewką przystosowaną do takiego napięcia (na przykład JQC3FF/241ZS), rezystor R7, ograniczający prąd diod podświetlających wyświetlacz LCD1, powinien zostać wymieniony na element o rezystancji 2,7 kΩ lub zbliżonej, do stabilizatora US2 należy przykręcić niewielki radiator, na przykład RAD FK231 SA220 L9.

Eksploatacja

Użytkownik jest zobligowany do ustawienia żądanych temperatur zadziałania przekaźnika - po włączeniu, z domyślnymi wartościami pobranymi z niezapisanej pamięci, obie temperatury będą wynosiły -0,1°C. Zmian temperatury dokonuje się wciskając (i trzymając wciśnięty) przycisk S3 (temperatura minimalna) lub S4 (temperatura maksymalna). Regulacja odbywa się z rozdzielczością 0,1°C w zakresie -50…+120°C. Trzymając przyciski S1 (zwiększanie) lub S2 (zmniejszanie) dłużej następuje samoczynne przewijanie danej temperatury, uprzednio wybranej poprzez trzymanie wciśniętego S3 lub S4. Tym szybsze jest to przewijanie im dłużej S1 lub S2 jest trzymany. Cały czas trzeba mieć wciśnięty S3 lub S4, bez tego układ nie reaguje na wciskanie S1 i S2. Nastawy są zapamiętywane w nieulotnej pamięci EEPROM po około 10 s od ostatniej zmiany.

Przykładowy widok ekranu pokazuje fotografia 2. W górnym wierszu można zobaczyć temperaturę aktualną z rozdzielczością 0,1°C, automatycznie dobrany tryb działania (tutaj H - od heating, czyli grzanie). Dolny wiersz zawiera dwie, ustawiane przez użytkownika, temperatury: minimalną (lewą, ustawianą przyciskiem S3) oraz maksymalną (prawą, ustawianą przyciskiem S4). Jeżeli maksymalna jest większa od minimalnej, to między nimi znajduje się znak większości, zaś termostat przełącza się w tryb grzania. Przekaźnik załączy się po osiągnięciu temperatury minimalnej lub spadku poniżej tej wartości. Z kolei jego wyłączenie odbędzie się po zrównaniu temperatury aktualnej z maksymalną, bądź jej przekroczeniu.

Fotografia 2. Wskazania wyświetlacza w trybie grzania

Gdyby jednak użytkownik ustawił temperaturę minimalną wyższą od maksymalnej (!), co jest możliwe, to układ dalej działa prawidłowo - tyle, że znajduje się w trybie chłodzenia. Sygnalizuje to litera C (od cooling, czyli chłodzenie) w górnym wierszu i znak mniejszości między ustawionymi temperaturami w wierszu dolnym. Można to zobaczyć na fotografii 3. Przekaźnik załącza się, kiedy temperatura aktualna zrówna się z minimalną lub ją przekroczy, zaś wyłącza kiedy spadnie do maksymalnej.

Fotografia 3. Wskazania wyświetlacza w trybie chłodzenia

Nic nie stoi na przeszkodzie, by ustawić dwie temperatury (minimalną i maksymalną) o tych samych wartościach. Wtedy układ zaprzestaje sterowania: przekaźnik jest wyłączony, w górnym większy pojawia się litera X, zaś między zadanymi temperaturami widnieje znak równości. Brak jakiejkolwiek histerezy uniemożliwiałby pracę dwustanowego przekaźnika, więc układ wtedy blokuje się. Można ten tryb użyć do chwilowego zablokowania pracy, bez konieczności przerywania wewnętrznych połączeń, mając cały czas podgląd temperatury aktualnej.

Fotografia 4. Wskazania wyświetlacza z komunikatem błędu czujnika

Ostatnią sytuację wartą omówienia można zobaczyć na fotografii 4. Kiedy z czujnikiem temperatury odbyła się przynajmniej jedna poprawna transmisja (do tego momentu na wyświetlaczu są poziome kreski w miejscu temperatury aktualnej) i nastąpiło jego uszkodzenie, zamiast temperatury aktualnej pojawia się napis ERROR! Przekaźnik zostaje wyłączony, układ czeka na reakcję człowieka. Może tak się stać, na przykład, po odłączeniu linii DQ czujnika DS18B20 albo po jej zwarciu z masą.

Michał Kurzela, EP

Wykaz elementów: (THT o mocy 0,25 W jeżeli nie napisano inaczej)
Rezystory:
  • R1, R2, R5, R9…R11: 3,3 kΩ
  • R3, R4, R6: 100 Ω
  • R7: 1,5 kΩ
  • R8: 33 Ω 3 W
  • RN1: 4 × 10 kΩ SIL5
  • P1: 10 kΩ montażowy leżący jednoobrotowy
Kondensatory:
  • C1, C4: 220 μF 25 V raster 2,5 mm
  • C2, C3, C5, C7…C9: 100 nF raster 5 mm MKT
  • C6: 220 μF 35 V raster 3,5 mm
  • C10: 100 nF MKP X2 305 V AC raster 15 mm
Półprzewodniki:
  • D1, D2, D4: 1N4148
  • D3: 1N5819
  • LCD1: 2×16, zgodny z HD44780 np. LCD2×16 15
  • T1: BC546
  • US1: ATmega8A-PU (DIP28)
  • US2: 7805 (TO220)
  • Czujnik temperatury DS18B20
Pozostałe:
  • J1: goldpin 5 pin męski 2,54 mm THT
  • J2: ARK3/500
  • J3: ARK2/500
  • J4: ARK2/750
  • PK1: JQC3FF/121ZS (opis w tekście)
  • S1…S4: microswich 6×6 13,5 mm
  • Jedna podstawka DIP28 wąska
  • Złącze męskie i żeńskie goldpin 1×16 pin 2,54 mm
  • Cztery tuleje dystansowe gwint wewnętrzny M3 12 mm poliamid
  • Osiem śrub M3 6 mm
Artykuł ukazał się w
Elektronika Praktyczna
luty 2023
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik kwiecień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje kwiecień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna kwiecień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów