Komputerowy załącznik/wyłącznik urz¹dzeń

Transkrypt

Komputerowy załącznik/wyłącznik urz¹dzeń
tel./fax
Elbl¹g,
82-300
2,
Junaków
ul.
Elektronik,
PRESS-POLSKANowy
[email protected]
e-mail:
236-22-63,
055
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¹dzenia np. lampki, telewizora, magnetowidu. Ogromna iloœæ mo¿liwoœci zastosowañ sprawia, ¿e uk³ad jest urz¹dzeniem 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 szybkoœci tworzenia aplikacji jest bezkonkurencyjny i mo¿e byæ wykorzystany przez
elektroników amatorów.
Budowa uk³adu
Konstrukcjê ca³ego urz¹dzenia mo¿emy podzieliæ na nastêpuj¹ce funkcjonalne bloki rys.1:
- wejœcie
- bufor
- uk³ady wykonawcze
- zasilanie
Rys. 1 Schemat blokowy
konawczego np. dioda LED, przekaŸnik. 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³¹cznik 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. Naciœniêcie
przycisku Za³¹cz powoduje pojawienie siê na wyprowadzeniu D0 portu LPT1 wysokiego stanu,
który jest podany na wejœcia pin2 i pin8 buforu 74HCT244. Aby wysoki stan pojawi³ siê na
wyjœciu 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 zasadzie opis dzia³ania na tym mo¿emy zakoñczyæ. Inaczej przedstawia siê sprawa z programem
steruj¹cym uk³ad.
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³ownie kilka minut. Rys. 3 przedstawia okno g³ówne programu obs³uguj¹cego.
Rys. 3 Program obs³uguj¹cy Na pierwszy rzut oka nic nadzwyczajnego, lecz dla
naszego prostego uk³adu wy³¹cznika nie musimy tworzyæ tak bardzo zaawansowanego programu bêd¹cego cudem
+5V
myœli programisty. Jak
US1
R5
3
1
widzimy, jest to chyba
Vin
+5V
+5
jeden z prostszych proLED
gramów, jakie mo¿emy
C1
WYOC
C2
D1
stworzyæ przy pomocy
VB. Klikniêcie kursorem
T1
R1
w obszar przycisku za³¹cz powoduje zmianê
napisu oraz zmianê koUS2A
220V
ODBIORNIK
loru t³a przycisku. Rys.4
1
G
18
przedstawia widok proY1
2
16
A1
Y2
4
14
gramu obs³uguj¹cego
A2
Y3
6
12
A3
Y4
8
po naciœniêciu przycisku
OPT1
A4
R2
R4
ZA£¥CZ.
R3
W zwi¹zku z tym, ¿e
TR1
program jest niezwykle
UWAGA 220V
prosty postawi³em
przedstawiæ kilka wskazówek do procesu tworzenia programu przy
pomocy Visual Basic 5.
Rys. 2 Schemat komputerowego za³¹cznika/wy³¹cznika urz¹dzeñ
Zak³adam ¿e wiêkszoœæ
Blok wejœciowy sk³ada siê z przewodu ³¹cz¹cego komputer z uk³adem oraz z gniazda Centronics DB25 (mêskie do druku). Jako bufor zabezpieczaj¹cy komputer wykorzystano uk³ad 74HC244
bêd¹cy oœmiobitowym buforem posiadaj¹cym wyjœcia trójstanowe proste. Jako uk³ady wykonawcze zastosowano tranzystor z otwartym kolektorem, umo¿liwiaj¹cy dalsz¹ rozbudowê oraz
triak odseparowany optotriakiem. Wy³¹cznik nie jest zasilany z komputera pomimo takiej mo¿liwoœci. Projektuj¹c uk³ad zdecydowa³em siê na zastosowanie oddzielnego zasilacza dostarczaj¹cego napiêcia +5V niezbêdnego do pracy buforu. Konstrukcja zasilacza jest oparta o
uk³ad stabilizatora 78L05. Wejœcia uk³adu 74HC244 2 i 9 do³¹czone s¹ do pin-u 2 gniazda DB25
portu LPT. Wejœcia 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, sterowany jest z wyprowadzenia pin18 uk³adu 74HC244. Umo¿liwia do³¹czenie innego urz¹dzenia wy-
M1
DO KOMPUTERA
2
GND
12V
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
DB25
2
ZW1
1
82-300
2,
Junaków
ul.
Elektronik,
PRESS-POLSKANowy
[email protected]
e-mail:
236-22-63,
055
tel./fax
Elbl¹g,
z was ma pewne doœwiadczenie z zakresu pos³ugiwania siê programem VB. Je¿eli nie, to to co przeczytacie, mo¿e siê wam z czasem przydaæ. Jedno
jest pewne, aby rozpocz¹æ pracê oprócz chêci musimy posiadaæ program. Wersje testowe VB5 dostêpRys. 4 Program obs³uguj¹cy
ne by³y na p³ytach do³¹czanych do czasopism kompo naciœniêciu przycisku
puterowych. Rys.5 przedstawia okno programu VB.
Za³¹cz
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 poœwiêconych
Visual Basic.
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 czynnoœci te zajm¹ dos³ownie kilka chwil. Do projektu
nale¿y dodaæ modu³ inpout32.bas który równie¿ pobierzemy z internetu razem z plikiem inpout32.dll. Aby sprawnie sterowaæ portem LPT nale¿y poznaæ komendy steruj¹ce wysy³aniem
danej do portu oraz pobieraniem danej z portu.
Monta¿ i uruchamianie uk³adu
KOD PROGRAMU OBS£UGI
Private Sub Artyku³_Click()
frmArtyku³.Show
End Sub
Private Sub Command1_Click()
PortAddress = (&H378)
Out PortAddress, 1
Command2.Visible = True
Command1.Visible = False
End Sub
Private Sub Command2_Click()
PortAddress = (&H378)
Out PortAddress, 0
Command2.Visible = False
Command1.Visible = True
End Sub
Private Sub Koniec_Click()
End
End Sub
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 powoduje, ¿e projekt p³ytki jest nieskomplikowany i nie powinno byæ z wykonaniem ¿adnych problemó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 wykonaniu 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 sieciowym. 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 rozwarciu zworki ZW1. Maj¹c takie objawy uk³ad najprawdopodobniej jest sprawny. Nale¿y jeszcze 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êpniliœmy program wraz ze Ÿród³em oraz bibliotek¹ na dyskietce do³¹czonej do zestawu.
Private Sub Program_Click()
Autor.Show
End Sub
Komendy
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
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Ͼ
Rys. 5 Rozmieszczenie
elementów na p³ytce
drukowanej (skala 1:1)
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
Spis elementów
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.
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

Podobne dokumenty