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¿liwoci 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 szybkoci 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: - wejcie - bufor - uk³ady wykonawcze - zasilanie Rys. 1 Schemat blokowy 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¿ylicie 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. 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 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 myli 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 naciniê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 wejciowy 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 omiobitowym buforem posiadaj¹cym wyjcia 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¿liwoci. 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. 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, 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 dowiadczenie 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 naciniê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 powiê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 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 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êpnilimy 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