83_52.pdf
(
242 KB
)
Pobierz
43853594 UNPDF
2 4 9 3
Sterownik
(niekoniecznie)
akwariowy
Do budowy tego urządzenia skłoniła
mnie żona – zapalona akwarystka.
Sterownik umożliwia utrzymanie sta−
łej, wcześniej nastawionej temperatu−
ry. Drugą przydatną funkcją jest stero−
wanie oświetleniem – można ustawić
godzinę włączenia i wyłączenia oświe−
tlenia. Poza tym na bieżąco wyświe−
tlany jest na przemian aktualny czas
oraz temperatura.
Program zawiera instrukcje obsługujące
zegar czasu rzeczywistego PCF8583 oraz
czujnik temperatury DS1820 wykorzystujący
tor 1WIRE. Procedury obsługujące te ele−
menty są standardowe, z jednym wyjątkiem.
W podprogramach
Settime
i
Gettime
obsłu−
gujących RTC−a w komórce o adresie 100
wpisywane są dane dotyczące czasu włącze−
nia, a pod adresem 110 dane dotyczące czasu
wyłączenia oświetlenia. W zależności od sta−
nu portu p1.0 włączany jest poprzez tranzy−
stor T1 przekaźnik sterujący oświetleniem.
Urządzenie obsługiwane jest czterema przy−
ciskami zdefiniowanymi w programie jako S1−
S4 (instrukcja
Alias
). W czasie trwania głównej
pętli programu
Displaytime
możemy za pomo−
cą S1 wejść w tryb ustawiania czasu (
Settime
:
S1 − ustawiamy godziny, S2 − minuty). Za po−
mocą S2 czas włączenia (
Seton
) i po naciśnię−
ciu S4 wyłączenia (
Setoff
) oświetlenia (usta−
wianie jak wyżej). Przycisk S3 służy natomiast
do ustawienia temperatury (
Ustawtemp
: S1
w górę, S2 w dół). Z każdego trybu wychodzi−
my, naciskając S4, lub, jeżeli w ciągu około 10
sekund nic nie naciśniemy, program po wyko−
naniu instrukcji
For...Next
(kiedy
y=1500
) sam
wyjdzie z opisanych wyżej podprogramów do
programu głównego (naciśnięcie przycisków
ustawiania powoduje wyzerowanie zmiennej
y,
odraczając czas automatycznego opuszcze−
nia podprogramu). Dodatkowo dzięki wyko−
rzystaniu instrukcji
Sound
każde naciśnięcie
któregoś z przycisków S1−S3 potwierdzone
jest krótkim „bipkiem” (podprogram
Shortsi−
gnal
) lub po wyjściu z trybów ustawień (S4)
długim „bipkiem”(podprogram
Longsignal
).
Opis układu
i programowanie
Schemat ideowy sterownika przedstawiony
został na
rysunku 1
, a schemat wyświetlacza
na
rysunku 2
. Urządzenie oparte jest o mi−
krokontroler AT89C4051. Do kontroli napię−
cia zasilania zastosowałem specjalizowany
układ resetu DS1812.
Rys. 1 Schemat ideowy sterownika
+12
IC2
LM7805
VCC
1
I
O
3
SL1
LCD DISPLAY
SL
6
F1
2
50mA
C6
100n
M
2
2
1
2
TR1
1
R1
10k
MAIN
1
F2
1A
2
B1
1A\50V
C4
470u
C3
220u
1
2
−
F3 1A
IC3
DS1813
VCC
J1
2
VCC
RST__
1
SL
4
2
+12
3
1
GND
REL1
R4
100k
D1
LGHT
C2
33p
C1
33p
VCC
IC1
R210k
1
2
3
4
5
6
7
8
9
10
20
T1
BC548
19
SL
5
18
2
17
+12
Q1
11MHz
1
16
15
HEAT
4
4
14
1W
I
RE
SL2
3
R6
R7
R8
SL3
3
13
1
2
SL1
2
1k
1k
1k
2
12
DIOD
SWTH
1
1
11
+12
AT89C4051
VCC
REL2
D2
C5
33p
D3
T2
BC548
R3
IC4
PCF8583
D4
1
2
3
4
8
10k
7
BAT1
R5
100k
Q2
32768Hz
6
5
_
52
Listopad 2002
Elektronika dla Wszystkich
Do wizualizacji danych i stanu urządzenia
wykorzystany został wyświetlacz 16*1 (ze
względów ekonomicznych), który obsługi−
wany jest przez mikrokontroler na pinach do−
myślnie ustawionych w pakiecie BA−
SCOM8051. Zgodnie z ustaloną w progra−
mie pętlą (1 do 320) naprzemiennie (co ok. 5
sekund) wyświetlana jest aktualna tempera−
tura i czas. Dodatkowo dzięki zdefiniowaniu
dodatkowego znaku (coś na kształt lampki
z promykami) jako
chr(0)
na wyświetlaczu
możemy odczytać aktualny stan oświetlenia.
Przycisk S4 umożliwia włączanie i wyłącza−
nie oświetlenia, a także wyjście z funkcji au−
tomatycznego sterowania oświetleniem (pod−
programy Alon i Aloff).
Na płytce sterownika zamontowałem pod−
stawkę pod pamięć szeregową typu
AT24C04, gdzie na wypadek zaniku napięcia
przechowywane miały być ustawienia doty−
czące czasu i temperatury.
Jednakże po napisaniu procedur obsługu−
jących wspomnianą kostkę, okazało się, że
wielkość programu przekracza możliwości
„szczuplutkiej” AT89c4051. Już myślałem,
że nici z moich planów, kiedy to nagle przy−
szło „oświecenie”. Otóż przypomniałem so−
bie wykład 6 − Magistrala I
2
C (EdW9/00),
gdzie przedstawiono schemat blokowy
PCF8583. Jak wiosenna łączka zaszyta w ka−
wałku krzemu rozpościera się obszar wolnej
pamięci RAM (adres 0Fh−FFh) i grzechem
byłoby jej nie wykorzystać. Napisanie samej
procedury było już tylko wyjątkowo przy−
jemną formalnością. Zadeklarowałem pod−
program
Gettemp
obsługujący odczyt zapisa−
nej wcześniej temperatury oraz
Settemp
− po−
zwalający na zapisanie ustawionej tempera−
tury, jak również napisałem niezbędne proce−
dury. Linię programu ustalającą temperaturę
na 23
o
C (R=23) zastąpiłem poleceniem
odczytania zapamiętanej temperatury (call
gettemp). To wszystko! Zostaje nawet trochę
wolnej pamięci procesorka (!), a podstawka
pod pamięć szeregową jest już zbędna.
Doraźnie do obsługi temperatury przypo−
rządkowałem zmiennej
r
domyślną wartość
23 (23
o
C to optymalna temperatura dla ry−
bek akwariowych), a PCF8583 jest podłą−
czony do alternatywnego źródła zasilania (3
voltowej bateryjki
litowej). Tak więc
po włączeniu za−
silania głównego
„zegarek” cały
czas trzyma... czas,
a temperatura
w akwarium utrzy−
mywana jest na
poziomie mniej
więcej 23
o
C. Mniej
więcej, bo wpro−
wadziłem 0,5 stop−
niową histerezę
(E=R – 0,5) zapobiegając w ten sposób drga−
niom styków przekaźnika sterowanego z portu
p3.0 przez tranzystor T2.
Temperaturę można
regulować w zakresie 0−
99
o
C, dlatego nazwałem
moje urządzenie „Sterow−
Rys. 4 Schemat montażowy
wyświetlacza
Rys. 2 Schemat ideowy wyświetlacza
nik (niekoniecznie) akwariowy”. Urządzenie
można także wykorzystać do „regulacji cie−
pła” w domu.
Opisany program przetestowałem na płyt−
ce testowej AVT−2500. Program działa bez
zarzutu.
Płytki drukowane sterownika i wyswietla−
cza przedstawione zostały na
rysunkach 3
i
4
.
Listing programu w formacie Bascoma
można ściągnąć ze strony internetowej EdW
http://www.edw.com.pl/library/pliki/stera−
kri.zip
Rys. 3 Schemat montażowy sterownika
Remigiusz Idzikowski
Wykaz elementów
Sterownik
R1−R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10k
bezpiieczniik 250mA
F2,,F3 . . . . . . . . . . . . . . . . . . . . . . . . .bezpiieczniik 1A
F1−F3 . . . . . . . . . . .gniiazda bezpiieczniikowe do druku
J1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .jjumper
SL4− SL6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ARK2
SL2,,SL3 . . . . . . . . . . . . . . . . .gniiazdo golldpiin 4PIIN F
SL7 . . . . . . . . . . . . . . . . . . .gniiazdo golldpiin 16PIIN F
BAT1 . . . . . . . . . . . . . . . . . . . . . . . .batteriia liittowa 3V
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R4,,R5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100k
ΩΩ
C1,,C2,,C5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33pF
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220µF/9V
C4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470µF/16V
C6 . . . . . . . . . . . . . . . . . . . . . . . . .100nF ceramiiczny
B1 . . . . . . . . . . . . . . . . . . . . . . . . . . .mosttek 1A\\50V
D1−D4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148
Q1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11MHz
Q2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32768Hz
T1,,T2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .BC548
IIC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AT89C4051
IIC2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LM7805
IIC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DS1813
IIC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PCF8583
IIC5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DS1820
REL1 REL2 . . . . . . . . . . . . . . . .przekaźniik 12V SPDT,,
np.. G2R−1−12DC fiirmy OMRON
TR1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .TS2/14
Wyświetlacz
R1,,R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10k
ΩΩ
T1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .BC548
SG1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .piiezo
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED ziiellona
D2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED czerwona
D3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LED żółłtta
D4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148
S1−S4 . . . . . . . . . . . . . . . . . . . . . . . . . . .miikroswiittch
SL1 . . . . . . . . . . . . .gniiazdo golldpiin PIIN16 F (2 sztt..)
HL1 . . . . . . . . . . . . . .złłącze golldpiin PIIN16 M (2 sztt..)
HL2,,HL3 . . . . . . . . . . . . . . . . .złłącze golldpiin PIIN4 M
Wyświiettllacz allffanumeryczny LCD 16*1 lub 16*2
Komplet podzespołów z płytką jest dostępny w sieci handlowej AVT
jako kit szkolny AVT−2493
Elektronika dla Wszystkich
Listopad 2002
53
F1
R6−R8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1k
Plik z chomika:
max-mag1
Inne pliki z tego folderu:
83_08.pdf
(73 KB)
83_10.pdf
(94 KB)
83_13.pdf
(472 KB)
83_16.pdf
(589 KB)
83_21.pdf
(764 KB)
Inne foldery tego chomika:
01
02
03
04
05
Zgłoś jeśli
naruszono regulamin