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
43853594.054.png 43853594.065.png 43853594.076.png 43853594.087.png 43853594.001.png 43853594.005.png 43853594.006.png 43853594.007.png 43853594.008.png 43853594.009.png 43853594.010.png 43853594.011.png 43853594.012.png 43853594.013.png 43853594.014.png 43853594.015.png 43853594.016.png 43853594.017.png 43853594.018.png 43853594.019.png 43853594.020.png 43853594.021.png 43853594.022.png 43853594.023.png 43853594.024.png 43853594.025.png 43853594.026.png 43853594.027.png 43853594.028.png 43853594.029.png 43853594.030.png 43853594.031.png 43853594.032.png 43853594.033.png 43853594.034.png 43853594.035.png 43853594.036.png 43853594.037.png 43853594.038.png 43853594.039.png 43853594.040.png 43853594.041.png 43853594.042.png 43853594.043.png 43853594.044.png 43853594.045.png 43853594.046.png 43853594.047.png 43853594.048.png 43853594.049.png 43853594.050.png 43853594.051.png 43853594.052.png 43853594.053.png 43853594.055.png 43853594.056.png
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
43853594.057.png 43853594.058.png 43853594.059.png 43853594.060.png 43853594.061.png 43853594.062.png 43853594.063.png 43853594.064.png 43853594.066.png 43853594.067.png 43853594.068.png 43853594.069.png 43853594.070.png 43853594.071.png 43853594.072.png 43853594.073.png 43853594.074.png 43853594.075.png 43853594.077.png 43853594.078.png 43853594.079.png 43853594.080.png 43853594.081.png 43853594.082.png 43853594.083.png 43853594.084.png 43853594.085.png 43853594.086.png 43853594.088.png 43853594.089.png 43853594.090.png 43853594.091.png 43853594.092.png 43853594.093.png 43853594.094.png 43853594.095.png 43853594.096.png 43853594.097.png 43853594.002.png 43853594.003.png 43853594.004.png
Zgłoś jeśli naruszono regulamin