Dźwięk dzwonka szkolnego, szczególnie te−
go pierwszego, przez większość uczniów nie
jest lubiany. Bardziej pozytywne emocje wy−
wołuje dzwonek będący tym ostatnim, koń−
czącym ostatnią lekcję, a jeszcze bardziej po−
zytywne odczucia daje dzwonek oznajmiają−
cy koniec roku szkolnego. Dlaczego tak jest,
wie każdy, kto chodzi lub chodził do szkoły.
Jeśli jesteś uczniem i chcesz zostać docenio−
ny przez ciało pedagogiczne, możesz wyko−
nać na rzecz szkoły bardzo pożyteczne urzą−
dzenie, które zostało opisane w artykule. Jest
to automat, którego zadaniem jest włączanie
dzwonka w chwilach rozpoczęcia lub zakoń−
czenia przerw i lekcji. Urządzeniem steruje
mikroprocesor, w związku z czym posiada
nieskomplikowaną budowę. Jest odporne na
zaniki napięcia sieciowego oraz posiada wy−
godny interfejs obsługi. Programowanie ste−
rownika jest bardzo proste i przypomina na−
stawianie zegarka elektronicznego. Urządze−
nie bardzo dobrze nadaje się na temat pracy
dyplomowej.
Opis układu
Schemat ideowy układu pokazany jest na ry−
sunku 1. Pracą urządzenia steruje doskonale
znany Czytelnikom EdW mikroprocesor
AT89C2051. Ponieważ urządzenie musi być
odporne na zaniki napięcia w sieci energe−
tycznej, konieczne okazało się zastosowanie
odrębnego układu zegara czasu rzeczywiste−
go, który będzie działał mimo braku zasilania
ze strony sieci. Implementacja zegara w pro−
gramie mikroprocesora byłaby oczywiście
lepszym rozwiązaniem, ale na przeszkodzie
stoi sposób jego awaryjnego zasilania, który
w stanie pracy pobiera kilka mA prądu. Układ
RTC został zrealizowany w oparciu o popu−
larną kostkę Philipsa – PCF8583. W razie
braku napięcia sieci (awaria sieci lub po pro−
stu wyjęcie wtyczki z gniazda) zegar RTC za−
silany jest z dodatkowej baterii litowej i po−
biera przy tym prąd
o
wartości pojedyn−
czych mikroamperów.
Istotną zaletą tej kostki
jest również to, że po−
siada wolną, 240−bajto−
wą pamięć, którą można
traktować jak nieulotną
pamięć RAM. Nieulot−
ną, ponieważ jej zawar−
tość, mimo odłączenia
urządzenia z sieci, jest
podtrzymywana przez
wspomnianą baterię.
Dostępna pamięć jest
wykorzystana do prze−
chowania danych wpro−
wadzonych w fazie pro−
gramowania urządzenia.
Zegar RTC komuni−
kuje się z procesorem
przez magistralę I
2
C.
Na wyjściu INT kostki
PCF8583 co sekundę
występuje zbocze opa−
dające, które wywołuje
przerwanie INT0 w mi−
kroprocesorze. Sygnał
13
Projekty AVT
E l e k t r o n i k a d l a W s z y s t k i c h
S
S
S
S
tt
tt
e
e
e
e
rr
rr
o
o
o
o
w
w
w
w
n
n
n
n
ii
ii
k
k
k
k
d
d
d
d
zz
zz
w
w
w
w
o
o
o
o
n
n
n
n
k
k
k
k
a
a
a
a
ss
ss
zz
zz
k
k
k
k
o
o
o
o
ll
ll
n
n
n
n
e
e
e
e
g
g
g
g
o
o
o
o
2
2
2
2
6
6
6
6
7
7
7
7
0
0
0
0
HHHH
HH
Rys. 1 Schemat ideowy
pochodzący z tej końcówki jest w pewnym
sensie sygnałem zegarowym taktującym cały
układ.
Mikroprocesor obsługuje wyświetlacz
LCD 16*2 znaków oraz kontroluje stan przyci−
sków S1..S4. Pracą dzwonka steruje przeka−
źnik REL1, z kolei którego pracą poprzez tran−
zystor T1 steruje port P3.7 mikrokontrolera.
Dioda D2 zapobiega wpływowi prądu za−
silacza do baterii, a dioda D1 wypływowi
prądu baterii poza układ RTC.
Zasilacz urządzenia jest typowym ukła−
dem z prostownikiem dwupołówkowym oraz
stabilizatorem LM7805 i nie wymaga szer−
szego opisu. W modelu zastosowałem trans−
formator TS2/15 (10V1/0.18A), jednak lepiej
jest użyć typu TS2/14, ponieważ posiada nie−
co większą wydajność prądową (8V2/0.22A).
Program
Program można ściągnąć ze strony EdW
z działu FTP. Zajmuje on 2048 bajtów, a więc
całą przestrzeń pamięci EEPROM mikropro−
cesora. Większość pamięci zajmują procedu−
ry obsługi menu (LCD, zegar) oraz procedu−
ry komunikacji z układem PCF8583.
Zastosowany algorytm wyznaczania
dzwonka musi gwarantować, że mimo chwi−
lowego (a nawet długiego) braku zasilania
układ nie straci „orientacji” w czasie i po po−
wrocie napięcia sieci włączy dzwonek o za−
programowanym czasie. Najprostszym algo−
rytmem realizującym takie zadanie jest od−
czyt czasów zadziałania dzwonka, zapisa−
nych w kolejnych komórkach pamięci nieu−
lotnej, i porównanie każdego z nich z bieżą−
cym czasem co pewien okres – np. co minu−
tę. Jeżeli wynik porównania jest prawdziwy,
następuje włączenie dzwonka. Podobny spo−
sób zastosowałem w urządzeniu, z tą różnicą,
że procesor nie odczytuje bezpośrednio cza−
su zadziałania dzwonka. W zastosowanym
algorytmie do wyznaczenia czasu dzwonka
wystarczą następujące dane:
− czas pierwszego dzwonka,
− czas lekcji,
− liczba lekcji,
− czasy poszczególnych przerw.
Posiadając te elementarne dane oraz
bieżący czas, procesor oblicza „w locie”
czasy włączenia dzwonka. Taki sposób
szukania czasu zadziałania dzwonka jest
wygodniejszy z punktu widzenia osoby
programującej automat. W razie koniecz−
ności przesunięcia godziny wystarczy
zmienić ustawienia zegara oraz czas
pierwszego dzwonka, a w razie zmiany
harmonogramu zajęć wystarczy przesunąć
czas pierwszego dzwonka. Czynność ta
jest więc o wiele krótsza niż ustawianie
z osobna poszczególnych czasów włącze−
nia dzwonka.
Dane są przechowywane w pamięci
układu PCF8583 w komórkach o adresie
powyżej 0Eh. Dokładniejszych informacji
na ten temat dostarcza tabela 1. Dla zao−
szczędzenia pamięci programu w procesorze
odczytem (zapisem) bieżącego czasu oraz
danych umieszczonych w pamięci U2 zajmu−
ją się te same procedury programu. Ponieważ
czas zapisywany w rejestrach układu U2 jest
podawany w formacie BCD, procedury te za−
mieniają podczas odczytu (zapisu) liczbę
z formatu BCD (DEC) na format DEC
(BCD). Z tego powodu format danych, który
normalnie byłyby dziesiętny, zostaje teraz
przekształcony do formatu BCD podczas za−
pisu i zmieniony do pierwotnej postaci decy−
malnej podczas odczytu.
Procedury sprawdzające czas obsługują
przerwanie INT0, które wywołuje zegar
RTC. Przerwanie to jest pomocne podczas
wyświetlania zegarka na LCD, zwłaszcza że
występuje ono co sekundę.
Procesor pobiera najpierw czas pierwsze−
go dzwonka i porównuje z czasem zegara. Je−
śli czasy są te same, program przechodzi do
procedury dzwonka, jeśli nie, to do czasu
pierwszego dodawany jest czas lekcji i znowu
następuje porównanie z czasem RTC. Jeśli to
nie ten czas, w następnej kolejności dodawa−
ny jest czas pierwszej przerwy. Jeśli do tego
momentu wynik porównania jest fałszywy,
dodawany jest czas lekcji, następuje porów−
nanie, dodawany jest czas drugiej przerwy,
porównanie... Szukanie odpowiedniego czasu
kończy się na odczytaniu zawartości komór−
ki, w której jest umieszczony czas ostatniej
przerwy. Fragment programu odpowiedzial−
nego za tę procedurę prezentuje listing 1.
W trakcie pracy na wyświetlaczu pokazywa−
ny jest bieżący czas. Wyświetlaniem czasu
zajmuje się procedura „obsluga_przerwania”,
uruchamiana podczas obsługi przerwania
INT0. Podczas programowania sterownika
obsługa przerwania zostaje wyłączona.
Czas dzwonienia dzwonka można ustalać.
Podczas dzwonienia na wyświetlaczu ukazu−
je się symbol dzwonka, który informuje o za−
działaniu przekaźnika. Ustawianie czasu lek−
cji i przerw odbywa się z interwałem 5min.,
ponieważ ich czas liczony w minutach (który
wynosi 45min., ale zdarzają się skrócone lek−
cje) jest wielokrotnością liczby 5.
Struktura menu nie jest zbyt złożona. Po−
siada ono następujące pozycje, które są wy−
bierane za pomocą przycisku „MODE”:
CZAS. Na wyświetlaczu pokazywany jest
bieżący czas z dokładnością do 1 sekundy.
Przejście do tej pozycji jest równoznaczne
z włączeniem automatu, gdyż tylko wtedy
jest zezwolenie na przerwanie.
ZEGAR. Nastawianie zegara RTC. Nasta−
wiamy godziny oraz minuty za pomocą przy−
cisków „+” i „ − ”. Po dowolnej modyfikacji
zerowane są sekundy. Wyboru pomiędzy mi−
nutą a godziną dokonujemy za pomocą przy−
cisku „NEXT”.
14
Projekty AVT
E l e k t r o n i k a d l a W s z y s t k i c h
Listing 1
Obsluga_przerwania:
Call Clock(3 , 4 , "** CZAS **")
Call Czytaj(&H11)
'odczytanie danych z pamięci
Czas_lekcji = Dane
Call Czytaj(&H3)
Minuta = Dane
Call Czytaj(&H4)
Godzina = Dane
Call Czytaj(&Min_1dzw)
Zawm = Dane
Call Czytaj(&Godz_1dzw)
Zawh = Dane
Call Czytaj(&Liczba_lekcji)
Max_komorka = Dane + &GODZ_1DZW
'ustalenie adresu komórki z ostatnią przerwą
For Wsk = &POCZATEK To Max_komorka
Sprawdz
'jeśli to czas dzwonka to dzwoń
Zawm = Zawm + Czas_lekcji
'dodanie czasu lekcji do zmiennej
Minuty
'jeśli minuta w zmiennej
Sprawdz
'sprawdź czy trzeba dzwonić
Call Czytaj(wsk)
'odczytaj czas przerwy z komórki o adresie wsk
Zawm = Zawm + Dane
'dodaj ją do zmiennej
Minuty
Next
Return
Tab. 1 Rozmieszczenie danych
w pamięci RAM układu PCF8583.
rejestr kontrolny
00h
setne części sekundy
01h
sekundy
02h
minuty
03h
godziny
04h
rok
05h
tydzień/miesiąc
06h
timer
07h
kontrolny rejestr alarmu
08h
rejestry alarmu
.......
rreejjeessttrr lliicczznniikkaa
0Fh
lliicczzbbaa lleekkccjjii
10h
cczzaass lleekkccjjii
11h
cczzaass ddzzw
woonnkkaa
12h
m
miinnuuttaa ppiieerrw
wsszzeeggoo ddzzw
woonnkkaa
13h
ggooddzziinnaa ppiieerrw
wsszzeeggoo ddzzw
woonnkkaa
14h
cczzaass 11 pprrzzeerrw
wyy
15h
cczzaass 22 pprrzzeerrw
wyy
16h
...................................................
.......
cczzaass 223355 pprrzzeerrw
wyy
FFh
PIERWSZY
DZWONEK.
Czas wystąpienia pierwszego
dzwonka. Nastawianie przebiega
tak samo jak w przypadku zegara.
CZAS LEKCJI. Standardowo
45, ale bywa, że lekcje są skróco−
ne. Klawiszami „+” i „−” ustala−
my wartość, która dla wygody
jest wielokrotnością liczby 5.
Jednostką jest minuta.
CZAS DZWONKÓW. Jest to
czas, przez jaki będzie dzwonił
dzwonek. Jego miarą jest sekunda.
LICZBA LEKCJI. Jest naj−
większą liczbą lekcji, jaka wystę−
puje w jednym dniu.
n
PRZERWA. Oznacza czas
n
−tej przerwy, począwszy od prze−
rwy między pierwszą a drugą lek−
cją. Czas liczony w minutach usta−
wiamy za pomocą przycisków „+”
i „−”. Aby przejść do następnej
przerwy, wciskamy przycisk „NE−
XT”. Gdy liczba lekcji jest mniej−
sza od 2, pozycja ta jest pomijana.
Montaż
i uruchomienie
Montaż elektroniki możemy
przeprowadzić na płytkach dru−
kowanych pokazanych na rysun−
kach 2−4. Jak widać, zasilacz
z przekaźnikiem został zmontowany na osob−
nej płytce. Wyświetlacz oraz płytkę z przyci−
skami łączymy z płytką sterownika za pomo−
cą tasiemki przewodów. Pod baterię wykonu−
jemy podstawkę ze srebrzanki, jednak lep−
szym wyjściem jest użycie fabrycznie wyko−
nanej podstawki (jakie spotyka się na płytach
głównych komputerów). Ze względów bez−
pieczeństwa podczas uruchamiania urządze−
nia zasilamy je z innego zasilacza i montaż
transformatora odkładamy na później. Uru−
chomienie układu powinno przebiegać bez
problemów. Potencjometrem PR1 ustawiamy
kontrast wyświetlacza. Jasność podświetla−
nia możemy ustalać za pomocą zmiany war−
tości R1. Jako obudowę najlepiej jest zasto−
sować obudowę ZIVA. W jej przednim pane−
lu wycinamy otwór na wyświetlacz LCD
oraz wiercimy otworki na przyciski S1..S4.
Z tyłu wykonujemy otwór na wyłącznik zasi−
lania oraz otwór, przez który będzie przebie−
gał przewód zasilający. Również z tyłu obu−
dowy przykręcamy kostkę elektrotechniczną,
z której uzyskamy dostęp do styków przeka−
źnika, oraz umieszczamy tam wyłącznik sie−
ciowy. Montaż płytki sterownika, wyświetla−
cza oraz płytki z przyciskami jest pionowy.
Szczegóły montażu widoczne są na rysunku
5. Urządzenie można również umieścić na
ścianie w pozycji pionowej, co w wielu sytu−
acjach może być lepszym rozwiązaniem.
Wtedy otwór na wyświetlacz wykonujemy
w górnej pokrywie obudowy. Styki przeka−
źnika REL1 podłączamy równolegle do ist−
niejącego włącznika dzwonka. Takie włącze−
nie urządzenia w instalację dzwonkową
umożliwi, w razie konieczności, przejście na
„sterowanie ręczne”.
Piotr Wójtowicz
15
Projekty AVT
E l e k t r o n i k a d l a W s z y s t k i c h
Wykaz elementów
Rezystory
R
R11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..110000
Ω
Ω
R
R22,,R
R33 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..1100kk
Ω
Ω
R
R44 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..22,,77kk
Ω
Ω
P
PR
R11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..1100kk
Ω
Ω PPRR m
miinniiaattuurroow
wyy
Kondensatory
C
C11,,C
C22,,C
C44 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..3333ppFF
C
C33 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..22,,22µµFF//1166V
V
C
C55 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..110000µµFF//1166V
V
C
C66,,C
C77,,C
C88,,C
C1111 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..110000nnFF cceerraam
miicczznnyy
C
C99 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..447700µµFF//1166V
V
C
C1100 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..222200µµFF//1166V
V
Półprzewodniki
D
D11,,D
D22,,D
D77 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..11N
N44114488
D
D33−−D
D55 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..11N
N44000011
TT11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..B
BC
C555577
U
U11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..A
ATT8899C
C22005511
U
U22 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..P
PC
CFF88558833
U
U33 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..LLM
M77880055
Różne
D
DP
P11 .. .. .. .. .. .. .. .. .. .. .. .. ..w
wyyśśw
wiieettllaacczz aallffaannuum
meerryycczznnyy 1166**22
Q
Q11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..1122M
MH
Hzz
Q
Q22 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..3322776688H
Hzz
S
S11−−S
S44 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..µµS
Sw
wiittcchh 1100m
mm
m
TTR
R11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..ttrraannssffoorrm
maattoorr TTS
S22//1144
R
REELL11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..R
RM
M8833ZZ 55V
V
B
BA
ATT11 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..bbaatteerriiaa lliittoow
waa 33V
V
ppooddssttaaw
wkkaa pprreeccyyzzyyjjnnaa 2200ddiipp
ppooddssttaaw
wkkaa pprreeccyyzzyyjjnnaa 88ddiipp
w
wyyłłąącczznniikk ssiieecciioow
wyy
kkoossttkkaa eelleekkttrrootteecchhnniicczznnaa
Komplet podzespołów z płytką jest dostępny w sieci handlowej AVT
jako kit szkolny AVT−2670
Rys. 2−4 Schematy montażowe
Rys. 5
a)
b)
c)