Termometr

Ryszard Buchalik

Budowa termometru i funkcje

Zbudowałem termometr służący do pomiaru temperatury z użyciem trzech czujników, których dokładność Δ = 0,1°C. Układ urządzenia składa się między innymi z mikrokontrolera AVR ATMEGA 8 firmy Atmel. Zaprogramowałem go w języku Bascom. Kod wynikowy po optymalizacji ma rozmiar 5kB. W roli generatora taktującego wykorzystałem wewnętrzny oscylator RC ustawiony na częstotliwość 4MHz. Całość zlutowałem na uniwersalnej płytce drukowanej. Zastosowałem wyświetlacz ciekłokrystaliczny zgodny ze standardem HD44780 składający się z 2 linijek po 16 pól. Istnieje możliwość załączenia podświetlenia wyświetlacza. Podświetlenie zużywa około 90mA prądu. Wszystkie inne układy w sumie pobierają 25mA.
W skład układu wchodzi stabilizator napięcia LM7805. Na jego wyjściu otrzymujemy napięcie 5V. Napięcie wejściowe, czyli baterii musi być większe od 7,5V. Jako źródło zasilania wykorzystywana jest bateria 9V. Dzięki zastosowaniu specjalnego konektora łączącego układ elektroniczny z baterią jej wymiana nie sprawia trudności.

Urządzenie posiada także gniazdo żeńskie typu COM zgodne ze specyfikacją RS-232. Do odczytu danych na komputerze może służyć program HyperTerminal. Za jego pomocą odbierane informacje można przechwycić do pliku tekstowego, a następnie do arkusza kalkulacyjnego.
Załączone urządzenie co jedną sekundę przesyła nową linijkę składającą się z trzech liczb odpowiadających temperaturom czujników.
Do konwersji napięć, których używa układ elektryczny na napięcia zgodne ze specyfikacją RS-232, użyłem układu scalonego MAX232 CPE firmy Maxim z podłączonymi czterema kondensatorami elektrolitycznymi 1μF. Sygnał do tego układu jest przesyłany z wyjścia TxD mikrokontrolera który posiada sprzętowy, buforowany interfejs USART.

Zastosowane czujniki temperatury są układami cyfrowymi o oznaczeniu DS18B20 w obudowie TO-92. Czujniki działają na magistrali 1-wire używającej jednego przewodu (oczywiście poza masą) do przesyłania danych i zasilania urządzenia. Każdy z trzech czujników ma swoją magistralę w celu pominięcia konieczności adresowania każdego z nich jego unikatowym kodem. Umożliwia to łatwą wymianę czujnika w wypadku jego zniszczenia bądź awarii bez konieczności ingerencji w główny układ elektroniczny. Magistrala 1-wire podczas przesyłu danych jest „podciągnięta” do plusa zasilania przez rezystor 4,7 kΩ. Gdy czujnik dokonuje pomiaru magistrala jest przyłączana do plusa zasilania przez otwarcie tranzystora, aby czujnik miał wystarczająco dużo prądu do działania. Kable użyte do połączenia czujników zostały wyjęte z kabla sieciowego tzw. skrętki. Biały przewód to masa, a kolorowy to magistrala 1-wire. Pierwsza czujka jest wodoodporna. Pokryłem ją bezbarwnym lakierem samochodowym.
Urządzenie posiada pamięć która służy do zapamiętania wyników pomiarów w celu późniejszego przesłania ich do komputera za pomocą portu RS-232.
W „menu” czujnika jest możliwość ustawienia z ilu czujników dane mają być zapisywane, czy ma być zapisywana ułamkowa część wyniku i co jaki czas wyniki mają być zapisywane (1 do 255 sekund).



Instrukcja Obsługi

Aby wejść do menu należy nacisnąć pierwszy (zielony) przycisk. Wyświetli się krótka prezentacja, a następnie termometr zasygnalizuje przyjście w tryb ustawień. Pozostałymi dwoma przyciskami należy wybrać żądaną opcję. Do wyboru:
1)przecinek – określa czy ma być zapisywana ułamkowa część pomiaru (0-nie zapisywane, 1-zapisywane)
2)ile czuj – określa liczbę czujników z których dane są zapisywane (1- z pierwszego[niebieskiego], 2- z pierwszych dwóch [niebieskiego i pomarańczowego] i 3- z wszystkich)
3)okres – określa w sekundach co jaki czas dane mają być zapisywane (Czerwony przycisk zwiększa wartość o 10, a po przekroczeniu wartości 255 przywołuje jedynkę. Niebieski przycisk zwiększa wartość o 1. Po 255 następuje 1.

Aby przejść do wyboru wartości danego ustawienia, jak również potwierdzić wybraną wartość naciskamy pierwszy(zielony) przycisk. Zapisanie wartości sygnalizowane jest na wyświetlaczu, po czym termometr przechodzi do normalnej pracy. Naciśnięcie przycisku niebieskiego podczas normalnej pracy powoduje rozpoczęcie zapisywania wyników do pamięci. Po zapisaniu całej pamięci na wyświetlaczu pojawi się napis przep. Co sygnalizuje zakończenie zapisu do pamięci, jednak wartości bieżące dalej można z wyświetlacz i gniazda RS-232 odczytywać. Naciśnięcie przycisku czerwonego powoduje odczyt pamięci przez port RS-232. Wszystkie czynności są sygnalizowane odpowiednimi komunikatami na wyświetlaczu.



Dane techniczne:

Zakres mierzonych temperatur: -55°C - 125°C
Dokładność pomiaru temperatury Δ = 0,1°C
Długość przewodów do czujników (1;2;3): 140cm; 65cm; 55cm
Bateria: 9V
Czas pracy na baterii: 25h (bez podświetlenia wyświetlacza)
Parametry przesyłu RS-232:
--> 9600 bodów,
--> 8 bitów danych,
--> 1 bit stopu,
--> brak bitu parzystości,
--> transmisja asynchroniczna,
--> brak sterowania przepływem.
Pamięć: 509 Bajtów z możliwością rozszerzenia