- Płytka o wymiarach 86×36 mm
- Zasilanie: +9...12 VDC
- Pobór prądu: max. 100 mA
- Liczba kanałów pomiarowych: 2
- Zakres pomiarowy: –55°C...+99,9°C
- Rozdzielczość: 0,1°C
- Wyświetlacz: dwukolorowy LED
- Identyfikacja kanału pomiarowego za pomocą koloru świecenia
- Wybór kanału: ręczny lub automatyczny
- Programowany czas aktywności każdego z kanałów
Wyświetlanie temperatury z kilku czujników wymaga zastosowania przejrzystego sposobu identyfikacji danego kanału pomiarowego. Przy zastosowaniu wyświetlacza alfanumerycznego nie stanowi to trudności, gdyż wyświetlaną wartość można opisać stosownym komentarzem. W przypadku wyświetlaczy LED nie ma jednak takiej możliwości. W tego typu rozwiązaniach najczęściej stosuje się dodatkowe diody świecące, informujące o tym, który kanał pomiarowy jest aktualnie wyświetlany. Identyfikacja aktywnego kanału z większej odległości może być w takim przypadku kłopotliwa.
Przedstawiony w artykule termometr umożliwia pomiar temperatury w dwóch punktach, a sygnalizacja aktywnego czujnika jest wskazywana poprzez zmianę koloru świecenia wyświetlaczy. Dzięki temu jednoznacznie można stwierdzić, z którego czujnika jest wyświetlana temperatura. W projekcie zostały zastosowane dwukolorowe wyświetlacze 7-segmentowe. Temperatura z czujnika pierwszego jest wyświetlana w kolorze czerwonym, a z czujnika drugiego w kolorze zielonym. Dwa kanały pomiarowe mogą być użyte, na przykład do wskazywania temperatury w pomieszczeniu (kolor czerwony) i na zewnątrz (kolor zielony). Czujnik, z którego ma być wyświetlana temperatura jest wybierany ręcznie, za pomocą przycisków lub automatycznie przez procesor. W trybie automatycznym można niezależnego zdefiniować czas wyświetlania temperatury dla każdego z czujników. Czas ten można regulować w zakresie 1...60 sekund.
Budowa
Termometr składa się z dwóch obwodów umieszczonych na osobnych płytkach podzielonych funkcjonalnie na obwód sterowania i obwód wyświetlaczy. Schemat elektryczny części sterującej jest przedstawiony na rys. 1, natomiast obwód wyświetlaczy na rys. 2.
Głównym elementem całego układu jest mikrokontroler typu PIC16F872, który steruje wszystkimi elementami termometru. Jest on taktowany sygnałem zegarowym wytworzonym za pomocą rezonatora kwarcowego X1 o częstotliwości 4 MHz. Sygnał zerowania procesora jest generowany przez wewnętrzny blok zerowania, dlatego zewnętrzne wejście !MCLR jest połączone poprzez rezystor R3 do plusa zasilania.
Do pomiaru temperatury zastosowano czujniki typu DS18B20, co pozwoliło całkowicie uwolnić procesor od jakiegokolwiek kontaktu z sygnałami analogowymi występującymi przy tradycyjnym pomiarze temperatury. Układ DS18B20 zawiera w swojej strukturze kompletny moduł pomiaru temperatury i przetwarzania wyniku na postać cyfrową. Komunikacja układu DS18B20 z układem nadrzędnym odbywa się przy pomocy jednoprzewodowej magistrali, co jest bardzo korzystne, gdyż czujnik wykorzystuje tylko jedno wyprowadzenie procesora. Ze względu na to, że pomiar jest wykonywany w dwóch miejscach, należało zastosować dwa identyczne czujniki.
Podłączenie obydwu czujników do wyprowadzeń procesora jest w opisywanym projekcie trochę nietypowe. W ogólnym przypadku do jednej magistrali można podłączyć jednocześnie nawet kilkadziesiąt układów serii DS, w przedstawionym urządzeniu każdy układ jest dołączony do innego wyprowadzenia procesora. Takie rozwiązanie zostało zastosowane, aby uprościć procedurę uruchamiania termometru. Dołączenie kilku układów DS18B20 do jednej magistrali wymaga odczytania numeru seryjnego każdego z nich (numer ten jest identyfikatorem konkretnego układu dołączonego do magistrali), co wiąże się z koniecznością rejestrowania dołączonych czujników. Jeśli po rejestracji czujnik zostałby wymieniony na inny egzemplarz, to konieczna byłaby ponowna jego rejestracja. Komunikacja procesora z konkretnym układem dołączonym do magistrali polega na wysłaniu na magistralę numeru seryjnego konkretnego układu i jeśli taki będzie dołączony do magistrali, to zostanie przeprowadzona z nim wymiana danych. W tym czasie pozostałe układy są nieaktywne, gdyż ich numer seryjny jest inny od podanego. Taki sposób komunikacji jest stosowany w przypadku, gdy do magistrali jest dołączony więcej niż jeden układ. W przedstawionym termometrze również można użyć tej metody komunikacji, jednak z uwagi na fakt, że występują tylko dwa czujniki, zostały zastosowane dwie oddzielne linie. Dzięki temu uniknięto konieczności rejestrowania dołączonych układów DS18B20. Temperatura jest odczytywana bezpośrednio po zmontowaniu układu, dołączane czujniki mogą być dowolnie wymieniane, a temperatura zawsze zostanie odczytana prawidłowo. Temperatura z czujnika dołączonego do złącza CON3 jest wyświetlana w kolorze czerwonym, a czujnika dołączonego do złącza CON4 w kolorze zielonym.
Sygnały sterujące wyświetlaczami zostały wyprowadzone na złącze CON2. Ich obsługa jest realizowana w trybie multipleksowym, przez co w danej chwili świecą się diody tylko jednego wyświetlacza, co znacznie ogranicza prąd pobierany przez cały termometr.
Porty procesora mogą być obciążane prądem o maksymalnej wartości 25 mA, zarówno w stanie jedynki jak i zera logicznego, dlatego sterują one bezpośrednio katodami wyświetlaczy, bez konieczności stosowania dodatkowych układów wzmacniających. Sterowanie anod wyświetlaczy wymaga prądu o wartości około 70 mA, dlatego w tym przypadku zastosowano wzmacniacze tranzystorowe umieszczone w układzie UDN2981A. Do obsługi wyświetlaczy dwukolorowych wymagana jest podwójna liczba wyjść sterujących jego anodami.
Cztery dla koloru czerwonego (R1...R4) i cztery dla zielonego (G1...G4). Na złącze CON2 zostały wyprowadzone jeszcze trzy linie procesora służące do dołączenia przycisków umieszczonych na płytce wyświetlaczy. Linie te są wewnętrznie podciągane do plusa zasilania, dlatego nie zastosowano elementów zewnętrznych.
Do stabilizacji napięcia zasilającego zastosowano stabilizator typu LM2940–5, natomiast do filtracji napięcia zastosowano kondensatory C1...C4. Dodatkowa dioda D1 zabezpiecza stabilizator przed uszkodzeniem w przypadku podania napięcia o odwrotnej polaryzacji.
Schemat elektryczny płytki wyświetlaczy jest przedstawiony na rys. 2. Znajdują się na niej cztery wyświetlacze 7–segmentowe o wysokości 13 mm (DP1...DP4), rezystory ograniczające prąd płynący przez diody wyświetlaczy (R1...R8) i mikrowłączniki S1...S3. Wszystkie sygnały służące do komunikacji z modułem sterującym zostały wyprowadzone na złącze CON1.
Montaż
Montaż należy rozpocząć od płytki sterownika. Na rys. 3 przedstawiono rozmieszczenie elementów na płytce.
Montaż należy przeprowadzić poczynając od elementów o najmniejszych gabarytach, lutujemy więc kolejno: rezystory R1...R3, podstawki pod układy scalone, kondensatory i złącza. Kondensatory elektrolityczne i stabilizator napięcia należy zamontować w pozycji leżącej, dlatego należy wcześniej zagiąć ich wyprowadzenia pod kątem 90°. Złącza CON1...CON4 w zależności od potrzeb można zamontować od strony elementów lub od strony lutowania. Płytka wyświetlaczy zawiera niewielką liczbę elementów, więc montaż nie sprawi trudności. Rozmieszczenie elementów na tej płytce jest przedstawione na rys. 4. Montaż należy rozpocząć od wlutowania rezystorów, następnie należy wlutować wyświetlacze DP1...DP4 i mikrowłączniki S1...S3. Złącze CON1 należy zamontować od strony lutowania.
Po zmontowaniu płytek należy połączyć je ze sobą poprzez złącze CON2 (na płytce sterownika) i złącze CON1 (na płytce wyświetlaczy). Do złącza CON3 i CON4 płytki sterownika podłączamy czujniki temperatury, a do złącza CON1 napięcie zasilania o wartości około 9 V i minimalnej wydajności prądowej 100 mA. Po włączeniu zasilania wszystkie wyświetlacze będą wygaszone, a kropki będą świeciły się przez 4 sekundy kolorem zielonym. W tym czasie zostanie wykonany pierwszy pomiar temperatury i po chwili jego wynik pojawi się na wyświetlaczu. Kolejne pomiary będą aktualizowane co dwie sekundy. Jeśli po tym czasie na wyświetlaczu będzie paliła się tylko kropka, oznaczać to będzie brak czujnika lub jego błędne dołączenie.
Obsługa
Oprogramowanie mikrokontrolera umożliwia wyświetlanie obu temperatur w jednym z dwóch trybów: ręcznym lub automatycznym. W trybie ręcznym, wyboru czujnika, z którego aktualnie jest wyświetlana temperatura dokonuje się poprzez naciśnięcie przycisku S1 lub S3. Do przycisku S1 przypisany jest kolor czerwony i czujnik dołączony do złącza CON3, a do przycisku S3 kolor zielony i czujnik dołączony do złącza CON4. W trybie automatycznym przełączanie czujników następuje automatycznie. Czas wyświetlania temperatury dla każdego z nich jest programowany w zakresie 1...60 sekund. Domyślną wartością są 3 sekundy, ale czas ten można zmienić przez naciśnięcie przycisku S2 na około 3 sekundy. Na wyświetlaczu pojawi się wartość „01” w kolorze czerwonym określająca czas wyświetlania temperatury przypisanej do koloru czerwonego. Przyciskami S1 i S3 można tę wartość zmienić. Po ustawieniu czasu należy nacisnąć przycisk S2. W analogiczny sposób wyświetlony zostanie czas aktywności dla koloru zielonego, który także można zmodyfikować przyciskami S1 i S3. Naciśnięcie ponownie przycisku S2 spowoduje wyjście z procedury programowania czasu. Nastawione wartości zostaną zapisane w wewnętrznej, nieulotnej pamięci EEPROM, dzięki czemu nie zostaną utracone nawet po zaniku zasilania. Domyślnym trybem pracy jest tryb automatyczny, można go wyłączyć poprzez ręczny wybór danego czujnika poprzez naciśnięcie przycisku S1 lub S3. Powrót do trybu automatycznego nastąpi po krótkim naciśnięciu przycisku S2. Potwierdzeniem włączenia trybu automatycznego będzie chwilowe wyświetlenie napisu „Auto”.
Krzysztof Pławsiuk