14_01.pdf

(211 KB) Pobierz
141287800 UNPDF
Kącik elektronika amigowca
Pierwsze kroki
CZĘŚĆ 2
W tym odcinku przedstawione są
podstawowe sposoby
wykorzystania komputera do
sterowania urządzeniami
zewnętrznymi oraz zbierania danych
od tych urządzeń.
rysunek 2a. Rezystor w obwodzie bazy
nie jest konieczny, lecz gdy go nie bę−
dzie, odczyt portu da niewłaściwą war−
tość $00 i tym samym uniemożliwi sto−
sowanie rozkazów OR, AND, BCHG,
BCLR, BSET na porcie. Spowodowane
jest to faktem, że napięcie baza−emiter
tranzystora nie jest większe niż około
0.6V, czyli traktowane jest jako stan nis−
ki. Czasem mogą wystąpić problemy
z przejściem tranzystora w stan zatka−
nia. Należy wtedy zastosować układ z  ry−
Rys. 1.
rysunek 1). Ze względu na małą
wydajność prądową portu zastosowano
inwerter wchodzący w skład kostki
7406. Wyjście typu “otwarty kolektor”
umożliwia sterowanie lampki o napięciu
pracy do 30V. Wydajność prądowa ukła−
du wynosi 40mA. Jeżeli do zasilania od−
biornika (lampki) wykorzystamy napięcie
+5V, to można użyć układu 7404 (max
16mA) lub o większej wydajności prądo−
wej 7437 (max 48mA). Warto wspo−
rysunek 1
ry−
sunku 2b. Porty są wykonane w techno−
logi MOS, dzięki czemu napięcie linii por−
tu w stanie niskim jest bliskie zeru i sy−
tuacja taka nie powinna wystąpić. Gdy
chcemy sterować większą mocą, należy
użyć tranzystorów w układzie Darlingto−
na (rysunek 2c
rysunek 2c). Siedem takich tranzys−
torów zawierają układy ULN2001/2/3/4,
osiem ULN2801/2/3/4/5. W skład układu
wchodzą dodatkowo diody zabezpiecza−
jące. Do naszych zastosowań najkorzyst−
niejsze są układy ULN2003 i ULN2803
przystosowane do układów CMOS
i TTL. Maksymalne napięcie wyjściowe
tych układów to 50V, prąd 500mA.
Lampkę można zastąpić diodami LED
wg rysunku 3
rysunku 3. Wartość rezystora ograni−
czającego należy dobrać, by nie przekro−
czyć maksymalnego prądu diody LED,
wynoszacego 30...50mA.
Sterować można także przekaźnikiem
(rys. 4a
Rys. 2a.
rys. 4a) Pod symobolem inwertera nale−
ży rozumieć któreś z poprzednich roz−
wiązań (rys. 1 i 2a, b, c). Dioda włączona
w kierunku zaporowym zabezpiecza in−
werter przed przepięciami indukującymi
się w momencie załączania i wyłączania
przekaźnika, które mogłyby uszkodzić
tranzystory. Jest to dioda krzemowa do−
Rys. 2b.
Rys. 2c.
Rys. 3.
E LEKTRONIKA DLA WSZYSTKICH 2/97
31
mnieć, że pewne znaczenie ma tu seria
układu scalonego (74LS, 74HCT). Różnią
się one między sobą poborem mocy oraz
maksymalną wydajnością prądową. In−
wertery można zastąpić tranzystorami −
 rysunek 2a
rysunek 2a
Przejdźmy do następnej części artyku−
łu opisującej sposób przyłączenia do
komputera różnych urządzeń. Na począ−
tek najprostszy przykład sterowania ża−
rówką (rysunek 1
rysunek 1
ry−
sunku 2b
rysunek 2c
rysunku 3
rys. 4a
141287800.029.png 141287800.030.png 141287800.031.png 141287800.032.png
Kącik elektronika amigowca
Rys. 5a
port pracuje jako wyjście, można na nim
wymusić stan niski. Mikroprocesor od−
czyta go poprawnie. Sztuczka ta jest sto−
sowana w C−64 do odczytu stanu joistic−
ka (ten sam port obsługuje też klawiatu−
rę). W przypadku układu 8255 sytuacja
taka jest niemożliwa, ponieważ stan linii
portu pracującego jako wyjście jest bra−
ny z wewnętrznego rejestru.
Na rys.
Rys. 4a.
7a przedstawiono detektor
przejścia napięcia sieci przez zero. Do
obniżenia napięcia wykorzystano rezys−
tor. Ze względu na dużą wydzielaną moc
układ jest nieekonomiczny. Rezystor jest
duży, mocno się nagrzewa , co zmusza
do zapewnienia jego wentylacji.
Na rys. 7b
7a
Rys. 4b.
Rys. 5b.
wolnego typu (np. impulsowa). W miejs−
ce diody można włączyć kondensator
elektrolityczny spełniający tą samą funk−
cję. Rys.
tym, że szybkie wyłączenie i włączenie
przekaźnika nie spowoduje jego zadziała−
nia. Po prostu kondensator nie zdąży się
rozładować. Rys. 5
rys. 7b przedstawiono inny obwód
zmiejszający napięcie, gdzie rolę rezys−
tancji spełnia reklantacja kondensatora.
Waha się ona w granicach 100nF do
2,2uF. Rezystor R1 ogranicza prąd
w momencie włączania do bezpiecznej
wartości, kiedy to kondensator stanowi
zwarcie. Wartość jego waha się w grani−
cach kiluset omów. R2 o wartości około
1Mohm rozładowuje go po wyłączeniu
zasilania. Układ reaguje na dodatnie po−
łówki napięcia.
Dioda włączona równolegle do LED
transoptora zabezpiecza ją przed spale−
niem przy ujemnych połówkach.
Jeśli wymagana jest reakcja na oby−
dwie połówki napięcia należy zastoso−
wać układ z rys. 7b.
Triakami najwygodniej sterować ukła−
dem z rys. 8
4 4b przedstawia bardziej osz−
czędny energetycznie układ. Jak wiado−
mo do załączenia przekaźnika potrzebny
jest określony prąd. Po zadziałaniu, prąd
podtrzymujący może być znacznie mniej−
szy. W momencie załączenia, kondensa−
tor jest rozładowany i stanowi zwarcie.
Przez przekaźnik płynie maksymalny
prąd. Po chwili rozładowuje się i prąd
jest ograniczony wartością rezystora.
Układ ma pewną wadę objawiającą się
Rys. 4b
4 4b
Rys. 5 przedstawia układy
z galwanicznym oddzieleniem obwodów
za pomocą transoptorów. Jest to wręcz
konieczne przy sterowaniu urządzeniami
podłączonymi do sieci energetycznej.
W układzie z rys. 5b rezystor w obwo−
dzie kolektora transoptora nie jest ko−
nieczny przy współpracy z portami 8520,
6520, 6522, 6526. Dla dociekliwych dla−
czego tak jest, na rys. 6
Rys. 5
rys. 6 przedstawiam
układ wyjściwy portu. Jak widać gdy
rys. 6
rys. 8. Optotriaki MOC3040 za−
wierają układ przejścia napięcia przez
“zero”, dzięki czemu minimalizujemy za−
kłócenia. Należy zwrócić uwagę na mak−
symalną wydajność prądową portu.
W konsekwencji bez dodatkowych bufo−
rów można przyłączyć masymalnie dwa
transoptory z rys. 5a i dwa optotriaki
z rys. 8.
Gdy liczba wyjść portu jest zbyt mała
można ją zwiększyć używając rejestrów
4094. Układ jest statycznym rejestrem
przesuwającym z możliwością podtrzy−
mania informacji wprowadzonej szere−
gowo. Na rys. 9
Rys. 6.
rys. 9 przedstawiono budowę
wewnętrzną rejestru. Składa się on
z trzech części:
1.Ośmiobitowego rejestru przesuwają−
cego z wejściem szeregowym, wy−
jściem równoległym.
rys. 9
Rys. 7a.
Rys. 7b.
Rys. 7c.
Rys. 8.
32
E LEKTRONIKA DLA WSZYSTKICH 2/97
rys.
rys. 7a
rys.
7a
rys. 7b
Rys.
Rys.
Rys. 5
rys. 8
rys. 9
141287800.001.png 141287800.002.png 141287800.003.png 141287800.004.png 141287800.005.png 141287800.006.png 141287800.007.png 141287800.008.png 141287800.009.png 141287800.010.png 141287800.011.png
Kącik elektronika amigowca
Rys. 9.
Rys. 10.
mięta ostatnio wprowadzoną informa−
cję. Wejście OE steruje buforami trójsta−
nowymi. Niski poziom na nim powoduje
przejście buforów w stan trzeci. Wyjścia
QS‘~ są przeznaczone do kaskadowego
łączenia rejestrów.
Na rys. 10
rysunku 11. Pokazuje on
rozbudowę portu przy użyciu zatrzasków
i demultipleksera. Na bity D0−D3 portu
wystawiamy daną do zatrzaśnięcia
w 7475. Równocześnie na bity D4−D7
adres układu U2 do U5 (max U17). Po−
woduje to krótki ujemny impuls na linii
STB. Demultiplekser U1 generuje na od−
powiednim wyprowadzeniu (S0−S15) im−
puls dodatni. Powoduje on zatrzaśnięcie
danych w zatrzaskach. Maksymalnie roz−
budowując układ możemy sterować
szesnastoma zatrzaskami co daje 16
x 4 = 64 linie (8 portów ośmiobitowych).
Jeśli nie potrzeba nam tak dużej liczby
można wykorzystać zamiast 4514 układ
4028. Bity D4, D5, D6 przyłączmy do
wejść A, B, C układu 4028, natomiast
STB do wejścia D. Tym sposobem moż−
na sterowć 10 układów 7475. Ze wzglę−
du na technologię wykonania układu U1
zatrzaski muszą być serii 74HC, 74HCT,
ostatecznie 74LS.
Zajmijmy się teraz sposobem zwięk−
szenia liczby wejść. Na rys. 12
rysunku 11
rys. 12 przedta−
wiono przykład wykorzystania rejestrów
74165. Jest to rejestr ośmiobitowy
z wejściem równoległym, wyjściem sze−
regowym. Niski poziom logiczny na we−
jściu LOAD wpisuje informację z wejść
A...H do wewnętrznych rejestrów. Na
wyjściu QH pojawi się stan z wejścia H.
Narastające zbocze na linii zagarowej CK
przy wysokim stanie wejścia LOAD prze−
suwa informację w rejestrze. W ten spo−
sób po jednym impulsie zegarowym od−
czytamy stan, jaki był na wejściu G, po
dwóch − F, po trzech −E, itd. Podczas
przesuwania i wyprowadzania zawartoś−
ci, do rejestru A wpisywany jest stan
rys. 12
Rys. 11.
Rys. 12.
2.Ośmiobitowego zatrzasku (tzw.
LATCH).
3.Ośmiu buforów trójstanowych.
Sterowanie rejestru odbywa się za
pośrednictwem czterech wyprowadzeń.
Do wpro w adzania informacji służy we−
jście D. Przesuwana jest ona w takt na−
rastających zboczy inpulsów zegaro−
wych CL. Przepisanie danych z rejestru
do zatrzasków nastąpi przy wysokim sta−
nie wejścia ST. W niskim zatrzask pa−
E LEKTRONIKA DLA WSZYSTKICH 2/97
33
rys. 10 przedstawiono przykłado−
wy sposób połączenia rejestrów 4049.
Jeśli osiem bitów portu to zdecydo−
wanie za mało, można zastosować układ
pokazany na rysunku 11
rys. 10
141287800.012.png 141287800.013.png 141287800.014.png 141287800.015.png 141287800.016.png 141287800.017.png 141287800.018.png 141287800.019.png 141287800.020.png 141287800.021.png 141287800.022.png 141287800.023.png 141287800.024.png
Kącik elektronika amigowca
kładności +/− 1 sekunda na 100000 lat
i sterowałby dużym wyświetlaczem, wy−
świetlał temperaturę? A może stanie się
samouczącym “pilotem”, włączającym
o wybranej godzinie, co tylko dusza za−
pragnie? Może wykonać z jego pomocą
programator EPROMów? Możliwości
jest wiele.
Proszę o listy z uwagami na temat
cyklu oraz z propozycjami układów do
zrealizowania z użyciem komputera.
Sławomir Skrzyński
Sławomir Skrzyński
Literatura:
Układy scalone serii UCA64/UCY74. Parametry i za−
stosowania − WKŁ Warszawa 1990.
USKA Układy Analogowe 2/1994.
Mikroprocesor 6502 i jego rodzina − NOT SIGMA
Warszawa 1989.
Kurs asemblera dla początkujących − HELION 1994.
Commodore 64 od środka − FET 1992.
User’s Guide A1200 − Commodore.
Commodore 64 Bedienungshandbuch − Commodo−
re.
Rys. 13.
Rys. 14.
wejścia SER. Osiem impulsów na CK da−
je nam możliwość odczytania danych ze
wszystkich wejść A...H. Wejście SER
służy do kaskadowe−
go łączenia rejest−
rów, jeśli potrzeba
byłoby więcej niż
osiem wejść. Układy
powinny być serii
74HC, 74HCT. Jeśli
użyjemy 74LS należy
buforować linie CK i LOAD np. układem
7408.
Do zwiększenia liczby wejść można
też wykorzystać multipleksery (rys. 13
Uruchomijmy go (RUN). Na przyłączo−
nych zarówkach lub diodach ujrzymy
tzw. płynący punkt. Zmieniając liczbę 50
w linii 110 wpływa−
my na prędkość
porusznia się pun−
ktu. Program prze−
rywamy naciskając
STOP. Dla Amo−
sowców natomiast
program wygląda
Dołączanie jakichkolwiek
urządzeń do portu komputera
musi być przeprowadzone po
wyłączeniu zasilania.
Bardzo prosimy o opinie i uwagi na te−
mat nowego cyklu. Jeśli zdaniem czytel−
ników nie wszystkie sprawy są dosta−
tecznie jasne lub też brak pewnych infor−
macji, poprosimy Autora o szczegółowe
wyjaśnienia.
Redakcja
tak:
10 Dim T(14)
20 Restore 140
30 For X=1 To 14
40 Read A
50 T(X)=A
60 Next X
70 Poke $BFE301,255
80 Do
90 For X=1 To 14
100 Poke $BFE101,T(X)
110 Wait 5
120 Next
130 Loop
140 Data 1,2,4,8,16,32,64,128
150 Data 64,32,16,8,4,2
Parametrem instrukcji Wait w linii 110
regulujemy szybkość poruszania punktu.
Naciskając równocześnie kombinację
CTRL i C przerywamy program.
Dla niecierpliwych proponuję wyko−
nanie układu z rys. 14
rys. 13).
Wystawiając daną na linie D0−D3 decy−
dujemy, z którego wejścia (E0−E15) in−
formacja zostanie przepisana na wyjście
W.
rys. 13
Zaznaczam, że rozwiązania tu przed−
stawione nie są jedyne i nie zawsze są
najlepsze. Artykuł miał na celu przybliże−
nie czytelnikom sposobów rozwiązywa−
nia niektórych problemów. Na zakończe−
nie mała przyjemność. Zbudujmy prosty
interfejs do sterowania żarówką lub dio−
dami LED. Pamiętajmy także, aby ZA−
WSZE wszelkie urządzenia przyłączać
przy wyłączonym zasilaniu.
“Wklepmy” poniższy program. Dla
C−64:
10 DIM T(14)
30 FOR X=1 TO 14 : REM WCZYTANIE
DANYCH
40 READ A
50 T(X)=A
60 NEXT X
70 POKE 56579,255 : REM
USTAWIENIE LINI JAKO WYJSCIA
90 FOR X=1 TO 14 : REM WYSWIETLA−
NIE
100 POKE 56577,T(X)
110 FOR Y=1 TO 50 :NEXT : REM
PETLA CZASOWA
120 NEXT
130 GOTO 90
140 Data 1,2,4,8,16,32,64,128
150 Data 64,32,16,8,4,2
rys. 14. W programie na−
leży zmienić jedną z linii. W wersji dla
C−64 linię 100 na:
POKE 56577,T(X) XOR 255
w przypadku Amigi:
Poke $BFE101,T(X) Xor 255
Jest to spowodowane odwrotnym
włączeniem diod. Przy zmianach w pro−
gramie (linie DATA) nie należy przesa−
dzać z ilością zaświeconych diod (max
2). Jest to spowodowane maksymalną
wydajnością prądową portu.
To był prościutki wstęp. Commodore
i Amiga potrafią dużo, dużo więcej. Czy
słyszeliście kiedyś o zegarze DCF? A jeś−
liby nasz komputer był zegarem o do−
rys. 14
34
E LEKTRONIKA DLA WSZYSTKICH 2/97
Literatura:
141287800.025.png 141287800.026.png 141287800.027.png 141287800.028.png
Zgłoś jeśli naruszono regulamin