- pomiar temperatury w zakresie –55°C…+125°C,
- rozdzielczość pomiaru 0,1°C,
- możliwość kalibracji wskazań w zakresie –3,2°C… +3,2°C,
- wyświetlacz LCD 7-segmentowy,
- sygnalizacja błędu komunikacji z czujnikiem cyfrowym,
- napięcie zasilania 3 V (z baterii CR2032 lub złącza),
- średni pobór prądu 100 μA.
Elektroniczne przyrządy mierzące temperaturę są znane od dawna i mają różnorodne zastosowania. Znalazły swoje miejsce w przemyśle i laboratoriach, ale nie tylko, bowiem możemy je spotkać również w kuchni, domowych stacjach pogodowych oraz zabawkach. Wiele z nich została zaprojektowana z myślą o niskim poborze energii, aby dało się je zasilać z niewielkiej baterii.
Jednak bardzo często zdarzają się sytuacje, kiedy wskazania takiego termometru nie do końca odpowiadają rzeczywistości. Przyczyn może być wiele, a dwie najpowszechniejsze to błąd wprowadzany przez sam czujnik temperatury oraz jego niedoskonały kontakt z powierzchnią, której temperaturę ma mierzyć. Przeważnie nic nie możemy z tym zrobić, ponieważ w układzie nie przewidziano możliwości skorygowania wskazywanych wartości.
Zaprezentowany układ ma niespotykaną funkcję – pozwala dodać do wyniku poprawkę, zawierającą się w zakresie –3,2°C do +3,2°C. Tyle zazwyczaj wystarcza, aby skorygować wskazania przyrządu, które nieznacznie mijają się z rzeczywistością.
Co ważne, wprowadzenie tej poprawki odbywa się w bardzo łatwy sposób – poprzez przekręcenie osi potencjometru montażowego. Nie ma tu żadnego rozbudowanego menu ani przycisków, wystarczy mały wkrętak i kilka chwil.
Budowa i działanie
Schemat ideowy energooszczędnego termometru został pokazany na rysunku 1. Jego pracą zarządza popularny mikrokontroler typu ATtiny44A, taktowany wewnętrznym sygnałem zegarowym o częstotliwości 8 MHz. Do jego zaprogramowania może służyć złącze J2, do którego zostały doprowadzone wszystkie linie służące realizacji programowania w systemie (In-System Programming). Ponieważ układ nie używa ich w czasie normalnej pracy, są podciągnięte do dodatniego bieguna zasilania przy użyciu zewnętrznych rezystorów.
Kalibracja wskazań odbywa się cyfrowo, poprzez dodanie odpowiedniej wartości do wyniku, lecz jej wartość jest odczytywana przez przetwornik analogowo-cyfrowy. Do ustalenia wartości służy potencjometr P1, który przez większość czasu pozostaje odłączony od zasilania, aby nie marnował energii elektrycznej. Przed rozpoczęciem pomiaru przez mikrokontroler, najpierw dołączane jest zasilanie do ścieżki oporowej potencjometru. Po ustaleniu się potencjałów mierzone jest napięcie wyznaczone położeniem ślizgacza potencjometru.
Czujnikiem temperatury w tym układzie jest dobrze znany układ DS18B20. Nie został ujęty wprost na schemacie, bowiem podłącza się go do zacisków złącza J3. Dioda D1 obcina amplitudę przepięć, które mogłyby się zaindukować w długich przewodach połączeniowych. Rezystor R6 ogranicza prąd płynący przez D1, zaś R7 dodatkowo zmniejsza prąd diod zabezpieczających wbudowanych w strukturę mikrokontrolera. Taka dwustopniowa ochrona daje wysoką skuteczność eliminacji zakłóceń. Rezystor R8 podciąga magistralę 1Wire do dodatniego potencjału, lecz i to można wyłączyć w przerwach pomiędzy pomiarami – wystarczy obniżyć jego napięcie zasilania do zera. Zadaniem R5, C5 i C6 jest odsprzęganie zasilania dla czujnika, a ponadto R5 pełni rolę bezpiecznika. Przegrzeje się i spali po przypadkowym zwarciu między skrajnymi wyprowadzeniami złącza J3, co ochroni źródło zasilania (np. baterię) przed przegrzaniem i uszkodzeniem.
Wyświetlacz nie ma wbudowanego kontrolera, zatem każdym jego wyprowadzeniem trzeba sterować oddzielnie. Służą do tego cztery rejestry typu 74HC595 podłączone kaskadowo. Mikrokontroler przygotowuje 32-bitową sekwencję, która jest do nich wysyłana za każdym razem, kiedy zachodzi potrzeba aktualizacji zawartości wyświetlacza. Są zasilane przez cały czas, gdyż ich pobór prądu w stanie ustalonym jest znikomo mały, rzędu 1 μA lub mniej.
Źródłem zasilania dla tego układu może być bateria typu CR2032, której gniazdo znajduje się na tylnej stronie płytki, albo zewnętrzny zasilacz napięcia stałego o wartości 3 V, podłączany do zacisków złącza J1. Pobór prądu przez układ jest naprawdę niewielki, więc bez problemu da się go zasilić prądem pobranym z niemal dowolnego źródła. Co istotne, wartość tego napięcia nie powinna wyraźnie spadać poniżej tej wartości, ponieważ grozi to brakiem poprawnego działania czujnika temperatury. Producent (Maxim Integrated) deklaruje jego poprawną pracę od napięcia 3 V, co udowadnia rysunek 2.
Górna granica napięcia zasilania również wynosi około 3 V, gdyż tyle przewidział producent wyświetlacza LCD, który został użyty w tym projekcie, jako typową wartość. Dlatego znaczne zwiększenie napięcia zasilającego ten termometr również jest niewskazane, gdyż może wpłynąć negatywnie na trwałość tego istotnego elementu. Dlatego użycie świeżej baterii albo zasilacza o napięciu wyjściowym 3,3 V będzie dobrym rozwiązaniem.
Mikrokontroler przez większość czasu pozostaje w stanie uśpienia. Do działania wybudza go wbudowany układ Watchdog, który generuje przerwania co ok. 32 ms. Za każdym razem dochodzi do aktualizacji zawartości rejestrów, aby segmenty wyświetlacza nie uległy elektrolizie wskutek wystąpienia składowej stałej między nimi a elektrodą wspólną. Co określoną liczbę takich wybudzeń następuje pomiar i aktualizacja zawartości ekranu.