Skrzynka Porad W rubryce przedstawiane są odpowiedzi na pytania nadesłane do Redakcji. Są to sprawy, które, naszym zdaniem, zainteresują szersze grono Czytelników.
Jednocześnie informujemy, że Redakcja nie jest w stanie odpowiedzieć na wszystkie nadesłane pytania, dotyczące różnych drobnych szczegółów.
Proszę uprzejmie o informację na temat kodera BCD - jak jest zbudowany i do czego służy?
czterobitowych. Fotografia, pochodząca z katalogu firmy Elproma, pokazuje kodery BCD i szesnastkowe.
Czytelnikowi chodzi o mechaniczny koder BCD. Kodery takie, nazywane także nastawnikami, są prostymi elementami stykowymi - rodzajem przełączników. Nie są to zwykłe przełączniki 10-pozycyjne, mające jeden styk wspólny i dziesięć styków wyjściowych. Koder BCD ma jeden styk wspólny i cztery wyjścia oznaczone D, C, B, A (lub 8, 4, 2, 1). W zależności od położenia pokrętła, ze stykiem wspólnym zwierane są odpowiednie styki, dając liczbę dwójkową w zakresie 0....9 (dwójkowo 0000....1001). Dostępne są też kodery szesnastkowe, pozwalające uzyskać wszystkie spośród 16 kombinacji
Szukam jakiegoś prostego i taniego generatora RC, który mógłby być przestrajany w zakresie 1kHz - 1MHz za pomocą potencjometru. Do uzyskania przebiegu prostokątnego wystarczy zastosować generator przestrajany napięciem – VCO, na przykład z popularnego układu 4046 – to zdecydowanie najprostsze i najtańsze rozwiązanie. Można też spróbować wykorzystać układ generatora przebiegów trójkątnego i prostokątnego na dwóch odpowiednio szybkich wzmacniaczach operacyjnych. W przypadku sinusoidy bardzo taniego rozwiązania nie ma. Przestrajanie w tak szerokim zakresie i przy tak dużej częstotliwości maksymalnej wymaga dość rozbudowanego układu. Eleganckim rozwiązaniem jest wykorzystanie układu scalonego generatora funkcji MAX038 firmy Maxim.
Mam pewien problem, którego nie potrafię rozwiązać (...). Muszę zmniejszyć napięcie w instalacji samochodowej z 24V (ciężarówka) do 12-15V do zasilenia radia. Użyłem w tym celu stabilizatora 78T15. Zmontowałem prosty układzik i przetestowałem - radio działało, ale przy podgłaszaniu na prawie maksimum radio nagle się wyłącza. Proszę was o jakąś radę lub sposób wyeliminowania tego zachowania. Tego rodzaju pytania pojawiają się w Poczcie dość często. Prawie zawsze przyczyną jest zbyt mała wydajność prądowa stabilizatorów. Radio samochodowe z typowym dziś wzmacniaczem 4x22W może w szczytach pobierać do 10A prądu. Tymczasem pojedynczy stabilizator o podwyższonej mocy (78T15) ma prąd maksymalny 3A. Przyczyną wyłączenia może być więc albo wewnętrzne ograniczenie prądowe w stabilizatorze, które spowoduje obniżenie napięcia wyjściowego i wyłączenie radia, albo wzrost temperatury stabilizatora i zadziałanie zabezpieczenia termicznego. Nawet zastosowanie stabilizatora o prądzie maksymalnym 10A (np. LM396, LT1038 z grupy stabilizatorów regulowanych) nie rozwiąże problemu ze względu na ogromną moc strat. Przykładowo przy średnim prądzie 7A, napięciu akumulatora 28V, moc strat na stabilizatorze wyniesie 91W [7A*(28V-15V)]. Tak dużej mocy praktycznie nie da się rozproszyć w trudnych warunkach „motoryzacyjnych” nawet za pomocą najlepszego radiatora. Można zredukować moc strat w stabilizatorze, dodając na wejściu stabilizatora dobrany szeregowy rezystor o odpo-
10
E l e k t ro n i k a d l a Ws z y s t k i c h
Skrzynka porad wiedniej mocy. Inną możliwością jest kombinacja kilku niezależnych stabilizatorów 78T15 z takimi rezystorami połączonych „równolegle”, to znaczy pracujących na wspólne obciążenie, gdzie między wyjściem każdego stabilizatora a obciążeniem umieszczona jest dioda (najlepiej Schottky’ego) o odpowiednim prądzie. W każdym przypadku wymagany jest skuteczny radiator.
Dręczy mnie pytanie na temat impendancji. Przez impendancję rozumiem oporność odcinka o opornościach czynnej i biernej indukcyjnej. Rozumiem, że impendancja jest zmienna w zależności od częstotliwości prądu zmiennego przepływającego przez odbiornik (tak jak zmienia się reaktancja indukcyjnej części obwodu). Jeżeli impendancja jest zmienna, w zależności od częstotliwości, to dlaczego na głośnikach podana jest stała wartość ich impendancji np. 4Ω? Przecież przez cewkę głośnika płyną prądy o różnych częstotliwościach. Przede wszystkim należy zwrócić uwagę Czytelnikowi, że piszemy impedancja, a nie impendancja. Rzeczywiście jest to wypadkowa oporność, która zmienia się z częstotliwością. „Od zawsze” w katalogach głośników podaje się średnią wartość tej oporności – typowo 4Ω lub 8Ω. Nie jest to rezystancja cewki głośnika dla prądu stałego – ta jest o 20...30% mniejsza od podanej wartości nominalnej. W katalogach nie podaje się szczegółów dotyczących impedancji głośnika, a ta silnie zmienia się z częstotliwością, i to nie tylko wzrasta z częstotliwością ze względu na obecność składowej indukcyjnej. Na przykład w typowym głośniku występuje rezonans mechaniczny o częstotliwościach rzędu kilkudziesięciu do kilkuset herców (zależy też od zastosowanej obudowy)
E l e k t ro n i k a d l a Ws z y s t k i c h
i w tym zakresie głośnik ma impedancję dużo większą od nominalnej. W praktyce przeciętny użytkownik nie ma potrzeby wgłębiać się w te szczegóły i wystarczy mu rozróżnienie, czy chodzi o zestaw 4czy 8-omowy. Szczegółami powinni się natomiast zainteresować wszyscy, którzy chcą samodzielnie budować zestawy głośnikowe.
Chciałbym się dowiedzieć, co to jest magnes neodymowy. Czym się różnią te magnesy od innych? Właściwości magnesu zależą w ogromnej mierze od materiału, z jakiego jest wykonany. Wykorzystanie pierwiastka neodymu pozwala uzyskać wyjątkowo dobre parametry (potocznie: siłę przyciągania).
Chodzi mi o kit AVT-2050 „Najprostszy wzmacniacz akustyczny 3W” z numeru 1/96. Jego parametry i wykorzystanie opisane są dla głośnika 16Ω.. Ja mam do dyspozycji głośniki 4Ω. Czy można bez żadnych konsekwencji dołączyć taki właśnie głośnik? Jeśli nie, to co należy zmienić w układzie oraz jak przelicza się zależności mocy i zasilania? Dołączenie głośnika 4-omowego spowodowałoby 4-krotny wzrost mocy wyjściowej ze względu na większe prądy wyjściowe. W praktyce ograniczeniem będzie maksymalny, szczytowy prąd wyjściowy wzmacniacza, a jeszcze bardziej moc strat. Przy głośniku 4-omowym wzmacniacz będzie się dużo bardziej grzał, co wymaga zastosowania radiatora, a nawet może doprowadzić do uszkodzenia wzmacniacza. Dołączenie głośnika 4-omowego jest możliwe, ale trzeba znacznie obniżyć napięcie zasilające, np. do 4,5V. Można też spróbować dołączyć głośnik nie w układzie mostkowym, tylko przez duży kondensator (2200µF) między masę a jedno z wyjść.
11
+++
Projekty AVT
Wzmacniacz klasy D
z układami TDA8927/TDA8929 2661 Wzmacniacze klasy D zyskują coraz większą popularność. Ich podstawową zaletą jest wysoka sprawność, przekraczająca 80%, w pewnych warunkach sięgająca 95%. Oznacza to, że na przykład przy mocy wyjściowej 100W, w elementach wzmacniacza jest tracone co najwyżej 25W mocy, a to oznacza, że można zastosować zaskakująco mały radiator. Otwiera to też drogę do dalszej miniaturyzacji, ale miniaturyzacja nie jest zagadnieniem najważniejszym. Według licznych doniesień, parametry odsłuchowe takich wzmacniaczy są znakomite. W każdym razie trend zastępowania klasycznych wzmacniaczy mocy wzmacniaczami impulsowymi jest coraz silniejszy i nie jest to jedynie przelotna moda. Bacznie śledzimy, co dzieje się w tej dziedzinie i poświęcamy tematowi sporo miejsca w naszym czasopiśmie. Wiele informacji o wzmacniaczach mocy audio można znaleźć w dwuczęściowym artykule Klasa T, czyli nowe i najnowsze wzmacniacze mocy w EdW 9, 10/2000. A w EdW 6/1998 str. 21 zaprezentowany był Wzmacniacz mocy klasy D TDA7482. W Redakcji powstał też model wzmacniacza z kostką TDA7482, pokazany na fotografii 1. Nie został szczegółowo opisany w EdW, ponieważ w siostrzanej Elektronice Praktycznej w tym czasie zaprezentowano podobny projekt na tej kostce.
Fo t . 1
E l e k t ro n i k a d l a Ws z y s t k i c h
Na rynku pojawiają się kolejne układy scalone wzmacniaczy klasy D. Tylko wzmacniacze o mocach do kilku watów są wykonywane jako pojedyncze układy scalone. W przypadku wzmacniaczy większej mocy na razie standardem jest dzielenie na dwa układy scalone: część sterującą i stopień mocy. Ma to prozaiczną przyczynę – wzmacniacz klasy D z założenia jest urządzeniem skomplikowanym. Występuje w nim sygnał prostokątny o częstotliwości ponad 100kHz i wielkiej amplitudzie i wynikające stąd impulsy prądowe o dużej wartości i bardzo stromych zboczach. Niezbędnym elementem jest wyjściowy filtr wygładzający, zawierający cewki pracujące przy dużych prądach, które w skrajnym przypadku muszą być ekranowane. Kwestia prowadzenia masy nabiera wyjątkowo ważnego znaczenia. Wszystko to wskazuje, że taki układ może być źródłem bardzo silnych zakłóceń elektromagnetycznych i aby je zminimalizować, potrzeba dużo wiedzy z różnych dziedzin. Drugim ważnym problemem jest stabilność takiego niecodziennego wzmacniacza: skłonność do samowzbudzenia, a nawet samouszkodzenia. Wykorzystanie wzmacniaczy klasy D tylko na pozór wydaje się proste. W rzeczywistości w projekcie trzeba uwzględnić szereg czynników, nieznanych konstruktorom klasycznych wzmacniaczy mocy. Na przykład niektóre układy scalone takich wzmacniaczy są wyjątkowo wrażliwe na subtelne właściwości współpracujących elementów biernych. Przykładowo znana firma National Semiconductor wypuściła zestaw kostek LM4651/LM4652 przeznaczonych do budowy wzmacniacza klasy D o mocy 170W do subwoofera. Według karty katalogowej do odsprzęgania kilku gałęzi zasilania trzeba połączyć równolegle trzy kondensatory o ściśle określonych parametrach i starannie dobranym rozmieszczeniu na płytce. Kostki takie
zostały sprowadzone i przetestowane – dwie płytki pokazane są na fotografii 2. Próby przeprowadzone w redakcji wykazały jednak, iż występują duże kłopoty, w tym wielka wrażliwość na przebieg ścieżek. Nawet w układzie aplikacyjnym zalecanym przez producenta o działaniu czy niedziałaniu wzmacniacza decydują subtelne różnice we właściwościach kondensatorów odsprzęgających.
Fo t . 2
Wzmacniacz taki okazał się wyjątkowo kapryśny. Ewentualni naśladowcy natrafiliby na poważne kłopoty, dlatego nie zdecydowałem się przedstawić tej konstrukcji jako projektu AVT. Za jakiś czas natknąłem się na informację, że Philips wypuścił podobny zestaw pozwalający uzyskać moc ponad 100W i to w pełnym paśmie akustycznym, a nie w roli wzmacniacza do subwoofera. Mając w pamięci perypetie z kostkami LM465x, z podobnymi obawami podszedłem do kostek TDA8927/TDA8929. Powstała płytka próbna ściśle wzorowana na przykładzie z karty katalogowej, gdzie większość elementów to SMD. W pierwszym modelu nie siliłem się na szukanie wszystkich elementów według zaleceń z firmowego wykazu. Jeśli nie miałem
13
Projekty AVT akurat pod ręką elementu SMD, wlutowałem zwykły, przewlekany, niekiedy o nieco innej wartości. Bardzo przyjemnym zaskoczeniem było to, że wzmacniacz wystartował od razu, bez najmniejszych kłopotów. Musiałem tylko dobrać cewki do filtrów wyjściowych i wzmacniacz nadawał się do wykorzystania. Dwie kostki TDA8929/TDA8927 tworzą dwukanałowy wzmacniacz klasy D, pozwalający uzyskać moc wyjściową do 2x80W albo w mostku do 1x150W Według informacji firmowych Philipsa przy mniejszych mocach stopień mocy może pracować bez radiatora. Wstępne próby laboratoryjne potwierdziły parametry elektryczne układu. Później przeprowadziłem subiektywne próby odsłuchowe. Na wzmacniacz podany był sygnał z wysokiej jakości odtwarzacza CD i współpracował z profesjonalnymi kolumnami odsłuchowymi firmy STUDER. Wrażenie było zaskakująco dobre, zwłaszcza że brzmienie można było porównać na miejscu z kilkoma wzmacniaczami klasycznymi dobrej klasy. Szybko oddałem ten atrakcyjny układ do sprawdzenia w Pracowni AVT i do publikacji. Chcę jednak wyraźnie podkreślić, że nie jest to układ dla początkujących, bo aby z zaprezentowanego modułu zrobić użyteczny wzmacniacz, trzeba dodać dobry zasilacz i w przemyślany sposób poprowadzić obwody masy. Dlatego projekt oznaczony jest trzema gwiazdkami. Te trzy gwiazdki nie wskazują na trudności przy budowie modułu, tylko na konieczność uwzględnienia dodatkowych czynników, jak choćby wspomniane prowadzenie mas oraz istotną w tym wypadku sprawę ewentualnych zakłóceń elektromagnetycznych (EMI). Ze względu na specyfikę projektu, nie przewidziano typowego zestawu – kitu B. Zainteresowani mogą nabyć płytki drukowane. Podję liśmy starania by firma Philips udostępniła Czytelnikom Elektroniki dla Wszystkich pewną liczbę układów TDA8927/TDA8929. Jeśli tylko takie próbki trafią do Redakcji zostaną rozdane bezpłatnie Czytelnikom, którzy nadeślą najlepiej uzasadnione listy z prośbami o udostępnienie tych układów. Zgłoszenia należy nadsyłać do końca kwietnia 2003.
Opis układu
Blokowy schemat dwuukładowego, dwukanałowego wzmacniacza pokazany jest na rysunku 1. Kostka TDA8929 zawiera kompletny sterownik, wytwarzający sygnały sterujące dla stopnia mocy – układu TDA8927. Warto zauważyć, że scalony stopień mocy zawiera obwody zabezpieczenia termicznego (+150oC) i zwarciowego – sygnał z tych obwodów wyłącza sterownik i tym samym tranzystory wyjściowe. Dwa kanały wzmacniacza mogą pracować na jeden głośnik według
14
Rys. 1
rysunku 2, i wtedy w konfiguracji BTL warto, by z punktu wi- Rys. 2 dzenia sygnału taktującego oba tory pracowały w przeciwfazie, co zapewni bardziej równomierne obciążenie zasilacza (zasada ta jest realizowana także we wzmacniaczu stereo z rysunku 1 – zwróć uwagę na fazowanie głośników). stereo moc wyjściowa jest nie do pogardzenia: przy 4Ω do 2x60...70W, przy 8Ω do 2x40W. Warto zwrócić uwagę, że wzmacniacze klasy D w związku ze swą budową generalnie słabiej tłumią tętnienia zasilania. W katalogu podana jest wartość SVRR 55dB, w praktyce można się spodziewać tłumienia około 60dB, ale to i tak jest znacznie mniej, w porównaniu z klasycznymi wzmacniaczami, które mają współczynnik SVRR powyżej 70dB. Przy tak dużych mocach stosowanie zasilacza stabilizowanego raczej nie wchodzi w grę. Natomiast napięcie zasilające klasycznego zasilacza niestabilizowanego powinno być możliwie dobrze filtrowane za pomocą kondensatorów o dużej pojemności. We wzmacniaczu klasy D częstotliwość taktowania musi być co najmniej dwukrotnie większa od górnej częstotliwości przenoszonego pasma. Częstotliwość oscylatora jest wyznaczona przez wartość rezystancji włączonej między ujemny biegun zasilania a nóżkę 7 kostki TDA8929. Zwiększenie częstotliwości taktowania ułatwia oddzielenie przebiegu taktującego od użytecznego, ale też zwiększa straty mocy i zmniejsza moc
Napięcie zasilania: ±15...±30V Prąd spoczynkowy TDA8929: typ. 20mA, max 30mA Prąd w stanie STANDBY (MODE=0V): typ. 30µA, max 100µA Prąd spoczynkowy TDA8927: typ. 35mA, max 45mA Pasmo przenoszenia (-3dB): min. 20Hz...20kHz Wzmocnienie: 30dB±1dB (BTL: 36dB) Impedancja wejściowa: typ 68kΩ, min 45kΩ Tłumienie tętnień zasilania (SVRR) przy 100Hz: 55dB Napięcie stałe na wyjściu: max 150mV Napięcie wyprowadzenia MODE: 0...+5,5V Roboczy zakres temperatur otoczenia: -40...+85oC Zniekształcenia nieliniowe (THD 1kHz, 1W): typ. 0,01%, max 0,05% Zniekształcenia nieliniowe (THD 10kHz, 1W): typ. 0,1% Typowa częstotliwość oscylatora: 320kHz...360kHz Zakres częstotliwości pracy oscylatora: 210kHz...600kHz Maksymalny szczytowy prąd wyjściowy: 7,5A Moc wyjściowa (±25V, 4Ω, THD=10%): typ. 2x65W min 2x60W Moc wyjściowa (±27V, 4Ω, THD=10%): typ. 2x80W min 2x74W Moc wyjściowa (±27V, 4Ω, THD=0,5%): typ. 2x65W min 2x60W Moc wyjściowa (BTL, ±17V, 4Ω, THD=10%): typ. 1x110W min 1x90W Moc wyjściowa (BTL, ±25V, 8Ω, THD=10%): typ. 1x140W min 1x128W Moc wyjściowa (BTL, ±25V, 8Ω, THD=0,5%): typ. 1x112W min 1x100W
Podstawowe parametry układu według rysunku 1 pokazuje tabela 1. Tabela 1 Z danych dotyczących mocy wynika, że ze względu na niezbyt duży maksymalny prąd wyjściowy (7,5A), nie warto obciążać głośnikiem 4Ω wzmacniacza mostkowego (BTL), chyba że chodzi o wzmacniacz o małym napięciu zasilania, np. ±14V do wzmacniacza samochodowego, gdzie napięcie –14V otrzymuje się za pomocą inwertera. Układ BTL na pewno warto obciążyć głośnikiem 8Ω i wtedy przy zasilaniu ±30V teoretycznie można uzyskać moc do 140W i zniekształceniach 0,5% (przy bardzo sztywnym zasilaczu). Także w układzie
E l e k t ro n i k a d l a Ws z y s t k i c h
Projekty AVT wyjściową. Z kolei obniżenie częstotliwości oscylatora zwiększa wymagania na filtr wyjściowy. Zalecana częstotliwość oscylatora wynosi ponad 300kHz (przy rezystancji 27kΩ), czyli kilkunastokrotnie więcej niż górna granica pasma akustycznego. Częstotliwość oscylatora można regulować w szerokim zakresie 200kHz...600kHz, zmieniając wspomnianą rezystancję w zakresie 45kΩ...15kΩ. W przypadku wykorzystania dwóch wzmacniaczy BTL częstotliwość taktowania obydwu układów TDA8929 powinna być jednakowa. W przeciwnym razie może być słyszalny stały ton o częstotliwości równej różnicy częstotliwości obu oscylatorów. W takim przypadku końcówki OSC (n.7) obu układów należy zewrzeć i podać na nie zewnętrzny sygnał taktujący. Co ważne, rezystory dołączone do ujemnego bieguna zasilania zostaną wtedy usunięte, a sygnał ten (poziomy TTL) ma być odniesiony do masy, a nie do ujemnego bieguna zasilania, jak pokazuje rysunek 3. Taka różnica poziomu odniesienia automatycznie wyłączy wewnętrzny oscylator i wykorzystany zostanie przebieg podany z zewnątrz. Jak większość scalonych wzmacniaczy mocy system ma możliwość napięciowego wyłączenia wzmacniacza do stanu STANDBY oraz elektronicznego wyciszenia. O stanie wzmacniacza decyduje wartość napięcia na wejściu MODE (nóżka 6): przy napięciach w zakresie 0 do około 1,5V wzmacniacz jest wyłączony (STANBY) i pobiera poniżej 0,1mA prądu. Przy napięciach na wejściu MODE w zakresie 2...3V wzmacniacz na
pewno jest w trybie MUTE – gotowy do pracy, ale wyciszony. Wreszcie dla napięć sterujących 4...5,5V wzmacniacz pracuje. W większości przypadków stosuje się obwody zapewniające płynne narastanie napięcia na nóżce MODE, co zapewnia łagodne, beztrzaskowe włączenie.
Rys. 5
Rys. 3 Rys. 4
Rys. 6 Rys. 7
E l e k t ro n i k a d l a Ws z y s t k i c h
15
Projekty AVT wykorzystano śruby M3 z wyjątkowo dużą główką, które łatwo można dokręcić z boku np. szczypcami płaskimi. W płytce z rysunku 8 kondensatory te można przylutować z drugiej strony płytki. Uwaga! Wkładka radiatorowa kostki TDA8927 jest wewnętrznie połączona z ujemnym biegunem zasilania. W konstrukcjach stacjonarnych mały radiatorek będzie trzymał się na wyprowadzeniach układu scalonego. Jeśliby miał być większy, a urządzenie mobilne, narażone na wstrząsy, np. w samochodzie, koniecznie trzeba solidnie umocować radiator do płytki. Jak wspomniałem, wartości elementów nie są krytyczne, co potwierdzają też fotografie modelu.
Warto dodać, że podczas włączania, po przejściu do trybu MUTE, wewnętrzne układy testują, czy wyjścia nie są zwarte do szyn zasilania. W razie wykrycia takiego zwarcia wzmacniacz pozostaje w stanie wyłączonym aż do usunięcia usterki. Procedura taka jest wykonywana tylko podczas włączania. Jest to dodatkowe zabezpieczenie obok czynnego stale typowego zabezpieczenia przeciwzwarciowego, które na bieżąco sprawdza, czy nie jest przekroczony maksymalny prąd wyjściowy. Układ TDA8929 ma wewnętrzny stabilizator +13V względem masy (+11...15V), z którego można pobrać do 10mA prądu dla ewentualnych zewnętrznych urządzeń dodatkowych. Wyjściem tego stabilizatora jest nóżka 19. Jak wskazuje rysunek 4, zniekształcenia harmoniczne są bardzo małe, nie gorsze niż w klasycznych wzmacniaczach klasy AB. Na rysunkach 5 i 6 można znaleźć cenne informacje o mocy strat i sprawności układu. Wynika z nich, że przy większych mocach układ TDA8927 musi być wy- Rys. 8 posażony w radiator. Kostka ta ma rezystancję termiczną Rthja równą Fot. 3 40K/W, więc bez radiatora może rozproszyć co najwyżej 3W mocy. Schemat ideowy proponowanej wersji pokazany jest na rysunku 7. Warto zwrócić uwagę na prowadzenie obwodów masy – obwody masy sygnałowej (GND – oznaczenie czerwone) i masy mocy (QGND – oznaczenie niebieskie). Zarówno schemat ideowy, jak i płytka drukowana są wzorowane na rozwiązaniu proponowanym w katalogu. Zainteresowani szczegółami sięgną do oryginalnych kart katalogowych: http://www.semiconductors.philips. com /acrobat/datasheets/TDA8929T_1.pdf http://www.semiconductors.philips. com /acrobat/datasheets/TDA8927_2.pdf
Fot. 5
Pasmo użyteczne przekracza 20kHz, niemniej przy różnych wartościach głośnika 4Ω, 8Ω górna granica pasma przenoszenia nieco się zmienia ze względu na nieidealne dopasowanie do filtru wyjściowego LC. Gdyby pasmo okazało się za małe, należy sprawdzić i w razie potrzeby skorygować indukcyjność cewek filtru (L2, L4). W wersji stereofonicznej zwory J1, J2 muszą pozostać rozwarte. Gdyby wzmacniacz miał pracować w układzie mostkowym (BTL) jako wzmacniacz jednokanałowy, należy zewrzeć zwory J1, J2, a nie montować elementów R6, R7, C26, C27, a wejściem będzie gniazdo IN1. Można też zewrzeć rezystor R4.
Montaż i uruchomienie
Wzmacniacz można zmontować na płytce pokazanej na rysunku 8. Pomocą w montażu będą fotografie modelu. Jak widać, część to wykorzystane zastępczo zwykłe elementy przewlekane. W modelu tylko ze względu na lepszy wygląd cewki filtru wyjściowego L2, L4 zostały wlutowane od strony opisu. Przy większych mocach cewki te grzeją się i niepotrzebnie podgrzewałyby duże „elektrolity” C34, C35, zmniejszając ich trwałość, dlatego w użytecznym układzie roboczym cewki koniecznie należy wlutować z przeciwnej strony niż te „elektrolity”. Cewki L5, L6, L7 to prosty kawałek drutu z nałożonym ferrytowym koralikiem (perełką).
16
Tylko dla dociekliwych
Fot. 4
Dla niewprawionych istotną trudnością jest wlutowanie maleńkich elementów SMD. Należy też zwrócić uwagę, że także w układzie modelowym Philipsa, pokazanym na fotografii 5, duże „elektrolity” są wlutowane w sposób poważnie utrudniający przykręcenie radiatora. Dlatego w modelu redakcyjnym
Najbardziej dociekliwi zechcą za pomocą R1 zmienić częstotliwość przebiegu taktującego (200kHz...600kHz) i sprawdzić, jak zmienia to właściwości układu. Układ można łatwo dostosować do zasilania pojedynczym napięciem. Wystarczy równolegle do kondensatorów C32 i C33 dołączyć rezystory (odpowiednio 10kΩ, 9,1kΩ). Jak wspomniałem, wartości elementów układu nie są krytyczne. Zmiany wartości o 20...30% nie powinny w istotny sposób pogorszyć parametrów lub uniemożliwić działanie układu. W układach impulsowych zalecane są „elektrolity” o zmniejszonej rezystancji
E l e k t ro n i k a d l a Ws z y s t k i c h
Projekty AVT wewnętrznej (LOW ESR). Ja w modelu zastosowałem pierwsze lepsze kondensatory, jakie miałem pod ręką i wszystko w porządku. Lepsze kondensatory mogą mieć pewien niewielki wpływ na właściwości dźwięku. W przypadku braku specjalnych „elektrolitów” typu LOW ESR, należy po prostu stosować kondensatory o danej pojemności o jak największym napięciu pracy – z reguły mają one mniejszą rezystancję ESR. Tu muszę przyznać, że z cewkami sprawa jest dziwna. Dostępne źródła podają, że prąd maksymalny cewki filtru powinien być większy od szczytowej wartości prądu głośnika. Według karty katalogowej w projekcie testowym w filtrze wyjściowym mają pracować cewki firmy Sumida o symbolu CDRH 127-330. Zadałem sobie trud i ściągnąłem katalog tej firmy. Okazało się, że są to cewki SMD o rozmiarach 12x12x8mm – patrz rysunek 9. Jak wskazuje katalog Sumidy (rysunek 10), cewka o indukcyjności 33µH ma prąd maksymalny 3A, a rezystancja wynosi typowo 48mΩ (max 64,8mΩ). Tymczasem wzmacniacz (TDA8927) ma prąd maksymalny 7,5A, więc przy większych mocach proponowane cewki niechybnie nasycą się, co pogorszy tłumienie częstotliwości nośnej. Ponadto przy prądach wyjściowych rzędu 5A wartości skutecznej, w cewkach tych wydzieli się ponad 1,5 wata mocy strat, przez co małe cewki będą się silnie grzały, co może dodatkowo pogorszyć ich parametry. Ja w modelu zastosowałem radykalnie większe cewki toroidalne. W magazynie Wykaz elementów Rezystory
R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27kΩ SMD R4-R7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10kΩ SMD R10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1kΩ SMD R11,R12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5,6Ω SMD R13,R14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5,6Ω SMD R15,R16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22...24Ω SMD R19,R20 . . . . . . . . . . . . . . . . . . . . . . . . . . . .33k...39kΩ SMD R24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200k...220kΩ SMD Kondensatory
C1-C7,C15,C17,C32,C33,C36-C39,C44 . . . . . . . .220nF SMD C8,C9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15nF...22nF SMD C10-C13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .560pF SMD C14,C16,C24-C27 . . . . . . . . . . . . . . . . . . . . . . . . . . . .470nF C18-C21,C28-C31 . . . . . . . . . . . . . . . . . . . . . . . . . .1nF SMD C22,C23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330pF SMD C34,C35 . . . . . . . . . . . . . . . . . . . . . . . . .1500…2200µF/35V C40,C41 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/40V C43 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180pF SMD Półprzewodniki
D1 D2 U1 U2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 5,6V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .dioda Zenera 7,5V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .TDA8927J . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .TDA8929T SMD
Pozostałe
IN1,IN2 . . . . . . . . . . . . . . .pojedyncze gniazda cinch do druku J1,J2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .jumper L2,L4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33µH patrz tekst L5-L7 . . . . . . . . . . . . . . . . . . . .koralik ferrytowy na przewodzie OUT1,OUT2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ARK2 S1 . . . . . . . . . . . . . . . . . . . . . . . . . . .przełącznik 3-pozycyjny Z1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ARK3
Płytka drukowana jest dostępna w sieci handlowej AVT jako kit szkolny AVT-22661.
E l e k t ro n i k a d l a Ws z y s t k i c h
Rys. 9 Rys. 10
AVT były tylko cewki o indukcyjności 68µH. Musiałem usunąć podstawkę mocującą i odwinąć część zwo- Rys. 11 jów. Potem po sprawdzeniu pasma przenoszenia okazało się, że trzeba odwinąć więcej zwojów, niż wynikało z teoretycznych obliczeń. Warto podkreślić, iż przedstawiony model jest ściśle wzorowany na projekcie z karty katalogowej. Osoby, które chciałyby same zaprojektować płytkę drukowaną, muszą wziąć pod uwagę, że oba układy scalone powinny być umieszczone jak najbliżej siebie, że trzeba przeanalizować obwody prądowe, starannie zaplanować przebieg obwodów masy i zasilania części „cyfrowej” i „analogowej” oraz starannie odsprzęgać szyny zasilania. Warto zwrócić uwagę, jakie rozwiązania zaproponowali specjaliści Philipsa i potraktować je jako wzór, nie pomijając takich „szczegółów”, jak dławiki z perełek ferrytowych w obwodach zasilania i dublowane kondensatory odsprzęgające. Zaleca się zwarty montaż i możliwie małe wymiary płytki – preferowane są elementy SMD. Podane na schemacie i w wykazie wartości elementów filtru wyjściowego (L2, L3, C14, C16) są rozsądnym kompromisem dającym wystarczające efekty zarówno przy obciążeniu 4Ω, jak i 8Ω. Jeśli ktoś chce, może zmienić wartości tych elementów. Precyzyjne obliczenie czy zasymulowanie filtru wyjściowego jest bardzo trudne ze względu na to, że głośnik nie jest obciążeniem czysto rezystancyjnym i jego impedancja znacząco zmienia się w funkcji częstotliwości. W praktyce obliczając elementy filtru, przyjmuje się, iż obciążenie jest czystą rezystancją (i jest niezależne od częstotliwości). Dla prostego filtru z rysunku 11 wartości elementów oblicz się z prostych wzorów: ω = 2πf
gdzie f to częstotliwość graniczna filtru, zazwyczaj 24…30kHz C = 1 / (1,41*RL*ω) L = 1,41*RL / ω Dla układu z rysunku 12 wzory są następujące: ω = 2πf C = 1,41 / (RL*ω) L = RL / (1,41*ω) Zamiast dwóch kondensatorów dołączonych do masy, można zastosować jeden dołączony równolegle do głośnika i dodatkowo dwa mniejsze kondensatory o pojemności około 0,1...02C zwierające przebieg taktujący do masy według rysunku 13: ω = 2πf gdzie f to częstotliwość graniczna filtru, zazwyczaj 24…30kHz C = 1 / (1,41*RL*ω) L = RL / Rys. 12 (1,41*ω) Zaleca się, by Rys. 13 kondensatory filtru wyjściowego miały napięcie nominalne 2 razy większe niż napięcia spodziewane w układzie (przepięcia, stany przejściowe). Wystarczająco dobre są tu popularne kondensatory poliestrowe MKT. Cewki filtru wyjściowego powinny mieć stabilne właściwości w funkcji temperatury i częstotliwości. Dopuszczalne są cewki na rdzeniach toroidalnych, ale w miarę możliwości zaleca się tu stabilniejsze rdzenie ze szczeliną. Mają one większe pole rozproszenia od „toroidów” i niekiedy trzeba je dodatkowo ekranować. Cewki powinny mieć jak najmniejszą rezystancję szeregową, bo rezystancja szeregowa pogarsza właściwości filtrujące i zmniejsza sprawność (większe straty w cewkach). Piotr Górecki
17
++
Zegar-budzik z dwupunktowym termometrem DS1624 Do czego to służy?
Prezentowane urządzenie jest mikroprocesorowym zegarem z budzikiem, mającym jednak cechę wyróżniającą go spośród licznych rozwiązań – możliwość dokonywania dwupunktowego pomiaru temperatury przy pomocy czujników firmy Dallas DS1624 i, jak się zaraz okaże, możliwość prezentacji wyników w dowolnym zestawieniu.
Jak to działa?
Na początku opisu należy się Czytelnikom krótkie wyjaśnienie dlaczego wybrałem akurat czujniki DS1624, a nie np. DS1920. Jak wiadomo, te ostatnie sterowane są przez jednoprzewodową magistralę 1-Wire, natomiast te zastosowane w projekcie komunikują się z procesorem za pomocą magistrali I2C. Wybór padł na układy 1624 z dwóch powodów: - chęć opisania budowy termometru opartego na innych układach niż te, często stosowane przez autorów AVT, - pokazanie ciekawego sposobu przetwarzania danych pobranych z tego typu czujników. Rys. 1 Schemat elektryczny zegara pokazany jest na rysunku 1. Od razu uderza wyjątkowa prostota układowa. Rolę portu I2C spełniają dwa najmłodsze bity portu P1. Są to wejścia wewnętrznego komparatora, dlatego też koniecznym było podciągnięcie ich do plusa zasilania poprzez rezystory. Do magistrali dołączone są kolejno dwa czujniki DS1624. W odróżnieniu od układów 1-Wire, które to posiadają swój unikatowy numer seryjny, układy dołączane do magistrali I2C wybierane są przez podanie adresu ustalonego (w pewnym zakresie) przez użytkownika, poprzez odpowiednie spolaryzowanie wejść A0-A2. Tego typu rozwiązanie ogranicza użycie na jednej magistrali więcej niż ośmiu takich elementów. W opisywanym układzie czujnik, umownie nazwany wewnętrznym,
18
ma adres bazowy 144, czujnik zewnętrzny 146. Jeśliby ustawić w obu czujnikach ten sam adres, na pewno wystąpiłby konflikt, a wyniki byłyby błędne, bądź ich odczytanie stałoby się niemożliwe. Obwód rezonansowy procesora wykonany jest w standardowy i sprawdzony sposób. Z doświadczenia także wiadomo, że do poprawnego restartu procesora po włączeniu napięcia zasilania wystarczy jedynie kondensator 1µF włączony między plus zasilania, a końcówkę RST. Linie P1.7 do P1.2 służą komunikacji procesora z wyświetlaczem LCD o organizacji 1*16. Dodatkowe połączenia z wyświetlaczem to zasilanie i regulacja kontrastu potencjometrem PR1. Przyciski typu uswitch dołączone do wejść P3.2 P3.3 i P3.4 służą dokonywaniu nastaw. Buzzer B1 generujący sygnał budzika sterowany jest z końcówki P3.5. Zasilacz dla całego układu oparty jest na stabilizatorze 7805 z diodą zabezpieczającą przed błędnym podłączeniem napięcia zasilania, które powinno mieścić się w przedziale 9-15V.
Generalnie program zbudowany jest tak, że w zależności od aktualnego sposobu wyświetlania zbiera dane z czujników, liczy czas, wyświetla wyniki i analizuje stan przycisków (źródło w postaci pliku *.bas dostępne jest na internetowej stronie EdW). Sposób programowej generacji podstawy czasu dla zegarka przedstawiony jest na listingu 1. Wykorzystany procesor to AT89C4051 posiadający w swym wnętrzu 4kB pamięci FLASH. Taka pojemność okazała się potrzebna ze względu na wykorzystanie dość skomplikowanych procedur przeliczeniowych. Timer 1 pracuje z cyklicznym przepełnianiem wywołującym podprogram obsługi przerwania, który po każdym piętnastym przepełnieniu T1 zwiększa aktualny czas, do wyświetlenia, o sekundę. Magiczna, ładowana wartość 4150, zapewniająca „wzorcowe” odmierzanie części sekundy, została już wcześniej opisana przez Zbigniewa Raabe w kilku numerach EdW. list 1 Config Timer0 = Timer , Gate = Internal , Mode = 1 Enable Timer0 On Timer0 Timer_0 Enable Interrupts Counter0 = 4150 Start Timer0 Timer_0: Counter0 = 4150 Start Timer0 Incr Czesc_sekundy If Czesc_sekundy > 14 Then Czesc_sekundy = 0 Incr Sekundy If Sekundy > 59 Then Sekundy = 0 Incr Minuty If Minuty > 59 Then Minuty = 0 Incr Godziny If Godziny > 23 Then Godziny = 0 End If End If End If End If Return
E l e k t ro n i k a d l a Ws z y s t k i c h
W podobnie prosty sposób odbywa się pobieranie danych z czujników temperatury, a ciekawostką jest to, że ramka danych jest niestandardowa, bo 13 bitowa. Ponadto temperatura kodowana jest w systemie liczbowym uzupełnień do dwóch, tzw U2. Obliczeniu poddaje się więc rzeczywistą 13 bitową liczbę spośród danej 16 bitowej, oblicza się właściwą temperaturę (korzystając ze współczynnika przetwarzania) i zaokrągla wynik po przecinku. Listing 2 prezentuje cały ten proces. Zmienna Temp_1 przechowuje początkowo wartość pełnych stopni Celsjusza, Temp_2 zaś wartość po przecinku. Na podstawie wartości zwróconej podczas odczytu czujnika do Temp_1 wnioskuje się o znaku (+/-). Jeśli liczba list 2 w Temp_1 wyka- Sub Przeliczenie Temp_1 >= 0 And zuje, że badana If Temp_1 < 126 Then temperatura jest Minus = 0 ujemna następuje Temp_2 = Temp_2 / 8 Call Przelicz_single przeliczenie całej Exit Sub temperatury. Zao- Else Minus = 1 krąglanie wykony- Temp_1 = 255 - Temp_1 wane jest w osob- Temp_2 = 255 - Temp_2 = Temp_2 + 1 nym podprogramie Temp_2 Temp_2 = Temp_2 / 8 ze względu na Call Przelicz_single Sub swoją „pamięcio- Exit End If żerność” przy ob- End Sub słudze dwóch Sub Przelicz_single czujników jedno- Temp = Temp_2 * 0.3125 cześnie. Rys. 2 Wyprowadzenia AT89C4051
Wszelkich nastaw dokonuje się z poziomu trzyprzyciskowej klawiatury. Możliwe jest: sprawdzenie nastawy budzika i jego aktywację/dezaktywację, dokonanie nastaw budzika i zegara z rozdzielczością minuty, zmiana czujnika, którego pomiar jest prezentowany, wybór między wyświetlaniem zegara i wybranej temperatury i dwiema temperaturami bez zegarka. Procedura odczytu danych z czujników DS1624 jest „standardowa” jak na układy I2C i przedstawiona jest na listingu 3. Na początku, jeszcze przed pobieraniem informacji o temperaturze, należy zainicjować działanie wewnętrznego przetwornika pomiarowego. Robi się to wydając komendę Start Convert T (EEh). Jak widać dotyczy to obu czujników. Dopiero po takiej inicjalizacji można korzystać z podprogramu
E l e k t ro n i k a d l a Ws z y s t k i c h
Odczyt_temperatury, który zwraca list 3 odpowiednie da- I2cstart I2cwbyte 144 ne do zmiennych I2cwbyte &HEE konwersji T e m p _ 1 'rozpoczęcie I2cstop i Temp_2. To, Waitms 10 z którego termo- I2cstart I2cwbyte 146 metru aktualnie I2cwbyte &HEE odczytywana jest I2cstop wartość mierzo- Sub Odczyt_temperatury na, zależy od I2cstart Termometr wartości zmien- I2cwbyte I2cwbyte &HAA nej Termometr I2cstart i odpowiednio I2cwbyte Termometr_2 I2crbyte Temp_1 , Ack Termometr_2. I2crbyte Temp_2 , Nack S t e r o w a n i e I2cstop End Sub odbywa się za pomocą 3-przyciskowej klawiatury. Każdy z przycisków jest wielofunkcyjny, w zależności od tego jaką funkcję aktualnie ustawia się. I tak: Podczas normalnej pracy: S1 – krótkie przyciśnięcie powoduje wyświetlenie nastawy budzika i jego stanu (aktywny/nieaktywny); dłuższe wciśnięcie powoduje zmianę stanu budzika na przeciwny, S2 – wciśnięcie powoduje wejście do podmenu nastaw budzika i zegara, S3 – wciśnięcie powoduje wejście do podmenu wyboru sposobu prezentacji pomiarów. Po wejściu do podmenu nastaw budzika i zegara: S1 – wciśnięcie powoduje wejście w tryb ustawiania budzika (S1 i S2 powodują inkrementację o jeden odpowiednio: godzin i minut; S3 kończy operację nastawiania), S3 – wciśnięcie powoduje wejście w tryb ustawiania zegara (S1 i S2 powodują inkrementację o jeden odpowiednio: godzin i minut; S3 kończy operację nastawiania). Po wejściu do podmenu wyboru sposobu prezentacji pomiarów: S1 – wciśnięcie powoduje wejście do podmenu wyboru czujnika, którego pomiary prezentowane będą wraz z zegarem (S1 – czujnik wewnętrzny, S3 – czujnik zewnętrzny), S2 – wciśnięcie powoduje przejście w tryb wyświetlania obu temperatur jednocześnie, bez wyświetlania zegarka (z lewej strony temperatura wewnętrzna, z prawej zaś zewnętrzna). Przy trybie wyświetlania jednej temperatury organizacja wyświetlacza jest następująca: GG:MM:SS_+/-TT.T0C. W przypadku trybu prezentacji obu temperatur wygląda to następująco: +/-TT.T0C__+/-TT.T0C (przy czym +/- stanowi jedno pole i w przypadku temperatur dodatnich pozostaje puste). Odświeżanie pozycji zawierających informacje o temperaturze realizowane jest co 4s (w przypadku obu pomiarów – naprzemiennie co 2s). W przypadku gdy zadziała budzik na wyświetlaczu pojawia się szlaczek, a z buzzera rozlega się przerywany dźwięk. Wciśnięcie
któregokolwiek przycisku wyłącza budzik i układ przechodzi do normalnej pracy. Układ można zmontować na płytce uniwersalnej. Od razu działa poprawnie, a krzaczki pojawiające się na pozycjach 14, 15 i 16, przez pierwsze 4s po włączeniu zasilania, są naturalnym objawem. Zakres pomiarowy termometrów DS1624 mieści się w przedziale: [-55 do +125] 0C. Po włączeniu urządzenie przechodzi do odczytu temperatury z układu o adresie bazowym 144. Projekt ten dedykuję pamięci Zbigniewa Raabe.
Grzegorz Kaczmarek
[email protected] Wykaz elementów: Rezystory R1,R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1,1kΩ PR1 . . . . . . . . . . . . . . . . . . . . . . . .10kΩ miniaturowy Kondensatory C1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/25V C2 . . . . . . . . . . . . . . . . . . . . . . . . .100nF ceramiczny C3,C4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33pF C5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1µF MKT Półprzewodniki D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148 IC1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AT89C4051 IC2,IC4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .DS1624 IC3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7805 Inne B1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .piezo 5V S1-S3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .µswitch Q1 . . . . . . . . . . . . . . . . . . . . . . . . .kwarc 11,059MHz Wyświetlacz
19
Podstawy
Wykonywanie płytek drukowanych w warunkach domowych Folia termo-transferowa TES200
W ulotce reklamującej tę folię napisano: „TES200 pozostawia daleko w tyle inne metody wykonywania płytek drukowanych w warunkach amatorskich. Upraszcza do niezbędnego minimum wszelkie prace przy płytkach prototypowych i małych partiach produkcyjnych. Wystarczy wykonać bezpośredni wydruk z drukarki laserowej na TES200 lub odbić gotowy projekt na kserokopiarce, a następnie przykleić ją do laminatu i wytrawić, by uzyskać dosłownie w 10 minut płytkę o niezwykle wysokiej jakości. Daje dokładność odwzorowania grubości ścieżek do 0,1mm, idealna dla technologii SMD oraz druku dwustronnego. Sprawi, że Twoja praca z nią będzie przyjemnością!” Chciałem się przekonać, czy istotnie tak jest. Istotnie, praca z folią jest wręcz przyjemnością. Za jej pomocą wytwarza się naprawdę bardzo ładne płytki, a co ważne - szybko. Nie trzeba czekać 24 godzin, tak jak w wypadku metody fotochemicznej.
Fot. 8 Fot. 9
20
część 2 Gorąco polecam tę metodę! Na fotografii 8 przedstawiona jest płytka, która została wykonana za pomocą folii TES200. Bez wprawy i doświadczenia, po prostu z marszu - ale chyba nie najgorzej mi wyszła. Folię TES200 (fot. 9) w opakowaniach po 5 i po 10 arkuszy A4 można kupić w sklepie AVT www.sklep.avt.com.pl. Jak „ugryźć” folię TES200? Nadruk na folię jest niezwykle ważną sprawą. Posiadacze komputera i drukarki laserowej mogą bezpośrednio wydrukować projekt na folię TES200 w celu uzyskania płytki o najwyższej jakości. Ci, którzy nie posiadają komputera, mogą wykonać projekt w tuszu na gładkim, białym papierze i za pomocą dowolnej kserokopiarki przenieść go na folię TES200. Wydruk na folii koniecznie musi być zrobiony na drukarce laserowej lub odbity na kserokopiarce pracującej z tzw. tonerem. Nie nadają się wydruki z drukarek atramentowych ani z drukarek LED (np. firmy OKI), gdyż posiadają one inny rodzaj tonera. Ważne jest, aby nadruk nie był lustrzanym odbiciem tak jak ma to miejsce w metodzie fotochemicznej. Trzeba więc wydrukować rysunek ścieżek tak, jak gdyby był widziany od góry płytki. Wskazane jest, aby na jednej folii wydrukować kilka wzorów tej samej płytki, co jest dobrym zabezpieczeniem, gdyby pierwsza próba naniesienia tonera na płytkę się nie powiodła. Warto wykonać płytkę próbną celem zdobycia wprawy. Po wydrukowaniu wzoru ścieżek na folii należy zachować następującą kolejność czynności: • Przyciąć laminat o wymiarach nieco większych względem właściwego projektu (wymagany jest laminat tzw. „szklany” – nie zniekształca się pod wpływem temperatury). • Powierzchnię miedzi należy zmatowić delikatnym papierem ściernym oraz odtłuścić. • Wyciąć projekt płytki z arkusza folii. • Przymocować folię do płytki przynajmniej w dwóch punktach za pomocą np.
papierowych naklejek samoprzylepnych, pamiętając oczywiście o tym, aby folia skierowana była tonerem w stronę miedzi. • Płytkę umieścić na rozgrzanej do temperatury 135-155oC płycie grzejnika (kuchenki elektrycznej lub odwróconego do „góry nogami” żelazka), LUB tak ją położyć, aby folia dotykała prostego blatu biurka (stolika) - przyciskamy żelazko całą płaszczyzną do płytki w każdym jej miejscu aż do momentu, gdy folia lekko się przyklei do płytki (można to sprawdzić, delikatnie wkładając igłę pod folię). O tym trzeba koniecznie pamiętać - laminat musi być nagrzany równomiernie od dołu. Najlepsze jakościowo płytki otrzymuje się przy górnej maksymalnej granicy temperatury laminatu tj. około 160oC, przy której folia nie ulega jeszcze deformacji (czasami jest to więcej niż 160oC). Jeżeli temperatura podczas przyklejania będzie za niska, wtedy po ostudzeniu i oderwaniu na folii pozostanie część nieprzyklejonego projektu. • Po rozgrzaniu się laminatu do żądanej temperatury folia staje się elastyczna, zaczyna przylegać do powierzchni płytki. Prowadzimy fotograficzny wałek gumowy po powierzchni folii w celu równego przeniesienia tonera z folii na miedź. Wałek można zastąpić kawałkiem płótna, przy czym należy zwrócić uwagę na dokładne przetarcie całej powierzchni folii. Można także posłużyć się żelazkiem, „prasując” przez papier (w wypadku zbyt wysokiej temperatury folia mogłaby przyklei się do żelazka). Przesuwamy końcówkę żelazka po folii (papierze) dokładnie w każdym jej miejscu do momentu, gdy ścieżki zaczną się trochę „rozmywać”. Oznacza to, że miejsca te trzeba już zostawić w spokoju i zająć się innymi. Nie wolno jednak przesadzić z prasowaniem, gdyż grozi to rozpłaszczeniem ścieżek. • Odłożyć płytkę do przestygnięcia (ostudzoną do temperatury pokojowej zaleca się włożyć na kilka minut do lodówki - zamrażalnika). • Odciągnąć delikatnie folię od płytki, pozostanie na niej kwasoodporna mozaika ścieżek z tonera. Gdyby zdarzyło się, że w nielicznych miejscach folia odejdzie razem z tonerem, to braki tonera na płytce można uzupełnić pisakiem do rysowania mozaiki
E l e k t ro n i k a d l a Ws z y s t k i c h
Podstawy obwodów drukowanych. Poprawiamy także niektóre gorsze ścieżki – po nabraniu wprawy zdarza się to jednak bardzo rzadko. • Umieścić płytkę w dowolnym roztworze trawiącym (ze względu na wysoką jakość trawienia warto posługiwać się środkiem B327, jednak w przypadku jego braku zadowalający efekt można uzyskać trawiąc w zwykłym chlorku). • Po wytrawieniu płytki pozostałości zmywamy acetonem, rozpuszczalnikiem nitro lub zwykłym zmywaczem do paznokci. • Na deser – wiercenie, gradowanie i obowiązkowo malowanie ścieżek roztworem kalafonii w denaturacie. Z niektórych doświadczeń wynika, ze zwykła folia do drukarek laserowych zachowuje się podobnie jak folia TES200. Warto poeksperymentować.
procentowym roztworze trawienie trwa około pięciu minut, w zużytym do 15 minut. Jeśli trawienie trwa zbyt długo, to jest to wynikiem zbyt słabego roztworu. Szczególnie godny polecenia jest drobnokrystaliczny środek trawiący - B327 (fot. 10). Idealna alternatywa dla chlorku żelaza. Środek jest wolny od amoniaku, rozpuszcza się bardzo szybko i nie wykrystalizowuje z roztworu. Trawi równomiernie, zapewniając ostrość konturów i minimalizując podtrawienie. Fot. 10
Trawienie
Doskonale spisuje się w roli wytrawiacza nadsiarczan sodu lub bardzo popularny chlorek żelazowy. W świeżym kilkudziesięcio-
Jak wydrukować wzór ścieżek, korzystając z programu Protel 99SE? Otwórz zaprojektowaną w Protelu płytkę (plik PCB). Następnie w górnym pasku File wybierz Print/Preview. Otworzy się podgląd (plik z rozszerzeniem PPC). Za pomocą polecenia File – Setup Printer ustaw odpowiednią drukarkę, koniecznie musi być ustawiona skala 1. Ponownie wybierz Edit, a następnie polecenie Insert Printout. Na zakładce Printout Proporties zaznacz kolor czarno-biały Black&White (nie Gray scale)! Musisz teraz zdefiniować, które warstwy chcesz drukować. W okienku Layers kliknij Add. Domyślnie ustawiona jest warstwa TopLayer (górna warstwa miedzi). Jeśli właśnie tę warstwę chcesz wydrukować, to po kliknięciu Add koniecznie wybierz jeszcze warstwy: MultiLayer (punkty lutownicze) oraz warstwę obrysu płytki (KeepOutLayer, Mechanical 4 lub inną, w zależności od tego, jaką warstwę obrałeś w projekcie). Zmian warstw i innych ustawień dokonasz, posługując się poleceniem Edit / Change. Do wykonania płytek drukowanych jednostronnych niepotrzebna jest warstwa TopLayer, trzeba wydrukować warstwę BottomLayer (dolna warstwa miedzi). Należy więc zaznaczyć war-
E l e k t ro n i k a d l a Ws z y s t k i c h
stwę TopLayer i kliknąć Remove. Po pozbyciu się jej kliknij ponownie Add i do wybranych wcześniej warstw MultiLayer, KeepOutLayer dodaj warstwę BottomLayer. Poleceniem Close zamknij zakładkę Printout Proporties. Na podglądzie pojawi się płytka w takiej postaci, w jakiej chcesz ją wydrukować. Pora na drukowanie - ponownie wybierz File, a następnie Print Current. Na kartce papieru lub folii do samodzielnego wykonywania płytek drukowanych - TES200 - pojawi się tak oczekiwany wydruk. Uwaga! Gdybyś potrzebował zrobić wydruk, który służyłby jako wzorzec do rysowania płytek ręcznie lub do metody fotochemicznej, koniecznie musisz ustawić lustrzane odbicie. Na zakładce Printout Proporties ustaw Mirror Layers. Jeśli chcesz, żeby na wydruku widoczne były otwory zaznacz także Show holes. Warstwa MultiLayer musi być na samej górze w okienku Layers. Można tego dokonać poleceniami Move Up. Także przy drukowaniu z innych programów należy pamiętać o podstawowych zasadach omówionych powyżej, a zwłaszcza o tym, że skala wydruku zawsze musi być ustawiona na 1/1 (100%).
Przy trawieniu laminatu ważne jest, aby roztwór trawiący był cały czas w ruchu. Można także poruszać płytką, ale nie dotykając strony ścieżek. W taki lub inny sposób, roztwór trawiący winien mieć cały czas dostęp do powierzchni miedzi. Aby uniknąć niedotrawienia pewnych fragmentów miedzi, należy uważnie obserwować zjawiska zachodzące na jej powierzchni i odpowiednio reagować. Zwykły bąbel powietrza mógłby sprawić, że mielibyśmy piękny punkt lutowniczy w miejscu najmniej spodziewanym. Roztwór trawiący przy temperaturze +30oC traci swoją aktywność. Dlatego w miarę potrzeb powinien być podgrzewany. Temperatura kąpieli trawiącej nie powinna być wyższa niż 50oC. Resztki chlorku żelazowego możemy przechowywać w zamkniętym pojemniku i stosować do wytrawiania kolejnych płytek. Roztworu środka trawiącego B327 nie wolno przechowywać w hermetycznie zamkniętych pojemnikach za względu na niebezpieczeństwo powstania nadciśnienia i pęknięcia. Zachowaj ostrożność! Przy pracy z chemikaliami używaj rękawic i okularów ochronnych. Pamiętaj, że są to środki niebezpieczne dla zdrowia po połknięciu, dlatego trzeba chronić je przed dziećmi i trzymać w oddaleniu od produktów spożywczych. W przypadku skażenia oczu należy natychmiast przemyć je dużą ilością wody i skonsultować się z lekarzem. Podczas rozpuszczanie chlorku silnie wzrasta temperatura, co może doprowadzić do pęknięcia szklanego czy wykrzywienia plastikowego naczynia. Plamy z chlorku są praktycznie nie do usunięcia.
Prace końcowe
Po procesie trawienia płytkę należy opłukać wodą (aby pozbyć się resztek kwasu) i zmyć farbę odpowiednim rozpuszczalnikiem, denaturatem lub... proszkiem do prania. Toner świetnie usuwa się zmywaczem do paznokci. Następnie przycinamy płytkę do właściwego rozmiaru, szlifujemy jej brzegi, wiercimy i gradujemy otwory, jeśli tego nie zrobiliśmy wcześniej. Z biegiem czasu miedź się utlenia, dlatego całą płytkę należy zabezpieczyć przed tym zjawiskiem. W sklepach elektronicznych można kupić środki chemiczne, które zabezpieczą płytkę przed utlenianiem a jednocześnie ułatwią lutowanie. Jednak o wiele tańszą formą zabezpieczeń jest pomalowanie oczyszczonych ścieżek roztworem kalafonii rozpuszczonej w denaturacie (spirytusie). Niektórzy cynują ścieżki, nie jest to jednak konieczne, a w układach w.cz. nawet niepożądane.
21
Podstawy Jak dokonać metalizacji otworów w wykonanej amatorsko płytce dwustronnej ze ścieżkami? Płytki tego typu posiadają ścieżki po obu stronach. Dwa oddzielne układy ścieżek wymagają jakiegoś połączenia elektrycznego pomiędzy nimi. Takie elektryczne mostki nazywamy przelotkami. W płytkach profesjonalnych przelotka kontaktowa to po prostu otwór w płytce wypełniony lub pokryty metalem i dotykający ścieżek po obu stronach. Amatorzy najczęściej tak projektują druk, żeby przelotką była lutowana z dwóch stron końcówka elementu (np. rezystora, kondensatora, diody). Pojawia się jednak problem, gdy chcemy użyć podstawek pod układy scalone. Problem istnieje zwłaszcza przy zwykłych podstawkach. Podstawki precyzyjne (tzw. tulipanowe) da się lutować z obu stron cienkim grotem. Jeśli nie da się lutować z dwóch stron końcówki jakiegoś elementu (np. w przypadku zwykłej podstawki pod układ scalony, niektórych złącz, gniazd do druku), można wywiercić obok punktu lutowniczego dodat-
22
kowy otwór i przylutować zworę z cienkiego drutu, ale jeszcze przed wlutowaniem specyficznego elementu. Kolejną przeszkodą są wyświetlacze LED. Można je jednak osadzić w podstawkach „tulipanowych” i po kłopocie. Złącza pionowe czy też listwy można osadzić nieco wyżej niż normalnie. Da się je wtedy przylutować od góry, jednak należy pamiętać o tym, że mają wtedy mniejszą wytrzymałość mechaniczną. Aby temu zaradzić,
Fot. 11
po dokładnym sprawdzeniu poprawności montażu (brak zwarć i przerw), można wzmocnić je klejem chemoutwardzalnym. To powinno pomóc. Na fotografii 11 przedstawiony jest zestaw startowy AVT710 dla elektroników hobbystów do wykonywania płytek. W skład zestawu wchodzi kilka płytek laminatu dwustronnie miedziowanego, pisak do malowania ścieżek, środek trawiący B327 i kalafonia lub topnik. Świetne rozwiązanie dla początkujących i to za jedyne 25 złotych. Reasumując. Jak zauważyłeś, każda metoda wytwarzania płytek drukowanych w warunkach domowych ma swoje zalety i wady, które w dużym stopniu zależą od doświadczenia. A zdobywanie nowych doświadczeń jest cenną rzeczą dla każdego praktyka. Warto poeksperymentować podczas wykonywania kolejnych płytek, aby przekonać się, która metoda jest najlepsza i najbardziej dostosowana do Ciebie. Ja „przytuliłem się” ostatnio do folii TES200, choć nie ukrywam, że „kusi mnie” także metoda fotochemiczna. Zbigniew Orłowski
E l e k t ro n i k a d l a Ws z y s t k i c h
Kurs Protela
Spotkania z Protelem 99 SE Spotkanie 13 Na kolejnych spotkaniach projektujemy płytkę do przystawki uruchomieniowej i przy okazji znów się czegoś nauczymy. Omówimy też sprawę wydruków. Komplet materiałów do opisanych ćwiczeń można znaleźć na naszej stronie internetowej w projekcie Przystawka.ddb.
Wydruki płytki
W przypadku płytki drukowanej sprawa jest nieco bardziej skomplikowana. I nic dziwnego, bo twórcy Protela zadbali o to, by konstruktor mógł wydrukować dowolne warstwy projektu, które są mu potrzebne. Wcale nie jest to trudne, trzeba tylko poznać i przyzwyczaić się do specyficznego sposobu przygotowywania wydruków. Zdziwienie początkujących budzi fakt, że wydruków nie dokonuje się, mając na ekranie projekt płytki, jak to było w przypadku schematu. Najpierw, mając na ekranie płytkę, trzeba wykonać polecenie F – P (File, Print/Preview). Spowoduje to utworzenie nowego dokumentu, mającego rozszerzenie .PPC (Power Print Configuration). Na ekranie pojawi się domyślny wydruk płytki. Co ważne i ciekawe, dokument .PPC nie zawiera kopii płytki. Zawiera tylko opis, co i jak ma zostać wydrukowane. Na podstawie takich danych konfiguracyjnych program na bieżąco opracowuje materiał do wydruku na podstawie zaprojektowanej wcześniej płytki i pokazuje na ekranie, jak będzie wyglądał wydruk, a właściwie wydruki, bo zwykle drukujemy kilka. Utwórz więc plik PPC poleceniem F – P i koniecznie kliknij zakładkę Browse w lewym panelu. Ekran będzie wyglądał mniej więcej, jak na rysunku 76. Na razie domyślnie utworzony został jeden wydruk: nazywa się Multilayer Composite Print, czyli rysunek złożeniowy wszystkich istotnych warstw. Jest on przygotowany dla domyślnej drukarki komputera, w moim przypadku HP 2000C.
Rys. 76
24
Kliknij prawym klawiszem myszy gdziekolwiek w lewym panelu i wybierz Insert Printout, czyli wstaw, dodaj nowy wydruk, jak pokazuje rysunek 77. Pojawi się spora Rys. 77 ramka. W górnym okienku Printout Name wpisz własną nazwę wydruku, np. Sciezki (dla zasady nie używaj typowo polskich liter). Ponieważ ma to być warstwa ścieżek, w prawym oknie Layers dodaj warstwę Bottom Layer. Kliknij przycisk Add i w nowym oknie (Printout Properties) rozwiń okienko Print Layer Type i wybierz tam warstwę Bottom Layer i kliknij OK. Zaznacz istniejącą warstwę Top Layer, klikając na niej. Usuń ją, klikając Remove i potwierdzając decyzję (Yes). Oprócz samych ścieżek dodaj jeszcze do wydruku dwie warstwy: obrys w warstwie Keep Out Layer oraz Multilayer, czyli punkty lutownicze. Dodasz je, klikając jak poprzednio Add i wybierając kolejno te warstwy w rozwiniętym okienku Print Layer Type. Jeśli planujesz ręczne malowanie ścieżek i punktów, musisz mieć wydruk lustrzany. Z lewej strony okna zaznacz więc opcję Mirror Layers. Wydruk będzie wyglądał ładniej, jeśli będą widoczne otwory. Zaznacz więc Rys. 78
też opcję Show Holes (pokaż otwory). Wydruk powinien być kontrastowy, więc poniżej zaznacz, że wydruk ma być czarno-biały (Black&White). Wygląd ramki po zmianach pokazuje rysunek 78. Kliknij Close. W lewym panelu pojawi się nowy wydruk – Sciezki, a w prawym panelu zobaczysz podgląd wydruku. Ekran będzie wyglądał mniej więcej jak na rysunku 79. Płytka wygląda dziwnie. Czy wiesz, dlaczego nie widać wszystkich otworów?
Oczywiście! Protel ko- Rys. 79 lejno rysuje warstwy i górna warstwa ścieżek prze- Rys. 80 słania otwory, które przecież w sumie znajdują się na „dolnej” warstwie Multilayer. Trzeba zmienić kolejność warstw: w lewym panelu kliknij „prawą myszą” wydruk Sciezki i tym razem wybierz Properties. Otworzy się znane Ci już okno. Kolejność warstw zmienisz łatwo: zaznacz warstwę Multilayer klikając ją, a potem dwa razy kliknij przycisk Move Up, by uzyskać kolejność jak na rysunku 80. Po kliknięciu OK na ekranie pojawi się potrzebny nam obraz jak na rysunku 81. Taki wydruk możesz wykorzystać do ręcznego malowania ścieżek, ale też do wywiercenia potrzebnych otworów. Ale szczerze mówiąc, do wiercenia otworów przydałby się inny, dokładniejszy wydruk. Zróbmy go! Kliknij „prawą myszą” gdziekolwiek w lewym panelu i znów wybierz Insert Printout. Dodaj potrzebne warstwy: Keep Out
E l e k t ro n i k a d l a Ws z y s t k i c h
Kurs Protela Layer oraz Drill Guide, a usuń domyślną Top Layer. Wykorzystaj warstwę Drill Guide, a nie Drill Drawing. Jeśli będziesz wiercić od strony druku, zaznacz opcję Mirror Layers, by okno wyglądało jak na rysunku 82. Po kliknięciu OK uzyskasz podgląd wydruku, jak na rysunku 83. Zwróć uwagę, że wielkość krzyżyka wskazuje na średnicę otworu. Do pełni szczęścia potrzebujemy jeszcze wydruku warstwy opisu (Top Overlay). Wydrukujemy go na papierze samoprzylepnym i nakleimy na płytkę. Znów po kliknięciu „prawą myszą” w lewym panelu otwórz okno nowego wydruku i zmień je według rysunku 84 i kliknij Close. Pojawi się potrzebny wydruk. I to w zasadzie wszystko, jednak my wrócimy jeszcze do pierwszego wydruku Multilayer Composite Print – kliknij go w lewym panelu. Dokładnie się mu przypatrz. Pomajstrujemy przy nim trochę. W lewym panelu kliknij ten wydruk „prawą myszą” i wybierz Properties. W otwartym tak znajomym oknie zmień nazwę na np. Wszystko. Ja mam kolorową drukarkę HP2000, więc dla fantazji chcę mieć dodatkowo kolorowy wydruk wszystkich istotnych warstw. Domyślne ustawienia nie są jednak zbyt dobre. Przede wszystkim włącz wyświetlanie otworów i zmień kolejność warstw, jak pokazuje rysunek 85. Możesz też zmienić kolory wyświetlania poszczególnych warstw poleceniem T – P (Tools, Preferences). Otworzysz okno z trzema zakładkami. Środkowa pozwala zmienić kolory oraz stopnie szarości (w trybie Gray Scale). Aby zmienić kolor danej warstwy, kliknij nie nazwę warstwy, tylko jej
kolor. Otworzysz nowe okno, w którym wybierzesz nowy kolor (np. podwójnym kliknięciem). Wygląd obu okien pokazuje rysunek 86. Ja wybrałem kolory, jak pokazuje rysunek 87. W lewym panelu mam teraz określone cztery wydruki, jak pokazuje rysunek 88. Możesz wydrukować je pojedynczo poleceniem F – U (File, Print Current) albo lepiej wszystkie poleceniem F – P (File, Print All). Jeśli kiedyś otworzysz plik PPC, a na ekranie w prawym panelu będzie tylko maleńki znaczek w lewym górnym rogu, powiększ obraz: najpierw Z – A, potem dodatkowo Z – I.
Rys. 87 Rys. 83 Rys. 84
Rys. 81 Rys. 82
Rys. 85 Rys. 86
E l e k t ro n i k a d l a Ws z y s t k i c h
Uwaga! Ważne! Dany użytkownik potrzebuje takich samych wydruków dla każdej projektowanej płytki. Nie musi jednak za każdym razem mozolnie dodawać wydruków do pliku PPC i ustawiać ich właściwości. Może to zrobić raz, tworząc wzorcowy plik PPC dla dowolnej płytki, a potem będzie kopiować ten plik z ustawieniami. Jest to o tyle wygodne, że w pliku PPC nie ma żadnej konkretnej płytki. Plik ten zawiera tylko informacje konfiguracyjne, co i jak wydrukować oraz informację, z jakiej płytki korzystać.
Możesz skopiować plik PPC między projektami, na przykład otwierając w Protelu dwa projekty i najzwyczajniej przeciągając myszką ikonkę pliku PPC do folderu Documents drugiego projektu, jak pokazuje rysunek 89. Kliknięcie na ikonce tak skopiowanego pliku PPC otworzy okno, w którym wybierzesz nowy plik PCB, bo przecież w tym drugim projekcie nie ma pliku PCB z projektu źródłowego – wybierz plik PCB, który będzie podstawą wydruków i kliknij OK. Na ekranie powinny pojawić się nowe wydruki. Jeśli się to nie stanie, w lewym panelu pod zakładką Browse kliknij ProcessPCB. Możesz też w dowolnej chwili zmienić płytkę, która jest podstawą wydruków poleceniem T – B (Tools, Select Target Board) na inną zawartą w tym samym projekcie. Z takich możliwości kopiowania pliku PPC na pewno chętnie skorzystasz, a przy okazji samodzielnie sprawdzisz, czy nie można prościej Rys. 88 zaimportować go do Rys. 89 dowolnego projektu. Warto też wiedzieć, że poszczególne wydruki możesz skopiować przez schowek Windows do innej aplikacji (Word, Corel, itp.). Mając na ekranie w prawym panelu potrzebny wydruk, wykonaj polecenie E – C (Edit,
25
Kurs Protela Copy), przełącz się do innej aplikacji i wklej (lepiej wklej specjalnie) do dokumentu. Szybko przekonasz się, że nie zawsze jest to skuteczna metoda. Wszystkie wydruki można też wyeksportować jako pliki wektorowe w formacie WMF (16-bitowy) lub EMF (32-bitowym). Po poleceniu F – E (File, Export) otworzy się okno, w którym wpiszesz, gdzie ma zostać umieszczony katalog z plikami. W dolnym okienku (Create Enhanced Metafile) ustawisz, czy ma to być „zwykły” WMF, czy EMF. Potem te pliki możesz zaimportować do innych programów. Zapewne i tu przekonasz się, że niekiedy wyniki bywają co najmniej dziwne. Jeszcze inną możliwością jest zainstalowanie w roli drukarek sterowników do tworzenia plików PDF czy postscriptowych. Te sposoby przydatne są głównie profesjonalistom, którzy chcieliby wykonać klisze nie za pomocą fotoplotera, tylko na naświetlarce. W przypadku zainstalowania takiej wirtualnej drukarki trzeba wygenerować z płytki.pcb oddzielny plik .PPC, zmieniając nazwę tego, który przeznaczony jest dla zwykłej drukarki. Po stworzeniu drugiego pliku PPC trzeba wybrać inną drukarkę, np. poleceniem F – R (File, Setup Printer).
Współpraca z wytwórcą płytek
Hobbyści wykonują płytki w warunkach domowych na podstawie zwyczajnych wydruków. Inni zlecają wykonanie płytek większym i mniejszym firmom. Wtedy przede wszystkim trzeba się upewnić, czy dany pro-
26
ducent przyjmie pliki PCB z Protela. Nie każdy zakład potrafi z nich skorzystać. Jeśli takiej możliwości nie ma, należy dokładnie ustalić z wytwórcą, w jakiej postaci przyjmie on projekt. Często może on przyjąć plik PCB, ale nie w formacie Protela, tylko Autotraxa (który obecnie ma status Freeware). Niestety, Protel 99SE nie może bezpośrednio zapisać płytki w formacie Autotraxa (o ile dobrze pamiętam, taką możliwość miała jedna z poprzednich wersji, jeszcze przed wersją Protel 98). Niektórzy radzą sobie, eksportując płytkę (F – E) w formacie Protel PCB 2.8 ASCII File. Plik w formacie Protel 2.8 ASCII jest plikiem tekstowym z nagłówkiem PCB FILE 6 VERSION 2.80, jednak nie można go w prosty sposób „ręcznie” zamienić na uboższy format Autotraksa (z nagłówkiem PCB FILE 4). Można go natomiast otworzyć za pomocą programu TraxMaker, którego 30dniowa wersja testowa też jest dostępna w firmie Altium (dawniej Protel). Pliki zapisane przez TraxMaker są to pliki takie, jak spod Autotraxa. Jeśli taka droga nie jest możliwa, trzeba z programu Protel wygenerować pliki dla automatu wiertarskiego (NC Drill) oraz dla fotoplotera (w formacie Gerber) lub naświetlarki postscriptowej. Wykorzystuje się do tego rodzaj kreatora, uruchamiany z poziomu płytki poleceniem F – M (File, CAM Manager). Opis tych zagadnień i rozlicznych możliwości wykracza jednak poza ramy cyklu. W każdym razie z producentem płytek warto i trzeba ustalić liczne szczegóły, takie jak sposób oznaczania obrysu płytki, sposób
cięcia płytek, ewentualne ograniczenia dotyczące średnicy otworów. Czy podana w pliku PCB średnica otworu w płytce dwustronnej z metalizowanymi otworami to średnica wiertła czy rzeczywista średnica metalizowanego otworu (zwykle mniejsza od średnicy wiertła o ok. 0,1mm). Czy projektant płytki sam ma „rozmnożyć” płytki i złożyć w formatkę o konkretnych wymiarach? Zalecane odstępy „miedzi” równe 12mil to wartość bezpieczna, akceptowana przez wszystkie zakłady. Jeśli ktoś chciałby zmniejszyć minimalne odstępy, powinien skonsultować się w tej sprawie z producentem płytek. I to już koniec cyklu o pakiecie projektowym Protel 99SE. Na kolejnych spotkaniach omówiliśmy zagadnienia najbardziej podstawowe i praktyczne, a pominęliśmy ogromną ilość dodatkowych szczegółów. Wyposażony w podstawową wiedzę (i ewentualnie w słownik angielsko-polski) możesz śmiało badać dalsze możliwości Protela. A pozostało do zbadania niemało. Nie wspomniałem wcale o możliwości trójwymiarowej wizualizacji płytki – z poziomu płytki poleceniem V – 3 (View, Board in 3D). Nic nie mówiliśmy o możliwościach programowania elementów PLD. Pominęliśmy wiele zagadnień dotyczących symulacji. Zachęcam Cię do samodzielnego „drążenia” Protela. Ale przede wszystkim wypracuj sobie własny styl pracy, począwszy od schematu ideowego, przez symulację do projektu płytki. Piotr Górecki
E l e k t ro n i k a d l a Ws z y s t k i c h
Podstawy
Wszystko o lutowaniu
część 1
Historia lutowania sięga głębokiej starożytności. Egipcjanie już ponad 2000 lat przed naszą erą umieli łączyć złoto i srebro. Ale prawdziwa epoka lutowania zaczęła się wraz z odkryciem cyny jako materiału łączącego. Poszczególne kultury, najpierw śródziemnomorskie, potem europejskie, stosowały i udoskonalały różne techniki lutowania ołowiu i brązu. Pozostały po tym liczne świadectwa, głównie w postaci biżuterii i przedmiotów domowego użytku. Przez długie lata lutowanie było niełatwą sztuką, przekazywaną z pokolenia na pokolenie w rodach rzemieślników. Radykalna zmiana nastąpiła dopiero w XX wieku w efekcie wynalezienia praktycznej lutownicy elektrycznej, co Niemcy przypisują Ernstowi Sachsowi, założycielowi znanej do dziś firmy ERSA. Lutowanie przestało być trudne i męczące, stało się dostępne dla każdego. Rozwój technik lutowania, głównie tzw. lutowania miękkiego, był też ściśle związany z rozwojem elektroniki.
Lutowanie miękkie
W procesie lutowania temperatura topnienia materiału łączącego (lutu, lutowia), jest niższa niż materiałów łączonych. Materiały łączone nie ulegają nawet częściowemu stopnieniu. Inaczej jest przy spawaniu, gdzie w procesie łączenia topiony jest nie tylko materiał łączący, ale i częściowo elementy łączone. Jeśli temperatura topnienia lutu jest niższa niż +450oC, mówimy o lutowaniu miękkim. Jeśli lut topi się w temperaturze powyżej +450oC, mamy do czynienia z lutem i lutowaniem twardym. W elektronice mamy do czynienia wyłącznie z lutowaniem miękkim – elementy elektroniczne lutuje się za pomocą spoiwa (lutu), zwanego potocznie cyną. Ponieważ w procesie lutowania topi się tylko spoiwa, a nie łączone elementy, kluczem do uzyskania wytrzymałego połączenia są właściwości tego spoiwa i warunki procesu.
Lutowanie
Ważną sprawą praktyczną jest zrozumienie istoty procesu lutowania. Dwa elementy miedziane: ścieżka na płytce i końcówka elementu, zostają trwale połączone za pomocą lutu, którego głównym składnikiem jest cyna. W procesie lutowania następuje stopienie lutu i wypełnienie przestrzeni między łączonymi elementami. Co bardzo ważne, nie jest to tylko warstwowe połączenie obcych materiałów, miedzi i cyny. A trwałość połączenia nie wynika z przyklejenia lutu (cyny) do powierzchni miedzi. Otóż roztopiona cyna ma
E l e k t ro n i k a d l a Ws z y s t k i c h
szczególną właściwość – rozpuszcza nieco miedzi i w efekcie na styku miedź-cyna tworzy się cieniuteńka warstewka pośrednia z miedzi rozpuszczonej w cynie. Należy podkreślić, że takie rozpuszczanie miedzi w płynnej cynie zachodzi w temperaturze dużo niższej niż temperatura topnienia miedzi (1083oC) i jest możliwe właśnie dzięki specyficznym właściwościom cyny. Po ostygnięciu uzyskuje się cieniutką warstewkę stopu cyny i miedzi, dobrze związaną zarówno z powierzchnią miedzi, jak i cyny. Tworzenie cienkiej warstwy takiego stopu przez oddziaływanie płynnej cyny na miedź (i inne materiały) nazywa się bieleniem, inaczej pobielaniem. Dopiero pobielenie, czyli rozpuszczenie niezmiernie cienkiej, powierzchniowej warstewki miedzi umożliwia powstanie trwałego, silnego połączenia przez powstanie struktury miedź-stop-lut-stop-miedź. W praktyce oznacza to, że temperatura i czas lutowania muszą być tak dobrane (nie za małe), żeby zdążył zajść proces tego powierzchniowego rozpuszczenia miedzi w cynie. Zazwyczaj proces pobielania zachodzi podczas właściwego lutowania, ale czasem, nie tylko w elektronice, celowo pobiela się powierzchnie łączonych materiałów przed właściwym lutowaniem. A o prawdziwości przedstawionego twierdzenia, że cyna rozpuszcza miedź, naocznie przekonuje się każdy posiadacz taniej lutownicy z najprostszym grotem miedzianym. Chodzi o popularne „wyżeranie” grota – z czasem na ładnym miedzianym grocie zawsze pojawiają się wżery i ubytki.
Topnik
Należy bardzo mocno podkreślić, że warunkiem dobrego lutowania jest właśnie wytworzenie wspomnianego stopu miedzi i cyny, a to jest możliwe tylko wtedy, jeśli płynna cyna dobrze zwilży i rozpuści powierzchniową warstewkę miedzi. Tymczasem miedź w powietrzu pokrywa się warstwą tlenku. Na szczęście tlenek ten jest niszczony w wysokiej temperaturze stopionego lutu dzięki obecności tak zwanego topnika. Topnik pełni podwójną rolę: po pierwsze, pomaga usunąć szkodliwe tlenki, po drugie, nie dopuszcza powietrza atmosferyczne- Rys. 1 go do strefy lutowania i tym samym zapobiega tworzeniu się nowego tlenku. Rysunek 1 pokazuje przekrój strefy połączenia podczas lutowania.
Rolę topnika (ang. flux, niem. flussmittel) często spełnia kalafonia, uzyskiwana z naturalnej żywicy sosnowej. Dla zwiększenia skuteczności do kalafonii dodawane bywają organiczne albo nieorganiczne aktywatory. Topnik wchodzi też w skład drutu (spoiwa) lu- Rys. 2 towniczego, używanego do lutowania ręcznego. Budowa drutu (spoiwa) lutowniczego z pojedynczym rdzeniem topnika pokazana jest na rysunku 2a. Druty przeznaczone do ręcznego lutowania zawierają nie jeden rdzeń topnika, tylko kilka, np. 3, 4 lub 5, jak pokazuje rysunek 2b. Czym więcej rdzeni (żyłek) topnika, tym lepiej. Wagowo topnik stanowi około 2,5% spoiwa, objętościowo znacznie więcej. Do lutowania elementów elektronicznych całkowicie wystarczy topnik zawarty wewnątrz drucika „cyny”. Przy mniej typowych pracach, zwłaszcza do pobielania drutów i końcówek, powszechnie dodatkowo wykorzystuje się kalafonię, dostępną w sklepach elektronicznych. Jednak ani typowy stop lutowniczy z topnikiem w środku, ani kalafonia nie pozwolą polutować wielu metali, np. elementów kadmowanych, chromowanych, niklowanych, a nawet stalowych. Lutowanie tych metali za pomocą cyny jest wprawdzie możliwe, ale nie wystarczy kalafonia z dodatkami – konieczne są bardziej agresywne topniki. Różne silne topniki dostępne są w postaci płynu lub pasty. Zawierają sole (często chlorki) lub kwasy organiczne i nieorganiczne. Wprawdzie pomogą polutować elementy z różnych metali, ale z ich użyciem w elektronice wiąże Fot.1
27
Podstawy się poważne ryzyko. Te agresywne substancje mogą z czasem całkowicie zniszczyć połączenie lub lutowane elementy. Dlatego po lutowaniu z użyciem agresywnych topników miejsce połączenia należy starannie oczyścić z resztek topnika. Nie dotyczy to lutowania z użyciem czystej kalafonii. W procesach montażu elementów SMD pomocne są topniki klasy „No Clean” – w żelu, dostępne w strzykawkach. Demontaż elementów z płyt o lekko utlenionej powierzchni ułatwiają topniki średnioaktywne, wygodnie dozowane z wyposażonych w pędzelek butelek polipropylenowych widoczne na fotografii 1. Ale nawet niektóre topniki na bazie kalafonii zawierające agresywne dodatki trzeba starannie zmyć, żeby usunąć resztki topnika – jeśli zostanie choć trochę, po kilku latach potrafią całkowicie zniszczyć połączenie, powodując korozje połączenia, ścieżek miedzianych i końcówek elementów. Często wcześniej, przed całkowitym zniszczeniem połączenia pojawią się inne problemy: niektóre topniki są higroskopijne. Resztki pozostawione w okolicach punktu lutowniczego powodują ich rozprzestrzenianie się i wytwarzanie tak zwanych dendrytów. Podobnie jak ich pierwowzory, mogą niejako rosnąć pomiędzy punktami lutowniczymi, elementami i ścieżkami. Wilgoć będzie wtedy powodować niekontrolowaną upływność między punktami i ścieżkami płytki – prąd popłynie przez wspomniane dendryty. Oczywiście może to okresowo zakłócać prawidłowe działanie urządzenia. Ryzyko to jest bardzo poważne, dlatego bardzo ostrożnie należy podchodzić do „cudownych” topników, zwłaszcza o nieznanym składzie, otrzymywanych od znajomych mechaników samochodowych, blacharzy, dekarzy i innych nieelektroników. Pozostawiając resztki takich topników na płytce drukowanej, na stykach czy końcówkach elemenFot. 2 tów, można sobie narobić wielkich kłopotów. Aby ich uniknąć, należy starannie usunąć resztki topnika za pomocą odpowiedniego rozpuszczalnika. W praktyce wybór rozpuszczalnika może być niełatwy, bo niektóre topniki można skutecznie zmyć wodą, inne alkoholem, a do jeszcze innych potrzebne są specyficzne rozpuszczalniki. Typowym, często stosowanym preparatem jest IsoClean (fotografia 2) znanej firmy Micro Care. Jest to
28
uniwersalny, bardzo efektywny preparat usuwający topniki na bazie kalafonii oraz topniki klasy „No Clean”. IsoClean wraz z bardzo bogatym wyborem podobnych środków oraz materiałów pomocniczych i przyborów (zamrażacze, sprężone powietrze, dozowniki, pałeczki, ściereczki, igły, itp.) dostępny jest w firmie RENEX, która oferuje także wiele rodzajów topników i past lutowniczych. Należy więc unikać nieznanych topników, a jeśli ścieżki i końcówki elementów nie chcą się połączyć, nie należy od razu sięgać po agresywny topnik, tylko usunąć rzeczywistą przyczynę: mechanicznie oczyścić zbyt silnie utlenione końcówki, odtłuścić ścieżki, itp. Generalnie do ręcznego lutowania elementów elektronicznych nie jest potrzebny żaden inny topnik oprócz zwyczajnej kalafonii.
Stop lutowniczy – „cyna”
Lut zwany też lutowiem znany jest jako „cyna”. W określeniu tym jest ziarno prawdy, ponieważ cyna (symbol chemiczny Sn) stanowi główny składnik stopu: 60...63%. Reszta to ołów (Pb). Dla praktyka wykres z rysunku 3 nie ma wielkiego znaczenia, jednak warto zwrócić uwagę na pewne ważne informacje. Po pierwsze temperatura topnienia ołowiu wynosi 327oC, a cyny 231oC. Jednak stop cyny i ołowiu ma dziwne właściwości, zależnie od zawartości obu składników. Przy zawartości cyny od 19,5 do 98% dla stopu charakterystyczna jest temperatura 183,3oC. Po przekroczeniu tej temperatury stop mięknie. I tu objawia się interesująca zależność. O ile w tej temperaturze stop mięknie, nie znaczy to, że staje się ciekły. Tylko stop o stosunku cyny i ołowiu równym 63%/37% staje się ciekły w temperaturze powyżej 183,3oC. Jest to tak zwany stop eutektyczny. Rys. 3
razu przechodzi ze stanu stałego do ciekłego, bez pośredniego stanu plastycznego i to w temperaturze +183,3oC. Do rozmaitych zastosowań wykorzystuje się stopy o różnej zwartości cyny i ołowiu. W elektronice stosuje się zazwyczaj albo stop eutektyczny (63% Sn, 37%Pb), albo stop 60% Sn i 40% Pb. Warto zauważyć, że przejście w fazę ciekłą następuje wtedy w temperaturze poniżej 200oC, co oznacza, że taki stop ma znacznie niższą temperaturę topnienia niż użyte składniki (Sn –231oC, Pb – 327oC). Fałszywy byłby jednak wniosek, że dodatek ołowiu ma jedynie na celu obniżenie temperatury topnienia. Obecność ołowiu polepsza liczne parametry stopu (spoiwa). Właśnie przy zawartości ołowiu około 40% korzystne są też inne właściwości, jak choćby przewodność elektryczna, wytrzymałość, twardość i plastyczność. Na krajowym rynku najczęściej spotyka się spoiwa oznaczone: LC63 (stop eutektyczny) LC60 (60% Sn, 40%Pb) a także spoiwa z niewielkim dodatkiem srebra czy miedzi LC63S1 (62,5% Sn, 36%Pb, 1,5% Ag) LC60M2 (60% Sn, 38%Pb, 2% Cu) Do lutowania ręcznego wykorzystuje się druty zawierające omówione wcześniej żyły topnika. Dostępne są wielordzeniowe druty, nazywane potocznie cyną lub drutem cynowym, o średnicy 0,25mm...3mm. Kiedyś standardem były druty o średnicy 2mm i 1,5mm. Obecnie do lutowania płytek drukowanych wykorzystuje się zwykle drut o średnicy 1mm, a do maleńkich elementów SMD drut o średnicy 0,5...0,7mm.
Lutowanie automatyczne
Od kilkudziesięciu lat wykorzystuje się klasyczne lutownice elektryczne. Te i inne lutownice ręczne zostaną omówione w następnym śródtytule. Pojawienie się płytek drukowanych umożliwiło automatyzację procesu lutowania przez tak zwane lutowanie na fali. Pojawiły się tzw. agregaty lutownicze. Fotografia 3 pokazuje automat do lutowania na fali. Wbrew prostym wyobrażeniom nie chodzi jedynie o to, by płytki przesuwające się pomału na taśmie montażowej zostały tylko Fot. 3
Przy innych proporcjach cyny i ołowiu występuje faza pośrednia: stop mięknie w temperaturze 183,3oC, ale nie staje się cieczą, tylko ma konsystencję plastyczną. Dopiero w jakiejś wyższej temperaturze następuje przejście w fazę ciekłą. Stop eutektyczny od
E l e k t ro n i k a d l a Ws z y s t k i c h
Podstawy zanurzone dolną stroną w ciekłej cynie. Nieprzypadkowo mówi się o lutowaniu „na fali” (ang. wave soldering, niem. Wellenloeten). W kadzi znajduje się roztopiona cyna, pompa (lub pompy) porusza cynę i na jej powierzchni tworzy się fala. Chodzi o grzbiet fali. W zależności od rozwiązania, fala może być pojedyncza lub podwójna. Dolna powierzchnia płytki z punktami lutowniczymi nie jest więc zanurzana w nieruchomej płynnej cynie, tylko wprowadzana w grzbiet fali. Płytka pomału (ok. 3m/min) przesuwa się na taśmie i czoło fali kolejno lutuje elementy, jak pokazuje w uproszczeniu rysunek 4. Rys. 4
Fot. 4
W przypadku fali podwójnej pierwszy grzbiet bieli końcówki, drugi dokonuje właściwego lutowania. A wcześniej płytka (lub wybrane fragmenty) poddawana jest działaniu płynnego topnika. W procesie lutowania bywa też wykorzystywany tzw. nóż powietrzny. Lutowanie za pomocą agregatów z falą wymaga uwzględnienia szeregu dalszych czynników, które nie występują przy przylutowaniu ręcznym, między innymi zdarza się, że proces odbywa się nie w powietrzu, tylko w gazie obojętnym. Lutować na fali można nie tylko elementy przewlekane według rysunku 4, ale też elementy SMD, wstępnie przyklejone do płytki właśnie od strony lutowania. Choć w trakcie lutowania przez chwilę w pełni są całkowicie zanurzone w płynnej cynie, nie ulegają one uszkodzeniu ze względu na stosunkowo niską temperaturę lutu (rzędu 240...250oC). Obecnie elementy przewlekane niemal całkowicie ustąpiły miejsca maleńkim elementom SMD. Do lutowania płytek zawierających wyłącznie elementy SMD zamiast lutowania na fali stosuje się powszechnie tak zwane lutowanie rozpływowe (ang. reflow soldering, niem. Reflow-Loeten). Automaty montażowe najpierw selektywnie nakładają na płytkę pastę lutowniczą. Potem umieszczane są elementy. Pasta lutownicza zawiera klej, topnik oraz sproszkowany lut. Bardzo szeroki wybór urządzeń, dzięki którym możliwe jest stworzenie mniej lub bardziej zaawansowanych linii produkcyjnych, oferuje amerykańska firma Automated Production Systems (RENEX), i obejmuje maszyny umożliwiające m.in.: przycinanie i kształtowania wyprowadzeń elementów i układów, nanoszenie masek, pasty lutowniczej i kleju na płytki drukowane, umieszczanie elementów i układów na płyt-
E l e k t ro n i k a d l a Ws z y s t k i c h
Fot. 5
kach, lutowanie oraz prace serwisowe i pomocnicze. Wśród automatów APS niezwykle ciekawie prezentuje się seria L, reprezentowana na fotografii 4 przez L60 – wyposażoną w aż 96 podajników, która zapewnia układanie wielu rodzajów elementów (0201, 0402, 0603, 0805, 1206, MELF, SO-28 do SO-8, SOT, SOIC, (fine pitch) QFP, BGA, large PLCC, socket i innych) z dokładnością ± 0,001” (±25,4m), przy maksymalnej wydajności 4800 cph (chip per hour). Bardzo istotnym elementem systemów APS jest dołączone w pełni konfigurowalne oprogramowanie. W przedstawiony sposób elementy są wstępnie przyklejane na swoich właściwych miejscach, ale nie mają jeszcze połączenia elektrycznego. Po podgrzaniu do temperatury topnienia lutu, pasta lutownicza topi się i wiąże trwale końcówki elementów z punktami lutowniczymi, a klej i topnik wypływają na boki. Do właściwego lutowania służy więc piec, mający możliwość precyzyjnej regulacji temperatury. Fotografia 5 pokazuje piec firmy APS. Taki piec do lutowania rozpływowego nie zawiera cyny. Do podgrzewania wykorzystuje się podczerwień, coraz częściej
jednak stosowane jest podgrzewanie gorącym powietrzem (bądź lepiej gazem obojętnym). Lutowanie rozpływowe ma wiele zalet w porównaniu z lutowaniem na fali. Wymaga jednak znacznie bardziej precyzyjnej kontroli temperatury, ponieważ wszystkie elementy przez stosunkowo długi czas wystawione są na działanie wysokiej temperatury rzędu 250oC. Aby uniknąć stresów cieplnych, żeby nie rozhermetyzować obudowy i nie uszkodzić struktury i połączeń, trzeba ściśle wypełnić zalecenia podawane w katalogach przez producentów elementów (szybkość grzania, czas lutowania, czas i szybkość chłodzenia). Przy lutowaniu ręcznym sytuacja jest korzystniejsza: przez sekundę czy dwie grzejemy tylko końcówkę i temperatura struktury i całej obudowy jest znacznie niższa od 250oC i nie zdąży się przegrzać. Przykładowo w układach scalonych w klasycznych obudowach (np. DIL) struktura jest połączona z końcówką za pomocą cieniutkiego złotego drucika. Ciąg dalszy w następnym numerze EdW. Zbigniew Orłowski
29
Szkoła Konstruktorów Rozwiązanie zadania powinno zawierać schemat elektryczny i zwięzły opis działania. Model i schematy montażowe nie są wymagane, ale przysłanie działającego modelu lub jego fotografii zwiększa szansę na nagrodę. Ponieważ rozwiązania nadsyłają Czytelnicy o różnym stopniu zaawansowania, mile widziane jest podanie swego wieku. Ewentualne listy do redakcji czy spostrzeżenia do erraty powinny być umieszczone na oddzielnych kartkach, również opatrzonych nazwiskiem i pełnym adresem. Prace należy nadsyłać w terminie 45 dni od ukazania się numeru EdW (w przypadku prenumeratorów – od otrzymania pisma pocztą).
Zadanie nr 86 Rok temu tematem zadania był licznik czasu, zliczający godziny, minuty i ewentualnie sekundy. Wtedy chodziło głównie o zaprojektowanie licznika czasu pracy. Okazuje się, że istnieje też zapotrzebowanie na różne inne urządzenia liczące czas. Na przykład Jan Dulian z Woli Mędrzechowskiej już dawno przysłał prośbę, by na łamach EdW pojawił się projekt elektronicznego kalendarza. Nie zegara, tylko właśnie elektronicznego kalendarza, wyświetlającego miesiące, dni tygodnia, ewentualnie też rok. Zdaniem pomysłodawcy, mógłby to nawet być kalendarz „ręczny”, gdzie ręczna ingerencja (przycisk?, przełączniki?) przypominałaby zrywanie kartek w klasycznym kalendarzu. Rozwinięciem takiej idei byłby elektroniczny kalendarz z pamięcią, mający za zadanie przypominać o różnych terminach i sprawach do załatwienia. Maciej Misiura z Kołobrzegu napisał: Prawie zawsze zapominamy o czymś ważnym, np. telefonie komórkowym, karcie kredytowej, itp. Na pewno wielu z nas uszczęśliwiłoby urządzenie przypominające o najważniejszych rzeczach. Mam na myśli zarówno proste układy z brzęczykiem, jak i mikroprocesorowe układy z wyświetlaczem LCD. A oto fragmenty e-maila od Tomasza Barjaszewskiego studiującego w Toruniu: ... wpadł mi do głowy pewien pomysł do Szkoły Konstruktorów. Wszystko zaczęło się od mojej kiepskiej pamięci. Często zapominam o wielu rzeczach, włączając w to również różnorodne rachunki (prąd, woda, telefon, TV...). To akurat nie jest przyjemne, zwłaszcza kiedy trzeba później płacić kary za zwłokę. Ale do rzeczy: proponuję zbudowanie
30
urządzenia przypominającego o zapłaceniu rachunków. Najlepiej byłoby zbudować go w oparciu o mikroprocesor (szansa dla BASKOM-owiczów ;)) Urządzenie powinno posiadać zegar oraz datę (np. w górnej części obudowy). Poniżej byłyby przegródki na kartki przypominające o zapłaceniu np. za TV czy prąd. Obok kartek mógłby się znajdować wyświetlacz, na którym pojawiałaby się liczba dni, jaka została do końca terminu zapłaty. Pod koniec terminu wyświetlane dni mogłyby migać, przypominając w ten sposób upływający termin. Po zapłaceniu rachunku przyciśniecie guzika wyłączałoby dany wyświetlacz. Przegródek na kartki mogłoby być np. 5 (oczywiście to już sprawa indywidualna). Zamiast kartek (elektronicy lubią mieć wszystko wyświetlane) można by pokusić się o zastosowanie wyświetlaczy, ale koszt urządzenia oraz skomplikowanie znacznie by wzrosło. Wyświetlacze natomiast powinny być oczywiście LED-owe, a nie LCD, tak żeby można było umieścić całość blisko np. drzwi wejściowych do domu. Wchodzący właściciel mieszkania widziałby od razu, co jest do zapłaty i ile ma jeszcze czasu. Nie wiem, czy spodoba wam się ten pomysł, ale ja osobiście zbuduje sobie takie urządzenie, jak już będę na własnym mieszkaniu :)) Podobne propozycje w listach i w mailach nadesłali też Jan Szustro z Wrocławia, Maciej Jagodziński z Węgorzewa oraz Krzysztof Lęborski z Zawodzia. Tak liczna grupa przekonała mnie ostatecznie, że trzeba wreszcie postawić taki temat jako zadanie w Szkole. Najpierw podaję temat zadania:
Zaprojektować atrakcyjny kalendarz elektroniczny i/lub elektroniczny terminarz.
Jak zwykle możliwości jest mnóstwo. Można przedstawić pomysł z wyświetlaczem LCD i mikroprocesorem. A może zrealizować duży wyświetlacz LED sterowany klasycznymi licznikami CMOS czy TTL? Generalnie widzę tu przynajmniej dwa kierunki: jeden to tylko kalendarz elektroniczny bez funkcji przypominania, a wtedy kluczową sprawą będzie atrakcyjny wygląd wyświetlacza. Taki elektroniczny kalendarz, ewentualnie bardziej rozbudowany zegar z kalendarzem chętnie zaprezentowałbym na łamach EdW jako projekt. Wyświetlacz można zrealizować na dużych klasycznych wyświetlaczach 7-segmentowych LED, 16-segmentowych wyświetlaczach LED, matrycach LED 7x5 punktów albo na pojedynczych diodach LED. W takim przypadku, ponieważ kluczową sprawą ma być wygląd, należy skupić się na wyświetlaczu. Druga możliwość to kalendarz z terminarzem, gdzie główną funkcją miałoby być przypominanie o sprawach do załatwienia. Zadecydujcie, czy taki układ może i powinien konkurować z komputerem, w którym dziecinnie łatwo jest zrealizować taki terminarz. Jeśli miałby to być tylko terminarzorganizer z małym wyświetlaczem LCD, pojawi się problem wprowadzania danych – tekstu (klawiatura?, pilot?). Wszystko wskazuje, że „goły” mały procesorek typu AVR 90S2313 czy 89C2051 nie poradzi sobie dobrze z takim zadaniem – trzeba dodać kostki zewnętrznej pamięci FLASH. Może więc pozostać przy dużym, efektownym wyświetlaczu LED i wspomnianych przez Czytelnika karteczkach z notatkami i tylko sygnalizować sprawy do załatwienia miganiem diody LED, ewentualnie porannym dźwiękiem brzęczyka. A może urządzenie powinno mieć dwa
E l e k t ro n i k a d l a Ws z y s t k i c h
Szkoła Konstruktorów wyświetlacze: jeden jak największy LED i drugi mały np. LCD 16x2? A czy miałby sens kalendarz-przypominacz współpracujący z komputerem przez łącze RS-232 (okresowo, do przesłania danych wprowadzanych przez klawiaturę komputera)? Choć pomysł nietypowego elektronicznego organizera może się wydać egzotyczny, uważam, że połączenie ładnego dużego elektronicznego kalendarza LED i terminarzem to godny uwagi pomysł. Godny uwagi, bo niesamowicie oryginalny – takich urządzeń nie ma w sklepach, więc naprawdę warto zastanowić się nad realizacją takiego urządzenia, które niewątpliwie będzie wielką atrak-
Rozwiązanie zadania nr 82 Temat zadania 82 brzmiał: Zaprojektować skuteczny budzik lub system budzenia. Nadesłaliście szereg interesujących prac. Temat zadania wywołał żywą reakcję, a oprócz rozwiązań układowych otrzymałem też zaskakująco wiele listów z opiniami i uwagami odnośnie samego budzenia. Oto jeden przykład: (...) chciałbym przedstawić mój (chyba nie tylko) problem wstawania: ja nie mam problemu z usłyszeniem dzwoniącego rano budzika. Potrafi mnie obudzić melodyjka zegarka ręcznego – może dlatego, że mieszkam na wsi i w nocy panuje idealna cisza. Kłopot pojawia się, kiedy dzwoniący budzik zostaje wyłączony, a ja natychmiast ponownie zasypiam, ponieważ nie zostałem dobrze rozbudzony. Chęć poleżenia „jeszcze chwilkę” jest tak duża, że nie mogę się jej oprzeć. (...) Reasumując – w moim przypadku problem tkwi w pełnym rozbudzeniu, a nie w samym obudzeniu. (...) wymyśliłem, że powinien to być układ, który dawałby wstającemu jakieś zadanie do rozwiązania, np. naciskanie pewnych (zmienianych) kombinacji klawiszy, wymagających wysiłku umysłowego, czyli rozbudzenia. Chodzi o to, by budzony człowiek wytężył swoją uwagę, co miałoby zapewnić pełne rozbudzenie. Cieszę się także z takich listów, niezawierających schematów i modeli, a analizę problemu i kierunek poszukiwania rozwiązań. Bo dobry konstruktor to nie osobnik biegły jedynie w schematach i układach. Dobry konstruktor przed rozpoczęciem pracy dokładnie i wnikliwie przeanalizuje problem z różnych stron i dopiero wtedy bierze się za układ. Przeciwieństwem są osoby, o których mówi się, że „myślą lutownicą”, czyli w nieposkromionym zapale od razu biorą się za wykonywanie modelu, po czym często okazuje się, że jego funkcjonalność i przydatność praktyczna pozostawiają wiele do życzenia. Oczywiście trzeba zachować równowagę między analizą projektu i wyborem
E l e k t ro n i k a d l a Ws z y s t k i c h
cją i zwróci uwagę każdego odwiedzającego mieszkanie posiadacza takiego cacka. Jestem przekonany, że wielką atrakcją okaże się już sam elektroniczny kalendarz wyświetlający dzień miesiąc, rok i dzień tygodnia. Może warto spróbować wykorzystać mniej popularne, ale dostępne, dwukolorowe wyświetlacze LED, albo dwukolorowe diody LED. Ponieważ temat jest trudniejszy niż zwykle, a wykonanie modelu może dla niektórych okazać się albo zbyt kosztowne, albo niemożliwe ze względu na brak elementów, tym razem spodziewam się zdecydowanej przewagi prac teoretycznych. Oczywiście z
największą przyjemnością zaprezentuję funkcjonalne modele w dziale E-2000 lub w Forum Czytelników. Jak zawsze zachęcam do wszelkich eksperymentów. Bardzo proszę też o sprawozdania z nieudanych prób. Za opisy takich zupełnie nieudanych prób też można otrzymać nagrody i punkty. Jak zwykle, dobre idee i pomysły teoretyczne również zostaną nagrodzone. Serdecznie więc zachęcam do udziału i w tym zadaniu. Czekam też na propozycje kolejnych tematów. Pomysłodawcy wykorzystanych zadań otrzymują nagrody rzeczowe (liczna grupa pomysłodawców bieżącego zadania otrzymuje książki).
schematu a próbami praktycznymi. Przesada w każdą stronę jest niekorzystna dla efektu końcowego. A teraz wracajmy do meritum. Zakres sposobów budzenia i propozycji układowych jest bardzo szeroki. Z jednej strony kilku uczestników zaproponowało elektrowstrząsy o rosnącej sile, z drugiej – jeden z uczestników wspomniał o budzeniu pocałunkiem. Jak zapewnia Czytelnik, ta ostatnia metoda jest bardzo skuteczna. Niestety, wykracza ona poza zakres naszej elektronicznej Szkoły Konstruktorów, więc nie poświęcimy jej uwagi. Natomiast zatrzymajmy się przy wspomnianych najbardziej drastycznych metodach. Pięciu uczestników przynajmniej rozważyło możliwość wykorzystania impulsów elektrycznych. Na przykład Bartłomiej Warzecha z miejscowości Hurko wśród kilku pomysłów zawarł następujący: (...) dodatkowym pomysłem jest wykonanie „łóżka elektrycznego”. W łóżko wplecione byłyby cienkie druciki miedziane co 8...15cm (np. za pomocą igły) w postaci zazębiających się „grzebieni”, do których dołączona byłaby cewka wysokiego napięcia (oczywiście z dobranymi parametrami – aby nie zagrażała życiu i nie spowodowała pożaru, ale by dobrze BUDZIŁAAAA!!!). Przewody należałoby umieścić w okolicach dolnych partii ciała – od stóp po pośladki (gorzej, gdy ktoś lubi spać na brzuchu – ewentualnie same nogi, ale istnieje możliwość podciągnięcia nóg przez upartego śpiocha). Cewka podawałaby „do łóżka” krótkie impulsy wysokiego napięcia powtarzane coraz częściej (0,5...5Hz). (...) Myślę, że pomysł należy potraktować z przymrużeniem oka (...), nie testowałem go. Brat opowiadał mi kiedyś, że w wojsku zrobili kawał – podłączyli do palców żołnierza, który
stale spał, prądnicę ze starego aparatu telefonicznego, takiego na korbkę, która w czasie kręcenia daje ok. 200V. Kiedy mocno ją zakręcili, delikwent natychmiast zerwał się na równe nogi i nie wiedział, co się stało (bo winowajcy mieli długie przewody i zdążyli uciec). Z opowiadania wiem, że efekt był piorunujący. Piotr Bechcicki z Sochaczewa przysłał schemat generatora wysokiego napięcia, gdzie zwiększana byłaby nie częstotliwość, tylko amplituda impulsów. Absolutnie nie zachęcam do podobnych eksperymentów, zwłaszcza z wykorzystaniem prądnic i cewek większej mocy – mogą być przyczyną zaskakująco silnych urazów, a nawet wypadków zagrażających życiu. Schemat zamieszczam na rysunku 1 tylko z uwagi na pomysł układowy stopniowego zwiększania napięcia. Jakub Świegot ze Środy Śl. proponuje wykorzystać elektrowstrząsy tylko jako ostateczność, gdy nie poskutkują łagodniejsze środki.
Rys. 1 Rys. 2
31
Szkoła Konstruktorów A te łagodniejsze środki to przystawki zwiększające głośność budzika. Rysunek 2 pokazuje propozycję układową Jakuba – przekaźnik włączający generator impulsów wysokiego napięcia zostaje włączony z opóźnieniem wyznaczonym przez PR1, C1, a wcześniej pracuje brzęczyk piezo. Co prawda układ należy zmodyfikować (budzik nie daje stanu wysokiego, tylko zwiera styk, przekaźnik nie powinien być sterowany wprost z wyjścia bramki, warto dodać obwód przerywania dźwięku brzęczyka piezo), niemniej ogólnie biorąc, idea takiego dwustopniowego budzenia jest godna uwagi. 12-letni Karol Sikora z Koszalina przysłał schemat głośnej przystawki z dwoma przetwornikami PCA-100 (Sikora.gif). Schematy innych przystawek nadesłali znacznie starsi Zbigniew Szczerbik z Pilicy, Krzysztof Biedroń z Rychnowa i Jacek Jankowski z Poznania. We wszystkich przypadkach przystawki są proste, a do ich uruchamiania wykorzystywany jest styk budzika. W takich przypadkach warto pomyśleć o zasilaniu i poborze prądu – czy przystawka ma działać przez cały, dość długi czas zwarcia styku budzika, czy np. tylko przez 3 minuty? Kilku Kolegów zaproponowało układy z mikrofonami, w tym niektóre niemal żywcem przerysowane z literatury m.in. z EdW. Rysunek 3 pokazuje oryginalną propozycję Roberta Jaworowskiego z Augustowa. Dźwięk budzika po wzmocnieniu w dwóch stopniach z tranzystorami T1, T2 podawany jest na dekoder tonu NE567 i powoduje włączenie triaka, a tym samym zewnętrznego urządzenia, np. lampy, radia czy jakiegoś sygnalizatora. Dzięki kostce NE567 tylko sygnał budzika spowoduje reakcję układu. Pomysł jest dobry, jednak zaproponowany układ należałoby być może zmodyfikować, by zapewnić niezawodną, ciągłą reakcję układu na przerywany sygnał budzika. Rysunek 4 to schemat autorstwa Piotra Podczarskiego z Redecza Wlk. W spoczynku głośnik pełni rolę mikrofonu, a po pojawieniu się sygnału budzika pracuje w swej Rys. 3
32
głównej roli. Bramka U1D pełni rolę wzmacniacza przebiegów zmiennych. Potencjometrem P1 należy ustawić napięcie tuż poniżej progu przełączania bramki, przez co w spoczynku na wyjściu bramki U1A będzie stan wysoki. Bramki U1B, U1C tworzą klasyczny uniwibrator o czasie około 10s, wyzwalany stanem niskim. Obwód RxCx blokuje odbiornik na czas o około sekundę dłuższy niż czas generowania sygnału budzenia. Warto dokładnie przeanalizować działanie tego prostego, interesującego układu. Rys. 4
Kilka osób zasygnalizowało problem ponownego zasypiania i przedstawiło mniej lub bardziej dopracowane pomysły i propozycje różnych przystawek zwiększających pewność rozbudzenia. Na przykład dwie osoby, Jerzy Szpaczyński z Wielopola i Konrad Mikus z Stanisławowa, chciałyby dodać układ wykrywania obecności śpiocha w łóżku. Ma to rozwiązać problem, gdy delikwent po sygnale nie wstał z łóżka albo wstał, wyłączył budzik i znów się położył. Jeden Kolega, Marcin Bielecki z Zagościńca proponuje umieścić wyłącznik sygnału dzwonka na zewnątrz mieszkania lub nawet na zewnątrz budynku, co ma zmusić do wstania i ubrania się, a przekazanie sygnału z wyłącznika do centralki miałoby odbywać się drogą radiową. Pomysł dyskusyjny, ale na pewno godny uwagi. Spośród innych prac można jeszcze wspomnieć o prostym komputerowym programiku do budzenia (QBASIC na archaicznym PC-cie 486 DX1/33MHz 8 MB RAM) nadesłanym przez Marka Arenta z Warszawy (Arent.zip). Marek napisał, że aby zwiększyć głośność takiego prostego k o m p u t e ro w e g o budzika, należy zamiast PC Speakera umieścić głośnik 2W/25Ω, co ma dać doskonały efekt.
Rozwiązania praktyczne
Na fotografii 1 pokazany jest model nadesłany przez 13-letniego Radosława Krawczyka z Rudy Śl. Proponuje on dołączenie przekaźnika (5V, z diodą zabezpieczającą) do nóżek 9, 5 GAMEPORT-u w komputerze PC, gdzie po starcie komputera pojawia się napięcie zasilające +5V (Krawczyk.gif). Włączenie przekaźnika włączy syrenę alarmową (można też bezpośrednio sterować syrenę z gniazda GAMEPORT-u). Radek pisze, że w BIOS-ie komputera w sekcji POWER MENAGEMENT SETUP trzeba włączyć alarm
Fot. 1 Model Radosława Krawczyka Fot. 2 Układ Michała Koziaka
(Enable) w linii RESUME BY ALARM (lub podobnej np. RESUME BY RTC ALARM) oraz wprowadzić datę i porę budzenia. Michał Koziak z Sosnowca przysłał prosty model pokazany na fotografii 2. Jest to przystawka dołączana do styku budzika, który poda zasilanie na tę „dopałkę” (trzeba wtedy odłączyć oryginalny brzęczyk). Model
E l e k t ro n i k a d l a Ws z y s t k i c h
Szkoła Konstruktorów zapewnia dużą głośność, a pobór prądu można radykalnie zmniejszyć, stosując przetwornik PCA-100, a w układzie (Koziak.gif) warto chyba zmienić „kolejność” generatorów, by uzyskać sygnał 3,5kHz, kluczowany przebiegiem o częstotliwości rzędu 1Hz. Wątpliwości budzi też „elektrolit” C3, pozostający stale bez napięcia. Fotografia 3 pokazuje przystawkę Bartka Czerwca z Mogilna. Wymaga ona dołączenia zarówno do budzika, bo wykorzystuje jego styk, jak i do zewnętrznego wzmacniacza, np. z odbiornika radiowego, gdzie włączana jest w miejsce potencjometru. Po zwarciu styku budzika z głośnika słychać dźwięk o narastającej głośności – przystawka pełni w sumie rolę pięciostopniowego regulatora głośności. Układ zaproponowany Fot. 3 Przystawka Bartłomieja Czerwca
Fot. 4 Model Tomasza Jadascha Rys. 5
przez Bartka (Czerwiec.gif) można znacznie uprościć, niemniej prosty sposób regulacji z kostką 4017 i tranzystorami może zdać egzamin w przypadku regulacji prostokątnego sygnału z budzika. Gorzej będzie z klasycznymi, zmiennymi sygnałami analogowymi. Na fotografii 4 pokazany jest model Tomasza Jadascha z Kęt. Tomek bardzo często przysyła rozwiązania stałych konkursów, a tym razem pierwszy raz wykonał i przysłał model. Ma to być dodatek do wykonanego wcześniej zegara-budzika z kostką MC1206. Pełny schemat pokazany jest na rysunku 5. Także i w tym przypadku zastosowany sposób regulacji głośności zda egzamin tylko w przypadku sygnałów prostokątnych o dodatniej biegunowości (z kostki UM66), a nie typowych przemiennych sygnałów audio, więc przedstawionego rozwiązania bloku regulacji, który w tym przypadku jest prawidłowy, nie należy bezmyślnie kopiować w innych zastosowaniach. Fotografia 5 pokazuje model Jarosława Tarnawy z Godziszki. To też jest podobna przystawka do budzika. Rysunek 6 pokazuje
Rys. 6 Fot. 5 Układ Jarosława Tarnawy
Fot. 6 Przystawka Marcina Wiązani
obwód regulacji i wzmacniacza mocy. Jarek zastosował do regulacji klucze analogowe kostki 4066, więc po niewielkiej modyfikacji (dodanie obwodu polaryzacji, żeby pracować na poziomie połowy napięcia zasilania) można taki sposób wykorzystać też do regulacji głośności klasycznych sygnałów audio. Stały uczestnik Szkoły – Marcin Wiązania z Buska Zdroju przysłał model pokazany na fotografii 6.
E l e k t ro n i k a d l a Ws z y s t k i c h
33
Szkoła Konstruktorów To również jest przewodowa przystawka o narastającej głośności dźwięku. Kieruję układ do Pracowni i po sprawdzeniu najprawdopodobniej pojawi się w dziale Forum Czytelników. Fotografia 7 pokazuje prototyp „Mówiącego AVR-a” Michała Stacha z Kamionki Małej. Oto fragment listu: ...gdyby tak zamiast wrzeszczącego budzika słyszeć z rana świergot ptaków, albo głos kogoś bliskiego... (...) najprostszą realizacją jest wykorzystanie kostki z rodziny ISD. (...) ja chciałbym zaproponować „gadający AVR”.
goś starego śmigła (bodajże ze starej suszarki do włosów), a silnik z samochodu – zabawki. Otwór w boku pudełka wykonany jest w połowie jego wysokości. Nalanie wody do poziomu otworu gwarantuje odpowiednią zasobność wody na około 10 sekund pompowania. Do otworu wsadzona jest rurka skierowana zgodnie z ruchem wirującej wody. Tak zbudowana pompa nie ma zbyt wygórowanych osiągów, ale zapewnia strumień wody odstający około 5 cm od końca rurki. Fotografia 8 pokazuje model pompy, a rysunek 7 – proponowany schemat sterownika. Choć można sobie wyobrazić, że budzony delikwent może szybko naciągnąć kołdrę na głowę, pomysł jest godny uwagi.
Fot. 7 Prototyp Michała Stacha
Tym AVR-em jest kostka 90S8535 współpracująca z pamięcią zewnętrzną. Michał lojalnie przyznał, że urządzenie nie jest jeszcze do końca dopracowane i nie przysłał modelu, tylko fotografie oraz opis. Jeśli urządzenie powstanie, chętnie zaprezentujemy je na łamach EdW, przy czym zamiast pamięci RAM chyba warto zastosować FLASH-a. Dość radykalną i kontrowersyjną metodę budzenia proponuje Dariusz Drelicharz z Przemyśla. Oto fragmenty listu: Moim zdaniem budzenie powinno być skuteczne tylko dla opornego śpiocha, a nie dla całej rodziny (nie wspominając o sąsiadach). I w tym właśnie kierunku poszły moje rozważania nad zadaniem. Idea jaką zdecydowałem się wykorzystać może wydawać się nieco radykalna, ale za to wydaje się być w 100% skuteczna :) Moim sposobem na śpiocha jest... strumień zimnej wody! Mała pompka wodna sprzężona z budzikiem rozpoczyna pompowanie wody w przypadku braku reakcji śpiącego na sygnał budzika. Mogłoby wyglądać to tak: Budzik zaczyna dzwonić o wyznaczonej porze. Jeżeli teraz nasz śpioch obudzi się i wyłączy budzik – nic mu nie grozi. Jeżeli jednak sygnał budzika nie spełni swego zadania przez powiedzmy 1 minutę – włącza się pompka wodna. (...) Tym razem skoncentrowałem się na części mechanicznej, jej wykonaniu i testowaniu. Część elektroniczna powstała tylko na papierze. Wiedząc już co chcę zbudować (pompkę wodną), musiałem zdecydować się na jej rodzaj. Za pompą odśrodkową przemawia prosta zasada działania, a co za tym idzie łatwa budowa i duża niezawodność działania. (...) W modelu zbiornik zrobiony jest z pudełka po kremie, łopaty z jakie-
34
Rys. 7 Fot. 8 Pompa Dariusza Drelicharza
Podsumowanie
Jestem przekonany, że jak zwykle po rozwiązaniu zadania Szkoły, część z Was zechce wykorzystać przedstawione pomysły i zrobić
podobne urządzenia. Weźcie pod uwagę, iż w wielu przypadkach nie chodzi o urządzenie do systematycznego, codziennego budzenia, tylko układ, który zagwarantuje niezawodne obudzenie w szczególnych przypadkach – gdy wyjątkowo zależy nam na skutecznym obudzeniu, a zaspanie miałoby wyjątkowo przykre skutki. Na pewno każdy z nas miewa takie sytuacje w życiu (ważny wyjazd, spotkanie, egzamin). Jeśli układ ma być niezawodny, trzeba przemyśleć sposób zasilania i możliwość przypadkowego wyłączenia, także rano przez śpiocha. Nie wydaje mi się, żeby dobrym pomysłem były elektrody mocowane do ciała, mające służyć do budzenia elektrowstrząsami i to nie tylko ze względów bezpieczeństwa. Czytając propozycje drastycznych metod budzenia, zastanawiałem się, czy pomysłodawcy przewidują je dla siebie, czy dla innych... Znaczna część uczestników podkreślała, że problemem nie jest samo obudzenie, tylko pełne wybudzenie i wstanie z łóżka. Optymalnym rozwiązaniem wydaje się następujący system łączący w sobie pomysły różnych uczestników: w pobliżu łóżka powinien być umieszczony tylko sygnalizator: głośnik, przetwornik piezo, ewentualnie wspomniana silna lampa. Umieszczenie sygnalizatora akustycznego w pobliżu łóżka pozwoli zachować skuteczność budzenia przy ograniczonej głośności dźwięku, mogącej przeszkadzać sąsiadom. Sygnalizator powinien jednak być tak skonstruowany i umieszczony, żeby nie można go było w prosty sposób wyciszyć czy zniszczyć, a można się tu spodziewać różnych destrukcyjnych reakcji. Sam budzik czy układ stero-
Punktacja Szkoły Konstruktorów Marcin Wiązania Busko Zdrój . . . . . . . . . . 136 Dariusz Drelicharz Przemyśl . . . . . . . . . . . . 88 Mariusz Chilmon Augustów . . . . . . . . . . . . 83 Michał Stach Kamionka Mała . . . . . . . . . . . 72 Roman Biadalski Zielona Góra . . . . . . . . . . 46 Jarosław Chudoba Gorzów Wlkp. . . . . . . . . 46 Marcin Malich Wodzisław Śl. . . . . . . . . . . . 44 Jarosław Tarnawa Godziszka . . . . . . . . . . . 41 Krzysztof Kraska Przemyśl . . . . . . . . . . . . . 37 Bartłomiej Radzik Ostrowiec Św. . . . . . . . . 37 Piotr Romysz Koszalin . . . . . . . . . . . . . . . . 35 Michał Koziak Sosnowiec . . . . . . . . . . . . . 34 Piotr Wójtowicz Wólka Bodzechowska . . . . 33 Dariusz Knull Zabrze . . . . . . . . . . . . . . . . . 29 Filip Rus Zawiercie . . . . . . . . . . . . . . . . . . 28 Szymon Janek Lublin . . . . . . . . . . . . . . . . 26 Rafał Stępień Rudy . . . . . . . . . . . . . . . . . . 26 Piotr Dereszowski Chrzanów . . . . . . . . . . . 24 Dawid Lichosyt Gorenice . . . . . . . . . . . . . . 23
Radosław Ciosk Trzebnica . . . . . . . . . . . . . 22 Mariusz Ciołek Kownaciska . . . . . . . . . . . . 20 Jakub Kallas Gdynia . . . . . . . . . . . . . . . . . 20 Jacek Konieczny Poznań . . . . . . . . . . . . . . 20 Michał Pasiecznik Zawiszów . . . . . . . . . . . 18 Piotr Bechcicki Sochaczew . . . . . . . . . . . . 17 Bartek Czerwiec Mogilno . . . . . . . . . . . . . . 17 Radosław Koppel Gliwice . . . . . . . . . . . . . 17 Łukasz Cyga Chełmek . . . . . . . . . . . . . . . . 16 Jakub Jagiełło Gorzów Wlkp. . . . . . . . . . . . 16 Robert Jaworowski Augustów . . . . . . . . . . . 16 Andrzej Sadowski Skarżysko Kam. . . . . . . . 16 Arkadiusz Zieliński Częstochowa . . . . . . . . 16 Maciej Jurzak Rabka . . . . . . . . . . . . . . . . . 15 Ryszard Milewicz Wrocław . . . . . . . . . . . . 15 Emil Ulanowski Skierniewice . . . . . . . . . . . 15 Artur Filip Legionowo . . . . . . . . . . . . . . . . 14 Jakub Świegot Środa Wlkp. . . . . . . . . . . . . 14 Aleksander Drab Zdziechowice . . . . . . . . . . 13
Wojciech Macek Nowy Sącz . . . . . . . . . . . 13 Zbigniew Meus Dąbrowa Szlach. . . . . . . . . 12 Piotr Podczarski Redecz . . . . . . . . . . . . . . 12 Paweł Szwed Grodziec Śl. . . . . . . . . . . . . . 12 Krzysztof muda Chrzanów . . . . . . . . . . . . . 12 Sebastian Mankiewicz Poznań . . . . . . . . . . 11 Andrzej Szymczak Środa Wlkp. . . . . . . . . . 11 Marcin Dyoniziak Brwinów . . . . . . . . . . . . . 10 Tomasz Gajda Wrząsawa . . . . . . . . . . . . . . 10 Dawid Kozioł Elbląg . . . . . . . . . . . . . . . . . 10 Bartek Stróżyński Kęty . . . . . . . . . . . . . . . . 10 Mariusz Ciszewski Polanica Zdr. . . . . . . . . . . 9 Filip Karbowski Warszawa . . . . . . . . . . . . . . 9 Witold Krzak ywiec . . . . . . . . . . . . . . . . . . . 9 Piotr Kuśmierczuk Gościno . . . . . . . . . . . . . 9 Kamil Urbanowicz Ełk . . . . . . . . . . . . . . . . . 9 Michał Waśkiewicz Białystok . . . . . . . . . . . . 9 Piotr Wilk Suchedniów . . . . . . . . . . . . . . . . 9
E l e k t ro n i k a d l a Ws z y s t k i c h
Szkoła Konstruktorów wania powinien być umieszczony jak najdalej od łóżka, by w celu wyłączenia dźwięku delikwent musiał wstać, przespacerować się, np. do łazienki czy do kuchni. W przypadku zatwardziałych śpiochów wykazujących nieprzepartą chęć powrotu do łóżka konieczne byłoby obligatoryjne np. trzykrotne co dwie minuty powtarzanie sygnału budzenia, które za każdym razem wymagałoby interwencji budzonego. Tu stopniowanie głośności czy wstępna cichsza sygnalizacja byłyby jak najbardziej pożądane. Całkowite wyłączenie za jednym razem byłoby niemożliwe – system wymagałby trzykrotnego naciśnięcia przycisku w odstępach kilkuminutowych. Jeśli więc budzony delikwent wróci jednak do łóżka, będzie musiał jeszcze dwa razy wstawać,
co powinno go wybudzić. Jeśli będzie już się ubierał i brał prysznic w łazience lub przygotowywał sobie jedzenie w kuchni, bez kłopotu wyłączy sygnał umieszczonym właśnie tam przyciskiem. Taki system wymagałby wprawdzie znacznego nakładu pracy, w tym przeciągnięcia kabla z łazienki (kuchni) do sypialni, niemniej chyba tylko w ten sposób można zapewnić skuteczny powrót do dziennej aktywności. Jeśli ktoś nie tylko stworzy, ale też wypróbuje taki system, mógłby opisać układ i spostrzeżenia dotyczące eksploatacji – chętnie przedstawimy je na łamach EdW. Nie jestem natomiast entuzjastą niesprawdzonych koncepcji, dlatego nie zachęcam do nadsyła-
nia modeli niesprawdzonych przez dłuższy okres w praktyce. Serdecznie gratuluję udziału w zadaniu 82, które jak się okazało, wcale nie było takie łatwe. Nagrodę otrzymuje tym razem tylko Michal Stach. Upominki otrzymują: Bartłomiej Warzecha, Tomasz Jadasch, Michał Koziak, Marcin Wiązania i Dariusz Drelicharz. Aktualna punktacja zawarta jest w tabeli. Dodatkowo dwa punkty dopisuję Szymonowi Jankowi z Lublina, który rozwiązanie zadania 81 umieścił w kopercie z napisem Zadanie 82. Serdecznie zapraszam do udziału w rozwiązywaniu kolejnych zadań i do nadsyłania prac w terminie. Wasz Instruktor Piotr Górecki
Co tu nie gra?
- Szkoła Konstruktorów klasa II
Rozwiązanie zadania 82
W EdW 12/2002 na stronie 37 zamieszczony był schemat prostego automatu akwariowego, nadesłany jako rozwiązanie zadania 77. Schemat pokazany jest na rysunku A A
Bardzo się cieszę, że napłynęło wyjątkowo dużo odpowiedzi, w ogromnej większości trafnych, choć nie opisujących wszystkich usterek. Gratuluję więc uczestnikom konkursu i przykro mi, że nie mogę nagrodzić wszystkich wnikliwych Czytelników, którzy nadesłali naprawdę dobre rozwiązania. Z satysfakcją odnotowuję fakt, że napisał także młodziutki Autor oryginalnego układu, który starał się poprawić własny układ – to bardzo dobrze, że wszyscy traktujemy drugą klasę Szkoły Konstruktorów nie jako okazję do wytknięcia błędów, tylko do rzetelnej nauki i ćwiczenia wnikliwości. A oto zgłoszone przez Was usterki i błędy. 1. Najdrobniejszą usterką było na schemacie odwrócenie symbolu diody w mostku prostowniczym – to błąd rysunkowy, niewarty uwagi.
E l e k t ro n i k a d l a Ws z y s t k i c h
2. Słusznie zwróciliście uwagę, że przy obecnych cenach elementów, zastosowanie zasilacza niestabilizowanego nie ma uzasadnienia. Z kilku względów należałoby dodać stabilizator, np. 7812. Zwiększy on odporność na zewnętrzne zakłócenia i zapewni powtarzalność progów przełączania. 3. W układzie wykonawczym sterowania oświetlenia pomysłodawca zapomniał dodać diodę prostowniczą równolegle do cewki przekaźnika PK. Dioda ta likwiduje przepięcia na cewce przekaźnika i jest niezbędna do ochrony tranzystora. 4. Połączenie obwodów wykonawczych przekaźnika PK jest nieprawidłowe. Być może chodzi o przypadkowy błąd rysunkowy, może o brak staranności (niedbalstwo), a może młodziutki Autor nie zna dobrze budowy klasycznego przekaźnika. Zazwyczaj przekaźnik w stanie spoczynku rysujemy na schematach jak na rysunku B – dobrze odzwierciedla to rzeczywistość. W spoczynku, gdy przez cewkę nie płynie prąd, kotwica jest w położeniu spoczynkowym i zwarte są tak zwane styki bierne. Gdy przez cewkę popłynie prąd, zadziała ona jak elektromagnes, przyB ciągnie kotwicę, a ta rozewrze styk bierny i zewrze styk czynny. Narysowanie przekaźnika jak na rysunku B nie
pozostawia wątpliwości, że działający przekaźnik przyciąga kotwicę. Natomiast schemat według rysunku A nie tylko nie jest zgodny z normami i przyjętą konwencją, ale też może wprowadzić w błąd, sugerujac, że działajacy przekaźnik odpycha kotwicę. 5. Warto dodać rezystor ograniczający, np. 4,7kΩ, w szereg z potencjometrem POT (470kΩ), by nie narażać na zniszczenie fotorezystora LDR w razie oświetlenia go silnym światłem przy przypadkowym skręceniu potencjometru POT na zero. Kilka osób zaproponowało dodanie obwodu opóźniającego, w najprostszym przypadku kondensatora równoległego do potencjometru POT. Chodzi o zapobieżenie zbyt częstym załączeniom PK w przypadku chwilowych, przypadkowych zmian oświetlenia. Rzeczywiście propozycja jest dobra. Zamiast jednego kondensatora lepiej jednak dodać obwód RC według rysunku C. C
Można też śmiało zwiększyć wartość rezystora R5 z 1,2kΩ do 4,7kΩ (2,2...6,8kΩ), bo tranzystor T1 będzie miał wzmocnienie powyżej 100, a prąd cewki przekaźnika PK nie powinien przekroczyć 50mA (RM81...83/12V). 6. Autor niepotrzebnie zastosował bramkę C oraz negator z elementami T2, R2, R3. Bramka NAND plus te elementy to po prostu dwa negatory połączone w szereg – w sumie daje
35
Szkoła Konstruktorów to zwykły bufor. Można śmiało wyrzucić te elementy i wyjście bramki B podłączyć bezpośrednio do wejścia bramki D (generatora). Praktycznie wszyscy uczestnicy dostrzegli tę niedoróbkę, jednak nie wszyscy przeanalizowali działanie obwodu sygnalizacji temperatury. Wedle opinii Autora układ załącza światło wieczorem i sprawdza, czy temperatura wody nie jest zbyt niska. (...) Termistor NTC ma w temperaturze ok. 20oC opór około 10kΩ. Gdy temperatura wody spadnie poniżej zadanej potencjometrem POT2, wtedy na wyjściu bramki B pojawi się stan wysoki. Spowoduje to otwarcie tranzystora T2, a potem podanie potencjału masy na wejścia bramki C pracującej jako inwerter. Na jej wyjściu pojawi się stan 1 i zacznie pracować generator zbudowany na bramce D. W rytm pracy generatora zacznie pikać brzęczyk piezo, który jest sterowany przez tranzystor T3. Brzęczyk wyłączy się, gdy (...) podgrzejemy wodę. 7. Rzeczywiście po obniżeniu temperatury zacznie pracować generator z bramką D. Błąd polega na tym, że w stanie spoczynku, gdy temperatura jest prawidłowa, na wyjściu bramki D utrzymuje się stan wysoki, który na stałe włączy tranzystor T3 i brzęczyk. Niewątpliwie błąd ten trzeba usunąć. W najprostszym przypadku można zmienić tranzystor na PNP i usunąć niepotrzebny wtedy rezystor R6 według rysunku D. Można też spróbować usunąć tranzystor i dołączyć brzęczyk wprost do wyjścia bramki D. D
8. Ale układ według rysunku C okaże się nieprzydatny w praktyce. Szczególne gratulacje należą się tym uczestnikom, którzy zwrócili na to uwagę. Po pierwsze po obniżeniu temperatury wody układ włączy piszczyk na długo – będzie on „pikał” nawet przez kilka godzin, aż grzałka podgrzeje kilkadziesiąt do kilkuset litrów wody. Może też zacząć działać w nocy, budząc domowników lub podczas ich nieobecności, denerwując sąsiadów. Część uczestników zaproponowała usunięcie generatora i zastosowanie przekaźnika w E
36
miejsce brzęczyka. Ich zdaniem rozwiąże to problemy i zapewni pełną automatykę. Niestety, zaproponowane przez niektórych uproszczone rozwiązanie według rysunku E jest absolutnie nie do przyjęcia. Dochodzimy bowiem do ważnej sprawy – histerezy wejściowej bramki B. 9. Zarówno w przypadku sygnalizatora akustycznego, jak i regulatora według rysunku E, trzeba wziąć pod uwagę sprawę napięć progowych bramki Schmitta. Jak wiadomo, poszczególne egzemplarze układów scalonych różnią się znacznie wartościami napięć progowych. Zwłaszcza w przypadku zasilania napięciem niestabilizowanym będzie to wiązać się z dodatkowymi błędami. W układzie regulatoF ra z rysunku E problem jest poważniejszy – szerokość pętli histerezy egzemplarzy pochodzących od różnych producentów będzie się różnić nawet kilkakrotnie. Tym samym użytkownik zdany jest na przypadek i nie ma wpływu na szerokość pętli histerezy, a więc temperatury progowe załączania i wyłączania grzałki. Nawet gdyby ktoś dobrał egzemplarz układu scalonego 4093 do czułości termistora, by uzyskać prawidłową histerezę regulatora rzędu jednego...dwóch stopni Celsjusza, taki układ jest zły. Po pewnym czasie kostka 4093 lub termistor mogą się uszkodzić. Wymiana ich na inne egzemplarze może spowodować radykalną, wręcz niedopuszczalną zmianę właściwości układu (histerezy). Taki uproszczony układ można dopuścić w przypadku sterownika światła z rysunku C – tu zmiany progu zadziałania i histerezy nawet o kilkadziesiąt procent nie mają żadnego znaczenia. Po prostu oświetlenie będzie włączane nieco wcześniej lub później. W przypadku regulacji temperatury wymagana jest zdecydowanie większa precyzja i powtarzalność parametrów. Wspomniało o tym tylko dwóch uczestników: Łukasz Witkowski i Paweł Konopacki z Gliwic. Oto fragment listu Pawła: Kolejną wadą przedstawionego schematu jest sposób wykrywania temperatury - bramki CMOS ze Schmittem na wejściu nie są najstabilniejsze - być może wystarczą do rozróżniania jasne/ciemno w obwodzie fotorezystora, ale są za mało dokładne, aby wykryć zmiany tempe-
ratury. Jeśli wymagana byłaby lepsza dokładność i inna histereza niż taka, jaką może zapewnić nam bramka, warto byłoby zastosować komparator analogowy na jakimś wzmacniaczu operacyjnym. Wtedy można by albo zastosować dyskryminator okienkowy i uruchamiać alarm, gdy temperatura będzie za niska lub za wysoka, albo zrobić typowy termostat (z histerezą!!) i sterować nim grzałką (za pośrednictwem przekaźnika ma się rozumieć). Nagrody-upominki za najlepsze odpowiedzi otrzymują: Paweł Konopacki Gliwice, Jerzy Samoraj Waplewo, Łukasz Witkowski.
Zadanie 86
Na rysunku F pokazany jest układ nadesłany jako rozwiązanie jednego z poprzednich zadań Szkoły. Ma to być układ mikroprocesorowej, dwukanałowej laserowej bariery świetlnej do naprowadzania samochodu podczas wjazdu do garażu i automatyczny sterownik oświetlenia garażu. Kontaktron w drzwiach garaży zapewnia włączenie układu i włączenie na stałe modułów laserowych po otwarciu drzwi. Dwa moduły laserowe oświetlają potem światłem ciągłym współpracujące fotorezystory. Jeśli samochód przetnie jeden z torów świetlnych, włączy się brzęczyk i zaświeci dioda LED podświetlająca strzałkę, sugerującą zmianę kierunku jazdy. Jak zwykle pytanie brzmi:
Co tu nie gra?
Proszę o możliwie krótkie odpowiedzi. Czy idea jest błędna, czy tylko chodzi o drobną usterkę? Kartki, listy i e-maile oznaczcie dopiskiem NieGra86 i nadeślijcie w terminie 45 dni od ukazania się tego numeru EdW. Autorzy najlepszych odpowiedzi otrzymają upominki. Piotr Górecki
E l e k t ro n i k a d l a Ws z y s t k i c h
46 Ćwiczenie 12
M1
Mikroprocesorowa Ośla łączka
Stoper
E l e k t ro n i k a d l a Ws z y s t k i c h
A
T E C H N I K A L I A
Dwa sprzętowe liczniki procesora ‘2313 są nad wyraz pożyteczne i warto z nich korzystać. Dodatkowymi możliwościami licznika T/C1 zajmiemy się w przyszłości, ale już teraz należy bliżej poznać podstawy ich działania. Choć liczniki te są w znacznym stopniu autonomiczne i generalnie działają niezależne od przebiegu programu, do konfiguracji i sterowania wykorzystuje się oczywiście rejestry wejścia/wyjścia. Aby dobrze zrozumieć dalsze informacje, koniecznie powróć do EdW 11/2002, gdzie na stronach 45...47 omówione były rejestry I/O. Rysunek A pokazuje budowę liczników. Obwody licznika T/C1 zostały na rysunku znacznie uproszczone – wrócimy do tego licznika w przyszłości. Kolorem różowym zaznaczyłem rejestry I/O, zapewniające kontrolę nad licznikami, a kolorem zielonym bity rejestrów odpowiedzialnych za konfigurację liczników. Rejestry i bity te zaznaczyłem tym samym kolorem na rysunku B, który jest częścią Tabeli 1 z EdW 11/2002 str. 46. Widzisz tu jasno, że polecenia konfiguracyjne BASCOM-a spowodują po prostu ustawienie odpowiednich bitów w rejestrach I/O. Przykładowo polecenie CONFIG TIMER0=COUNTER , EDGE=RISING to wpisanie do rejestru TCCR0 liczby 7 (pozostałe bity tego rejestru są niewykorzystane i nie ma znaczenia, co byśmy próbowali tam wpisać). Możemy więc wpisać: TCCR0 = 7 Z kolei polecenie
E L E M E N Ta r z
Liczniki T/C0, T/C1
Oczywiście wcześniej trzeba zadeklarować niezbędne zmienne typu Byte i Word. Przepełnienie licznika, czyli pojawienie się w liczniku zera (zmiana z wartości maksymalnej na zero) może być sygnałem zgłoszenia przerwania od danego licznika – sygnał przerwania od licznika to znak dla procesora i programu, że zakończył się jeden, a rozpoczął kolejny cykl zliczania.
E L E M E N Ta r z
Rys. 53
Procesor ‘2313 wyposażony jest w dwa liczniki/timery, pracujące niezależnie od programu. To znaczy, że procesor może realizować program, a liczniki w tym czasie będą samodzielnie zliczać. TC0 to prosty ośmiobitowy licznik/timer, który cyklicznie liczy w górę od 0 do 255. Znacznie bardziej skomplikowany licznik/timer TC1 jest 16-bitowy i może liczyć od 0 do 65535 – może też spełniać różne dodatkowe funkcje. Są to najprawdziwsze liczniki sprzętowe, zwiększające swój stan bez pomocy procesora i programu. Co bardzo ważne, procesor „widzi” te liczniki jako rejestry wejścia/wyjścia, a więc można łatwo wpisać oraz odczytać ich zawartość - patrz EdW 11/2002 str. 45-47. Stan licznika można w każdej chwili zmienić przez wpisanie tam albo wprost jakiejś liczby, albo zawartości jakiejś zmiennej. W BASCOM-ie robimy to tak:
ELEMENTa r z
obiegu pętli DO...LOOP nie jest stały. I właśnie to jest dowód, że z użyciem poleceń grupy WAIT trudno jest precyzyjnie odmierzać czas. Podkreślam jeszcze raz, że samo polecenie WAIT, będące odmianą pętli licznikowej FOR...NEXT, odmierza czas w sposób powtarzalny (o ile nie są wykorzystywane przerwania), a problemem okazuje się pozostała, użyteczna część programu, dla której trudno precyzyjnie określić czas wykonania, właśnie ze względu na badanie warunków i zależny od tego różny przebieg programu. Choć mówimy tu o mikrosekundach i ułamkach mikrosekund, jednak wszelkie błędy i różnice w trakcie działania programu będą się kumulować, co należy uwzględnić w przypadku realizacji wszystkich co bardziej precyzyjnych zegarów. Jeśli chcielibyśmy precyzyjnie odmierzać czas w roli stopera czy zegara, musielibyśmy żmudnie dobrać czasy opóźnienia poleceń WAIT, żeby średni czas wykonywania programu był taki jak potrzeba. Nietrudno sobie wyobrazić, że jest to zadanie trudne, bo albo trzeba żmudnie analizować krok po kroku działanie programu, albo równie żmudnie dobierać opóźnienia metodą prób i błędów.
ELEM ENTa rz
Chcemy teraz zrealizować dokładny stoper, a potem różne zegary. Potrzebne będą do tego zupełnie nowe sposoby realizacji. Zmuszony jestem powiedzieć Ci teraz gorzką prawdę w oczy – dotychczasowe metody odmierzania czasu i uzyskiwania opóźnienia to sposoby iście partyzanckie. Nie tylko nie warto, a wręcz nie powinno się ich stosować. Wykorzystywaliśmy je tylko dlatego, że nie potrafiliśmy zmusić do roboty żadnego z dwóch wewnętrznych liczników/timerów naszego procesora. Problem w tym, że polecenie WAIT (i pokrewne) wprawdzie odmierzają czas w powtarzalny sposób, ale czas realizacji fragmentów programu, gdzie występują polecenia If...Then, Select Case i niektóre inne, nie jest stały, tylko zależy od badanych warunków. Rysunek 53 pokazuje w uproszczeniu sposób realizacji wcześniejszych programów, w których główną rolę odgrywało polecenie z rodziny WAIT. Programy wykorzystywały pętle DO...LOOP, w której zawarte było polecenie WAITMS. Różowym kolorem zaznaczyłem czas odmierzany poleceniem WAITMS – za każdym razem jest on jednakowy. Kolorem zielonym zaznaczyłem czas zużywany na wykonanie pozostałych, użytecznych rozkazów pętli - na rysunku 53 pokazałem to w sposób wyolbrzymiony (w rzeczywistości czas wykonania pozostałych rozkazów jest dużo krótszy), niemniej właśnie ze względu na obecność poleceń IF...THEN czas pełnego
Liczniki/timery T/C0, T/C1
37
M1
Mikroprocesorowa Ośla łączka
ELEMENTa rz
Tę właściwość i przerwania możemy wykorzystać do skracania cyklu zliczania. Aby jednak skorzystać z liczników, trzeba je najpierw skonfigurować, czyli określić ich rolę i działanie. Każdy z liczników może zliczać impulsy podawane z zewnątrz na wejścia T0, T1. Licznik może reagować na zbocze rosnące (rising) lub opadające (falling), jak pokazuje rysunek poniżej.
ELEMENTa r z E L E M E N Ta r z E L E M E N Ta r z
Niektórzy początkujący dokonują istnych alpejskich kombinacji, by za pomocą poleceń rodziny Wait uzyskać precyzyjne odmierzanie czasu. Choć metodą żmudnej analizy albo metodą prób i błędów można uzyskać potrzebną dokładność, jednak przy zmianie programu trzeba będzie zaczynać od początku zabawę z dobieraniem potrzebnych opóźnień. Nie jest to dobra droga. Oba sposoby (analiza oraz próby) są co najmniej niedoskonałe, żeby nie powiedzieć fatalne: bardzo poważną wadą jest konieczność ponownego dobierania czasów Mówimy, że pracuje wtedy jako licznik zda- opóźnienia po każdej modyfikacji programu. A w niektórych programach, gdzie warunki rzeń (counter) i w BASCOM-ie konfigurubadane poleceniem IF...THEN zależą od czynjemy go jak pokazują przykłady: ników zewnętrznych, nieprzewidyCONFIG TIMER0=COUNTER , EDGE=RISING walnych, wtedy nawet wykorzystaCONFIG TIMER0=COUNTER , EDGE=FALLING nie symulatora niewiele pomoże, CONFIG TIMER1=COUNTER , EDGE=RISING ponieważ czas wykonania rozkaCONFIG TIMER1=COUNTER , EDGE=FALLING Choć liczniki są niezależne od proceso- zów jednej pętli będzie zależny od tych niera, zliczane impulsy są synchronizowane przewidywalnych warunków zewnętrznych, z sygnałem generatora kwarcowego. Czas które będą rozgałęziać działanie programu. Czy już widzisz sposób, który pozwoliłby między kolejnymi zboczami zliczanych impulsów nie może być krótszy od jednego skutecznie i elegancko rozwiązać problem okresu przebiegu generatora kwarcowego. precyzyjnego odmierzania czasu? Otóż wystarczy zastosować zewnętrzny W praktyce oznacza to, że zliczane impulsy prostokątne o wypełnieniu 50% nie mogą generator impulsów, które będą się pojawiać mieć częstotliwości większej niż połowa co ściśle określony czas. W takim rozwiązaniu w programie w ogóle nie ma poleceń częstotliwości kwarcu. Częściej liczniki służą do mierzenia cza- z grupy WAIT, a za to wykorzystany jest jesu (timer) i zliczają impulsy pochodzące den z dwóch liczników/timez generatora kwarcowego procesora. W roli rów procesora oraz wykorzy- Rys. 54 timera mogą zliczać impulsy wprost z kwar- stuje się przerwania od tego cu (w naszej płytce o częstotliwości 4MHz) licznika. Wcześniej realizowaalbo impulsy z kwarcu podzielone przez liśmy liczniki programowe. Tejedną z liczb 8, 64, 256, 1024. Ilustruje raz wykorzystamy dwa liczniki to rysunek na kolejnej stronie, a tabelka sprzętowe, będące częścią na-
47
szego mikroprocesora. Co bardzo ważne, działanie tych liczników/timerów jest niezależne od przebiegu programu i to one będą wysyłać programowi regularne sygnały pomagające odmierzać czas. Gdy sprzętowy licznik zliczy do pewnej liczby, wysyła sygnał przerwania. Jak już wiesz, przerwanie to jakby dzwonek telefonu – procesor przerywa dotychczasową działalność, obsługuje przerwanie, a potem wraca do zwykłej działalności. A ta „zwykła działalność” to często... bezproduktywne realizowanie pustej pętli DO...LOOP. Ideę pokazuje rysunek 54. Kolorem zielonym znów zaznaczyłem czas zużywany na wykonanie rozkazów użytecznych, natomiast kolorem pomarańczowym – czas, w którym procesor bezproduktywnie „kręci się w kółko” w pustej pętli DO...LOOP. Co bardzo ważne, impulsy, a ściślej sygnały przerwania od licznika, przychodzą teraz w ściśle określonych odstępach czasu. Czas obsługi przerwania, wynikający z badania warunków, może być różny (kolor zielony), ale nie ma to wpływu na czas realizacji programu – porównaj rysunki 53 i 54. Co ważne, kolejne przerwania mogą być zliczane w programowym liczniku-zmiennej – wystarczy w procedurze obsługi przerwania umieścić znane polecenie Incr Zmienna i ewentualne dalsze skracające cykl zliczania. W ten sposób można z powodzeniem realizować zegary, stopery i inne programy wymagające precyzyjnego odmierzania czasu.
T E C H N I K A L I A
CONFIG TIMER0=TIMER , PRESCALE=64 to to samo co: TCCR0 = 3 W przypadku licznika T/C1 jest podobnie, ale nie identycznie. Polecenie: CONFIG TIMER1=TIMER , PRESCALE=1 oznacza wpisanie do trzech najmłodszych bitów rejestru TCCR1B liczby dwójkowej 001. Rysunek B wskazuje jednak, że w rejestrze tym wykorzystane są jeszcze trzy inne bity (oznaczone CTC1, ICES1, ICNC1), dlatego nie powinniśmy tam bezmyślnie wpisać liczby 1. Gdy w przyszłości poznasz bliżej licznik T/C1, poznasz rolę wszystkich bitów sterujących w tym rejestrze. Na razie, jeśli chcesz, możesz trzy najmłodsze bity ustawiać indywidualnie. Łatwiej jest jednak wykorzystać BASCOM-owe polecenie CONFIG, niż bawić się z tymi bitami. Podając Ci powyższe informacje, chcę Ci stopniowo pokazać, czym tak naprawdę jest program BASCOM w roli kompilatora. Zamienia on rozkazy bardziej zrozumiałe dla człowieka (napisane w dialekcie języka BASIC) na tak zwany kod maszynowy – na postać zrozumiałą dla procesora. W omawianym przypadku będą to polecenia ustawienia czy wyzerowania poszczególnych bitów i rejestrów. Chcę Cię oswoić z wnętrzem mikroprocesora i w ten sposób przygotować do programowania w innych językach, w tym w asemblerze.
38
E l e k t ro n i k a d l a Ws z y s t k i c h
48
M1
Rys. 55
T E C H N I K A L I A
E l e k t ro n i k a d l a Ws z y s t k i c h
E L E M E N Ta r z
System przerwań
Przerwania są ogólnie omówione w ELEMENTarzu, jednak warto bliżej poznać, jak są one konfigurowane, zgłaszane i obsługiwane. Rysunek C pokazuje w pewnym uproszczeniu system przerwań procesora ‘2313 (inne procesory AVR mają taki sam system, tylko różną liczbę źródeł przerwań). Podobnie, jak liczniki/timery, system przerwań jest konfigurowany i sterowany za
E L E M E N Ta r z
Podane informacje pomogą Ci też skorzystać z oryginalnej karty katalogowej procesora, nawet jeśli nie znasz dobrze angielskiego. To ważna sprawa, bo dość często trzeba właśnie w karcie katalogowej i w plikach pomocy do BASCOM-a szukać wyjaśnienia różnych szczegółów (a czasem i tam nie sposób znaleźć odpowiedzi i wtedy trzeba sprawdzić praktycznie, ewentualnie za pomocą symulatora). Nie martw się, jeśli nie wszystko z tego rozumiesz – zgodnie z przyjętą koncepcją kursu, w części Technikalia podane są informacje uzupełniające i rozszerzające. Programista niekorzystający z BASCOM-a, skazany na programowanie w asemblerze, musi obowiązkowo poznać i zrozumieć wszystkie takie szczegóły. Ale Ty nie musisz się na nich znać. Jak podałem w ELEMENTarzu, zamiast do/z rejestrów o określonych adresach żmudnie wpisywać czy odczytywać liczby dwójkowe, w BASCOM-ie wykorzystujemy polecenia bardzo przyjazne i naprawdę łatwe do wykorzystania.
ELEMENTa r z
Wtedy niektóre zgłoszenia przerwania nie zostałyby obsłużone, co wpłynęłoby na błędne odmierzanie czasu. Dalsze istotne szczegóły na ten temat podane są w części Technikalia. W największym uproszczeniu można powiedzieć, że czas cyklu zliczania licznika/timera, czyli czas między przerwaniami powinien być możliwie długi, a czas obsługi przerwania – możliwie krótki. Dla nas jest ważne, że oba liczniki/timery naszego procesora AVR mogą nie tylko zliczać wprost przebieg z generatora kwarcowego (o częstotliwości 4MHz), ale co ważniejsze, także przebieg z tego generatora wstępnie podzielony, czyli o mniejszej częstotliwości (podzielony przez 8, 64, 256, 1024). Przykładowo w naszej płytce przebieg z „kwarcu” 4MHz ma okres 0,25µs. Po podzieleniu przez 64 okres wyniesie 16µs. Stan licznika będzie zwiększany co 16µs. Licznik/timer T/C0 to licznik 8-bitowy, więc cykl zliczania to nie więcej niż 256 impulsów. Ponieważ w układach zegarowych zwykle potrzebne są „okrągłe” wartości czasów, możemy skrócić cykl zliczania licznika do 250. Zliczenie 250 impulsów po 16µs zajmie dokładnie 4000µs, czyli 4ms. Oznacza to, że sygnał przerwania od Timera0 pojawi się co 4ms. Dalsze szczegóły na temat obu liczników/timerów oraz przerwań podane są w częściach ELEMENTarz i Technikalia.
Zaznaczony na poprzednich rysunkach czas wykonywania użytecznych rozkazów (kolor zielony) jest przesadnie długi. Warto pamiętać, że propodaje co jaki czas zwiększany będzie stan cesor AVR realizuje jeden typowy, elemen- liczników w naszej płytce przy różnych tarny rozkaz w ciągu jednego taktu zegara, stopniach podziału i jaki jest maksymalny czyli w naszym przypadku w ciągu 0,25 mi- czas cyklu zliczania każdego z liczników. krosekundy (tylko nieliczne m aksym alny rozkazy wykonywane są w czaczascyklu w sp ‡czŒstotliw o czas TC0 TC1 sie dłuższym). Oznacza to, że czynnik taktow ania taktu pomiędzy dwoma kolejnymi podzia‡u przerwaniami procesor zdoła 1 4M H z 16,384m s 0,25µs 64µs 8 4M H z/8 0,512m s 131,072m s 2µs wykonać aż 16 000 typowych 64 4M H z/64 4,096m s 1,048576s 16µs rozkazów – nie trzeba się więc 256 4M H z/256 16,384m s 4,194304s 64µs martwić, że nie zdąży w tym 1024 4M H z/1024 256µs 65,536m s 16,777216s czasie zakończyć procedury obsługi przerwania, która w sumie Konfiguracja do roli timera jest bardzo wcale nie jest skomplikowana łatwa: i pracochłonna. W praktyce CONFIG TIMER0=TIMER , PRESCALE=Liczba procesor będzie bezproduktywCONFIG TIMER1=TIMER , PRESCALE=Liczba nie „kręcił się” w pustej pętli gdzie Liczba to dozwolony współczynnik DO...LOOP przez zdecydowanie więcej cza- podziału: 1, 8, 64, 256 albo 1024. su, niż pokazuje wcześniejszy rysunek 54. Co istotne, tak skonfigurowany licznik I oto zamiast wcześniej używanego „kula- zacznie pracować po rozpoczęciu pracy prowego” polecenia WAITMS, mamy teraz do gramu. Jeśli w czasie pracy programu podyspozycji precyzyjny sygnał zegarowy – trzebne byłoby zatrzymanie pracy licznika przerwania od Timera0 pojawiające się do- (zatrzymanie, a nie wyzerowanie zawartokładnie co 4ms. Wykorzystamy go zarówno ści), należy wykorzystać polecenie: do mierzenia czasu, jak i do zaświecania czterech kolejnych STOP TIMER0 ‘lub równoznaczne STOP COUNTER0 wyświetlaczy (4x4ms =16ms, Dla drugiego licznika: co da bardzo dobrą częstotliSTOP TIMER1 ‘lub równoznaczne STOP COUNTER1 wość odświeżania 62,5Hz). Do ponownego odblokowania licznika Realizacja takiej prostej wykorzystuje się polecenia: i zdrowej idei jest naprawdę START TIMER0 ‘lub START COUNTER0 bardzo łatwa. Trzeba tylko włąSTART TIMER1 ‘lub START COUNTER1 czyć i skonfigurować
ELEM ENTa rz
Warunkiem prawidłowej pracy takiego programu jest to, żeby w czasie obsługi najdłuższego przerwania nie nadeszło kilka kolejnych zgłoszeń od licznika, co obrazowo i z przesadą pokazane jest na rysunku 55.
Mikroprocesorowa Ośla łączka
C
39
Mikroprocesorowa Ośla łączka ELEM ENTa rz
Przerwania
ELEMENTa r z
Ogólna idea przerwań w mikroprocesorze została obrazowo omówiona w EdW 11/2002. Zgodnie z nazwą, istotą przerwań jest to, że na zewnętrzny sygnał procesor „odkłada na bok” dotychczasową pracę, czyli realizację aktualnych rozkazów i przechodzi do wydzielonej części programu, realizującej tak zwaną obsługę tego przerwania. Po zrealizowaniu tej wydzielonej części programu, czyli po obsłużeniu przerwania, procesor powraca do dotychczasowej pracy. W procesorze AT90S2313 istnieje 10 źródeł przerwań (11 licząc reset). Wyszczególnione są one w tabeli poniżej. Spośród nich w pierwszych ćwiczeniach wykorzystywane będą tylko przerwania nr 6 i 7, sygnalizujące przepełnienie timerów, wyróżnione drukiem pogrubionym, dlatego na razie nie musisz nic wiedzieć o pozostałych.
EL E M E N Ta r z
Nr przerw ania 1 2 3 4 5 6 7 8 9 10 11
r d‡o INT0 INT1 CAPTURE1 COMPARE1 TIMER1 TIMER0 URXC UDRE UTXC ACI
M1
49
Licznik/timer0 będzie teraz co jakiś czas licznik/timer T/C0 oraz włączyć i skonfiguro(co 4ms) zgłaszał żądanie obsługi przerwawać przerwania. Konfiguracja T/C0 do roli timera jest bez- nia, a procesor musi wiedzieć, co wtedy zronadziejnie prosta: trzeba podać pełnioną rolę bić. Dlatego w naszym programie na począt(timer) oraz współczynnik podziału (1, 8, 64, ku umieścimy stosowną informację: ON Timer0 etykietka 256, lub 1024). W naszym przypadku: a dalej za programem głównym CONFIG TIMER0 = TIMER , PRESCALE = 64 Będziemy wykorzystywać przerwania. i za etykietką podprogram obsługi przerwaAby w ogóle uruchomić system przerwań, nia, zakończony dyrektywą RETURN: należy obowiązkowo umieścić w programie dyrektywę: ENABLE Interrupts Ideę realizacji licznika czasu – stopera Nasz procesor ‘2313 ma dziesięć źródeł przerwań. Wykorzystywane przerwanie lub (bez obwodów start/stop) pokazuje w obraprzerwania trzeba włączyć indywidualnie. zowy sposób rysunek 56. Szkielet programu pokazany jest na rysunku 57. W naszym przypadku: W tworzonym właśnie urządzeniu liczENABLE Timer0 nik/Timer0 automatycznie, niezależnie od
O pis przerw ania zerow anie (reset) zew nŒtrzne IN T0 (n ¿ka 6) zew nŒtrzne IN T0 (n ¿ka 6) przechw ycenie T/C1 r w no T/C1 przepe‡nienie T/C 1 przepe‡nienie T/C 0 U A RT,odebrano znak U A RT,rejestrdanych pusty U A RT,nadaw anie zakoæczone K om paratoranalogow y
E L E M E N Ta r z E L EM EN Ta r z
W procesorach AVR nie ma możliwości zmiany priorytetu przerwań. Priorytet jest ustalony na stałe: czym niższy numer przerwania, tym wyższy jest jego priorytet. Oznacza to, że jeśli jednocześnie zostaną zgłoszone żądania przerwania od obu timerów, najpierw zostanie obsłużone przerwanie od T/C1, potem od T/C0. Typowo w procesorze AVR jednocześnie obsługiwane jest tylko jedno przerwanie – inne posłusznie czekają i dopiero po zakończeniu obsługi bieżącego są obsługiwane kolejno, według priorytetu. Więcej informacji na ten temat zawartych jest w Technikaliach. Domyślnie wszystkie przerwania są zablokowane. Aby skorzystać choćby z jednego przerwania, należy przede wszystkim obowiązkowo umieścić na początku programu
Rys. 56
Rys. 57
T E C H N I K A L I A
pomocą odpowiednich bitów w rejestrach I/O. Na wcześniejszym rysunku B też zaznaczyłem kolorami bity przestrzeni I/O związane z przerwaniami. Procesor posiada bardzo ważny rejestr – rejestr stanu, zwany SREG (Status Register). Najstarszy bit tego rejestru (oznaczany dużą literą I) odblokowuje system przerwań. Jeśli jest wyzerowany, żadne przerwania nie będą realizowane. Ustawienie (wpisanie jedynki) do tego bitu pozwala na obsługę przerwań. Na rysunkach B, C ten bit globalnego zezwolenia zaznaczyłem kolorem czerwonym. Znane Ci polecenie BASCOM-a Enable Inerrupts
40
to w praktyce ustawienie tego bitu, więc równie dobrze można napisać: SREG.7 = 1 Odblokowanie globalne to nie wszystko. Każde źródło przerwań ma jeszcze swój indywidualny bit zezwolenia. Przykładowo przepełnienie licznika T/C0 zostanie potraktowane jako zgłoszenie przerwania i obsłużone tylko wtedy, gdy ustawione zostaną zarówno bit globalnego zezwolenia (SREG.7, zwany też bitem I), jak i bit zezwolenia indywidualnego, zwany TOIE0 (Timer/Counter0 Overflow Interrupt Enable). Bit TOIE0 zawarty jest w rejestrze TIMSK (Timer/Counter Interrupt Mask Register). Rysunki B, C wskazują, że bit
TOIE0 to inaczej bit TIMSK.1. Tym samym znane Ci już polecenie Enable Timer0 możesz spokojnie zastąpić poleceniem TIMSK.1 = 1 albo Set TIMSK.1 Ale zezwolenia na przerwania to nie wszystko. Przepełnienie licznika nie powoduje natychmiastowej obsługi przerwania. Zapamiętaj, że tak naprawdę dane źródło powoduje tylko ustawienie odpowiedniego pojedynczego bitu, nieprzypadkowo nazwanego flagą. Oznacza to, że dla każdego źródła przerwań istnieje oprócz wspomnianego bitu
E l e k t ro n i k a d l a Ws z y s t k i c h
50
M1
Mikroprocesorowa Ośla łączka dyrektywę globalnie odblokowującą system przerwań: ENABLE Interrupts Każde przerwanie, które będzie wykorzystane, trzeba też włączyć indywidualnie. W BASCOM-ie robimy to poleceniem: ENABLE Przerwanie gdzie zgodnie z wcześniejszą tabelą zamiast Przerwanie należy wpisać jedną z oficjalnych nazw:
‘albo równoznaczne ‘albo równoznaczne ‘albo równoznaczne ‘albo równoznaczne
ICP1 OC1 COUNTER1 albo OVF1 COUNTER0 albo OVF0
Stos
Jeśli mówimy, że po zgłoszeniu przerwania procesor przerywa normalną pracę i przechodzi do innego fragmentu programu, nie znaczy to, że gorączkowo, w pośpiechu i natychmiast porzuca dotychczasową pracę. Procesor to nie tylko pracowity, ale też bardzo rzetelny i sumienny robotnik. Na pewno dokończy wykonywanie aktualnego rozkazu i systematycznie przygotuje się do obsługi przerwania. Ponieważ realizacja programu to po
prostu wykonywanie kolejnych rozkazów z pamięci FLASH, w ramach tych przygotowań procesor przezornie zapamięta w pamięci RAM adres, czyli numer ostatnio wykonanego rozkazu pobranego z pamięci FLASH, żeby po obsłużeniu przerwania powrócić do dotychczasowej pracy i zrealizować następny w kolejności rozkaz. Fachowo mówimy, że potrzebny do tego adres powrotu odkłada na stos. Ilustruje to rysunek D. Stos można porównać do stosu luźnych kartek z notatkami: procesor przerywając normalną pracę, robi zwięzłe notatki na pojedynczych „karteczkach” i układa te karteczki jedna na drugiej, tworząc stos. Potem po obsłużeniu przerwania, żeby
45
T E C H N I K A L I A
E l e k t ro n i k a d l a Ws z y s t k i c h
je pod warunkiem, że „widzi” te flagi, czyli tylko wtedy, gdy dzięki ustawieniu bitów zezwalających „przełączniki” z rysunku C są zamknięte.
E L EM EN Ta r z
indywidualnego zezwolenia także kolejny bit – flaga informująca o zgłoszeniu przerwania. Na przykład dla timera T/C0 jest to bit zwany TOV0 (Timer/Counter0 Overflow Flag). Jest to drugi bit w rejestrze zwanym TIFR (Timer/Counter Interrupt Flag Register) – TIFR.1. Na rysunkach B i C flagi zaznaczyłem kolorem pomarańczowym. W naszym procesorze ‘2313 mamy dziesięć źródeł przerwań, więc mamy tyleż bitów indywidualnego zezwolenia na przerwanie (zielone na rysunku C), tyleż flag zgłoszenia (pomarańczowe) i jeden bit zezwolenia globalnego (czerwony). Można więc powiedzieć, że obsługa przerwania to reakcja na ustawienie flagi. Procesor reagu-
E L E M E N Ta r z
Rys. 59
kietą umieścimy procedurę obsługi przerwania, zakończoną dyrektywą RETURN: Po zgłoszeniu danego (odblokowanego) przerwania program skoczy do etykiety, wykona procedurę obsługi i powróci do wcześniejszej pracy.
EL E M E N Ta r z
Polecenie ENABLE tylko umożliwia skorzystanie z przerwania. Musimy jeszcze określić, co procesor ma zrobić po zgłoszeniu przerwania. Zasada jest bardzo podobna, jak przy korzystaniu z polecenia GOSUB – program skoczy do etykiety. Zaraz na początku programu, po deklaracjach i konfiguracji umieszczamy linię: ON Przerwanie etykietka gdzie w miejsce Przerwanie wpiszemy podaną wcześniej oficjalną nazwę tego przerwania, np.: ON TIMER1 etykietka albo równoznaczne ON OVF1 etykietka Na końcu, za programem głównym (który zakończony będzie dyrektywą END) i za ety-
ELEMENTa r z
Rys. 58
256, więc wysyłałby sygnały przerwania co 4,096ms (16µs*256). My chcemy uzyskać przerwania dokładnie co 4ms, więc musimy skrócić cykl zliczania Timera do 250. Nie jest to wcale trudne. Licznik zawsze liczy w górę, a przerwanie jest generowane, gdy w liczniku pojawi się zero. Aby więc skrócić cykl zliczania, procedura obsługi przerwania powinna szybko zmienić stan licznika z zera na taką liczbę, żeby cykl INT0 miał potrzebną nam dłuINT1 gość. Nie ma problemu CAPTURE1 z szybką zmianą stanu liczCOMPARE1 nika, ponieważ licznik ten to TIMER1 przecież jeden z rejestrów TIMER0 (TCNT0) w przestrzeni adURXC resowej procesora – można UDRE odczytać jego stan i można UTXC ACI
ELEM ENTa rz
programu, będzie zliczał podzielone przez 64 impulsy z rezonatora kwarcowego, czyli będzie zwiększany co 16µs. Licznik ten jest 8bitowy i zlicza w górę, a przerwanie zawsze jest zgłaszane, gdy nastąpi jego przepełnienie, czyli po stanie licznika 255 (dwójkowo 11111111), gdy następny zliczony impuls spowoduje powrót do zera. Bez dodatkowej ingerencji licznik ten liczyłby cyklicznie od zera do 255, czyli długość cyklu wynosiłaby
M1 ELEM ENTa rz
Podczas pracy programu można według potrzeb blokować cały system przerwań: DISABLE Interrupts Lub indywidualne przerwania według wcześniejszego wykazu: DISABLE Przerwanie Zwróć uwagę na różnicę między ENABLE/DISABLE a START/STOP. Pierwsza para służy tylko do sterowania przerwaniami, druga między innymi do sterowania pracą liczników/timerów.
ELEMENTa r z
Kod BCD
EL E M E N Ta r z
W bajcie możemy zapisać naturalną liczbę dwójkową z zakresu 0...255. My, ludzie, jesteśmy przyzwyczajeni do systemu dziesiętnego, więc w praktyce często wykorzystujemy liczniki dekadowe, liczące tylko w zakresie 0...9 (dwójkowo 0000...1001), a do zapisania tak małej liczby wystarczą cztery bity. W bajcie można byłoby umieścić dwie takie czterobitowe liczby (dekady) w sposób pokazany niżej: bit7
bit6
do niego wpisać dowolną liczbę z przedziału 0...255 – patrz EdW 11/2002 str. 40, 45-47. Rysunek 58 pokazuje stany licznika T/C0, gdyby cykl miał zawierać tylko trzy stany. Jak z tego wynika, na początku obsługi przerwania do licznika powinna być wpisywana liczba (256-N) gdzie N to potrzebna długość cyklu pracy licznika T/C0. W naszym przypadku ma być N=250, więc napiszemy: Timer0 = 6 ‘bo 256-250=6 W BASCOM-ie można też wykorzystać specjalne polecenie LOAD i wtedy napiszemy: LOAD Timer0 , 250 Ponieważ w istocie chodzi o załadowanie liczby 6 (dwójkowo 00000110) do rejestru TCNT0, można też napisać: Tcnt0 = 6 albo Tcnt0 = &B110 Koniecznie zapamiętaj, że opisany właśnie sposób skracania cyklu doskonale zda egzamin tylko wtedy, gdy licznik T/C0 będzie bajt 8 bit w bit4 bit3
bit5 dziesi„tki liczba dw jkow a 0 9
bit2
bit1
jednostki liczba dw jkow a 0 9
51
zliczał wstępnie podzielone impulsy z „kwarcu”. Wtedy w czasie trwania jednego stanu licznika T/C0 procesor zdąży wykonać wiele rozkazów (w naszym przypadku do 64 rozkazów). Jeśli natomiast licznik T/C0 zliczałby impulsy bez podziału, czyli co 0,25µs, trzeba uwzględnić fakt, że wykonanie typowego rozkazu trwa 0,25µs. Wtedy długość cyklu zliczania będzie zależna też od kilku czynników, między innymi od czasu obsługi tzw. stosu, o którym na razie nie masz bladego pojęcia. Dlatego mam dla Ciebie ważną radę: dla bezpieczeństwa opisywany właśnie sposób pracy T/C0 wykorzystuj wyłącznie do zliczania impulsów wstępnie podzielonych przez 64 (oraz przez 256 i 1024). Przy podziale przez 8 i bez podziału możesz natknąć się na przykre niespodzianki, których w żaden sposób nie zrozumiesz bez gruntownej wiedzy na temat sposobu obsługi przerwań, funkcjonowania stosu i bez znajomości asemblera. Jeśli będziesz pracować przy stopniach podziału 64, 256 i 1024, takie problemy nie wystąpią. Dlatego nie wgłębiając się z szczegóły, możemy wrebit0 szcie zrealizować prosty stoper. Niech naciśnięcie S1 włącza odliczanie czasu,
E L E M E N Ta r z E L EM EN Ta r z
I taki sposób bywa czasem wykorzystywany, a sposób zapisu nazywany jest BCD – Binary Coded Decimal – liczby dziesiętne kodowane dwójkowo. Jeśli w bajcie zawarta jest liczba BCD z zakresu 0...9, jest to najzwyczajniejsza liczba dwójkowa. Zapis liczb większych od 9 różni się w obu systemach. Oczywiście przy takim sposobie kodowania w jednym bajcie można zapisać liczbę z zakresu 0...99. Mając do dyspozycji więcej bitów, w kodzie BCD można zapisać większe liczby w sposób pokazany w tabeli na następnej stronie.
MAKEBCD, MAKEDEC
Procesor operuje na naturalnych liczbach dwójkowych, więc kod BCD jest dla niego obcy. Przykładowo liczbę 01011001 procesor zinterpretuje jako 89, a nie jako 59. Ponieważ w praktyce kod BCD bywa
T E C H N I K A L I A D
46
Rys. 60 wiedzieć dokładnie, gdzie skończył i co robił, odczytuje swe notatki, a po odczytaniu niepotrzebne już karteczki wyrzuca do kosza. W ten sposób zawsze na wierzchu stosu znajdują się aktualne notatki, dotyczące obsługiwanego właśnie przerwania (skoku). W procesorach AVR wspomniany stos to nie jakaś specyficzna część mikroprocesora, to po prostu zarezerwowana część pamięci RAM. Zarezerwowana, to znaczy przeznaczona tylko do zapamiętywania adresów pamięci programu, do których należy powrócić po obsłużeniu przerwania i stanu najważniejszych rejestrów. W tajniki stosu (ściślej stosów i ramek) nie będziemy się
wgłębiać – zapamiętaj tylko, że na stos można, a czasem wręcz trzeba, odkładać nie tylko „adresy powrotu”, ale też aktualny stan kluczowych rejestrów. Bowiem stos służy nie tylko do obsługi przerwań, ale również realizacji poleceń GOSUB...RETURN, gdzie też przecież następuje przerwanie aktualnego zadania i skok do innego fragmentu programu (ale polecenia IF...THEN...ELSE nie wykorzystują stosu). Zarówno w przypadku przerwania, jak i polecenia GOSUB...RETURN procesor musi odłożyć na stos (zapamiętać), a potem zdjęć ze stosu i dokładnie odtworzyć wcześniejszy stan procesora i programu sprzed skoku. A w programach polecenia
E l e k t ro n i k a d l a Ws z y s t k i c h
52
M1
Mikroprocesorowa Ośla łączka ELEM ENTa rz ELEMENTa r z
wykorzystywany, w BASCOM-ie mamy dwa wygodne polecenia do konwersji między „zwykłymi” liczbami dwójkowymi przez 64 impulsy z rezonatora kwarcowego - a liczbami w kodzie BCD, umieszczonymi wykorzystywaliśmy „tyknięcia” przychodzą- w zmiennych (jedno)bajtowych. ce co 4ms. Potrzebne „tyknięcia” co 10ms nie Aby zamienić „zwykłą” liczbę dwójkomogą pochodzić wprost z licznika TC/0. Przy wą z zakresu 0...99 na liczbę w kodzie zliczaniu impulsów z kwarcu podzielonych BCD, wykorzystujemy polecenie MAprzez 64 maksymalny okres zliczania to KEBCD. Składnia jest następująca: ZmiennaWynikBCD = MAKEBCD(ZmDwojkowa) 4,096ms, a licznik jest inkrementowany (modne określenie oznaczające przy czym liczba zawarta w zmiennej zwiększanie) co 16µs. Wstępne podzielenie ZmDwojkowa powinna być z przedziału impulsów z kwarcu przez 256 (PRESCA- 0...99 (polecenie MAKEBCD radzi sobie LE=256) oznacza inkrementowanie licznika też z liczbami 0...159, ale liczby z zakresu T/C0 co 64µs, więc aby licznik zliczył dokła- 100...159 nie są „prawdziwymi” liczbami dnie 10ms, musiałby zliczać do liczby ułam- w kodzie BCD, bo cztery starsze bity zawiekowej 156,25. Nie ma rady – trzeba pozostać rają liczbę z zakresu 10...15). przy podziale przez 64 i skrócić czas między Polecenie MAKEBCD jest przydatne nie „tyknięciami” do 2ms. Potrzebny czas 10ms tylko do wyświetlania wyniku „po ludzku”, pozwoli uzyskać dodatkowy licznik progra- ale także przy korzystaniu z popularnych mowy liczący do 5. Na rysunku 60 pokazany scalonych zegarów RTC rodziny PCF85x3, jest kluczowy fragment programu takiego do- gdzie informacje (np. godziny, minuty, sekładniejszego stopera (C012b.bas). kundy) podane są w kodzie BCD. A oto inna droga. Do uzyskania czasu Aby liczbę w kodzie BCD zamienić na 10ms można też bezpośrednio wykorzystać „zwykłą”, czyli naturalną liczbę dwójkową, drugi licznik-timer T/C1. Ponieważ jest to należy wykorzystać polecenie o trochę mylicznik 16-bitowy, długość cyklu zliczania lącej nazwie MAKEDEC. Oto składnia: może sięgać aż 65536. SkaracaZmiennaDwojkowa = MAKEDEC(ZmLiczbaBCD) my ją do 625 (625*16µs=10ms). Licznik T/C1 ma nie tylko 256 razy (!) Tu nie ma ograniczeń zakresu, ponieważ większą pojemność, ale też ma dużo więcej z definicji w zmiennej ZmLiczbaBCD Rys. 61
T E C H N I K A L I A
47
ELE M E NTa r z
E l e k t ro n i k a d l a Ws z y s t k i c h
ście trochę czasu. W przypadku niektórych zadań, na przykład tzw. zmiennoprzecinkowych procedur matematycznych, trzeba dodatkowo, we własnym zakresie odkładać na stos jeszcze inne rejestry robocze, ale to problem dla zaawansowanych. W każdym razie oznacza to, że w typowym programie trzeba mieć pod ręką nie jedną pustą „karteczkę”, tylko właśnie stos, albo miejsce na stos - zarezerwowane kilkadziesiąt bajtów pamięci RAM (teoretycznie na stos można zarezerwować całą pamięć RAM, ale nie o to chodzi – przecież pamięć ta jest potrzebna do innych celów, między innymi tu umieszczone są zmienne). Gdyby natomiast w programie nie było poleceń
E L E M E N Ta r z
E
GOSUB...RETURN często bywają zagnieżdżone i wtedy na stos odkładane są kolejne porcje informacji, jak pokazuje to w uproszczeniu rysunek E. Różnymi kolorami zaznaczyłem poszczególne procedury w pamięci FLASH i związane z nimi dane, kolejno odkładane i zdejmowane ze stosu. Powinieneś też wiedzieć, że jedno króciutkie polecenie GOSUB...RETURN kompilator bez naszej wiedzy zamieni na wiele poleceń kodu maszynowego odkładania na stos i zdejmowania ze stosu – na stos trzeba odłożyć nie tylko adres następnego rozkazu i najważniejszy rejestr SREG, ale też szeregu rejestrów roboczych. Na wykonanie i odczytanie takich notatek procesor potrzebuje oczywi-
EL E M E N Ta r z
a naciśnięcie S2 niech zatrzymuje zliczanie. Program pokazany jest na rysunku 59 (C012a.bas). Wyświetlacz pokazuje wynik z rozdzielczością 0,1s, a dla ułatwienia odczytu zaświeciliśmy dwie kropki oddzielające minuty, sekundy i dziesiąte części sekundy. Zauważ, że na wszelki wypadek polecenie załadowania do licznika liczby 6 (co gwarantuje skrócenie cyklu do 250) wykonywane jest na początku obsługi przerwania, przed wszystkimi innymi rozkazami. Chodzi o to, żeby przypadkiem podczas wykonywania innych poleceń wyzerowany właśnie licznik T/C0 nie zdążył zmienić swego stanu, co nastąpiłoby po 64 taktach generatora kwarcowego. Mam nadzieję, że dobrze rozumiesz działanie tego programu. Zrealizujmy więc teraz dokładniejszy stoper, mierzący czas z dokładnością do 0,01s. Musi on zawierać „mechanizm” odliczający „tyknięcia” pojawiające się co 0,01s, czyli co 10ms. W poprzednim stoperze 8-bitowy licznik Timer0 pracował przy długości cyklu 250 i zliczał podzielone
Mikroprocesorowa Ośla łączka ELEM ENTa rz
powinna znajdować się liczba z zakresu 0...99. Polecenia MAKEBCD i MAKEDEC przeznaczone są dla liczb ośmiobitowych (z zakresu 0...99) i nie radzą sobie z konwersją liczb dwójkowych 16-bitowych. Do zamiany liczby dwójkowej 16-bitowej (0...65535) na 5-dekadową liczbę BCD można wykorzystać funkcję o nazwie Bin2bcd16. Zajmiemy się tym w przyszłości.
T E C H N I K A L I A T E C H N I K A L I A
GOSUB...RETURN, a przerwania nie byłyby wykorzystane, stos byłby niepotrzebny. W szczegóły nie musisz się wgłębiać, w każdym razie pamiętaj, że zarówno klasycznie obsługiwane przerwania, jak i skoki GOSUB...RETURN powodują zwiększenie objętości programu w pamięci FLASH oraz wymagają zarezerwowania odpowiedniej ilości RAM-u na stos. Odkładanie danych na stos i ich zdejmowanie zajmuje czas. W przypadku „zwykłego” przerwania co najmniej po cztery cykle zegara (w przypadku GOSUB – więcej). Inaczej mówiąc, w naszym systemie z kwarcem 4MHz, gdzie cykl zegarowy trwa 0,25µs, prawdziwa procedura obsługi przerwania rozpoczyna się co najmniej 1 mikrosekundę lub więcej po wykryciu tego przerwania. Tak samo opóźniony jest powrót do głównego programu po zakończeniu obsługi procedury przerwania. Ma to duże znaczenie w programach, które mają działać jak najszybciej.
Obsługa przerwań - kolejność
T E C H N I K A L I A T E C H N I K A L I A
Typowo, jeśli procesor AVR obsługuje właśnie jakieś przerwanie, a pojawi się drugie o wyższym, priorytecie, procesor najpierw doprowadzi do samego końca obsługę poprzedniego przerwania, a dopiero potem zrealizuje następne (o najwyższym priorytecie spośród kilku aktualnie zgłoszonych). Działa to tak: gdy zostanie wykryta flaga sygnalizująca zgłoszenie (odblokowanego) przerwania, procesor odkłada na stos potrzebne informacje i przechodzi do procedury obsługi, określonej przez programistę. I właśnie wtedy, na początku obsługi przerwania, procesor zeruje flagę, która spowodowała przerwanie oraz kasuje bit zezwolenia globalnego. W ten sposób, przez wyzerowanie bitu zezwolenia globalnego na czas obsługi zgłoszonego przerwania blokuje wszystkie inne przerwania i realizuje tylko jedno. Takie rozwiązanie umożliwia skuteczną obsługę wszystkich zgłoszonych i indywidualnie włączonych przerwań z różnych źródeł. Jeśli podczas obsługi jednego przerwania zostaną ustawione flagi zgłoszenia innych przerwań, procesor niezależnie od ich priorytetu nie obsłuży ich od razu, ponieważ na czas obsługi przerwania wyzerował bit globalnego zezwolenia i niejako „nie widzi” tych zgłoszeń – patrz rysunek C. Nie zignoruje ich jednak zupełnie. Flagi pozostaną ustawione, a gdy procesor zakończy obsługę bieżącego przerwania znów włączy (ustawi) bit globalnego zezwolenia i tym sposobem umożliwi obsługę następnego
48
M1
53
dodatkowych możliwości, których nie posiada prosty licznik T/C0. Można na przykład skracać cykl zliczania inaczej i wykorzystać inne, dodatkowe przerwania. Te możliwości nie są na razie istotne – wykorzystamy je w przyszłości. Na rysunku 61 (C012c.bas) pokazany jest fragment programu z wykorzystaniem licznika T/C1. Stoper działa, ale wyświetlacz odświeżany z częstotliwością 25Hz wyraźnie miga. Częstotliwość tę na pewno należy zwiększyć do 50Hz lub więcej. Na pewno potrafisz to zrobić, więc teraz, w ra-
mach samodzielnych ćwiczeń domowych, zaprojektuj prawdziwy stoper, który będzie uruchamiany i zatrzymywany tym samym przyciskiem, np. S1, a przycisk S2 będzie służył tylko do zerowania. Teraz potrafisz już z powodzeniem precyzyjnie mierzyć czas, więc nadeszła wiekopomna chwila, by zrealizować też jakiś zegar. Zajmiemy się tym za miesiąc.
(jednego) przerwania - o najwyższym priorytecie wśród zgłoszonych. Na czas jego obsługi znów wyzeruje bit globalnego zezwolenia. Gdy obsłuży przerwanie, znów ustawi bit zezwolenia i obsłuży kolejne przerwanie.Warto pamiętać, że raz ustawiona flaga przerwania zostaje wyzerowana na początku procedury obsługi tego właśnie przerwania. Ważną konsekwencją jest też to, że jeśli w trakcie obsługi przerwania to samo przerwanie zostanie zgłoszone drugi raz, flaga znów zostanie ustawiona i procedura obsługi zostanie powtórzona po zakończeniu obsługi i po ustawieniu bitu zezwolenia globalnego. Ilustruje to rysunek F. Przychodzące w tym krótkim czasie kilka zgłoszeń tego samego przerwania wywoła pojedynczą reakcję, bo flaga zostanie ustawiona raz, a nie ma dodatkowego licznika sprawdzającego liczbę tak nietypowo zgłoszonych przerwań.
no zgłaszane i obsługiwane przerwanie będzie odkładać na stos informacje o zawieszanym właśnie wcześniejszym przerwaniu. To jest co prawda wyższa szkoła jazdy, ale warto wiedzieć o takiej możliwości.
Piotr Górecki Ciąg dalszy w następnym numerze EdW.
Opcja NOSAVE
Aby zapewnić typową obsługę przerwania od timera0, napiszemy: ON Timer0 etykietka i wtedy na czas wykonania procedury za etykietką na stos zostaną odłożone kluczowe informacje o stanie procesora. Wynika to nie z właściwości procesora, tylko z faktu, że kompilator „przetłumaczy” zwięzłe polecenie z grupy On Przerwanie etykietka na wiele poleceń, w tym poleceń zachowania na stosie stanu licznych rejestrów. Potrzebny będzie do tego, i czas i miejsce na stosie. Wystarczy jednak dodać klauzulę NOSAVE, a wtedy takie dodatkowe informacje nie zostaną zachowane na stosie. Oszczędzi to i czas, i miejsce w pamięci RAM. Program będzie poprawnie działał, ale pod jednym warunkiem: procedura obsługi nie może zmienić stanu kluczowych rejestrów procesora, w przeciwnym razie program może „pójść w kartofle”. Dlatego przy wykorzyF staniu bardzo pożytecznej opcji oszczędnościowej NOSAVE, procedura za etykietką musi być jak najprostsza, właśnie po to, żeby nie zmieniła stanu kluczowych rejestrów. Najlepiej niech zawiera tylko jedno polecenie ustawienia pojedynczego bitu, zwanego znacznikiem lub flagą. Cała właściwa procedura obsługi przerwania będzie wtedy zawarta w programie głównym i po każdym ustawieniu znacznika-flagi dzięki poleceniom IF...THEN zostanie wykonywana tylko raz. Oto szkielet takiego oszczędnościowego rozwiązania:
Typowo procesor AVR pojedynczo i kolejno obsługuje przerwania i w sumie nie pomija żadnego zgłoszenia. Takie obsługiwanie naraz tylko jednego przerwania ma głęboki sens – stos może być mały, a więc nie trzeba rezerwować nań tak na wszelki wypadek znacznej części RAM-u. Niemniej programista jeśli chce, może zmienić taki „oszczędny” tryb obsługi przerwań na zwykły, charakterystyczny dla innych procesorów. Wystarczy w tym celu po rozpoczęciu obsługi przerwania prograON Timer0 etykietka NOSAVE mowo ustawiać bit Do ‘program główny globalnego zezwoIf Flaga = 1 ‘flaga jest ustawiana po każdym przerwaniu lenia (SREG.7=1), Flaga=0 ‘więc procedura zostanie wykonana tylko raz czyli globalnie .... ‘tu cała procedura obsługi przerwania odblokowywać End If przerwania, by proLoop cesor w trakcie obEnd ‘koniec programu głównego sługi przerwania mógł je zawiesić etykietka: Flaga = 1 ‘lub SET Flaga i ewentualnie szybReturn ko podjąć obsługę przerwania o wyższym priorytecie. Ale oznacza to, że trzeba zarePiotr Górecki zerwować więcej miejsca na stos, bo każde kolejCiąg dalszy w następnym numerze EdW.
E l e k t ro n i k a d l a Ws z y s t k i c h
++
Wyłącznik z opóźnieniem 2662 W urządzeniu występują napięcia groźne dla życia i zdrowia. Osoby niepełnoletnie mogą wykonać i uruchomić układ wyłącznie pod opieką wykwalifikowanych opiekunów.
Do czego to służy?
W EdW 5/2000 ukazał się artykuł przedstawiający powolny ściemniacz. Ja natomiast proponuję wyłącznik z opóźnieniem. Układy te mogą mieć podobne zastosowanie. Zwykle gdy pstrykamy wyłącznikiem światło natychmiast gaśnie, a przy zastosowaniu tego układu - zgaśnie dopiero po ustalonym czasie. Dodatkową zaletą jest to, że płytka drukowana mieści się w puszce z typowym wyłącznikiem sieciowym, nie potrzeba więc przerabiać istniejącej instalacji oświetleniowej. Wystarczy przykręcić do istniejącego wyłącznika w ścianie i już. Wyłącznik z opóźnieniem można zastosować np. na klatce schodowej, w sypialni, do wyłączania oświetlenia nad drzwiami wejściowymi.
mowej instalacji oświetleniowej. Narysowałem go razem z pozostałymi elementami, ponieważ płytka wraz z nim tworzy jedną całość. Dalej mostek prostowniczy diody D2-D5 wraz z rezystorem R10. Działania tych elementów nie trzeba opisywać. Następnym blokiem jest tyrystor Ty1 i elementy, które sterują jego pracą - R9, C3 i diak DB3. Dzięki nim tyrystor nie jest włączany na początku każdego półokresu napięcia sieciowego, lecz z pewnym opóźnieniem. Po co potrzebne jest to opóźnienie? Wiadomo, że gdy tyrystor przewodzi, to spadek napięcia na nim jest bardzo mały, ok. 1V. Jak widać na schemacie, część elektroniki podłączona jest równolegle do tyrystora. Tak małe napięcie nie byłoby wystarczające do poprawnego działania tego układu. Dzięki temu opóźnieniu tyrystor włączany jest dopiero wtedy, gdy napięcie na kondensatorze C3 osiągnie wartość ok. 30V. Zanim tyrystor zostanie włączony, rosnące na nim napięcie, pojawiające się na początku każdego półokresu, poprzez diodę D1 zasila pozostałą część elektroniki.
Kolejnym blokiem jest tranzystor T2, wraz z diodą DZ2, kondensatorem C2 rezystorami R8, R5-R7. Zadaniem tranzystora T2 jest zwieranie punktu A z masą w odpowiednim czasie, co powoduje zablokowanie tyrystora. Ostatnią częścią schematu jest tranzystor T1 wraz z elementami dołączonymi do jego bazy. Blok ten po zaniku napięcia bardzo szybko rozładowuje kondensator C2. Część ta nie jest konieczna do poprawnej pracy wyłącznika z opóźnieniem. Jednak w niektórych przypadkach jest wskazana. Prześledźmy jak to działa pod napięciem. Przyjmijmy, że układ podłączony jest do sieci a wyłącznik jest rozwarty. Napięcie sieciowe prostowane jest na mostku D2-D5. Poprzez R10 i D1 oraz dwie gałęzie rezystorów R2-R4 i R5-R7 płynie prąd podtrzymujący stan naładowania kondensatorów C1 i C2. Ciąg dalszy na stronie 59.
Rys. 1 Schemat ideowy
Jak to działa?
Schemat wyłącznika zamieszczony został na rysunku 1. Można podzielić go na kilka bloków. Pierwszy, patrząc od prawej – wyłącznik S1 to typowy wyłącznik podtynkowy montowany w do-
E l e k t ro n i k a d l a Ws z y s t k i c h
51
+
Miernik częstotliwości w myszce Do czego to służy?
Projekt ten jest przykładem niecodziennego sposobu wykorzystania komputerowego „gryzonia”. Składa się z dwóch części: programu komputerowego F-Meter pracującego pod Windows i części elektronicznej – preskalera. Za pomocą programu F-Meter możemy mierzyć częstotliwość w siedmiu zakresach: 1. 2. 3. 4. 5. 6. 7.
Zakres 20H z 200H z 2kH z 20kH z 200kH z 2M H z 20M H z
Rozdzielczo 1H z 10H z 100H z 1kH z 10kH z 100kH z 1M H z
Niewielki zakres podstawowy i niewielka rozdzielczość narzucone są sposobem pomiaru, który polega na zliczaniu kliknięć myszy. Moje testy wykazały, że maksymalna częstotliwość kliknięć przenoszonych przez elektronikę myszy do komputera nie przekracza 20Hz. Wyższe częstotliwości można mierzyć za pośrednictwem preskalera.
Jak to działa?
Preskaler zbudowany został z modułów dzielących częstotliwość wejściową przez 10 i przez 100. Moduł dzielący oparty jest o układ 4518, który zawiera w swej strukturze dwa liczniki BCD. Schemat modułów można zobaczyć na rysunku 1. Połączenie w szereg 3 układów 4518 (6 liczników BCD) umożliwia wykorzystanie wszystkich przewidzianych w programie
52
F-Meter zakresów. Zakres 20MHz nie będzie jednak w pełni osiągnięty. Spowodowane jest to tym, że według danych katalogowych maksymalna częstotliwość, jaką taktowany może być układ 4518, nie przekracza 6MHz przy 10V i 2,5MHz przy 5V. Schemat ideowy miernika przedstawiony został na rysunku 2. Elementy R1,R2,R3 i T1 tworzą obwód wejściowy, który pozwala mierzyć sygnały w standardzie CMOS i TTL. Tranzystor T2 steruje pracą przekaźnika kontaktronowego. Styki zwierne tego przekaźnika połączyć należy ze stykami zwiernymi mikrostyka lewego przycisku myszy. W modelu przekaźnik ten zbudowałem „na piechotę” ze szklanej rurki kontaktronu i cewki elektromagnesu wymontowanego z budzika kwarcowego. Dioda LED D2 pełni funkcję kontrolną. W stanie spoczynku nie świeci się. W czasie dokonywania pomiaru świeci pulsacyjnie, proporcjonalnie do częstotliwości badanego sygnału. Świecenie w stanie spoczynku układu wskazuje na to, że kontaktron ma zwarte styki i co za tym idzie blokuje lewy przycisk myszy. Może tak się zdarzyć w przypadku trwałego podania logicznej jedynki na wejście preskalera przy pracy na zakresie 20Hz lub zatrzymaniu się licznika U3B ze stanem wysokim na wyjściu Q3. Zaradzić temu można poprzez odłączenie sygnału badanego w pierwszym przypadku. Wyłączeniem i włączeniem po kilku sekundach zasilania preskalera - w przypadku drugim. Jeśli dla
2638
kogoś rozwiązanie z wyłączaniem i włączaniem zasilania wydaje się zbyt brutalne, to może wejście R licznika U3B połączyć z masą przez rezystor 100kΩ i przez mikrostyk połączony z plusem zasilania. Teraz każde naciśnięcie mikrostyku zresetuje licznik. Przełącznikami Q1-Q7 wybieramy zakres pomiarowy. Mierząc częstotliwość na zakresie 20Hz przełącznik Q7 przełączamy na pozycję oznaczoną „f < 20Hz”. Wszystkie pozostałe przełączniki pozostają na pozycji oznaczonej NC. Przy pomiarze na zakresie 200Hz przełącznik Q6 przełączamy na pozycję „f < 200Hz”, a pozostałe przełączniki pozostają na pozycji „NC”, itd. Układ preskalera zasilany jest napięciem 12V. Można go zasilać napięciem niższym, np. 5V – jeżeli dysponujemy przekaźnikiem kontaktronowym z cewką na 5V.
Rys. 1 Rys. 2 Schemat ideowy
E l e k t ro n i k a d l a Ws z y s t k i c h
Program „F-Meter” napisany został w Delphi. Można go ściągnąć ze strony internetowej EdW z działu FTP.
Montaż i uruchomienie
Układ można zmontować na płytce drukowanej pokazanej na rysunku 3. Bardziej szczegółowego omówienia wymaga kwestia podłączenia preskalera do myszy. Przede wszystkim lepiej nie grzebać w myszy będącej na gwarancji. Jeżeli mamy drogą mysz i nie chcemy jej „ulepszać”, warto na potrzeby eksperymentowania kupić drugą. „Upgrade” myszy rozpoczniemy od jej rozkręcenia. Nie muszę chyba w tym miejscu przypominać, że komputer powinien być wyłączony, a mysz od niego odłączona. Na płytce z elektroniką odnajdujemy mikrostyk lewego przycisku myszy. Odwracamy płytkę drukiem do góry i równolegle do jego wyprowadzeń lutujemy dwa przewody. Schemat mojej myszy (A4Tech, model PRO-9) i spo-
sób podłączenia przewodów (oznaczonych S1 i S2) przedstawia rysunek 4. Przewody te łączymy z wyjściami oznaczonymi S1 i S2 na schemacie preskalera. Aby zapewnić wygodę użytkowania, trzeba zainstalować gniazdo i wtyk umożliwiające podłączenie preskalera w dowolnym momencie. W tym celu musimy poszukać miejsca w obudowie myszy, gdzie zamontujemy gniazdo, np. typu minijack. W czasie dokonywania pomiaru będziemy dołączać do niego preskaler. Powinno być ono zamontowane w takim miejscu, aby nie przeszkadzało w normalnej pracy z myszką. Dołączanie preskalera lub sygnału badanego może być dokonane w dowolnej chwili bez potrzeby wyłączania/włączania komputera lub programu F-Meter. Układ preskalera nie wymaga uruchamiania i działa od razu po dołączeniu zasilania, pod warunkiem, że został zmontowany ze sprawnych elementów i bez błędów montażowych. Płytkę preskalera można umieścić w obudowie, a przełączanie zakresów zrealizować na wielopozycyjnym przełączniku. W celu przeprowadzenia pomiaru dokonujemy następujących czynności: - Podłączamy zasilanie do preskalera, a preskaler do myszki. - Uruchamiamy program „F-Meter”. - Wybieramy odpowiedni zakres pomiarowy w programie i preskalerze. - Najeżdżamy kursorem myszy na pole pod wyświetlaczem. - Podłączamy mierzony sygnał do preskalera. - Dokonujemy pomiaru i ewentualnej korekty stopnia podziału. Dariusz Drelicharz
Rys. 3 Schemat montażowy Rys. 4
Wykaz elementów R1-R3,R6 . . . . . . . . . . . .47kΩ R4 . . . . . . . . . . . . . . . .100kΩ R5 . . . . . . . . . . . . . . . . .680Ω C1 . . . . . . . . . . . . .100µF/16V C2 . . . . . . . .100nF ceramiczny D1 . . . . . . . . . . . . . . . .1N4148 D2 . . . . . . . . . . . . . . . . . . .LED T1,T2 . . . . . . . . . . . . . .BC548 U1-U3 . . . . . . . . . . . . . . .4518 Q1-Q7 . . . . . . . . . . .przełącznik Przekaźnik kontraktronowy Komplet podzespołów z płytką jest dostępny w sieci handlowej AVT jako kit szkolny AVT-2638.
E l e k t ro n i k a d l a Ws z y s t k i c h
53
F orum Czytelników
Sterownik do oczka wodnego Ostatnio modne stało się budowanie na kawałkach wolnego terenu wszelkiego rodzaju oczek wodnych, fontann czy miniaturowych wodospadów. Dodatkowe oświetlenie takich miejsc daje nieprawdopodobny wygląd, a lejąca się woda jest miła dla ucha. Jedyną uciążliwą czynnością jest codzienne włączanie (wyłączanie) pompki oraz oświetlenia. Aby sobie ułatwić codzienne życie, można zbudować sterownik, który będzie automatycznie wykonywał powyższe proste czynności. Układ ten znajdzie zastosowanie nie tylko przy sterowaniu oczek wodnych, ale i wszelkiego rodzaju wodospadów czy innych wymyślnych budowli. Sterownik włącza światło po zapadnięciu zmroku i wyłącza je rano. W dzień włącza pompę, która pracuje jeszcze przez ustawiony czas po zapadnięciu zmroku, dzięki czemu jest wyłączana dopiero późnym wieczorem, kiedy już śpimy. Dodatkowe dwa przyciski umożliwiają sterowanie ręczne pompki, co może być istotne przy chęci przedłużenia pracy pompki lub jej wcześniejszego wyłączenia. Sterownik bez obwodów włączania pompki może realizować także funkcję prostego wyłącznika zmierzchowego.
54
Opis układu
Schemat ideowy sterownika znajduje się na rysunku 1. Przy oświetlonym światłem dziennym fotorezystorze R1 na wyjściu bramki U1A pojawia się stan wysoki, który przez diodę D1 blokuje licznik U2. Jednocześnie na wyjściu bramki U1B pojawia się stan niski, który poprzez kondensator C7 ustawia na wyjściu U1D przerzutnika RS stan wysoki. Stan ten załącza poprzez T2 przekaźnik sterujący pompą. Przekaźnik sterujący światłem jest wyłączony, gdyż na wyjściu bramki U1B panuje stan niski. Po zmroku na wyjściu U1A pojawia się stan niski, który poprzez D1 już nie blokuje licznika U2. Licznik U2 także w tym czasie nie jest blokowany przez D2, gdyż na wyjściu U1C jest stan niski. Ponieważ na wyjściu U1A jest teraz stan niski, to na U1B jest stan wysoki, który poprzez tranzystor T1 załącza przekaźnik sterujący oświetleniem. Jeżeli na wyjściu licznika Q14 po pewnym czasie pojawi się zmiana stanu wysokiego na niski, to poprzez C6 zostanie zmieniony stan przerzutnika RS. Na wyjściu U1D pojawi się stan niski, który wyłączy pompę, a na wyjściu U1C pojawi się poziom wysoki, który zablokuje przez D2 licznik U2,
by nie zliczał już impulsów z generatora, jaki tworzą elementy R3, R4, P1 oraz C5. Rezystor R2 umożliwia dobranie czułości fotorezystora, natomiast kondensatory C1 – C4 filtrują napięcie zasilające układ. Dodatkowe mikrostyki S1 oraz S2 umożliwiają ręczne sterowanie pompą. Zdjęcie zworek oznacza tylko ręczne sterowanie pracą pompki. Pozostawienie zworki JP1A włączy pompkę, ale będzie musiała być wyłączona ręcznie. Natomiast pozostawienie zworki JP1B umożliwia tylko automatyczne wyłączanie pompki, która aby pracowała, musi być uruchomiona ręcznie przyciskiem S2. Mostek B1 prostuje napięcie wprost z transformatora, natomiast stabilizator U3 utrzymuje je na poziomie 12V. Rezystory R8, R9 ograniczają prądy baz tranzystorów T1, T2, a rezystory R5 – R7 polaryzują odpowiednio wejścia bramek CMOS.
Montaż i uruchomienie
Sterownik należy zmontować na płytce drukowanej, która przedstawiona jest na rysunku 2. Montaż najlepiej będzie rozpocząć od wlutoRys. 1 Schemat ideowy
E l e k t ro n i k a d l a Ws z y s t k i c h
Forum Czytelników wania elementów najmniejszych, przechodząc dalej do elementów większych, kończąc na włożeniu układów scalonych do podstawek. Układ po poprawnym zmontowaniu powinien od razu poprawnie pracować. Ponieważ układ będzie pracował na zewnątrz, jego obwody trzeba pokryć specjalnym lakierem, który
uodporni sterownik na wpływ warunków atmosferycznych. Całość należy obowiązkowo umieścić w jednej z dostępnych na rynku obudów. Jako transformator zasilający można użyć niewielkiego transformatora o oznaczeniu TS2/56 lub można zastosować zewnętrzny zasilacz wtyczkowy. Na zewnątrz obudowy należy umieścić przyciski S1, S2 oraz poten-
Rys. 2 Schemat montażowy Wykaz elementów Rezystory R2(*),R3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1MΩ R4,R8,R9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10kΩ R5,R6,R7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .220kΩ P1 . . . . . . . . . . . . . . . . . . . . . . . . . . .Potencjometr 1MΩ R1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Fotorezystor Kondensatory C1,C3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100nF C2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .470µF/25V C4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100µF/16V C5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1µF stały C6,C7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47nF Półprzewodniki U1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4093 U2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4060 U3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .LM7812 T1,T2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .BC548 D1 – D4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1N4148 B1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .Mostek 1A okrągły Inne Z1,Z2,Z3 . . . . . . . . . . . . . . . . . . . . . . . . . . . .Złącza ARK2 PK1,PK2 . . . . . . . . . . . . . . . . . . . . .Przekaźnik RM96/12V JP1A,JP1B . . . . . . . . . . . . . . . . . . . . . .Jumper ze zworką S1,S2 . . . . . . . . . . . . . . . . . . . . . . . . . . . .Mikroprzyciski
E l e k t ro n i k a d l a Ws z y s t k i c h
cjometr P1 z dobraną eksperymentalnie skalą, która zgrubnie pozwoli określić czas, po jakim wyłączy się pompa po zapadnięciu zmroku. Czujnik światła należy tak umieścić, by nie miało na niego wpływu włączane oświetlenie. Niespełnienie tego warunku przyczyni się do nieprawidłowego działania sterownika. Różna konfiguracja zworkami umożliwia sterowanie pompą ręcznie, półautomatycznie lub automatycznie. Przy braku zworek sterowanie możliwe jest tylko ręcznie za pomocą przycisków S1, S2. Sterownik może być użyty do sterowania wszelkiego rodzaju fontannami, oczkami wodnymi, wodospadami czy też może być użyty jako prosty wyłącznik zmierzchowy. A może i do innych celów. Marcin Wiązania Od Redakcji. Układ trafił do Forum Czytelników, ponieważ model nie został sprawdzony w warunkach rzeczywistej pracy. Praktycznym problemem może okazać się problem wpływu warunków atmosferycznych, obudowy oraz obwodów sieci 220V, w tym transformatora. Na płytce dodano dwa punkty A, B. Jeśli ktoś będzie chciał, by lampa zaświecała się tylko po zmierzchu, na czas pracy układu U2, nie zamontuje rezystora R8, tylko między punkty A, B wstawi dodatkowy inwerter, na przykład w postaci tranzystora.
55
Forum Czytelników
Zewnętrzny przetwornik D/A do odtwarzacza CD Jeśli tylko posiadany przez nas odtwarzacz CD ma wyjście sygnału cyfrowego, to możemy się pokusić o zbudowanie zewnętrznego przetwornika D/A o bardzo dobrych parametrach; wcale nie jest to takie trudne jak mogłoby się wydawać. Tylko po co? Wbrew pozorom, ma to głęboki sens. Przetworniki cyfrowo-analogowe montowane w popularnych odtwarzaczach CD są z reguły średniej jakości. Często użyte tam układy scalone mają nawet całkiem dobre parametry, ale układy zasilania, prowadzenie mas oraz jakość użytych komponentów powodują, że całość nie ma najlepszych osiągów.
O końcowym efekcie decydują bowiem bardzo subtelne poziomy napięć, rzędu -80,-90, -100dB, a tu łatwo dają o sobie znać zakłócające prądy płynące w obwo-
dach mas oraz na przykład prądy indukowane w sąsiednich ścieżkach sygnałowych czy zasilających. Dokładność odtwarzania składowych napięcia wyjściowego o tak niskich poziomach decyduje o tym, jak odczuwa się na przykład atmosferę pomieszczenia, w którym dokonywano nagrania, dosłownie można poczuć jego wielkość i kształt. Możecie mi wierzyć lub nie, ale jest to ten przypadek, gdzie jakość wykonania układu elektronicznego przekłada się jakby na „głębokość” włożenia głowy słuchacza do studia nagraniowego czy sali koncertowej. Dobry przetwornik zapewnia bogatą scenę dźwiękową, dużą ilość szczegółów, poczucie obecności w pomieszczeniu wraz z wykonawcami, dobrą lokalizację pozornych źródeł dźwięku, bogactwo „średnicy” oraz czystość basu i wysokich tonów. Prościej mówiąc: kiedy mamy kiepski przetwornik, to jakbyśmy stali za otwartym oknem pomieszczenia, w którym grają.
Dobry przetwornik - to miejsca w pierwszych rzędach widowni. I czasem o takiej różnicy potrafi przesądzić w złym miejscu przylutowany przewód masy. Dlatego naprawdę warto wykonać dodatkowy przetwornik D/A (DAC) i przekonać się, że rzeczywiście potrafi on polepszyć brzmienie sprzętu średniej klasy. Ja do budowy swojego DAC użyłem układów scalonych firmy Crystal z Teksasu. Są to układy CS4390 i CS8412. Skorzystałem również częściowo z układu opublikowanego w czasopiśmie Hi-Fi World w 1998 roku. Parametry tych układów są rewelacyjne, a poza tym wśród melomanów brzmienie ich cieszy się dużym uznaniem.
Opis układu
Schemat ideowy układu pokazany jest na rysunku 1. Sercem urządzenia jest układ CS4390, czyli DAC. W 20-nóżkowym układzie scalonym mieszczą się wszystkie bloki
Rys. 1 Schemat ideowy
56
E l e k t ro n i k a d l a Ws z y s t k i c h
Forum Czytelników potrzebne do zamiany szeregowego sygnału cyfrowego na dwa różnicowe sygnały analogowe - kanał lewy i kanał prawy. Jako dodatek do podstawowej funkcji DAC zawiera również dwa cyfrowe filtry interpolujące kolejne próbki sygnału ze 128-krotnie zwiększoną częstotliwością. Umożliwia to potem łatwe odcięcie użytecznego sygnału od zakłóceń, których miejsce w widmie sygnału wyjściowego jest znacznie odsunięte w stronę wysokich częstotliwości. Można zatem użyć w tym celu analogowego filtru niskiego rzędu, który ma prostą konstrukcję i dobre parametry fazowe. Ponieważ CS4390 umożliwia przetwarzanie sygnałów cyfrowych w wielu różnych formatach, musi posiadać odpowiednie wejścia, za których pomocą można wybrać odpowiedni format dla sygnału wejściowego. Tu zajmiemy się formatem używanym w typowych odtwarzaczach CD audio. Bez wnikania w zawiłości działania interfejsu wejściowego zamieniającego szeregowy sygnał cyfrowy na postać równoległą sygnału lewego i prawego kanału - łączymy odpowiednie wyprowadzenia z masą lub z +VD. Wynika to ze szczegółowej specyfikacji CS4390 dostępnej na stronie www.crystal.com. Układ deemfazy ustawiamy na parametry odpowie-
E l e k t ro n i k a d l a Ws z y s t k i c h
dnie dla częstotliwości próbkowania 44,1 kHz (czyli DEM0 na +VD a DEM1 na masę). Zaletą opisywanego układu jest możliwość bezpośredniego ustawienia jego trybu pracy przy pomocy podania na odpowiednie nóżki stanów logicznych 0 lub 1, bez potrzeby cyfrowego sterowania układu np. magistralą I2C przez oddzielny mikrokontroler jak jest to robione w wielu innych typach przetworników. CS4390 ma wbudowane układy wyciszania, tak więc bez dodatkowych elementów przetwornik wycisza swoje wyjścia przy braku sygnału wejściowego oraz przy podaniu nieprawidłowego formatu sygnału. Do wnętrza CS4390 wbudowane są również precyzyjne analogowe filtry wyjściowych sygnałów różnicowych. Wystarczy zatem dołączyć do tych wyjść wzmacniacz różnicowy o dobrych parametrach i już efekt jest bardzo dobry. Dociekliwi mogą wypróbować różnego rodzaju dodatkowe filtry stosowane w innych konstrukcjach przetworników. Jest to zajęcie na długie zimowe wieczory... Zwłaszcza ocena działania poszczególnych dodatkowych układów filtrujących sygnały analogowe może się okazać czasochłonna i niejednoznaczna, bowiem efekty mogą się różnić jedynie ledwie odróżnialnymi niuansami. Po prostu okaże się, że
brzmienie CS4390 zawsze jest znacząco lepsze niż poprzednio używanego przeciętnego odtwarzacza CD. Pewne wątpliwości może nasuwać fakt, że układ scalony CS4390 może pracować nawet z formatami 24-bitowymi a w przypadku zwykłych płyt CD mamy do czynienia z zapisem 16-bitowym. Sytuacja, w której przetwornik jest w stanie liniowo przetwarzać dodatkowo aż 8 młodszych bitów w każdym słowie jest nad wyraz korzystna. Po prostu technologia wykonania tego układu jest o wiele bardziej zaawansowana niż wymaga tego używany sygnał wejściowy; dysponujemy zatem sporym zapasem precyzji i szybkości. Marek Klimczak
[email protected] Uwaga! Pełny tekst artykułu wraz z licznymi dodatkowymi fotografiami i oryginalnym schematem jest umieszczony na naszej stronie internetowej: http://www. edw.com.pl /library/pliki/przetwornikda.zip . Autor artykułu chętnie odpowie e-mailem na pytania dotyczące projektu, może też pomóc w zakupie kluczowych układów scalonych firmy Crystal.
57
Forum Czytelników
W iatromierz Przyszedł mi do głowy pomysł niecodziennego wykorzystania komputerka rowerowego, jako miernika siły wiatru. Muszę się przyznać, że w swojej „karierze” elektronika – hobbysty wykonałem około dziesięciu różnych konstrukcji takiego miernika. Oczywiście głównie skupiałem się na części mechanicznej i przekazywaniu informacji o prędkości wiatru, choć i sposobów wskazań przetestowałem kilka (mierniki wskazówkowe, linijki LED-ów, wyświetlacze 7-segmentowe).
Opis układu
Najpierw stosowałem różnego rodzaju silniczki od zabawek, walkmanów itp. – pracujące w roli prądnicy. Później testowałem układy z kontaktronem i transoptorem szczelinowym. To ostatnie rozwiązanie uważam za najlepsze. I takie właśnie zastosowałem w moim wiatromierzu. Jego schemat przedstawiony jest na rysunku 1. Diody D1 i D2 tworzą transoptor szczelinowy, który przesłaniany jest przez przesłonę obracającą się na osi wiatromierza (jedno przesunięcie na obrót). Wartość rezystora R1 ogranicza prąd diody D1 i zależy od napięcia zasilania układu. Rys. 1
Montaż i uruchomienie
Fotografie w artykule pokazują przetwornik mojego wiatromierza. Widać na nim sposób jego budowy i pewne rozwiązania konstrukcyjne, jakie w drodze testów uznałem za naj-
58
lepsze. Na samym początku mojej „przygody” z wiatromierzem stosowałem różnego typu, kształtu i rozmiaru śmigła. Mają one zasadniczą wadę – reagują tylko na wiatr od swego przodu (i od tyłu – wtedy jednak kręcą się w drugą stronę). Realizacja obracającego się zawsze pod wiatr śmigła nie ma sensu. Komplikuje to w znacznym stopniu część mechaniczną. Dlatego też obecnie preferuję wiatrak z miseczkami obracającymi się w osi pionowej. Najpierw w roli miseczek napędowych stosowałem przecięte na pół piłeczki od tenisa stołowego. Niestety, już po roku pracy nie nadawały się do użytku. Wyprężone w lecie i zmrożone w zimie żółkły, kruszały i pękały. Pod wpływem dotyku niemal kruszyły się w palcach. Cienki kauczuk z jakiego piłeczki te są wykonane nie nadaje się do tego rodzaju zastosowań. Znacznie lepiej nadają się plastikowe nakrętki z butelek do napojów i wód mineralnych typu PET. I takie właśnie nakrętki zastosowałem w moim modelu. Obudowę wiatromierza wykonałem z plastikowego pojemnika po witaminach Centrum. Polecam właśnie ten pojemnik. Przepracował u mnie na zewnątrz 3 lata i jedynie nieco zżółkł. Żadnych pęknięć. W jego nakrętce wykonałem otwór, w który włożyłem silniczek elektryczny od zabawki. Usunąłem z niego wszystkie wnętrzności (szczotki, uzwojenia), a pozostała tylko oś wirnika i metalowe obrączki utrzymujące wirnik na miejscu. Silniczek przykleiłem do nakrętki za pomocą kleju nakładanego na gorąco za pomocą pistoletu. W drugiej nakrętce wywierciłem na obwodzie cztery symetrycznie rozmieszczone otwory na miseczki napędowe. Miseczki są przy-
kręcone wkrętami do plastikowych rurek, które wcześniej zalałem w nakrętce klejem nakładanym na gorąco za pomocą pistoletu. Same wkręty dobrze jest zabezpieczyć przed korozją, chociażby zalewając im główki wspomnianym klejem. W środku nakrętki zalałem tym samym klejem zębatkę, której otwór pasuje do wirnika silniczka. W ten sposób można połączyć silniczek z miseczkami napędowymi. Płytkę transoptora przykleiłem do obudowy tym samym klejem, tak aby kawałek laminatu przyklejony do drugiego końca wirnika mógł przesłaniać transoptor. Wszystko to jest dobrze widoczne na fotografiach. Mając gotową część elektroniczną i mechaniczną, można przystąpić do uruchamiania całości. W tym celu układ transoptora należy połączyć z interfejsem komputerka: masa do masy i punkt OUT transoptora z punktem IN interfejsu oraz podłączyć zasilanie (VCC). Aby komputerek wyświetlał prędkość wiatru w km/h, należy wpisać mu odpowiednią wartość obwodu koła (wiatraka). W moim przypadku będzie to promień od środka nakrętki do środka miseczek napędowych x Π x 2. W moim wiatromierzu promień równy jest 4cm, a więc „obwód” wiatraka wynosi około 25cm. Czy mój wiatromierz wyświetla dokładną wartość prędkości wiatru? Tego niestety nie wiem, nie posiadam wzorcowego wiatromierza do przeprowadzenia porównań. Warto pamiętać także o tym, że licznik rowerowy ma pamięć wartości maksymalnej i średniej. Przyda się to do analizy prędkości wiatru. Dariusz Drelicharz
[email protected]
E l e k t ro n i k a d l a Ws z y s t k i c h
Ma g a z y n
dodatek
lektroniki żytkowej
do
U P
o
z
n
a
ć
i
z
r
o
z
u
m
miesięcznika
i
e
ć
s
p
r
z
ę
t
To warto wiedzieć
Kamery komputerowe, czyli
cyfrowe filmowanie i fotografowanie dla każdego Powszechne przejście z klasycznej fotografii chemicznej i filmu analogowego na fotografię i film cyfrowy to nieunikniona konieczność, a tylko kwestią czasu jest, kiedy to nastąpi. W naszym czasopiśmie (EdW 1/2001 str. 105) zamieszczony był obszerny artykuł na temat fotografii cyfrowej: Zera i jedynki kontra poczciwe halogenki srebra, a cyfrowa obróbka filmu omówiona została w artykule Jak nie torturować najbliższych, czyli komputer w technice wideo w EdW 2/2001 na str. 103. Cyfrowe kamery i cyfrowe aparaty fotograficzne to marzenie nie tylko Czytelników Elektroniki dla Wszystkich. Na razie, ceny takich urządzeń są jednak wysokie, co stanowi nieprzekraczalną barierę dla ogromnej rzeszy chętnych. Można wprawdzie kupić tanie kamery internetowe, podłączane do komputera, ale jakość obrazu jest zwykle wręcz
E l e k t ro n i k a d l a Ws z y s t k i c h
fatalna, z tego powodu takie kamery okazują się bezwartościowymi zabawkami. Ceny wielu kamer internetowych są naprawdę zadziwiająco niskie, jednak jakość obrazu też jest niestety bardzo niska. Panuje opinia, że popularne kamery internetowe to tylko gadżety nienadające się do żadnych poważniejszych zastosowań. Rzeczywiście do tej pory brakowało „środka” – urządzeń cyfrowych o zadowalającej jakości obrazu i przystępnej cenie, które mogłyby z powodzeniem służyć mniej zamożnym. Sytuacja na rynku zmienia się jednak i to dosłownie na naszych oczach, w ciągu ostatnich miesięcy. Nieprawdziwa stała się powszechna dotąd opinia o beznadziejnie słabej jakości popularnych kamer internetowych. Okazuje się, że dziś za przystępną cenę można kupić sprzęt mający naprawdę spore moż-
liwości i co najważniejsze, dający zaskakująco dobrą jakość obrazu. Można to udowodnić na podstawie oferty firmy Creative, doskonale znanej także z rodziny komputerowych kart dźwiękowych Sound Blaster i odtwarzaczy muzycznych, w tym D.A.P. Jukebox. Dowodem niech będą zamieszczone fotografie. Fotografia tytułowa wykonana została kamerą komputerową PC-CAM 750, pokazaną na fotografii 1. Fotografia 2 pochodzi z kamery WebCam Pro Ex, pokazanej na fotografii 3. Firma Creative ma w swojej ofercie także kilka innych kamer, jednak te dwie wyżej wymienione są godne szczególnej uwagi wszystkich Czytelników, zwłaszcza mniej zamożnych, którym nadarza się dobra okazja wejścia w świat cyfrowego filmu i cyfrowej fotografii. MEU
61
To warto wiedzieć Kamera PC-CAM 750 została wprowadzona na rynek na jesieni 2002. Wyprodukowane zapasy zostały szybko sprzedane i tuż po napisaniu artykułu okazało się, że nie sposób już jej kupić. W aktualnej ofercie firmy Creative pozostaje identyczna z wyglądu, nieco prostsza i tańsza kamera PC-CAM 300, mająca przetwornik CCD o mniejszej rozdzielczości i mniej pamięci FLASH (8MB). Daje ona obrazy z interpolacją o rozdzielczści 1,3 megapiksela. Firma obecnie wprowadza do oferty kolejny identyczny z wyglądu model PC-CAM 550 z przetwornikiem CMOS, a na maj/czerwiec zapowiada model będący następcą PC-CAM 750.
Fot. 1 Fot. 2
PC-CAM750/PC-CAM300
Kamera komputerowa PC-CAM 750, pokazana na fotografii 1, oferuje największe możliwości. Jest to właściwie połączenie najprawdziwszego aparatu cyfrowego, prostej kamery wideo i dyktafonu. W takiej roli urządzenie zasilane jest z czterech baterii AAA (LR3), a dane zapisuje we wbudowanej pamięci FLASH 16MB. W pamięci tej można zapisać do 20 fotografii o rozdzielczości 1600x1200 pikseli, do 85 fotografii o rozdzielczości 1024x768 i do 200 zdjęć 640x480 pikseli. Wbudowana inteligentna lampa błyskowa posiada funkcję wymuszonego błysku oraz tryb redukcji efektu „czerwonych oczu”. Funkcjonalność aparatu zwiększa samowyzwalacz. Zamiast zdjęć w pamięci można zarejestrować 60 minut dźwięku albo 75 sekund filmu (obraz + dźwięk) o rozdzielczości 352x288, co daje jakość porównywalną z magnetowidem VHS. Po podłączeniu aparatu do komputera za pomocą kabla USB można łatwo przenieść obrazy i dźwięk z pamięci aparatu na twardy dysk i po obróbce wykorzystać (wydrukować, wysłać przez Internet, zmontować film). W takim trybie pracy urządzenie jest zasilane z komputera przez kabel USB i może też pracować jako kamera
62
MEU
internetowa wysokiej jakości, służąc do przetwarzania i rejestrowania transmitowanego na żywo obrazu (w tym wideokonferencji) z rozdzielczością do 640 x 480 pikseli przy 16,7 milionach kolorów. Kamera PCCAM 750 jest prosta w obsłudze, a wyświetlacz LCD na tylnej ściance (fotografia 4) ułatwia pełną kontrolę i sterowanie, choć nie służy do wyświetlania (podglądu) obrazu, jak w klasycznych aparatach cyfrowych. Nie ma potrzeby ustawiania ostrości (ostre są przedmioty odległe od obiektywu od 1 metra do nieskończoności). Szklany obiektyw ma stosunkowo wąski kąt widzenia, dzięki czemu obraz nie wykazuje zniekształceń beczkowych, charakterystycznych dla popularnych kamer internetowych. Pełne wykorzystanie możliwości sprzętu możliwe jest tylko dzięki oprogramowaniu zainstalowanemu w komputerze. Wraz z kamerą PC-CAM 750 dostarczone są dwa CDROM-y. Jeden zawiera m.in. sterowniki Windows, dwa programy do obsługi kamery: PCCAM Center i WebCam Monitor oraz program do obróbki zdjęć Ulead Photo Express 4.0MCE. Drugi zawiera program do obróbki filmów Ulead Video Studio 5.0SE. Kamera PC-CAM 750 wyposażona jest w matrycę CCD o rozdzielczości 1024 x 768, więc obrazy o maksymalnej rozdzielczości 1600x1200 są interpolowane, czyli sztucznie powiększane. Kto dobrze rozumie zasady komputerowej obróbki zdjęć, może zamiast 20 fotografii 1600x1200, zapisać w pamięci FLASH do 85 zdjęć o rozdzielczości 1024x768, a interpolacji dokonać później, podczas komputerowej obróbki. Różnica jakości będzie naprawdę niewielka, za to liczba zdjęć zwiększy się ponadczterokrotnie.
WebCam Pro EX
Kamera internetowa WebCam Pro EX, pokazana na fotografii 3, podobnie jak wszystkie współczesne kamery jest zasilana z komputera – wykorzystuje łącze USB. Spośród małych kamer „webowych” Creative’a tylko WebCam Pro Ex posiada przetwornik CCD o rozdzielczosci 640x480, dający po interpolacji obrazy 1024x786 pikseli. Już model „o jedno oczko niższy” – WebCam Pro z przetwornikiem CMOS o identycznej rozdzielczości daje obraz radykalnie gorszy, co pokazują fotografie 5 i 6. Dlatego decydując się na kupno, warto dołożyć te parę złotych i koniecznie zakupić nie wersję Pro, tylko wersję Pro EX. Oprócz zdecydowanie lepszego przetwornika CCD za tę cenę otrzymuje się w komplecie także przyzwoity zestaw nagłowny (mikrofon+słuchawka). Kąt widzenia kamery Pro EX jest nieco mniejszy niż w większości kamer internetowych (co widać na fotografiach 5 i 6 robionych z tej samej odległości), dzięki czemu Fot. 3
E l e k t ro n i k a d l a Ws z y s t k i c h
To warto wiedzieć Filmy
Fot. 4
zniekształcenia typu beczka są mniejsze. Podobnie jak w typowych kamerach internetowych, ostrość należy ustawić ręcznie, a zakres regulacji ostrości sięga od kilku centymetrów do nieskończoności. Kamera WebCam Pro Ex rejestruje filmy w maksymalnej rozdzielczości 640 x 480 z częstotliwością do 30 klatek na sekundę. Oferuje 24-bitową głębię koloru, ma przyzwoitą czułość. Nieruchome zdjęcia mogą mieć rozdzielczość do 1024 x 768 (z interpolacją), a jak pokazują fotografie 2 i 5, ostrość i odwzorowanie kolorów są zaskakująco dobre. Takie parametry predestynują kamerę Pro EX także do zastosowań poważniejszych, biznesowych. Aby zaspokoić rosnące zapotrzebowanie na rozwiązania wideokonferencyjne, do kamery WebCam Pro Ex dołączono mikrofon i oprogramowanie Microsoft® NetMeeting®, dzięki któremu natychmiast po instalacji można korzystać z kamery w interaktywnym środowisku internetowym.
CCD kontra CMOS
Cała tajemnica dobrego oddania kolorów tkwi w przetworniku obrazu. W najtańszych kamerach stosuje się powszechnie przetworniki CMOS. Tymczasem do uzyskania przyzwoitej jakości barw niezbędny jest przetwornik CCD (Charge Coupled Device). I właśnie kamery z fotografii 1 i 3 mają taki przetwornik. Co bardzo ważne, tylko PC-CAM 750, PC-CAM 300 i WebCam Pro EX wyposażone są w przetworniki CCD. Wszystkie niższe modele małych WebCamów mają tańsze przetworniki CMOS. Choć są wyjątki, ogólnie biorąc przetworniki CMOS dają gorsze odwzorowanie kolorów. Należy bardzo wyraźnie podkreślić, że także popularne kamery internetowe innych firm zawierają przetwornik CMOS, który wprawdzie jest znacznie tańszy, ale daje zdecydowanie gorsze obrazy niż przeciętny przetwornik CCD. Fotografie 5 i 6 pokazują różnicę w odwzorowaniu kolorów – warto sprawdzić na swoich egzemplarzach EdW, jakie są rzeczywiste kolory okładek. Choć więc kamery z przetwornikami CMOS są tańsze, naprawdę warto dołożyć parę złotych i nabyć kamerę z przetwornikiem CCD. Różnica w cenie nie jest duża, a efekt nieporównanie lepszy.
E l e k t ro n i k a d l a Ws z y s t k i c h
PC-CAM 750 jako autonomiczna, zasilana z baterii kamera, pozwala zapisać w 16MB wbudowanej pamięci 75 sekund filmu o rozdzielczości porównywalnej ze słabym magnetowidem VHS. Natomiast przy podłączeniu kablem do komputera zarówno PC-CAM, jak i małe WebCAM-y mogą służyć do nagrywania na dysk dowolnie długich filmów o rozdzielczości obrazu do Fot. 5 WebCam Pro EX (CCD) 640x480 pikseli, przy szybkości maksymalnej 30 kla- Fot. 6 WebCam Pro (CMOS) tek na sekundę. Takie parametry zagwarantowałyby zarówno dużą rozdzielczość, porównywalną z klasycznym obrazem telewizyjnym, jak i idealnie płynny ruch, a jedynym ograniczeniem wydaje się tylko kabel łączący z komputerem. W praktyce bardzo wiele zależy od szybkości współpracującego komputera, który musi przetworzyć kolejne obrazy z kamery. Przetworzenie obrazu w komputerze to naprawdę pracochłonne zadanie, dlatego posiadacze starszych pecetów niewątpliwie mogą być rozczarowani efektem. Winy za małą płynność ruchu wcale nie ponosi jednak kamera, tylko komputer. Na czas rejestracji sekwencji wideo warto pozamykać wszystkie niewykorzystywane programy i sterowniki, a wcześniej przeprowadzić defragmentację dysku twardego. Przy bezpośrednim tworzeniu krótkich „pocztówek” wideo do przesłania przez sieć, a jest to w sumie bardzo łatwe, warto „pomajstrować” w ustawieniach i eksperymentalnie dobrać optymalne parametry (rozdzielczość, liczbę klatek na sekundę, kompresory wideo i audio). Rysunek 7 pokazuje odpowiednie okno w programie kamery PC-CAM Center. Trudno tu podać recepty na optymalne ustawienia, bo wiele zależy od współpracującego komputera. Po podłączeniu kamery, przy pierwszym kontakcie z uzyskiwanym Rys. 7 obrazem może powstać wrażenie, że nagrywane filmiki mają słabą jakość i wykazują a nawet jeszcze mniej i sprawdzić efekt. znaczne opóźnienie reakcji na ruch. Trzeba Należy się przekonać osobiście, czy warto koniecznie przeprowadzić eksperymenty, zwiększyć rozdzielczość do 640x480 kopracować przy różnej rozdzielczości obrazu sztem zmniejszenia płynności ruchu i więk– koniecznie trzeba wypróbować rozdziel- szej objętości pliku (strumienia). Zwykle czość 640x480, ale zapewne standardem bę- właśnie objętość pliku (strumienia) zadecydzie 320x240 lub 352x288 pikseli. Warto też duje o ostatecznych ustawieniach. Posiadacze starszych komputerów w miazmniejszać liczbę klatek na sekundę do 15, MEU
63
To warto wiedzieć
Rys. 8 Rys. 9
rę możliwości powinni wypróbować, jak ich kamera współpracuje z nowocześniejszymi, szybszymi komputerami (w szkole, w pracy, u kolegi). Warto też przejrzeć (angielskojęzyczny) plik pomocy do programu obsługującego kamerę – zawiera on kilka pożytecznych wskazówek. Na przykład aby rejestrując sekwencję z kamery, uzyskać jak najlepszą płynność ruchu, warto wyłączyć kompresję obrazu i zapisywać na dysk „surowy” obraz. Objętość materiału będzie wprawdzie radykalnie większa, ale potem ten „surowy” sygnał wideo można z powodzeniem zmontować za pomocą specjalistycznego oprogramowania i skompresować przy użyciu wybranego kodeka. To oczywiście jest zadanie dla nieco bardziej zaawansowanych. Rysunek 8 pokazuje zrzut z ekranu podczas montowania filmu za pomocą programu Ulead Video Studio 5.0SE, dołączonego do PC-CAM 750.
Dodatkowe programy
Ze wszystkimi kamerami firmy Creative dostarczany jest program Creative WebCam Monitor. Program zawiera zaawansowany mechanizm wykrywania ruchu na całym lub w wybranej części obrazu. Może taki fakt sygnalizować dźwiękiem. Umożliwia też wyko-
64
MEU
nywanie zdjęć osób znajdujących się w zasięgu kamery i umieszczenie ich na stronie internetowej albo też wysyłanie e-maili z informacją o wykryciu intruza. Fotografia 9 pokazuje zrzut z ekranu podczas konfiguracji programu WebCam Monitor. Do wszystkich kamer Creativa dołączone są płyty CD-ROM ze sterownikami, programami do obsługi kamery: PC-CAM Center i WebCam Monitor oraz programem do obróbki zdjęć Ulead Photo Express 4.0MCE. W zależności od modelu kamery, na płytach zawarte są jeszcze inne programy. Z tańszymi kamerami dostarczone są dodatkowe programy, niektóre pełniące rolę „wodotrysków”. Na przykład na niektórych płytach CDROM znajduje się „odlotowy” odtwarzacz multimedialny Oozic Player. Do niektórych dołączony jest program Media Talk, pozwalający wysyłać e-maile dźwiękowe i przeznaczony do prowadzenia (tanich) rozmów telefonicznych przez Internet z innymi posiadaczami tego programu. Gdy obaj uczestnicy rozmowy mają stałe łącza i zawsze włączone komputery, sposób nawiązywania połączeń internetowych jest oczywisty. Gdy wywoływany użytkownik wykorzystuje modem i/lub ma wyłączony komputer, przewidziano sprytny sposób sygnalizacji. Komputer automatycznie dzwoni kilkakrotnie krótko na zwykły telefon osoby wywoływanej i szybko rozłącza się, by domownik nie zdążył odebrać telefonu i by nie naliczono opłat za połączenie. Domownik zorientuje się w ten sposób, że ma włączyć komputer i nawiązać kontakt przez Internet. Pro-
gram Media Talk nie był testowany w Redakcji EdW. Należy podkreślić, że nie można wprost nawiązać rozmowy „najkrótszą drogą” między dwoma komputerami, bo z zasady organizacji Internetu zwyczajny użytkownik nie ma swojego adresu w sieci. Ma co najwyżej adres skrzynki e-mailowej, ale nie jest to adres jego komputera, który zwykle łączy się z siecią anonimowo przez serwery TPSA lub inne. Dlatego w rozmowie musi pośredniczyć specjalny serwer, przez co praktyczna przydatność dla polskiego użytkownika może okazać się znikoma. Do kamer PC-CAM300 i niższych modeli WebCam dołączone są dwa interesujące programy: PixMaker i PixScreen. Pierwszy umożliwia tworzenie własnych obrazków panoramicznych na podstawie serii zdjęć – seria zdjęć zostaje inteligentnie przetworzona na jeden obrazek, który pokazuje otoczenie w zakresie 360 stopni. Drugi to darmowy odtwarzacz takich panoram. PixMaker nie jest nieodłącznie związany z którąś z kamer. Ten ciekawy program może przetwarzać serię fotografii pochodzących z dowolnego źródła, a wyniki są zaskakująco dobre. Na naszej stronie internetowej w dziale FTP można znaleźć efekt działania PixMakera – plik pixmaker.zip. Jest to tak zwana panoramiczna pocztówka – plik wykonywalny .exe, który działa samodzielnie i nie wymaga posiadania programu PixScreen. Rysunek 10 pokazuje zrzut z ekranu podczas działania takiej panoramicznej pocztówki zrealizowanej za pomocą PixMakera. Dalszych informacji można szukać na stronie: www.pixaround.com
Światło i obróbka
Należy lojalnie ostrzec wszystkich przyszłych użytkowników wszelkich kamer cyfrowych, że jakość filmu i fotografii zależy w ogromnym stopniu od oświetlenia obiektu. Najlepsza kamera nic nie pomoże, jeśli oświetlenie będzie złe. Trzeba wyraźnie podkreślić, iż właśnie sposób oświetlenia jest kluczem do uzyskania pięknych fotografii, Rys. 10
E l e k t ro n i k a d l a Ws z y s t k i c h
To warto wiedzieć które podziwiamy w czasopismach i drukach reklamowych. Wprawdzie czułość przetworników obrazu jest dobra, jednak przy słabym oświetleniu wyraźnie rośnie poziom szumów. Warto też pamiętać, że cyfrowy aparat i kamera mają znacznie mniejszy zakres dynamiki niż oko ludzkie, dlatego należy unikać ostrego, kontrastowego oświetlenia. Liczba i moc lamp to tylko jedna sprawa. Druga, ważniejsza, to sposób ustawienia lamp i rodzaj wytwarzanego światła. Lepsze wyniki daje światło rozproszone, a nie punktowe.
Rys. 11 Fot. 12
W miarę możliwości trzeba więc stosować możliwie wiele źródeł o łagodnym, rozproszonym świetle – wtedy na obrazach nie będzie ostrych cieni. Kolejna istotna kwestia to barwa i skład widmowy światła, które zawsze jest mieszaniną promieniowania o różnych barwach. Znakomite jest światło dzienne rozproszone przez chmury, ale nie zawsze można zeń skorzystać. Bardzo dobre są żarówki halogenowe; zwykłe żarówki też nie są najgorsze. Tu pojawia się problem, bo zwykłe żarówki i halogeny to bardzo punktowe źródła, dające ostre cienie. Ich światło należy rozpraszać, np. z pomocą matowego kawałka pleksi czy szyby albo nawet kalki rysunkowej, pergaminu czy papieru śniadaniowego. Dość dobrze rozproszone światło dają klasyczne długie świetlówki, ale tu trzeba zwracać uwagę na skład widmowy światła - niektóre świetlówki dają słabe efekty, bo ich widmo promieniowania nie jest pełne i zawiera tylko kilka prążków. Jeszcze gorzej wypadają lampy rtęciowe i sodowe, których światło zawiera promieniowanie niemal jednej barwy. Aby w pełni wykorzystać możliwości kamery cyfrowej, dobrze jest przeprowadzić szereg eksperymentów i dobrać sposób oświetlenia i liczbę lamp, by uzyskać optymalny rozkład cieni i świateł.
Ponadto korekcję świateł i cieni oraz korektę barw można i trzeba przeprowadzić w komputerze, odpowiednio dobierając ustawienia kamery. Rysunek 11 pokazuje okno ustawień kamery programu PC-CAM Center. Można wykorzystać automat, zaznaczając okienko wskazywane czerwoną strzałką lub kliknąć przycisk Restore Factory Defaults. Warto przeprowadzić eksperymenty z ręcznym ustawieniem. Często „ręcznie” udaje się uzyskać nieco lepsze wyniki, choć trzeba przyznać, że automatyka naprawdę dobrze radzi sobie w większości przypadków. Oprócz oświetlenia i korekcji ustawień, duże znaczenie ma także obróbka zdjęć uzyskanych z kamery. Fotografia 12 pokazuje przykład: lewa fotografia to bezpośredni wydruk pliku uzyskanego wprost z kamery internetowej WebCam Pro EX przy pracy w trybie pełnego automatu, a fotografia prawa to obrazek uzyskany przy ręcznych ustawieniach i poddany obróbce za pomocą programu Photoshop. Wraz ze wszystkimi kamerami Creative’a dostarczony jest program Ulead Photo Express 4.0MCE. Jest to prosty program i można go polecić tylko początkującym. Bardziej zaawansowani wykorzystają choćby słynnego Photoshopa, niekonieczne w pełnej komercyjnej, tylko w taniej wersji (Photoshop Elements). Temat obróbki zdjęć poruszany był w EdW w artykułach: Skaner - oko komputera (9/2001 str. 62) i Elektroniczne obrazki (12/2001 str. 62). Więcej informacji o wyrobach firmy Creative można znaleźć na stronach firmy pod adresem: www.pl.europe.creative.com Piotr Górecki
E l e k t ro n i k a d l a Ws z y s t k i c h
MEU
65
To warto wiedzieć
Bezkompromisowa jakość audio, czyli
droga do Direct Digital Chain
Dlaczego przetwornik 1-bitowy jest lepszy od 16-bitowego część 3 Przebieg o stałej wartości da na wyjściu przetwornika ciąg na przemian zer i jedynek – zobacz rysunek 13. Same jedynki informują, że przebieg rośnie bardzo szybko, same zera – że bardzo szybko maleje. Przykładowy przebieg analogowy oraz sygnał cyfrowy uzyskany zeń za pomocą przetwornika delta pokazany jest na rysunku 14. Szczegóły znów nie są tu istotne, w każdym razie: 1-bitowy przetwornik DPCM nazywany jest przetwornikiem delta, a przestawiona metodą – modulacją delta () lub modulacją PWM (pulse width modulation). Przebiegi o różnym nachyleniu zostaną przetworzone na ciągi zer i jedynek, gdzie o nachyleniu przebiegu informuje stosunek liczby zer do liczby jedynek. Warunkiem prawidłowego działania jest duża częstotliwosć próbkowania – musi ona być wielokrotnie większa od częstotliwości przetwarzanego sygnału, jak pokazuje rysunek 15. Jeśli częstotliwość próbkowania będzie za mała (albo przyrost, kwant zmian będzie za mały) przetwornik delta „nie nadąży” za zmianami sygnału i wynik będzie błędny, jak pokazuje rysunek 16. Nietrudno się domyślić, że z tak przetworzonego sygnału (pochodnej funkcji) można łatwo odtworzyć funkcję oryginalną w prostym przetworniku cyfrowo-analogowym, zawierającym integrator (układ całkujący). Także i tu dokładność uzyskiwana przy rekonstrukcji przebiegu zależna jest oczywi-
Rys. 13 Rys. 14
66
MEU
ście od częstotliwości próbkowania podczas kodowania – czym wyższa częstotliwość próbkowania, tym lepiej.
PDM, SDM
Przedstawiona w poprzednim fragmencie, znana od wielu lat metoda PWM, choć użyteczna, ma istotne wady. W latach 60. ubiegłego wieku opracowano podobny, ale ulepszony sposób przetwarzania analogowo-cyfrowego nazywany PDM (pulse density modulation). Także i tu występuje przetwornik 1-bitowy, czyli najzwyklejszy komparator, a dla uzyskania dokładności przetwarzania, częstotliwość próbkowania też musi być wielokrotnie większa od najwyższej częstotliwości sygnału. Metoda przetwarzania PDM nazywana jest też bardzo często metodą sigma-delta (Σ - ∆). Zarówno sama nazwa, jak i liczne opisy działania skutecznie zniechęcają wielu od zajmowania się tymi interesującymi i nad wyraz pożytecznymi przetwornikami. Rzeczywiście podstawy teoretyczne i niezbędny aparat matematyczny wręcz przerażają. Okazuje się jednak, że ogólna zasada działania jest łatwa do zrozumienia, choć rzeczywiście szczegóły ich budowy mogą przestraszyć mniej zaawansowanych. Oto garść wyjaśnień: Można przyjąć w uproszczeniu, że w metodzie PWM na przetwornik A/C (komparator) podawana jest różnica między wartościami aktualnej i poprzedniej próbki sygnału wejściowego (w praktyce realizacje bywają inne, ale to nieistotny szczegół). W każdym razie kluczową rolę gra ta różnica i stąd nazwa przetworniki i modulacja delta ( ∆ delta). I to jest jasne i oczywiste. Nieco trudniej jest z metodą PDM, zwaną sigma-delta (Σ -∆). Można powiedzieć, że tu też przetwornik (komparator) określa różnicę
( ∆ - delta) między wartością aktualną sygnału, a sumą (Σ − sigma) wartości poprzednich próbek wyjściowych. Można przyjąć w uproszczeniu, że na wyjściu prostego przetwornika Σ - ∆ w danej chwili może pojawić się tylko jedna z dwóch wartości: 0, 1, wskazująca, czy w tej chwili sygnał wejściowy jest większy czy mniejszy od scałkowanej sumy poprzednich próbek. Na przetwornik analogowo-cyfrowy typu sigma-delta podawany jest sygnał analogowy, a sygnałem wyjściowym jest ciąg impulsów, podobnie jak w przetworniku delta (porównaj rysunek 14). Uproszczony schemat blokowy prostego przetwornika A/C typu
Rys. 15 Rys. 16
Rys. 17 Rys. 18
E l e k t ro n i k a d l a Ws z y s t k i c h
To warto wiedzieć
Rys. 19
Σ - ∆ pokazany jest na rysunku 17. Wygląda co najmniej tajemniczo. Mniej dziwnie prezentuje się schemat z rysunku 18 pokazujący, że sumator i filtr pętli to zwyczajny integrator (układ całkujący, czyli uśredniający, będący prościutkim filtrem dolnoprzepustowym) ze wzmacniaczem operacyjnym, że 1bitowy przetwornik A/C to najzwyczajniejszy komparator z dodatkowym przerzutnikiem D pełniącym rolę pamięci, a przetwornik C/A to zwyczajny przełącznik, podający na jedno z wejść intergratora dodatnie lub ujemne napięcie odniesienia, zależnie od stanu logicznego na wyjściu przetwornika. Najogólniej biorąc, integrator związany jest z określeniem sigma, a komparator – delta. Taki schemat może okazać się trudny do dokładnej analizy, niemniej podstawowa zasada działania jest beznadziejnie prosta. Zacznijmy od przetwornika C/A – jego działanie można zobrazować przykładem ciemnego pokoju i lampy. Mając zwykłą lampę ze zwykłym wyłącznikiem, można włączyć światło (stan 1) lub wyłączyć światło (stan 0). Wyłącznik jest tutaj najprawdziwszym 1-bitowym przetwornikiem cyfrowo-analogowym. Czy mając taki 1-bitowy przetwornik, można uzyskać pośrednie wartości oświetlenia, od całkowitej ciemności do pełnej jasności lampy? Oczywiście! Wystarczy włączać i wyłączać światło z odpowiednio dużą częstotliwością, by oko nie dostrzegło migotania. Dokładnie tak samo działa przetwornik C/A, czyli przełącznik z rysunków 17 i 18. Jeśli będzie odpowiednio szybko przełączany, pozwoli na wyjściu filtru uśredniającego uzyskać dowolne napięcie w zakresie –Uref...+Uref.
E l e k t ro n i k a d l a Ws z y s t k i c h
Ilustruje to rysunek 19. Same jedynki na wejściu cyfrowym A oznaczają ciągłe dołączenie napięcia +Uref do filtru RC. Na wyjściu B pojawi się pełne napięcie +Uref. Podanie na wejście A na przemian zer i jedynek da na wyjściu B napięcie równe połowie napięcia między +Uref i –Uref, czyli potencjał masy. Ogólnie biorąc, wartość napięcia na wyjściu B zależy od stosunku liczby zer do liczby jedynek. W przetworniku z rysunku 18 zastosowany jest nie prościutki filtr RC, tylko integrator ze wzmacniaczem operacyjnym. Oprócz roli filtru uśredniającego pełni on dodatkowo rolę sumatora. Ściślej biorąc, zgodnie z rysunkiem 17 jest to układ odejmujący napięcie sygnału wejściowego i sygnału z przetwornika C/A. Tym samym na wejście komparatora podawane jest napięcie będące uśrednioną różnicą oryginalnego sygnału i sygnału z wewnętrznego przetwornika C/A. Należy potraktować to (niewielkie) napięcie jako sygnał błędu. I właśnie ten sygnał błędu, a konkretnie jego biegunowość, zadecyduje o tym, jaki będzie stan wyjściowy przetwornika po następnym impulsie zegarowym. Ten stan, gdy pojawi się na wyjściu, dzięki obecności przetwornika C/A, skoryguje średnie napięcie na wyjściu integratora i następny stan na wyjściu będzie zależał od biegunowości aktualnego napięcia błędu. Na wyjściu pojawia się ciąg zer i jedynek, których stosunek jest wyznaczony przez napięcie wyjściowe. Uproszczony przykład pokazany jest na rysunku 20. Wyraźnie widać, że niedoskonałość wynika z niezbyt dużej częstotliwości próbkowania. Dokładność przetwarzania i późniejszego rekonstruowanego sygnału zależy od częstotliwości próbkowania: czym wyższa, tym lepiej. Co niezmiernie ważne, wspomniane wcześniej szumy (rekwantyza-
Rys. 20 Rys. 21
cji) są w tym przypadku przesunięte w górę, w pasmo leżące znacznie powyżej pasma akustycznego. Przetwarzanie sigma-delta zapewnia też znakomitą liniowość i ma też inne ważne zalety. W każdym razie koniecznie należy zauważyć, iż w przetworniku typu delta stosunek liczby zer do liczby jedynek w ciągu wyjściowym informuje o nachyleniu przebiegu wejściowego. W przetworniku sigmadelta – nie o nachyleniu, tylko o amplitudzie, co potwierdza rysunek 21. I to jest bardzo istotne. I oto doszliśmy do systemu SACD. Dalsze szczegóły na temat tego systemu zawarte są w ostatniej, czwartej części artykułu, która ukaże się za miesiąc. Robert Bandyk
MEU
67
Genialne schematy, czyli co by było, gdyby... W tej rubryce prezentujemy schematy nadesłane przez Czytelników. Są to zarówno własne (genialne) rozwiązania układowe, jak i ciekawsze schematy z literatury, godne Waszym zdaniem publicznej prezentacji bądź przypomnienia. Są to tylko schematy ideowe, niekoniecznie sprawdzone w praktyce, stąd podtytuł „co by było,
gdyby...”. Redakcja EdW nie gwarantuje, że schematy są bezbłędne i należy je traktować przede wszystkim jako źródło inspiracji przy tworzeniu własnych układów. Przysyłajcie do tej rubryki przede wszystkim schematy, które powstały jedynie na papierze, natomiast układy, które zrealizowaliście w prakty-
ce, nadsyłajcie wraz z modelami do Forum Czytelników i do działu E-2000. Nadsyłając godne zainteresowania schematy z literatury, podawajcie źródło. Osoby, które nadeślą najciekawsze schematy oprócz satysfakcji z ujrzenia swego nazwiska na łamach EdW, otrzymają drobne upominki.
Interesująca sonda logiczna Schemat ten znalazłem na jednej z kserokopii dość starych polskich czasopism elektronicznych (nie jestem jednak w stanie zidentyfikować tytułu :( Zgodnie z tym, co jest napisane w opisie, sonda ta została wykonana przez zakłady w Dniepropietrowsku. Jako wskaźnik został użyty czerwony wyświetlacz siedmiosegmentowy z kropką o wspólnej katodzie. Wszystkie bramki zastosowane w układzie to dwa stare, poczciwe 7400 (prawie każdy elektronik znajdzie u siebie w szufladzie pokaźne ich ilości). Dioda D1 zabezpiecza układ przed
odwrotnym podłączeniem zasilania. Tabela wskazań jest pokazana na rysunku. Myślę, że osoby zainteresowane układem z chęcią zmodyfikują go do własnych potrzeb. Przy odrobinie chęci układ da się zbudować „na pająka“ i zamknąć w obudowie od długopisu, dodając przy okazji diodę Zenera i rezystor, aby uczynić układ bardziej uniwersalnym, jeżeli chodzi o zasilanie lub też przerobić go całkowicie i zastosować zamiast układów TTL układy CMOS. Grzegorz Rapa z Legnicy
Wzmacniacz klasy D Już w latach 80. podawane były schematy wzmacniaczy impulsowych, które dziś nazywane są wzmacniaczami klasy D. W czechosłowackim Amaterskim Radiu z roku 1986 był schemat takiego wzmacniacza do samochodu, zrobiony bardzo prosto z czterech układów scalonych i czterech tranzystorów. Przy zasilaniu napięciem 12...16V moc wyjściowa na 4 omach wynosi około 10W, a zniekształcenia 0,3%. Sebastian Krawczyk z Czerwonki
Pilot Droga Redakcjo! Na łamach EdW został przedstawiony pilot do sterowania komputerem PC za pomocą dowolnego pilota RC5. Został on wykonany z wykorzystaniem mikroprocesora. Ja natomiast chciałbym drogiej redakcji przedstawić o wiele prostsze rozwiązanie tegoż problemu. Niestety nie jestem dobrym elektronikiem i nie wiem, na jakiej zasadzie
68
to działa, ale przynajmniej działa (wiem, bo wypróbowałem). Nie wiem kto jest autorem tego urządzenia, ponieważ schemat znalazłem w Internecie. Do pracy potrzebny jest program „girder“ oraz „Igor plugin”.
E l e k t ro n i k a d l a Ws z y s t k i c h