STEROWANIE PRZEZ AMIGË Czytelnicy wciâû nalegajâ na publikowanie schematów prostych urzâdzeï dla Amigi. Oto rozpoczynajâcy nowâ serië na îamach Magazynu AMIGA, prosty ukîad sterujâcy zarzâdzany Amigâ. Stanisîaw Szczygieî (Stanley) O tym, ûe Amiga doskonale sië nadaje do zastosowaï uûytkowych, pisaîem ostatnio w serii artykuîów o roli komputerów -- i Amigi -- w technice przemysîowej. Uûycie komputerów do sterowania przebiegiem procesów, czy teû w technice pomiarowej, jest niemal naturalne. Moûliwoôê wczytania danych, natychmiastowej ich obróbki i wyôwietlenia w przetworzonej czytelnej formie to umiejëtnoôê, którâ nie ma ûaden prosty przyrzâd pomiarowy. Spróbujmy wiëc wykorzystaê nasze Amigi do tych celów! Niniejszym rozpoczynamy serië artykuîów, zatytuîowanych roboczo "Amiga w technice pomiarowej -- zrób to sam!", traktujâcych o tym, jak zmieniê nasz komputer w precyzyjny przyrzâd pomiarowy. Seria ta bëdzie poôwiëcona prezentacji róûnego typu elektronicznych i programowych rozszerzeï Amigi tak, by moûna byîo uczyniê z niej doskonaîe urzâdzenie do sterowania i do pomiarów wielkoôci fizycznych. Chcë jednak od razu zaznaczyê, ûe czëôê z prezentowanych ukîadów (îâcznie z przedstawionym w niniejszym artykule) to urzâdzenia, za których realizacjë powinni sië braê jedynie doôwiadczeni w elektronice uûytkownicy. Kaûde bowiem urzâdzenie, szczególnie zasilane z zewnâtrz osobnym napiëciem, przy niepoprawnym wykonaniu moûe caîkowicie zniszczyê Wasz komputer! A My, jako redakcja, nie bierzemy za to ûadnej odpowiedzialnoôci. Nie moûna bowiem bezkrytycznie, nie znajâc sië na tym, wykonywaê prac wymagajâcych odpowiedniej wiedzy: bîëdy bowiem zawsze mogâ sië zdarzyê -- czy to z winy chochlika drukarskiego, czy to z winy i niedopatrzenia autora, a skutki mogâ byê kosztowne. Z tego samego powodu nie bëdë teû podawaî odpowiedników krajowych (jeôli takie istniejâ) uûywanych w ukîadach elementów elektronicznych, Ci bowiem, którzy z elektronikâ sâ obeznani, znajdâ drogë do stosownych katalogów informacyjnych, a Ci, którzy takich moûliwoôci nie znajâ, najprawdopodobniej nie majâ pojëcia o praktycznej elektronice. Pamiëtajcie -- zostaliôcie ostrzeûeni! Od czego zaczynamy? Aby komputer moûna byîo wykorzystaê w technice sterowania, musi on mieê îâcznoôê, a inaczej mówiâc, moûliwoôê komunikowania sië dwustronnie z otoczeniem. Oznacza to, ûe musi umieê przyjâê i zinterpretowaê informacje, przychodzâce z zewnâtrz, i móc wysîaê stosownâ informacjë poza komputer. Konieczny jest do tego odpowiedni port wejôcia-wyjôcia. Czy mamy taki w Amidze? Oczywiôcie tak. Nawet kilka. Moûe to byê port drukarki, który komputer potrafi obsîugiwaê w "obydwie strony", takim portem jest port szeregowy, sîuûâcy przecieû od dawna do komunikacji. My jednak tym razem zainteresujemy sië innym gniazdem -- gniazdem joystika. O tym, ûe moûe ono sîuûyê jako wejôcie informacji, wiemy wszyscy, bo jak inaczej uûywalibyômy joysticka do gier? Warto jednak wiedzieê, ûe moûna go takûe zmusiê do wysyîania danych. Przedstawiona w niniejszym artykule konstrukcja jest prostym ukîadem wejôcia-wyjôcia, umoûliwiajâcym wczytanie czterech bitów danych oraz sterowanie przekaúnika. Ukîad skîada sië z czëôci elektronicznej -- przedstawionej na schemacie, oraz prostego programu obsîugujâcego wprowadzanie i wyprowadzanie sygnaîów. Moûe on byê wykorzystany np. jako ukîad alarmowy -- wprowadzane sygnaîy z zewnëtrznych czyjników (styczników) informujâ o otwarciu bâdú zamkniëciu wejôê, przekaúnik umoûliwia wîâczenie syreny... To tylko jedno z moûliwych zastosowaï. Inne moûliwoôci wykorzystania pozostawiamy wyobraúni Czytelników. Opis ukîadu elektronicznego Konstrukcja elektroniczna jest bardzo prosta. Ukîad podîâczany jest do czterech kolejnych pinów zîâcza joysticka (port 1.) bëdâcych wejôciem danych, oraz pinów 6. i 7., pracujâcych jako wyjôcie. Wszystkie sygnaîy -- wchodzâce i wychodzâce z komputera -- sâ galwanicznie izolowane od elektroniki Amigi poprzez transoptory. Powoduje to, ûe przy poprawnym wykonaniu ukîadu nie istnieje wîaôciwie moûliwoôê uszkodzenia komputera poprzez napiëcia sterujâce (i zasilajâce), stosowane w ukîadzie. Jest to wiëc ukîad bardzo "bezpieczny" dla dîugiego dziaîania komputera. Zasada pracy jest nastëpujâca: sygnaîy wejôciowe (0 -- brak sygnaîu lub +5 V -- sygnaî wîâczony) podawane sâ na wejôcia E1-E4. Poprzez transoptor informacja ta dociera do pinów 1-4 gniazda joysticka. Te z kolei (a wîaôciwie poziom sygnaîow na nich) odczytywane sâ przez program, poprzez zbadanie stanu rejestrów danych odpowiadajâcych portowi joysticka. Analogicznie dziaîa ukîad wyjôciowy -- wyprowadzony z pinu 6. Sygnaî (+5 V) zostaje podany na wejôcie transoptora, a ten z kolei uruchamia na wyjôciu prosty ukîad wzmacniacza prâdowego na tranzystorze BC 307, sterujâc pracâ przekaúnika. Przekaúnik zasilany jest napiëciem zewnëtrznym 12 V. Dioda podîâczona równolegle do przekaúnika zabezpiecza ukîad przed przepiëciami, powstajâcymi w cewce podczas wîâczania i wyîâczania napiëcia. W zaleûnoôci od uûytego przekaúnika moûe on dalej sterowaê (tj. wîâczaê lub wyîâczaê) urzâdzenia o znacznie wiëkszym poborze prâdu (silnik, ûarówka, syrena itp.). Zaleûy to juû tylko od dopuszczalnych obciâûeï styków przekaúnika. Uûyte w ukîadzie transoptory nie powinny byê obciâûane powyûej 100 mA. Obsîuga programowa Do obsîugi ukîadu zostaî napisany przykîadowy prosty program w BASIC-u. Prostota pozwala na dokîadne zrozumienie zasad jego dziaîania i przez to jego dalszâ rozbudowë -- najlepiej juû w takich jëzykach, jak Pascal czy opisywany ostatnio przez kol. Rafaîa Wiosnë jëzyk E. Praca programu polega kolejno na: ^* przeîâczeniu pracy pinu nr 6 gniazda joysticka "na wyjscie", poprzez ustwienie 7. bitu rejestru $B0E201 (11592193 dziesiëtnie); ^* ustawieniu bitu danych bâdú jego wyîâczeniu, decydujâc o tym, czy na wyjôciu pinu 6. jest napiëcie 0 czy +5 V, poprzez ustwienie bâdú skasowanie 7. bitu rejestru $B0E001 (11591681 dziesiëtnie); wîâczenie bâdú wyîâczenie przekaúnika nastëpuje poprzez przyciôniëcie klawisza "0" lub "1"; ^* zbadanie stanu sygnaîów wejôciowych E1-E4 poprzez odczytanie bitów danych z rejestrów $DFF00C (E1/E3) i $DFF00D (E2/E4) (odpowiednio dziesiëtnie 14675980 i 14675981). Ustawienie dwu pierwszych bitów tych rejestrów informuje o stanie sygnaîów na pinach: bit 1 0 opis 0 0 brak sygnaîów wejsciowych 0 1 wejscie 1 (2) aktywne 1 0 wejôcie 1 i 3 (2 i 4) aktywne 1 1 wejôcie 3 (4) aktywne Pozostaîa czëôê programu powoduje wyôwietlenie informacji o stanie napiëê sygnaîów na ekranie monitora. Przyjrzenie sië programowi wyjaônia zresztâ wszelkie watpliwoôci. Oczywiôcie, jak wspomniaîem, jest to jedynie przykîad obsîugi, mogâcy sîuûyê jako podstawa do wîasnych programów, tworzonych przez Czytelników. Urzâdzenie i program tworzâ razem ukîad wejôcia-wyjôcia o czterech bitach wejôciowych (a wiëc moûliwoôê przekazania komputerowi 16 róûnych informacji) i jednobitowym wyjôciu (przekaúnik wîâczony lub wyîâczony). Koniec pracy programu nastëpuje po nacisniëciu klawisza [Enter]. Jak wiëc widaê, wszystko to jest bardzo proste. Caîa idea polega jedynie na wykorzystaniu moûliwoôci tkwiâcych w sytemie operacyjnym i konstrukcji elektronicznej Amigi. Przedstawiony bowiem ukîad jest jedynie "buforem bezpieczeïstwa" dla gniazda joysticka -- caîa praca jest realizowana przez komputer. Choêby tylko to ôwiadczy o moûliwoôciach tkwiâcych w Amidze... A ûe jest ich znacznie wiëcej -- postaram sië pokazaê w kolejnych odcinkach nowej serii "Amiga w technice pomiarowej -- zrób to sam!" Niniejszy opis powstaî na podstawie artykuîu w magazynie CHIP 3/90, dostarczonego nam przez jednego z naszych wiernych Czytelników. Dziëkujemy!