31 października 2011

Sygnalizator temperatury kotła CO

Do czego to służy?

W wielu domach do ogrzewania są używane zwykłe, węglowe kotły centralnego ogrzewania. Dzięki swej prostocie, a co za tym idzie niskiej cenie, sporej niezawodności oraz możliwości spalania niemal każdego typu paliwa stałego, piece takie są nadal chętnie stosowane. Niestety kotły te na ogół nie są wyposażone w automatykę sterującą, a regulacja temperatury polega na ręcznym ustawieniu ciągu kominowego poprzez przymykanie drzwiczek popielnika oraz zasuwy w kominie. Najbardziej krytyczne jest rozpalanie, kiedy do momentu uzyskania przez kocioł pożądanej temperatury ciąg musi być odpowiednio duży. Jednak w odpowiedniej chwili piec trzeba przymknąć, gdyż w przeciwnym wypadku nieuchronnie dojdzie do bardzo nieprzyjemnego i niebezpiecznego zagotowania wody w kotle i instalacji grzejnikowej.

Przedstawiony układ zabezpiecza przed taką sytuacją. Mierzy on temperaturę wody w kotle oraz prezentuje ją na wyświetlaczu. Po osiągnięciu zaprogramowanej wartości wydaje dźwiękowy sygnał alarmowy. Sygnał można wyłączyć dowolnym przyciskiem, ale wtedy należy szybko udać się do kotłowni aby "dokonać niezbędnych czynności obsługowych".

Urządzenie może być zamontowane w dowolnym miejscu domu (np. kuchnia lub korytarz) gdzie można kontrolować bieżące wskazania temperatury i skąd będzie dobrze słychać sygnał alarmowy. Sygnalizator z czujnikiem temperatury jest połączony 2 lub 3-przewodową magistralą. Sam czujnik powinien być umieszczony na rurze wody gorącej, jak najbliżej kotła.

Jak to działa

Schemat układu jest widoczny na rysunku 1. Głównym elementem systemu jest mikrokontroler ATtiny2313 (US1). Zajmuje się on większością zadań takich jak odczyt temperatury, prezentowanie wskazań na wyświetlaczu oraz generowanie akustycznego sygnału alarmowego. Podłączony do złącza Z2 czujnik temperatury to popularny cyfrowy DS18B20. Jego zalety to możliwość pracy w odległości nawet kilkunastu metrów przy połączeniu tylko dwoma przewodami oraz w pełni cyfrowa transmisja odczytanej temperatury. Czujnik połączony jest poprzez magistralę "1-wire" podciągniętą do plusa zasilania rezystorem R2. Z uwagi na zastosowanie tej magistrali i wymaganych w jej obsłudze przebiegów o ściśle określonym czasie trwania, procesor jest taktowany - nie wbudowanym generatorem RC - ale zewnętrznym kwarcem 8MHz (Q). Do wyświetlania temperatury użyto siedmio-segmentowego wyświetlacza LED (DISP). Dwie sekcje wystarczają do wyświetlania temperatury, która oscyluje od ok.15OC (kocioł wygaszony) do 99OC(gotowanie :-(). Z uwagi na uproszczoną obsługę czujnika temperatury i związane z tym opóźnienia pracy procesora (delay), zastosowano wyświetlanie ciągłe a nie multipleksowane. Dla oszczędności portów zastosowano dwa układy 74LS47 (US2 i US3). Są to dekodery kodu BCD/sterowniki wyświetlaczy siedmio-segmentowych. Dzięki nim do obsługi dwu sekcji wyświetlacza wystarcza 8 wyprowadzeń mikrokontrolera (Przy multipleksowaniu potrzeba byłoby ich aż 9 :-)). Ponadto zastosowano dwie diody LED (LED1,LED2) do określania bieżącego trybu pracy układu. Za ograniczanie prądu diod i wyświetlacza odpowiadają rezystory (R4-R19). Do wybierania trybu pracy służy 3-przyciskowa klawiatura (BTN1-BTN3). Głośniczek alarmowy (pochodzący z zabawki) jest podłączony do wyprowadzeń Z4 i Z5. Do mikrokontrolera jest podłączony za pośrednictwem układu przeciwsobnego złożonego z elementów T1,T2, R3 i C7. Na płytce znalazło się miejsce dla 10-pinowego złącza programowania (Z3) oraz układu stabilizacji zasilania złożonego ze stabilizatora LM7805 (US4) oraz kondensatorów C3-C6. Układ należy zasilać z zewnętrznego zasilacza niestabilizowanego o napięciu 8-12V, podając to napięcie na złącze Z1.

Rys.1 Schemat ideowy

Mierzona co ok. 10sekund temperatura jest prezentowana na wyświetlaczu na bieżąco. Po przekroczeniu ustalonego progu wyświetlacz zaczyna migać, a z głośniczka dobiega sygnał akustyczny. Sygnał można wyłączyć dowolny przyciskiem, ale wyświetlacz miga przez cały czas dopóki temperatura nie spadnie poniżej ustalonego progu. Naciskając przycisk "tryb" (BTN1) można cyklicznie obejrzeć: zaprogramowaną temperaturę minimalną (zaświeci się LED1), maksymalną (zaświeci się LED2) oraz bieżącą (diody zgaszone). Aby zmienić ustawienia należy w trybie min lub max nacisnąć przycisk "-"(BTN2) lub "+" (BTN3). Zatwierdzenie ustawień następuje poprzez dłuższe przytrzymanie przycisku "tryb" (BTN1) co układ potwierdzi mrugnięciem wyświetlacza. Ustawione progi temperatury (min. i max) są zapisane w pamięci EPROM mikrokontrolera dzięki czemu są pamiętane nawet po wyłączeniu zasilania.

Widok płytki sygnalizatora

Program dla mikrokontrolera został napisany w języku C w środowisku AVR-GCC. Można go pobrać (zarówno w postaci źródłowej z komentarzami, jak i skompilowanej) z Elportalu.

Rys.2 Płytka drukowana

Montaż i uruchomienie

Projekt płytki pokazany jest na rysunku 2. Układ należy zmontować standardowo - zaczynając od elementów najmniejszych, a kończąc na największych. Pewną trudność może sprawić jedynie montaż rezystorów w okolicach wyświetlacza, które z uwagi na brak miejsca należy zamontować piętrowo (jeden nad drugim). Pod układy scalone (US1-US3) można zastosować podstawki. Układ US4 i kondensatory elektrolityczne należy wlutować na płasko (patrz fotografia). Wyświetlacz należy przylutować trochę odsunięty od płytki tak, aby inne elementy nie były wyższe od niego. W tym celu najlepiej podłożyć pod wyświetlacz odpowiednio przycięty kawałek laminatu (jedną lub dwie warstwy). Magnes głośnika można wpuścić w duży otwór na płytce na prawo od wyświetlaczy. Układ po zmontowaniu i zaprogramowaniu procesora powinien działać od razu. Płytka drukowana została zaprojektowana do obudowy KM-39. Należy w niej wyciąć okienko na wyświetlacz, otwory na przyciski sterujące oraz gniazda przyłączeniowe oraz otworki naprzeciwko głośnika. Na fotografi tytułowej pokazano prototyp układu, gdzie wycięto jeden duży otwór na wyświetlacz i przyciski. W otwór ten wklejono szybkę wykonaną z pudełka po płycie CD, pod którą znajduje się papierowa maskownica z nadrukowanym opisem.
Zmontowana płytka sygnalizatora


Powyższy artykuł ukazał się w czasopiśmie "Elektronika dla Wszystkich" w numerze 10/2011

Do pobrania z elportalu:


Wykaz elementów

Rezystory
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . .10k
R2 . . . . . . . . . . . . . . . . . . . . . . . . . . .4k7
R3 . . . . . . . . . . . . . . . . . . . . . . . . . . 500R
R4-R19 . . . . . . . . . . . . . . . . . . . . . . . . 300R
Kondensatory
C1,C2 . . . . . . . . . . . . . . . . . . . . . . . . .22pF
C3,C4 . . . . . . . . . . . . . . . . . . .100nF ceramiczny
C5 . . . . . . . . . . . . . . . . . . . . . . . .470uF/16V
C6 . . . . . . . . . . . . . . . . . . . . . . . .330uF/10V
C7 . . . . . . . . . . . . . . . . . . . . 1000uF-2200uF/5V
Półprzewodniki
US1 . . . . . . . . . . . . . . . . . . . . . . .ATtiny2313
US2,US3 . . . . . . . . . . . . . . . .74LS47N lub 74LS247N
US4 . . . . . . . . . . . . . . . . . . . . . . . . .LM7805
US5 . . . . . . . . . . . . . . . . . . . . . . . . DS18B20
T1 . . . . . . . . . . . . . . . . . . . . . . . . . .BC546
T2 . . . . . . . . . . . . . . . . . . . . . . . . . .BC556
DISP . . . . . . . . . . . . . .wyświetlacz HD-K121 zielony
LED1 . . . . . . . . . . . . . . . . dioda LED 5mm czerwona
LED2 . . . . . . . . . . . . . . . . . .dioda LED 5mm żółta
Inne
Q . . . . . . . . . . . . . . . . . . . . . . . .kwarc 8MHz
BTN1-BTN3 . . . . . . . . . . . . . . . . . . . . .przycisk
Z3 - gniazdo programowania 10pin kątowe
Z1,Z2 - złącza zasilania i czujnika (typ wg uznania)
Głośniczek z zabawki lub inny mały