- 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.
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.
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.