Zegar cyfrowy z termometrem

Transkrypt

Zegar cyfrowy z termometrem
Zegar cyfrowy z termometrem
1
Budowa i zasada działania
Sercem urządzenia (rys. 1) jest mikrokontroler U2. Jest to układ firmy Atmel AT89C2051, w naszym zastosowaniu jest on taktowany zegarem 12Mz (rezonator kwarcowy X1). Jest to uproszczona wersja układu 8051, zgodna z nim programowo w małej 20pinowej obudowie, posiadająca 2kB pamięci programu typu Flash-PEROM (Programmble
and Erasable Read Only Memory), 128 bajtów pamięci RAM, dwa liczniki – czasomierze
16-bitowe, programowany port szeregowy, rozbudowany system przerwań oraz 15 linii
wejścia-wyjścia.
R9 22R
DS1820
T9 BC557
+5V
1
2
3
D4
D3
1N4007
D5
R17
D1
1N4007
1N4007
h
4k7
CZUJNIK TEMP.
1N4148
K4
K1
RESET
R5
K2
K3
DOWN
R1
g
4k7
R6
U2
1
2
3
4
5
6
7
8
9
10
4k7
R7
4k7
12MHz
4k7
C4
R3
4k7
R40 220R
T16
BD135
R15
89C2051
f
20
19
18
17
16
15
14
13
12
11
RST
VCC
P3.0
P1.7
P3.1
P1.6
XTAL2 P1.5
XTAL1 P1.4
P3.2
P1.3
P3.3
P1.2
P3.4
P1.1
P3.5
P1.0
GND P3.7
C5
X1
24p
68k
R24 220R
T7 BC557
R4 220R
R41 220R
T17
BD135
R16
C6
4u7 tantal
D2
4k7
R8
+18V
BAT1
3,6V
1N4148
SET
UP
R25 220R
T8 BC557
4k7
R23 220R
T6 BC557
R39 220R
T15
BD135
R14
e
4k7
R22 220R
T5 BC557
R38 220R
T14
BD135
R13
d
4k7
24p
R21 220R
T4 BC557
R37 220R
T13
BD135
KATODY WYŚWIETLACZA
U4
R12
R2
4k7
T1
BC547
c
+5V
U3
1
2
3
A
B
C
4
5
6
~230V
+5V
4k7
74HC138
E1
E2
E3
T3 BC557
15
14
13
12
11
10
9
7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
R20 220R
R36 220R
T12
BD135
R11
b
4k7
R19 220R
T2 BC557
R35 220R
T11
BD135
R10
a
4k7
~230V
R18 220R
R34 220R
T10
BD135
510R/0,5W
+18V
R30
R26
4k7
TRAFO
14V/20VA
+18V
U1
LM7805
Vin
+5V
R27
3
GND
2
A1
510R/0,5W
BC547
+18V
T19
D7
1N4148
T23
BD649
A2
510R/0,5W
BC547
+18V
R32
M1
C2
100n
1N4148
R31
4k7
4A
D6
+5V
1
C1
T18
T22
BD649
C3
100n
R28
4k7
T20
D8
1N4148
T24
BD649
A3
510R/0,5W
BC547
+18V
4700u/35V
R33
R29
4k7
T21
BC547
D9
1N4148
D10
ANODY WYŚWIETLACZA
F1
250mA-T
T25
BD649
A4
15V
Rys. 1. Schemat ideowy płytki zegara
Do linii P3.0 mikrokontrolera podłączony został czujnik temperatury U4. Jest to układ
produkowany przez firmę Dallas – DS1820. Pomimo, że ten układ jest zamknięty w małej
obudowie TO-92, to wbrew pozorom ma bardzo duże możliwości. Zawarty w nim 9bitowy fabrycznie wykalibrowany z dużą dokładnością przetwornik analogowo-cyfrowy
Zegar cyfrowy z termometrem
2
umożliwia pomiar temperatury w zakresie od –55 do +125°C z rozdzielczością 0,5°C. Ponieważ w naszym układzie do wyświetlania temperatury użyto dwóch pozycji wyświetlacza, dodatni zakres mierzonych temperatur został ograniczony do +99°C. Temperatura jest
wyświetlana bez części ułamkowej, gdyż nie jest potrzebna aż tak duża dokładność. Jest to
jak najbardziej wystarczające do pomiaru temperatury powietrza. Mikrokontroler
z czujnikiem komunikuje się za pośrednictwem magistrali 1-przewodowej. Dwukierunkowa transmisja danych oparta jest na tzw. szczelinach czasowych (ang. time slots). Szczegółowe dane układu DS1820 oraz magistrali 1-przewodowej zawierają karty katalogowe producenta, na podstawie których zostały napisane odpowiednie procedury programu sterującego odpowiedzialne za odczyt temperatury z czujnika. Rezystor R5 wymusza wysoki poziom logiczny na linii danych układu DS1820, zaś diody D4 i D5 zabezpieczają wejście
P3.0 mikrokontrolera i linię danych czujnika przez pojawieniem się sygnałów zaindukowanych w przewodzie czujnika przekraczających zakres napięcia zasilającego.
Do linii P3.1..P3.3 podłączone zostały przyciski sterujące. W stanie spoczynku na te
wejścia podawane są stany wysokie poprzez rezystory podciągające R6..R8. Naciśnięcie
np. przycisku K1 (SET) spowoduje pojawienie się stanu niskiego na linii P3.1, stan ten
jest odczytywany w programie sterującym oraz odpowiednio interpretowany. Przycisk K4
(RESET) podłączony został do linii RST mikrokontrolera i umożliwia ręczne wyzerowanie
mikrokontrolera. Nie zastosowano tradycyjnego układu zerującego RC, gdyż przy wahaniach napięcia zasilającego mikrokontroler (przełączanie z zasilania bateryjnego na sieciowe i odwrotnie) układ taki nie będzie działał prawidłowo powodując przypadkowe zerowanie mikrokontrolera. W zasadzie podanie sygnału RESET powinno być potrzebne
jedynie jednorazowo podczas pierwszego włączenia układu, jednak podczas użytkowania
urządzenia może zdarzyć się potrzeba ręcznego wyzerowania mikrokontrolera np. w przypadku całkowitego rozładowania baterii podtrzymującej zasilanie i zawieszenia się mikrokontrolera. Pierwotnie wartość rezystora R4 wymuszającego stan niski na wejściu RST
wynosiła 4k7, ale podczas prób z prototypem okazało się, że podczas włączania zasilania
sieciowego następują przypadkowe zerowania mikrokontrolera spowodowane zakłóceniami indukowanymi w przewodach łączących płytę z przyciskiem RESET. Dlatego dla pewności poprawnego funkcjonowania urządzenia zmniejszono wartość tego rezystora do
220Ω.
Zasilanie zegara zapewnia zasilacz składający się z transformatora sieciowego o mocy
20VA dostarczającego napięcia ~14V, mostka prostowniczego M1, kondensatora filtrującego C1 oraz stabilizatora U1 (7805). Kondensatory C2 i C3 odsprzęgają wejście i wyjście
stabilizatora w zakresie wysokich częstotliwości, eliminując możliwość jego wzbudzenia
się. Zasilacz dostarcza stabilizowanego napięcia +5V do zasilania części mikroprocesorowej układu oraz napięcia niestabilizowanego +18V, które jest używane do zasilania anod
wyświetlaczy. Napięciem +5V bezpośrednio zasilany jest układ U3, który wykorzystywany jest jedynie podczas zasilania zegara z sieci 230V. Pozostałe układy, a w szczególności
mikrokontroler U2 i czujnik U4 zasilane są przez diodę D1 napięciem około 4,2V, podtrzymywanym w czasie zaniku zasilania sieciowego napięciem z baterii (BAT1) ogniw
NiCd o napięciu znamionowym 3,6V i pojemności 300mAh. Podczas zasilania z sieci bateria NiCd jest doładowywana ze źródła +5V przez diodę D3 i rezystor R9. W układzie
modelowym został zmierzony miliamperomierzem włączonym w szereg z baterią NiCd
pobór prądu podczas odłączonego zasilania sieciowego który wyniósł zaledwie 3,5mA,
natomiast podczas zasilania z sieci bateria jest doładowywana ciągłym prądem około 6mA.
Do linii P3.7 mikrokontrolera doprowadzona jest informacja o stanie zasilania sieciowego. Gdy napięcie na kondensatorze C1 przekracza 9V, czyli gdy jest zasilanie z sieci,
Zegar cyfrowy z termometrem
3
tranzystor T1 jest nasycony podając na linię P3.7 stan niski. Natomiast gdy nastąpi zanik
zasilania sieciowego i napięcie na C1 spadnie poniżej 9V, wtedy napięcie doprowadzone
na bazę T1 przez dzielnik R1-R2 spadnie poniżej 0,6V powodując zatkanie T1. Wówczas
na linii P3.7 pojawi się stan wysoki wymuszony przez rezystor R3. Stan na linii P3.7 jest
analizowany przez program sterujący, który wyłącza sterowanie wyświetlaczem oraz pomiar temperatury ograniczając się jedynie do odmierzania czasu bieżącego. Dzięki temu
pobór prądu z rezerwowego źródła zasilania jakim jest bateria BAT1 jest bardzo mały.
Do wyjść portu P1 (linie P1.0 do P1.7) mikrokontrolera zostały podłączone wzmacniacze wyjściowe sterujące katodami (a..h) wyświetlaczy. Rezystory R10..R17 ograniczają
prądy baz tranzystorów T2..T9, natomiast rezystory R18..R25 ograniczają i ustalają prąd
baz tranzystorów wyjściowych mocy T10..T17. Rezystory R34..R41 mają za zadanie przyspieszyć zatykanie tranzystorów wyjściowych poprzez przyspieszenie odprowadzania ładunków z baz tranzystorów. W projekcie prototypu początkowo nie przewidziano tych
rezystorów, jednak przeprowadzone próby praktyczne wykazały, że tranzystory BD135 nie
nadążają całkowicie się zatkać przy szybkim sekwencyjnym przełączaniu kolejnych pozycji wyświetlacza i w efekcie występowało zjawisko niecałkowitego wygaszania segmentów sąsiadujących z segmentami zapalonymi. Zasadę działania wzmacniaczy sterujących
katodami najłatwiej prześledzić na jednym wzmacniaczu, np. sterującym segmentem „a”:
gdy na wyjściu P1.0 mikrokontrolera U2 pojawi się niski (aktywny) stan logiczny, prąd
płynący przez rezystor R10 i złącze B-E tranzystora T2 spowoduje jego przejście ze stanu
zatkania do stanu przewodzenia i wysterowanie poprzez rezystor R18 bazy tranzystora
T10, który to z kolei również przejdzie w stan nasycenia. Program sterujący mikrokontrolera podając odpowiednie kombinacje stanów niskich i wysokich na port P1 powoduje wysterowanie katod aktywnej pozycji wyświetlacza, zapalając odpowiednie segmenty tworzące cyfrę. Wyjaśnienia wymaga powód takiego skomplikowania wzmacniaczy sterujących katodami wyświetlaczy. Ktoś mógłby powiedzieć, że zamiast tych wszystkich tranzystorów i rezystorów prościej byłoby zastosować układ scalony zawierający 8 takich
wzmacniaczy, np. ULN2803. Jest to jednak błędny tok myślenia, gdyż wszystkie tego typu
układy mają ograniczenie maksymalnego sumarycznego prądu wszystkich wyjść do 0,5A,
a w naszym układzie sumaryczny prąd wynosi około 1A. Ponadto na stopniach wyjściowych takich scalonych wzmacniaczy występuje spadek napięcia około 1V, co powodowałoby niepotrzebne straty mocy.
Linie P3.4 i P3.5 mikrokontrolera podłączone są do wejść A i B demultipleksera U3 –
74HC138, który w tym wypadku pracuje jako dekoder: 2-bity na „1 z 4”. Układ został tak
podłączony, że na jednym z czterech wyjść Y0..Y3 pojawia się stan niski zależnie od reprezentacji binarnej na wejściach A i B. Na pozostałych wyjściach panuje wtedy stan wysoki. Demultiplekser został zastosowany ze względu na małą liczbę linii wyjściowych mikrokontrolera AT89C2051. Z wyjść demultipleksera sterowane są układy wyjściowe sterujące anodami wyświetlaczy, których pierwszym ogniwem są tranzystory T18..T21. Rozpatrzymy sytuację, gdy do wejść A i B demultipleksera podane są stany niskie (logiczne zera), wtedy na wyjściu Y0 panuje stan niski, zaś na pozostałych (czyli Y1..Y3) – stan wysoki. Stan niski na wyjściu Y0 powoduje, że tranzystor T18 jest zatkany, przez co tranzystor
wyjściowy Darlingtona T22 przewodzi dzięki polaryzacji jego bazy prądem przez rezystor
R30. Napięcie które pojawia się wtedy na wyjściu A1 wynosi około 15V. Pozostałe tranzystory T19..T21 są nasycone powodując, że potencjały baz tranzystorów wyjściowych
T23..T25 są bliskie zeru, a tym samym na wyjściach A2..A4 napięcia są również bliskie
zeru. W układzie zastosowano wyjściowe tranzystory Darlingtona, gdyż sumaryczny prąd
pobierany przez aktywną pozycję wyświetlacza przy zapalonych wszystkich segmentach
(wyświetlona cyfra 8) wynosi około 1A. Diody D6..D9 wraz z diodą Zenera D10 tworzą
Zegar cyfrowy z termometrem
4
układ ograniczający napięcie wyjściowe podawane na anody wyświetlacza do około 15V.
Dzięki temu jasność świecenia wyświetlacza jest niezależna od rzeczywistej wartości napięcia zasilającego 230V i ilości zapalonych segmentów.
Wyświetlacz zegara o wysokości cyfr 20cm został zbudowane w oparciu o zakupione
gotowe płytki o oznaczeniu AVT2631/20. Każdy z segmentów jednej cyfry składa się z 15
diod LED o średnicy 5mm. Dwie mniejsze płytki (AVT2631/7) o wysokości cyfr 7cm posłużyły do zbudowania wyświetlaczy symbolu stopni Celsjusza, jeden segment składa się z
5 diod LED. Schemat blokowy całego wyświetlacza prezentujemy na rys. 2.
A1
A2
A3
A4
A
A
a
A
A
a
b
f
g
a
b
f
g
e
c
e
d
c
e
g
a b c d e f g
K
A
A
a,b,f,g
a,d,e,f
a
b
f
g
d
a b c d e
A
b
g
c
e
c
d
d
a b c d e f g
a b c d e f g
a
b
c
d
e
f
g
h
Rys. 2. Schemat blokowy wyświetlacza
Jak można zauważyć na powyższym schemacie, nie zostały zamontowane diody segmentu „f” pozycji wyświetlającej dziesiątki godzin. Segment ten nie byłby nigdy wykorzystywany. Podobnie postąpiono z małymi 7cm wyświetlaczami symbolu °C. Na rys. 3
przedstawiono schematy ideowe każdego z segmentów poszczególnych pozycji wyświetlacza: cyfry 20cm, dwukropka i cyfry 7cm.
a)
b)
A
56R
56R
a...g
56R
c)
A
56R
56R
56R
56R
K
A
56R
a...g
Rys. 3. Schematy ideowe poszczególnych segmentów wyświetlaczy:
a) segment cyfry 20cm, b) segment dwukropka, c) segment cyfry 7cm
Rezystory 56Ω ograniczające prąd zostały tak dobrane, aby wartość chwilowa prądu
płynącego przez diody wynosiła około 50mA, co przy zastosowaniu wyświetlania sekwencyjnego daje średnią wartość prądu wynoszącą 12,5mA. Daje to wystarczająco dobrą ja-
Zegar cyfrowy z termometrem
5
sność świecenia wyświetlacza, zaś ciągły przepływ prądu 50mA w przypadku zaniku multipleksowania (zawieszenie się mikrokontrolera przy całkowitym rozładowaniu baterii
BAT1 i powrocie zasilania sieciowego) nie spowoduje uszkodzenia diod.
W całym wyświetlaczu wykorzystano łącznie 453 diody LED φ5mm o czerwonej barwie świecenia oraz 93 rezystory o wartości 56Ω. Połączenia pomiędzy poszczególnymi
segmentami wykonano przy użyciu przewodów w izolacji.
Główna płytka zegara wykonana została na laminacie jednostronnym i ma wymiary
132x127mm. Umieszczone na niej zostały wszystkie elementy przedstawione na schemacie z rys. 1 z wyjątkiem transformatora sieciowego, bezpiecznika, czujnika temperatury
i przycisków sterujących. Rys. 4 przedstawia płytkę drukowaną od strony elementów
z zaznaczeniem położenia wszystkich elementów.
Rys. 4. Płytka drukowana od strony elementów
Bateria BAT1 została przyklejona do płytki drukowanej i połączona z nią złączem 2stykowym. Umożliwia to odłączenie baterii w razie konieczności. Połączenia z czujnikiem
temperatury oraz klawiszami sterującymi wykonano przy użyciu jednorzędowego złącza.
Przewody łączące płytkę z transformatorem sieciowym i wyświetlaczem zostały przylutowane na stałe. Ponieważ w tranzystorach T22..T25 wydziela się łączna moc około 3W,
zostały przymocowane do radiatora. Podobnie postąpiono ze stabilizatorem U1, w nim
może wydzielać się moc około 1,5W. Każdy z rezystorów R30..R33 ze względu na brak
rezystorów o mocy 0,5W złożono z dwóch równolegle połączonych rezystorów
1kΩ/0,25W. Przylutowane one zostały w odległości kilku milimetrów od płytki, gdyż pod-
Zegar cyfrowy z termometrem
6
czas pracy nagrzewają się. Układ U2 zamontowano w podstawce, ponieważ podczas pisania i testowania programu zachodziła konieczność jego wielokrotnego wyjmowania w celu
zaprogramowania w programatorze. W płytce prototypowej nie przewidziano miejsca na
rezystory R34..R41, dlatego zamontowano je od strony lutowania. Konieczność zamontowana tych rezystorów wyniknęła podczas uruchamiania urządzenia, o czym napisano
wcześniej. Dodatkowo w szereg z przewodem zasilającym układ DS1820 włączono rezystor 33Ω, zabezpieczający elektronikę zegara, a w szczególności baterię NiCd, przed skutkami przypadkowego zwarcia w przewodzie czujnika. Rezystor ten został przylutowany od
strony ścieżek, po uprzednim przecięciu ścieżki w miejscu zaznaczonym na poniższym
rysunku. Elementu tego nie należy się doszukiwać na wcześniejszym schemacie ideowym,
gdyż idea jego umieszczenia zrodziła się już po zmontowaniu i uruchomieniu układu.
Rys. 5 przedstawia mozaikę ścieżek od strony lutowania. Płytka prototypowa została
wykonana poprzez naniesienie rysunku ścieżek na laminat przy użyciu pisaka wodoodpornego i wytrawienie w wodnym roztworze FeCl3.
Rys. 5. Mozaika ścieżek płytki drukowanej
Zbudowane urządzenie byłoby całkowicie bezwartościowe bez odpowiedniego programu sterującego. Pisanie i uruchamianie programu w asemblerze jest bardzo czasochłonne, dlatego w tym przypadku użyto kompilatora języka C, przystosowanego specjalnie do mikrokontrolerów rodziny 8051. Wykorzystano w tym celu darmową wersję
(z ograniczeniem wielkości kodu do 2kB) kompilatora µVision/51 firmy Keil Software.
Zintegrowany z kompilatorem debugger znakomicie ułatwia uruchamianie programu.
Zegar cyfrowy z termometrem
7
Program powstawał etapami, najpierw był to prosty program testujący poprawność
pracy wyświetlacza. Już wtedy zauważono konieczność zamontowania dodatkowych rezystorów R34..R41. Następnie zostały dodane procedury odpowiedzialne za odmierzanie
czasu i ustawianie zegara przy użyciu przycisków. Na końcu napisane zostały procedury
odpowiedzialne za komunikację z czujnikiem temperatury.
Ponieważ w układzie nie przewidziano możliwości dokładnego dostrojenia częstotliwości generatora kwarcowego przy użyciu kondensatora o zmiennej pojemności, korekta
wynikająca z niedokładności generatora została rozwiązana na drodze programowej. Codzienne o godzinie 4:59 dokonywana jest korekta sekund o wartość ustaloną doświadczalnie. Zegar z zerową wartością tej korekty został uruchomiony na 24h, po czym porównano
odchyłkę odmierzanego czasu z dokładnym zegarem w komputerze, synchronizowanym
internetowym zegarem atomowym. W naszym przypadku zbudowany zegar śpieszył się
o 15 sekund na dobę, więc wprowadzono ujemną korektę wynoszącą –15 sek.
W skompilowanym kodzie wynikowym jest kilka istotnych stałych, które można zmodyfikować stosownie do potrzeb użytkownika. Są one zapisane w pliku .HEX pod następującymi adresami:
0312h – wartość dobowej korekty czasu (domyślnie –15 sekund = 0F1h w kodzie U2)
0439h – czas trwania cyklu wyświetlania czas+temperatura (domyślnie 10 sekund = 0Ah)
043Fh – czas wyświetlania czasu w cyklu czas+temperatura (domyślnie 7 sekund = 07h)
Szczególnie istotne jest prawidłowe dobranie wartości korekty czasu, która ma wpływ na
dobową dokładność odmierzania czasu.
Parametry techniczne i użytkowe oraz instrukcja obsługi
Urządzenie charakteryzuje się następującymi parametrami technicznymi i użytkowymi:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Rodzaj pracy: ciągła
Znamionowe napięcie zasilające: 220...240V/50Hz
Pobór mocy: ≤20VA
Bezpiecznik: 250mA-T (zwłoczny)
Pojemność zastosowanej baterii NiCd: 300mAh
Pobór prądu przy zasilaniu bateryjnym: 3,5mA
Częstotliwość generatora kwarcowego: 12MHz
Rodzaj czujnika temperatury: układ scalony z przetwornikiem A/C
Połączenie z czujnikiem: 3-przewodowe, transmisja szeregowa
Długość przewodu czujnika: 10m, maksymalnie około 50m.
Wysokość cyfr wyświetlacza: 20cm
Typ wyświetlacza: 7-segmentowy LED, wyświetlanie sekwencyjne
Ilość cyfr: 4 cyfry + dwukropek + wskaźnik °C
Kolor świecenia wyświetlacza: czerwony
Częstotliwość wyświetlania sekwencyjnego: 156,25Hz
Tryb pracy: 24-godzinny
Dokładność odmierzania czasu: ±1 sekunda/dobę
Rozdzielczość wyświetlania czasu: 1 minuta
Zakres pomiaru temperatury: –55...+99°C
Rozdzielczość wyświetlania temperatury: 1°C
Zegar cyfrowy z termometrem
•
•
8
Naprzemienne wyświetlanie czasu i temperatury:
wskazanie czasu: 7 sekund, wskazanie temperatury: 3 sekundy
Przyciski sterujące:
SET – ustawianie zegara
UP – zwiększenie wybranego wskazania
DOWN – zmniejszanie wybranego wskazania
RESET – awaryjne zerowanie mikrokontrolera
Zegar przeznaczony jest do pracy ciągłej, dlatego powinien być na stałe podłączony do
sieci zasilającej 230V. Przerwy w zasilaniu trwające ponad 3 doby mogą spowodować
przerwanie odmierzania czasu w wyniku całkowitego rozładowania wewnętrznej baterii
NiCd i konieczność ręcznego wyzerowania mikrokontrolera. W praktyce taka sytuacja nie
powinna wystąpić, ponieważ aż tak długie przerwy w zasilaniu nie zdarzają się.
Zegar wyposażony jest w uchwyty umożliwiające zawieszenie go na ścianie. Czujnik
temperatury powinien być umieszczony na zewnątrz budynku w miejscu nie nasłonecznionym, aby pomiar nie był zafałszowany przez ciepło pochłaniane z promieni słonecznych.
Obsługa urządzenia w zasadzie ogranicza się do okresowej korekty odmierzanego czasu. Ze względu na dużą dokładność zegara, w praktyce potrzeba takiej korekty będzie zachodzić 2 razy w roku, podczas zmiany czasu z zimowego na letni, i odwrotnie.
Podczas normalnej pracy wyświetlacz naprzemienne wskazuje bieżący czas
i temperaturę. Długość trwania całego cyklu wskazania czasu i temperatury została na stałe
ustalona w programie na 10 sekund, przy czym czas wyświetlany jest przez 7 sekund, zaś
temperatura przez 3 sekundy. Podczas wyświetlania czasu wskazania godzin i minut oddzielone są dwukropkiem migającym z częstotliwością 1Hz, zaś podczas wyświetlania
temperatury z prawej strony wyświetlacza wyświetlany jest symbol stopni Celsjusza. Nieznaczące zera dziesiątek godzin podczas wyświetlania czasu oraz dziesiątek stopni Celsjusza podczas wyświetlania temperatury są wygaszane w celu zwiększenia przejrzystości
wskazań. Temperatury ujemne sygnalizowane są znakiem „–” wyświetlanym przed wartością zmierzonej temperatury. W przypadku braku komunikacji mikrokontrolera z czujnikiem temperatury, np. w przypadku przerwania przewodu czujnika, na wyświetlaczu zamiast temperatury wyświetlane są dwa znaki „–”
Program sterujący mikrokontrolera został tak napisany, aby przypadkowe krótkotrwałe
naciśnięcie dowolnego przycisku sterującego nie spowodowało zmiany wskazań na wyświetlaczu. Do obsługi zegara użytkownik ma do dyspozycji następujące przyciski:
SET
Naciśnięcie tego przycisku przez co najmniej 2 sekundy włącza procedurę
ustawiania bieżącego czasu. Dwukropek przestaje migać, zaś miganie
z częstotliwością 2Hz pozycji godzin sygnalizuje, że używając przycisków UP
i DOWN możemy zmieniać ich wartość. Kolejne naciśnięcia przycisku SET
spowodują włączenie ustawiania minut, sekund oraz wyjście z procedury ustawiania czasu i powrót do normalnej pracy. Ustawianie sekund polega na ich
wyzerowaniu (dowolnym klawiszem UP lub DOWN), przy czym jeśli wskazanie sekund w chwili naciśnięcia klawisza UP lub DOWN było ≥30, to bieżące
minuty zwiększane są o 1.
UP
W procedurze ustawiania bieżącego czasu jednokrotne naciśnięcie tego przycisku zwiększa wybraną pozycję o 1. Przytrzymanie przycisku przez co najmniej
1 sekundę spowoduje włączenie cyklicznego zwiększania wybranej pozycji co
około ¼ sekundy.
Zegar cyfrowy z termometrem
DOWN
9
W procedurze ustawiania bieżącego czasu jednokrotne naciśnięcie tego przycisku zmniejsza wybraną pozycję o 1. Przytrzymanie przycisku przez co najmniej
1 sekundę spowoduje włączenie cyklicznego zmniejszania wybranej pozycji co
około ¼ sekundy.
Ponadto jednoczesne naciśnięcie przycisków UP i DOWN podczas normalnej pracy
zegara (wyświetlanie czasu i temperatury) włącza sekundnik. Na wyświetlaczu pozycja
godzin zostanie wygaszona, natomiast z miejscu minut będą wyświetlane bieżące sekundy.
Wyłączenie tego trybu pracy i powrót do wyświetlania czasu i temperatury następuje poprzez chwilowe naciśnięcie dowolnego przycisku sterującego.
Przycisk RESET, do którego dostęp został celowo utrudniony, służy do wyzerowania
wewnętrznego mikrokontrolera. Potrzeba taka może wystąpić w przypadku całkowitego
rozładowania wewnętrznej baterii NiCd podczas długotrwałej przerwy w zasilaniu z sieci
230V.
Urządzenie zabezpieczone jest wkładką bezpiecznikową 250mA zwłoczną.
W przypadku konieczności wymiany przepalonej wkładki należy zwrócić uwagę aby użyć
wkładki o tych samych parametrach. Nie należy stosować wkładek bezzwłocznych, gdyż
mogą ulegać przepaleniu w momencie włączenia napięcia zasilającego przez duży chwilowy impuls prądowy ładowania kondensatora filtrującego zasilacza.