18
Elektronika dla Wszystkich
Do czego to s³u¿y?
Opisów przeró¿nych sterowników urz¹dzeñ
zamieszczono ju¿ bardzo wiele. By³y one za-
zwyczaj sterowane kodem RC-5 czy interfej-
sem równoleg³ym komputera. Idea stosowa-
nia sterowników jest jak najbardziej na miej-
scu, gdy¿ niekiedy musimy w³¹czaæ i wy³¹-
czaæ wiele urz¹dzeñ ró¿nie oddalonych od
siebie. Zastosowanie takiego sterownika
umo¿liwia sterowanie kilkoma urz¹dzeniami
z jednego miejsca, co przyœpiesza ich stero-
wanie oraz polepsza komfort obs³ugi tych
urz¹dzeñ.
Proponowany sterownik ró¿ni siê od in-
nych tym, ¿e mo¿na go sterowaæ ³¹czem sze-
regowym, w który jest wyposa¿ony ka¿dy
PC-et. Sterowanie portem równoleg³ym jest
uci¹¿liwe, zw³aszcza gdy mamy do niego do-
³¹czon¹ drukarkê. Tak wiêc sterowanie po-
rtem szeregowym nie tylko zmniejsza liczbê
przewodów, ale uniezale¿nia od potrzeby sto-
sowania innych portów, które s¹ bardziej po-
trzebne do innych celów.
Poni¿ej przedstawiony sterownik charak-
teryzuje siê 8 kana³ami, których ka¿dy stan
jest zapamiêtywany w nieulotnej pamiêci
EEPROM, co chroni uk³ad przed wp³ywem
zaników napiêæ, które powodowa³by kaso-
wanie ustawieñ przekaŸników.
Du¿¹ zalet¹ takiego sterownika jest to, ¿e
do jego sterowania nie trzeba posiadaæ ¿ad-
nego oprogramowania, do obs³ugi wystarczy
jakikolwiek terminal, choæ program steruj¹cy
w du¿ej mierze u³atwi sposób sterowania ste-
rownikiem.
Przyk³adowy program obs³uguj¹cy ste-
rownik mo¿e wygl¹daæ tak jak za³¹czony.
Jak to dzia³a?
Schemat ideowy uk³adu znajduje siê na ry-
sunku 1. Ca³ym sterownikiem steruje znany
i wielokrotnie stosowany mikroprocesor
89C2051. Wyjœcia od P1.2 do P1.7 oraz P3.2,
P3.3 steruj¹ tranzystorami T1–T8, które z ko-
lei uk³adami wykonawczymi w postaci prze-
kaŸników. Diody D1–D8 sygnalizuj¹ stan
przekaŸników, natomiast D9–D16 chroni¹
tranzystory przez przepiêciami podczas wy-
³¹czania przekaŸników. Piny portu P3.4, P3.5
steruj¹ pamiêci¹ nieulotn¹ EEPROM U2, na-
tomiast piny P3.0 oraz P3.1 konwerterem na-
piêæ U3. Uk³ad U3 dostosowuje napiêcia do
standardu RS232, które powinny wynosiæ
–12V/+12V. Napiêcie zasilaj¹ce uk³ad stabi-
lizowane jest na poziomie 5V przez U4, na-
tomiast kondensatory C1–C4 filtruj¹ napiêcia
zasilaj¹ce uk³ad.
Na listingu 1 znajduje siê fragment pêtli,
w której nastêpuje oczekiwanie na dane wy-
s³ane z komputera do sterownika, natomiast
listing 2 przedstawia procedurê wysy³aj¹c¹
do komputera aktualny stan ustawieñ przeka-
Ÿników, co wykorzystano w do³¹czonym do
projektu programie. Listing 3 przedstawia
czêœæ procedury odpowiedzialnej za sterowa-
nie przekaŸnikami na podstawie odebranych
danych z portu. W czêœci tej procedury wi-
daæ, ¿e po ka¿dej zmianie stanu przekaŸnika
od razu jego stan jest zapamiêtywany w nie-
ulotnej pamiêci, dziêki czemu z du¿ym praw-
dopodobieñstwem sterownik powróci po po-
wrocie napiêcia zasilaj¹cego do stanu prze-
kaŸników sprzed jego zaniku.
Monta¿ i uruchomienie
Uk³ad sterownika mo¿na zmontowaæ na p³yt-
ce przedstawionej na rysunku 2. Przed mon-
ta¿em nale¿y wlutowaæ jedn¹ zworkê, prze-
chodz¹c od elementów najmniejszych, koñ-
cz¹c na w³o¿eniu uk³adów scalonych do pod-
stawek.
Sterownik po poprawnym zmontowaniu od
razu powinien poprawnie pracowaæ. Do wej-
œcia Z1 nale¿y do³¹czyæ napiêcie zasilaj¹ce
★★
★★
★★
3
3
0
0
1
1
6
6
Listing 1:
Do
'Instrukcja
czytania danych z portu
Input V
Z = V + 48
Call Zalacz
If Z = „s” Then
Call Wr_stan
End If
Loop
Listing 2:
Sub Wr_stan:
' Procedura
wysylania stanu sterownika
For I = 1 To 8
Waitms 100
Print Chr(stan(i))
Next I
End Sub
Listing 3:
Sub Zalacz
' Procedura
obslugi urzadzen
Select Case Z
Case „1” :
Set P1.7
Stan(1) = „1”
Value = Stan(1)
Call Zap_eeprom(1 , Value )
Print „p”
Case „0” :
Reset P1.7
Stan(1) = „0”
Value = Stan(1)
Call Zap_eeprom(1 , Value )
Print „p”
Case „3” :
Set P1.6
Stan(2) = „3”
Value = Stan(2)
Call Zap_eeprom(2 , Value )
Print „p”
................
................
................
End Select
End Sub
S
S
z
z
e
e
r
r
e
e
g
g
o
o
w
w
y
y
s
s
t
t
e
e
r
r
o
o
w
w
n
n
i
i
k
k
u
u
r
r
z
z
¹
¹
d
d
z
z
e
e
ñ
ñ
o wartoœci 12V. Ze znalezieniem odpo-
wiedniej obudowy dla tego uk³adu nie
powinno byæ wiêkszych problemów. Aby
sterownik poprawnie pracowa³ z kompu-
terem, powinien byæ po³¹czony przewo-
dem, który ma skrzy¿owane linie TX
oraz RX. Z wykonaniem takiego przewo-
du nie powinno byæ wiêkszych proble-
mów, gdy¿ wystarczy tylko zamieniæ po
jednej stronie z³¹cza linie RX z lini¹ TX.
Po po³¹czeniu sterownika z komputerem
oraz zasileniu go napiêciem, dla jego
sprawdzenia najlepiej bêdzie pos³u¿yæ
siê jakimkolwiek terminalem.
Sterownik obs³uguje transmisjê
9600:8:n:1, tzn. aby sterownik popraw-
nie siê porozumiewa³ w konfiguracji ter-
minala, nale¿y ustawiæ szybkoœæ trans-
misji na 9600bs, dane -8 bitów, bit pa-
rzystoœci - brak, 1 bit stopu. Po takim
skonfigurowaniu terminala porozumie-
wanie siê ze sterownikiem powinno
przebiegaæ bez ¿adnych problemów.
Powy¿sza tabelka przedstawia roz-
kazy przyjmowane przez sterownik, przy
czym wpisane rozkazy nale¿y potwier-
dzaæ zawsze klawiszem ENTER.
19
Elektronika dla Wszystkich
Rys. 2 Schemat monta¿owy
Rys. 1 Schemat ideowy
Urz¹dzenie 1 2 3 4 5 6 7 8
ON
1
3
5
7
9
b
d
f
OFF
0
2
4
6
8
a
c
e
20
Elektronika dla Wszystkich
Ci¹g dalszy ze strony 19.
Sterownik ka¿dy przyjêty poprawnie roz-
kaz potwierdza wys³aniem do komputera li-
tery p. Po wys³aniu do sterownika rozkazu s,
sterownik wysy³a do komputera aktualny
stan wszystkich przekaŸników, co powinno
wygl¹daæ np. jak poni¿ej:
s (enter)
1 (PK1 w³¹czony)
3 (PK2 w³¹czony)
4 (PK3 wy³¹czony)
7 (PK4 w³¹czony)
8 (PK5 wy³¹czony)
b
(PK6 w³¹czony)
c
(PK7 wy³¹czony)
e
(PK8 wy³¹czony)
Do sterownika za³¹czam program obs³u-
guj¹cy sterownik, przy czym przed urucho-
mieniem programu w pliku „ustaw.txt” nale-
¿y ustawiæ numer portu, do którego do³¹czo-
ny zosta³ sterownik. Po poprawnym ustawie-
niu portu, uruchomienie programu powinno
spowodowaæ odczyt danych ze sterownika,
co powinno daæ odwzorowanie diod na wir-
tualnych przyciskach zgodnie z diodami
LED umieszczonymi w sterowniku. Kolejne
przyciskanie przycisków w programie po-
winno dawaæ reakcjê poszczególnych prze-
kaŸników, którym zosta³ przyporz¹dkowany
dany klawisz.
Do³¹czony program zosta³ napisany jako
przyk³ad pokazuj¹cy ³atwoœæ sterowania ste-
rownikiem. Za pomoc¹ innego programu ste-
ruj¹cego mo¿na zrobiæ ze sterownika genera-
tor efektów œwietlnych czy sterownik lampek
choinkowych. Tak wiêc wszystko zale¿y od
oprogramowania obs³uguj¹cego sterownik.
Marcin Wi¹zania
mwiazani@kki.net.pl
P³ytka jest dostêpna w sieci handlowej AVT jako kit szkolny AVT-3016
Wykaz elementów
Rezystory
R1-RR8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10k
Ω
R9-RR16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .560
Ω
Kondensatory
C1,C4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF
C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470µF/16V
C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/16V
C5-CC9 . . . . . . . . . . . . . . . . . . . . . . . . . . .10µF/16V
C10,C11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33pF
C12 . . . . . . . . . . . . . . . . . . . . . . . . . . . .4,7
µF/16V
Pó³przewodniki
D1-DD8 . . . . . . . . . . . . . . . . . . . . . . . . . .LED zielona
D9-DD16 . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148
T1-TT8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .BC548
U1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89C2051
U2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .PCF8582
U3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .MAX232
U4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805
Inne
PK1-PPK8 . . . . . . . . . . . . . . . . . . . . . . . . .RM81/12V
X1 . . . . . . . . . . . . . . . . . . . . . . . . . . .Kwarc 11MHz
Z2 . . . . . . . . . . . . .Z³¹cze DB9/M lutowane do p³ytki