156-K Komputerowy załącznik _ wyłącznik urządzeń.pdf

(103 KB) Pobierz
156-K.p65
l
Komputerowy za³¹cznik/wy³¹cznik
urz¹dzeñ
Nowy Elektronik 156-K
Jest to bardzo prosta konstrukcja wykorzystuj¹ca nasz komputer do za³¹czania i wy³¹czania dowolnego urz¹dze-
nia np. lampki, telewizora, magnetowidu. Ogromna iloæ mo¿liwoci zastosowañ sprawia, ¿e uk³ad jest urz¹dze-
niem uniwersalnym.
Do komunikacji uk³adu z komputerem wykorzystano port drukarkowy LPT1. Aby wy-
³¹cznik móg³ dzia³aæ, potrzebny jest program komputerowy wspó³pracuj¹cy z naszym uk³adem.
Program obs³uguj¹cy napisano przy u¿yciu pakietu programowania Visual Basic 5, który pod
wzglêdem szybkoci tworzenia aplikacji jest bezkonkurencyjny i mo¿e byæ wykorzystany przez
elektroników amatorów.
konawczego np. dioda LED, przekanik. Triak Tr1 sterowany jest poprzez optotriak OPT1 z pin
11 buforu. Konstrukcja zasilacza oparta jest na stabilizatorze 78L05 Jak zapewne zauwa¿yli-
cie ca³a konstrukcja uk³adu jest bardzo prosta i zawiera niewiele elementów.
Dzia³anie uk³adu
Na rys. 2 znajduje siê schemat ideowy, z którego jasno wynika, ¿e uk³ad posiada
bardzo prost¹ konstrukcjê a i co za tym idzie i dzia³anie. Obs³uga programu steruj¹cego jest
³atwa i nieskomplikowana. Przed w³¹czeniem zasilania uk³adu oraz w³¹czeniem komputera w³¹cz-
nik nale¿y pod³¹czyæ do portu LPT1 komputera, zworki ZW1 i ZW2 nale¿y zdj¹æ. Po w³¹czeniu
komputera i uruchomieniu programu obs³uguj¹cego, w³¹czamy zasilanie uk³adu. Naciniêcie
przycisku Za³¹cz powoduje pojawienie siê na wyprowadzeniu D0 portu LPT1 wysokiego stanu,
który jest podany na wejcia pin2 i pin8 buforu 74HCT244. Aby wysoki stan pojawi³ siê na
wyjciu buforu pin18 i pin12 nale¿y za³o¿yæ zworkê ZW1. Sygna³ jest podany na tranzystor T1
BC237 oraz diodê optotriaka MOC3020 powoduj¹c w³¹czenie tranzystora i triaka TR1. W zasa-
dzie opis dzia³ania na tym mo¿emy zakoñczyæ. Inaczej przedstawia siê sprawa z programem
steruj¹cym uk³ad.
Budowa uk³adu
Konstrukcjê ca³ego urz¹dzenia mo¿emy podzieliæ na nastêpuj¹ce funkcjonalne bloki rys.1:
- wejcie
- bufor
- uk³ady wykonawcze
- zasilanie
Rys. 1 Schemat blokowy
Blok wejciowy sk³ada siê z przewodu ³¹cz¹cego komputer z uk³adem oraz z gniazda Centro-
nics DB25 (mêskie do druku). Jako bufor zabezpieczaj¹cy komputer wykorzystano uk³ad 74HC244
bêd¹cy omiobitowym buforem posiadaj¹cym wyjcia trójstanowe proste. Jako uk³ady wyko-
nawcze zastosowano tranzystor z otwartym kolektorem, umo¿liwiaj¹cy dalsz¹ rozbudowê oraz
triak odseparowany optotriakiem. Wy³¹cznik nie jest zasilany z komputera pomimo takiej mo¿-
liwoci. Projektuj¹c uk³ad zdecydowa³em siê na zastosowanie oddzielnego zasilacza dostar-
czaj¹cego napiêcia +5V niezbêdnego do pracy buforu. Konstrukcja zasilacza jest oparta o
uk³ad stabilizatora 78L05. Wejcia uk³adu 74HC244 2 i 9 do³¹czone s¹ do pin-u 2 gniazda DB25
portu LPT. Wejcia pin18 i pin1 wprowadzaj¹ce w stan blokady bufor zakoñczono zworkami
ZW1 i ZW2 do³¹czonymi do masy uk³adu. Tranzystor T1 BC237 zastosowany jako OC, sterowa-
ny jest z wyprowadzenia pin18 uk³adu 74HC244. Umo¿liwia do³¹czenie innego urz¹dzenia wy-
Program obs³uguj¹cy
Tak jak wspomnia³em program zosta³ stworzony przy u¿yciu Visual Basic, który jest jêzykiem
programowania wy¿szego rzêdu, co oznacza, ¿e wykonanie pojedynczego polecenia Visual
Basic powoduje wykonanie wielu podpoleceñ. W Visual Basic "rysuje" siê okna, przyciski,
etykiety, okna tekstowe, listy rozwijane, paski przewijania i wiele innych elementów, które
tworz¹ ca³y wygl¹d aplikacji. Drug¹ czêci¹ tworzenia aplikacji jest dopisanie kodu programu
do tych "narysowanych" elementów.
Program obs³uguj¹cy wy³¹cznik jest bardzo prosty i
stworzenie jego oraz przetestowanie zabra³o dos³ow-
nie kilka minut. Rys. 3 przedstawia okno g³ówne pro-
gramu obs³uguj¹cego.
Na pierwszy rzut oka nic nadzwyczajnego, lecz dla
naszego prostego uk³adu wy³¹cznika nie musimy tworzyæ tak bardzo zaawansowanego progra-
mu bêd¹cego cudem
myli programisty. Jak
widzimy, jest to chyba
jeden z prostszych pro-
gramów, jakie mo¿emy
stworzyæ przy pomocy
VB. Klikniêcie kursorem
w obszar przycisku za-
³¹cz powoduje zmianê
napisu oraz zmianê ko-
loru t³a przycisku. Rys.4
przedstawia widok pro-
gramu obs³uguj¹cego
po naciniêciu przycisku
ZA£¥CZ.
W zwi¹zku z tym, ¿e
program jest niezwykle
prosty postawi³em
przedstawiæ kilka wska-
zówek do procesu two-
rzenia programu przy
pomocy Visual Basic 5.
Zak³adam ¿e wiêkszoæ
+5V
US1
M1
3
Vin
+5V
1
+5
R5
12V
LED
C1
C2
D1
WYOC
R1
T1
1
14
2
15
3
16
4
17
5
18
6
19
7
20
8
21
9
22
10
23
11
24
12
25
13
US2A
220V
ODBIORNIK
2
1
G
18
Y1
2
16
A1
Y2
1
4
14
A2
Y3
ZW1
6
12
A3
Y4
8
A4
R4
OPT1
R2
R3
TR1
UWAGA 220V
Rys. 2 Schemat komputerowego za³¹cznika/wy³¹cznika urz¹dzeñ
DB25
Rys. 3 Program obs³uguj¹cy
741769958.006.png 741769958.007.png 741769958.008.png 741769958.009.png 741769958.001.png 741769958.002.png 741769958.003.png
z was ma pewne dowiadczenie z zakresu pos³ugi-
wania siê programem VB. Je¿eli nie, to to co prze-
czytacie, mo¿e siê wam z czasem przydaæ. Jedno
jest pewne, aby rozpocz¹æ pracê oprócz chêci musi-
my posiadaæ program. Wersje testowe VB5 dostêp-
ne by³y na p³ytach do³¹czanych do czasopism kom-
puterowych. Rys.5 przedstawia okno programu VB.
Generalnie ca³a zasada dzia³ania wy³¹cznika opiera
siê na sterowaniu portem LPT przez program obs³uguj¹cy. Aby sterowaæ portem
LPT spod VB nale¿y dodatkowo dysponowaæ specjaln¹ bibliotek¹ inpout32.dll, któr¹ kopiujemy
do folderu System. Bibliotekê t¹ mo¿emy zdobyæ w internecie na stronach powiêconych
Visual Basic.
KOD PROGRAMU OBS£UGI
Private Sub Artyku³_Click()
frmArtyku³.Show
End Sub
Rys. 4 Program obs³uguj¹cy
po naciniêciu przycisku
Za³¹cz
Private Sub Command1_Click()
PortAddress = (&H378)
Out PortAddress, 1
Command2.Visible = True
Command1.Visible = False
End Sub
Tworzenie programu obs³uguj¹cego
W nowym projekcie VB w oknie projektowania formularza nadajemy kszta³t graficzny
programu wed³ug rys.3 czyli tworzymy interfejs graficzny, który zawiera menu i dwie kontrolki
CommandButton u³o¿one jedna na drugiej.
Dla osoby sprawnie pos³uguj¹cej siê VB czynnoci te zajm¹ dos³ownie kilka chwil. Do projektu
nale¿y dodaæ modu³ inpout32.bas który równie¿ pobierzemy z internetu razem z plikiem inpo-
ut32.dll. Aby sprawnie sterowaæ portem LPT nale¿y poznaæ komendy steruj¹ce wysy³aniem
danej do portu oraz pobieraniem danej z portu.
Private Sub Command2_Click()
PortAddress = (&H378)
Out PortAddress, 0
Command2.Visible = False
Command1.Visible = True
End Sub
Private Sub Koniec_Click()
End
End Sub
Monta¿ i uruchamianie uk³adu
Uk³ad zaprojektowano i zmontowano na jednostronnej p³ytce drukowanej.
Szczegó³owa mozaika cie¿ek p³ytki drukowanej wraz z rozmieszczeniem elementów zosta³a
przedstawiona na rys 5. Niewielka iloæ elementów u¿ytych przy konstruowaniu uk³adu powo-
duje, ¿e projekt p³ytki jest nieskomplikowany i nie powinno byæ z wykonaniem ¿adnych proble-
mów, nawet dla pocz¹tkuj¹cych elektroników hobbystów. Dodatkow¹ zalet¹ jest niewielki
koszt u¿ytych elementów elektronicznych. Po zgromadzeniu wszystkich elementów i po wyko-
naniu p³ytki drukowanej mo¿emy przyst¹piæ do monta¿u naszego uk³adu.
Zawracam szczególn¹ uwagê na monta¿ elementów, które mog¹ pracowaæ przy napiêciu sie-
ciowym. Ka¿dy b³¹d ze strony montuj¹cego uk³ad w koñcowym efekcie mo¿e siê skoñczyæ
powa¿nym uszkodzeniem komputera.
Uruchamianie wy³¹cznika nale¿y rozpocz¹æ bez pod³¹czania uk³adu do komputera. Praktycznie
po zmontowaniu uk³adu powinien on dzia³aæ od razu be¿ ¿adnej regulacji. Jednak zanim pod³¹-
czymy go do naszego komputera sprawdzimy jego dzia³anie na "sucho". Po podaniu na pin 2
z³¹cza DB25 wysokiego stanu powinna siê zapaliæ dioda LED, która powinna zgasn¹æ po roz-
warciu zworki ZW1. Maj¹c takie objawy uk³ad najprawdopodobniej jest sprawny. Nale¿y jesz-
cze sprawdziæ dzia³anie triaka pod napiêciem sieciowym i mo¿emy pod³¹czyæ wy³¹cznik do
komputera oraz przetestowaæ dzia³anie wy³¹cznika z napisanym programem. Aby u³atwiæ ¿ycie
wszystkim tym, którzy chc¹ rozwijaæ temat sterowania poprzez port LPT udostêpnilimy pro-
gram wraz ze ród³em oraz bibliotek¹ na dyskietce do³¹czonej do zestawu.
Private Sub Program_Click()
Autor.Show
End Sub
Private Sub Wy³¹cz_Click()
PortAddress = (&H378)
Out PortAddress, 0
Command2.Visible = False
Command1.Visible = True
End Sub
Private Sub Za³¹cz_Click()
PortAddress = (&H378)
Out PortAddress, 1
Command2.Visible = True
Command1.Visible = False
End Sub
Komendy
1.Wys³anie danej do portu:
Out(AdresPortu, Dana)
np. Out(&h378,100) wysy³a na port danych 378hex wartoæ 100 (decymalnie).
2.Pobranie danej z portu:
Inp(AdresPortu)
np. Inp(&h378)z portu danych 378hex pobiera wartoæ
ZAWARTOÆ INPOUT32.BAS
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value
Spis elementów
M1 - mostek prostowniczy
OPT1 - MOC3020 lub odp.
LED - dowolna
Uk³ady scalone:
U1 - 78L05
U2 - 74HCT244 lub odp
Inne:
DB25 - DRB-25PR
Z1 - ARK2
Z2 - ARK2
Z3 - ARK2
ZW1 - PLS2+MJ6B
Dyskietka
P³ytka drukowana - 156-K
Rys. 5 Rozmieszczenie
elementów na p³ytce
drukowanej (skala 1:1)
Rezystory:
R1 - 3,9k
R2 - 220
R3 - 220
R4 - 820
R5 - 820
Kondensatory:
C1 - 22µF/16V
C2 - 100µF/16V
Pó³przewodniki:
T1 - BC547
TR1 - BT16-600 lub odp.
741769958.004.png 741769958.005.png
Zgłoś jeśli naruszono regulamin