w w w. e p . c o m . p l
ELEKTRONIKA PRAKTYCZNA •
NA CD M.IN.: KATALOG FIRMY ALLEGRO SEMICONDUCTOR, ST6-REALIZER
Miêdzynarodowy magazyn elektroników konstruktorów
4/2003
●
kwiecień
●
15 zł 50 gr
(w tym 7% VAT)
4/2003 • kwiecieñ
▲
Projekty Czytelników
Na str. 95 przedstawiamy pierwszą część opisu prostego programatora pamięci EEPROM z interfejsem szeregowym.
Yampp−7 W drugiej części artykułu prezentujemy m.in. sposób dołączenia do Yamppa wyświetla− cza graficznego. Str. 45.
▲
▲ 12−kanałowy regulator mocy DMX Sterowanie oświetleniem dyskotekowym nie jest tak trudne jak mogłoby się wydawać na pierwszy rzut oka, o czym przekonuje autor artykułu opubli− kowanego na str. 27.
▲
Programowany sygnalizator głosowy
To proste urządzenie można wykorzystać w dowolnej aplikacji jako odtwarzarkę komunikatów głosowych. Str. 33.
Konwerter USB<−>IrDA Na str. 21 przedstawiamy opis budo− wy kompletnego interfejsu USB2IrDA, dzięki któremu wymiana danych pomiędzy Twoim komputerem a tele− fonem, drukarką lub palmtopem staje się niezwykle łatwa.
▲
▲
Uniwersalny nadajnik SIRC/RC5 Za pomocą przystawki do PC, której opis znajduje się na str. 41, można sterować pracą dowol− nego zdalnie sterowane− go urządzenia, rozpozna− jącego polecenia kodo− wane w RC5 lub SIRC.
Dekoder dźwięku dookólnego SRS Drugą część opisu procesora dźwięku dookólnego SRS publikujemy na str. 37.
▲
Miniprojekty W tym miesiącu w Miniprojektach przedstawiamy opis m.in. rewelacyj− ne oprogramowanie, które zamienia PC w wielopunktowy termometr.
▲
▲
Zestawy lutownicze JBC O nowościach firmy JBC − jednego z większych na naszym rynku dostawców sprzętu lutowniczego − piszemy na str. 55.
6
Elektronika Praktyczna 4/2003
Nr 4 (124) kwiecień 2003
Projekty Headwards! − czyli mysz się chowa, część 1 ........................ 14 Konwerter USB<−>IrDA .............................................................. 21 12−kanałowy regulator mocy sterowany sygnałem DMX512, część 1 .................................................... 27
▲ Multimetry cyfrowe serii 3550
Programowany sygnalizator głosowy .................................... 33
Nowości na rynku multimetrów stacjonarnych przedstawiamy w artykule na str. 66.
Uniwersalny nadajnik RC5/SIRC, część 2 .............................. 41
Dekoder dźwięku dookólnego SRS, część 2 ......................... 37 Yampp−7 − kieszonkowy odtwarzacz MP3, część 2 ............. 45
Miniprojekty Lämpömittari, czyli najprostszy termometr cyfrowy na PC .... 75 Zabezpieczenie przed odwrotną polaryzacją ..................... 76
Programy Protel DXP − przełom na rynku narzędzi EDA dla elektroników, część 2 ........................................................ 62 Autorouter Specctra, część 3 ................................................. 71
Kurs Podstawy projektowania systemów mikroprocesorowych, część 2 ................................................ 85 Język C dla mikrokontrolerów 8051, część 11 ...................... 88
▲ Protel DXP
CRC doda Ci pewności, część 4 ........................................... 91
Kolejna cześć artykułu, w którym przedstawiamy możliwości naj− nowszego pakietu EDA firmy Altium. Str. 62.
Automatyka Modułowe regulatory temperatury firmy Omron .............. 135 O czym należy pamiętać podczas dobierania czujnika temperatury ............................................................................ 138
Podzespoły
Zilogowy webserwer Na str. 51 przedstawiamy możli− wości webserwera wykonanego na mikrokontrolerze firmy Zilog.
Zilogowy webserwer ................................................................. 51
Sprzęt Zestawy lutownicze firmy JBC, część 1 ................................. 55 Fluke 789 − miernik dla automatyków .................................... 58
▲
Multimetry cyfrowe serii 3550 .................................................. 66 Na większą skalę − systemy i urządzenia APS dla producentów elektroniki .................................................. 69 Nowoczesne akumulatory, część 1 ....................................... 81
Projekty Czytelników Miniprogramator szeregowych pamięci EEPROM, część 1 ... 95
Z kraju i ze świata ........................................................ 119 Biblioteka EP ................................................................. 129 Kramik+Rynek ................................................................ 97 Listy ................................................................................. 103 Ekspresowy Informator Elektroniczny ..................... 115 Wykaz reklamodawców ............................................ 118
Elektronika Praktyczna 4/2003
7
Headwards! P R O J E
K
T
Y
Headwards! Czyli: mysz się chowa, część 1
Ulepszenie swojego ìpecetaî - to d¹øenie wielu elektronikÛw-hobbystÛw. W†artykule przedstawiono projekt zupe³nie nietypowego urz¹dzenia steruj¹cego jego prac¹. DziÍki niemu, przy niewielkiej wprawie, komputer staje siÍ pos³uszny naszej... g³owie! Rekomendacje: fani komputerÛw s¹ szczegÛlnie podatni na rewolucyjne pomys³y, a†do takich niew¹tpliwie naleøy pomys³ sterowania prac¹ komputera za pomoc¹ ruchu g³owy.
14
Kiedy firma Apple na pocz¹tku lat osiemdziesi¹tych wyposaøy³a produkowane przez siebie komputery w†nowy typ urz¹dzenia wskazuj¹cego (myszkÍ), nikt nie spodziewa³ siÍ, øe mysz przyjmie siÍ tak szybko i†na tak ogromn¹ skalÍ. Mimo øe pÛüniej wymyúlono jeszcze wiele innych urz¹dzeÒ o†podobnym zastosowaniu (jak choÊby piÛro úwietlne, trackball czy tablet), øadne z†nich nie odnios³o sukcesu choÊby porÛwnywalnego z†dokonaniem firmy Apple. Dziú mysz jest juø pe³noletnia i... chyba zaczyna tr¹ciÊ myszk¹! Mam zaszczyt przedstawiÊ jej kolejnego konkurenta - nazwa siÍ Headwards, co z†angielskiego znaczy ìw kierunku g³owyî. Czytelnicy EP zapewne widzieli juø wiele rÛønych, w†tym takøe dziwnych projektÛw. Ten jest zdecydowanie jednym z†tych najdziwniejszych. Przedstawione w†artykule urz¹dzenie ma za zadanie okreúlaÊ kierunek ustawienia g³owy, reagowaÊ na mruganie powiek i†komunikowaÊ siÍ z†komputerem. Wszystko to po to, øeby zast¹piÊ urz¹dzenie z†zesz³ego
wieku - myszkÍ mianowicie. Nie do wykonania? Przekonajmy siÍ!
Bez teorii ani rusz Jak w†wiÍkszoúci amatorskich urz¹dzeÒ elektronicznych, takøe i†w†tym projekcie najbardziej liczy siÍ nie tyle wykonanie, co pomys³. Mniej czasu zajͳo mi uruchomienie prototypu niø wczeúniejsze rozwi¹zanie wszystkich problemÛw teoretycznych. Zacznijmy wiÍc od sprawy najciekawszej, czyli od wykrywania pozycji g³owy. ChoÊ sposobÛw na rozwi¹zanie tego problemu jest prawdopodobnie wiele (a kaøde ma swoje zalety i†jeszcze wiÍcej wad), to detekcja kierunku zwrÛcenia g³owy wcale nie jest prosta w†realizacji. Jednymi z†pomys³Ûw, ktÛre pocz¹tkowo zaprz¹ta³y moj¹ g³owÍ, by³o wykorzystanie ultradüwiÍkÛw (problemy z†echem), akcelerometrÛw (drogie i†trudno dostÍpne) lub kamery (niedok³adne, drogie i†skomplikowane od strony programowej i†sprzÍtowej). W†omawianym projekcie stanͳo w†koÒcu na pomyúle wykorzystania podczerwieni, za czym przemawia prostota, niski
Elektronika Praktyczna 4/2003
Headwards! gdzie GL, GP, DL, DP to natÍøenia úwiat³a docieraj¹ce do poszczegÛlnych odbiornikÛw (GÛrny Lewy, GÛrny Prawy itd.). Zdaje siÍ, øe najtrudniejsza sprawa teoretyczna juø za nami. Nie spoczywajmy jednak na laurach, przed nami kolejne zadanie - musimy wykrywaÊ mrugniÍcia okiem! Brzmi to úmiesznie, ale jeszcze úmieszniejsze by³o dojúcie do rozwi¹zania. Dobrze, øe lustra mÛwi¹ tylko w†bajkach, bo moje na pewno by siÍ odezwa³o, ale do rzeczy. Wystarczy parÍ Rys. 1. Idea działania nagłownego sterownika myszy razy do siebie pomrugaÊ, øeby dojúÊ do wniosku, øe przy mruwystarczy obliczanie wychyleÒ koszt i, jak siÍ okaza³o, zupe³nie ganiu jednym okiem opuszczamy w†pionie i†poziomie na podstawie niez³y efekt praktyczny. brew, a†co za tym idzie, zmniejnastÍpuj¹cych wzorÛw: Wiemy juø wiÍc, w†ktÛrym szamy przeúwit nad oczodo³em. X=(GL+DL)/(GL+GP+DL+DP) kierunku iúÊ, problem tylko Czemu by wiÍc tego nie wykooraz w†tym, w†jaki sposÛb przy pomorzystaÊ? RÛwnieø do tego celu Y=(GL+GP)/(GL+GP+DL+DP), cy samych nadajnikÛw i†odbiornimoøemy uøyÊ podczerwieni. kÛw podczerwieni uzyskaÊ W†urz¹dzeniu prototypoinformacje o†kierunku? Nic Można także inaczej wym ürÛd³a úwiat³a umieszprostszego! Kilka nieprzePierwszy na łamach EP projekt czone zosta³y przy nosie spanych nocy zaowocowa³o umożliwiający nietypowe sterowanie (nieznacznie poniøej brwi pomys³em przedstawionym kursorem myszki (także za pomocą i†rÛwnolegle do nich), natona rys. 1. Aby zrozumieÊ głowy) opisaliśmy w EP4 i 5/2000. Była miast fotoodbiorniki z†boku zasadÍ dzia³ania takiego to “myszka” (pokazana na zdjęciu) okularÛw. A†tak! Zapomnia³uk³adu odbiornikÛw (w tym wykorzystująca czujnik przyspieszenia bym napisaÊ, øe interfejs wypadku fototranzystorÛw) ziemskiego firmy Analog Devices, a rolę urz¹dzenia bÍdzie mia³ poi†nadajnikÛw (diod IR), naprzycisku spełniał czujnik ciśnienia − staÊ w³aúnie okularÛw. Tym leøy przypomnieÊ sobie użytkownik myszki zamiast klikać, po razem sprawa (przynajmniej odrobinÍ fizyki, a†dok³ad- prostu lekko dmuchał w specjalny ustnik. jeúli chodzi o†teoriÍ) przedniej - teoriÍ strumieni úwietstawia siÍ duøo proúciej lnych. Zapomnijmy na naleøy jedynie wykryÊ, czy chwilÍ, øe przedstawione fodo fotoodbiornika úwiat³o totranzystory posiadaj¹ sodociera czy teø nie. Takie czewkÍ skupiaj¹c¹ i†przyjrozwi¹zanie wykrywania mijmy, øe ürÛd³o úwiat³a mrugniÍÊ eliminuje problem w†postaci diody IR emituje ignorowania zwyczajnego úwiat³o rÛwnomiernie rozmrugania oboma oczyma, proszone. Jak widaÊ na ryprzy ktÛrym brew nie zostasunku, odbiorniki podczerje úci¹gniÍta. wieni ustawione s¹ wzd³uø krawÍdzi bocznych ostros³upa czworok¹tnego prawid³owego. W†po³oøeniu rÛwnowagi, tj. kiedy podstawa powsta³ego ostros³upa jest prostopad³a do osi nadajnika przechodz¹cej przez úrodek tej podstawy, na kaødy fotoodbiornik pada taki sam strumieÒ úwiat³a. Co siÍ jednak stanie, kiedy ca³y uk³ad odbiornikÛw odrobinÍ przesuniemy wzglÍdem sta³ego wierzcho³ka ostros³upa? Oczywiúcie, strumienie úwiat³a na poszczegÛlnych czujnikach zaczn¹ siÍ miÍdzy sob¹ rÛøniÊ. Na podstawie tych rÛønic, przy pomocy nieskomplikowanego algorytmu, bÍdziemy w†stanie okreúliÊ zmianÍ po³oøenia. Dla naszych potrzeb Rys. 2. Schemat blokowy nagłownego sterownika kursora
Elektronika Praktyczna 4/2003
15
Headwards!
Fot. 3. Umiejscowienie nadajnika podczerwieni na okularze
Upiekliúmy wiÍc dwie pieczenie na jednym ogniu - uk³ad nie bÍdzie musia³ siÍ juø o†to martwiÊ i†bÍdziemy mogli klikaÊ... oczami! Co wiÍcej, bÍdziemy dbali o†zdrowie naszych oczu, a†to dlatego, øe wiele problemÛw z†oczami jest wynikiem zbyt ma³ej czÍstotliwoúci mrugania podczas pracy przed monitorem.
Co tygryski lubi¹ najbardziej To, co najtrudniejsze, jest juø za nami. Teraz wszystko bÍdzie juø przyjemne - musimy zaj¹Ê siÍ stron¹ elektroniczn¹. SpÛjrzmy wiÍc na schemat blokowy z†rys. 2, na ktÛrym przedstawiony zosta³ sposÛb realizacji wczeúniej opisanych zagadnieÒ. Od pocz¹tku wiadomo by³o, øe uk³ad steruj¹cy bÍdzie musia³ mieÊ budowÍ analogowo-cyfrow¹. Okulary po³¹czone s¹ z†analogow¹ czÍúci¹ uk³adu i†maj¹ wbudowane dwa nadajniki podczerwieni dla oczu (fot. 3), dwa czujniki odpowiedzialne za wykrywanie mrugania (fot. 4) oraz cztery fotoodbiorniki badaj¹ce pozycjÍ g³owy (fot. 5). Nadajniki s¹ sterowane generatorem fali prostok¹tnej, genero-
Fot. 4. Umieszczenie czujników wykrywających mruganie
16
wanej programowo przez mikrokontroler, a†nastÍpnie wzmacnianej przez prosty wzmacniacz. Aby uniemoøliwiÊ zak³Ûcanie pracy urz¹dzenia przez úrodowisko i†wzajemne zak³Ûcanie siÍ obu czÍúci uk³adu, nadajniki wspÛ³pracuj¹ce z†czterema fotoodbiornikami wykrywaj¹cymi pozycjÍ g³owy pracuj¹ na czÍstotliwoúci 5†kHz, natomiast nadajniki potrzebne do wykrywania mrugania migaj¹ z†czÍstotliwoúci¹ 15 kHz. Sygna³y z†czterech odbiornikÛw podczerwieni poprzez filtry i†demodulatory podawane s¹ na wejúcia przetwornika analogowo-cyfrowego, zawartego w†mikrokontrolerze, natomiast sygna³y z†czujnikÛw oczu, po przejúciu przez filtr i†demodulator, poddawane s¹ detekcji i†doprowadza siÍ je do cyfrowych wejúÊ tego mikrokontrolera. Ten z†kolei ma za zadanie plotkowaÊ o†wszystkim czego siÍ dowiedzia³ z†komputerem. Nie pozostaje nam teraz nic innego, jak przyjrzeÊ siÍ schematowi elektrycznemu przedstawionemu na rys. 6. Nie zniechÍcaj¹c siÍ jego rozmiarami, zauwaøamy zgodnoúÊ ze schematem blokowym przedstawionym wczeúniej. Zacznijmy wiÍc od uk³adu zasilania. Poniewaø uk³ad bÍdzie wspÛ³pracowaÊ z†komputerem i†prawdopodobnie zechcemy w³oøyÊ go do jego wnÍtrza, niewybaczalne by³oby niewykorzystanie zasilacza komputerowego, doprowadzaj¹cego zasilanie do napÍdÛw wewnÍtrznych. Niestety, zasilanie to jest ìzaúmieconeî przez cyfrow¹ elektronikÍ komputera, a†poniewaø uk³ad jest po czÍúci analogowy, to zasilanie to naleøy najpierw przefiltrowaÊ. Dla czÍúci analogowej uk³adu zadanie to spe³ni zwyk³y filtr LC, czÍúÊ cyfrowa bÍdzie natomiast zasilana bezpoúrednio z†zasilacza. Waøne jest, aby w†projekcie obwodu drukowanego uwzglÍdniÊ osobne linie zasilania dla obu czÍúci uk³adu, a†masy po³¹czyÊ tylko w†jednym punkcie, jak siÍ to robi w†uk³adach audio. Juø na pierwszy rzut oka widaÊ by³o, øe pewne bloki na schemacie s¹ jednakowe. I†tak, mamy cztery identyczne bloki analogowych filtrÛw pasmowych i†demodulatorÛw dla czujnikÛw pozycji g³owy oraz dwa nieznacznie rÛøni¹ce siÍ od poprzednich
Fot. 5. Umieszczenie fotodetektorów wykrywających położenie głowy
filtry, demodulatory i†detektory mrugania. W†przypadku czujnikÛw pozycji, sygna³ z†fototranzystorÛw przepuszczany jest przez filtry gÛrno- i†dolnoprzepustowe RC w†celu selekcji czÍstotliwoúci 5†kHz. NastÍpnie sygna³ wzmacniany jest przez wzmacniacze operacyjne zawarte w†uk³adzie LM324, ktÛry w†zupe³noúci wystarcza do tego zastosowania. Po dwustopniowym wzmocnieniu (drugi stopieÒ ma moøliwoúÊ regulacji, typowo x25) nastÍpuje demodulacja i†filtracja dolnoprzepustowa, w†wyniku czego otrzymujemy sygna³, ktÛrego napiÍcie zaleøne jest od strumienia úwiat³a padaj¹cego na fototranzystor. Dociekliwych CzytelnikÛw moøe zdziwiÊ fakt, øe uk³ad zosta³ zbudowany w†taki sposÛb, øe podczas demodulacji sygna³y o†ma³ych amplitudach zostaj¹ ignorowane (przez spadek napiÍcia na przewodz¹cej diodzie) - jest to zabieg celowy, wprowadzony dopiero przy pierwszych prÛbach. Ma³e sygna³y obarczone s¹ wzglÍdnie tak duøym szumem, øe w†praktyce okaza³o siÍ, øe ich ìobciÍcieî jest wrÍcz wskazane. Nieco inaczej zbudowane s¹ dwa bloki odpowiedzialne za wykrywanie mrugania. Tutaj czÍstotliwoúÊ, ktÛr¹ filtry maj¹ za zadanie przepuúciÊ, wynosi 15 kHz, natomiast wzmocnienie jest rÛwnieø dwustopniowe (pierwszy stopieÒ regulowany, typowo x25). Poniewaø wyjúcie uk³adu ma byÊ z†zasady dwustanowe (oko otwarte lub oko zamkniÍte), to zastosowano znacznie wiÍksze niø poprzednio wzmocnienie i†wykorzystano histerezÍ wejúÊ cyfrowych mikrokontrolera (wszystkie uk³ady AVR j¹ posiadaj¹).
Elektronika Praktyczna 4/2003
Headwards!
Rys. 6. Schemat elektryczny nagłownego sterownika myszy
Elektronika Praktyczna 4/2003
17
Headwards! Jak juø wczeúniej wspomniano, modulacja úwiat³a nadajnikÛw przeprowadzana jest przez mikrokontroler. DziÍki temu nie trzeba stosowaÊ øadnych dodatkowych generatorÛw, a†jedynie proste, regulowane ürÛd³a pr¹dowe na tranzystorach T7 i†T8, ktÛre zasilaj¹ diody IR. Jak zaznaczono na schemacie, nadajnik wspÛ³pracuj¹cy z†czujnikami pozycji sk³ada siÍ z†trzech diod IR po³¹czonych szeregowo. Nic nie stoi jednak na przeszkodzie, aby ich liczbÍ zwiÍkszyÊ do piÍciu. Regulacji pr¹du zasilaj¹cego nadajniki naleøy dokonaÊ przy pomocy potencjometrÛw P1 i†P2 juø podczas normalnej pracy uk³adu. Ostatnim elementem wymagaj¹cym opisu jest serce uk³adu, U4 - mikrokontroler AT90S4433 (AVR). Do tego zastosowania nadaje siÍ on wprost idealnie posiada 6-kana³owy, 10-bitowy przetwornik analogowo-cyfrowy, nie wspominaj¹c juø o†wszystkich innych zaletach jego rodziny, z†ktÛrych nawet po³owy nie wykorzystamy. Uk³ad ten obecnie jest juø wypierany przez mikrokontroler ATmega8, jednak nic nie stoi na przeszkodzie, øeby go jeszcze stosowaÊ (dla uk³adu ATmega8 program wymaga³by jedynie kilku ìprzerÛbek kosmetycznychî, a†sam obwÛd drukowany i†elementy pozosta³yby identyczne). Wracaj¹c do sedna, aby wykorzystaÊ przetwornik A/C tego uk³adu, naleøy doprowadziÊ do niego zasilanie dla czÍúci analogowej oraz ürÛd³o napiÍcia odniesienia, ktÛrym w†naszym wypadku z†powodzeniem moøe byÊ zwyk³a dioda Zenera. Poniewaø
18
uk³ad bÍdzie generowa³ programowo sygna³y o†czÍstotliwoúciach 15 i†5†kHz, to aby przerwania nie wystÍpowa³y wzglÍdnie zbyt czÍsto, zastosowany zosta³ kwarc 8†MHz. Poniewaø nie wszystkie wyjúcia mikrokontrolera s¹ wykorzystane, wyprowadzone zosta³y sygna³y SPI, co umoøliwia ³atwe programowanie tego mikrokontrolera w†uk³adzie. Program wykonywany przez procesor ma za zadanie wytwarzaÊ sygna³ moduluj¹cy úwiat³o nadajnikÛw, dokonywaÊ konwersji analogowo-cyfrowej sygna³Ûw z†odbiornikÛw podczerwieni, badaÊ stany wejúÊ po³¹czonych z†detektorami mrugania, wykrywaÊ podwÛjne klikniÍcie i†komunikowaÊ siÍ obustronnie z†komputerem poprzez interfejs RS232, przy pomocy konwertera poziomÛw U5. W†ìrozmowieî z†komputerem uk³ad wysy³a wszystkie zebrane przez siebie dane oraz daje programowi steruj¹cemu moøliwoúÊ zmiany minimalnego czasu mrugania i†czÍstotliwoúci prÛbkowania wejúÊ analogowych. Rafa³ Baranowski
[email protected] Program steruj¹cy dla Windows wraz ze ürÛd³ami oraz program dla mikrokontrolera i†opis transmisji znajduj¹ siÍ na CDEP4/2003B, moøna je takøe znaleüÊ pod adresem: http://www.bloknet.pl/~rufus/headwards.zip. Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/kwiecien03.htm oraz na p³ycie CD-EP4/2003B w katalogu PCB.
WYKAZ ELEMENTÓW Rezystory R1, R8, R12, R19, R23, R30, R34, R41, R45, R49, R56, R60: 10kΩ R2, R13, R24, R35, R46, R57, R67, R70: 1kΩ R3, R14, R25, R36: 39kΩ R4, R15, R26, R37: 5,6kΩ R5, R16, R27, R38, R55, R66: 47kΩ R6, R17, R28, R39: 27kΩ R7, R18, R29, R40: 470kΩ R9, R20, R31, R42, R50, R61: 500kΩ pot. montażowy, stojący R10, R21, R32, R43, R48, R51, R59, R62: 100kΩ R11, R22, R33, R44, R52, R63: 150kΩ R47, R58: 12kΩ R53, R64: 4,7kΩ R54, R65: 220kΩ R68, R71: 470Ω R69: 68Ω R72: 180Ω R73: 100Ω P1, P2: 2,2kΩ potencjometr Kondensatory C1, C6, C7, C12, C13, C18, C19, C24, C25, C30, C31, C36, C47...C50: 1µF/16V C2, C3, C8, C9, C14, C15, C20, C21, C26, C28, C32, C34: 1nF C4, C10, C16, C22, C27, C33: 100pF C5, C11, C17, C23: 3,9nF C29, C35, C39, C40, C42...C44: 100nF C37, C38: 470µF/16V C41: 47µF/16V C45, C46: 22pF Półprzewodniki D1...D6: 1N4148 D7...D11: Diodowe nadajniki IR Z1...Z6: Zenera 5,1V Z7: Zenera 2,4V T1...T6: fototranzystory npn (obud. LED 3mm z filtrem) T7, T8: BC547 U1...U3: LM324 U4: AT90S4433 zaprogramowany U5: MAX232 (lub odpowiednik) Różne X1: Kwarc 8MHz L1, L2: 10µH (mały opór) L3: 10µH JP1: Gniazdo zasilania jak dla HDD JP2: SIP5 (dla ISP) JP3: DB9 na kabel, żeńskie DB15 kątowe, do druku, żeńskie DB15 na kabel, męskie Gniazdo jack mono, do druku Wtyk jack mono, na kabel
Elektronika Praktyczna 4/2003
PKonwerter R O J USB<−>IrDA E K T Y
Konwerter USB<−>IrDA AVT−510
Uk³ady interfejsowe firmy FTDI spowodowa³y prze³om w†dostÍpie do interfejsu USB. DziÍki tym uk³adom USB moøna z ³atwoúci¹ stosowaÊ nawet w projektach nieprofesjonalnych. W†artykule przedstawiamy kolejny taki projekt, ktÛry doskonale ilustruje zalety techniki Plug&Play. Rekomendacje: urz¹dzenie przydatne dla posiadaczy nowoczesnych telefonÛw komÛrkowych, elektronicznych notatnikÛw, przenoúnych drukarek i†komputerÛw, a†takøe uøytkownikÛw innych urz¹dzeÒ wyposaøonych w†interfejs IrDA.
Elektronika Praktyczna 4/2003
Transmisja szeregowa w†podczerwieni (IrDA) nie jest nowoúci¹ w†komputerowym úwiecie. Interfejs optyczny umoøliwia dwukierunkow¹ transmisjÍ danych za pomoc¹ promieniowania podczerwonego miÍdzy dowolnymi urz¹dzeniami wyposaøonymi w†odpowiednio skonfigurowany i†wyposaøony port szeregowy. Na rynku s¹ dostÍpne m.in. drukarki i†telefony komÛrkowe wyposaøone w†interfejs IrDA, ma go takøe kaødy wspÛ³czesny komputer przenoúny. Istniej¹ rÛøne odmiany interfejsu IrDA. Przyk³adowo, interfejsy SIR s¹ przystosowane do przesy³ania danych z†szybkoúci¹ 115 kb/ s, MIR z†szybkoúci¹ 1,152 Mb/s, natomiast FIR z†maksymaln¹ szybkoúci¹ dochodz¹c¹ do 4†Mb/s. W†prezentowanym konwerterze wykorzystano wersjÍ SIR. Instalacja interfejsu IrDA w†juø istniej¹cym sprzÍcie wymaga UART-a kompatybilnego z†uk³adem 16550, ktÛry jest obecnie standardowym wyposaøeniem wszystkich komputerÛw klasy PC. Aby zbudowaÊ pe³nowartoúciowy interfejs IrDA, wystarczy do³¹czyÊ do portu RS232 specjalizowany uk³ad formuj¹cy impulsy (np. TOIM3232) oraz transceiver podczerwieni (np. TFDS4500) - rys. 1. Ze wzglÍdu na duø¹ liczbÍ urz¹dzeÒ†peryferyjnych do³¹czanych do komputerÛw, czÍsto zdarza siÍ, øe s¹ zajÍte wszystkie porty RS232 w†komputerze. W†takim przypadku nie jest moøliwe ³atwe do³¹czenie do komputera tak wykonanego interfejsu IrDA. Moøna co prawda zrezygno-
waÊ z†jednego portu COM na rzecz IrDA, poniewaø wspÛ³czesne p³yty g³Ûwne stosowane w†komputerach s¹ wyposaøane w†specjalne z³¹cze, do ktÛrego wystarczy pod³¹czyÊ jedynie transceiver. Powoduje to jednak ìutratÍî jednego kana³u RS232. Aby unikn¹Ê problemÛw tego rodzaju, proponujÍ wykonanie prostego konwertera USB<->IrDA. WspÛ³czesne komputery s¹ standardowo wyposaøane w†kilka portÛw USB, ktÛre - dziÍki uk³adom interfejsowym firmy FTDI - s¹ ³atwe do wykorzystania. Dzia³anie konwertera nie jest skomplikowane i†opiera siÍ na emulacji portu COM, do ktÛrego pod³¹czono uk³ad formuj¹cy impulsy oraz transceiver podczerwieni. Sygna³y przesy³ane podczerwieni¹ s¹ formowane do postaci krÛtkich impulsÛw (rys. 2), dziÍki ktÛrym uzyskuje siÍ wzrost zasiÍgu, przy zmniejszeniu úredniej wartoúci pobieranego pr¹du. ProstotÍ budowy interfejsu USB<->IrDA uzyskano, stosuj¹c trzy wyspecjalizowane uk³ady: konwerter USB<->COM FT232BM firmy FTDI, konwerter RS232/ IrDA TOIM4232 (odpowiada za formowanie impulsÛw) i†zintegrowany†nadajnik/odbiornik podczerwieni TFDS4500 firmy Vishay. Vishay produkuje kilka rodzin specjalistycznych elementÛw do interfejsÛw kompatybilnych z†IrDA. Produkuje on zarÛwno uk³ady formuj¹ce impulsy (zaleønie od prÍdkoúci strumienia bitÛw, bity
21
Konwerter USB<−>IrDA
Rys. 1. Schemat blokowy konwertera USB<−>IrDA dołączanego do interfejsu RS232
s¹ skracane i†uzyskuj¹ d³ugoúci od 1,41 µs do 22,13 µs, a†nastÍpnie w†odbiorniku przywracana jest ich pierwotna d³ugoúÊ), transmitery, pojedyncze fotodiody, diody PIN zwiÍkszaj¹ce zasiÍg odbioru, a†takøe rÛønego rodzaju zintegrowane transceivery optyczne.
Uk³ad FT232BM firmy FTDI Uk³ad ten jest dwukierunkowym konwerterem USB<->RS232. Jest to nastÍpca uk³adu wczeúniejszej wersji o†oznaczeniu FT232AM, ktÛry ìgoúci³î juø na ³amach EP. SzybkoúÊ przesy³ania danych mieúci siÍ w†przedziale 300†bd...3†Mbd, a†wyrÛwnanie potencjalnych rÛønic w†prÍdkoúciach nadawania i†odbioru danych u³atwiaj¹ bufory danych (FIFO): o†pojemnoúci 128 B w kierunku USB->RS232 i†384 B w†kierunku RS232->USB. Opcjonalnie, do uk³adu FT8U232BM moøna do³¹czyÊ szeregow¹ pamiÍÊ EEPROM, w†ktÛrej przechowywane s¹ pomocnicze informacje dla sterownika USB (m.in. deklarowany przez projektanta opis produktu z†zaimplementowanym USB, numer†seryjny produktu, sygnatury USB VID/PID). Prac¹ UART-a moøna sterowaÊ sprzÍtowo (hardware flow control) lub za pomoc¹ protoko³u Xon/Xoff. Uk³ad wyposaøono w†bufory steruj¹ce dwiema diodami LED, ktÛre moøna wykorzystaÊ do sygnalizacji nadawania i†odbioru danych.
Poniewaø uk³ad FT232 by³ juø dok³adnie przedstawiony w†EP9/ 2002 i†EP10/2002, przedstawiÍ tylko rÛønice wystÍpuj¹ce miÍdzy nowym konwerterem i†jego starsz¹ wersj¹. Najwaøniejsze wprowadzone zmiany to: - obs³uga protoko³Ûw USB1.1 i†2.0 (w trybie Full Speed), - moøliwoúÊ pracy interfejsÛw w†trybie izochronicznym, dziÍki czemu gwarantowana jest maksymalna moøliwa szybkoúÊ transferu danych, nie wp³ywa na ni¹ liczba urz¹dzeÒ do³¹czonych do portu USB, - w†strukturze uk³adu zintegrowano generator sygna³u zeruj¹cego, - w†uk³ad wbudowano kompletny generator sygna³u RCCLK - dotychczas trzeba by³o stosowaÊ zewnÍtrzne elementy RC, - obniøono pobÛr pr¹du w†stanie spoczynku do 500 µA, - czas time-out bufora nadawczego moøna programowaÊ w†zakresie 1...255 ms (w wersji AM wynosi³ on zawsze 16 ms), - nowy uk³ad moøe wspÛ³pracowaÊ z†dwoma rodzajami pamiÍci EEPROM - o†organizacji 128x16 (93C46) oraz 512x16 (93C66), - do pod³¹czenia kilku uk³adÛw w†wersji BM do jednego portu USB nie jest niezbÍdna pamiÍÊ
EEPROM zawieraj¹ca deskryptor z†indywidualnym numerem urz¹dzenia, - producent zachowa³ zgodnoúÊ rozmieszczenia wiÍkszoúci wyprowadzeÒ uk³adÛw obydwu wersji, przy czym ze wzglÍdu na pewne zmiany konstrukcyjne konieczne by³y drobne modyfikacje i†w†uk³adzie FT232BM zmieniono funkcje wyprowadzeÒ znanych z†wersji FT232AM: RCCLK (wyprowadzenie 31), PWREN# (wyprowadzenie 15), #RSTO (wyprowadzenie 5). Warto wiedzieÊ, øe w†odrÛønieniu od wiÍkszoúci dostÍpnych na rynku interfejsÛw o†podobnych funkcjach, uk³ady oferowane przez firmÍ FTDI nie wymagaj¹ stosowania specjalizowanych sterownikÛw†USB (dla systemu operacyjnego Windows), nie jest takøe konieczne uczenie siÍ przez konstruktora zasady dzia³ania i†przygotowywania procedur inicjalizacyjnych bloku SIE USB (Serial Interface Engine). Firma FTDI przygotowa³a i†bezp³atnie udostÍpnia sterowniki dla Windows 98/Me/NT/2000/XP, Linuksa oraz systemu operacyjnego OS8/9 (Apple). Za ich pomoc¹ system operacyjny tworzy wirtualny, szeregowy port komunikacyjny COM, ktÛry jest adresowany tak jak kaødy inny port szeregowy zaimplementowany w†komputerze. DostÍpne s¹ sterowniki w†wersjach: PnP oraz standardowej, dziÍki czemu moøna spe³niÊ wymagania wszystkich typowych aplikacji. Uk³ad FT8U232BM integruje wszystkie istotne elementy interfejsu USB, dziÍki czemu wszystkie zadania zwi¹zane z†obs³ug¹ protoko³Ûw s¹ realizowane sprzÍtowo. Nie jest wymagane przepro-
Podstawowe parametry konwertera USB<−>IrDA: ✓ prędkość transmisji od 1200 b/s do 115 kb/s (w zależności od zainstalowanego sterownika), ✓ zasilanie z magistrali USB, ✓ współpraca z systemami Win XP i Win 2K (sterowniki dostarczane przez producenta systemu), ✓ łatwa instalacja, ✓ niewielkie wymiary, ✓ względnie niski koszt wykonania.
22
Rys. 2. Sposób kodowania danych przesyłanych drogą optyczną
Elektronika Praktyczna 4/2003
Konwerter USB<−>IrDA
Rys. 3. Schemat blokowy układu TOIM4232
wadzanie jakichkolwiek zabiegÛw†konfiguracyjnych po w³¹czeniu zasilania uk³adu.
Interfejs TOIM4232 Uk³ad ten s³uøy do formowania impulsÛw z†portu RS232 do wymagaÒ standardu IrDA. Charakteryzuje siÍ bezproblemow¹ wspÛ³prac¹ z†dowolnym interfejsem RS232. Podstawowym zadaniem TOIM4232 jest z†jednej strony - skracanie impulsÛw nadawanych - a†z†drugiej ìrozci¹ganieî odebranych impulsÛw do ich uprzedniej d³ugoúci. Uk³ad umoøliwia stosowanie dwÛch d³ugoúci impulsÛw: o†czasie trwania 1,617 µs - ta d³ugoúÊ jest stosowana jako wartoúÊ domyúlna i†jest preferowana w†urz¹dzeniach zasilanych bateryjnie ze wzglÍdu na krÛtki czas trwania impulsÛw, albo o†czasie trwania 3/16 pierwotnego czasu trwania impulsu. Kolejn¹ funkcj¹ uk³adu TOIM4232 jest generowanie dla interfejsu IrDA impulsÛw taktuj¹cych, ktÛre nie wystÍpuj¹ w†standardowym interfejsie RS232. Do generowania impulsÛw taktuj¹cych wymagany jest kwarc o†czÍstotliwoúci rezonansowej 3,6864 MHz. Schemat blokowy uk³adu TOIM4232 pokazano na rys. 3. Sk³ada siÍ on z†oscylatora, generatora szybkoúci transmisji oraz dwukierunkowego bloku kszta³towania impulsÛw. Za pomoc¹ wejúcia BR/ D jest moøliwe wybranie jednej z†czternastu predefiniowanych
Rys. 4. Budowa bajtu konfiguracji układu TOIM4232
Elektronika Praktyczna 4/2003
prÍdkoúci transmisji danych. TOIM4232 jest programowany przez wybranie odpowiedniego rodzaju pracy za poúrednictwem interfejsu RS232. Aby skonfigurowaÊ interfejs, trzeba podaÊ wysoki poziom napiÍcia na wejúcie RESET, by wyzerowaÊ uk³ad, a†nastÍpnie na wyprowadzenie BR/D podajemy poziom wysoki. W†ten sposÛb uk³ad zostaje przygotowany do odebrania bajtu steruj¹cego. Naleøy go wysy³aÊ z†prÍdkoúci¹ 9600 b/s, gdyø tak¹ prÍdkoúÊ domyúlnie przyjmuje TOIM4232 po zerowaniu. Bajt steruj¹cy, o†strukturze pokazanej na rys. 4, jest z³oøony z†dwÛch czÍúci, kaøda o†d³ugoúci czterech bitÛw. Bit S0 odpowiada za wybÛr d³ugoúci impulsu. WartoúÊ ì1î tego bitu oznacza d³ugoúÊ impulsu wynosz¹c¹ 1,627 µs, a†ì0î wartoúÊ 3/ 16 trwania impulsu bitu. Bity S1 i†S2 s³uø¹ do okreúlenia stanÛw na uniwersalnych wyjúciach uk³adu o†takich samych nazwach. Wyjúcia te mog¹ s³uøyÊ do zmiany czu³oúci transceivera, prze³¹czania konwertera w†tryb stand-by lub dowolnego innego celu. Wyjúcie S2 w†prezentowanym module interfejsowym wykorzysta³em do zwiÍkszenia czu³oúci odbiornika przy odbiorze danych. Druga czÍúÊ bajtu s³owa steruj¹cego (B0...B3) s³uøy do wyboru prÍdkoúci transmisji zgodnie z†tab. 1. Po wprowadzeniu do rejestru konfiguracyjnego 8-bitowego s³owa koÒczy siÍ programowanie uk³adu i†moøna rozpocz¹Ê transmisjÍ, gdy tylko zmieniony zostanie poziom na nÛøce BR/D na niski. Jest oczywiste, øe programowanie uk³adu jest czÍúci¹ oprogramowania sterownika IrDA.
Tab. 1
Przy wspÛ³pracy np. dwÛch mikrokontrolerÛw przesy³aj¹cych dane w†podczerwieni naleøy zadbaÊ o†prawid³owe zaprogramowanie uk³adu, jeøeli wymagane prÍdkoúci przesy³anych danych bÍd¹ wiÍksze od 9600 b/s. Przyk³ady programÛw konfiguracyjnych uk³adu TOIM4232 zosta³y zamieszczone w†do³¹czonych do artyku³u materia³ach, ktÛre zamieszczono na CD-EP3/2003B.
Transceiver TFDS4500 Firma Vishay produkuje wiele odmian transceiverÛw przeznaczonych do rÛønych odmian interfejsÛw IrDA. W†konwerterze zastosowany zosta³ transceiver TFDS4500 przeznaczony do pracy w†trybie IrDA SIR (prÍdkoúÊ do 115,2 kb/ s). Uk³ad TFDS4500 jest uøywany do bezprzewodowej szeregowej komunikacji miÍdzy komputerem a†peryferiami, np. w†bezprzewodowych myszkach i†klawiaturach. W†strukturze uk³adu zintegrowano diodÍ nadawcz¹ i†odbiorcz¹ o†parametrach dobranych do transmisji
Rys. 5. Schemat blokowy transceivera optycznego IrDA
23
Konwerter USB<−>IrDA IrDA. Dodatkowo, TFDS4500 wyposaøony jest we wzmacniacz dla diody odbiorczej, komparator oraz dwa bufory, ktÛre wysterowuj¹ diodÍ nadawcz¹ i†tor odbiorczy. Schemat blokowy uk³adu TFDS4500 pokazano na rys. 5. Waøn¹ funkcjÍ w†uk³adzie pe³ni blok ARW (automatycznej regulacji wzmocnienia), ktÛry reguluje czu³oúÊ odbiornika. Blok ten pozwala uk³adowi TFDS4500 na osi¹gniÍcie duøej odpornoúci na szumy. PrÛg, przy ktÛrym odbiornik reaguje na sygna³ wejúciowy, jest dwukrotnie wyøszy przy stanie ì0î na wejúciu SC, niø wÛwczas gdy jest na niej stan ì1î. Naleøy wspomnieÊ, øe przy wyøszym progu czu³oúci odbiornik jest bardziej podatny na zak³Ûcenia. ZasiÍg nadajnika nie jest duøy i†wynosi ok. 1†metra, co jest wystarczaj¹ce dla urz¹dzeÒ przenoúnych typu telefon czy drukarka. Wejúcie Vcc1/SD s³uøy zarÛwno do zasilania czÍúci elektronicznej transceivera, jak i†do wprowadzania go w†tryb uúpienia. Wysoki poziom napiÍcia na tym wejúciu zasila wewnÍtrzne obwody uk³adu. Wejúcie to moøe byÊ sterowane z zewnÍtrznego mikrokontrolera lub - przyk³adowo z†jednego z†wyjúÊ S1 lub S2 uk³adu TOIM4232.
Opis dzia³ania uk³adu
Rys. 6. Schemat elektryczny interfejsu
24
Schemat elektryczny konwertera USB<->IrDA pokazano na rys. 6. Uk³ad U1 jest konwerterem USB<->RS232, ktÛry do swej prawid³owej pracy potrzebuje kilku elementÛw biernych oraz rezonatora o†czÍstotliwoúci 6†MHz. Do prawid³owej pracy konwertera U1 nie jest potrzebna pamiÍÊ EEPROM U5. Moøna j¹ zastosowaÊ, gdy bÍdzie wymagany wybÛr: pracy Plug and Play, rÍcznego lub automatycznego przyznawania numeru seryjnego, sposobu zasilania czy maksymalnego poboru pr¹du. W†pamiÍci EEPROM moøna przechowywaÊ takøe opis urz¹dzenia. Zaprogramowanie pamiÍci EEPROM wymaga instalacji odpowiedniego sterownika oraz programu narzÍdziowego (publikujemy je na CD-EP3/2003B) - szczegÛ³y programowania EEPROM by³y dok³adnie opisane w†EP10/2002. Sygna³ rÛønicowy USB oraz zasilanie s¹ doprowadzone przez gniazdo USB typu B. Zasilanie jest
Elektronika Praktyczna 4/2003
Konwerter USB<−>IrDA
Rys. 7. Rozmieszczenie elementów na płytce drukowanej
filtrowane za pomoc¹ obwodu zbudowanego z†elementÛw C1, L1 oraz kilku dodatkowych kondensatorÛw. Do sterowania prac¹ interfejsu s¹ uøywane cztery linie portu RS232: TPD, RXD, RTS# i†DTR#. Wyjúcie RTS# steruje wejúciem programowania interfejsu U2, ktÛry skraca i†wyd³uøa†odpowiednio impulsy zgodnie ze standardem IrDA. Sygna³ z linii DTR#, po zanegowaniu przez inwerter U6, steruje wejúciem zeruj¹cym uk³adu U2. Inwerter by³ potrzebny ze wzglÍdu na specyfikacjÍ sterownika - zosta³ on napisany dla uk³adu, ktÛry jest do³¹czany do portu RS232 przez konwerter napiÍÊ (np. MAX232). Konwerter napiÍÊ neguje sygna³y oprÛcz sygna³u DTR#. Poniewaø uk³ad U1 nie zawiera konwertera napiÍÊ, wystarczy³o tylko zanegowaÊ lini͆DTR#, by sterownik poprawnie programowa³ uk³ad U2. Poniewaø U2 musi byÊ zasilany napiÍciem 3,3 V, a†port USB dostarcza napiÍcia 5†V, zastosowano dodatkowy stabilizator U4, ktÛry stabilizuje napiÍcie na potrzebnym po-
ziomie. Zalet¹ tego stabilizatora jest bardzo ma³y pobÛr pr¹du. Uk³ad U1 dostarcza na wyjúciu 6†napiÍcie 3,3 V, ale pobÛr pr¹du z†tego wyjúcia nie moøe przekroczyÊ 5†mA, co dla uk³adu U2 i†do³¹czonych do niego LED-Ûw nie jest wystarczaj¹ce. Jeøeli nie bÍd¹ montowane diody LED, moøna nie montowaÊ stabilizatora U4 i do³¹czyÊ wyprowadzenie zasilania U2 do wyjúcia 6†uk³adu U1. ChoÊ U2 zasilany jest napiÍciem 3,3 V, to toleruje on napiÍcia na wejúciach do 5†V. Diody D1...D4 s³uø¹ do sygnalizacji pracy konwertera. By³y bardzo pomocne na etapie uruchamiania konwertera. Rezonator X2 taktuje generator szybkoúci transmisji zawarty w†U2. Linie RD_IR i†TD_IR steruj¹ transceiverem U3, ktÛrego dioda nadawcza zasilana jest poprzez rezystory ograniczaj¹ce pr¹d R12 i†R13. Transceiver U3 jest zasilany z†wyjúcia SLEEP# uk³adu U1. Wyjúcie SLEEP informuje o†trybie suspend (zawieszenia) magistrali. Tryb ten dotyczy zachowania siÍ konwertera podczas prze³¹czania hosta w†uúpienie. WÛwczas host przestaje wysy³aÊ pakiety SOF. Brak kilku pakietÛw jest wykrywany przez U1, ktÛry takøe przechodzi w†stan uúpienia z†maksymalnie zmniejszonym poborem mocy. W†trybie suspend hub moøe dostarczyÊ do konwertera pr¹d o†natÍøeniu co najwyøej 0,5 mA. Podczas wchodzenia U1 w†tryb suspend, linia SLEEP zmienia poziom na niski, przez co zostaje wy³¹czony transceiver U3. Obwody transceivera s¹ zasilane z†tego wyjúcia, jeøeli tylko znajduje siÍ na nim poziom wysoki. WydajnoúÊ pr¹dowa wyjúcia SLEEP wystarcza do zapewnienia poprawnej pracy transceivera U3. Kondensator filtruj¹cy C7 poprawia odpornoúci transceivera na zak³Ûcenia oraz gwarantuje jego poprawn¹†pracÍ.
Montaø i†uruchomienie
Rys. 8. Widok okna kreatora dodawania sprzętu w Windows
Elektronika Praktyczna 4/2003
Konwerter USB<->IrDA naleøy zmontowaÊ na dwustronnej p³ytce drukowanej, ktÛrej schemat montaøowy pokazano na rys. 7. WiÍkszoúÊ elementÛw konwertera jest przeznaczona do montaøu powierzchniowego, dlatego naleøy siÍ z†nimi obchodziÊ z†duø¹ ostroønoúci¹ - uwaga ta dotyczy szczegÛlnie lutowania.
Rys. 9. Okno wyboru przypisania interfejsu IrDA do portu COM
Montaø najlepiej rozpocz¹Ê od wlutowania uk³adÛw scalonych i†pozosta³ych elementÛw. Lutujemy je pocz¹wszy od úrodka p³ytki, aø do jej krawÍdzi. Montaø naleøy zakoÒczyÊ, wlutowuj¹c elementy przewlekane. Podczas montaøu szczegÛln¹ uwagÍ naleøy zwrÛciÊ na biegunowoúÊ kondensatorÛw elektrolitycznych. Diod LED moøna nie montowaÊ, gdyø s³uøy³y jedynie podczas uruchamiania konwertera do sprawdzenia jego poprawnej pracy. ZasiÍg konwertera moøna zwiÍkszyÊ, dolutowuj¹c rezystor R13 o†takiej samej wartoúci jak rezystor R12. Wartoúci tych rezystorÛw moøna zmniejszyÊ do ok. 14 Ω - nie powinno staÊ siÍ nic z³ego, gdyø dioda nadawcza jest sterowana krÛtkimi impulsami. Moøna nie montowaÊ pamiÍci EEPROM U5 i†elementÛw R4, R5, jeøeli nic nie bÍdzie do tej pamiÍci zapisywane. Z†pewnoúci¹ niektÛrych CzytelnikÛw EP przeraøa montaø elementÛw SMD. Dlatego informujÍ, øe uk³ad prototypowy zosta³ z³oøony lutownic¹ ELWIK LES-24-1 bez uøycia jakichkolwiek past, topnikÛw†i†innych specjalistycznych narzÍdzi. Przy montaøu naleøy uwaøaÊ na prawid³owe umieszczanie elementÛw, gdyø pÛüniejsze wylutowanie uk³adu scalonego moøe byÊ k³opotliwe.
Instalacja sterownikÛw Po pod³¹czeniu konwertera do portu USB komputera naleøy w†pierwszej kolejnoúci zainstalowaÊ sterowniki, ktÛre bÍd¹ emulowaÊ port COM. Sterowniki takie udostÍpnia bezp³atnie producent uk³adu FT232BM, my je publikujemy na CD-EP3/2003B. Dok³adne informacje o†instalacji sterownika
25
Konwerter USB<−>IrDA siadany przeze mnie sterownik do Win 98 nie dzia³a³ poprawnie z†tym konwerterem, dlatego przedstawiony uk³ad jest przeznaczony do uøytkownikÛw systemÛw WinXP oraz Win2000. InstalacjÍ sterownika TOIMxx32 naleøy rozpocz¹Ê od wyboru z†listy urz¹dzeÒ urz¹dzeRys. 10. Po zainstalowaniu sterowników nia podczerwieni w menedżerze sprzętu pojawia się dodatkowa opcja i†odszukaÊ urz¹dzenie TOIMxx32 firmy Vishay (rys. dla uk³adu firmy FTDI zosta³y 8). NastÍpnie naleøy wybraÊ numer przedstawione we wczeúniej wspoportu komunikacyjnego, pod ktÛmnianej EP10/2002. rym bÍdzie zainstalowany wczeúPo instalacji sterownika dla niej wirtualny port COM (rys. 9) uk³adu FT232BM naleøy jeszcze (ja wybra³em COM3). Na rys. 10 zainstalowaÊ sterownik IrDA przepokazano widok okna Menedøera znaczony dla uk³adu TOIM4232 urz¹dzeÒ z†zainstalowanym urz¹lub TOIM3232. Systemy WinXP dzeniem podczerwieni dla uk³adu oraz Win2k zosta³y przez Microsoft TOIMxx32. Poprzez konfiguracjÍ wyposaøone w†sterowniki przeznaczone dla uk³adÛw TOIMxx32. Po- w³aúciwoúci zainstalowanego sterownika (rys. 11) jest moøliwe ustawienie prÍdkoúci po³¹czenia oraz wybranie portu komunikacyjnego. Po poprawnym zainstalowaniu sterownikÛw i ponownym uruchomieniu komputera, konwerter USB-IrDA bÍdzie gotowy do pracy. Marcin Wi¹zania
Rys. 11. Okno edycji właściwości portu IrDA
26
Podczas przygotowywania projektu korzysta³em z†materia³Ûw dostÍpnych na stronach: - http://www.ida.org, - http://www.ericlindsay.com/computer/irda.htm, - http://www.vishay.com, - http://www.ftdichip.com.
WYKAZ ELEMENTÓW (SMD) Rezystory R1, R2: 27Ω R3: 1,5kΩ R4: 10kΩ R5: 2,2kΩ R6: 100kΩ R7: 470Ω R8, R9, R10, R11: 220Ω R12, R13(*): 51Ω Kondensatory C1: 10nF C2: 33nF C3, C4: 27pF C5, C6: 22pF C7, C8, C11, C12, C13, C14: 100nF C9: 4,7µF/10V C10: 100µF/10V Półprzewodniki D1, D4: LED (czerwona) D2, D3: LED (zielona) U1: FT232BM U2: TOIM4232 U3: TFDS4500 U4: TC55RP330 U5: 93C46 U6: NC7S04 X1: Kwarc 6MHz X2: Kwarc 3,6864MHz Różne L1: koralik ferrytowy przewlekany J1: przewlekane gniazdo USB typu B
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/kwiecien03.htm oraz na p³ycie CD-EP4/2003B w katalogu PCB.
Elektronika Praktyczna 4/2003
12−kanałowy regulator mocy sterowany P Rsygnałem O J E DMX512 K T Y
12−kanałowy regulator mocy sterowany sygnałem DMX512, część 1 Opis dotyczy zestawu regulatorÛw duøej mocy, ktÛre mog¹ byÊ wykorzystane w†duøych systemach sterowania oúwietleniem scenicznym lub estradowym. Co prawda do tej pory w†Elektronice Praktycznej oraz w†Elektronice dla Wszystkich opublikowano kilka opisÛw rÛønego rodzaju regulatorÛw, lecz mia³y one jedn¹ podstawow¹ wadÍ, jeøeli chodzi o†zastosowanie w†systemach oúwietlenia scenicznego - brak moøliwoúci sterowania z†wiÍkszej odleg³oúci. Rekomendacje: projekt przeznaczony dla uøytkownikÛw nowoczesnych systemÛw sterowania oúwietleniem scenicznym i†dyskotekowym.
Profesjonalne systemy sterowania oúwietleniem sk³adaj¹ siÍ z†zespo³u regulatorÛw o†mocy na ogÛ³ 5†kW kaødy, umieszczonych w†pobliøu sceny oraz pulpitu nastawczo-regulacyjnego znajduj¹cego siÍ w†takim miejscu, sk¹d zapewniony jest wgl¹d na scenÍ (czÍsto odleg³oúÊ miÍdzy tymi dwoma elementami systemu jest znaczna). W†starszych systemach sterowanie odbywa siÍ na drodze analogowej. Do kaødego regulatora doprowadzona jest para przewodÛw steruj¹cych, po ktÛrych przesy³any jest niskonapiÍciowy sygna³ steruj¹cy z†pulpitu nastawczo-regulacyjnego.
TrochÍ historii
Jak radzono sobie z†problemem regulacji oúwietleniem 30, 40 lat temu, gdy elementy pÛ³przewodnikowe duøej mocy - takie jak tyrystory lub triaki - by³y niedostÍpne (przynajmniej w†Polsce), nie wspominaj¹c o†komputerach? PrzedstawiÍ parÍ rozwi¹zaÒ, ktÛre stosowano do sterowania oúwietleniem scenicznym. Oczywiúcie, by³y to urz¹dzenia stacjonarne, poniewaø ze wzglÍdu na gabaryty i†ciÍøar nie moøna by³o ich przewoziÊ. W†latach powojennych stosowano w†teatrach nastawnie typu Bordoni. Kabina oúwietleniowa przypomina³a bardziej wnÍtrze parowozu niø urz¹Specyfikacja standardu DMX512 została dzenie s³uø¹ce do regulacji szczegółowo opisana w marcowym numerze oúwietlenia scenicznego. polskiej edycji Elektora z 1998 roku. Sk³ada³a siÍ z†dwÛch podstawowych elementÛw: zespo³u autotransformatorÛw z†uzwojeniami nawiniÍtymi na Obecnie odchodzi siÍ od tego pionowych rdzeniach oraz wÍglotypu sterowania na rzecz standarUwaga! Ze wzglÍdu na wych szczotek, ktÛre przesuwa³y du DMX512, ktÛry wymaga do duø¹ liczbÍ rysunkÛw, w tej siÍ po uzwojeniach transformatotransmisji takøe jednej pary przeczÍúci artyku³u publikujemy rÛw. By³y zaopatrzone w†dwa wodÛw, jednak ze wzglÍdu na schematy elektryczne, uchwyty - do gÛrnego przymocoduøe czÍstotliwoúci musz¹ to byÊ do ktÛrych opis znajdzie siÍ wana by³a linka, ktÛr¹ moøna kable specjalne, zakoÒczone odpoby³o przesuwaÊ szczotkÍ do gÛry, wiednimi z³¹czami. w EP5/2003.
Elektronika Praktyczna 4/2003
27
12−kanałowy regulator mocy sterowany sygnałem DMX512 Tab. 1. Funkcje wyprowadzeń w 5−stykowym złączu AXR/XLR Końcówka
Funkcja
1 2 3 4
Masa (ekran) DMX − DMX + Brak połączenia (może być połączone z DMX −) Brak połączenia (może być połączone z DMX +)
5
Tab. 2. Funkcje wyprowadzeń w 3−stykowym złączu AXR/XLR Końcówka
Funkcja
1 2 3
Masa (ekran) DMX − DMX +
co powodowa³o wzrost napiÍcia wyjúciowego, natomiast opuszczanie suwaka realizowane by³o przez poluzowanie linki, a†przeciwwagi przymocowane do dolnego uchwytu szczotki úci¹ga³y j¹ do do³u. ZespÛ³ autotransformatorÛw na ogÛ³ znajdowa³ siÍ pod scen¹, a†ca³y mechanizm steruj¹cy by³ umieszczony nad poziomem sceny, przewaønie na ktÛrejú z†wieø scenicznych. Sk³ada³ siÍ on z†regu³y z†trzech lub czterech wa³Ûw, na ktÛrych umieszczone by³y düwignie z†przymocowanymi linkami steruj¹cymi ruchem suwakÛw autotransformatorÛw. Düwignie te by³y wyposaøone w†klucze daj¹ce siÍ ustawiÊ w†odpowiednie pozycje: - brak po³¹czenia z†wa³em (podczas obrotu wa³u düwignia pozostawa³a w†spoczynku), - obrÛt wa³u w†prawo powodowa³ zwiÍkszenie napiÍcia wyjúciowego danego obwodu (obrÛt w†lewo powodowa³ odwrotn¹ reakcjÍ), - obrÛt wa³u w†prawo powodowa³ zmniejszenie napiÍcia wyjúciowego danego obwodu (obrÛt w†lewo powodowa³ odwrotn¹ reakcjÍ). Wa³ obracany by³ rÍcznie za pomoc¹ duøego ko³a i by³ wyposaøony w†tak zwany precyzer umoøliwiaj¹cy bardzo wolne wprowadzanie obrazu úwietlnego. Nastawnie te umoøliwia³y bardzo p³ynne wprowadzanie scen úwietlnych oraz nie wnosi³y zak³ÛceÒ elektroenergetycznych, jednak duøa liczba elementÛw mechanicznych powodowa³a liczne
28
Rys. 1. Interfejs RS − 485 stosowany do transmisji danych w systemach DMX512
problemy w†codziennej eksploatacji, np.: spadaj¹ce linki, zawieszaj¹ce siÍ szczotki czy teø wystÍpuj¹ce podczas szybkich zmian uderzenia o†siebie przeciwwag, co dawa³o niezamierzone efekty akustyczne. NastÍpnie zaczÍto stosowaÊ transduktory, czyli tzw. wzmacniacze magnetyczne. Ich sterowanie realizowa³o siÍ przez zmianÍ napiÍcia steruj¹cego w†zakresie 0...24 V. Ten sposÛb sterowania umoøliwia³ umieszczenie kabiny oúwietleniowej w†dogodnym miejscu, gdzie realizator mia³ pe³ny wgl¹d na scenÍ. RÛwnieø zastosowane pulpity nastawczo-regulacyjne umoøliwia³y realizacjÍ bardziej skomplikowanych zmian úwiat³a. Pulpit taki sk³ada³ siÍ z†zespo³u kaset regulacyjnych, czyli potencjometrÛw suwakowych drutowych, o†d³ugoúci úcieøki ok. 15 cm. Liczba kaset
odpowiada³a na ogÛ³ liczbie regulatorÛw. Kaseta by³a wyposaøona w†trÛjpozycyjny prze³¹cznik hebelkowy umoøliwiaj¹cy wybranie jednego z†trzech úciemniaczy generalnych, od ktÛrego kaseta otrzymywa³a napiÍcie steruj¹ce. Kasety by³y pogrupowane w†pola nastawcze - na ogÛ³ cztery. Kaøde z†nich zawiera³o tyle kaset, ile by³o regulatorÛw. G³Ûwki suwakÛw oraz prze³¹cznikÛw na kaødym polu mia³y inn¹ barwÍ (czerwon¹, zielon¹, øÛ³t¹, oranø, ewentualnie bia³¹). Zastosowanie kolorÛw u³atwia³o wykonanie zapisu úwiat³a, np.: I†zielony 10/50, 12/50, 25/80, 27/100. W†takim zapisie liczba w†liczniku oznacza³a numer obwodu (reflektora), a†w†mianowniku procent, na jaki ma byÊ ustawiony suwak kasety. Zapis ìI zielonyî oznacza³, øe prze³¹cznik hebelkowy kasety ma byÊ ustawiony
Rys. 2. Sposób łączenia odbiorników systemach DMX512
Rys. 3. Budowa ramki DMX − zawiera informację dla 1 kanału, oraz przebiegi czasowe dla sygnału RESET/BREAK, MARK AFTER BREAK, oraz START CODE
Elektronika Praktyczna 4/2003
12−kanałowy regulator mocy sterowany sygnałem DMX512 w†pozycji pierwszej, czyli øe bÍdzie zasilana z†pierwszego úciemniacza generalnego oraz øe dotyczy pola zielonego. åciemniacz generalny by³ to zestaw dwÛch autotransformatorÛw umieszczonych na wspÛlnej osi, z†uzwojeniami po³¹czonymi tak, øe na wyjúciu pierwszego napiÍcie mia³o wartoúÊ 0†V, a†drugiego - 220 V. Poprzez obrÛt nastÍpowa³a zmiana napiÍÊ. NapiÍcie to podawane by³o na transformatory 220 V/24 V, ktÛre po wyprostowaniu zasila³o kasety regulacyjne nie wprost, lecz przez zespÛ³ przekaünikÛw umoøliwiaj¹cych wybÛr jednego z†czterech pÛl nastawczych. Taki model pulpitu nastawczo-regulacyjnego krÛlowa³ w†teatrach przez wiele lat. Zmienia³y siÍ tylko konstrukcje regulatorÛw, transduktory zast¹pi³y bardziej niezawodne tyrystory i†triaki. Z†czasem zaczÍto stosowaÊ mikroprocesory i†konstrukcje te stopniowo wypar³y tradycyjne pulpity nastawczo-regulacyjne. Pocz¹tkowo pulpity mia³y wyjúcia analogowe 0...10V, co pozwala³o wykorzystaÊ linie steruj¹ce nastawni analogowej - do kaødego regulatora dochodzi³y dwa przewody steruj¹ce. W†rozbudowanych systemach ich liczba dochodzi³a do kilkuset. W³aúnie ta ogromna liczba linii steruj¹cych by³a impulsem do opracowania nowego rodzaju regulatorÛw - regulatorÛw cyfrowych i†protoko³u zapewniaj¹cego ich sterowanie. Obecnie najbardziej popularny jest standard DMX512.
Co to jest DMX512? Odrobina teorii System DMX512 (Digital MultipleX for 512 units) to inaczej cyfrowy multipleks dla 512 jednostek. Zosta³ on opracowany w†USA przez United States Institute for Theatre Technology
Elektronika Praktyczna 4/2003
Rys. 4. Schemat elektryczny regulatora − część mikroprocesorowa, detektory przejścia przez zero
29
12−kanałowy regulator mocy sterowany sygnałem DMX512
Rys. 5. Schemat elektryczny dekodera adresowego
(USITT) - Instytut Technologii Teatralnych StanÛw Zjednoczonych. Jest to wydajny i†stosunkowo prosty system stosowany praktycznie na ca³ym úwiecie. Umoøliwia wysterowanie 512 kana³Ûw za pomoc¹ jednego trÛjøy³owego przewodu. Zalety tego systemu s¹ niebagatelne: oszczÍdne okablowanie, duøa odpornoúÊ na zak³Ûcenia, linia steruj¹ca moøe mieÊ d³ugoúÊ do 1200 m (moøna j¹ zwiÍkszyÊ, stosuj¹c repeatery). Ma teø swoje wady, z†ktÛrych najpowaøniejsz¹ jest ma³a rozdzielczoúÊ. Jest tak, poniewaø do okreúlenia wartoúci, np. napiÍcia wyjúciowego regulatora, uøywa siÍ tylko oúmiu bitÛw. Powoduje to, øe napiÍcie wyjúciowe regulatora nie
30
zmienia siÍ w†sposÛb liniowy, lecz skokowo (z krokiem 220 V/ 255= 0,86 V), co jest szczegÛlnie widoczne przy stosowaniu øarÛwek o†ma³ej mocy. Istotn¹ wad¹ jest takøe opÛünienie w†reakcji odbiornika, ktÛre wynosi ok. 0,005 sekundy, jednak - jeøeli chodzi o†regulatory - moøna go nie braÊ pod uwagÍ (bezw³adnoúÊ w³Ûkna øarÛwki i†tak jest wiÍksza). Do przesy³ania sygna³u magistral¹ DMX512 wykorzystywany jest interfejs RS485. Jako nadajnik i†odbiornik stosuje siÍ ten sam typ uk³adu 75176 (rys. 1). Zgodnie z†norm¹, do ³¹czenia ze sob¹ urz¹dzeÒ naleøy uøywaÊ 5-stykowych z³¹cz XLR. Dopuszcza siÍ rÛwnieø stosowanie z³¹czy 3-sty-
kowych. Funkcje stykÛw w†obydwu rodzajach z³¹czy opisano w†tab. 1 i†2. Urz¹dzenia w†standardzie DMX ³¹czy siÍ ìszeregowoî. S¹ one tak zbudowane, øe posiadaj¹ wejúcie dla sygna³u oraz wyjúcie, ktÛre umoøliwia pod³¹czenie nastÍpnej jednostki. Do wyjúcia ostatniego urz¹dzenia w†szeregu naleøy zawsze pod³¹czyÊ tzw. terminator jest to po prostu wtyk XLR z†opornikiem 120 Ω do³¹czonym pomiÍdzy styki 2. i†3. Jeøeli liczba urz¹dzeÒ w†szeregu jest wiÍksza od 32 lub d³ugoúÊ kabla steruj¹cego wynosi wiÍcej niø 1200 m, to naleøy zastosowaÊ repeater DMX, czyli wzmacniacz sygna³u DMX, do ktÛrego wyjúcia
Elektronika Praktyczna 4/2003
12−kanałowy regulator mocy sterowany sygnałem DMX512 moøna podpi¹Ê kolejne 32 odbiorniki lub dodatkowy odcinek kabla steruj¹cego (rys. 2). O†ile w†specyfikacji RS485 zdefiniowane s¹ poziomy napiÍÊ oraz wymagania co do sposobu ³¹czenia urz¹dzeÒ, to DMX512 specyfikowany jest protokÛ³, zgodnie z†ktÛrym s¹ przesy³ane dane. Podstaw¹ jest tak zwana ramka, w†sk³ad ktÛrej wchodzi 1†bit startu, 8†bitÛw danych, 2†bity stopu, czyli d³ugoúÊ ramki wynosi 11 bitÛw. Czas trwania jednego bitu to dok³adnie 4†µs, czyli d³ugoúÊ ramki wynosi 44 µs (rys. 3). Jedna ramka zawiera informacjÍ o†jednym kanale DMX, co oznacza, øe do wys³ania informacji dotycz¹cej wszystkich kana³Ûw potrzeba 512 ramek. Jednak aby odbiornik wiedzia³, kiedy nastÍpuje pocz¹tek transmisji - czyli ktÛry kana³ jest pierwszy - zaczyna siÍ ona sygna³em RESET lub (w innych opisach) BREAK. Jakkolwiek jest on nazwany, czas jego trwania wynosi minimum 88 µs. NastÍpnym sygna³em jest znacznik - MARK AFTER BREAK (w skrÛcie MAB). Czas jego trwania ustalono na 8†µs (pÛüniej powsta³y systemy zdolne rozpoznaÊ znacznik o†d³ugoúci 4†µs i†s¹ one oznaczone jako DMX512/
1990). Po przes³aniu MAB, sterownik wysy³a tzw. bajt startowy (START CODE), ktÛry w†zamyúle twÛrcÛw protoko³u DMX mia³ okreúlaÊ, czy wysy³ane po nim dane maj¹ sterowaÊ regulatorami, czy teø innymi urz¹dzeniami. Poniewaø dok³adnie nie wiedziano, o†jakie urz¹dzenia bÍdzie chodzi³o, wiÍc przyjÍto jego wartoúÊ 00h i†tak juø zosta³o. Tak wiÍc wartoúÊ bajtu startowego musi wynosiÊ 00h. Jeøeli jego wartoúÊ bÍdzie inna, odbiornik musi zignorowaÊ wszystkie nastÍpne bajty. Po wys³aniu sekwencji startowej sterownik rozpoczyna transmisjÍ bajtÛw z†danymi, pocz¹wszy od pierwszego kana³u. Przerwa pomiÍdzy ramkami danych jest oznaczana jako MARK BETWEEN FRAME (MBF) i†moøe wynosiÊ od zera do jednej sekundy. Czas potrzebny do wys³ania jednego kompletu danych zaleøy od liczby kana³Ûw - norma okreúla maksymaln¹ liczbÍ kana³Ûw, tj. 512 i†dla tej liczby wynosi on 22668 µs, czyli dane s¹ odúwieøane 44 razy na sekundÍ. ProtokÛ³ nie definiuje rÛwnieø reakcji odbiornikÛw, jeøeli zostanie przerwana transmisja DMX. Producenci sprzÍtu stosuj¹ w†tym przypadku rÛøne rozwi¹zania, np.:
- utrzymanie ostatniej otrzymanej wartoúci, - p³ynne wy³¹czenie urz¹dzenia, - natychmiastowe wy³¹czenie urz¹dzenia, - wysterowanie urz¹dzenia wczeúniej zaprogramowan¹ wartoúci¹. To, jakie rozwi¹zanie zostanie zastosowane, bÍdzie w†duøej mierze zaleøa³o od typu urz¹dzenia, i†tak na przyk³ad regulatory powinny utrzymywaÊ ostatnio otrzyman¹ wartoúÊ. Nieoczekiwany BLACKOUT mÛg³by byÊ niebezpieczny dla aktorÛw, jak teø mÛg³by spowodowaÊ nieoczekiwan¹ reakcjÍ publicznoúci, zw³aszcza dzieciÍcej, natomiast wszelkie napÍdy wind scenicznych, zapadni czy teø sztankietÛw powinny zostaÊ w†sposÛb p³ynny wy³¹czone, poniewaø ich niekontrolowane dalsze dzia³anie by³oby niebezpieczne. Na ogÛ³ uøytkownik ma moøliwoúÊ okreúlenia reakcji urz¹dzenia na nieoczekiwane przerwy w†transmisji DMX. Andrzej Biliñski Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/kwiecien03.htm oraz na p³ycie CD-EP4/2003B w katalogu PCB.
WYKAZ ELEMENTÓW Część mikroprocesorowa (rys. 4) Rezystory 0,125W jeśli nie zaznaczono inaczej R1, R2, R6: 56kΩ/2W R3, R5, R7, R10: 10kΩ R4, R8, R9: 1MΩ R11: 1kΩ R12: 470Ω Kondensatory C1...C3, C6: 100nF ceramiczny C4...C5: 100µF/25V Półprzewodniki D1....D5: dioda LED T1…T3: BC547 U1…U3: CNY17 transoptor U4, U5, U7: AT90S4433 − zaprogramowany U6: DS1813 U8, U9: 75176 U10: mostek prostowniczy (okrągły) U11: 7805 Różne TR1: TSZZ 2,2/005M − transformator sieciowy do druku
Elektronika Praktyczna 4/2003
B1: bezpiecznik topikowy 100mA + gniazdo do druku K2, K8: styk konektorowy płaski do druku (męski) w prototypie zastosowano złącze z oferty ELFY nr katalogowy 48−251−21 z usuniętym środkowym stykiem K1, K7: złącze 3x1 raster 2,54mm komplet K3, K4, K6: złącze 5x1 raster 2,54mm komplet K5: złącze 4x1 raster 2,54mm komplet (można nie montować, przewidziane do ewentualnej rozbudowy − SPI) K9: 5x2 raster 2,54mm header (ISP) JP1...JP3: jumpery G1: generator kwarcowy 8MHz Dekoder adresowy (rys. 5) Rezystory Wszystkie rezystory 0,125W R1.1...R2.1: 300Ω R3.1...R14.1: 3,6kΩ Półprzewodniki D1.1, D2.1: dioda LED U1.1, U2.1: 7427
Różne SW1.1...SW3.1: nastawnik kodowy DEC/BCD Z1.1...Z3.1: złącze 5x1 raster 2,54mm komplet (stosować przy nastawnikach montowanych na płycie czołowej) DP1.1: DIP switch (4 segmenty) Wyjściowy stopień mocy (rys. 6) Rezystory R1....R4: 300Ω/0,125W R5....R8: 27Ω/2W Kondensatory C1...C4: 100nF/400V Półprzewodniki LED1...LED4: dioda LED Triak1....Triak4: BTA26−600 U1...U4: MOC3020 Różne CON1...CON8: styk konektorowy płaski do druku (męski) w prototypie zastosowano złącze z oferty ELFY nr katalogowy 48−251− 21 z usuniętym środkowym stykiem K1: złącze 5x1 raster 2,54mm komplet
31
ProgramowanyPsygnalizator R O J E głosowy K T Y
Programowany sygnalizator głosowy AVT−508 Jedn¹ z†pierwszych aplikacji tego urz¹dzenia by³ oryginalny dzwonek domowy. CzÍsto spotykane konstrukcje mechaniczne umoøliwiaj¹ uzyskanie jednego lub dwÛch tonÛw, dzwonki elektroniczne pozwalaj¹ odtworzyÊ wczeúniej zaprogramowane düwiÍki lub melodie. My proponujemy wykonanie urz¹dzenia odtwarzaj¹cego dowolne düwiÍki, ktÛre moøna samodzielnie nagraÊ w†pamiÍci ìkrzemowego magnetofonuî. Rekomendacje: urz¹dzenie polecamy wszystkim zwolennikom nietypowych rozwi¹zaÒ domowych systemÛw powiadamiania (nazwijmy je ìdzwonkamiî), a†takøe projektantom rÛønego typu urz¹dzeÒ, w†ktÛrych przydatna jest g³osowa sygnalizacja stanu pracy.
Elektronika Praktyczna 4/2003
Przedstawione w†artykule urz¹dzenie naj³atwiej jest zaliczyÊ do grupy dzwonkÛw elektronicznych o†bardzo uniwersalnych moøliwoúciach. Umoøliwia ono odtworzenie dowolnego düwiÍku, melodii czy nawet piosenki. Moøliwe jest to dziÍki zastosowaniu specjalizowanego uk³adu umoøliwiaj¹cego nagrywanie i†odtwarzanie düwiÍkÛw. DziÍki temu uk³adowi przedstawiony dzwonek moøe jako sygna³ dzwonienia odtworzyÊ dowolny düwiÍk zapisany w†jego pamiÍci, a†nagrane düwiÍki, czyli düwiÍk dzwonka, mog¹ byÊ dowolnie zmieniane. Maksymalna d³ugoúÊ nagranych düwiÍkÛw wynosi 20 sekund. Urz¹dzenie wyposaøono we wzmacniacz z†wbudowan¹ cyfrow¹ regulacj¹ g³oúnoúci, dziÍki czemu g³oúnoúÊ dzwonienia moøna regulowaÊ za pomoc¹ dwÛch klawiszy. DziÍki zastosowaniu uk³adu oszczÍdzaj¹cego pobierany pr¹d dzwonek moøe byÊ zasilany z†baterii. Wyzwolenie dzwonienia odbywa siÍ poprzez podanie impulsu
220 VAC lub wyst¹pienie pr¹du dzwonienia w†linii telefonicznej - jeúli uk³ad b Ídzie wspÛ ³pra c ow a ³ z†telefonem. Uk³ad wyzwalania zosta³ zbudowany za pomoc¹ transoptora, dziÍki czemu elementy dzwonka s¹ odizolowane galwanicznie od napiÍcia wyzwalaj¹cego dzwonienie, co zapewnia bezpieczeÒstwo jego uøytkowania.
Budowa i†zasada dzia³ania Schemat elektryczny urz¹dzenia przedstawiono na rys. 1. G³Ûwnym elementem ca³ej konstrukcji jest uk³ad US1. Umoøliwia on zapis düwiÍkÛw†o†maksymalnym czasie trwania do 20 sekund. Uk³ad ISD1420 zawiera w†swojej strukturze kompletny tor zapisu i†odtwarzania düwiÍkÛw wraz z†niezbÍdnymi filtrami wejúciowymi i†wyjúciowymi. Dodatkowo w†uk³adzie zawarty jest wzmacniacz wejúciowy umoøliwiaj¹cy bezpoúrednie pod³¹czenie mikrofonu pojemnoúciowego oraz wzmacniacz wyjúciowy umoøli-
33
Programowany sygnalizator głosowy
Rys. 1. Schemat elektryczny programowanego sygnalizatora głosowego
wiaj¹cy do³¹czenie g³oúnika. W†przedstawionym uk³adzie düwiÍki nagrywane s¹ poprzez mikrofon ìMKî, rezystory R6, R7 i†R8 oraz kondensator C12 stanowi¹ obwÛd zasilania mikrofonu, kondensatory C9 i†C10 oddzielaj¹ sk³adow¹ sta³¹ od wejúcia wzmacniacza zawartego w†uk³adzie US1. Uk³ad pracuje w†trybie adresowania i†po kaødorazowym wyzwoleniu odtwarzania czy teø nagrywania proces rozpoczyna siÍ od pocz¹tku wewnÍtrznej pamiÍci i†w†przypadku nagrywania trwa do powrotu jedynki logicznej na wejúciu ìRECî lub przepe³nieniu wewnÍtrznej pamiÍci, a††w†przypadku odtwarzania do momentu wykrycia znacznika koÒca wiadomoúci. Poniewaø zawarty wewn¹trz uk³adu US1 wzmacniacz posiada niewielk¹ moc, zastosowano zewnÍtrzny uk³ad wzmacniacza US2. Uk³ad ten jest wzmacniaczem audio umieszczonym w†obudowie SO8 o†maksymalnej mocy 0,8 W, przy napiÍciu zasilania rÛwnym 5†V. OprÛcz standardowego wzmacniacza uk³ad TDA8551 zawiera wewnÍtrzny regulator g³oúnoúci sterowany cyfrowo. Regulator posiada 64 kroki, a†sterowanie odbywa siÍ za pomoc¹ tylko jednego wyprowadzenia. Podanie na wejúcie steruj¹ce (wyprowadzenie
34
1) dodatniego impulsu powoduje zwiÍkszenie poziomu g³oúnoúci, natomiast podanie ujemnego impulsu powoduje jego zmniejszenie. DziÍki temu poziom g³oúnoúci jest regulowany za pomoc¹ klawiszy bez koniecznoúci stosowania dodatkowych potencjometrÛw elektronicznych. Dodatkowo wzmacniacz posiada wejúcie s³uø¹ce do sterowania trybem pracy, podanie na wejúcie ìMODEî masy powoduje, øe uk³ad jest w†stanie aktywnym i†wzmacnia sygna³y podawane na jego wejúcie jeúli na wejúcie ìMODEî zostanie podane napiÍcie rÛwne po³owie napiÍcia zasilania, to uk³ad przejdzie do trybu ìMUTEî i†bÍdzie pracowa³, lecz düwiÍk bÍdzie wyciszony. Ostatnim trybem pracy jest tryb ìSTANDBYî, tryb ten zostaje w³¹czony po zwarciu wejúcia ìMODEî z†plusem zasilania. W†tym stanie wszystkie bloki wewnÍtrzne s¹ wy³¹czone, jedynie jest podtrzymywana pamiÍÊ nastawionej g³oúnoúci, w†trybie tym uk³ad pobiera oko³o 10 µA pr¹du. Jak widaÊ, uk³ad TDA8551 zawiera modu³y znacznie poprawiaj¹ce komfort obs³ugi i†umoøliwiaj¹ce zastosowanie go w†uk³adach zasilanych bateryjnie. Prezentowany dzwonek umoøliwia wspÛ³pracÍ z†typow¹ insta-
lacj¹ dzwonkow¹, gdzie wyzwolenia dzwonka objawia siÍ pojawieniem napiÍcia 220 V. Moøe wiÍc zast¹piÊ standardowy dzwonek elektromagnetyczny. Aby bezpiecznie wykryÊ pojawienie siÍ napiÍcia 220 V, zastosowano transoptor TS1, ktÛry umoøliwia odizolowanie galwaniczne dzwonka od napiÍcia sieci. ObwÛd†zasilania diody nadawczej zawartej w†transoptorze TS1 zbudowany jest za pomoc¹ kondensatora C6, rezystorÛw R2 i†R3 oraz diod D2...D4. Kondensator wraz z†rezystorami obniøa wartoúÊ pr¹du zasilania diody transoptora, dioda D4 zabezpiecza diodÍ zawart¹ w†transoptorze przed uszkodzeniem w†przypadku pojawienia siÍ pr¹du wstecznego o†zbyt duøej wartoúci. Diody Zenera D2 i†D3 obniøaj¹ napiÍcie w†obwodzie o†oko³o†15V. Diody te s¹ szczegÛlnie przydatne w†przypadku wykorzystania przedstawionego uk³adu jako dzwonka telefonicznego, gdyø umoøliwiaj¹ przep³yw pr¹du dzwonienia, a†jednoczeúnie blokuj¹ zwieranie linii telefonicznej przez kondensator C6 w†czasie rozmowy telefonicznej. W†czasie rozmowy na linii telefonicznej panuje napiÍcie oko³o 10 V, diody D2 i†D3 powoduj¹ spadek napiÍcia oko³o 15 V, co sprawia, øe w†obwodzie wejúciowym transop-
Elektronika Praktyczna 4/2003
Programowany sygnalizator głosowy jest rÛwnolegle z†tranzystorem wyjúciowym transoptora i†jego zwarcie jest interpretowane tak, jak wyst¹pienie napiÍcia w†obwodzie wejúciowym transoptora. Przycisk ten jest przydatny podczas sprawdzania poprawnoúci nagranego komunikatu oraz do ustawienia g³oúnoúci. Do wyzwolenia nagrywania komunikatu zastosowano zworkÍ JP1. Uk³ad zasilania zosta³ wykonany z†uøyciem uk³adu US4, ktÛry dostarcza napiÍcia 5V, kondensatory C1...C4 filtruj¹ napiÍcie od strony wejúciowej i†wyjúciowej stabilizatora. Dioda D1 zabezpiecza uk³ad przez odwrotn¹ polaryzacj¹ napiÍcia zasilania. Rys. 2. Przebiegi czasowe w poszczególnych punktach układu
tora nie p³ynie pr¹d, a†tym samym kondensator C6 nie t³umi uøytecznego sygna³u rozmÛwnego. Po stronie wtÛrnej transoptora zastosowano uk³ad ca³kuj¹cy, zbudowany z†kondensatora C5 i†rezystora R1. Pojawienie siÍ pr¹du przemiennego w†obwodzie wejúciowym transoptora powoduje, øe na kolektorze tranzystora wyjúciowego pojawiaj¹ siÍ ujemne impulsy o†czÍstotliwoúci rÛwnej czÍstotliwoúci napiÍcia sieci (50 Hz) lub czÍstotliwoúci pr¹du dzwonienia (25 Hz), w†zaleønoúci od wykorzystania dzwonka. Na rys. 2 przedstawiono przebiegi czasowe wystÍpuj¹ce w†poszczegÛlnych punktach uk³adu. Zastosowanie uk³adu ca³kuj¹cego powoduje, øe w†czasie przep³ywu przemiennego pr¹du w†obwodzie wejúciowym, na wyjúciu transoptora panuje stan niski. NastÍpnie sygna³ ten trafia na wejúcie bramki US3D i†dalej do bramki US3C, na wyjúciu bramki US3C otrzymujemy w†pe³ni cyfrowy sygna³ informuj¹cy o†istnieniu pr¹du dzwonienia. Pojawienie siÍ pr¹du dzwonienia w†obwodzie wejúciowym transoptora powoduje podanie stanu niskiego na wejúcie bramki US3B, bramka ta wraz z†bramk¹ US3A pe³ni rolÍ przerzutnika RS. Podanie stanu niskiego na wejúcie bramki US3B powoduje zmianÍ stanu tego przerzutnika i†podanie stanu niskiego na wejúcie ìMODEî wzmacniacza US2. Podanie masy na to wejúcie powoduje prze³¹czenie wzmacniacza w†tryb
Elektronika Praktyczna 4/2003
aktywny. Jednoczeúnie z†prze³¹czeniem wzmacniacza w†tryb aktywny z†wyjúcia bramki US3C zostaje podany stan niski na wejúcie wyzwalania odtwarzania komunikatu ìPLAYEî uk³adu US1, co powoduje rozpoczÍcie odtwarzania zapisanego komunikatu düwiÍkowego. Wejúcie ìPLAYEî charakteryzuje siÍ tym, øe po podaniu nawet krÛtkiego ujemnego impulsu nagrany komunikat zostanie odtworzony do jego koÒca. W†odrÛønieniu do wejúcia ìPLAYLî, gdzie komunikat jest odtwarzany tylko wtedy, gdy na tym wejúciu panuje stan niski, podanie w†dowolnym momencie stanu wysokiego powoduje przerwanie odtwarzania komunikatu, bez wzglÍdu na to, czy komunikat zosta³ zakoÒczony, czy teø nie. Po odtworzeniu ca³ego komunikatu na wyjúciu ìRECLEDî uk³adu US1 pojawia siÍ ujemny impuls sygnalizuj¹cy zakoÒczenie odtwarzania i†uk³ad ISD1420 przechodzi w†stan spoczynku. Impuls ten kierowany jest do bramki US3A i†powoduje wyzerowanie przerzutnika, a†co za tym idzie podanie stanu wysokiego na wejúcie ìMODEî wzmacniacza, co z†kolei prze³¹cza go w†tryb czuwania ìSTANDBYî. W†ten sposÛb w†czasie spoczynku uk³ad dzwonka pobiera oko³o 10 µA pr¹du, co umoøliwia zastosowanie zasilania bateryjnego. Do rÍcznego wyzwolenia sygna³u dzwonka zastosowano przycisk SW3, przycisk ten w³¹czony
Montaø i†uruchomienie Przy montaøu elementÛw dzwonka postÍpujemy wed³ug ogÛlnie przyjÍtych zasad, poczynaj¹c od elementÛw o†najmniejszych gabarytach (schemat montaøowy p³ytki pokazano na rys. 3). Ze szczegÛln¹ ostroønoúci¹ naleøy przyst¹piÊ do montaøu uk³adu US2, ze wzglÍdu na to, øe uk³ad umieszczony jest w†obudowie SMD. Uk³ad ten naleøy wlutowaÊ przed montaøem z³¹czy CON1...CON3 i†kondensatorÛw C13 i†C15. Podyktowane to jest tym, øe przed wlutowaniem tych elementÛw jest swobodny dostÍp do uk³adu US2 i†jego montaø moøna przeprowadziÊ bez problemu przy pomocy lutownicy transformatorowej. Po wlutowaniu uk³adu wzmacniacza moøna wmontowaÊ kondensatory C13 i†C15 oraz z³¹cza CON1...CON3. Jako z³¹cze CON4, CON5 zastosowano z³¹cza typu goldpin, do ktÛrych naleøy przylutowaÊ przewody zakoÒczone przyciskami SW1...SW3 (wed³ug schematu). Przed zamontowaniem stabilizatora naleøy zdecydowaÊ, w†jaki sposÛb bÍdzie zasilany dzwonek. Jeøeli uk³ad ma byÊ zasilany z†zasilacza, to naleøy wlutowaÊ wszystkie elementy pokazane na rys. 1. Jeøeli jednak uk³ad ma byÊ zasilany bateryjnie, to w†miejsce stabilizatora US4 naleøy wlutowaÊ zworkÍ pomiÍdzy wejúciem a†wyjúciem (naleøy zewrzeÊ punkty oznaczone na p³ytce jako 1-3). Do zasilania bateryjnego naleøy zastosowaÊ cztery baterie po³¹czone szeregowo, zastosowane baterie
35
Programowany sygnalizator głosowy
Rys. 3. Rozmieszczenie elementów na płytce drukowanej
musz¹ byÊ alkaliczne, gdyø o†ile w†czasie spoczynku dzwonek pobiera znikomy pr¹d (ok. 10 µA), o†tyle w†czasie odtwarzania pobierany pr¹d moøe wynieúÊ nawet 200 mA. Cztery baterie dostarczaj¹ napiÍcia wynosz¹cego ponad 6†V, co mog³oby uszkodziÊ uk³ady, ale szeregowo w³¹czona dioda D1 powoduje spadek napiÍcia o†oko³o 0,7 V, w†konsekwencji uk³ady s¹ zasilane napiÍciem o†wartoúci oko³o 5,3 V, a†to jest napiÍcie mieszcz¹ce siÍ w†zakresie pracy wszystkich uk³adÛw dzwonka. Zestaw baterii umoøliwia wielomiesiÍczne uøytkowanie, gdyø w†czasie spoczynku uk³ad pobiera znikomy pr¹d, a†w†czasie dzwonienia duøy pr¹d jest pobierany chwilowo. Jeúli dzwonek bÍdzie wykorzystany do sygnalizacji dzwonienia telefonu i†wyst¹pi¹ problemy z†jego wyzwalaniem, to naleøy zwiÍkszyÊ pojemnoúÊ kondensatora C6 do wartoúci 220 nF/250 V. Modelowy uk³ad pracowa³ prawid³owo bez zwiÍkszania tej pojemnoúci, ale w†przypadku linii telefonicznych o†innych parametrach pojemnoúÊ 47 nF moøe okazaÊ siÍ zbyt ma³a. Po zmontowaniu uk³adu naleøy do z³¹cza CON3 pod³¹czyÊ g³oúnik, a†do z³¹cza CON1 napiÍcie zasilania, nie ma potrzeby pod³¹czania jeszcze przewodÛw wyzwalania dzwonienia do z³¹cza CON2.
36
Aby zmontowany dzwonek spe³nia³ swoje zadanie, naleøy w†pamiÍci uk³adu ISD1420 nagraÊ komunikat dzwonienia. RozpoczÍcie nagrywania nast¹pi po zwarciu zworki JP1, po tej czynnoúci poprzez mikrofon bÍd¹ nagrywane pojawiaj¹ce siÍ düwiÍki, w†czasie nagrywania bÍdzie zapalona dioda D5, sygnalizuj¹c stan nagrywania. ZakoÒczenie procesu nagrywania wykonuje siÍ poprzez rozwarcie zworki JP1. Komunikat zosta³ zapisany w†pamiÍci i od tej pory bÍdzie odtwarzany po kaødorazowym wyzwoleniu. Rozwarcie zworki JP1 spowoduje rÛwnieø zgaszenie diody ìD5î, jeúli jednak w†czasie nagrywania komunikatu dioda ta zgaúnie samoczynnie, bÍdzie to oznacza³o, øe†nagrywany komunikat jest za d³ugi i†nast¹pi³o przepe³nienie wewnÍtrznej pamiÍci. Dlatego komunikat nie moøe byÊ d³uøszy niø 20 sekund. Po prawid³owym nagraniu komunikatu moøna sprawdziÊ, jak zosta³ zapisany, w†tym celu naleøy nacisn¹Ê przycisk SW3, a†komunikat zostanie odtworzony. Jeúli proces nagrywania zosta³ zakoÒczony, to moøemy przejúÊ do pod³¹czenia przewodÛw z†napiÍciem wyzwalania do z³¹cza CON2. Przy tej czynnoúci naleøy zachowaÊ szczegÛln¹ ostroønoúÊ, gdyø zarÛwno napiÍcie 220V jak i†napiÍcie dzwonienia w†linii telefonicznej s¹ niebezpieczne dla zdrowia. Po zmontowaniu i†przy³¹czeniu dzwonka do uk³adu wyzwalania naleøy ustawiÊ poziom g³oúnoúci. Regulacji g³oúnoúci moøna dokonaÊ jedynie podczas odtwarzania komunikatu, gdyø w†czasie spoczynku uk³ad US2 znajduje siÍ w†trybie ìSTANDBYî i†wewnÍtrzny uk³ad zmiany poziomu düwiÍku jest rÛwnieø wy³¹czony. Podtrzymywana jest tylko wartoúÊ poziomu g³oúnoúci ustawionej w†trybie aktywnym. Aby wiÍc zmieniÊ g³oúnoúÊ, naleøy uruchomiÊ odtwarzanie komunikatu przyciskiem SW3, a†klawiszami SW1 i†SW2 ustawiÊ ø¹dany poziom, klawiszem SW1 poziom ten jest zwiÍkszany, a†klawiszem SW2 poziom jest zmniejszany. Uwaga! Jeøeli poziom g³osu zostanie odpowiednio ustawiony, a†po odtworzeniu komunikatu zostanie on samoczynnie zmniejszo-
WYKAZ ELEMENTÓW Rezystory R1, R4: 100kΩ R2, R3: 4,7kΩ R5, R6: 1kΩ R7, R8: 10kΩ R9: 5,1kΩ R10: 470kΩ R11, R12: 2,2kΩ Kondensatory C1, C4, C14: 100µF/16V C2, C3, C7, C10, C15, C16: 100nF C5, C11: 4,7µF/16V C6: 47nF/400V C12: 220µF/16V C13: 330nF Półprzewodniki D1: 1N4007 D2, D3: DZ 15V D4: 1N4148 D5: LED 3mm czerwona TS1: PC817 US1: ISD1420 US2: TDA8551 US3: CD4011 US4: LM7805 Różne JP1: goldpin 1x2 + jumper CON1: ARK2(5mm) CON2, CON3: ARK2(3,5mm) CON4: goldpin 1x4 CON5: goldpin 1x2 SW1, SW2, SW3: mikrowłączniki MK: mikrofon pojemnościowy Podstawki DIL28, DIL14, DIL8
ny, oznaczaÊ to bÍdzie, øe ürÛd³o zasilania ma za ma³¹ wydajnoúÊ pr¹dow¹ i†powstaje zbyt duøy spadek napiÍcia. Taka sytuacja bÍdzie siÍ pojawia³a, jeúli napiÍcie zasilania spadnie poniøej 4,5†V. Jeøeli uk³ad jest zasilany bateryjnie, bÍdzie to oznacza³o, øe baterie zosta³y†wyczerpane, a†w†przypadku zasilacza, øe zastosowany zasilacz posiada zbyt ma³¹ wydajnoúÊ pr¹dow¹ i†naleøy zastosowaÊ ìsilniejszyî zasilacz. Wymagany pr¹d zasilania wynosi minimum 200 mA przy napiÍciu oko³o 9†V. Krzysztof P³awsiuk, AVT
[email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/kwiecien03.htm oraz na p³ycie CD-EP4/2003B w katalogu PCB.
Elektronika Praktyczna 4/2003
Dekoder dźwięku P R dookólnego O J E K TSRS Y
Dekoder dźwięku dookólnego SRS, część 2 Surround na dwóch głośnikach AVT−5105
W reklamach moøna wyczytaÊ, øe efekt düwiÍku dookÛlnego uzyskuje siÍ wy³¹cznie poprzez zastosowanie n->∞†zestawÛw g³oúnikowych. My, maj¹c silne oparcie w†kilkuletnich doúwiadczeniach firmy SRS Labs, twierdzimy, øe doskona³y efekt dookÛlny moøna osi¹gn¹Ê za pomoc¹ dwÛch zestawÛw g³oúnikowych zasilanych z†klasycznego wzmacniacza stereofonicznego. Rekomendacje: procesor wzbogacaj¹cy brzmienie przez znaczne poszerzenie bazy ods³uchowej, ktÛry moøe wspÛ³pracowaÊ z†kaødym domowym zestawem stereofonicznym audio.
Elektronika Praktyczna 4/2003
Montaø i†uruchomienie Procesor zmontowano na dwÛch dwustronnych p³ytkach z†metalizacj¹ otworÛw. Na p³ytce g³Ûwnej (jej schemat montaøowy pokazano na rys. 2) umieszczono zasadnicze elementy urz¹dzenia, tzn.: uk³ad TDA7466 z†elementami zewnÍtrznymi, sterownik, prze³¹cznik wejúÊ, i†uk³ad zasilania. Mikrokontroler U2 i†pamiÍÊ U3 powinny byÊ umieszczone w†podstawkach. Wszystkie sygna³y wejúciowe i†wyjúciowe s¹ pod³¹czane za pomoc¹ z³¹cz Cinch wlutowywanych w†p³ytkÍ drukowan¹. Wyj¹tkiem jest wyjúcie nagrywania. Sygna³y nagrywania zosta³y do³¹czone do dwu punktÛw lutowniczych opisanych TAPE L/R. Druga z†p³ytek to p³ytka wyúwietlacza i†klawiatury. Jej schemat montaøowy pokazano na rys. 3. Umieszczono jest na niej wyúwietlacz 2x20 znakÛw i†5-przyciskow¹ klawiaturÍ. Na krawÍdzi obu p³ytek zosta³y umieszczone punkty lutownicze tak øeby moøna by³o po³¹czyÊ obie p³ytki za pomoc¹ rzÍdu k¹towych goldpinÛw. Po takim po³¹czeniu obu p³ytek powstaje modu³ z†poziom¹ p³ytk¹ g³Ûwn¹ i†pionow¹ p³ytk¹ wyúwietlacza. Moøna rÛwnieø po³¹czyÊ obie p³ytki wi¹zk¹ przewodÛw.
Montaø moøna zacz¹Ê od p³ytki g³Ûwnej. Najpierw trzeba wlutowaÊ kompletny uk³ad zasilacza, prze³¹cznik wejúÊ, podstawki pod U2 i†U3 i†wszystkie elementy bierne. Na tym etapie U1 nie powinien byÊ wlutowany, a†U2 i†U3 nie powinny byÊ w³oøone w†podstawki. Po do³¹czeniu do zaciskÛw ZM1 i†ZM2 napiÍcia o†wartoúci ok. 12...14 V†(sta³ego lub przemiennego) trzeba sprawdziÊ poprawnoúÊ napiÍcia zasilaj¹cego +9 V†uk³adu U1 i†napiÍcia +5 V†uk³adÛw U2 i†U3. Po zmontowaniu p³ytki wyúwietlacza trzeba j¹ po³¹czyÊ z†p³ytk¹ g³Ûwn¹ i†moøna w³oøyÊ do podstawek zaprogramowany mikrokontroler U2 i†pamiÍÊ U3. Jeøeli wszystkie elementy s¹ prawid³owe i†mikrokontroler jest poprawnie zaprogramowany, to po w³¹czeniu zasilania na ekranie wyúwietlacza powinien siÍ pojawiÊ na oko³o 2†sekundy komunikat powitalny: PROCESOR SRS AVT 2003
a†nastÍpnie napis: volL -00dB EFFECT1 volR -00dB INPUT 1
Przy pierwszym uruchomieniu w†pamiÍci EEPROM s¹ zapisane przypadkowe wartoúci lub - kiedy pamiÍÊ jest wykasowana - s¹ to tam same wartoúci FFh. Program
37
Dekoder dźwięku dookólnego SRS
Rys. 2. Płytka główna procesora
Rys. 3. Płytka wyświetlacza
sprawdza czy jest to pierwsze uruchomienie i†jeøeli tak jest to wpisuje do przestrzeni pamiÍci uøywanej przez procesor same zera. Trzeba pamiÍtaÊ, øe nawet tak zainicjowany procesor wymaga wstÍpnego skonfigurowania przez wywo³anie wszystkich funkcji i†wpisanie ø¹danych ustawieÒ. Zostanie to opisane w†dalszej czÍúci artyku³u. Poniewaø do TDA7466 informacje s¹ tylko wpisywane, to moøna sprawdziÊ wstÍpnie sterownik bez tego uk³adu. PoprawnoúÊ wpisywania ustawieÒ i†regulacji do pamiÍci EEPROM sprawdza siÍ przez wy³¹czenie i†ponowne w³¹czenie urz¹dzenia. Jeøeli na przyk³ad zostanie ustawione wzmocnienie w†obu kana³ach na poziomie -18dB, to po wy³¹czeniu i†ponownym w³¹czeniu zasilania taka wartoúÊ wzmocnienia powinna byÊ wyúwietlana na ekranie. Po sprawdzeniu sterownika moøna wlutowaÊ uk³ad U1. Do wejúcia WE1_L pod³¹czamy syg-
38
na³ sinusoidalny o†czÍstotliwoúci 1†kHz i†amplitudzie ok. 200 mV, a†do wyjúcia WY_L oscyloskop. Ustawiamy aktywne wejúcie na 1†(INPUT1) i†sprawdzamy poprawnoúÊ regulacji wzmocnienia. Sygna³ z†generatora trzeba po kolei podawaÊ na wszystkie wejúcia procesora prze³¹czaj¹c aktywne wejúcie i†obserwuj¹c sygna³ na ekranie oscyloskopu do³¹czonego do wyjúcia sprawdziÊ poprawnoúÊ dzia³ania prze³¹cznika wejúÊ. Teraz trzeba zmieniÊ czÍstotliwoúÊ sygna³u na ok. 100 Hz, wejúÊ do funkcji regulacji tonÛw niskich i†sprawdziÊ jak s¹ one regulowane. Analogicznie ustawiamy czÍstotliwoúÊ ok. 3...4 kHz i†regulujemy tony úrednie i†na koniec przy czÍstotliwoúci ok. 10 kHz tony wysokie. To s¹ w³aúciwie wszystkie regulacje, ktÛre moøna sprawdziÊ zestawem oscyloskop - generator. Dalsze sprawdzanie wykonuje siÍ ìna s³uchî po pod³¹czeniu do aktywnego wej-
úcia sygna³u akustycznego np. z†odtwarzacza CD, a†wyjúcie procesora do wejúcia wzmacniacza m.cz. stereo. Jeøeli ktoú nie dysponuje oscyloskopem i†generatorem, to moøe od pocz¹tku uruchamiaÊ procesor metod¹ ìna s³uchî.
Uk³ad TDA7466 Uk³ad TDA7466 jest wewnÍtrznie bardzo rozbudowany (rys. 4). Za pomoc¹ zestawu wewnÍtrznych rejestrÛw moøna w†nim ustawiaÊ wiele parametrÛw. MiÍdzy innymi moøna regulowaÊ wzmocnienie niezaleønie w†oby kana³ach i†regulowaÊ barwÍ tonu. DostÍpna jest teø funkcja Voice Canceller, umoøliwiaj¹ca wyt³umienie g³osu wokalisty z†ods³uchiwanego utworu. Wykorzystywany jest tutaj fakt, øe w†wiÍkszoúci utworÛw g³os wokalisty jest umieszczony w†úrodku bazy stereo. Odpowiednie matrycowanie sygna³u stereo pozwala na
Elektronika Praktyczna 4/2003
Dekoder dźwięku dookólnego SRS Tab. 2. Właściwości układu TDA7466 ✗ Jedno wejście stereo (2 kanały prawy i lewy), ✗ Programowane tłumienie wejścia, ✗ Regulacja barwy (tonów niskich, średnich i wysokich), ✗ Dostępna funkcja Voice Canceller (usuwanie głosu wokalisty), ✗ Stereofoniczny dźwięk przestrzenny SRS, ✗ Dźwięk dookólny surround, ✗ Trzy tryby surround: Music, Movie i Simulated, ✗ Niezależna regulacja wzmocnienia w obu kanałach, ✗ Wyjście do nagrywania z regulowanym poziomem sygnału niezależnie w obu kanałach, ✗ Wszystkie funkcje programowane magistralą I2C.
Rys. 4. Schemat blokowy
wyt³umienie g³osu i†pozostawienie praktycznie bez zmian pozosta³ej úcieøki düwiÍkowej. Po w³¹czeniu Voice Canceller moøna uøywaÊ procesora jako karaoke
Elektronika Praktyczna 4/2003
i†prÛbowaÊ swoich si³ jako wokalista. Trzeba jednak pamiÍtaÊ, øe w³¹czenie funkcji Voice Canceller eliminuje efekt düwiÍku przestrzennego.
OprÛcz opisywanego juø düwiÍku przestrzennego SRS TDA7466 moøe wytworzyÊ düwiÍk dookÛlny (surround) metod¹ matrycowania i†przesuniÍcia fazy sygna³Ûw stereofonicznych. Komunikacja pomiÍdzy TDA7466 a†sterownikiem odbywa siÍ przez magistralÍ I2C. Uk³ad TDA7466 jest uk³adem slave o†adresie 10000000b (80h). Dane do uk³adu s¹ tylko zapisywane - nie ma moøliwoúci odczytania czegokolwiek. Przes³anie danych przez magistralÍ I2C pokazane jest na rys. 5. Uk³ad master (sterownik PIC16F76) najpierw wysy³a sekwencjÍ start, a†potem adres slave 80h uk³adu TDA7466. Po wys³aniu adresu i†odebraniu z†uk³adu bitu potwierdzenia ACK sterownik wysy³a na magistralÍ subadres. Subadres okreúla adres rejestru TDA7466, do ktÛrego zostan¹ w†nastÍpnej kolejnoúci wys³ane dane - tab. 3. Jeøeli w†wysy³anym subadresie zostanie ustawiony bit B, to kaødy nastÍpny wysy³any bajt bÍdzie przesy³any do kolejnego rejestru. Na przyk³ad po wys³aniu subadresu 80h (adres 00h i†ustawiony bit B) i†danej zostanie ona wpisana do rejestru o†adresie 00h. Po odebraniu bitu potwierdzenia ACK i†wys³aniu kolejnej danej zostanie ona wpisana do rejestru o†adresie 01h itd. Nie ma wtedy koniecznoúci adresowania za kaødym razem wysy³anej danej. Transfer danych koÒczony jest przez mastera (sterownik) wys³aniem sekwencji stop. SzczegÛ³owy opis sterowania poszczegÛlnymi funkcjami uk³adu TDA7466 (w jÍzyku polskim) publikujemy na CD-EP4/2003B.
39
Dekoder dźwięku dookólnego SRS
Rys. 5. Przesłanie danych po magistrali I 2C do TDA7466
Uwagi koÒcowe Po prawid³owym zmontowaniu, uruchomieniu i†zaprogramowaniu procesor jest gotowy do pracy. MoøliwoúÊ zaprogramowania wielu parametrÛw pozwala na bardzo elastyczne dobranie trybu pracy urz¹dzenia do indywidualnych wymagaÒ uøytkownika. Przeprowadzone testy ods³uchowe w†pe³ni potwierdzi³y zdecydowan¹ poprawÍ odtwarzania zwyk³ych nagraÒ stereo. DüwiÍk by³ o†wiele bardziej przestrzenny i†zgodnie z†zapowiedziami firmy
SRS Labs efekt ten utrzymywa³ siÍ w†wiÍkszej czÍúci pomieszczenia. Oczywiúcie s¹ to moje subiektywne odczucia. Øeby sprawdziÊ jak dzia³a efekt SRS moøna na pocz¹tek procesor ustawiÊ tak: - funkcja SURROUND: SURROUND MODE np.
SURR.OUT VAR EFFECT -06 (reszta bez znaczenia) - funkcja SRS CONTROL: SRS SPACE ATT 0....-4dB SRS CENTER ATT 0....-4dB
Tab. 3. Rejestr wyboru funkcji MSB D7 B B B B B B B B B B B B
Subadres D6 X X X X X X X X X X X X
D5 X X X X X X X X X X X X
04 D3 D2 X 0 0 X 0 0 X 0 0 X 0 0 X 0 1 X 0 1 X 0 1 X 0 1 X 1 0 X 1 0 X 1 0 X 1 0
X− wartość nie znacząca B − bit autoinkrementacji
40
LSB Funkcja 01 DO 0 0 0 1 1 0 1 1 0 0 0 1. 1 0 1 1 0 0 0 1 1 0 1 1
INPUT ATTENUATION SURROUND & OUT & EFFECT CONTROL PHASE RESISTOR BASS& NATURAL BASE Ml DDLE & TREBLE SPEAKER ATTENUATION "L"~1 SPEAKER ATT ENUATION "R" RECORD ATTENUATION "L" RECORD ATTENUATION"R" INPUT MULTIPLEXER, VOICE CANCELLER & REC OUT SRS/SPACE ATTENUATION SRS/CENTER ATTENUATION
SRS INPUT OFF (dla zwyk³ego stereo) SRS SWITCH ON - funkcja VOICE CANCELL VOICE CANC &REC OUT OFF (reszta bez znaczenia) W†czasie regulacji barwy tonÛw trzeba zachowaÊ umiar. Duøe podbicie tonÛw niskich i†wysokich w†po³¹czeniu z†SRS SPACE ATT=0dB i†SRS CENTER ATT=0dB moøe spowodowaÊ powstawanie zniekszta³ceÒ przy odtwarzaniu niektÛrych nagraÒ. PrÛby dzia³ania procesora moøna przeprowadziÊ z†rÛønymi ürÛd³ami düwiÍku. Ciekawe efekty moøna uzyskaÊ przy odtwarzaniu düwiÍku stereo towarzysz¹cemu filmom. Ze strony internetowej firmy SRS Labs moøna teø pobraÊ demonstracyjne pliki audio specjalnie tak przygotowane øeby pokazaÊ moøliwoúci systemu SRS. Tomasz Jab³oñski, AVT [email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/kwiecien03.htm oraz na p³ycie CD-EP4/2003B w katalogu PCB.
Elektronika Praktyczna 4/2003
Uniwersalny P Rnadajnik O J ERC5/SIRC K T Y
Uniwersalny nadajnik RC5/SIRC, część 2 AVT−5104 Nadajnik zdalnego sterowania kojarzy nam siÍ zazwyczaj z†pude³kiem z†wieloma klawiszami. Opisy takich nadajnikÛw by³y niejednokrotnie publikowane na ³amach EP. Nadajnik prezentowany w†artykule ma nieco odmienn¹ budowÍ, gdyø nie posiada ani jednego przycisku, a†moøe wygenerowaÊ dowolny kod w†standardzie RC5 oraz SIRC. Rekomendacje: przyrz¹d szczegÛlnie przydatny do prac serwisowych przy naprawie odbiornikÛw telewizyjnych, magnetowidÛw, odtwarzaczy DVD i†sprzÍtu audio. Przyda siÍ takøe wszystkim fanom eksperymentÛw†ze zdalnym sterowaniem w†dwÛch najbardziej popularnych standardach kodowania.
Montaø i†uruchomienie Z†uwagi na niewielk¹ liczbÍ elementÛw uk³adu nadajnika montaø moøna wykonaÊ na p³ytce jednostronnej (jej schemat montaøowy pokazano na rys. 4). Niewielka liczba elementÛw nie powinna sprawiÊ problemÛw, jednak przy montaøu postÍpujemy tak jak w†przypadku kaødego innego, poczynaj¹c od elementÛw o†najmniejszych gabarytach (rezystory, diody). W†kolejnym etapie montujemy podstawkÍ pod uk³ad US1 i†stabilizator US2. Stabilizator jest montowany na leø¹co, wiÍc przed wlutowaniem naleøy jego wyprowadzenia zagi¹Ê pod katem 90o. Na koÒcu montujemy diody D2...D4, kondensatory i†z³¹cza CON1 i†CON2. Po poprawnym zmontowaniu uk³ad jest gotowy do pracy.
leøy skonfigurowaÊ do transmisji z†prÍdkoúci¹ 9600, z†jednym bitem stopu, bez bitu parzystoúci. Wygl¹d okien konfiguracji programu HyperTerminal przedstawiono na rys. 5. Aby odpowiednio skonfigurowaÊ po³¹czenie, naleøy wybraÊ menu Plik, nastÍpnie w³aúciwoúci, w†menu W³aúciwoúci wybieramy port szeregowy, do ktÛrego jest pod³¹czony nadajnik, a†nastÍpnie Konfiguruj. W†kolejnym oknie ustawiamy parametry transmisji, takie jak na rys. 5. Po skonfigurowaniu programu i†nawi¹zaniu po³¹czenie z†nadajnikiem moøna przejúÊ do sterowania urz¹dzeÒ. Przy starcie proce-
Obs³uga Po zmontowaniu uk³adu, z³¹cze CON2 naleøy pod³¹czyÊ do portu szeregowego komputera, a†do z³¹cza CON1 napiÍcie zasilania o†wartoúci oko³o 9V. Po w³¹czeniu zasilania dioda D4 zapali siÍ na jedn¹ sekundÍ, a†nastÍpnie zgaúnie i†uk³ad jest gotowy do pracy. Do sterowania nadajnika naleøy wykorzystaÊ dowolny program terminalowy, na przyk³ad HyperTerminal znajduj¹cy siÍ standardowo w†systemie Windows. Program na-
Elektronika Praktyczna 4/2003
Rys. 4. Rozmieszczenie elementów na płytce drukowanej
41
Uniwersalny nadajnik RC5/SIRC Tab. 3. Najczęściej spotykane adresy urządzeń w systemie SIRC Adres
Urządzenie
01 02 04 06 12 16 17 18
Telewizor Magnetowid 1 Magnetowid 2 Odtwarzacz dysków laserowych Urządzenie dźwięku dookólnego Magnetofon/tuner Odtwarzacz CD Korektor graficzny
Tab. 4. Najczęściej spotykane rozkazy w systemie SIRC
Rys. 5. Okno programu HyperTerminal podczas ustalania parametrów transmisji
sora domyúlnym systemem nadawania jest system RC5. Kaødy kod w†tym systemie sk³ada siÍ z†czterech cyfr, pierwsze dwie to adres urz¹dzenia (0...31), nastÍpne to komenda (0...63). W†celu wys³ania komendy numer ì12î do urz¹dzenia o†numerze ì10î naleøy wybraÊ z†klawiatury cyfry: ì1î, î2î, î1î, î0î i†zatwierdziÊ klawiszem Enter. Jeúli w†czasie wpisywania cyfr pomylimy siÍ, to moøna rozpocz¹Ê ponownie wpisywanie cyfr, poniewaø procesor odbiera kody z†portu szeregowego i†wpisuje je do bufora, moøna wiÍc podaÊ nieskoÒczon¹ liczbÍ cyfr, ale jako kod do wys³ania procesor traktuje cztery ostatnio wpisane cyfry, przed naciúniÍciem klawisza Enter. Jeúli wys³any poprzednio kod chcemy wys³aÊ ponownie, to nie Tab. 1. Najczęściej spotykane adresy urządzeń w systemie kodowania RC5 Adres
Urządzenie
00 02 05 07 16 17 18 19 20
Telewizor Videotext Magnetowid Do celów eksperymentalnych Przedwzmacniacz Odbiornik/tuner Magnetofon Do celów eksperymentalnych Odtwarzacz CD
42
trzeba jeszcze raz go podawaÊ, wystarczy nacisn¹Ê Enter i†kod zostanie wys³any, gdyø przez ca³y czas znajduje siÍ w pamiÍci procesora. Poniewaø kaøda sekwencja wys³ana do nadajnika musi sk³adaÊ siÍ z†czterech cyfr, to w†przypadku wysy³ania na przyk³ad komendy numer î1î do urz¹dzenia
Tab. 2. Najczęściej spotykane rozkazy w systemie kodowania RC5 Numer rozkazu
Rozkaz
00...09 12 13 14 16 16 18 19 20 21 22 23 24 25 26 27 48 50 52 53 54 55
Cyfry 0...9 Gotowość Wyciszenie Ustawienia podstawowe Głośność(+) Głośność(−) Jaskrawość(+) Jaskrawość(−) Nasycenie kolorów(+) Nasycenie kolorów(−) Tony niskie(+) Tony niskie(−) Tony wysokie(+) Tony wysokie(−) Balans w prawo Balans w lewo Pauza Szybkie przewijanie w przód Szybkie przewijanie w tył Odtwarzanie Stop Nagrywanie
Numer rozkazu
Rozkaz
000...009 016 017 018 019 020 021 022 023 024 025 026 027 030 031 038 039 046 047
Cyfry 0...9 Kanał (+) Kanał (−) Głośność(+) Głośność(−) Wyciszenie Włączenie/wyłączenie Ustawienia podstawowe Tryb audio Kontrast(+) Kontrast(−) Kolor(+) Kolor(−) Jaskrawość(+) Jaskrawość(−) Balans w lewo Balans w prawo Włączenie Wyłączenie
o†numerze ì1î, wybrana z†klawiatury sekwencja bÍdzie mia³a postaÊ: ì0î, î1î, î0î, î1î. Po wys³aniu ø¹danej komendy do komputera zostanie odes³ana wpisana wczeúnie sekwencja klawiszy, w†celu porÛwnania, czy wpisane z†klawiatury cyfry s¹ takie same jak wys³ane przez nadajnik. Format wysy³anych do komputera danych dla wys³anego kodu ì2314î ma postaÊ: ìR A=23 K=14î, gdzie ìRî oznacza, øe nadajnik wysy³a dane w†systemie RC5, ìAî- oznacza adres urz¹dzenia, ìKî- numer komendy. W†tab. 1 podano najczÍúciej spotykane adresy urz¹dzeÒ w†systemie RC5, a†w†tab. 2 najczÍúciej uøywane komendy. Aby wys³aÊ dane w†systemie SIRC, naleøy najpierw prze³¹czyÊ nadajnik w†ten tryb, w†tym celu w†dowolnym momencie naleøy nacisn¹Ê klawisz ìsî lub ìSî. Po
Elektronika Praktyczna 4/2003
Uniwersalny nadajnik RC5/SIRC naciúniÍciu jednej z†tych liter nadajnik prze³¹czy siÍ w†tryb nadawania w†systemie SIRC. W†tym systemie kaøda komenda sk³ada siÍ z†piÍciu cyfr, poniewaø system ten obs³uguje wiÍksz¹ liczbÍ komend. Pierwsze dwie cyfry wybrane z†klawiatury to adres urz¹dzenia (0...31), nastÍpne trzy to komenda (0...127). Podobnie jak w†przypadku wybierania kodu w†systemie RC5 moøna wybraÊ wiele cyfr, ale jako w³aúciwy kod traktowane jest piÍÊ ostatnich wybranych przed klawiszem Enter. Aby wys³aÊ do urz¹dzenia o†numerze ì17î kod o†numerze ì104î, naleøy wybraÊ sekwencjÍ ì1î, î7î, î1î, î0î, î4î. Kaøda sekwencja musi sk³adaÊ siÍ z†piÍciu cyfr,
Elektronika Praktyczna 4/2003
dlatego jeúli numer urz¹dzenia jest mniejszy od ì10î lub komenda jest mniejsza od î100î, to na pozosta³ych miejscach naleøy wpisaÊ zera. Dla przyk³adu numer urz¹dzenia jest rÛwny ì1î, a†komenda jest rÛwna ì2î, w†takiej sytuacji wpisana sekwencja ma postaÊ: ì0î, î1î, î0î, î0î, î2î. Po zatwierdzeniu klawiszem Enter wybrany kod zostaje wys³any przez diody nadawcze, a†do komputera zostaje odes³ana informacja, jaki kod zosta³ wys³any w†formacie: ìS A=01 K=001î. Litera ìSî informuje, øe dane nadawane s¹ w†systemie SIRC, litera ìAî oznacza adres urz¹dzenia, a†litera ìKî numer komendy. W†tab. 3 zawarto kody najczÍúciej uøywanych urz¹dzeÒ,
a†w†tab. 4 najczÍúciej uøywane komendy w†systemie SIRC. Jeøeli chcemy z†systemu SIRC prze³¹czyÊ siÍ ponownie na system RC5, wystarczy nacisn¹Ê klawisz ìrî lub ìRî. Jeúli nie mamy pewnoúci, w†jakim systemie aktualnie pracuje nadajnik, to kaød¹ komendÍ moøna poprzedziÊ znakiem systemu ìsî lub ìrî. Wtedy nadajnik prze³¹czy siÍ w†tryb podanego systemu i†wyúle komendÍ w†tym systemie. Krzysztof P³awsiuk, AVT [email protected] Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/kwiecien03.htm oraz na p³ycie CD-EP4/2003B w katalogu PCB.
43
P
R
O J
EYampp−7 K T Y
Yampp−7 Kieszonkowy odtwarzacz MP3, część 2
Przedstawiamy kolejny odtwarzacz MP3, tym razem zaprojektowany jako urz¹dzenie przenoúne. Yampp7 uøywa jako noúnika pamiÍciowego kart Compact Flash lub MultiMedia Card, co czyni z†niego urz¹dzenie na wskroú nowoczesne. Rekomendacje: prezentowany w†artykule odtwarzacz to kolejny krok w†miniaturyzacji odtwarzaczy MP3, wiÍc polecamy jego opis przede wszystkim fanom empetrÛjkowych nagraÒ, ktÛrzy nie lubi¹ siÍ rozstawaÊ ze swoimi nagraniami.
Elektronika Praktyczna 4/2003
Montaø i†uruchomienie Ze wzglÍdu na ma³e wymiary odtwarzacza, elementy na p³ytce drukowanej umieszczone s¹ z†obydwu jej stron. Jedna strona zawiera wiÍkszoúÊ elementÛw sk³adowych yamppa, a†na drugiej zamontowane jest z³¹cze karty Flash, z³¹cze USB, gniazdo s³uchawkowe, z³¹czka do baterii oraz przyciski steruj¹ce. Rozmieszczenie elementÛw po obu stronach p³ytki drukowanej yamppa pokazano na rys. 3 i†4. Na pocz¹tku naleøy zamontowaÊ wszystkie ma³e elementy SMD, nastÍpnie uk³ady scalone, a†jako ostatnie wiÍksze elementy jak kondensatory elektrolityczne, kwarce i†z³¹cze wyúwietlacza. Przed przylutowaniem z³¹cza wyúwietlacza oraz kwarcÛw Q1 i Q2 naleøy skrÛciÊ ich wyprowadzenia tak, øeby nie wystawa³y one ponad powierzchniÍ drugiej strony p³ytki drukowanej yamppa. W przeciwnym przypadku uniemoøliwi to pÛüniejsze przylutowanie z³¹cza karty pamiÍci oraz prawid³owe wsuniÍcie karty Compact Flash. ObciÍcie wyprowadzeÒ na rÛwno z powierzchni¹ p³ytki po wlutowaniu tych elementÛw jest bardzo k³opotliwe. PamiÍtajmy rÛwnieø o†wyborze pomiÍdzy IC5 a†D1, R2 i†R3. Jeúli planujemy wykonanie yamppa-7 w†wersji z†wyúwietlaczem LCD, warto jest w†roli kon-
densatorÛw C12 i†C13 zastosowaÊ kondensatory tantalowe 100µF/6V, poniewaø maj¹ one mniejsz¹ gruboúÊ niø standardowe aluminiowe elektrolity, co pÛüniej u³atwi montaø wyúwietlacza - szczegÛlnie jeúli chcemy, øeby by³ podúwietlany diodami LED. Tranzystor T2 montujemy rÛwnieø tylko wtedy gdy bÍdziemy korzystaÊ z†podúwietlanego diodami LED wyúwietlacza. Na koÒcu montujemy gniazdo karty pamiÍci Flash - wiÍc bÍdzie to J1, jeúli chcemy uøywaÊ kart CF lub X2 dla kart MMC, i†resztÍ elementÛw umieszczonych po drugiej stronie p³ytki. W†s¹siedztwie gniazda USB znajduje siÍ miejsce na diodÍ LED, ktÛr¹ naleøy zamontowaÊ tylko wtedy, gdy nie planujemy podúwietlania wyúwietlacza lub jego zupe³ny brak. Po zamontowaniu wszystkich elementÛw p³ytkÍ naleøy umyÊ z†resztek kalafonii, stosuj¹c do tego celu izopropanol lub specjalny preparat do mycia p³ytek. Po sprawdzeniu poprawnoúci montaøu moøemy przyst¹piÊ do uruchomienia odtwarzacza. W†tym miejscu mam jedn¹ bardzo waøn¹ uwagÍ. Nie wolno uruchamiaÊ odtwarzacza bez pod³¹czonego akumulatora, stosuj¹c jedynie zasilanie poprzez kabel USB! Moøe to doprowadziÊ do uszkodzenia dekodera VS1001, uk³adu ³adowarki
45
Yampp−7
Rys. 3. Rozmieszczenie elementów na płytce drukowanej odtwarzacza (strona elementów)
MAX1811 oraz wyúwietlacza LCD. Pierwsz¹ czynnoúci¹ bÍdzie zaprogramowanie mikrokontrolera programem bootloadera. Niestety na p³ytce yamppa-7 nie ma miejsca na standardowe z³¹cze programuj¹ce zgodne ze z³¹czem interfejsu STK200, wiec musimy wykonaÊ sobie odpowiedni¹ przejúciÛwkÍ, ktÛrej schemat po³¹czeÒ pokazany jest na rys. 5. NastÍpnie pod³¹czamy do yamppa akumulator, do z³¹cza J2 nasz¹ przejúciÛwkÍ z†pod³¹czonym kablem interfejsu programuj¹cego, a†sam interfejs wtykamy do portu drukarkowego komputera, po czym uruchamiamy program ³aduj¹cy. Jeøeli korzystamy z†programu Yapp, naleøy nacisn¹Ê klawisz identyfikacji procesora. W†okienku obok powinna pojawiÊ siÍ informacja o†wykryciu procesora Atmega161. Jeúli wszystko przebiega poprawnie, to otwieramy nowy projekt, zaznaczamy okno z†zawartoúci¹ pamiÍci Flash i†wczytujemy plik bootloadera (File>Load File>yampp7_boot.hex). Teraz wystarczy klikn¹Ê na ikonÍ z†wykrzyknikiem, czyli Autoprogram i†po chwili bootloader zostanie za³adowany do procesora. W†przypadku korzystania z†innego programu ³aduj¹cego procedurÍ ³adowania pliku yampp7_boot.hex przeprowadzamy zgodnie z†jego instrukcj¹ obs³ugi. Po zaprogramowaniu mikrokontrolera bootloaderem musimy wykonaÊ jeszcze jed-
46
n¹ waøn¹ czynnoúÊ. Øeby procesor yamppa mÛg³ skorzystaÊ z†bootloadera, trzeba go poinformowaÊ o†jego istnieniu. Do tego celu s³uø¹ specjalne opcje konfiguracyjne procesora, czyli tak zwane bity fuse. Aby ustawiÊ te opcje wykorzystuj¹c program ìYAPPî, naleøy skorzystaÊ z†menu Program>Lock Bits & Fuses. Po wywo³aniu tej funkcji w†okienku Fuses naleøy zaznaczyÊ nastÍpuj¹ce pozycje: CKSEL0, CKSEL2, BOODLEVEL, BOOTRST. Wszystkie pozosta³e opcje musz¹ pozostaÊ niezaznaczone, co zosta³o pokazane na rys. 6. NastÍpnie naleøy klikn¹Ê Write Fuses, øeby wys³aÊ ustawienia do procesora yamppa. Na tym koÒczy siÍ procedura programowania procesora poprzez interfejs SPI, wiÍc moøemy juø od³¹czyÊ programator od z³¹cza J2 oraz akumulator. Wgrania w³aúciwego programu obs³ugi yamppa-7, jak rÛwnieø ewentualnej jego aktualizacji dokonamy poprzez interfejs USB. Øeby by³o to moøliwe, naleøy zainstalowaÊ na komputerze PC odpowiedni sterownik USB uzyskany od firmy FTDI oraz aplikacjÍ yamppLink. SposÛb ich instalacji i†konfiguracji zosta³ podany przy okazji opisu yamppa-3/USB i†moøna go znaleüÊ w†EP1/2003.
Przygotowanie yamppa do pracy Jeúli mamy juø zainstalowane potrzebne oprogramowanie, moøemy przyst¹piÊ do pierwszego uruchomienia yamppa. Na pocz¹tku trzeba wgraÊ w³aúciwe oprogramowanie. Do tego celu wykorzystamy bootloader wgrany wczeúniej do
procesora yamppa, z³¹cze USB oraz aplikacjÍ yamppLink. Najpierw uruchamiamy yamppLinka i†w†menu Options->Preferences wpisujemy nazwÍ portu COM, ktÛr¹ uzyskaliúmy podczas instalacji sterownikÛw FTDI. NastÍpnie do yamppa wk³adamy kartÍ pamiÍci, pod³¹czamy wyúwietlacz, nastÍpnie akumulator i†na koÒcu kabel USB. Po kilku sekundach potrzebnych na enumeracjÍ urz¹dzeÒ USB moøemy wybraÊ z†menu programu Actions->Update Firmware, a†jako plik do za³adowania wybraÊ yampp7_usb.bin. W†zaleønoúci od tego, czy bÍdziemy uøywaÊ yamppa z†wyúwietlaczem LCD, czy teø bez, wybieramy odpowiedni¹ wersjÍ oprogramowania. Wersja z†obs³ug¹ LCD znajduje siÍ w†katalogu yampp7_usb, a†bez - w†katalogu yampp7_usb_nlcd. Jeúli wszystko przebiegnie prawid³owo, to po kilku sekundach dostaniemy odtwarzacz gotowy do pracy, ktÛry po wykryciu nowej karty automatycznie j¹ sformatuje. Po poprawnym zakoÒczeniu formatowania moøna w†programie yamppLink wybraÊ opcjÍ Connect. Po chwili potrzebnej na inicjalizacjÍ struktur danych na karcie moøemy rozpocz¹Ê ³adowanie plikÛw MP3 do yamppa. Moøemy dodawaÊ pojedyncze pliki lub ca³e playlisty wygenerowane programem Winamp. Po zakoÒczeniu ³adowania plikÛw klikamy Disconnect, yampp zostaje zrestartowany, no i†po naciúniÍciu klawisza PLAY powinien rozpocz¹Ê odtwarzanie. W†przypadku wyst¹pienia k³opotÛw w†trakcie ³adowania b¹dü aktualizacji oprogramowania powoduj¹cych brak re-
Rys. 4. Rozmieszczenie elementów na płytce drukowanej odtwarzacza (strona złącz)
Elektronika Praktyczna 4/2003
Yampp−7 dzie darmowy kompilator jÍzyka C, czyli AVR-GCC. Zalecan¹ wersj¹ tego kompilatora jest wersja 3.02 lub 3.2. Jest on dostÍpny w†Internecie pod adresem http:// www.avrfreaks.net. SposÛb instalacji i†korzystania z†tego kompilatora Rys. 5. Sposób dołączenia by³ juø kilkakrotnie poruszany na programatora ISP do Yamppa ³amach EP, wiÍc nie bÍdÍ go powtarza³, a†skupiÍ siÍ na opisie akcji odtwarzacza na prÛbÍ jego poszczegÛlnych opcji dostosowuj¹za³¹czenia lub brak komunikacji cych oprogramowanie yamppa do poprzez USB moøemy rÍcznie uruindywidualnych potrzeb. Ca³a konchomiÊ bootloader. W†tym celu figuracja oprogramowania znajduje naleøy od³¹czyÊ kabel USB, otwosiÍ w†jednym pliku nazwanym rzyÊ obudowÍ yamppa i†od³¹czyÊ Constants.h. Wszystkie definicje akumulator. NastÍpnie trzymaj¹c znajduj¹ce siÍ w†tym pliku podzienaciúniÍte jednoczeúnie klawisze lone s¹ na sekcje. W†pierwUP i†DOWN, pod³¹czyÊ z†poszej sekcji moøemy zmieniÊ wrotem akumulator. Teraz W tym miejscu muszę zaznaczyć, że wartoúÊ czÍstotliwoúci kwarpo do³¹czeniu kabla USB obecnie oprogramowanie systemowe cu taktuj¹cego uk³ad VS1001 moøna powtÛrzyÊ ³adowanie yamppa−7 obsługuje tylko karty pamięci oprogramowania. Compact Flash, a obsługa kart typu MMC - w†przypadku zastosowania kwarcu o†czÍstotliwoúci innej Zastosowany w†yamppie-7 jest dopiero w stadium opracowywania. graficzny wyúwietlacz umoø- Ze względu na cykl wydawniczy EP może niø 12,288 MHz. W†kolejnej sekcji - Power Managament liwia wgranie do pamiÍci się okazać, ze w momencie ukazania się EEPROM mikrokontrolera da- tego artykułu powyższa uwaga będzie już moøna ustawiÊ opcje oszczÍdzania energii. Pierwsz¹ denych tworz¹cych dowolny obnieaktualna. finicj¹ jest czas, po jakim razek - czyli graficzne logo, karta CF ma przejúÊ w†tryb obnipojawiaj¹cego siÍ na wyúwietlaczu a†terminal ustawiÊ na 115200 boøonego poboru mocy. NiektÛre podczas uruchamiania yamppa oraz dÛw, 8†bitÛw danych i†1†bit stopu. karty mog¹ wymagaÊ zwiÍkszenia w†trybie STOP. W†tym celu naleøy tego czasu ponad wartoúÊ standarprzygotowaÊ sobie dowoln¹ czarnoStruktura i†konfiguracja dowo tam wpisan¹. Kolejna defibia³¹ bitmapÍ o†rozmiarach 84x32 oprogramowania nicja okreúla maksymalny czas pikseli (plik o†d³ugoúci 446 bajtÛw), Podobnie jak w†przypadku yampozostawania odtwarzacza w†stapo czym naleøy j¹ wgraÊ do ppa-3/USB, oprogramowanie systenie pauzy, a†nastÍpna - czas poyamppa-7 przy pomocy programu mowe dla yamppa-7 zosta³o pozostawania w†trybie STOP. Po yamppLink, wybieraj¹c z†menu Acdzielone na dwie czÍúci, czyli tions funkcjÍ Write Logo to EEP- warstwy. Pierwsz¹ z†nich tworz¹ przekroczeniu tych czasÛw odtwarzacz automatycznie siÍ wy³¹czy. ROM. W†tym czasie yamppLink niskopoziomowe procedury obs³umusi byÊ w†stanie Connected. Ko- gi wiÍkszoúci urz¹dzeÒ napisane W†kolejnej sekcji ustawiamy opcje wyúwietlacza LCD. Oczywiúcie wylejnym dodatkiem jest moøliwoúÊ w†asemblerze, ktÛre znajduj¹ siÍ stÍpuje ona tylko w†wersji dla poprawnego wyúwietlania zestawu w†katalogu yampp7lib. PoszczegÛlodtwarzaczy wyposaøonych w†wyznakÛw diakrytycznych, czyli np. ne pliki ASM odpowiedzialne s¹ úwietlacz. Sta³a BACKLIGHT_TIME polskich ìogonkÛwî. W†tym celu za obs³ugÍ konkretnych urz¹dzeÒ, okreúla czas automatycznego wyw†oknie Preferences programu yamtakich jak interfejs ATA dla karty ³¹czenia podúwietlania wyúwietlappLink ustawiamy EE-Prom Start CF, dekoder MP3, wyúwietlacz cza od ostatniego naciúniÍcia doAddress... na 16, klikamy OK, LCD czy interfejs USB. Poniewaø wolnego klawisza. Jeøeli nie koa†nastÍpnie ³¹czymy siÍ z†yamp- procedury te s¹ bardzo czÍsto pem poprzez klikniÍcie przycisku wywo³ywane z†g³Ûwnego prograConnect. NastÍpnie z†menu Actions mu, powinny byÊ wykonywane jak wybieramy opcjÍ Write arbitrary najszybciej. Dlatego teø wybrano data from file to EEPROM, wybieasembler jako optymaln¹ platformÍ ramy plik Polish.bin znajduj¹cy siÍ pozwalaj¹c¹ na pisanie krÛtkich wewn¹trz katalogu Lang, w†pakie- i†szybkich procedur. Po skompilocie oprogramowania systemowego, waniu procedury te tworz¹ biblioi†na koniec potwierdzamy chÍÊ tekÍ yampp7lib.a, ktÛra jest wykozapisania danych. rzystywana przez program g³Ûwny, czyli drug¹ - g³Ûwn¹ warstwÍ oprogramowania napisan¹ w†jÍzyWersje oprogramowania ku C. Biblioteka ta jest do³¹czana systemowego yamppa-7 do programu w†trakcie linkowania Ze wzglÍdu na to øe yampp-7 moøe byÊ wykonany zarÛwno gotowego kodu. Do wprowadzenia Rys. 6. Zalecane ustawienia opcji jakichkolwiek zmian wymagaj¹cych w†wersji z†wyúwietlaczem LCD, jak podczas programowania rekompilacji kodu potrzebny bÍi†bez niego, dostÍpne s¹ dwie mikrokontrolera wersje oprogramowania systemowego. Oprogramowanie w†wersji od 2.0 wzwyø jest przeznaczone dla yamppa wyposaøonego w†wyúwietlacz. Wersje nie obs³uguj¹ce wyúwietlacza maj¹ za to jedn¹ dodatkow¹ opcjÍ u³atwiaj¹c¹ uruchomienie yamppa w†razie wyst¹pienia k³opotÛw. Jest ni¹ programowy UART umoøliwiaj¹cy podgl¹dniÍcie procesu inicjalizacji i†statusu odtwarzacza w†oknie terminala uruchomionego na komputerze PC. W†tym celu naleøy pod³¹czyÊ linie RXD portu RS232 komputera bezpoúrednio do portu PB4 (wyprowadzenie nr 44) mikrokontrolera U1,
Elektronika Praktyczna 4/2003
47
Yampp−7
Rys. 7. Budowa wewnętrzna układu HV857
rzystamy z†podúwietlania, naleøy ustawiÊ j¹ na 0, co spowoduje odmienne sterowanie lini¹ PB0 bÍd¹cej w†tym przypadku wyjúciem steruj¹cym diod¹ LED sygnalizuj¹c¹ stan odtwarzacza. UsuniÍcie komentarza z†kolejnej linii - #define ALTERNATE_SCROLL pozwala zmieniÊ sposÛb przesuwania siÍ napisÛw na wyúwietlaczu tak, øe tekst zamiast ìodbijaÊ siÍî, bÍdzie siÍ przesuwa³ ca³y czas w†jedn¹ stronÍ. Definicja SCROLL_SPEED okreúla prÍdkoúÊ przesuwania siÍ tekstu, a†dok³adniej czas pomiÍdzy kolejnymi przesuniÍciami wyraøony w†dziesi¹tych czÍúciach sekundy, a†sta³a SCROLL_STEP okreúla, o†ile pikseli ma byÊ przesuniÍty tekst w†jednym kroku scrolowania. UsuniÍcie komentarza z†opcji #define LCD_NEGATIV umoøliwia uzyskanie negatywowego obrazu na wyúwietlaczu. W†ostatniej sekcji pliku Constants.h moøemy wartoúci¹ sta³ej MIN_VOLUME ustaliÊ minimalny moøliwy do ustawienia poziom g³oúnoúci, sta³¹ NUM_VOL_STEPS - liczbÍ krokÛw regulacji g³oúnoúci, a†sta³¹ AUTOLOCK_TIME ustaliÊ czas automatycznego blokowania klawiszy podczas odtwarzania - jeúli funkcja ta zostanie za³¹czona. W†wersji oprogramowania bez obs³ugi LCD znajdziemy jeszcze trzy dodatkowe opcje. Wstawienie komentarza do linii #define PWR_BEEPS umoøliwia wy³¹czenie potrÛjnego düwiÍku generowanego po za³¹czeniu odtwarzacza. UsuniÍcie komentarza z†linii #define BATTERY_TEST umoøliwia uruchomienie procedur kontroli napiÍcia akumulatora, a†moøliwoúÊ jej zablokowania podyktowana jest tym, øe w†starszej wersji p³ytki drukowanej odtwa-
48
rzacza nie by³o miejsca na dzielnik R13/R16, a†ich brak powodowa³ wy³¹czanie siÍ odtwarzacza. Ostatnia opcja #define LOCK_BEEP umoøliwia wy³¹czenie düwiÍku pojawiaj¹cego siÍ w†momencie blokowania b¹dü odblokowywania klawiatury. Po ustawieniu odpowiednich opcji naleøy skompilowaÊ kod ürÛd³owy, a†nastÍpnie za³adowaÊ do yamppa przy pomocy aplikacji yamppLink i†³¹cza USB.
Podúwietlanie wyúwietlacza Podúwietlanie wyúwietlacza moøna wykonaÊ na dwa sposoby. Pierwszy - prosty - polegaj¹cy na podúwietleniu wyúwietlacza przy pomocy kilku diod úwiec¹cych oraz plastikowej matÛwki, w†jak¹ wyposaøone s¹ wyúwietlacze typu LPH7366 czy LPH7666. Do wyúwietlaczy bez matÛwki trzeba takow¹ dorobiÊ. Oryginalna matÛwka posiada na brzegach specjalne podciÍcia umoøliwiaj¹ce umieszczenie w†tych miejscach diod úwiec¹cych w†obudowie SMD o†wielkoúci 0805, úwiec¹cych rÛwnolegle do p³aszczyzny wyúwietlacza. Diody úwiec¹ce - najlepiej 4 sztuki - naleøy zamontowaÊ na p³ytce drukowanej, tej samej, ktÛra zawiera styki kontaktowe dla wyúwietlacza, po³¹czyÊ rÛwnolegle, dodaj¹c do kaødej z†nich po jednym, szeregowym rezystorze 100 Ω, a†ca³oúÊ pod³¹czyÊ pomiÍdzy styki 1 i†9 z³¹cza J2 (anody diod do styku nr 1). Konstrukcja ta ma jednak pewne wady. NajwiÍksz¹ z†nich jest nierÛwnomierne oúwietlenie ca³ej powierzchni wyúwietlacza oraz doúÊ wysoki pobÛr pr¹du wynosz¹cy oko³o 30...40 mA, czyli ponad po³owÍ tego co pobiera ca³y yampp-7 bez podúwietlania. Dlatego teø preferujÍ
drug¹ metodÍ podúwietlenia - za pomoc¹ folii elektroluminescencyjnej. SposÛb ten jest znacznie droøszy i†bardziej pracoch³onny, lecz gwarantuje uzyskanie znacznie lepszego efektu w†postaci rÛwnomiernego niebieskozielonego podúwietlenia o†jasnoúci zbliøonej do wersji na diodach LED, a†jednoczeúnie o†poborze pr¹du poniøej 10 mA. Niestety komplikuje to nieco ca³¹ konstrukcjÍ, poniewaø folia úwiec¹ca wymaga zasilania pr¹dem przemiennym o†napiÍciu oko³o 120 V i†o†czÍstotliwoúci kilkuset hercÛw. Sam¹ foliÍ moøna kupiÊ u†wielu wiÍkszych dystrybutorÛw elementÛw elektronicznych b¹dü zamÛwiÊ np. w†Elfie. Ale istnieje rÛwnieø taÒsza i†³atwiejsza metoda pozyskania takiej folii. Jest ona stosowana w†niektÛrych nowszych modelach telefonÛw komÛrkowych, i†moøna j¹ pozyskaÊ z†takowego uszkodzonego telefonu. Drugim ürÛd³em folii EL mog¹ byÊ úwietliki w³¹czane do gniazdka sieciowego, wykorzystuj¹ce czasami tak¹ foliÍ w†roli elementu úwiec¹cego, a†dostÍpne w†niektÛrych hipermarketach. Taki úwietlik jest doúÊ tani, a†po potraktowaniu go pi³k¹ do metalu wyci¹gniemy z†jego wnÍtrza potrzebn¹ foliÍ - najczÍúciej nawet o†odpowiednich wymiarach. Notabene oprÛcz owej folii i†jednego rezystora nic wiÍcej wewn¹trz nie znajdziemy. Jeúli juø mamy odpowiedni kawa³ek folii (wiÍkszoúÊ dostÍpnych na rynku moøna normalnie ci¹Ê noøyczkami w†celu otrzymania odpowiednich wymiarÛw), lutujemy do jego wyprowadzeÒ miÍkkie przewody, dobrze izolujemy koszulk¹ termokurczliw¹ i†ca³oúÊ przymocowujemy za wyúwietlaczem przy pomocy kilku kropli kleju na gor¹co. Jeúli nasz wyúwietlacz wyposaøony jest w†matÛwkÍ do podúwietlania diodami LED, to naleøy j¹ wczeúniej usun¹Ê. Teraz pozostaje juø tylko problem odpowiedniej przetwornicy z†napiÍcia 3,6 V†na napiÍcie wymagane do zasilania folii. Wbrew pozorom nie jest to wcale takie trudne. Moøemy kupiÊ gotow¹ przetwornicÍ o†oznaczeniu (EA) PSEL-22 firmy Electronic Assembly, oferowan¹ miÍdzy innymi na http://www.lcd.elementy.pl/lcd/zubehoer.htm#EL-Folien, ktÛra bez problemu zmieúci siÍ wewn¹trz obudowy yamppa, lecz jej cena wynosi oko³o 50 z³.
Elektronika Praktyczna 4/2003
Yampp−7
Rys. 8. Schemat elektryczny przetwornicy do zasilania folii EL
Wykonanie takiej przetwornicy w³asnymi si³ami nie stwarza zbytnich problemÛw, zak³adaj¹c wykorzystanie odpowiedniego uk³adu sterownika. Wiele firm oferuje gotowe uk³ady scalone przeznaczone do budowy takich przetwornic. W†wiÍkszoúci przypadkÛw aby otrzymaÊ gotow¹ przetwornicÍ, wystarczy uzupe³niÊ taki - najczÍúciej 8-nÛøkowy ìscalakî - cewk¹, 2...3 rezystorami i†kilkoma kondensatorami. Na szczegÛln¹ uwagÍ zas³uguje tutaj uk³ad HV857 produkowany przez firmÍ Supertex. Na podstawie tego uk³adu wykona³em przetwornicÍ do swojego yamppa7. BudowÍ wewnÍtrzn¹ uk³adu HV857 pokazano na rys. 7, a†schemat zbudowanej na nim przetwornicy na rys. 8. Podstawow¹ zalet¹ tego uk³adu jest wykorzystanie cewki o†relatywnie ma³ej indukcyjnoúci, czyli rÛwnieø o†ma³ych wymiarach, w†porÛwnaniu do aplikacji innych producentÛw. Jak widaÊ, aplikacja uk³adu przetwornicy jest banalnie prosta, a†ca³oúÊ moøna zmieúciÊ na p³ytce o†wymiarach 17x11 mm. Przetwornica posiada wejúcie s³uø¹ce do za³¹czania/wy³¹czania podúwietlania (Enable), ktÛre pod³¹czamy bezpoúrednio do linii PB0 procesora yamppa, czyli do nÛøki nr 40 uk³adu IC1. Zasilanie przetwornicy pod³¹czamy bezpoúrednio do z³¹cza akumulatora w†yamppie, poniewaø w†stanie wy³¹czenia uk³ad praktycznie nie pobiera pr¹du. Aby
Fot. 9. Wygląd zmontowanej przetwornicy umieszczonej we wnętrzu yamppa .
Elektronika Praktyczna 4/2003
uzyskaÊ jak najwiÍksz¹ sprawnoúÊ uk³adu, w†zaleønoúci od zastosowanej cewki naleøy dobraÊ wartoúÊ rezystora pod³¹czonego do nÛøki nr 2†uk³adu HV857. Najproúciej jest tymczasowo zast¹piÊ go potencjometrem montaøowym o†wartoúci 1†MΩ ustawionym pocz¹tkowo w†po³owie zakresu rezystancji, do wyjúcia przetwornicy pod³¹czyÊ foliÍ EL, sygna³ Enable pod³¹czyÊ do VCC, a†w†szereg z†zasilaniem, ktÛre powinno wynosiÊ oko³o 3,6 V, pod³¹czyÊ miliamperomierz o†zakresie 20 mA. NastÍpnie reguluj¹c potencjometrem, staramy siÍ uzyskaÊ jak najmniejszy pobÛr pr¹du bez widocznego spadku jasnoúci úwiecenia folii. Na koniec mierzymy wartoúÊ rezystancji potencjometru i†zastÍpujemy go odpowiednim rezystorem. Wygl¹d zmontowanej przetwornicy umieszczonej we wnÍtrzu yamppa pokazano na fot. 9.
Finisz Na koniec pozostaje nam umieszczenie ca³oúci w†obudowie, ktÛra bÍdzie wymagaÊ wywiercenia kilku otworÛw na przyciski, gniazdo s³uchawkowe i†ewentualn¹ diodÍ LED oraz wyciÍcia prostok¹tnych otworÛw na z³¹cze USB, kartÍ pamiÍci Compact Flash - tak øeby moøna by³o j¹ wyjmowaÊ, oraz na ewentualny wyúwietlacz. Wymagane jest rÛwnieø delikatne spi³owanie rogÛw p³ytki drukowanej oraz usuniÍcie z†jednej z†po³Ûwek obudowy dwÛch ko³kÛw dystansowych, ktÛre naleøy przykleiÊ w†drugiej po³Ûwce (lub do p³ytki yamppa od strony elementÛw SMD) tak, øeby uzyskaÊ precyzyjne u³oøenie p³ytki wewn¹trz obudowy. Romuald Bia³y http://www.yamppsoft.prv.pl Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie pod adresem: http://www.ep.com.pl/ ?pdf/kwiecien03.htm oraz na p³ycie CD-EP4/2003B w katalogu PCB.
49
P O D Z E S P O Ł Y
Czy ktoú jeszcze pamiÍta procesory Ziloga? Wiod¹cy niegdyú producent mikroprocesorÛw z†niezrozumia³ych dla elektronikÛw powodÛw utraci³ jakiú czas temu prymat. PrÛbowa³ go pÛüniej wielokrotnie odzyskiwaÊ, ale jak wiadomo, sztuka to nie³atwa. Firmie uda³o siÍ - w†znany chyba tylko jej prezesom sposÛb - pozostaÊ na rynku. Dzisiaj przedstawiamy kolejn¹ prÛbÍ zawojowania przez ni¹ úwiata.
MÛwi¹c szczerze bardzo øa³ujÍ, øe s³ynny Z80 ZiLOGa zosta³ wyparty swego czasu przez konkurencjÍ. Bardzo lubi³em ìzabawÍî z†nim. By³, jak na tamte czasy, mikroprocesorem wydajnym, mia³ przejrzyst¹ i†stosunkowo prost¹ do nauczenia siÍ listÍ rozkazÛw, co by³o is-
Elektronika Praktyczna 4/2003
totne o†tyle, øe w†tamtych czasach nie by³o ³atwo wejúÊ w†posiadanie kompilatora wszechobecnego dziú jÍzyka C. Gdzieø tu porÛwnaÊ z†ni¹ czytelnoúÊ rozkazÛw wspÛ³czesnych mikrokontrolerÛw jak np. AVR. Inøynierowie ZiLOGa chyba za bardzo zapatrzyli siÍ w†swÛj produkt
i†nie zauwaøyli kilku istotnych zmian, jakie w†dziedzinie mikroprocesorÛw wprowadzi³ Intel. Myúleli zapewne, øe produkt maj¹cy, jakby nie by³o, dobr¹ opiniÍ uøytkownikÛw, bÍdzie siÍ sprzedawa³ jak ciep³e bu³eczki w†nieskoÒczonoúÊ. Niestety, w†elektronice zatrzy-
manie siÍ w†miejscu oznacza krok do ty³u. Wprowadzenie przez Intela rodziny mikrokontrolerÛw MCS51 zrewolucjonizowa³o tymczasem rynek. Duøo czasu musia³o up³yn¹Ê, zanim z†zilogowskich fabryk zaczͳy wychodziÊ nowe produkty. Nawiasem mÛwi¹c, zdarza³o siÍ, øe
51
P O D Z E S P O Ł Y
Rys. 1. Przetwarzanie potokowe w procesorze eZ80 prÛby powrotu bywa³y ca³kowicie nieudane, w†niektÛrych przypadkach te prÛby lepiej pomin¹Ê milczeniem. Osi¹gniÍcia sukcesu nie u³atwia³a nawet taktyka polegaj¹ca na utrzymywaniu nazw aktualnych produktÛw, ktÛre nawi¹zywa³y do nazwy dawnego bohatera. ZiLOG pozosta³ wiÍc przy rodzinie Z80, modyfikuj¹c j¹ na potrzeby wspÛ³czesnych aplikacji, powsta³a teø rodzina Z180, a†takøe eZ80. Z†mniejszym lub wiÍkszym powodzeniem istniej¹ one na rynku. Obserwuj¹c ìruchî w†ofercie ZiLOGa w†ci¹gu ostatnich lat widaÊ, øe tym razem inøynierowie firmy nie zasypiaj¹ gruszek w†popiele. Aby zachÍciÊ do zainteresowania potencjalnych klientÛw swoimi wyrobami, opracowano modu³ internetowego webserwera. Wykorzystuje on... No w³aúnie, co?
4†razy szybszy od standardu przy tej samej czÍstotliwoúci taktowania, ktÛra moøe dochodziÊ do 50†MHz. Pobiera teø mniej energii, na co bez w¹tpienia wp³ywa 3,3-woltowe zasilanie przy zachowaniu 5-woltowej tolerancji wejúÊ. W†eZ80 zastosowano wprawdzie 8-bitow¹ szynÍ danych, ale rejestry i†ALU s¹ 24-bitowe. DziÍki temu, w†pewnych zastosowaniach moøe on konkurowaÊ z†procesorami
16-bitowymi. PotwierdziÊ to moøe rÛwnieø zdolnoúÊ obs³ugi 16 MB, liniowej przestrzeni adresowej. Uk³ad eZ80 moøe pracowaÊ w†trybie procesora Z80 z†adresowaniem 64 kB pamiÍci lub w†trybie adresowania 24-bitowego (16 MB). Do dyspozycji s¹ dwa kana³y DMA, 32 linie portÛw ogÛlnego przeznaczenia wspierane systemem przerwaÒ, a†takøe 6†timerÛw z†preskalerami. Dzia³anie programu wspomaga 8KB pamiÍÊ SRAM wbudowana w†strukturÍ uk³adu. Lista rozkazÛw eZ80 jest nadzbiorem listy Z80 i†Z180. Programy napisane na te procesory mog¹ bez poprawek lub
z†niewielkimi modyfikacjami pracowaÊ na eZ80. S¹ one wykonywane w†trybie przetwarzania potokowego (rys. 1). Wzorem Z80, w†eZ80 uwzglÍdniono przerwania maskowalne (32 zewnÍtrzne, 11 wewnÍtrznych) i†niemaskowalne (NMI). Zastosowano takøe interesuj¹c¹ moøliwoúÊ analizowania poprawnoúci pobieranych rozkazÛw (TRAP). W†przypadku stwierdzenia kodu niebÍd¹cego rozkazem (lista rozkazÛw nie wype³nia wszystkich moøliwych kombinacji binarnych), generowane jest specjalne przerwanie, przypominaj¹ce restart procesora. PoszczegÛlne wersje uk³adu
eZ80 od úrodka Rodzi siÍ tu pewien problem ze sklasyfikowaniem uk³adu eZ80. Przyjͳo siÍ bowiem okreúlaÊ mianem mikrokontrolerÛw uk³ady skupiaj¹ce w†jednej strukturze wiÍkszoúÊ niezbÍdnych do pracy komponentÛw, takich jak generator, pamiÍÊ programu, podrÍczn¹ pamiÍÊ RAM, porty we/wy, ewentualne interfejsy itp. Tym czasem eZ80 nie posiada na pok³adzie pamiÍci programu, nie moøe wiÍc funkcjonowaÊ autonomicznie. Nie moøna go wiÍc nazwaÊ mikrokontrolerem. Autorzy dokumentacji nie podaj¹ øadnych przedrostkÛw, eZ80 pozostaje po prostu procesorem. Bazuje na rdzeniu Z80, ale jest
52
Rys. 2. Budowa procesora eZ80
Elektronika Praktyczna 4/2003
P O D Z E S P O Ł Y rÛøni¹ siÍ pewnymi cechami miÍdzy sob¹. SzczegÛ³y moøna znaleüÊ pod adresem http://www.zilog.com/products/partdetails.asp?id=eZ80190. OprÛcz wymienionych wyøej komponentÛw procesor zawiera takøe dwa kana³y UZI - Universal ZiLOG Interface (I 2 C, SPI, UART). Uk³ad jest produkowany w†obudowie 100pin LQFP. ArchitekturÍ procesora eZ80 przedstawiono na rys. 2.
eZ80 Webserver Development Kit eZ80 Webserver Development Kit (fot. 3) to zestaw ewaluacyjny, umoøliwiaj¹cy zapoznanie siÍ z†rodzin¹ procesorÛw eZ80. W†sk³ad zestawu wchodzi p³ytka eZ80 Webserver Development Platform wyposaøona w†internetowy modu³ eZ80 Webserver-i E-Net Module, interfejs ZPAK II Debug Interface Module umoøliwiaj¹cy do³¹czenie zestawu do sieci Ethernet, a†takøe do komputera poprzez port szeregowy. Modu³ ZPAK jest wykorzystywany podczas uruchamiania programÛw. Ponadto uøytkownik dostaje do dyspozycji 4-portowy koncentrator ethernetowy 10BaseT (sic!) wraz z†trzema patchcordami. Jedno jego wejúcie moøe realizowaÊ funkcjÍ up-link. Zestaw wyposaøono w†3†zasilacze wtyczkowe. Nie mog³o oczywiúcie zabrakn¹Ê dokumentacji. OprÛcz papierowego wydania podrÍcznika, instrukcji szybkiego startu (dla nielubi¹cych czytaÊ opas³ych tomÛw) oraz manuala dla koncentratora, na CD-ROM-ie moøna znaleüÊ wiele dodatkowych dokumentÛw. WiÍkszoúÊ z†nich odwo³uje siÍ ponadto do rozlicznych stron internetowych. Szkoda, øe zima siÍ koÒczy, bo zajÍcie na d³ugie wieczory by³oby zapew-
Elektronika Praktyczna 4/2003
nione. G³Ûwna p³ytka zestawu wykorzystuje chyba w†pe³ni moøliwoúci procesora, obudowuj¹c go elektronik¹ potrzebn¹ do realizacji poszczegÛlnych interfejsÛw. Znajduj¹ siÍ na niej ponadto elementy, ktÛre zwykle s¹ umieszczane w†tego typu wyrobach, np.: diody úwiec¹ce, mikroprze³¹czniki, a†takøe wyúwietlacz matrycowy LED. NieczÍsto natomiast moøna korzystaÊ z†wbudowanego modemu. W†przypadku eZ80 Webserver Development Platform jest to moøliwe. ìZagl¹daÊî do úrodka zestawu moøna poprzez wbudowane interfejsy I2C, RS232, RS485, ZDI (ZiLOG Debug Interface) i†JTAG. Na p³ytce zamontowano 2MB szybkiej (12 ns) pamiÍci SRAM. W†module eZ80 Webserver-i ENet Module oprÛcz procesora eZ80L92 taktowanego zegarem 48†MHz znajduje siÍ ponadto interfejs ethernetowy 10BaseT, 1†MB pamiÍci Flash, 512†kB SRAM oraz zegar czasu rzeczywistego, podtrzymywany bateri¹. To wszystko by³oby niewiele warte, gdyby nie dodano do tego oprogramowania. Tak oczywiúcie nie jest. Wraz z†zestawem uøytkownik dostaje ZDS II - eZ80 (ZiLOG Developer Studio II), czyli úrodowisko programowe IDE, zawieraj¹ce makroasembler, kompilator C, linker i†menedøer bibliotek. Po zarejestrowaniu produktu przez Internet, moøna dodatkowo pobraÊ i†zainstalowaÊ oprogramowanie eZ80 Metro IPWorks TCP/ IP wspieraj¹ce tworzenie aplikacji wykorzystuj¹cych stos TCP/IP. UwzglÍdnia ono wszystkie stosowane aktualnie protoko³y: TCP, UDP, IP, HTTP, ICMP, IGMP, ARP, RARP, DHCP/ BOOTP, DNS, Telnet, SMTP, SNMP, TFTP i†FTP. Wiadomo, øe poznawanie nowych zagadnieÒ,
53
P O D Z E S P O Ł Y
Fot. 3. Zdjęcie webserwera prezentowanego w artykule szczegÛlnie gdy nie s¹ ³atwe, przebiega znacznie szybciej, jeúli wspierane jest moøliwoúci¹ analizowania przyk³adÛw. Wychodz¹c z†tego za³oøenia, firma ZiLOG opracowa³a dwa gotowe projekty, ktÛre s¹ do³¹czone do zestawu startowego. Pierwszy z†nich to typowa aplikacja wykorzystuj¹ca moøliwoúci sprzÍtowe p³ytki ewaluacyjnej. Efektownie wyúwietla napis na wyúwietlaczu matrycowym, dodaj¹c do tego kilka efektÛw wizualnych. Drugi projekt to webserwer. Jego uruchomienie wymaga jednak bezwzglÍdnie zainstalowania eZ80 Metro IPWorks TCP/IP. DostÍpne w†projektach wersje ürÛd³owe programÛw umoøliwiaj¹ dok³adn¹ analizÍ procedur
wykorzystanych w†przyk³adowych aplikacjach. Za pomoc¹ opisanego wyøej úrodowiska programowego moøna wprowadzaÊ do nich w³asne zmiany i†w†chwilÍ pÛüniej obserwowaÊ efekt ich dzia³ania. WiÍkszoúÊ uøytkownikÛw juø po kilku prÛbach zapewne bÍdzie w†stanie tworzyÊ w³asne projekty. NiezbÍdna jest do tego, jak to zwykle bywa, znajomoúÊ jÍzyka C. Zawarty w†pakiecie kompilator jest zgodny ze standardem ANSI. Komfort pracy jest typowy dla narzÍdzi klasy IDE, czyli wysoki. Graficzny, okienkowy interfejs znacznie u³atwia edycjÍ wersji ürÛd³owych programÛw automatycznie koloruj¹c s³owa kluczowe, robi¹c wciÍcia w†tekúcie itp.
Rys. 4. Okno programu „ZiLOG Developer Studio II”
54
(rys. 4). Wykrycie miejsca w†programie, w†ktÛrym pope³niono b³¹d, jest automatyczne po dwukrotnym klikniÍciu na liniÍ z†komunikatem b³Ídu. Po skompilowaniu i†zlinkowaniu programu moøna go automatycznie za³adowaÊ do pamiÍci Flash modu³u eZ80 Webserver-i E-Net Module. Komunikacja pomiÍdzy komputerem a†p³ytk¹ ewaluacyjn¹ odbywa siÍ poprzez interfejs ZPAK II. £¹czy siÍ go z†komputerem poprzez kartÍ sieciow¹, zaú od strony p³ytki wykorzystywany jest interfejs ZDI. Niestety w†zestawie nie ma skrzyøowanego patchcorda. Koniecznie naleøy wiÍc robiÊ po³¹czenie poprzez koncentrator. Trzeba pamiÍtaÊ o†wy³¹czeniu funkcji up-link w†tym przypadku. Jeúli z†jakichú wzglÍdÛw konieczne jest bezpoúrednie po³¹czenie zestawu z†komputerem (z pominiÍciem huba), naleøy samodzielnie przygotowaÊ odpowiedni kabel. ZPAK posiada swÛj w³asny adres IP ustawiony domyúlnie przez producenta. Jeúli przewidywana jest jego zmiana, naleøy do tego celu wykorzystaÊ dodatkowe po³¹czenie z†komputerem poprzez port szeregowy. OprÛcz zmiany adresu IP staje siÍ wÛwczas
moøliwa rÛwnieø modyfikacja maski podsieci. Aby komunikacja pomiÍdzy komputerem a†ZPAK-iem przebiega³a prawid³owo, naleøy zapewniÊ zgodnoúÊ jego maski z†mask¹ karty sieciowej. Po prawid³owym skonfigurowaniu sprzÍtu i†skompilowaniu drugiego projektu zestaw staje siÍ serwerem przyk³adowej strony WWW, ktÛr¹ moøna ogl¹daÊ poprzez typow¹ przegl¹darkÍ np. MS Interet Explorer. DostÍpna wielkoúÊ pamiÍci Flash w†module internetowym nie jest imponuj¹ca - 1†MB, trudno wiÍc zapisaÊ w†niej jak¹ú bardzo rozbudowan¹ stronÍ z†bogat¹ grafik¹ i†licznymi podstronami, ale chyba nie o†to chodzi. PamiÍtajmy, øe, po pierwsze: mamy do czynienia z†zestawem ewaluacyjnym, ktÛrego celem jest jedynie przedstawienie moøliwoúci sprzÍtowych i†programowych, a†nie dostarczenie gotowego produktu. Po drugie: tego typu strony WWW na ogÛ³ bÍd¹ wykorzystywane w†aplikacjach automatyki i†zdalnego sterowania przez Internet. Strony takie na ogÛ³ nie s¹ zbyt wymagaj¹ce pod wzglÍdem wielkoúci pamiÍci. Prezentowany webserwer jest kolejnym tego typu produktem prezentowanym na ³amach naszego pisma. Jak widaÊ, temat staje siÍ doúÊ popularny. Wobec coraz powszechniejszego dostÍpu do sztywnych ³¹cz nawet dla osÛb prywatnych, czasy, w†ktÛrych bÍdzie moøna ìpostawiÊî w†swoim w³asnym domu serwer internetowy, nie wydaj¹ siÍ zbyt odleg³e. Jaros³aw Doliñski [email protected]
Dodatkowe informacje Zestaw udostêpni³a redakcji firma Future Electronics Polska Sp. z o. o., tel.: (22) 618-92-02.
Elektronika Praktyczna 4/2003
S P R Z Ę T Firma JBC jest jednym z†wiod¹cych producentÛw i†dostawcÛw zestawÛw lutowniczych dla zak³adÛw produkcyjnych oraz serwisÛw. Rozwi¹zania techniczne stosowane przez firmÍ sprawiaj¹, øe oferowany sprzÍt jest ergonomiczny i†przez to wygodny w†stosowaniu. Charakteryzuje siÍ takøe doskona³ymi termicznymi parametrami. Najnowsza seria zestawÛw lutowniczych firmy JBC nosi nazwÍ Advance. Im w³aúnie poúwiÍcamy artyku³.
Zestawy lutownicze firmy JBC, część 1 wielkoúci lutowanej powierzchni. Takie rozwi¹zanie gwarantuje, øe w†trakcie pracy temperatura grota jest stabilna i†nie podlega wahaniom wiÍkszym niø 5% wartoúci temperatury ustalonej przez uøytkownika. Ponadto uøytkownik moøe byÊ pewny, øe w†trakcie lutowania nie nast¹pi przegrzanie úcieøki lub punktu lutowniczego. Waønym parametrem oceny jakoúci grota jest jego øywotnoúÊ. Firma JBC wyposaøa swoje lutownice w†groty z†czubkiem pokrytym podwÛjn¹ warstw¹ stali, co zapewnia 3...4-krotnie d³uøszy okres uøytkowania niø klasycznych grotÛw, w†ktÛrych czubek pokryty jest pojedyncz¹ warstw¹ stali.
wy, úciúle dopasowana do kszta³tu d³oni. Niewielka zewnÍtrzna úrednica grotÛw (od 1†mm do 2,5 mm) zapewnia uøytkownikom ³atwy dostÍp do wylutowywanych elementÛw, takøe w†przypadku duøego ich upakowania na p³ytce drukowanej. a)
Lutownica i†minilutownica
Waøny pocz¹tek - groty lutownicze W†zestawach Advance jednym z†najbardziej zaawansowanych technologicznie elementÛw jest grot lutowniczy (rys. 1). Jego sprawnoúÊ energetyczna waha siÍ w†granicach 85...92%, co oznacza, øe tylko 8...15% dostarczonej energii jest tracone, natomiast pozosta³a czÍúÊ jest zamieniana na energiÍ ciepln¹. Grza³ka jest umiejscowiona dok³adnie w†samym czubku grota i†w³aúnie tylko ta jego czÍúÊ jest nagrzewana do ø¹danej temperatury. Temperatura czubka grota wynosi oko³o 300oC, natomiast czÍúÊ znajduj¹ca siÍ w†d³oni ma temperaturÍ oko³o 30o C. Grza³ka pe³ni rÛwnieø rolÍ termopary. WspÛ³pracuje ona z†uk³adem steruj¹cym wbudowanym w†stacjÍ lutownicz¹. Takie rozwi¹zanie zapewnia, øe dostarczana energia elektryczna jest proporcjonalna do odbieranej energii cieplnej, a†iloúÊ dostarczanej energii jest dostosowywana do
Waga tych narzÍdzi wynosi odpowiednio 24g i†16g (fot. 2). Zapewniaj¹ uøytkownikom ³atw¹ wymianÍ grota bez wzglÍdu na jego temperaturÍ. Wymiana moøe byÊ wykonana jedna rÍk¹ w†czasie oko³o 2 sekund. SposÛb wymiany grota pokazano na fot. 3. Mini lutownica moøe byÊ wykorzystywana tam, gdzie wymagana jest wysoka precyzja lutowania. Lutownica jest wiÍc powszechne stosowana w†montaøu lub naprawie p³ytek elektronicznych. Na jej wyposaøeniu jest wiele wymiennych grotÛw, ktÛre umoøliwiaj¹ wlutowanie lub wylutowanie uk³adÛw scalonych w†obudowach QFP i†PLCC. NajwiÍkszy uk³ad, ktÛry moøe byÊ wylutowany przy uøyciu grota lutownicy moøe mieÊ wymiary 18 x†18 mm. Pos³ugiwanie siÍ tymi narzÍdziami moøe byÊ porÛwnywalne do pos³ugiwania siÍ d³ugopisem (rys. 4).
c)
Rozlutownica
Rozlutownica DR5570 pokazana na fot. 5†jest wykorzystywana do demontaøu elementÛw z†p³ytek wykonanych w†technologii przewlekanej. Na wyposaøeniu ma 7†wymiennych koÒcÛwek, ktÛrych rozmiar jest dobierany do úrednicy wyprowadzeÒ uk³adÛw scaloRys. 1. Budowa grota lutownic Advance nych. Wymiana koÒcÛwek jest moøliwa bez wzglÍdu na ich temperaturÍ. Na uwagÍ zas³uguje duøa si³a ss¹ca pompki zasysaj¹cej, niewielka waga narzÍdzia oraz ergoFot. 2. Minilutownice firmy JBC są lekkie i nomiczna konstrukcja obudomają naprawdę niewielkie wymiary
Elektronika Praktyczna 4/2003
b)
Fot. 3. Wymiana grota w lutowni− cach serii Advanced jest niezwykle prosta
55
S P R Z Ę T
Fot. 7. Podgrzewane mikroszczypce służą do demontażu najmniejszych elementów SMD Rys. 4. Za pomocą lutownic Ad− vance można wylutowywać układy o wymiarach do 18x18 mm
Szczypce i†mikroszczypce Ich budowa zosta³a zoptymalizowana pod k¹tem demontaøu elementÛw SMD. Szczypce (fot. 6) posiadaj¹ na wyposaøeniu groty k¹towe (umoøliwiaj¹ wylutowywanie uk³adÛw o†najwiÍkszym rozmiarze 18 x†18 mm) oraz groty proste umoøliwiaj¹ce wylutowywanie uk³adÛw o†podwÛjnej linii nÛøek o†d³ugoúci do 20 mm. Na szczegÛln¹ uwagÍ zas³uguj¹ mikroszczypce (fot. 7) przystosowane do wylutowywania najmniejszych elementÛw SMD, takøe na p³ytkach o†bardzo duøej gÍstoúci upakowania.
Lutownica na gor¹ce powietrze JBC produkuje takøe dwa typy lutownic na gor¹ce powietrze. S¹ one zbudowane w†podobny sposÛb, a†jedyna rÛønica wynika z†ich przeznaczenia. Jedna z†nich wspÛ³pracuje ze stacj¹ ma³ej mocy i†wykorzystywana jest na przyk³ad w†serwisach telefonii komÛrkowej, druga jest natomiast oferowana ze stacj¹ duøej mocy lub jako element duøych zestawÛw serwisowych. Lutownice te posiadaj¹ trzy wymienne dysze, ktÛre dobierane s¹ w†zaleønoúci od wielkoúci uk³adu scalonego (rys. 8). Przystosowane s¹ do wspÛ³pracy z†chwytakami podciúnieniowymi oraz os³onami termicznymi.
Zestawy lutownicze Podstawowym elementem kaødego zestawu jest stacja lutownicza. Firma JBC zadba³a, aby uøytkownicy mogli samodzielnie decydowaÊ o†elementach wchodz¹cych w†sk³ad zestawu lutowniczego. Pozwala na to modu³owa konstrukcja oferowanych zestawÛw. Podczas konstruowania stacji lutowniczych d¹øono do zminimalizowania zuøycia energii elektrycznej oraz zapewniono ochronÍ grota przed nadmiernym utlenianiem, ktÛre wystÍpuje, gdy lutownica zostanie od³oøona na podstawkÍ. Te dwa czynniki, a†wiÍc zuøycie grota oraz energii elektrycznej decyduj¹ o†kosztach eksploatacji zestawÛw lutowniczych. Producent przewidzia³ dwa tryby obniøonego poboru energii: - stan czuwania, ktÛry wystÍpuje po od³oøeniu lutownicy na podstawkÍ, - stan spoczynku nastÍpuj¹cy po wyjÍciu grota i†od³oøeniu lutownicy na podstawkÍ.
Stacja lutownicza AD2200 Zestaw zbudowany na bazie tej stacji (fot. 9) zawiera lutownicÍ 2245 lub minilutownicÍ 2210. Poniewaø stacja ma tylko jedno gniazdo zasilaj¹ce, pra-
Rys. 8. Lutownice na gorące powietrze mają wymienne dysze dostosowywane do wielkości układu scalonego ca z†dwoma narzÍdziami moøe odbywaÊ siÍ naprzemiennie. W†obudowie zintegrowano zasilacz z†regulatorem oraz podstawkÍ. Niewielkie wymiary stacji oraz moøliwoúci techniczne zestawu powsta³ego w†oparciu o†ni¹ powoduj¹, øe znajduje ona zastosowanie w†pracy w†serwisie, ale przede wszystkim jest przeznaczona dla zak³adÛw produkcyjnych.
Stacja lutownicza AD4200 Zestaw powsta³y na bazie tej stacji (fot. 10) jest przeznaczony zarÛwno do serwisÛw jak i†zak³adÛw produkcyjnych. Stacja wspÛ³pracuje zarÛwno z†lutownic¹, minilutownic¹, szczypcami oraz mikroszczypcami. DziÍki dwÛm niezaleønym kana³om zasilaj¹cym, w†ktÛre wyposaøona jest stacja, moøliwa jest jednoczesna praca z†dwoma rÛønymi narzÍdziami (na przyk³ad lutownica i†szczypce). Dodatkowe informacje Dodatkowe informacje s¹ dostêpne u dystrybutora JBC - w firmie TME, tel. (42) 640-01-06, www.tme.pl, [email protected].
Fot. 5. Wygląd rozlutownicy DR5570
Fot. 6. Specjalizowane szczypce do wylutowywania układów SMD
Elektronika Praktyczna 4/2003
Fot. 9. Stacja lutownicza AD2200
57
S P R Z Ę T
PrzystÍpuj¹c do testowania miernika Fluke 789, zastanawia³em siÍ, czym specjalnym powinien wyrÛøniaÊ siÍ przyrz¹d, aby zas³ugiwaÊ na miano ìmiernik dla automatykaî? Odpowiedzi w³aúciwie nie znalaz³em, tym bardziej øe wiele cech, jakie posiada model 789, jest charakterystyczne dla wielu, bynajmniej nie wyspecjalizowanych przyrz¹dÛw dostÍpnych na rynku. Moøe jest to chwyt reklamowy, moøe nie do koÒca trafne t³umaczenie nazwy, ktÛra w†oryginale brzmi: ìFLUKE 789 ProcessMeterî.
Miernik dla automatyków Jakby na to nie patrzeÊ, firma FLUKE to numero uno w†dziedzinie przyrz¹dÛw pomiarowych. Zawsze sprawia mi duø¹ przyjemnoúÊ poznawanie jej nowych wyrobÛw. Tym razem rÛwnieø tak by³o, chociaø nie mogÍ powiedzieÊ, øebym by³ czymú wyj¹tkowo zaskoczony. Jak zwykle, to co we Flukach urzeka, to perfekcyjnie wykonana obudowa w†przepiÍknych, wyrazistych øÛ³to-czarnych barwach z†tworzywa najwyøszej jakoúci. Jak zwykle teø do miernika do³¹czono bardzo starannie opracowan¹ dokumentacjÍ w†13 jÍzykach, w†tym w†trzech zupe³nie
ìnieludzkichî. Niestety jest coú, za co nie lubiÍ tej firmy - chodzi o†ca³kowite ignorowanie paÒstw úrodkowoeuropejskich. Dotychczas nie spotka³em siÍ z†polskimi wersjami dokumentÛw przygotowanych za oceanem. Na szczÍúcie rodzimi dystrybutorzy nadrabiaj¹ te niedoci¹gniÍcia i†t³umacz¹ przynajmniej ìPodrÍcznik uøytkownikaî, do³¹czaj¹c go do zestawu dokumentÛw. Jak pokazuje praktyka, t³umaczenia czÍsto stanowi¹ trudny do zgryzienia orzech. S¹ bowiem wykonywane przez dobrych znawcÛw jÍzyka, lecz nie za bardzo znaj¹cych zagadnienia
Rys. 1. Miernik może służyć także jako testowe źródlło prądowe
58
techniczne. W†przypadku dokumentacji miernika ì789 ProcessMeterî moøna uznaÊ, øe czynnoúÊ ta zosta³a wykonana prawid³owo, chociaø w†kilku miejscach moøe trochÍ raziÊ zbyt dos³owna translacja. Jakby na przekÛr, nie potwierdza tego doúÊ swobodne nadanie przydomka miernikowi ì789 ProcessMeterî. SprÛbujmy zatem znaleüÊ odpowiedü, dlaczego jest to...
Miernik dla automatykÛw Jak wiadomo, w†pomiarach systemÛw automatyki czÍsto wykorzystuje siÍ pÍtlÍ pr¹dow¹ 4-20mA lub 020mA. Jest ona chÍtnie stosowana, gdyø jest znacznie odporniejsza na zak³Ûcenia w†porÛwnaniu z†tradycyjnymi metodami napiÍciowymi. Miernik ì789 ProcessMeterî u³atwia øycie uøytkownikom, w†przypadkach, w†ktÛrych uøycie pÍtli staje siÍ niezbÍdne. Wbudowano w†nim ürÛd³o pr¹dowe w³¹czane automatycznie po w³oøeniu przewodÛw pomiarowych w†odpowiednie gniazda. S¹ nimi zwyk³e gniazda zakresÛw pr¹dowych, a†nie jakieú specjalnie do tego celu przewidziane (rys. 1). W†zaleønoúci od tego, ktÛra para gniazd zostanie uøyta, mamy do czynienia z†tzw. trybem ürÛd³a lub trybem symulacji. W†pierwszym przypadku miernik tworzy autonomiczne ürÛd³o pomiarowej pÍtli pr¹dowej, w†drugim do prawid³owej pracy wymagane jest zewnÍtrzne ürÛd³o napiÍcia 15 do 48 V, gwarantuj¹ce poprawne dzia³anie pÍtli. D³ugotrwa³a
Elektronika Praktyczna 4/2003
S P R Z Ę T Meterî ma rÛwnieø zaimplementowan¹ funkcjÍ automatycznej regulaZakres Rozdzielczość Dokładność (% odczytu + cyfra) cji pr¹du. W†tym trybie zmienia siÍ Napięcia DC [V] on liniowo (przebieg trÛjk¹tny) lub 4,000 0,001 0,1 % + 1 skokowo (przebieg schodkowy) od 40,00 0,01 0,1 % + 1 wartoúci 0% do 100% z†okresem 5, 400,0 0,1 0,1 % + 1 15 lub 40 sekund. 1000 1 0,1 % + 1 Poza opisanym wyøej pomiarem Napięcia DC [mV] pÍtli pr¹dowej trudno doszukaÊ siÍ w†mierniku ì789 ProcessMeterî spe400,0 0,1 mV 0,1 % + 2 cjalnych cech. Moøna powiedzieÊ, øe Napięcie AC 50 do 60 Hz 45 do 200 Hz 200 do 500 Hz pozosta³e jego funkcje s¹ zgodne z†ak400,0 mV 0,1 mV 0,7 % + 4 1,2 % + 4 7,0 % + 4 tualnie obowi¹zuj¹cym standardem. 4,000 V 0,001 V 0,7 % + 2 1,2 % + 4 7,0 % + 4 Niew¹tpliw¹ jego zalet¹ jest bardzo 40,00 V 0,01 V 0,7 % + 2 1,2 % + 4 7,0 % + 4 czytelny wyúwietlacz z†cyframi o†wy400,0 V 0,1 V 0,7 % + 2 1,2 % + 4 7,0 % + 4 sokoúci 18 mm (maksymalne wskaza1000 V 1 V 0,7 % + 2 1,2 % + 4 7,0 % + 4 nie 4000), ale brakuje bargrafu. Prąd AC Wszystkie funkcje pomiarowe s¹ wy1,000 A (max 30 s) 0,001 A 1 % + 2 posaøone w†automatyczny dobÛr†zaPrąd DC kresu, z†moøliwoúci¹ ustawiania rÍcz30,000 mA 0,001 mA 0,05 % + 2 nego. S³uøy do tego klawisz Range. 1,000 A (max 30 s) 0,001 A 0,2 % + 2 Dane techniczne miernika zestawiono w†tab. 1. Jak widaÊ, dok³adRezystancja noúÊ jest jego dobr¹ stron¹. Podczas prąd pomiarowy pomiarÛw przebiegÛw odkszta³co400,0 Ω 0, 1 Ω 0,2 % + 2 220 mA nych naleøy jednak pamiÍtaÊ, 4,000 kΩ 0,001 kΩ 0,2 % + 1 60 mA øe†maksymalny wspÛ³czynnik szczy40,00 kΩ 0,01 kΩ 0,2 % + 1 6,0 mA tu jest rÛwny 3, dla czÍstotliwoúci 400,0 kΩ 0,1 kΩ 0,2 % + 1 600 nA pomiÍdzy 50 a†60 Hz. Pomiary AC 4.000 MΩ 0,001 MΩ 0,35 % + 3 220 nA zapewniaj¹ konwersjÍ True RMS. 40,00 MΩ 0,01 MΩ 2.5 % + 3 22 nA Przyznam, øe jak na razie nie znaCzęstościomierz (dokładność) laz³em argumentÛw przekonuj¹cych 199,99 Hz 0,01 Hz 0,005 % + 1 mnie dobitnie, øe ì789 ProcessMe1999,9 Hz 0,1 Hz 0,005 % + 1 terî to miernik dla automatykÛw. 19,999 kHz 0,001 kHz 0,005 % + 1 Ale zaraz, zaraz, to moøe w³aúnie ich brak o†tym úwiadczy? No bo cÛø Częstościomierz (min. czułość RMS dla sinusa 5Hz do 5kHz) automatyk w³aúciwie moøe mierzyÊ? AC DC Pewnie to, co umoøliwi mu opisy400 mV 150 mV (50 Hz do 5 kHz) 150 mV wany Fluke. NapiÍcia oraz pr¹dy 4 V 1 V 1 V sta³e i†zmienne. Czy jednak pomiar 40 V 3 V 3 V pr¹du o†wartoúci maksymalnej rÛw400 V 30 V 30 V nej 1†A†i†to przez co najwyøej 30 1000 V 300 V 300 V s†zadowoli go? Tego nie wiem, ze praca w†pierwszym trybie powoduje i†sprzeczne z†przyzwyczajeniami. Nie skruch¹ muszÍ przyznaÊ, øe nie jesoczywiúcie zwiÍkszone zuøycie bates¹dzÍ, øeby by³o przestrzegane na co tem automatykiem. Jako elektronik rii. Pomiary mog¹ byÊ prowadzone dzieÒ przez uøytkownikÛw. Regulazastanawiam siÍ natomiast, dlaczego na jednym z†dwÛch zakresÛw: 4-20 cjÍ pr¹du pÍtli wykonuje siÍ trzema 1-amperowe gniazdo pomiarowe jest mA lub 0-20 mA. Zmiana wymaga parami przyciskÛw: zabezpieczone bezpiecznikiem 440 wy³¹czenia miernika i†ponownego - Fine - zapewniaj¹ce najwiÍksz¹, mA? W†mojej codziennej pracy raw³¹czenia przy wciúniÍtym przycismoøliw¹ precyzjÍ, czej uci¹øliwe by³oby rÛwnieø uøyku Range. Pewn¹ niedogodwanie gniazda do pomiaru Sprawdzić można za darmo noúci¹ jest brak wydzielonepr¹du o†wartoúci maksygo wy³¹cznika zasilania malnej 30 mA. W†przypadDla klientów chcących poznać możliwości miernika, co jest zreszt¹ ku 789-ki by³bym niestety przyrządu 789 ProcessMeter firma Fluke ostatnio doúÊ powszechn¹ na to skazany. Zostawmy przygotowała interaktywną demonstrację praktyk¹. Wskutek tego propr¹dy, weümy siÍ za podostępną w Internecie pod adresem: ducent zaleca najpierw ustamiar rezystancji. http://www.fluke.nl/common/products/demos/ wiÊ tryb pracy miernika za Tu filozofii nie ma øad789_demo_en.swf. Publikujemy ją także pomoc¹ prze³¹cznika obrotonej. Po prostu ustawia siÍ na płycie CD−EP4/2003B. wego, a†nastÍpnie do³¹czyÊ zakres, pod³¹cza przewody przewody pomiarowe do gniazd. Po- Coarse - precyzjÍ 0,1 mA, i†po chwili na wyúwietlaczu ukazustÍpowanie takie ma na celu ewen- Step - zmieniaj¹c¹ pr¹d co 25% je siÍ wynik. Zakres pomiarowy 40 tualne zabezpieczenie przed przep³yzakresu. MΩ z†2,5% b³Ídem musi robiÊ wrawem nadmiernego pr¹du w†pÍtli, co S¹ teø przyciski ì0%î i†ì100%î øenie. Pr¹d†pomiarowy w†tym przymog³oby nast¹piÊ podczas obracania ustawiaj¹ce odpowiedni do ich opipadku to zaledwie 22 nA. Pochodn¹ pokrÍt³a. Jest to doúÊ nienaturalne su pr¹d pÍtli. Miernik ì789 Processtej funkcji miernika jest test ci¹g³oúci po³¹czenia i†test z³¹cza pÛ³prze-
Tabela 1. Parametry elektryczne miernika “789 ProcessMeter”
60
Elektronika Praktyczna 4/2003
S P R Z Ę T
Rys. 2. W ramach oprogramowania dostarczanego wraz z miernikiem znajduje się przydatny kalkulator−przelicznik wartości podawanych w różnych jednostkach wodnikowego. Uznaje siÍ (sygna³em düwiÍkowym), øe po³¹czenie jest, jeúli jego rezystancja jest mniejsza niø 100 Ω. W†drugim teúcie moøna okreúliÊ wartoúÊ napiÍcia przewodzenia z³¹cza przy pr¹dzie 0,2 mA. Pozosta³ jeszcze pomiar czÍstotliwoúci. Jest on aktywowany po ustawieniu prze³¹cznikiem obrotowym np. pomiaru napiÍcia i†naciúniÍciu klawisza Hz. Miernik wy³¹cza przy tym automatyczny wybÛr zakresu pomiarowego. Trudno powiedzieÊ, øeby ì789 ProcessMeterî by³†prawdziwym czÍstoúciomierzem. Ma trochÍ za w¹ski zakres pomiarowy i†ìza krÛtkiî wyúwietlacz, ale dok³adnoúÊ rÛwna 0,005% + 1†na ostatniej pozycji dobrze úwiadczy o†przyrz¹dzie. Uzupe³nieniem powyøszych funkcji pomiarowych jest moøliwoúÊ wyszukiwania wartoúci maksymalnej, minimalnej i†obliczenie úredniej w†serii pomiarÛw. Prze³¹czeÒ dokonuje siÍ cyklicznie klawiszem Min Max, a†jego d³uøsze przytrzymanie powoduje zerowanie wynikÛw. Powyøszy tryb pracy dotyczy zarÛwno pomiarÛw napiÍÊ, pr¹dÛw, jak i†rezystancji. Kaødorazowo po wyst¹pieniu ktÛregoú z†ekstremum uøytkownik jest informowany o†tym fakcie krÛtkim sygna³em düwiÍkowym. Wyúwietlacz moøe przy tym pracowaÊ w†trybie zatrzaskiwania ktÛrejú z†wybranych wartoúci (min, max, úrednia). Moøe takøe wyúwietlaÊ stan aktualny, a†poszukiwania realizowaÊ
Elektronika Praktyczna 4/2003
w†tle. Rezultaty bÍd¹ wtedy wyúwietlane po rÍcznym ich przywo³aniu. Wynik pomiaru moøe byÊ w†kaødej chwili zamroøony przyciskiem Hold. W†prezentowanym mierniku zastosowano 2-stopniowe podúwietlanie wyúwietlacza. Podczas pomiarÛw mrocznych uk³adÛw automatyki moøe byÊ to cecha bardzo przydatna. Aby nie wyczerpywaÊ zbyt szybko baterii, zastosowano uk³ad samoczynnego wy³¹czania przyrz¹du po 30 minutach bezczynnoúci. Do zasilania miernika wykorzystuje siÍ 4†baterie AA. Producent zaleca baterie alkaliczne. Czas pracy na jednym komplecie szacowany jest na 140 godzin. Spada on jednak drastycznie (do 10 godzin), gdy wykonywane s¹ pomiary pÍtli pr¹dowej w†trybie ürÛd³a. Przyrz¹d ì789 ProcessMeterî nie nadaje siÍ do pomiarÛw wysokogÛrskich. FLUKE gwarantuje poprawnoúÊ wskazaÒ jedynie do 2000 m. Zbyt wysoki stÛ³ moøe byÊ rÛwnieø niebezpieczny dla przyrz¹du. Znosi on upadek z†wysokoúci 1†m. Szkoda tylko, øe w†danych technicznych nie napisano, ile takich upadkÛw jest w†stanie wytrzymaÊ. Nie wiadomo teø, czy moøe spadaÊ na beton, czy musi na miÍkki dywan.
CD-ROM-ie do³¹czonym do miernika znajduje siÍ miÍdzy innymi doúÊ atrakcyjny kalkulator. Nazywa siÍ ìFree Units Conversion Toolî. Przy jego pomocy nie ma problemÛw z†przeliczeniem np. parseka na mile morskie lub pikometry. Staje siÍ moøliwe obliczenie, ile hektopaskali odpowiada 760 mm s³upka rtÍci, a†zamiana knotÛw na machy jest dziecinn¹ igraszk¹. To przecieø jest zajÍcie, z†jakimi automatycy spotykaj¹ siÍ na co dzieÒ. Kalkulator podczas pracy jest przedstawiony na rys. 2. Na zakoÒczenie wypada³oby wydaÊ jak¹ú ocenÍ. Si³¹ rzeczy bÍdzie ona subiektywna i†nie musi siÍ pokrywaÊ z†ocenami innych. MuszÍ powiedzieÊ, øe widywa³em mierniki o†wiÍkszych cechach funkcjonalnych niø ì789 ProcessMeterî, kosztuj¹cych pewnie mniej od niego. Czasami jednak pomiar musi byÊ ìpodpartyî jak¹ú licz¹c¹ siÍ firm¹. Inaczej przecieø bÍdzie wygl¹da³ raport, w†ktÛrym zostanie napisane, øe do pomiarÛw uøyto miernika Fluke, inaczej øe uøyto przyrz¹du noname. To dok³adnoúÊ, a†nie bogactwo trybÛw pomiarowych jest mocn¹ stron¹†opisywanego miernika. Jaros³aw Doliñski, AVT [email protected] Dodatkowe informacje Przyrz¹d do testów udostêpni³a firma TME, tel. (42) 640-01-06, www.tme.pl.
Dlaczego dla automatykÛw? Pytanie to drÍczy³o mnie podczas prowadzenia testÛw. Ale mam - odpowiedü, chociaø nie jest ona zwi¹zana bezpoúrednio z†przyrz¹dem. Na
61
P R O G R A M Y
Przełom na rynku narzędzi EDA dla elektroników, część 2 Kompilowanie projektu w†DXP jest zupe³nie nowym, ale istotnym sk³adnikiem procesu projektowania. årodowisko Protel DXP posiada wbudowany potÍøny mechanizm odpowiedzialny za kompilowanie i†porÛwnywanie dokumentÛw sk³adowych ca³ego projektu. Kompilator buduje w†pamiÍci komputera model projektu, ktÛry jest nastÍpnie sprawdzany pod k¹tem wystÍpowania b³ÍdÛw rysunkowych i†elektrycznych. Kompilacja projektu B³Ídy wykryte przez kompilator s¹ wyúwietlane w†panelu Messages (rys. 7). Dwukrotne klikniÍcie myszk¹ na wybranej pozycji w†panelu Messages umoøliwia przejúcie do miejsca wyst¹pienia b³Ídu w†dokumencie ürÛd³owym. Wspomnieliúmy, øe kompilacja obejmuje takøe weryfikacjÍ projektu pod k¹tem wystÍpowania b³ÍdÛw. Parametry tej weryfikacji konfigurujemy za pomoc¹ okienka dialogowego Options for Project, ktÛre moøemy wywo³aÊ, np. wybieraj¹c z†menu Project>Project Options. SpoúrÛd ca³ej masy dostÍpnych opcji pogrupowanych w†kilka zak³adek, teraz interesuj¹ nas te, zawarte pod zak³adkami Error Reporting oraz Connection Matrix (rys. 8). Parametry zgrupowane na zak³adce Error Reporting (rys. 9) odpowiadaj¹ za tzw. b³Ídy rysunkowe, takie jak np. powtÛrzone oznaczenia elementÛw na schemacie, niepod³¹czone porty zasilania, powielone etykiety sieci itp. Druga grupa opcji odpowiedzialnych za weryfikacjÍ to tzw. macierz po³¹czeÒ, dostÍpna na zak³adce Connection Matrix. Specyficzna dla Protela macierz po³¹czeÒ, widoczna na ilustracji, odpowiada za wykrywanie tzw. b³ÍdÛw elektrycznych. Klikaj¹c kolorowe pola na przeciÍciu wierszy i†kolumn macierzy, konfigurujemy zachowanie siÍ programu na okolicznoúÊ wyst¹pienia okreúlonych b³ÍdÛw elektrycznych na schematach. Przyk³adowo, na przeciÍciu wiersza Output Pin i†kolumny Power Pin domyúlnie wystÍpuje kwadracik koloru pomaraÒczowego, oznaczaj¹cy b³¹d (Error). Takie ustawienie powoduje, øe Protel wykrywa po³¹czenie wyprowadzenia typu ìwyjúcieî z†wyprowadzeniem typu ìzasilanieî i†sygnalizuje taki stan jako b³¹d, co jest doúÊ oczywiste. Konfiguruj¹c macierz po³¹czeÒ, moøemy wp³yn¹Ê w†okreúlony sposÛb na zachowanie siÍ programu w†sytuacji wyst¹pienia rÛønego rodzaju b³ÍdÛw elektrycznych. Bior¹c pod uwagÍ moøliw¹ liczbÍ po³¹czeÒ pomiÍdzy kilkunastoma wierszami i†kolumnami
Rys. 7. Widok panelu messages
62
macierzy, otrzymamy ponad sto piÍÊdziesi¹t moøliwoúci ustawieÒ. Dla kaødej z†nich moøemy zdefiniowaÊ jeden z†czterech poziomÛw sygnalizacji: B³¹d Krytyczny (Fatal Error), B³¹d (Error), Ostrzeøenie (Warning) i†Brak Raportowania (No Report). Wczeúniej wspomnieliúmy, øe podczas kompilacji powstaje model projektu, ktÛry odwzorowuje wszystkie relacje pomiÍdzy jego czÍúciami sk³adowymi. Dotyczy to po³¹czeÒ pomiÍdzy arkuszami projektu hierarchicznego, powi¹zaÒ pomiÍdzy instancjami poszczegÛlnych kana³Ûw w†projekcie wielokana³owym oraz sieci po³¹czeÒ wystÍpuj¹cej pomiÍdzy wszystkimi elementami na arkuszu schematu. Widok skompilowanego projektu pokazuje panel Nawigator, za pomoc¹ ktÛrego moøemy poruszaÊ siÍ po ca³ej strukturze projektu oraz obejrzeÊ wszystkie po³¹czenia. Zwracam uwagÍ, øe panel Navigator (rys. 10) daje praktycznie nieograniczone moøliwoúci nawigacji po strukturze projektu, na kaødym poziomie i†na kilka sposobÛw. Pocz¹wszy od poziomu najwyøszego, tj. poszczegÛlnych arkuszy oraz instancji projektu wielokana³owego, poprzez elementy i†po³¹czenia na schemacie, aø do poziomu pojedynczych wyprowadzeÒ elementÛw i†dowolnych parametrÛw zwi¹zanych z†elementami. Dochodzi do tego moøliwoúci graficznej reprezentacji po³¹czeÒ z†jednoczesnym automatycznym powiÍkszaniem wybranych elementÛw i†maskowaniem pozosta³ych (rys. 11). Wszystko to powoduje, øe poruszanie siÍ po projekcie w†programie Protel/nVisage DXP jest proste, ³atwe i†przyjemne.
Rys. 8. Okno konfiguracji raportów
Kiedy projekt jest skompilowany i†pozbawiony b³ÍdÛw na schematach, moøemy przejúÊ do kolejnych etapÛw projektowania. Bezb³Ídnie skompilowany projekt to ìmateria³î do analiz i†symulacji oraz transferu do implementacji - zaleønie od rodzaju - na p³ycie PCB lub w†uk³adzie FPGA.
Rys. 9. Okno konfiguracji weryfikacji błędów na schemacie
Rys. 10. Nawigator pozwala swobodnie przemieszczać się po projekcie
Rys. 11. Połączenia mogą być prezentowane graficznie
Elektronika Praktyczna 4/2003
P R O G R A M Y tryb pracy krokowej pozwala na stopniowe uruchamianie kodu z†jednoczesn¹ obserwacj¹ przebiegÛw i†podgl¹dem sygna³Ûw i†zmiennych oraz analiz¹ kodu VHDL i†odpowiadaj¹cych mu elementÛw na schemacie. MoøliwoúÊ ustawiania pu³apek dodatkowo u³atwia uruchamianie projektu.
Analiza sygna³owa obwodu
Rys. 12. Okno konfiguracji symulatora
Wszechstronna analiza projektu nVisage i†Protel zawieraj¹ ca³y szereg narzÍdzi do analizy i†weryfikacji uk³adu - w³¹czaj¹c w†to symulator analogowo-cyfrowy typu SPICE3f5/Xspice, symulator VHDL oraz pe³ne moøliwoúci analizy sygna³owej obwodu. NarzÍdzia te s¹ ca³kowicie zintegrowane i†gotowe do wykorzystania w†razie potrzeby.
Symulator analogowo-cyfrowy Symulator wykorzystuje rozszerzon¹ wersjÍ standardu Berkeley SPICE3f5/Xspice, pozwalaj¹c na dok³adn¹ analizÍ dowolnych kombinacji uk³adÛw analogowych i†cyfrowych, bez koniecznoúci rÍcznego wstawiania przetwornikÛw C/A i†A/C pomiÍdzy czÍúciami analogowymi i†cyfrowymi. Symulacja uk³adÛw mieszanych jest moøliwa, poniewaø symulator zawiera precyzyjne modele behawioralne uk³adÛw cyfrowych, zarÛwno TTL, jak i†CMOS. Symulator obs³uguje wszystkie modele analogowe kompatybilne ze standardem SPICE. Symulator oferuje zarÛwno podstawowe analizy - punktu pracy, analizÍ przejúciow¹ i†ma³osygna³ow¹, jak i†szereg analiz zaawansowanych np. Fouriera lub Monte Carlo. Na rys. 12 pokazano okienko dialogowe s³uø¹ce do konfiguracji symulatora. W†jego lewej czÍúci widoczne s¹ wszystkie dostÍpne rodzaje analiz. Wybieraj¹c poszczegÛlne pozycje listy, uzyskujemy dostÍp do ich parametrÛw pokazanych w†prawej czÍúci okienka. Wyniki symulacji wyúwietlane s¹ na wykresach w†postaci przebiegÛw (przyk³ad pokazano na rys. 13). Szeroki zakres ustawieÒ parametrÛw obu osi, skali, wielkoúci i†iloúci przebiegÛw na wykresach daje moøliwoúÊ rÛønorodnej prezentacji i†analizy wynikÛw.
Symulator VHDL Symulator VHDL to kompletny system umoøliwiaj¹cy kompilacjÍ i†wykonanie kodu VHDL. Pozwala na analizÍ funkcjonaln¹ i†czasow¹ projektu FPGA. Wyniki symulacji prezentowane s¹ na wykresach w†postaci przebiegÛw czasowych (rys. 14). DostÍpny
Wraz ze zwiÍkszaniem czÍstotliwoúci pracy wspÛ³czesnych urz¹dzeÒ, analiza sygna³owa obwodu staje siÍ coraz bardziej przydatnym narzÍdziem pracy projektanta. Protel oraz nVisage pozwalaj¹ na przeprowadzenie analizy sygna³owej zarÛwno dla gotowej p³yty PCB, jak i†zanim jeszcze zaprojektujemy obwÛd drukowany - na podstawie samego schematu ideowego. Podstawow¹ zasad¹ przy projektowaniu, pozwalaj¹c¹ unikn¹Ê problemÛw zwi¹zanych z†integralnoúci¹ sygna³Ûw, jest dopasowanie impedancji. Na etapie rysowania schematu osi¹gamy to przez prawid³owe dopasowanie urz¹dzeÒ i†dobÛr terminatorÛw. Natomiast podczas projektowania obwodu drukowanego, przez prawid³owe okreúlenie fizycznych w³aúciwoúci laminatu oraz odpowiednie prowadzenie úcieøek. WstÍpn¹ analizÍ sygna³ow¹ moøemy przeprowadziÊ jeszcze podczas rysowania schematÛw. Unikamy w†ten sposÛb ryzyka kosztownego przeprojektowywania p³yty, jeúli okaøe siÍ, øe potrzebne s¹ dodatkowe terminatory lub nawet naleøy zmieniÊ technologiÍ. Do takiej analizy wystarczy tylko okreúliÊ úredni¹ impedancjÍ úcieøek, uruchomiÊ symulacjÍ i†obejrzeÊ przebiegi sygna³Ûw na wykresach zbliøonych do tych, jakie widzimy na ekranie oscyloskopu. Jeúli zaobserwujemy zniekszta³cenia sygna³Ûw, mog¹ce mieÊ wp³yw na pracÍ urz¹dzenia, moøemy zastanowiÊ siÍ nad wyborem uk³adÛw w†innej technologii lub sprÛbowaÊ dobraÊ terminatory. Program pomoøe nam szybko okreúliÊ optymalne wartoúci elementÛw terminatora (rys. 15). årednia wartoúÊ impedancji úcieøek za³oøona podczas wstÍpnej analizy moøe byÊ wykorzystana podczas projektowania PCB w†celu prawid³owego doboru uk³adu warstw oraz do konfiguracji nowej regu³y projektowej na prowadzenie úcieøek wg okreúlonej impedancji. Analiza sygna³owa przeprowadzona na gotowym obwodzie drukowanym pozwala dok³adnie sprawdziÊ jego jakoúÊ pod k¹tem integralnoúci sygna³Ûw. Przebiegi sygna³Ûw, jakie moøemy zaobserwowaÊ w†wyniku takiej analizy, odpowiadaj¹ z†duø¹ dok³adnoúci¹ tym, jakie pojawi¹ siÍ w†rzeczywistym obwodzie. Na wykresach moøemy zaobserwowaÊ zjawiska przes³uchÛw pomiÍdzy úcieøkami, odbicia sygna³Ûw, zmierzyÊ czas narastania i†opadania zbocza oraz impedancjÍ úcieøki (rys. 16). Naleøy zaznaczyÊ, øe algorytmy uøywane podczas analizy s¹ bardzo dok³adne, jednak chc¹c uzyskaÊ wiarygodne wyniki, musimy dobrze okreúliÊ parametry elektryczne laminatu i†miedzi, na podstawie ktÛrych program liczy impedancjÍ úcieøek. Ponadto, musimy dysponowaÊ odpowiednimi modelami elementÛw. WiÍkszoúÊ z†nich jest dostÍpna w†bibliotekach do³¹czonych do programu. Jeúli dla pewnego elementu brakuje modelu, moøemy okreúliÊ go sami lub pozwoliÊ, aby program zastosowa³ model przybliøony.
Rys. 14. Wyniki symulacji projektu układu FPGA przebiegÛw, obs³uguj¹ce wszystkie rodzaje wykresÛw generowanych przez narzÍdzia do analizy. Przegl¹darka analogowa oferuje takie funkcje jak: podgl¹d kilku przebiegÛw, przebiegi na³oøone na jednym wykresie z†kilkoma osiami Y, kursory s³uø¹ce do precyzyjnego odczytu wartoúci z†wykresÛw, moøliwoúÊ zastosowania formu³ matematycznych do przebiegÛw, kopiowanie wykresÛw do schowka Windows oraz eksport wynikÛw do pliku. Przegl¹darka cyfrowa jest nieco uboøsza, ale wyczerpuje typowe potrzeby w†zakresie prezentacji przebiegÛw cyfrowych w†funkcji czasu, pomiarÛw czasu i†wyúwietlania wartoúci.
Synteza VHDL Zagadnienie syntezy dotyczy przetwarzania kodu VHDL przy projektowaniu programowalnych uk³adÛw logicznych. Synteza to z³oøony proces polegaj¹cy na transformacji projektu uk³adu logicznego do fizycznej implementacji w†uk³adzie FPGA. Programy nVisage i†Protel posiadaj¹ wbudowane uniwersalne narzÍdzia do syntezy VHDL pozwalaj¹ce na wybÛr jednego z†wielu dostÍpnych na rynku uk³adÛw programowalnych. Daj¹ swobodny wybÛr architektury oraz rodziny uk³adÛw FPGA. Programy posiadaj¹ wiele zaawansowanych cech spotykanych zwykle w†drogich narzÍdziach do syntezy FPGA. Podczas syntezy program wyúwietla szczegÛ³owe komunikaty w†oknie Messages. Klikaj¹c na wybranej pozycji z†listy w†okienku Messages moøemy przejúÊ automatycznie do miejsca w†projekcie, ktÛrego dany komunikat dotyczy. Pozwala to w†³atwy i†prosty sposÛb dotrzeÊ do miejsc, w†ktÛrych program znalaz³ b³Ídy. DXP daje moøliwoúÊ importu informacji o†rozk³adzie wyprowadzeÒ generowanych przez zewnÍtrzne narzÍdzia do implementacji FPGA. Rozk³ad wyprowadzeÒ zaprogramowanego juø uk³adu logicznego moøemy za³adowaÊ do programu, zarÛwno w†projekcie FPGA, jak i†PCB. DziÍki temu moøemy zachowaÊ spÛjny rozk³ad wyprowadzeÒ podczas ca³ego procesu projektowania. Aktualnie program obs³uguje wiÍkszoúÊ rodzin
Praca z†wykresami Rys. 13. Prezentacja wyników symulacji układu analogowego
64
Wszystkie rodzaje symulacji dostÍpne w†DXP maj¹ wspÛln¹ cechÍ w†postaci graficznej reprezentacji wynikÛw na wykresach. årodowisko DXP zawiera dwie przegl¹darki
Rys. 15. Protel DXP potrafi obliczyć parametry terminatora linii transmisyjnych
Elektronika Praktyczna 4/2003
P R O G R A M Y
a)
b)
Rys. 16. Wyniki symulacji wpływu parametrów terminatora na przesyłany sygnał uk³adÛw FPGA, takich producentÛw jak: Xilinx, Altera, Actel, Atmel, Lattice, Quicklogic i†Vantis.
Projekty wielokana³owe Zaawansowany mechanizm, wspomagaj¹cy tworzenie projektÛw wielokana³owych, to nowe i†ciekawe zagadnienie, ktÛre pojawi³o siÍ w†DXP. Mechanizm ten u³atwia projektowanie uk³adÛw, w†ktÛrych pewne czÍúci obwodu powtarzaj¹ siÍ - dwukrotnie, czterokrotnie czy nawet 32-krotnie. Programy nVisage i†Protel DXP posiadaj¹ kilka cech,
Rys. 17. Przykładowa struktura projektu 32−kanałowego
Elektronika Praktyczna 4/2003
ktÛre zapewniaj¹ pe³n¹ obs³ugÍ prawdziwych, zagnieødøonych projektÛw wielokana³owych. SpoúrÛd tych u³atwieÒ naleøy wymieniÊ automatyczne generowanie wielu instancji arkuszy schematÛw dla poszczegÛlnych kana³Ûw, zarz¹dzanie oznaczeniami, automatyczne generowanie klas elementÛw i†tworzenie odrÍbnych obszarÛw PCB dla poszczegÛlnych kana³Ûw oraz moøliwoúÊ powielania identycznego rozk³adu elementÛw i†úcieøek na PCB dla kaødego z†kana³Ûw. Na rys. 17 przedstawiono strukturÍ przyk³adowego projektu 32-kana³owego, ktÛry zawiera cztery banki, z†ktÛrych kaødy jest wyposaøony w†osiem identycznych kana³Ûw. PojÍcie prawdziwego projektowania wielokana³owego, ktÛre jest czÍsto podkreúlane, oznacza, øe schemat powtarzaj¹cego siÍ kana³u rysujemy tylko raz. Nie ma potrzeby tworzenia wielu kopii tego samego arkusza! Projekt na schemacie pozostaje w†takim stanie nawet po przeniesieniu do PCB, a†system utrzymuje powi¹zanie jednego elementu logicznego na schemacie do wielu fizycznych elementÛw na p³ycie PCB. Edytor schematÛw daje nam do dyspozycji dwie moøliwoúci narysowania projektu wielokana³owego - k³adziemy osobne symbole arkusza dla kaødego kana³u, wszystkie odnosz¹ce siÍ do tego samego arkusza schematu lub wykorzystujemy specjaln¹ sk³adniÍ oznaczenia symbolu arkusza, ktÛra reprezentuje wiele kana³Ûw za pomoc¹ jednego symbolu arkusza. Uøywaj¹c specjalnego s³owa kluczowego Repeat w†oznaczeniu symbolu arkusza, okreúlamy liczbÍ wyst¹pieÒ danego kana³u. Podczas kompilacji projektu program powiela dany kana³ odpowiedni¹ liczbÍ razy, tworz¹c wewnÍtrzny skompilowany model, uøywaj¹c wybranego schematu numeracji w†celu unikalnego oznaczenia kaødego elementu w†kaødym kanale. Ten proces nie powiela arkusza schematu dla kaødego kana³u schemat pozostaje ci¹gle jeden. Kiedy projekt jest skompilowany, pojawiaj¹ siÍ zak³adki w†dolnej czÍúci okna edytora schematÛw, po jednej dla kaødego kana³u. SposÛb mapowania pojedynczego elementu na schemacie z†jego kilkoma wyst¹pieniami (w kilku kana³ach) na PCB jest okreúlony przez tzw. schemat oznaczeÒ ustawiony w†okienku dialogowym Projekt Options na zak³adce Multi-Channel. Na rys. 18 pokazano wygl¹d okna konfiguracyjnego i†jeden z†moøliwych schematÛw oznaczeÒ. Konfiguracja kana³Ûw ze schematÛw przechodzi automatycznie na rozk³ad elementÛw na p³ycie drukowanej. Kiedy przenosimy projekt do PCB, elementy s¹ uk³adane
Rys. 18. Okno konfiguracji projektu wielokanałowego
Rys. 19. Formaty kanałów można dowolnie kopiować w†grupach (tzw. component classes), a†kaøda grupa elementÛw na p³ycie jest umieszczana w†osobnym obszarze (tzw. placement room). Elementy na PCB uk³adamy tylko dla jednego kana³u, wewn¹trz jego obszaru, nastÍpnie prowadzimy úcieøki, korzystaj¹c z†polecenia Autoroute>Room. Dalej korzystamy z†polecenia Tools>Rooms>Copy Room Formats, aby powieliÊ krok po kroku rozk³ad elementÛw i†úcieøek dla wszystkich kana³Ûw. Wspomniana funkcja obs³uguje zarÛwno p³yty z†dwustronnym rozk³adem elementÛw i†úcieøek kana³u, jak i†jednostronny rozk³ad dla kana³u, ktÛry moøe byÊ powielony po obu stronach p³yty. DostÍpne moøliwoúci kopiowania formatu kana³Ûw najlepiej ilustruje widok okienka dialogowego na rys. 19. Grzegorz Witek, Evatronix
Dodatkowe informacje Dodatkowe informacje mo¿na uzyskaæ w firmie Evatronix, www.evatronix.com.pl.
65
S P R Z Ę T Wydaje siÍ, øe w†czasach niebywa³ej miniaturyzacji uk³adÛw elektronicznych oferowanie kolejnego laboratoryjnego miernika uniwersalnego jest pomys³em co najmniej ryzykownym. Tego rodzaju sprzÍt†jest jednak poszukiwany i†trafia na sto³y laboratoryjne warsztatÛw oraz pracowni, gdzie zawsze jest pod rÍk¹.
Multimetry cyfrowe serii 3550 ABM to All-Bright Technology Co., Ltd. - tajwaÒska firma, ktÛrej multimetr DM3557 zosta³ poddany redakcyjnym testom. Wymiary: 213x88x394 mm i†waga 3,6†kg kwalifikuj¹ go jako stacjonarny przyrz¹d laboratoryjny. Moøe byÊ on ustawiony zarÛwno w†pozycji poziomej (lub ukoúnej). W†tym drugim przypadku konstruktorzy nie zapewnili jednak nÛøek o†odpowiedniej wysokoúci, wskutek czego minimalnie wystaj¹ca wtyczka przewodu zasilaj¹cego sprawia, øe przyrz¹d nie zachowuje stabilnoúci w†tej pozycji. Obs³uga przyrz¹du nie powinna nastrÍczaÊ trudnoúci. Wszystkie elementy regulacyjne, poza wy³¹cznikiem sieciowym, umieszczono na p³ycie czo³owej. Obrotowy prze³¹cznik rodzaju pracy moøna wprawdzie ustawiÊ w†po³oøeniu ìOFFî, jednak zasilanie miernika nie jest wÛwczas wy³¹czane, a†uaktywniany jest jedynie uk³ad APO (Intelligent Auto Power Off). Podczas normalnej pracy usypia on elektronikÍ po 17 minutach braku aktywnoúci. Ma³o praktycznym jest umieszczenie wy³¹cznika z ty³u obudowy, zw³aszcza øe ìprzebudzenieî nastÍpuje po naciúniÍciu dowolnego klawisza, zmianie po³oøenia prze³¹cznika obrotowego lub wykryciu sygna³u przekraczaj¹cego o†10% aktualny zakres pomiarowy. Jeúli w³¹czenie zasilania nast¹pi w†po³oøeniu ìOFFî, uk³ad APO zostanie zablokowany. Umieszczenie wy³¹cznika zasilania z†ty³u obudowy wydaje siÍ byÊ powaønym nieporozumieniem, zw³aszcza øe przyrz¹d prawdopodobnie bÍdzie ustawiany na pÛ³kach pomiÍdzy innymi urz¹dzeniami. WÛwczas dostÍp do tego wy³¹cznika bÍdzie bardzo utrudniony.
66
Moøliwoúci Multimetr DM3557 wyposaøono w†wyúwietlacz ciek³okrystaliczny 5†i†4/5 cyfry (maksymalne wskazanie 500000) w†trybie pomiaru napiÍÊ i†999999 w†trybie pomiaru czÍstotliwoúci. Pod cyfrowym polem odczytowym znajduje siÍ 50-segmentowy bargraf, ktÛrego stan jest odúwieøany 60 razy na sekundÍ. Wyniki na g³Ûwnym polu odczytowym s¹ wyúwietlane 5†razy na sekundÍ. W†kaødej chwili wskazanie moøe†byÊ zamroøone na wyúwietlaczu poprzez naciúniÍcie przycisku ìHOLDî. Stan taki jest sygnalizowany wyúwietleniem literki ìHî. Wed³ug mojej oceny kontrast wyúwietlacza mÛg³by byÊ minimalnie wiÍkszy. Podczas pomiarÛw DCV miernik posiada dok³adnoúÊ 0,03%. Moøna nim mierzyÊ napiÍcia i†pr¹dy DC, AC, DC+AC True RMS (bez bargrafu), dla wspÛ³czynnika szczytu mniejszego od 5:1 na pe³nym zakresie i†mniejszym od 10:1 dla po³owy zakresu. WartoúÊ DC+AC True RMS jest zdefiniowana jako:
DC + AC True RMS = DC2 + ( ACRMS )2 CzÍstotliwoúÊ mierzonych napiÍÊ sinusoidalnych moøe†dochodziÊ do 100 kHz, zaú przebiegÛw cyfrowych do 2†MHz. SzczegÛ³y dotycz¹ce zakresÛw pomiarowych zosta³y przedstawione w†tab. 1. Miernikiem DM3557 moøna mierzyÊ ponadto rezystancjÍ i†pojemnoúÊ, poziom wzglÍdny napiÍÊ (w dBm) odnoszony do wybranej impedancji obci¹øenia (jednej z†20 typowych). Ponadto ma wbudowany düwiÍkowy tester ci¹g³oúci po³¹czeÒ i†tester diod. DostÍpne s¹ teø funkcje pozwalaj¹ce mierzyʆczÍstot-
liwoúÊ przebiegu cyfrowego i†jego wspÛ³czynnik wype³nienia. Na zakresie pr¹dowym DC moøna ustawiÊ dodatkow¹ funkcjÍ: %4-20mA. Wynik nie jest wÛwczas wyúwietlany w†jednostkach pr¹du, lecz wyraøany jako procent zakresu pÍtli pr¹dowej 4...20†mA. Bliüniaczy multimetr DM3559, ktÛrego dok³adnoúÊ DCV wynosi 0,02%, umoøliwia ponadto dokonywanie pomiaru temperatury za pomoc¹ dwÛch sond i†jest wyposaøony w†optoizolowany interfejs RS232. Brak moøliwoúci komunikowania siÍ z†komputerem w†modelu DM3557 stanowi niestety jego spor¹ wadÍ. Do wybierania mierzonej wielkoúci s³uøy prze³¹cznik obrotowy. NiektÛrym jego po³oøeniom przyporz¹dkowano kilka znaczeÒ, dlatego trzeba dodatkowo wybieraÊ odpowiedni¹ funkcjÍ przyciskiem ìSELECTî. Ustawienia s¹ kaødorazowo zapamiÍtywane w†pamiÍci nieulotnej i†prawid³owo odtwarzane po wy³¹czeniu i†ponownym w³¹czeniu przyrz¹du. Zakres pomiarowy do wszystkich rodzajÛw pracy jest wybierany automatycznie, jednak uøytkownik ma moøliwoúÊ rÛwnieø rÍcznego ustawienia. S³uøy do tego przycisk ìRANGEî. Kaøde jego przyciúniÍcie powoduje cykliczn¹ zmianÍ zakresu, przytrzymanie zaú na ok. 1†sekundÍ przywraca pracÍ automatyczn¹. Na p³ycie czo³owej znajduje siÍ rÛwnieø przycisk s³uø¹cy do prze³¹czania rozdzielczoúci wskazaÒ z†5†na 6†cyfr. Ma to szczegÛlnie duøe znaczenie podczas pomiarÛw czÍstotliwoúci. PrzystÍpuj¹c do pomiarÛw pojemnoúci kondensatorÛw (zw³aszcza duøych wartoúci), trzeba pamiÍtaÊ o†dok³adnym ich roz³adowaniu przed do³¹czeniem do
Elektronika Praktyczna 4/2003
S P R Z Ę T Tabela 1. Parametry elektryczne multimetru DM3557 Zakres
Dokładność
DCV 500,00 mV 5,0000 V 50,000 V 500,00 V 1000,0 V ACV / DCV+ACV
Impedancja wejściowa: 10 MΩ, 30 pF 0,03% + 2c 0,05% + 2c 0,1% + 2c Impedancja wejściowa: 10 MΩ, 30 pF 45...300 Hz 0,8% + 60c
500,00 mV 5,0000 V 50,000 V 500,00 V 1000,0 V 500,00 mV 5,0000 V 50,000 V 500,00 V 1000,0 V DCA 500,00 µA 5000,0 µA 50,000 mA 500,00 mA 5,0000 A 10,000 A
Uwagi
300 Hz...1 kHz 0,8% + 40c 2,0% + 60c 1,0% + 40c 0,15% + 20c 0,1% + 20c 0,15% + 15c 0,1% + 20c 0,5% + 10c 0,5% + 20c
10 A pomiar ciągły 20 A pomiary przez max 30 s z 5 min przerwą
ACA / DCA+ACA 40 Hz...1 kHz 500,00 µA 5000,0 µA 50,000 mA 500,00 mA 5,0000 A 10,000 A AC Hz 5,0000 Hz ... 200,000 kHz
1,0% + 40c
1,0% + 40c
10 A pomiar ciągły 20 A pomiary przez max 30 s z 5 min przerwą
0,002% + 4d
Czułość (przebieg sinusoidalny): 0,1 V min dla zakresu 500 mV 1 V min dla zakresu 5 V 10 V min dla zakresu 50 V 100 V min dla zakresu 500 V 900 V min dla zakresu 1000 V
Logic Hz 5,0000 Hz...2,00000 MHz 0,002% + 4c Współczynnik wypełnienia 0,1%...99,99% 3c/kHz + 2c Rezystancja 500,00 Ω 5,0000 kΩ 0,1% + 6c 50,000 kΩ 500,00 kΩ 5,0000 MΩ 2,0% + 6c 50,000 MΩ 2,0% + 6c Pojemność 50,00 nF 0,8% + 3c 500,0 nF 5,000 µF 1,0% + 3c 50,00 µF 2,0% + 3c 500,0 µF 3,5% + 5c 9999 µF 5,0% + 5c Test ciągłości połączeń sygnał dźwiękowy dla przejścia od 20...200 Ω czas odpowiedzi <100 µs dBm −11,76 do 54,25 dBm 0,25 dB + 2c (40 Hz...20 kHz) dla 600 Ω
Test diod 5,0000 V Pętla prądowa 4...20 mA 4mA=0% 20mA=100%
68
1% + 1c
rozdzielczość: 0,01% dokładność: ±25c
Czułość (przebieg prostokątny): 2,5 V fwe:5 Hz do 500 kHz 5 V TTL Uwy: <1,3 VDC (<3 V dla 500 Ω)
Impedancja odniesienia: 4, 8, 16, 32, 50, 75, 93, 110, 125, 135, 150, 200, 250, 300, 500, 600, 800, 900, 1000, 1200 Ω Impedancja wejściowa: 10MΩ, 30 pF prąd pomiarowy: 0,8 mA napięcie pomiarowe: <3,5 VDC
miernika. Miernik DM3557 umoøliwia zapamiÍtywanie wartoúci maksymalnej i†minimalnej w†serii pomiarÛw. Funkcja ta jest w³¹czana po naciúniÍciu przycisku ìRECî. Na wyúwietlaczu zostaje wyúwietlona literka ìRî oraz napisy ìMAXî i†ìMINî. Od tego momentu przyrz¹d úledzi wyniki pomiarÛw i†wyúwietla je na bieø¹co na wyúwietlaczu, a†kaødorazowe wykrycie wartoúci maksymalnej (lub minimalnej) sygnalizuje krÛtkim düwiÍkiem. Kolejne przyciúniÍcie przycisku ìRECî powoduje przejúcie w†tryb wyúwietlania tylko wartoúci maksymalnej, minimalnej lub rÛønicy pomiÍdzy nimi. Przytrzymanie przycisku ìRECî powoduje wy³¹czenie powyøszej funkcji. Multimetr DM3557 posiada rÛwnieø funkcjÍ Crest Capture uruchamian¹ klawiszem ìCRESTî. Pozwala ona na wykrywanie impulsÛw pr¹dowych lub napiÍciowych DC, AC, DC+AC o†czasie trwania do ok. 0,8†ms. W†tym trybie funkcja APO jest zawsze wy³¹czana. Podczas pomiarÛw laboratoryjnych czÍsto przydaje siÍ moøliwoúÊ pomiarÛw wzglÍdnych, odnoszonych do pewnej wartoúci wzorcowej. Pomiar taki jest moøliwy po naciúniÍciu klawisza ∆. W†tym momencie wskazywana przez przyrz¹d wartoúÊ staje siÍ wartoúci¹ odniesienia, a†przyrz¹d wskazuje wartoúÊ zero. Wartoúciami odniesienia mog¹ byÊ rÛwnieø zarejestrowane wczeúniej wartoúci maksymalne lub minimalne. Kaødorazowe naciúniÍcie dowolnego klawisza jest sygnalizowane krÛtkim i†doúÊ cichym düwiÍkiem. Gdyby jednak komuú to przeszkadza³o, moøe wy³¹czyÊ sygnalizacjÍ düwiÍkow¹, naciskaj¹c klawisz ìHzî w†momencie w³¹czania miernika. W†czasie testÛw ci¹g³oúci po³¹czeÒ sygna³ düwiÍkowy zostaje oczywiúcie aktywny. Multimetry serii DM3550 nie wyrÛøniaj¹ siÍ jakimiú szczegÛlnymi cechami uøytkowymi. WiÍkszoúÊ z†nich jest dostÍpna rÛwnieø w†wielu ma³ych miernikach przenoúnych. PamiÍtajmy jednak, øe†jest to przyrz¹d stacjonarny, zawsze dostÍpny pod rÍk¹, no i†nie trzeba wymieniaÊ baterii. Jaros³aw Doliñski [email protected] Dodatkowe informacje Multimetry do testów w redakcji dostarczy³a firma Merserwis, tel. (22) 831-42-56, www.merserwis.com.pl.
Elektronika Praktyczna 4/2003
S P R Z Ę T
Na wiêksz¹ skalê Systemy i urządzenia APS dla producentów elektroniki Dlatego obniøanie kosztÛw, przy zachowaniu kryteriÛw jakoúciowych, jest jednym z†najwaøniejszych celÛw w†planowaniu produkcji. Jeúli wiÍc pojawi siÍ moøliwoúÊ uzyskania okreúlonych parametrÛw i†wskaünikÛw†przy znacz¹co niøszych nak³adach inwestycyjnych, to nie powinno siÍ jej przeoczyÊ. Na polskim rynku w³aúnie ukaza³a siÍ nowa oferta, adresowana do producentÛw elektroniki. Podstawowym jej wyrÛønikiem jest po³¹czenie wysokiej jakoúci i†niezawodnoúci, szerokich moøliwoúci i†bardzo dobrych parametrÛw, z†cenami niespotykanymi dot¹d w†tej klasie urz¹dzeÒ. APS to w†rozwiniÍciu Automated Production Systems. W†katalogu tej amerykaÒskiej firmy znajdziemy przyrz¹dy i†urz¹dzenia przeznaczone do przygotowania i†montaøu wszelkich elementÛw i†uk³adÛw†elektronicznych na p³ytach drukowanych, a†takøe pod³oøach elementÛw hybrydowych o†rÛønych powierzchniach i†gruboúciach (od 0,5 do 4,0 mm). Wszystkie zapewniaj¹ precyzjÍ i†powtarzalnoúÊ operacji, rÛøni¹c si͆przede wszystkim stopniem automatyzacji, co przek³ada siÍ, z†jednej strony - na osi¹gan¹ wydajnoúÊ, z†drugiej - na cenÍ zakupu. Korzystaj¹c z†produktÛw APS, moøna zestawiÊ wiele wariantÛw kompletnych linii, na ktÛrych przeprowadzane s¹ operacje przycinania i†kszta³towania wyprowadzeÒ elementÛw i†uk³adÛw, nanoszenia masek, pasty lutowniczej i†kleju na p³ytki drukowane, umieszczania elementÛw i†uk³adÛw na p³ytkach oraz lutowanie. DostÍpne s¹ takøe urz¹dzenia do demontaøu (napraw) i†pomocnicze, jak np. liczarki komponentÛw.
Systemy i†urz¹dzenia pick & place Najbardziej zaawansowan¹ technicznie, a†chyba i†najciekawsz¹ grupÍ stanowi¹ automaty pick & place, zgrupowane w†typoszeregu ìLî (fot. 1). Ich pod-
Techniczne moøliwoúci maszyn i†urz¹dzeÒ wykorzystywanych w†produkcji decyduj¹ o†osi¹ganych poziomach z³oøonoúci, precyzji i†wydajnoúci procesÛw technologicznych, a†w†koÒcu - o†jakoúci wyrobÛw. Na rynkowy sukces produktu sk³adaj¹ siÍ jednak nie tylko jego bezwzglÍdne walory, ale w†znacznej mierze - jakoúÊ odniesiona do ceny. stawowe zalety wynikaj¹ z†uniwersalnoúci i†elastycznoúci, precyzji i†szybkoúci dzia³ania oraz moøliwoúci sterowania z†poziomu PC. Do dyspozycji uøytkownika pozostaj¹ podajniki taúmowe, listwowe, tackowe i†opcjonalnie - wibracyjne. Umoøliwiaj¹ one pobieranie i†uk³adanie elementÛw, takich jak: 0201, 0402, 0603, 0805, 1206, melf, SO-28 do SO-8, SOT, SOIC, (fine pitch) QFP, BGA, PLCC i†wielu innych. Maksymalna liczba jednoczeúnie pracuj¹cych podajnikÛw jest rÛwna 32 dla modelu L20, 64 dla L40 i†aø 96 - dla L60; wartoúci te odnosz¹ siÍ do taúmy 8†mm. Standardowo s¹ zainstalowane cztery (opcjonalnie 8) g³owice podciúnieniowe, zasilane z†wbudowanego kompresora, s¹ wybierane automatycznie w†trakcie pracy, umoøliwiaj¹c pobieranie i†uk³adanie rÛønych elementÛw†bez potrzeby przerw na zmianÍ oprzyrz¹dowania. Pozycja elementu/uk³adu wzglÍdem chwytaka moøe byÊ kontrolowana za pomoc¹ lasera. Wysoka rozdzielczoúÊ charakteryzuj¹ca ruchy g³owicy wzd³uø osi X, Y†i†Z†(rzÍdu 4†µm) oraz moøliwoúÊ orientowania elementu w†dowolnym kierunku z†krokiem 0,18 µm, decyduj¹ o†wysokiej precyzji pozycjonowania, wynosz¹cej ±0,001î (±25,4 µm). Automaty serii ìLî mog¹ pracowaÊ z†uk³adami o†rastrze 15 mils (0,384 mm). Ich maksymalna wydajnoúÊ dochodzi do 4800 cph (chip per hour). Oprogramowanie automatÛw serii ìLî, umoøliwiaj¹ce sterowanie, kontrolÍ i†autodiagnostykÍ, jest otwartym, wygodnym w†uøyciu narzÍdziem, pozwalaj¹cym na sprawne wprowadzanie programu pracy i†szybkie dokonywanie ø¹danych modyfikacji. Sterowanie moøe dzia³aÊ autonomicznie (urz¹dzenie pracuje niezaleønie) albo wspÛ³pracowaÊ z†innymi systemami, tworz¹c liniÍ produkcyjn¹ o†optymalnej wydajnoúci. Interesuj¹c¹ cech¹ jest takøe ürÛd³o zasilania maszyn - pr¹d zmienny 230V,
tak, wiÍc te zaawansowane systemy nie wymagaj¹ odrÍbnej instalacji pneumatycznej. Czym rÛøni¹ siÍ modele L20, L40 i†L60 poza wspomnian¹ maksymaln¹ liczb¹ wykorzystywanych rÛwnoczeúnie podajnikÛw? Wymiarami i†masami, co nie jest najbardziej istotne, a†takøe moøliwoúciami odnoúnie maksymalnych wymiarÛw ìobs³ugiwanychî p³yt (od 343x305 mmm dla L20, do 343x813 mm dla L60), a†takøe cenami. Te ostatnie moøna jednak en bloc uznaÊ za atrakcyjne, co - w†po³¹czeniu z†niewielkimi kosztami uøytkowania - istotnie przyczynia siÍ do obniøenia kosztÛw produkcji. Kto planuje przedsiÍwziÍcie na nieco mniejsz¹ skalÍ, powinien zwrÛciÊ
Fot. 2. System MPP−VC służący do wideoinspekcji
Fot. 3. Programowalny dozownik kleju/pasty GDV−20 z pęsetą próżniową
Fot. 1. Automat Pick & Place L60
Elektronika Praktyczna 4/2003
69
S P R Z Ę T
Fot. 4. Drukarka szablonowa SPR−45 uwagÍ na automaty APS P20/P40: s¹ one mniejsze, løejsze, maj¹ trochÍ mniej ìwyúrubowaneî parametry. Na przyk³ad maksymalna wydajnoúÊ wynosi tu 1500...2500 cph, dok³adnoúÊ pozycjonowania ±0,005î, a†minimalny raster - 20 milsÛw. Liczby podajnikÛw mog¹cych pracowaÊ rÛwnoczeúnie wynosz¹ 48 i†80, odpowiednio dla P20 i†P40 (taúma 8†mm). Podobnie jak w†serii ìLî, przewidziano tu zasobniki i†podajniki do wielu rodzajÛw elementÛw. S¹ teø zintegrowane kompresory. Sterowanie automatami P20/P40 odbywa siÍ dziÍki wbudowanemu komputerowi, ktÛrego oprogramowanie pozwala na ³atwe wprowadzanie danych. Opcjonalnie moøliwe s¹ translacja i†transfer danych z†programÛw CAD. Producent podaje, øe†liczba moøliwych do zapamiÍtania programÛw jest praktycznie nieograniczona. Do rodziny systemÛw pick & place naleø¹ jeszcze m.in.: - pÛ³automatyczny, niewielki system M10, wyposaøony w†samoucz¹ce oprogramowanie steruj¹ce, zapamiÍtuj¹ce i†odtwarzaj¹ce sekwencjÍ czynnoúci przeprowadzonych przez operatora na pierwszym, modelowym obwodzie. PracÍ operatora na tym etapie u³atwia oryginalny system audiowizualnej sygnalizacji.
- rÍczne systemy MPP20/21 i†MPP10/11 gwarantuj¹ce precyzjÍ dzia³ania, dziÍki ergonomicznej konstrukcji, zapewniaj¹cej zawsze w³aúciwe podparcie dla rÍki (istnieje moøliwoúÊ szybkiego przestawienia urz¹dzenia do obs³ugi leworÍcznej). Wersje ì21î i†ì11î s¹ wyposaøone w†sterowane cyfrowo dozowniki kleju lub pasty, mog¹ce pracowaÊ w†trybach: rÍcznym, pÛ³automatycznym, automatycznym i†samoucz¹cym. - oprzyrz¹dowanie i†wyposaøenie dodatkowe, jak np. system MPP-VC do wideoinspekcji (fot. 2) czy programowalny dozownik kleju/pasty GDV-20 z†pÍset¹ prÛøniow¹ do pozycjonowania elementÛw (fot. 3).
Drukarki Szablonowe Drukarki szablonowe s¹ w†ofercie APS reprezentowane przez piÍÊ modeli: od ekonomicznej rÍcznej SPR-10, do zautomatyzowanej i†samopoziomuj¹cej SPR-45 (fot. 4). Maksymalne wymiary obszaru druku wynosz¹ od 305x380 mm do 406x457 mm. Urz¹dzenia s¹ przeznaczone do obs³ugi ma³o- i†úrednioseryjnej produkcji, zapewniaj¹ dok³adnoúÊ, powtarzalnoúÊ i†niezawodnoúÊ dzia³ania. Ich waøn¹ zaletÍ stanowi moøliwoúÊ pracy z†szablonami foliowymi (bez ramek), co jest potencjalnym ürÛd³em znacz¹cych oszczÍdnoúci.
KrÍpownice Na etapie przygotowania do montaøu niezbÍdne s¹ krÍpownice - urz¹dzenia s³uø¹ce do przycinania i†formowania wyprowadzeÒ wielu elementÛw i†uk³adÛw, zw³aszcza przeznaczonych do montaøu przewlekanego. APS oferuje ponad 30 takich przyrz¹dÛw w†wersjach rÍcznych (fot. 5) i†automatycznych (fot. 6). Przewidziano moøliwoúÊ obrÛbki elementÛw†z†wyprowadzeniami osiowymi, promieniowymi (przygotowanie zarÛwno do montaøu poziomego, jak i†pionowego), a†takøe uk³adÛw w†obudowach dwurzÍdowych DIP.
Piece rozp³ywowe Lutowanie w†wydaniu APS to proces przebiegaj¹cy zgodnie z†zaprogramowanym profilem termicznym, odbywaj¹cy
Fot. 7. Piec GF−12A do lutowania rozpływowego siÍ we wnÍtrzu jednego z†czterech oferowanych obecnie piecÛw serii ìGFî (fot. 7). Elementy grzejne pieca (konwekcyjne) s¹ rozmieszczone tak w†gÛrnej, jak i†dolnej czÍúci komory, tworz¹c strefy nagrzewania. Komora jest wykonana ze stali nierdzewnej. Osi¹gniÍcie rÛwnomiernego rozk³adu temperatur w†p³ycie PCB zapewnia opatentowany system Cyclonicô wymuszaj¹cy ruch powietrza (albo azotu). Odpowiednio rozlokowane termopary, wspÛ³pracuj¹ z†komputerowym sterownikiem. Na øyczenie firma wyposaøy urz¹dzenie w†promienniki podczerwieni - jest to jednak rozwi¹zanie wybierane coraz rzadziej. Operator ma wszakøe moøliwoúÊ obserwacji procesu przez duøy wziernik znajduj¹cy siÍ na gÛrnej úcianie komory - jej wnÍtrze jest oúwietlone. Tuø za wyjúciem z†tunelu pieca znajduje siÍ strefa ch³odzenia, gdzie przebiega ostatnia faza lutowania. P³yta poddawana powyøszym zabiegom przesuwa siÍ na szerokim (305 mm) transporterze. Oprogramowanie pozwala m.in. na wprowadzenie i†zapamiÍtanie do 100 profili, zaprogramowanie timera (do 7†dni), monitorowanie i†raportowanie usterek zgodnie z†ISO9000 SPC, ochronÍ wprowadzonych danych has³em. Poznawszy szczegÛ³owe specyfikacje opisanych wyøej systemÛw i†urz¹dzeÒ, moøna dokonaÊ rzetelnej oceny, ktÛre z†nich najlepiej wpisuj¹ siÍ w†potrzeby planowanej lub prowadzonej produkcji. Konstrukcja oferty APS sprzyja optymalizacji procesÛw i†ekonomizacji posuniÍÊ inwestycyjnych, a†oszczÍdna eksploatacja i†wysoka bezawaryjnoúÊ urz¹dzeÒ s¹ kolejnymi krokami w†kierunku zawsze poø¹danym - redukcji kosztÛw. Marek Kalasiñski Dodatkowe informacje
Fot. 5. Automat do krępowania elementów ze sterowaniem ręcznym
70
Fot. 6. Automat do krępowania elementów ze sterowaniem automa− tycznym
Artyku³ powsta³ na bazie materia³ów udostêpnionych przez firmê Renex, tel./fax: (54) 231-1005, 411-25-55, www.renex.com.pl.
Elektronika Praktyczna 4/2003
P R O G R A M Y
część 3 Zapraszamy do lektury kolejnego artyku³u z†cyklu, w†ktÛrym prezentujemy autorouter Specctra. Zanim zaprezentujemy moøliwoúci autoroutera pod k¹tem rozmieszczania elementÛw warto przypomnieÊ wspomnieÊ, øe - jak juø wspomnieliúmy w†poprzedniej czÍúci artyku³u - rozmieszczanie elementÛw na p³ytce sk³ada siÍ z†czterech podstawowych etapÛw: ustalenia regu³ projektowych, rozmieszczenia elementÛw krytycznych, rozmieszczenia elementÛw ìduøychî oraz rozmieszczenia elementÛw ìma³ychî. Specctra bazuje w†tym wypadku na liczbie wyprowadzeÒ elementu. Jako ìduøeî s¹ traktowane te elementy, ktÛre posiadaj¹ cztery lub wiÍcej wyprowadzeÒ. Poniewaø aplikacja po uruchomieniu domyúlnie ustawiana jest w†trybie routera (Route Mode), przed przyst¹pieniem do rozmieszczania elementÛw konieczne jest prze³¹czenie programu w†tryb Place Mode. Zadanie to realizowane jest za pomoc¹ ikony Place Mode znajduj¹cej siÍ na pasku narzÍdzi. Podstawowe opcje zwi¹zane z†automatycznym i†interaktywnym rozmieszczaniem ustawiamy w†oknie Placement Setup (rys. 1). Moøemy je wywo³aÊ za pomoc¹ polecenia Setup z†poziomu Menu>Autoplace. Jednymi z†parametrÛw, ktÛre rzutuj¹ na pracÍ Specctry na etapie rozmieszczania elementÛw s¹: - PCB Placement Grid - parametr globalny: minimalny raster siatki referencyjnej odnosz¹cy siÍ do wszystkich elementÛw, zarÛwno SMD jak i†zwyk³ych. WartoúÊ 0†oznacza, øe siatka nie zosta³a zdefiniowana.
Rys. 1. Widok okna Placement Setup
Elektronika Praktyczna 4/2003
- PCB Placement Spacing - parametr globalny: minimalne odstÍpy stosowane wzglÍdem wszystkich komponentÛw na druku. WartoúÊ 1†oznacza, øe parametr ten nie zosta³ zdefiniowany. OdstÍpy moøemy tu definiowaÊ osobno dla obu stron p³ytki. Zwracamy uwagÍ, øe definiowanie siatki w†odniesieniu do rozmieszczenia elementÛw nie zawsze jest konieczne. Jeøeli nasz projekt wymaga ustawienia siatki rastra moøemy wykorzystaÊ do tego celu opisywane okno Placement Setup lub skorzystaÊ z†polecenia Menu>Define>Design grids i†ustawiÊ siatkÍ w†oknie Design grids (rys. 2) zak³adki Placement. W†drugim przypadku mamy moøliwoúÊ ustawienia globalnej siatki osobno dla elementÛw typu SMD jak i†przewlekanych, a†takøe ustawienia jej dla konkretnych typÛw komponentÛw. PowrÛÊmy jeszcze na chwilÍ do okna Placement Setup. PoszczegÛlne zak³adki tego okna umoøliwiaj¹ modyfikacje kilku innych w³aúciwoúci úrodowiska takich jak np.: - w³¹czenie lub wy³¹czenie prowadnic kursora u³atwiaj¹cych precyzyjne rozmieszczanie komponentÛw, - w³¹czanie lub wy³¹czanie kontroli regu³ projektowych High Speed zwi¹zanych z†wytyczaniem úcieøek juø na etapie rozmieszczania komponentÛw (tylko w†przypadku rozmieszczania automatycznego), - zmianÍ punktu referencyjnego wzglÍdem ktÛrego moøemy automatycznie wyrÛwnywaÊ po³oøenie okreúlonych grup komponentÛw (wiÍcej na ten temat w†kolejnej czÍúci artyku³u), - okreúlanie kierunku ìprzesuwaniaî elementu(-Ûw) umieszczonych na p³ytce w†przypadku, gdy aktualnie dodawany powoduje z†nim kolizje, - ustalenie parametrÛw dotycz¹cych dzia³ania funkcji Move Component. W†przypadku rÍcznego, uk³adania elementÛw moøemy np. zablokowaÊ p³aszczyznÍ X†tak, øe przesuwanie elementÛw w†tej p³aszczyünie nie bÍdzie moøliwe,
W†dzisiejszym odcinku przybliøymy te opcje Specctry, ktÛre zwi¹zane s¹ z†dzia³aniem programu w†trybie Place Mode. - ustawienie parametrÛw zwi¹zanych z†dzia³aniem funkcji Move Component w†zakresie juø wytyczonych úcieøek. W†przypadku przesuwania komponentu do ktÛrego úcieøki zosta³y juø wytyczone moøemy np. nakazaÊ ich zrywanie, automatyczne odbudowywanie z†uwzglÍdnieniem ich optymalizacji, czÍúciowe zrywanie w†zaleønoúci od tego po ktÛrej p³aszczyünie przesuwamy element, - ustalenie miejsca w†ktÛrym kursor bÍdzie ìtrzyma³î komponent w†momencie jego przesuwania, obracania itp., - ustawienie w³aúciwoúci funkcji Measure wyúwietlaj¹cej wspÛ³rzÍdne wskazanego punktu na p³ytce, odleg³oúci pomiÍdzy dwoma wskazanymi punktami lub zestawu informacji na temat wskazanego elementu. Tak jak wczeúniej wspomnieliúmy Specctra umoøliwia zadanie regu³ projektowych ktÛre mog¹ byÊ stosowane zarÛwno na etapie rozmieszczania elementÛw jak i†na etapie wytyczania úcieøek. Poniewaø aplikacja stosuje regu³y projektowe w†sposÛb hierarchiczny, o†czym by³a mowa w†poprzedniej czÍúci artyku³u, uøytkownik moøe zadawaÊ je globalnie w†stosunku do ca³ego projektu lub do specyficznych grup elementÛw czy obszarÛw tworzonego obwodu drukowanego. DostÍp do ustawieÒ regu³ dotycz¹cych poszczegÛlnych ìpoziomÛw hierarchiiî odbywa siÍ z†poziomu Menu>Rules. Generalnie, regu³y ktÛre mog¹ byÊ ustawiane przez uøytkownika to: - Minimum permitted spacing - minimalne odstÍpy pomiÍdzy komponentami, lub pomiÍdzy komponentami, a†zdefiniowanymi przez projektanta obszarami zabronionymi (obszarami p³ytki w†ktÛrych nie
71
P R O G R A M Y
Rys. 2. Okno Placement Setup, w którym jest definiowana m.in. siatka rastra powinny byÊ zlokalizowane komponenty). Regu³a ta stosowana jest zarÛwno podczas automatycznego jak i†rÍcznego rozmieszczania elementÛw. Moøemy definiowaÊ j¹ globalnie pod katem wszystkich elementÛw projektu, jak rÛwnieø oddzielnie dla okreúlonych grup elementÛw lub obszarÛw p³ytki. W†drugim przypadku kontrolowany jest minimalny odstÍp pomiÍdzy elementami danego typu, a†elementami tego samego lub innego typu lub obszarami zabronionymi okreúlonymi przez uøytkownika, przy czym odstÍp moøe byÊ definiowany oddzielnie dla obu stron p³ytki. Okno umoøliwiaj¹ce zadanie opisywanych parametrÛw w†odniesieniu do PCB (najniøszy poziom w†hierarchii) pokazano na rys. 3. W†przypadku wyøszych poziomÛw takich jak image set, image, component, czy teø room (pojÍcia opisywane w†poprzednim odcinku), parametr ten definiowany jest w†oddzielnych oknach. Naleøy w†tym miejscu zwrÛciÊ uwagÍ, øe opisywana wczeúniej metoda ustawienia minimalnych odstÍpÛw za pomoc¹ okna Placement Setup dotyczy globalnych ustawieÒ úrodowiska, a†parametry zadane w†tym oknie s¹ nadpisywane przez te ktÛre zostan¹ zdefiniowane w†ramach opisywanej regu³y. - Permitted orientations - orientacja elementu(-Ûw). Regu³a ta determinuje dozwolon¹ orientacjÍ elementu(-Ûw): poziom¹, pionow¹ lub
Rys. 4. Okno definicji reguł łączenia PCB specyfikowan¹ przez zadany k¹t obrotu. Podobnie jak w†przypadku odstÍpÛw regu³a ta moøe byÊ definiowana globalnie dla wszystkich elementÛw oraz oddzielnie dla okreúlonych grup elementÛw (np.: przewlekanych, SMD) i†okreúlonych obszarÛw p³ytki dla rÛønych poziomÛw hierarchii. Tak jak poprzednio orientacja elementÛw moøe byÊ definiowana dla obu stron druku. Okno umoøliwiaj¹ce ustawienie tej regu³y na poziomie PCB pokazano na rys. 4. Permitted sides - regu³a umoøliwiaj¹ca ustalenie na ktÛrej stronie p³ytki mog¹ byÊ umieszczane elementy w†trybie auto lub rÍcznym. Domyúlnie udostÍpnione s¹ obydwie strony. Regu³a, jak i†dwie poprzednie, moøe byÊ zastosowana dla kaødego z†poziomÛw hierarchii. Opposite sides - regu³a pozwalaj¹ca na okreúlenie ktÛre z†komponentÛw mog¹ byÊ umieszczone front to back, czyli w†tej samej lokalizacji (w tych samych wspÛ³rzÍdnych) ale po przeciwnych stronach p³ytki. Regu³a ta klasyfikuje elementy na dwa typy: duøe lub ma³e w†zaleønoúci od liczby pinÛw, w†zwi¹zku z†czym moøemy rozpatrywaÊ dowoln¹ kombinacjÍ nastÍpuj¹cych wariantÛw: Large-Large, Large-Small, SmallSmall. ZgodnoúÊ wszystkich ìposuniÍÊî projektanta z†zestawem wczeúniej okreúlonych regu³ projektowych kontrolowana jest automatycznie na pocz¹tku kaødej sesji oraz przy kaødej operacji zwi¹zanej z†rozmieszczaniem elementÛw lub wytyczaniem úcieøek. W†przypadku manualnej ìobrÛbkiî projektu kaøda operacja powoduj¹ca kolizjÍ ze wzglÍdu na przekroczenie regu³ sygnalizowana jest w†oknie Output Window i†w³aúciwie niemoøliwa do wykonania. Dzieje siÍ tak jednak tylko w†przypadku gdy w³¹czona jest funkcja Checking odpowiedzialna za autokontrolÍ. RK Dodatkowe informacje
Rys. 3. Okno definicji odstępów pomiędzy obiektami PCB
72
Wiêcej informacji mo¿na uzyskaæ w firmie RKSystem, www.rk-system.com.pl.
Elektronika Praktyczna 4/2003
M I N I P R O J E K T Y Wspólną cechą układów opisywanych w dziale "Miniprojekty" jest łatwość ich praktycznej realizacji. Zmontowanie układu nie zabiera zwykle więcej niż dwa, trzy kwadranse, a można go uruchomić w ciągu kilkunastu minut. Układy z „Miniprojektów” mogą być skomplikowane funkcjonalnie, lecz łatwe w montażu i uruchamianiu, gdyż ich złożoność i inteligencja jest zawarta w układach scalonych. Wszystkie układy opisywane w tym dziale są wykonywane i badane w laboratorium AVT. Większość z nich znajduje się w ofercie kitów AVT, w wyodrębnionej serii „Miniprojekty” o numeracji zaczynającej się od 1000.
Lämpömittari Czyli najprostszy termometr cyfrowy na PC Do³¹czenie uk³adÛw z†interfejsem 1-Wire do PC nie jest zadaniem trudnym, poniewaø firma Dallas Semiconductors (teraz Maxim) zadba³a o†komfort uøytkownikÛw i†udostÍpni³a dokumentacje prostego interfejsu RS232<->1Wire. Nieco bardziej k³opotliwe jest oprogramowanie tego interfejsu i†oczywiúcie napisanie aplikacji, ktÛra bÍdzie spe³nia³a nasze wymagania.
Jednymi z†najpopularniejDo interfejsu moøna do³¹- od wielu opracowaÒ komerszych uk³adÛw z†interfejsem czyÊ dowoln¹ liczbÍ uk³a- cyjnych. 1-Wire s¹ czujniki tempera- dÛw, jedynym ograniczeniem Oprogramowanie obs³utury DS1820 i†pochodne. jest pojemnoúÊ przewodÛw guje trzy wersje uk³adÛw Charakteryzuje je wzglÍdnie ³¹cz¹cych je z†interfejsem. DS1820: standardow¹ oraz duø¹ dok³adnoúÊ pomiarÛw Zbyt duøa moøe uniemoøli- d w i e zmodernizowane: i†nieprawdopodobna wrÍcz wiÊ dzia³anie uk³adu, nato- 18S20 i†18B20. Wyniki powygoda aplikowania miarÛw s¹ wy- nie wymagaj¹ one úwietlane na wieZa miesiąc dokładny opis bowiem odrÍbnego le predefiniowazasilania. nych sposobÛw Możliwości programu Lämpömittari są Niezwykle uøy(przyk³ady pokatak duże, że opisanie ich w ramach teczn¹, a†przy tym zano na rys. 2), ale Miniprojektów nie jest możliwe. elektrycznie ìminiuøytkownik ma Z drugiej strony niewątpliwa projektow¹î aplikacjÍ moøliwoúÊ stwoprzydatność tego programu powoduje, tych uk³adÛw opracorzenia w³asnych że dokonaliśmy śmiałego założenia, iż wa³ Fin Timo Saratablic prezentacyjprogram będzie się cieszył sporą aho, a†nosi ona nanych z†wykorzyspopularnością i już za miesiąc zwÍ Lämpömittari (po taniem dowolnych szczegółowo je opiszemy. fiÒsku po prostu terzdjÍÊ lub rysunmometr). CzÍúÊ kÛw (np. pieca CO sprzÍtowa termometru to po miast oprogramowanie samo- z†zaznaczonymi punktami prostu standardowy adapter czynnie rozpoznaje dowoln¹ p o m i a r o w y m i l u b p l a n RS232<->1-Wire firmy Dallas- liczbÍ do³¹czonych uk³adÛw mieszkania z†wyúwietlonyMaxim (np. DS9097 - rys. 1), DS18x20. mi wartoúciami temperatur). a†ca³a ìsi³aî urz¹dzenia zostaSzczegÛ³owy opis moøliJest ono dystrybuowane ³a zaimplementowana w†op- b e z p ³ a t n i e i † m o ø n a j e woúci programu przedstawirogramowaniu, ktÛre nosi úci¹gn¹Ê ze strony http:// my za miesi¹c. w³aúnie nazwÍ Lämpömittari. w w w . s u n p o i n t . n e t / ~ t h e r - Piotr Zbysiñski, AVT m o m e t e r / . A u t o r z a d b a ³ [email protected] o†przygotowanie wielu wersji jÍzykowych tego opWYKAZ ELEMENTÓW rogramowania (w tym wersji polskiej). Bior¹c dodatAdapter RS232<−>1−Wire kowo pod uwagÍ jego Rezystory ogromne moøliwoúci i†elasR1: 1,5kΩ tycznoúÊ mogÍ úmia³o Półprzewodniki stwierdziÊ, øe Lämpömittari D1: dioda Zenera 3,9V/ jest rozwi¹zaniem lepszym Rys. 1 500mW D2: dioda Zenera 6,2V/ 200mW D3, D4: BAT85 Różne J1: złącze DB9F
Rys. 2
Elektronika Praktyczna 4/2003
Rys. 3
75
M I N I P R O J E K T Y
Zabezpieczenie przed odwrotną polaryzacją Przy uruchamianiu urz¹dzeÒ czÍsto zachodzi potrzeba do³¹czania i†od³¹czania napiÍcia zasilaj¹cego, co niesie ze sob¹ ryzyko odwrotnego do³¹czenia tego napiÍcia, a†w†konsekwencji uszkodzenia pracuj¹cych uk³adÛw. Takøe podczas uøytkowania urz¹dzeÒ zasilanych bateryjnie istnieje duøe ryzyko odwrotnego pod³¹czenia ogniw zasilaj¹cych.
Aby unikn¹Ê przykrych skutkÛw zwi¹zanych z†niew³aúciw¹ polaryzacj¹, najlepiej jest zastosowaÊ zabezpieczenie, ktÛre uchroni urz¹dzenie w†przypadku b³Ídnej polaryzacji. Na rys. 1†przedstawiono rÛøne sposoby realizacji takiego zabezpieczenia. Wszystkie rozwi¹zania umoøliwiaj¹ ìprzepuszczaniaî pr¹du tylko w†jedna stronÍ, rÛøni¹ siÍ jednak spadkami napiÍÊ na elementach zabezpieczaj¹cych, a†tym samym moøliwoúciami stosowania ich w†rÛønych urz¹dzeniach. Test wszystkich uk³adÛw zosta³ przeprowadzony przy napiÍciu zasilania rÛwnym 9†V, a†pr¹d pobierany przez odbiornik wynosi³ 200 mA. Na rys. 1a przedstawiono typowy uk³ad z†diod¹ prostownicz¹. Gdy polaryzacja jest prawid³owa (do anody jest do³¹czony plus zasilania), to dioda przewodzi i†odbiornik zostaje zasilony. Ze wzglÍdu na zastosowanie diody krzemowej na jej strukturze powstaje spadek napiÍcia
rÛwny 0,8 V. Przy wykorzystaniu tego uk³adu w†urz¹dzeniu zasilanym bateryjnie jest to znaczny spadek i†w†zasadzie uk³ad ten nadaje siÍ jedynie do urz¹dzeÒ zasilanych z†zasilacza. Uk³ad przedstawiony na rys. 1b dzia³a na tej samej zasadzie jak uk³ad z†rys. 1a, lecz dziÍki zastosowaniu diody Schottky'ego spadek napiÍcia jest mniejszy i†wynosi 0,35 V. Na rys. 1c przedstawiono takie nieco inny sposÛb w³¹czenia diody, dziÍki ktÛremu nie ma øadnego spadku napiÍcia. Uk³ad ten szczegÛlnie nadaje siÍ do zastosowania w†uk³adach zasilanych bateryjnie, gdyø nie wprowadza øadnych strat, a†odwrotne pod³¹czenie baterii spowoduje, øe ca³y pr¹d pop³ynie przez diodÍ, powoduj¹c przepalenie bezpiecznika F. Innym sposobem zabezpieczenia jest zastosowanie tranzystora polowego, ktÛry zapewnia uzyskanie niewielkiego spadku przy jego szeregowym w³¹czeniu z†napiÍciem zasilania. Na rys. 1d
Rys. 1. Sposoby zabezpieczania urządzeń przed odwrotną polaryzacją
76
przedstawiono uk³ad z†zastosowaniem tranzystora MOS z†kana³em typu P. Tranzystor ten jest w³¹czony w†obwÛd ìplusaî napiÍcia zasilaj¹cego. W†przypadku prawid³owej polaryzacji napiÍcia zasilaj¹cego pr¹d p³ynie poprzez diodÍ znajduj¹c¹ siÍ we wnÍtrzu tranzystora oraz przez kana³ tranzystora, ktÛry jest w†stanie przewodzenia, gdyø jego bramka (G) jest na niøszym potencjale niø ürÛd³o (S). Tranzystor IRF9540 w†stanie przewodzenia ma rezystancjÍ pomiÍdzy ürÛd³em (S) a†drenem (D) rÛwn¹ oko³o 0,15 Ω, co przy pobieranym pr¹dzie przez odbiornik powoduje spadek napiÍcia wynosz¹cy 30 mV. Jest to znacznie mniejsza wartoúÊ niø w†przypadku zastosowania szeregowo w³¹czonej diody. Uk³ad nadaje siÍ wiÍc do urz¹dzeÒ zasilanych bateryjnie i†ma przewagÍ nad uk³adem pokazanym na rys. 1c, gdyø odwrotne pod³¹czenia baterii nie powoduje ich roz³adowania. Inn¹ konfiguracj¹ zabezpieczenia przed odwrotn¹ polaryzacj¹ jest wykorzystanie tranzystora MOS typu N. Uk³ad taki przedstawiono na rys. 1e. Podobnie jak w†poprzednim uk³adzie tranzystor jest w³¹czony w†szereg, ale w†ìminusieî zasilania. Zasada dzia³ania tego zabezpieczenia jest taka jak poprzednio, jednak zastosowany tranzystor BUZ11A charakteryzuje siÍ mniejsz¹ rezystancj¹ dren-ürÛd³o, ktÛra wynosi 0,045 Ω. Stosowanie uk³adÛw z†tranzystorami MOS wymaga, aby napiÍcie zasilaj¹ce by³o wyøsze od oko³o 4†V. Krzysztof P³awsiuk, AVT [email protected]
Elektronika Praktyczna 4/2003
S P R Z Ę T
Nowoczesne akumulatory czêœæ 1
Sposoby ³adowania i obs³uga Dostajemy wiele pytaÒ zwi¹zanych z ³adowaniem wspÛ³czesnych akumulatorÛw rÛønego typu. Zagadnienie jest rzeczywiúcie z³oøone, poniewaø rÛønorodnoúÊ dostÍpnych na rynku odnawialnych ürÛde³ zasilania jest ogromna, a dostÍpnych informacji stosunkowo niewiele. W artykule odpowiemy na pytania pojawiaj¹ce siÍ najczÍúciej w listach nadsy³anych do redakcji. Rodzaje akumulatorÛw
Pytanie o†dobÛr, warunki eksploatacji i†sposoby ³adowania akumulatorÛw powraca systematycznie w†rÛønych wariantach. Odpowiedü na nie jest o†tyle istotna, øe sposÛb traktowania wp³ywa na trwa³oúÊ ogniw a†ta przek³ada siÍ bezpoúrednio na wymierne koszty ich stosowania. Opracowuj¹c poniøsze wyjaúnienia korzysta³em z†materia³Ûw aplikacyjnych kilku znanych producentÛw. Trzeba jednak zauwaøyÊ, øe publikowane zalecenia, jakkolwiek s¹ zgodne w†sprawach podstawowych, to mog¹ siÍ istotnie rÛøniÊ w†szczegÛ³ach podkreúlaj¹cych technologiczne osi¹gniÍcia danej firmy. Dlatego ten tekst naleøy traktowaÊ jako prÛbÍ omÛwienia pewnego standardu. Natomiast projektuj¹c urz¹dzenie przeznaczone do produkcji seryjnej lub przewidziane do pracy w†ekstremalnych warunkach warto szczegÛ³owo przeúledziÊ noty aplikacyjne udostÍpnione przez producenta posiadanych ogniw. Na wstÍpie jeszcze kilka s³Ûw wyjaúnienia. OtÛø w†technice akumulatorowej powszechnie przyjͳo siÍ podawanie pr¹dÛw ³adowania/roz³adowania jako wielkoúci wzglÍdnej, odniesionej do znamionowej pojemnoúci ogniwa. St¹d oznaczenie 1C oznacza pr¹d w†[mA] liczbowo rÛwny pojemnoúci akumulatora w†[mAh] (tzw. pr¹d jednogodzinny). Analogicznie C/10 oznacza pr¹d dziesiÍciogodzinny itp. Przymknijmy oko na istniej¹c¹ tu niezgodnoúÊ jednostek.
Elektronika Praktyczna 4/2003
Moøna przyj¹Ê øe do zasilania urz¹dzeÒ elektronicznych stosuje siÍ obecnie wy³¹cznie ogniwa szczelnie zamkniÍte, nie uwalniaj¹ce w†trakcie normalnej eksploatacji, øadnych substancji mog¹cych dzia³aÊ korozyjnie na otoczenie. SpoúrÛd rodzajÛw, dostÍpnych dla zwyk³ego úmiertelnika, naleøy zatem wzi¹Ê pod uwagÍ akumulatory: - zasadowe, niklowo-kadmowe (Ni-Cd) i†niklowo-wodorkowe (Ni-MH), - kwasowe, o³owiowe (Pb, Lead-Acid) z†elektrolitem øelowanym lub absorbowanym na separatorach z†w³Ûkna szklanego, - alkaliczne, cynkowo-manganowe, ³adowalne, wykonane w†technologii RAM (Rechargeable Alkaline Modules), - litowo-jonowe (Li-Ion) z†elektrolitem ciek³ym, oraz najm³odsze na rynku akumulatory litowo-polimerowe (LiPo) z†elektrolitem w†postaci sta³ego polimeru.
Akumulatory Ni-Cd i†Ni-MH Ze wzglÍdu na podobieÒstwo konstrukcji oraz warunkÛw eksploatacji oba rodzaje moøna omÛwiÊ jednoczeúnie, podkreúlaj¹c istotne rÛønice, wystÍpuj¹ce m.in. w†sposobie ³adowania. Pod wzglÍdem budowy, akumulatory cylindryczne - a†z takimi spotykamy siÍ najczÍúciej - maj¹ postaÊ zwijki z³oøonej z†dwÛch elektrod przedzielonych separatorem nasyconym elektrolitem. RolÍ elektrolitu pe³ni stÍøony wodorotlenek potasowy z†dodatkami uszlachetniaj¹cymi. W†obydwu typach ogniw elektroda dodatnia (+) ma postaÊ porowatego spieku z†metalicznego niklu wi¹ø¹cego w³aúciwe substancje aktywne (zwi¹zki niklu). Zasadnicza rÛønica w†budowie dotyczy
natomiast elektrody ujemnej. W†ogniwach Ni-Cd substancje aktywne (kadm i†jego zwi¹zki) maj¹ postaÊ pasty zaprasowanej na perforowanym metalowym noúniku. Natomiast w†ogniwach Ni-MH elektrodÍ ujemn¹ tworzy stop metali charakteryzuj¹cy siÍ wysok¹ zdolnoúci¹ absorbcji wodoru. Sk³ad stopu zosta³ tak dobrany, aby proces wi¹zania wodoru by³ neutralny energetycznie (tzn. ani endo- ani egzotermiczny) i†zachodzi³ samoistnie w†temperaturze pokojowej. Obecnie s¹ najczÍúciej stosuje siÍ stopy niklu z†rzadkimi metalami z†grupy lantanowcÛw (np. LaNi5). Z punktu widzenia elektrochemii, w†ca³kowicie roz³adowanym ogniwie elektroda dodatnia sk³ada siÍ z†wodorotlenku niklawego - Ni(OH) 2 zawieraj¹cego nikiel w†stopniu utlenienia Ni2+. Natomiast elektrodÍ ujemn¹ tworz¹: - w ogniwie Ni-Cd: wodorotlenek kadmowy Cd(OH)2, - w ogniwie Ni-MH: stop metali - niewysycony wodorem. Podczas ³adowania, na elektrodzie dodatniej wodorotlenek niklawy Ni(OH)2 przechodzi w†tlenowodorotlenek niklowy NiO(OH) co odpowiada utlenieniu niklu ze stopnia Ni 2+ do Ni 3+. Natomiast na elektrodzie ujemnej: - Ni-Cd: wodorotlenek kadmowy Cd(OH)2 ulega redukcji do metalicznego kadmu (redukcja Cd 2+ do Cd0) - Ni-MH: wydzielaj¹cy siÍ gazowy wodÛr jest poch³aniany przez materia³ elektrody tworz¹c wodorki metali.
£adowanie i†roz³adowanie £adowanie nie moøe jednak trwaÊ w†nieskoÒczonoúÊ. W†pewnym momencie nastÍpuje wyczerpanie materia³Ûw aktywnych z†elektrod. Utrzymywanie dalszego przep³ywu pr¹du powoduje juø tylko elektrolizÍ wody z†wydziele-
81
S P R Z Ę T
Rys. 1. Szybki wzrost temperatury ogniwa wynika z faktu, że moc ab− sorbowana w ogniwie zaczyna być w całości zamieniana na ciepło niem gazowego tlenu i†wodoru a†w†konsekwencji wzrost ciúnienia wewnÍtrznego. Øeby unikn¹Ê deformacji lub rozerwania obudowy stosuje siÍ zawory wentylacyjne otwieraj¹ce siÍ przy za³oøonym nadciúnieniu. Niestety utrata wody z†elektrolitu jest nieodwracalna, dlatego teø prze³adowywanie powoduje szybk¹ degradacjÍ akumulatora. Podobnie szkodliwe jest g³Íbokie roz³adowanie, aø do odwrÛcenia polaryzacji ogniwa. Sugestie producentÛw rÛøni¹ siÍ jednak pod tym wzglÍdem dosyÊ istotnie. WiÍkszoúÊ z†nich kategorycznie zaleca unikanie inwersji, aczkolwiek np. firma Energizer w†odniesieniu do jednej z†serii akumulatorÛw Ni-Cd dopuszcza odwrotne prze³adowanie ³adunkiem siÍgaj¹cym aø 50% pojemnoúci znamionowej. OgÛlnie jednak odwrÛcenie polaryzacji naleøy uznaÊ za zjawisko niepoø¹dane, prowadz¹ce potencjalnie do nieodwracalnych uszkodzeÒ. ZwrÛÊmy uwagÍ, øe inwersja moøe nast¹piÊ rÛwnieø w†sposÛb ca³kowicie niezamierzony. Ogniwa po³¹czone szeregowo w†jednej baterii zawsze rÛøni¹ siÍ rzeczywist¹ pojemnoúci¹. W†czasie g³Íbokiego roz³adowania najs³absze z†nich zostan¹ ca³kowicie roz³adowane a†nastÍpnie ìna si³Íî odwrÛcone przez pozosta³e ogniwa z†pakietu. Dlatego zaleca siÍ unikanie roz³adowania baterii N ogniw poniøej napiÍcia koÒcowego wynosz¹cego (wed³ug zaleceÒ firmy Panasonic): N=1...6 N x 1,0 [V] N=7...20 (N-1) x 1,2 [V] £adunek zgromadzony w†ogniwie roz³adowanym do poziomu 1,0 V ma juø wartoúÊ szcz¹tkow¹ i†w†praktyce moøe byÊ pominiÍty. WspÛln¹ wad¹ cechuj¹c¹ oba rodzaje ogniw jest stosunkowo duøy wspÛ³czynnik samoroz³adowania wynosz¹cy ok. 1%/dobÍ w†ogniwach Ni-Cd i†ok. 1,5%/dobÍ w†ogniwach Ni-MH. Ponadto wspÛ³czynnik samoroz³adowania wzrasta wraz z†temperatur¹. RÛwnieø
82
w†tym przypadku dane podawane przez rÛønych producentÛw rÛøni¹ siÍ dosyÊ istotnie. W†praktyce inøynierskiej moøna jednak za³oøyÊ, øe po trzech miesi¹cach przechowywania z†akumulatora uda siÍ odzyskaÊ nie wiÍcej niø 50% pierwotnej energii. Z ogniwami Ni-Cd wi¹øe siÍ legendarne pojÍcie ìefektu pamiÍciowegoî. Polega on na utracie pojemnoúci w†wyniku niepoø¹danej rekrystalizacji kadmu na elektrodzie ujemnej. Akumulator eksploatowany powtarzalnie w†niepe³nych cyklach ìprzyzwyczajaî siÍ do wykorzystywanego zakresu pojemnoúci. Zjawisko to jest w†duøym stopniu odwracalne i†ustÍpuje po kilkakrotnym wykonaniu pe³nego cyklu roboczego. Z†natury rzeczy efekt pamiÍciowy nie moøe zaistnieÊ w†ogniwach Ni-MH. Natomiast wspÛlne dla obu typÛw jest inne zjawisko zwane efektem leniwej baterii (voltage depression). Polega ono, na niewielkim obniøeniu napiÍcia przy niezmienionej pojemnoúci ogniwa. Spadek ten wynosi przeciÍtnie zaledwie kilkadziesi¹t mV jednak, wobec stosunkowo p³askiej charakterystyki roz³adowania, jest przez uk³ady kontroli napiÍcia interpretowany jako przedwczesne roz³adowanie - mimo, øe nie zosta³a jeszcze wykorzystana ca³a dostÍpna pojemnoúÊ. Okresowe wykonanie pe³nego cyklu roz³adowania/³adowania ma za zadanie ìrozruszanieî akumulatora i†(przynajmniej czÍúciowe) przywrÛcenie jego pierwotnych parametrÛw. WraøliwoúÊ na prze³adowanie udaje siÍ ograniczyÊ dziÍki specjalnej konstrukcji akumulatora. OtÛø elektroda ujemna jest zawsze nieco przewymiarowana wzglÍdem elektrody dodatniej. DziÍki temu, w†momencie wyczerpania pojemnoúci elektrody niklowej, gdy zaczyna siÍ wydzielaÊ na niej gazowy tlen, elektroda ujemna dysponuje jeszcze pewn¹ rezerw¹ pojemnoúci. Wydzielony tlen dyfunduje w†kierunku elektrody ujemnej gdzie zostaje zneutralizowany. Mechanizm ten skutecznie zapobiega uszkodzeniu akumulatora, jednakøe tylko przy prze³adowywaniu niewielkim pr¹dem - co najwyøej 0,1C w†ogniwach Ni-Cd a†nawet 0,05C w†Ni-MH. Wed³ug zapewnieÒ jednego z†producentÛw w†ogniwach testowych Ni-Cd ³adowanych pr¹dem 0,1C jeszcze po dwÛch latach nie stwierdzono istotnych uszkodzeÒ. Jednak, przy wiÍkszych pr¹dach ³adowania, resorbcja tlenu zachodzi ze zbyt ma³¹ wydajnoúci¹ aby zapewniÊ jego 100% neutralizacjÍ. St¹d nasuwa siÍ wniosek, øe naleøy ci¹gle kontrolowaÊ stan ogniwa, tym precyzyjniej im szybciej
odbywa siÍ ³adowanie, po czym przerywaÊ je natychmiast po wyst¹pieniu pierwszych oznak prze³adowania. Niestety w†praktyce rozpoznanie stanu na³adowania okazuje siÍ byÊ dosyÊ trudne. W†odrÛønieniu od ogniw innych rodzajÛw, bezwzglÍdne napiÍcie panuj¹ce na zaciskach akumulatora Ni-Cd lub Ni-MH nie niesie jednoznacznej informacji o†stanie na³adowania. Dlatego, zaleønie od przyjÍtego trybu, zazwyczaj korzysta z†jednej lub kilku nastÍpuj¹cych przes³anek: - Up³yw za³oøonego z†gÛry czasu ³adowania. - Szybki wzrost temperatury ogniwa wynikaj¹cy z†faktu, øe moc dotychczas absorbowana w†ogniwie zaczyna byÊ w†ca³oúci zamieniana na ciep³o (rys. 1). Uk³ady kontroli ³adowania wyznaczaj¹ szybkoúÊ narastania temperatury (dT/dt) przerywaj¹c ³adowanie po osi¹gniÍciu wartoúci progowej (rzÍdu 1...2 o C/min). Jednoczeúnie, w†wielu pakietach akumulatorowych montuje siÍ bezpieczniki termiczne maj¹ce zapewniÊ dodatkow¹ ochronÍ w†razie przegrzania podczas ³adowania lub w†wyniku zwarcia. - NapiÍcie ³adowania. Podczas ³adowania nastÍpuje stopniowy, nieliniowy wzrost napiÍcia ogniw (rys. 2). Z†chwil¹ osi¹gniÍcia stanu na³adowania pochodna dV/dt zmienia znak, po czym nastÍpuje niewielki spadek napiÍcia (15...20 mV/ogniwo w†Ni-Cd, 5...10 mV/ogniwo w†NiMH). Jako kryterium przyjmuje siÍ (w kolejnoúci wystÍpowania): szybki wzrost nachylenia krzywej napiÍcia (metoda d2V/dt 2), zmianÍ znaku pochodnej (metoda dV/dt) lub - z†pewnym opÛünieniem - wykrycie spadku napiÍcia w†wyniku prze³adowania (-∆V). Jako dodatkowe zabezpieczenie wykrywa siÍ przekroczenie napiÍcia 1,8 V/ogniwo úwiadcz¹ce o†wyst¹pieniu uszkodzenia (rys. 3). Zjawiska zwi¹zane ze zmian¹ temperatury i†napiÍcia wystÍpuj¹ w†obu typach akumulatorÛw. ZwrÛÊmy jednak uwagÍ, øe ich wyrazistoúÊ zaleøy od
Rys. 2. Podczas ładowania następu− je stopniowy, nieliniowy wzrost na− pięcia poszczególnych ogniw
Elektronika Praktyczna 4/2003
S P R Z Ę T
Rys. 3. Punkty charakterystyczne na krzywej ładowania Ni−Cd i Ni−MH szybkoúci ³adowania. £adowanie zbyt ma³ym pr¹dem (poniøej 0,5C) moøe zak³ÛciÊ dzia³anie uk³adÛw nadzoruj¹cych a†w†konsekwencji nadmiernie wyd³uøyÊ czas trwania procesu i†spowodowaÊ zniszczenie ogniw. Dlatego w†kaødym przypadku powinno siÍ stosowaÊ dodatkowe zabezpieczenia w†postaci kontroli temperatury, napiÍcia i†ograniczenia maksymalnego czasu ³adowania. £adowanie akumulatorÛw niklowowodorkowych (w odrÛønieniu od niklowo-kadmowych) jest procesem egzotermicznym, co powoduje stopniowy wzrost temperatury juø od pocz¹tku ³adowania i†maskuje interesuj¹cy nas przyrost koÒcowy. Jednoczeúnie mniejsza wartoúÊ koÒcowego spadku napiÍcia (-∆V) sprawia, øe podjÍcie decyzji o†zakoÒczeniu ³adowania Ni-MH jest znacznie trudniejsze niø w†przypadku akumulatorÛw niklowo-kadmowych.
Zalecane tryby ³adowania Znaj¹c metody kontroli stanu ogniwa moøemy przejúÊ do zalecanych trybÛw ³adowania. Akumulatory Ni-Cd - £adowanie standardowe (standard charge) - sta³ym pr¹dem o†wartoúci 0,1C w†czasie 14 h. Nawet bior¹c pod uwagÍ ograniczon¹ sprawnoúÊ procesu ³adowania, a†takøe nie znaj¹c pocz¹tkowego stanu ogniwa moøemy mieÊ pewnoúÊ øe zostanie ono ca³kowicie na³adowane. Z†drugiej strony, prze³adowanie pr¹dem 0,1C nie grozi uszkodzeniem, dlatego wystarczaj¹cym kryterium zakoÒczenia jest up³yw zadanego czasu. - £adowanie szybkie (fast charge) sta³ym pr¹dem w†zakresie od 0,5C do 1C (w czasie ok. 2...1 h). Jako kryteria zakoÒczenia ³adowania najczÍúciej stosuje siÍ warunek -∆V (powoduje prze³adowanie w†granicach 10...20% pojemnoúci znamionowej) lub korzystniejszy z†punktu widze-
Elektronika Praktyczna 4/2003
nia trwa³oúci, ale trudniejszy w†realizacji warunek dT/dt (prze³adowanie w†granicach 0...10%). - D³ugotrwa³e ³adowanie konserwuj¹ce (trickle charge). Ma za zadanie m.in. uzupe³nianie utraty ³adunku wynikaj¹cej z†samoroz³adowania. W†zaleønoúci od rodzaju urz¹dzenia stosuje siÍ pr¹d ³adowania w†zakresie 0,02...0,05C.
Akumulatory Ni-MH
firma Energizer proponuje ³adowanie trÛjstopniowe: 1) szybkie - pr¹dem 1C do momentu spe³nienia warunku dT/dt lub -∆V, 2) uzupe³niaj¹ce, pr¹dem 0,025C przez za³oøony czas (2...3 h), 3) konserwuj¹ce, pr¹dem o†bardzo niewielkiej wartoúci (<0,01C). Z drugiej strony firma Panasonic ostrzega przed nadmiernym (powyøej 10...20h) przed³uøaniem ³adowania konserwuj¹cego, zalecaj¹c jedynie okresowe do³adowywanie ogniw (0,1C przez 16 h) po stwierdzeniu spadku napiÍcia poniøej progu 1.3V. Z†kolei GP Batteries w†karcie katalogowej jednego z†akumulatorÛw Ni-MH (AA, 1500 mAh) informuje, øe d³ugotrwa³e prze³adowanie pr¹dem 0,1C nie powoduje uszkodzeÒ. Jak widaÊ z†powyøszego ³adowanie akumulatorÛw Ni-Cd, a†tym bardziej NiMH jest procesem z³oøonym i†trudnym w†realizacji bez uøycia specjalizowanych uk³adÛw. SpoúrÛd ca³ej gamy oferowanych scalonych kontrolerÛw ³adowania wymieniÍ jedynie kilka typÛw dosyÊ popularnych, a†jednoczeúnie dobrze ilustruj¹cych powyøszy opis: - U2400B (Temic) - stosuje prost¹ metodÍ ³adowania polegaj¹c¹ na ³adowaniu sta³ym pr¹dem, przez, z†gÛry za³oøony, sta³y czas (12h, 1h, 0,5h). W†celu unormowania stanu ogniwa mog¹ zostaÊ wstÍpne roz³adowanie. NadzÛr akumulatora obejmuje jedynie wykrywanie przekroczenia dopuszczalnego napiÍcia i†dopuszczalnej temperatury. Po zakoÒczeniu ³adowania nastÍpuje przejúcie do trybu konserwuj¹cego. - U2402B (Temic) - zaawansowany uk³ad kontrolera ³adowania Ni-Cd
O ile zalecenia dotycz¹ce ogniw NiCd s¹ raczej zbieøne, to szczegÛ³owe opisy ³adowania ogniw Ni-MH rÛøni¹ siÍ znacznie w†zaleønoúci od producenta. Dlatego nastÍpuj¹cy opis jest jedynie wypadkow¹ zaleceÒ pochodz¹cych z†rÛønych ürÛde³: - £adowanie szybkie (fast charge) pr¹dem z†zakresu 0,5...1C. Ze wspomnianych wyøej powodÛw zaleca siÍ nie przekraczanie tych granic (rÛwnieø w†dÛ³!). Jeøeli temperatura ogniwa wykracza poza zakres 0...40oC naleøy zrezygnowaÊ w†trybu szybkiego. £adowanie koÒczy siÍ po spe³nieniu ktÛregokolwiek z†warunkÛw: przekroczeniu napiÍcia 1,8†V/ogniwo, spadku napiÍcia (-∆V) o†wartoúci 5...10 mV/ogniwo, wzrostu temperatury w†tempie 0,8...2 o C/min, przekroczenia dopuszczalnej temperatury (45...50 o C) lub przekroczenia maxksymalnego czasu ³adowania (np. 90 minut w†trybie 1C). - £adowanie konserwuj¹ce (trickle charge) pr¹dem 0,033...0,05C. Wspomniane zrÛønicowanie moøe to úwiadczyÊ o†ci¹g³ym rozwoju technologii i†umiejÍtnym podkreúlaniu zalet w³asnych o- Rys. 4. Przykładowy schemat automatycznej pracowaÒ. Przyk³adowo, ładowarki akumulatorów Ni−Cd i NiMH
83
S P R Z Ę T i†Ni-MH wykorzystuj¹cy metody d2V/dt 2 oraz -∆V. Dodatkowo nadzorowi podlega czas ³adowania i†maksymalna temperatura ogniwa. Po spe³nieniu pierwszego warunku pierwotny pr¹d ³adowania zostaje ograniczony do 1/4, po czym nastÍpuje spokojne do³adowanie ogniwa, aø do osi¹gniÍcia drugiego z†warunkÛw (lub ograniczenia czasowego). - MAX712/MAX713 (Maxim - rys. 4) - podobny do poprzedniego uk³ad kontrolera Ni-Cd i†Ni-MH monitoruj¹cy wartoúÊ dV/dt. ZakoÒczenie ³adowania nastÍpuje po osi¹gniÍciu zadanego nachylenia krzywej U(t), przekroczeniu temperatury lub dopuszczalnego czasu procesu. - LM3647 (National Semiconductors) uniwersalna ³adowarka akumulatorÛw Ni-Cd, Ni-MH oraz Li-Ion. Jako kryterium zakoÒczenia ³adowania wykorzystuje metodÍ -∆V oraz opcjonalnie - nachylenie charakterystyki temperaturowej dT/dt.
oferuj¹ wiÍksz¹ pojemnoúÊ jednostkow¹, nie zawieraj¹ toksycznego kadmu i†skutecznie wypieraj¹ poprzednikÛw z†rynku. OtÛø jak dotychczas, jedynie ogniwa Ni-Cd toleruj¹ ekstremalne warunki eksploatacji. Standardowe wykonania akumulatorÛw Ni-Cd podobnie jak Ni-MH pozwalaj¹ na pracÍ z†obci¹øeniem siÍgaj¹cym 3C. Natomiast Ni-Cd w†wykonaniach specjalnych, uøywanych np. do zasilania napÍdu modeli lataj¹cych, dopuszczaj¹ ³adowanie 15-minutowe pr¹dem 4C i†roz³adowanie w†ci¹gu pojedynczych minut pr¹dami znacznie przekraczaj¹cymi 10C. Dla przyk³adu - oferowane przez GP ogniwa 130SCK (1300 mAh) i†200SCK (2000 mAh) o†rozmiarze SC (nieznacznie mniejsze od rozmiaru C odpowiadaj¹cego R14) pozwalaj¹ na roz³adowanie pr¹dem ci¹g³ym o†natÍøeniu 29 A†i chwilowym siÍgaj¹cym 58 A†(sic!). Marek Dzwonnik, AVT [email protected]
Podsumowanie
Reklama czo³owego producenta akumulatorÛw i ogniw zasilaj¹cych firmy GP Batteries - znajduje siÍ na stronie 74.
Moøna zadaÊ pytanie dlaczego poúwiÍcam tyle uwagi akumulatorom Ni-Cd? Zw³aszcza, øe ogniwa Ni-MH
84
Odnoœniki Na zakończenie przytoczę garść odnośników do najciekawszych materiałów internetowych zawierających informacje na poruszone tematy: Ogólne ✦ http://www.batteryuniversity.com Ni−Cd/Ni−MH ✦ http://www.panasonic.com/industrial/battery/ oem/chem/niccad/index.html ✦ http://data.energizer.com/batteryinfo/ application_manuals/nickel_cadmium.htm ✦ http://www.panasonic.com/industrial/battery/ oem/chem/nicmet/index.html ✦ http://data.energizer.com/batteryinfo/ application_manuals/nickel_metal_hydride.htm Lead−Acid ✦ http://www.emu.com.pl/infosla.html ✦ http://www.mkbattery.com/pdf/GelBattery− Charging.pdf ✦ http://www.mkbattery.com/pdf/AGMBattery− Charging.pdf RAM ✦ http://www.rayovac.com/busoem/oem/specs/ ren7.shtml ✦ http://web.tin.it/rms_international/guide− page.html Li−Ion/Li−Po ✦ http://www.panasonic.com/industrial/battery/ oem/images/pdf/Panasonic_LiIon_− Overview.pdf ✦ http://www.batteryuniversity.com/partone− 12.htm ✦ http://www.ulbi.com/whitepapers/UBI− 5112_Li−ion_Li−Poly_Precautions.pdf
Elektronika Praktyczna 4/2003
K U R S
Podstawy projektowania systemów mikroprocesorowych, część 2 W†drugiej czÍúci artyku³u przedstawiamy zagadnienia zwi¹zane z†zerowaniem oraz taktowaniem mikrokontrolerÛw. Zagadnienia te, doúÊ czÍsto lekcewaøone, maj¹ ogromny wp³yw na jakoúÊ dzia³ania wszelkich urz¹dzeÒ cyfrowych.
3, 2, 1, start! Zerowanie mikrokontrolera W†kaødym systemie wykorzystuj¹cym mikrokontroler musi istnieÊ uk³ad zapewniaj¹cy generacjÍ sygna³u zeruj¹cego. W†wyniku zerowania (RESET) wszystkie linie portÛw mikrokontrolera przyjmuj¹ stan 1, licznik rozkazÛw przyjmuje wartoúÊ 0000h, rejestry SFR przyjmuj¹ odpowiednie dla siebie wartoúci pocz¹tkowe. Minimalna d³ugoúÊ trwania sygna³u RESET wynosi 2†cykle maszynowe (24 takty zegara), zak³adaj¹c, øe uk³ad jest zasilany i†pracuje generator sygna³u zegarowego. Jeúli zerowanie nastÍpuje przy w³¹czeniu napiÍcia zasilania (lub jako wyjúcie ze stanu Power Down), to trzeba uwzglÍdniÊ czas potrzebny na osi¹gniecie przez napiÍcie zasilania wartoúci nominalnej oraz czas wzbudzenia siÍ generatora sygna³u zegarowego - bezpieczny czas trwania impulsu RESET wynosi minimum 10 ms. Omawiane mikrokontrolery firmy Atmel wymagaj¹ podania na wejúcie RST stanu 1†w†celu wykonania operacji zerowania. Wejúcie zerowania mikrokontrolerÛw '51 jest wejúciem Schmitta, pozwala to na zastosowanie najprostszych uk³adÛw zerowania w†postaci obwodu RC (rys. 2†i†3, EP3/2003). Moøliwe jest wykorzystanie samego kondensatora, poniewaø mikrokontrolery Atmel posiadaj¹ wbudowany rezystor o†wartoúci z†przedzia³u
Rys. 4
Elektronika Praktyczna 4/2003
20...300 kΩ zwieraj¹cy wyprowadzenie RST do masy. Duøy rozrzut wartoúci tego rezystora nie pozwala na odpowiednie dobranie czasu zerowania - kondensator zalecany przez producenta w†takim uk³adzie pracy powinien mieÊ wartoúÊ 2,2 µF. CzÍsto wykorzystywan¹ par¹ elementÛw stanowi¹c¹ uk³ad zerowania jest kondensator 10 µF i†rezystor 10 kΩ - wartoúci te zapewniaj¹ czasy zerowania w†granicach 50...70 ms (z uwzglÍdnieniem wp³ywu wewnÍtrznego rezystora), co z†odpowiednim zapasem spe³nia warunek prawid³owego sygna³u RESET. Czasami zachodzi potrzeba rÍcznego zerowania mikrokontrolera. Do tego celu wykorzystuje siÍ uk³ad zwieraj¹cy kondensator obwodu zerowania w†celu ponownego wprowadzenia stanu wysokiego na wyprowadzenie RST. Moøe to byÊ wykonane zarÛwno przy pomocy przycisku, styku przekaünika, jak i†przy pomocy elementu elektronicznego - tranzystora. Nie zaleca siÍ zerowania przez do³¹czenie do wyprowadzenia RST razem z†obwodem RC wyjúcia bramki uk³adu cyfrowego CMOS czy TTL, a†to ze wzglÍdu na znaczny pr¹d roz³adowania kondensatora - do³¹czona bramka nie ulegnie uszkodzeniu, jednak krÛtki impuls cyfrowy moøe nie daÊ rady roz³adowaÊ kondensatora z†powodu ograniczonej wydajnoúci pr¹dowej bramki. Jeøeli chcemy zastosowaÊ taki obwÛd, musimy zapewniÊ zerowanie przy w³¹czeniu zasilania zrealizowane po stronie wejúÊ dodatkowego uk³adu cyfrowego (rys. 4). WÛwczas wystarczy zewnÍtrzny impuls zeruj¹cy o†wydajnoúci zwyk³ej bramki cyfrowej - lecz musi on trwaÊ minimum 2 cykle maszynowe. W†przedstawionym uk³adzie stanem aktywnym zewnÍtrznego impulsu RESET jest stan niski. W†celu zapewnienia zerowania po w³¹czeniu zasilania zastosowano podobny do standardowego obwÛd RC, lecz zamieniaj¹c miejscami elementy i uwzglÍdniaj¹c w†ten sposÛb negacjÍ wprowadzan¹ przez bramkÍ NAND. Z†powodu ma³ej szybkoúci narastania napiÍcia na kondensatorze konieczne jest zastosowanie bramki z†wejúciem Schmitta. Warto wspomnieÊ, øe istnieje wiele uk³adÛw zerowania zbudowanych w†postaci scalonej. Uk³ady te monitoruj¹ na-
piÍcia zasilania i†w†razie potrzeby generuj¹ sygna³ zeruj¹cy o†odpowiednich parametrach (np. DS1812, MAX810 i†inne). Schemat aplikacyjny uk³adu DS1812 pokazano na rys. 5. W†uk³adach pracuj¹cych z†podtrzymaniem bateryjnym lub spe³niaj¹cych odpowiedzialne funkcje czÍsto stosuje siÍ uk³ady nadzoruj¹ce watchdog. S¹ to zazwyczaj odpowiednio zbudowane liczniki, ktÛre musz¹ byÊ cyklicznie zerowane przez odpowiednie rozkazy programowe zaniechanie zerowania przez d³uøszy okres (np. w†wyniku zawieszenia siÍ procesora) powoduje wygenerowanie sygna³u zeruj¹cego (RESET). ChoÊ uk³ady takie wbudowane s¹ w†bardziej rozbudowane uk³ady rodziny '51, to jednak ìatmelowskieî wersje mikrokontrolerÛw '51 ich nie posiadaj¹. Na szczÍúcie moøna zbudowaÊ taki system, wykorzystuj¹c popularne uk³ady cyfrowe. Podobnie jak w†przypadku zerowania, takøe tutaj moøna zastosowaÊ jakiú specjalizowany uk³ad scalony, najtaniej jednak jest uøyÊ podzespo³Ûw powszechnie dostÍpnych i†tanich. Na rys. 6 przedstawiony zosta³ uk³ad zeruj¹cy wzbogacony o†licznik realizuj¹cy funkcjÍ watchdog. Wykorzystano tutaj popularny i†niedrogi uk³ad czasowy CMOS 4541, tranzystor PNP i†kilka elementÛw R†i†C. Elementy R3, R4 i†C2 stanowi¹ obwÛd wyznaczaj¹cy czÍstotliwoúÊ pracy wewnÍtrznego generatora. Wytwarzane przez niego impulsy s¹ zliczane w†liczniku, a†przepe³nienie licznika powoduje ustawienie wyjúcia Q w†stan niski, co spowoduje wyzerowanie procesora. StopieÒ licznika okreúlony jest przez po³¹czenie wyprowadzeÒ A†i†B. Dla uk³adu przedstawionego na rysunku niezerowany licznik przepe³ni siÍ po czasie oko³o 0,5 sekundy. Wejúcie zerowania licznika watchdog sterowane jest z†wy-
Rys. 5
85
K U R S W†przypadku urz¹dzenia zawieraj¹cego uk³ady wspÛ³pracuj¹ce wymagaj¹ce zerowania wraz z†mikrokontrolerem, sygna³ zeruj¹cy moøna uzyskaÊ z†sygna³u zeruj¹cego mikrokontroler. Najproúciej jest to zrealizowaÊ w†przypadku uk³adu zerowania przedstawionego na rys. 4†wystarcza wÛwczas bezpoúrednie po³¹czenie koÒcÛwek RESET wszystkich uk³adÛw z†koÒcÛwk¹ RST mikrokontrolera (lub poprzez negator, jeøeli wspÛ³pracuj¹ce uk³ady s¹ zerowane zerem logicznym). W†pozosta³ych przypadkach naleøy zastosowaÊ bufor (lub jeøeli potrzeba negator) z†wejúciem Schmitta pozwalaj¹cy na sterowanie wolnozmiennym przebiegiem ³adowania kondensatora. Jeøeli potrzebne jest zerowanie niezaleøne od wewnÍtrznego zerowania mikrokontrolera, to naleøy jako ürÛd³o sygna³u zeruj¹cego wykorzystaÊ jedn¹ z†linii portÛw i†do niej do³¹czyÊ wyprowadzenia RESET wspÛ³pracuj¹cych uk³adÛw. Jeøeli aktywnym stanem wyprowadzeÒ RESET bÍdzie stan wysoki, to uk³ady zewnÍtrzne zostan¹ wyzerowane rÛwnieø podczas zerowania mikrokontrolera - wszystkie linie portÛw ustawiane s¹ wtedy w†stan 1.
Rys. 6 prowadzenia P3.5 za poúrednictwem uk³adu rÛøniczkuj¹cego - uk³ad zerowany jest przy narastaj¹cym zboczu sygna³u na P3.5. B³Ídem by³oby bezpoúrednie po³¹czenie wyprowadzenia zeruj¹cego uk³adu watchdog i†wyprowadzenia procesora, poniewaø uk³ad nie zadzia³a³by w†przypadku zawieszenia siÍ programu, gdy na P3.5 by³by stan wysoki (watchdog by³by ca³y czas zerowany). Obs³uga programowa uk³adu nadzoruj¹cego watchdog polega na cyklicznym (czÍúciej niø raz na 0,5 sekundy dla opisanego uk³adu) generowaniu zbocza narastaj¹cego (impulsÛw), powoduj¹cego wyzerowanie licznika. B³Ídem jest uøycie do tego celu podprogramu obs³ugi przerwania, gdyø mimo zawieszenia siÍ programu g³Ûwnego przerwania mog¹ nadal funkcjonowaÊ w†pe³ni sprawnie. Najlepiej jest umieúciÊ rozkaz negacji wyprowadzenia (lub rozkazy ustawiania i†zerowania) w†pÍtli g³Ûwnej programu oraz w†wywo³ywanych procedurach, jeúli mog¹ one realizowaÊ siÍ d³uøej niø czas potrzebny na przepe³nienie licznika watchdog. Przyk³adowy program mÛg³by wygl¹daÊ tak: PETLA_GLOWNA: ;(rozkazy w pętli głównej) LCALL FUNKCJA1 ;wywołanie procedury “szybkiej” ;(rozkazy w pętli głównej) LCALL FUNKCJA2 ;wywołanie procedury “szybkiej” CPL P3.5 ;negacja wyprowadzenia ;sygnału zerującego ;układ watchdog ;(rozkazy w pętli głównej) LCALL FUNKCJA3 ;wywołanie procedury “wolnej” LJMP PETLA_GLOWNA ;skok do początku pętli głównej
86
Podprogram FUNKCJA3 naleøy zrealizowaÊ tak: FUNKCJA3: ;(rozkazy danej funkcji) PETLA: SETB P3.5 ;ustawienie linii zerującej ;(rozkazy w pętli) CLR P3.5 ;wyzerowanie linii zerującej CJNE A,#25,PETLA ;przykładowy warunek wykonywania ;pętli ;(rozkazy danej funkcji) RET ;powrót do programu głównego Naleøy pamiÍtaÊ takøe o†tym, øe przedstawiony uk³ad watchdog rozpoczyna pracÍ po w³¹czeniu zasilania, wiÍc rozkaz zerowania powinien byÊ umieszczony takøe w†czÍúci inicjuj¹cej procesor (rejestry, timery, itp.), szczegÛlnie gdy procedury inicjuj¹ce s¹ czasoch³onne, np. zerowanie ca³ej pamiÍci danych, odczyty nastaw z†pamiÍci zewnÍtrznej lub inicjalizacja wolnych uk³adÛw do³¹czonych do procesora. Jeøeli okaøe siÍ, øe podprogram inicjuj¹cy ìnie wyrobi siÍî w†czasie potrzebnym na przepe³nienie licznika watchdog, mikrokontroler bÍdzie cyklicznie zerowany i†program g³Ûwny ìnie ruszyî. Przy projektowaniu urz¹dzenia nie naleøy zapominaÊ, øe uk³ady zeruj¹ce i†watchdoga powinny pracowaÊ wtedy, gdy pracuje mikrokontroler, wiÍc jeúli korzystamy z†obwodu zasilania awaryjnego, te uk³ady musz¹ byÊ zasilane rÛwnieø z†uk³adu podtrzymania napiÍcia zasilaj¹cego. W†przeciwnym razie, w†przypadku zaniku g³Ûwnego napiÍcia zasilaj¹cego, mikrokontroler zostanie zablokowany przez stale podawany sygna³ RESET lub zostanie pozbawiony nadzoru sprawowanego przez uk³ad watchdoga.
Elektroniczny Tam-Tam, czyli taktowanie mikrokontrolera Kaødy synchroniczny uk³ad cyfrowy, a†takim uk³adem jest teø mikrokontroler, potrzebuje do pracy sygna³u taktuj¹cego (zegarowego) w†celu synchronizacji przep³ywu informacji miÍdzy poszczegÛlnymi blokami. Sygna³ zegarowy wyznacza rÛwnieø szybkoúÊ pracy mikrokontrolera. W†wiÍkszoúci mikrokontrolerÛw rodziny '51 cykl maszynowy trwa 12 cykli zegarowych, czyli rozkazy (te trwaj¹ce jeden cykl maszynowy) s¹ wykonywane z†czÍstotliwoúci¹ rÛwn¹ 1/12 czÍstotliwoúci generatora sygna³u zegarowego. Taktowanie omawianych mikrokontrolerÛw jest bardzo ³atwe - wystarcza pod³¹czenie do wyprowadzeÒ XTAL1 i†XTAL2 rezonatora kwarcowego lub ceramicznego i†dwÛch kondensatorÛw (rys. 7). W†przypadku rezonatorÛw kwarcowych producent zaleca do³¹czenie kondensatorÛw o†pojemnoúci 20 do 40 pF, dla rezonatorÛw ceramicznych - 30...50 pF. Czasami zdarza siÍ jednak, øe generator nie chce siÍ wzbudziÊ - zw³aszcza dla kwarcÛw o†niskich czÍstotliwoúciach (np. popularny ìzegarkowyî 32768 Hz) - najczÍúciej pomaga wtedy zwiÍkszenie pojemnoúci wspÛ³pracuj¹cych kondensatorÛw (do np. 470 pF dla kwarcÛw ìzegarkowychî) lub obniøenie (!) napiÍcia zasilania (co spraw-
Rys. 7
Elektronika Praktyczna 4/2003
K U R S
Rys. 8 dzono w†praktyce). ZwiÍkszanie pojemnoúci pomaga rÛwnieø wtedy, gdy rezonator wzbudzi siÍ na czÍstotliwoúci owertonowej. CzÍstotliwoúÊ taktowania dla najszybszych wersji AT89Cx051 i†AT89C51 i†52 moøe przyjmowaÊ wartoúci od 0†do 24 MHz. Projektuj¹c uk³ad mikroprocesorowy czÍsto zaleøy nam na duøej dok³adnoúci czÍstotliwoúci sygna³u taktuj¹cego, ktÛry moøe byÊ wykorzystywany np. jako wzorzec czÍstotliwoúci do realizowanego na drodze programowej zegara czasu rzeczywistego. CzÍstotliwoúÊ wzbudzenia siÍ rezonatora moøe rÛøniÊ siÍ od czÍstotliwoúci znamionowej i†wtedy zrealizowany zegar bÍdzie ìspieszy³î lub ìspÛünia³î. W†przypadku niewielkich odchy³ek (np. dla zegara wynosz¹cych kilka-kilkanaúcie sekund na dobÍ) naleøy dokonaÊ korekty pojemnoúci uk³adu generatora zwiÍkszanie pojemnoúci zmniejsza czÍstotliwoúÊ (spowalnia zegar). Jeøeli odchy³ki s¹ wyøsze, to pomÛc moøe szeregowe w³¹czenie z†rezonatorem indukcyjnoúci (rzÍdu µH) lub pojemnoúci (kilka...kilkanaúcie pF). W³¹czenie pojemnoúci zwiÍksza czÍstotliwoúÊ, indukcyjnoúÊ czÍstotliwoúÊ zmniejsza. Dobrym pomys³em jest zastosowanie tutaj trymera lub cewki z†rdzeniem mog¹cym zmieniaÊ po³oøenie. Umoøliwi to naprawdÍ dok³adne ustawienie ø¹danej czÍstotliwoúci. MoøliwoúÊ bezpoúredniego pomiaru czÍstotliwoúci pracy wbudowanego generatora jest ograniczona ze wzglÍdu na od-
Elektronika Praktyczna 4/2003
strajaj¹ce dzia³anie pod³¹czanej sondy (najlepiej stosowaÊ sondy sprzÍgane bezpo³¹czeniowo lub sondy z†wysok¹ impedancj¹ wejúciow¹, ewentualnie stosowaÊ po³¹czenie za poúrednictwem kondensatora rzÍdu 1...2pF). W†przypadku stosowania ìduøychî Atmeli moøliwy jest pomiar czÍstotliwoúci wystÍpuj¹cej na wyprowadzeniu ALE. Jeøeli mikrokontroler nie wspÛ³pracuje z†zewnÍtrzn¹ pamiÍci¹ danych (program nie zawiera instrukcji MOVX), to czÍstotliwoúÊ na wyprowadzeniu ALE jest rÛwna dok³adnie 1/6 czÍstotliwoúci generatora zegarowego. Uk³ady rodziny '51 umoøliwiaj¹ rÛwnieø pracÍ z†zewnÍtrznym ürÛd³em sygna³u zegarowego (rys. 8). Mikrokontrolery Atmel wymagaj¹ w†takiej sytuacji pozostawienie niepod³¹czonego wyprowadzenia XTAL2, a†sygna³ zegarowy (sygna³ prostok¹tny o†poziomach odpowiadaj¹cych stanom 0†i†1) naleøy doprowadziÊ do wyprowadzenia XTAL1. Nie jest konieczne zachowanie wype³nienia impulsÛw na poziomie 50%. Moøliwe jest zatem zastosowanie scalonych generatorÛw oferuj¹cych duø¹ dok³adnoúÊ i†stabilnoúÊ czÍstotliwoúci, a†w†trakcie uruchamiania moøna wykorzystaÊ jako ürÛd³o sygna³u zegarowego generator funkcyjny z†wyjúciem TTL - p³ynna zmiana czÍstotliwoúci taktowania umoøliwia zwolnienie pracy mikrokontrolera praktycznie do jego zatrzymania, co pozwala na ³atw¹ weryfikacjÍ generowanych przez mikrokontroler przebiegÛw w†przypadku k³opotÛw z†uruchomieniem oprogramowania. DobÛr czÍstotliwoúci zegarowej moøna rozpatrywaÊ z†dwÛch punktÛw widzenia: jeøeli potrzebujemy duøej szybkoúci dzia³ania, to wybierzemy czÍstotliwoúÊ blisk¹ maksymalnej, jeøeli budujemy uk³ad energooszczÍdny, to zastosujemy kwarc ìzegarkowyî lub rezonator ceramiczny o†czÍstotliwoúci kilkuset kHz.
Zawsze naleøy pamiÍtaÊ o†tym, øe w†danej aplikacji moøemy potrzebowaÊ wykonywania jakiegoú podprogramu ze sta³¹ czÍstotliwoúci¹ - warto wiÍc dobieraÊ takie czÍstotliwoúci taktowania, ktÛre po podzieleniu przez liczbÍ ca³kowit¹ (najlepiej potÍgÍ dwÛjki) dadz¹ czÍstotliwoúÊ jak najbliøsz¹ tej potrzebnej. Dodatkowo naleøy zwrÛciÊ uwagÍ na fakt, øe czÍstotliwoúÊ zegarowa nie jest dostÍpna od strony programowej - program ìwidziî jedynie 1/12 tej czÍstotliwoúci, co naleøy uwzglÍdniÊ przy wyznaczaniu potrzebnej czÍstotliwoúci zegarowej. Naleøy rÛwnieø wspomnieÊ, øe uk³ad wbudowanego w†mikrokontroler generatora taktuj¹cego powoduje wzbudzenie siÍ kwarcu na jego czÍstotliwoúci podstawowej (choÊ niekiedy rezonatory wzbudzaj¹ siÍ na owertonie - zw³aszcza ceramiczne o†niewielkich czÍstotliwoúciach), wiÍc nie da siÍ bez dodatkowych obwodÛw taktowaÊ mikrokontrolera '51 (nawet jeúli jest to przewidziane przez producenta) z†czÍstotliwoúci¹ wiÍksz¹ niø 30 MHz (kwarce o†wyøszych czÍstotliwoúciach s¹ budowane niemal wy³¹cznie jako owertonowe). Jeøeli zastosujemy taktowanie zewnÍtrzne (np. przy pomocy scalonego generatora), to moøna zmusiÊ niektÛre egzemplarze 24 MHz uk³adÛw firmy Atmel, zarÛwno 20- jak i†40nÛøkowych, do pracy z†czÍstotliwoúci¹ przekraczaj¹c¹ 60 MHz! Obowi¹zuje tutaj podobna zasada jak przy overclockingu procesorÛw komputerÛw PC uk³ad moøe pracowaÊ niestabilnie przy tak duøych czÍstotliwoúciach. Jeøeli jednak z†powodu wymaganych przez program zaleønoúci czasowych potrzebujemy czÍstotliwoúci taktowania do kilku MHz wiÍkszej od maksymalnej czÍstotliwoúci pracy uk³adu, to zazwyczaj nie ma siÍ czego obawiaÊ i†úmia³o takie niewielkie przetaktowanie moøna stosowaÊ. Pawe³ Hadam
87
K U R S
W†drugiej czÍúci artyku³u przedstawiamy sposoby
część 11
obs³ugi klawiatur o†duøej liczbie przyciskÛw. Proponowane rozwi¹zania sprzÍtowe oraz opisywane procedury sprowadzono praktycznie, dziÍki czemu mog¹ byÊ bezproblemowo stosowane we w³asnych aplikacjach przez CzytelnikÛw EP.
Obsługa klawiatury w C, część 2 Klawiatura zbudowana z†5†przyciskÛw Najprostsz¹ klawiaturÍ moøna zbudowaÊ pod³¹czaj¹c klawisze w†taki sam sposÛb jak w†poprzednim przyk³adzie (rys. 3). PoszczegÛlnym klawiszom moøna nadaÊ funkcje adekwatne do potrzeb. W†prezentowanym przyk³adzie ponumerowa³em je od 1†do 5. Ty moøesz nazwaÊ klawisze na przyk³ad ìdodajî, ìwprowadüî, ìpomiarî i†temu podobne. Funkcje klawiszy powinny mieÊ rÛwnieø swoje odzwierciedlenie w†programie sugeruj¹c nazwy funkcji obs³ugi. W†poprzednich przyk³adach zajmowaliúmy siÍ szczegÛ³owo sposobem obs³ugi pojedynczego klawisza pod³¹czonego do mikrokontrolera. Poniewaø zasada dzia³ania nadal jest taka sama - nie ma wiÍkszych rÛønic zwi¹zanych z†odczytem stanu klawiszy. PrzytoczÍ wiÍc przyk³ad programu i†zajmÍ siÍ opisem innych rozwi¹zaÒ. Program ten, podobnie jak poprzednio, to przyk³ad pewnego rozwi¹zania. Jeúli bÍdzie to twoim øyczeniem, moøesz indywidualnie testowaÊ kaødy z†bitÛw portu a†nawet rÛønych portÛw. Wszystko zaleøy od sposobu po³¹czeÒ uøywanego przez Ciebie mikrokontrolera z†reszt¹ uk³adu. Z†doúwiadczenia wiem jednak, øe rozwi¹zania sprzÍtowe mocno wp³ywaj¹ na rozmiar programu. Staram siÍ wiÍc dobieraʆtakie rodzaje po³¹czeÒ, aby pisany program by³ jak najmniejszy i†aby warunki jego pracy by³y zoptymalizowane pod k¹tem szybkoúci wykonywania i†³atwoúci implementacji kodu.
Jak pod³¹czyÊ wiÍksz¹ liczbÍ przyciskÛw Do tego momentu stosowana przez nas liczba przyciskÛw by³a na tyle ma³a, øe nie przekracza³a liczby wolnych
Rys. 3. Jedna z najprostszych metod podłączenia 5 klawiszy do mikrokontrolera
88
linii wejúcia/wyjúcia mikrokontrolera. Co zrobiÊ, gdy istnieje potrzeba pod³¹czenia na przyk³ad 8†przyciskÛw, a†do dyspozycji jest tylko 6†wolnych linii I/O? Abstrahuj¹c od rozwi¹zaÒ wykorzystuj¹cych uk³ady transmisji szeregowej i†dodatkowe rejestry, przedyskutujmy kilka rozwi¹zaÒ.
Matryca klawiszy Matryca zbudowana z†pojedynczych przyciskÛw to jedno z†najprostszych rozwi¹zaÒ. Przyciski wÛwczas ³¹czy siÍ tak,
aby zwiera³y umowne wiersze z†umownymi kolumnami (rys. 4). W†prezentowanym przyk³adzie wiersze klawiatury s¹ do³¹czone do bitÛw 5, 6†i†7†portu P1, natomiast kolumny do bitÛw 2, 3†i†4†tego samego portu. CzÍsto budujÍ rÛwnieø uk³ady, w†ktÛrych klawiatura pod³¹czona jest jako zewnÍtrzna pamiÍÊ danych w†ten sam sposÛb z†t¹ rÛønic¹, øe kolumny stanowi¹ bity danych a†wiersze bity wybranych adresÛw (lub odwrotnie). LiczbÍ moøliwych do pod³¹czenia w†ten sposÛb†klawiszy wy-
List. 3. Program odczytuje stan klawiatury podłączonej do portu PortKey. Jest rozszerzeniem funkcji odczytu pojedynczego klawisza i działa w bardzo zbliżony sposób /* prosty program demonstracyjny “odczyt klawiszy podłączonych do P1” klawisz włączony pomiędzy masę a bit portu P1, stan aktywny = L klawisze podłączone od P1.2 do P1.6; rezonator kwarcowy 8MHz */ #include #include
//dołączenie definicji rejestrów mikrokontrolera //biblioteka zawierająca funkcję printf()
#define PortKey P1; unsigned char buf;
//definicja bitu portu klawisza //zmienna przechowująca stan klawiszy
//opóźnienie około 1 milisekundy dla kwarcu 8MHz void Delay(unsigned int time) { unsigned int j; while (time >= 1) { for (j=0; j<65; j++); time-; }
//wykonanie pętli FOR zajmuje około 1 msek. //pętla jest powtarzana TIME razy
} //odczyt klawiatury podłączonej do PortKey char KbdRead() { unsigned char b; b = PortKey; b |= 3; return (~b); }
//odczytaj stan portu klawiatury //ustaw dwa najmłodsze, nie używane przez klawiaturę bity //zwróć odczytaną wartość po zanegowaniu
//początek programu głównego void main(void) { while (1) //pętla nieskończona { buf = KbdRead(); if (buf) //jeśli rezultat różny od 0 - sprawdź { Delay(20); //opóźnienie 20ms if (buf == KbdRead()) //ponowny odczyt klawisza i akcja, { //jeśli nadal wciśnięty if (buf && 0x04) printf(“%s\n”, “Klawisz 1”); if (buf && 0x08) printf(“%s\n”, “Klawisz 2”); if (buf && 0x10) printf(“%s\n”, “Klawisz 3”); if (buf && 0x20) printf(“%s\n”, “Klawisz 4”); if (buf && 0x40) printf(“%s\n”, “Klawisz 5”); } } } }
Elektronika Praktyczna 4/2003
K U R S List. 4. Program obsługi klawiatury matrycowej wyposażony jest w funkcję, która zwraca numer naciśniętego przycisku /* prosty program demonstracyjny “odczyt klawiatury matrycowej” wiersze P1.2 do P1.4, kolumny P1.5 do P1.6 (3x3 = 9 klawiszy) rezonator kwarcowy 8MHz */ #include #include
//dołączenie definicji rejestrów mikrokontrolera //dołączenie prototypu funkcji printf
#define PortKey
P1
#define #define #define #define
0b11111011 //definicje stanów bitów kolumn 0b11110111 0b11101111 0b00011100 //wartość dla ustawienia bitów kolumn na “1”
Column_1 Column_2 Column_3 Dummy
#define Row_1 #define Row_2 #define Row_3
//definicja bitu portu klawisza
0b00100000 //definicje połączeń bitów wierszy 0b01000000 0b10000000
//opóźnienie około 1 milisekundy dla kwarcu 8MHz void Delay(unsigned int time) { unsigned int j; while (time >= 1) //wykonanie pętli FOR zajmuje około 1 msek. { //pętla jest powtarzana TIME razy for (j=0; j<65; j++); time--; } } //odczyt portu klawiatury unsigned char PortKeyRead(unsigned char column) { unsigned char curr, prev; PortKey |= Dummy; PortKey &= column; prev = PortKey; prev &= 0xE0; if (prev == 0xE0) return
//ustawienie na wartość “1” bitów kolumn //stan niski kolumny 1 //odczyt portu klawiatury //maskowanie wszystkich bitów oprócz wierszy (0); //jeśli wszystkie bity są jedynkami dla //danej kolumny nie wciśnięto żadnego klawisza
Delay(20); curr = PortKey; curr &= 0b11100000; if (curr == prev) { while (prev = curr) { prev = PortKey; prev &= 0xE0; } return(~curr); } else return(0);
// powtórny odczyt i porównanie
//czekaj na zwolnienia klawisza
//zamiana aktywnych bitów z 0 na 1 //zwróć 0 w przypadku różnic odczytów
} //odczyt klawiatury podłączonej do PortKey //funkcja zwraca numer wciśniętego klawisza unsigned char KeyNumber() { unsigned char b; b = PortKeyRead(Column_1); if (!b) { if (b && Row_1) return(3); if (b && Row_2) return(6); if (b && Row_3) return(9); } b = PortKeyRead(Column_2); if (!b) { if (b && Row_1) return(2); if (b && Row_2) return(5); if (b && Row_3) return(8); } b = PortKeyRead(Column_3); if (!b) { if (b && Row_1) return(1); if (b && Row_2) return(4); if (b && Row_3) return(7); } return(0);
//odczyt: kolumna 1 - wiersz 1, 2, 3
//odczyt: kolumna 2 - wiersz 1, 2, 3
//odczyt: kolumna 3 - wiersz 1, 2, 3
//nie wciśnięto żadnego klawisza, zwróć 0
} //początek programu głównego void main(void) { while (1) //pętla nieskończona { char buf = KeyNumber(); //odczyt klawisza połączony z deklaracją buf if (!buf) printf(“%s\n”,buf); //wysłanie numeru klawisza przez RS232 } }
Elektronika Praktyczna 4/2003
licza siÍ jako wynik mnoøenia liczby wierszy przez liczbÍ kolumn. WrÛÊmy do schematu z†rys. 4. Wykorzystujemy 3†bity jako wiersze i†3†jako kolumny. Maksymalnie moøna wiÍc pod³¹czyÊ 9†klawiszy wykorzystuj¹c 6†bitÛw portu P1. Prawda, øe to duøa oszczÍdnoúÊ? Nieco bardziej skomplikowane uk³adowo rozwi¹zanie moøe wykorzystywaÊ szynÍ adresow¹ i†danych. Typowo, oúmiobitowy mikrokontroler z†rodziny 8051 ma moøliwoúÊ zaadresowania do 64 kB pamiÍci zewnÍtrznej. Daje to liczbÍ 16 linii adresowych (A0 do A15). S³owo danych ma d³ugoúÊ 8†bitÛw (D0 do D7). Jeúli nie s¹ wykorzystywane inne urz¹dzenia znajduj¹ce siÍ w†przestrzeni adresÛw zewnÍtrznych mikrokontrolera, klawiatura moøe mieÊ 16 x†8†= 128 (!) klawiszy i†pracowaÊ jako pamiÍÊ zewnÍtrzna. Oczywiúcie procedura odczytu tej ìpamiÍciî jest trochÍ bardziej skomplikowana. Zasada dzia³ania klawiatury zbudowanej z†matrycy przyciskÛw jest bardzo prosta. Bity kolumn ustawione s¹ do pracy jako linie wyjúciowe, natomiast linie wierszy jako wejúciowe. Mikrokontroler ustawia stan niski na jednej z†linii kolumn i†odczytuje stan linii wierszy. Pojawienie siÍ stanu niskiego na jednym lub kilku bitach wierszy, zawsze oznacza w†takiej sytuacji naciúniÍcie jednego lub kilku klawiszy. MyúlÍ, øe najlepiej pokaøe to przyk³ad programu pokazanego na list. 4. Funkcja odczytu klawiatury jest podzielona na dwie czÍúci, w†celu optymalizacji kodu wynikowego. Pierwsza z†nich o†nazwie PortKeyRead()jest uøywana wielokrotnie dlatego teø stanowi osobny fragment programu. Zatrzymajmy siÍ przy niej na moment. Konstrukcja PortKey |= Dummy ustawia wyjúcia portÛw kolumn na wartoúÊ logicznej ì1î. Po tym poleceniu, logiczna operacja AND (PortKey &= Column) ustawia stan niski na wyjúciu danej kolumny. Teraz naleøy zbadaÊ, czy na ktÛrymú z†wejúÊ portu odpowiadaj¹cym wierszom klawiatury, pojawi³ siÍ stan niski. Odczytywany jest wiÍc port klawiatury prev = PortKey i†maskowane wszystkie bity, ktÛre nie maj¹ wp³ywu na testowanie stanÛw wierszy (prev &= 0xE0). Jeúli powsta³a w†ten sposÛb wartoúÊ jest rÛwna 0xE0 oznacza to, øe wszystkie wejúcia s¹ w†stanie wysokim i†øadna z†linii wejúciowych nie jest w†stanie niskim. Odpowiada to sytuacji, w†ktÛrej nie wciúniÍto øadnego klawisza - wÛwczas funkcja zwraca wartoúÊ 0. Inaczej jest w†sytuacji, gdy wartoúÊ jest rÛøna od 0xE0. Wykonywana jest wÛwczas instrukcja Delay(20) powoduj¹ca opÛünienie na czas oko³o†20 milisekund. Po niej ponownie odczytywany jest z†uøyciem tej samej metody stan klawiatury. Odczytana wartoúÊ porÛwnywana jest ze star¹ i†jeúli s¹ zgodne oznacza to, øe klawisz jest nadal wciúniÍty. Aby unikn¹Ê automatycznego powtarzania, program czeka na zwolnienie klawisza a†nastÍpnie zwraca zanegowany stan bitÛw wierszy. W†przeciwnym wypadku uznajÍ, øe by³o to przypadkowe naciúniÍcie (ewentualnie zak³Ûcenie) i†funkcja zwraca wartoúÊ 0. PortKeyRead() wykorzystywana jest przez funkcjÍ KeyNumber(). Jej rol¹ jest
89
K U R S List. 5. Program do odczytu klawiszy podłączonych za pomocą multipleksera 74157 /* prosty program demonstracyjny “odczyt klawiszy podłączonych przez 74157” wykorzystane są bity P1.0 do P1.3 oraz P3.7 do sterowania wyborem połówki odczytywanego bajtu; rezonator kwarcowy 8MHz */ #include #include
//dołączenie definicji rejestrów mikrokontrolera //biblioteka zawierająca funkcję printf()
#define PortKey P1; sbit A_B = P3^7;
//definicja bitu portu klawisza //wybór połówki bajtu odczytywanej przez 74157
//opóźnienie około 1 milisekundy dla kwarcu 8MHz void Delay(unsigned int time) { unsigned int j; while (time >= 1) //wykonanie pętli FOR zajmuje około 1 msek. { //pętla jest powtarzana TIME razy for (j=0; j<65; j++); time--; } } //odczyt klawiatury podłączonej do PortKey char KbdRead() { unsigned char L_nibble, H_nibble; A_B = 1; H_nibble H_nibble H_nibble A_B = 0; L_nibble L_nibble
//odczyt starszej połówki bajtu (klawisze parzyste) = PortKey; &= 0x0F; <<= 4; //odczyt młodszej połówki bajtu (klawisze niep.) = PortKey; &= 0x0F;
return (~(H_nibble | L_nibble));
//zwróć odczytaną wartość po zanegowaniu
} //początek programu głównego void main(void) { while (1) //pętla nieskończona { buf = KbdRead(); if (buf) //jeśli rezultat różny od 0- sprawdź { Delay(20); //opóźnienie 20ms if (buf == KbdRead()) //ponowny odczyt klawisza i podjęcie //akcji, jeśli nadal wciśnięty { if (buf && 0x01) printf(“%s\n”, “Klawisz 1”); if (buf && 0x02) printf(“%s\n”, “Klawisz 2”); if (buf && 0x04) printf(“%s\n”, “Klawisz 3”); if (buf && 0x08) printf(“%s\n”, “Klawisz 4”); if (buf && 0x10) printf(“%s\n”, “Klawisz 5”); if (buf && 0x20) printf(“%s\n”, “Klawisz 6”); if (buf && 0x40) printf(“%s\n”, “Klawisz 7”); if (buf && 0x80) printf(“%s\n”, “Klawisz 8”); } } } }
Rys. 4. Matryca zbudowana z przycisków to jedno z najprostszych rozwiązań stosowanych przy zwiększaniu liczby klawiszy
90
obliczenie numeru naciúniÍtego klawisza. Kolejno odczytywane s¹ poszczegÛlne kolumny i†jeúli zwrÛcona wartoúÊ jest rÛøna od 0, rozpatrywane s¹ bity zwrÛconej zmiennej. Tak wiÍc wiersz po wierszu, kolumna po kolumnie przegl¹dana jest ca³a klawiatura. Metoda ta nosi nazwÍ odpytywania (z angielskiego pooling). Program g³Ûwny wywo³uje funkcjÍ KeyNumber() i†uøywa jej do wyznaczenia numeru wciúniÍtego klawisza. Moøna w†nim spotkaÊ konstrukcjÍ char buf = KeyNumber() - nie uøywa³em jej do tej pory. Zmienna w†jÍzyku C†musi byÊ zadeklarowana przed pierwszym uøyciem. To jest w³aúnie dos³owny przyk³ad, jednak nie polecam go do uøytku. W†pewnym momencie moøesz przestaÊ panowaÊ na iloúci¹ zmiennych i†przez to rÛwnieø wykorzystaniem zasobÛw mikrokontrolera. Lepsza jest jawna deklaracja na pocz¹tku programu czy funkcji, aniøeli ukryta w†kodzie programu. Nie mniej jednak dobrze jest wiedzieÊ, øe moøna to zrobiÊ. ZwrÛcony numer klawisza zamieniany jest przez funkcjÍ printf() na wartoúÊ typu ³aÒcuch znakÛw i†wysy³any przy pomocy UART.
Wykorzystanie dodatkowego uk³adu multipleksera £atw¹ metod¹ rozszerzenia iloúci pod³¹czonych do mikrokontrolera klawiszy jest uøycie dodatkowego zewnÍtrznego uk³adu multipleksera. Przyk³ad takiego rozwi¹zania umieszczono na rys. 5. Wykorzystano w†nim uk³ad 74157. Jest to poczwÛrny multiplekser 2x1. Poziom logiczny na wyprowadzeniu 1†(!A/B) wybiera aktywne wejúcie z†dwÛch grup: (1A...4A/1B...4B) i†do³¹cza je do wyjúÊ uk³adu (1Y...4Y), a†tym samym do portu wejúciowego mikrokontrolera. Proste rozwi¹zania lokalnych klawiatur nie wymagaj¹ rezystorÛw pullup, poniewaø uk³ady z†serii TTL traktuj¹ wejúcie nie pod³¹czone jako znajduj¹ce siÍ w†stanie wysokim. W†celu wybrania odpowiedniej czwÛrki przyciskÛw, pos³ugujÍ siÍ wyprowadzeniem P3.7 mikrokontrolera. Dwie czterobitowe po³Ûwki sk³adane s¹ do postaci jednego bajtu, ktÛry to nastÍpnie rozpatrywany jest przez program z†list. 5. Jacek Bogusz [email protected]
Rys. 5. Wykorzystanie zewnętrznego układu multipleksera dla zwiększenia liczby podłączonych do portu mikrokontrolera klawiszy
Elektronika Praktyczna 4/2003
K U R S
CRC doda Ci pewności, część 4 Ufff... Zbliøamy siÍ do koÒca. W†zasadzie ca³¹ teoriÍ dotycz¹c¹ algorytmÛw generowania CRC mamy juø za sob¹. Czas na Êwiczenia praktyczne. Wartoúci pocz¹tkowe i†koÒcowe PoszczegÛlne algorytmy generowania CRC rÛøni¹ siÍ miÍdzy sob¹ nie tylko zastosowanymi ìchwytamiî programowymi, ale rÛwnieø przyjmowanymi wartoúciami pocz¹tkowymi rejestru oraz wartoúci¹, ktÛra bÍdzie XOR-owana z†koÒcow¹ jego zawartoúci¹. Przyk³adowo: w†kodzie CRC32 rejestr jest inicjowany wartoúci¹ FFFFFFFFh, koÒcowa zawartoúÊ rejestru jest XOR-owana wartoúci¹ FFFFFFFFh. Wiele algorytmÛw CRC inicjuje rejestr wartoúci¹ zero, ale nie musi to byÊ regu³¹. NiektÛre, jak widaÊ choÊby z†powyøszego przyk³adu, wpisuj¹ do rejestru niezerow¹ wartoúÊ pocz¹tkow¹. Teoretycznie nie ma ona wp³ywu na wydajnoúÊ ani efekt pracy algorytmu. W†praktyce niektÛre wiadomoúci (ci¹gi danych, z†ktÛrych bÍdzie wyliczane CRC) s¹ bardziej prawdopodobne od innych. Rozs¹dne wydaje siÍ inicjowanie rejestru tak¹ wartoúci¹, ktÛra nie bÍdzie zawiera³a ìmartwych punktÛwî mog¹cych wyst¹piÊ w†rzeczywistoúci. Okreúlenie ìmartwy punktî oznacza w†tym przypadku tak¹ sekwencjÍ danych (odbieranych bajtÛw), ktÛra wziÍta do obliczeÒ nie spowoduje zmiany stanu rejestru. Algorytmy, ktÛre inicjuj¹ rejestr wartoúci¹ zerow¹, mog¹ zawieraÊ ìmartwy punktî. Zdarza siÍ bowiem czÍsto, øe sekwencja ìrozbiegowaî transmisji zawiera taki w³aúnie ci¹g. Z†tego powodu bezpieczniej jest przyjmowaÊ niezerow¹ wartoúÊ pocz¹tkow¹ rejestru.
Algorytm absolutny Jak mogliúmy siÍ przekonaÊ z†wczeúniejszych rozwaøaÒ, w†teorii tablicowych algorytmÛw obliczania CRC pojawi³o siÍ kilka waønych aspektÛw. W†ich wyniku powsta³o wiele metod obliczania CRC, a†ogarniÍcie ca³oúci zagadnienia sta³o siÍ doúÊ trudne. SprÛbujmy teraz zebraÊ nabyt¹ wiedzÍ. Widzimy, øe poszczegÛlne algorytmy zaleø¹ od: - d³ugoúci wielomianu generuj¹cego (generatora), - wartoúci generatora, - pocz¹tkowego stanu rejestru, - tego, czy bity w†kaødym odebranym bajcie s¹ odwrÛcone przed wykonaniem obliczeÒ, - tego, czy algorytm pobiera bajty wejúciowe poprzez rejestr, czy XOR-uje je z†bajtem tablicy, - tego, czy koÒcowa wartoúÊ rejestru powinna byÊ odwrÛcona, - tego, czy XOR-owaÊ dan¹ z†koÒcow¹ wartoúci¹ rejestru.
Gdybyúmy zdecydowali siÍ na stworzenie jednego, uniwersalnego algorytmu, naleøa³oby precyzyjniej okreúliÊ za³oøenia. SprÛbujemy to zrobiÊ. Otrzymamy pewien sparametryzowany model, ktÛry pÛüniej bÍdzie mÛg³ byÊ wykorzystywany w†sposÛb uniwersalny.
Model parametryczny dla algorytmÛw obliczania CRC Dojrzeliúmy juø do tego, øeby stworzyÊ praktyczny model obliczania CRC. No dobrze, powiedzmy szczerze, to nie my bÍdziemy go tworzyÊ, gdyø zrobiono to juø za nas trochÍ wczeúniej. My przeúledzimy tylko tok rozumowania. BÍdzie to tzw. Rocksoft Model CRC Algorithm. W†modelu tym, skupimy siÍ wy³¹cznie na funkcjonalnoúci algorytmu, nie zwaøaj¹c na detale implementacyjne. Nie bÍdziemy wiÍc, przynajmniej na razie, przejmowaÊ siÍ ewentualnymi problemami, jakie mog¹ wyst¹piÊ na etapie kodowania algorytmu w†konkretnym jÍzyku programowania, chociaø finalnym produktem rozwaøaÒ bÍdzie program w†jÍzyku C. Tworzony sparametryzowany model musi byÊ maksymalnie prosty i†precyzyjny, a†co za tym idzie uporz¹dkowany. BÍdzie on bazowa³ zasadniczo na bezpoúrednim algorytmie tablicowym (patrz czÍúÊ 3). PamiÍtaj¹c jednak, øe powinien spe³niaÊ wszystkie powyøsze kryteria, do³oøymy do niego moøliwoúÊ ustalania, czy ma (tak jak w†algorytmie odwrÛconym) dokonywaÊ odwracania bajtu wejúciowego oraz czy odwrÛcona ma byÊ rÛwnieø koÒcowa wartoúÊ wyliczonej sumy kontrolnej. Jeden z†parametrÛw pozwoli inicjowaÊ rejestr obliczeniowy algorytmu odpowiedni¹ wartoúci¹, inny zaú bÍdzie argumentem operacji XOR na koÒcowej wartoúci sumy kontrolnej, zanim zostanie zwrÛcona jako ostateczny wynik obliczeÒ do procedury nadrzÍdnej. Maj¹c powyøsze za³oøenia, sprÛbujmy sporz¹dziÊ konkretn¹ listÍ parametrÛw (przyjmiemy oryginalne oznaczenia): NAME - jest to nazwa algorytmu zmienna ³aÒcuchowa; WIDTH - jest to szerokoúÊ s³owa obliczeniowego algorytmu (rejestru) - liczba bitÛw. Parametr ìSZEROKOåÆî jest liczb¹ o†jeden mniejsz¹ niø szerokoúÊ generatora. POLY - ten parametr to po prostu nasz wielomian generuj¹cy (generator, poly). Jest to liczba binarna, ktÛr¹ dla wygody bÍdziemy zapisywaÊ w†postaci szesnastkowej, ale uwaga! W†zapisie
bÍdziemy omijaÊ najstarszy bit generatora, pamiÍtaj¹c, øe zawsze jest on rÛwny ì1î. Jeúli wiÍc zastosujemy generator np. 10110, to jako parametr bÍdziemy podawaÊ go w†postaci 0x06. Waøne jest, øe parametr ten przedstawia generator w†postaci nieodwrÛconej. Dolny bit tego parametru bÍdzie zawsze najmniej znacz¹cym bitem dzielnika, niezaleønie od tego, czy algorytm bÍdzie prosty, czy odwrÛcony. INIT - parametr, okreúlaj¹cy stan pocz¹tkowy rejestru. Jest to wartoúÊ wpisywana do rejestru w†bezpoúredniej metodzie tablicowej. W†algorytmie tablicowym rejestr jest zawsze zerowany na pocz¹tku, a†INIT bÍdzie wartoúci¹, z†ktÛr¹ zostanie XOR-owany rejestr po N-tej iteracji. Parametr ten powinien byÊ podawany w†postaci liczby szesnastkowej. REFIN - jest to parametr logiczny. Jeúli bÍdzie on mia³ wartoúÊ FALSE, to bit 7†bajtÛw wejúciowych bÍdzie traktowany jako najbardziej znacz¹cy (MSB), a†bit 0†jako najmniej znacz¹cy (LSB). W†tym przypadku kaødy bajt powinien byÊ odwrÛcony przed wykonaniem obliczeÒ. REFOUT - jest teø parametrem logicznym. Jeúli bÍdzie mia³ wartoúÊ FALSE, to koÒcowa wartoúÊ rejestru bÍdzie bezpoúrednio przenoszona do pola XOROUT, w†przeciwnym przypadku przed przeniesieniem zawartoúci rejestru do pola XOROUT rejestr musi byÊ najpierw odwrÛcony. XOROUT - jest to W-bitowa liczba, ktÛr¹ bÍdziemy podawaÊ w†postaci szesnastkowej. BÍdzie ona XOR-owana z†koÒcow¹ zawartoúci¹ rejestru (po REFOUT), przed umieszczeniem wartoúci zwracanej przez procedurÍ jako koÒcowa wartoúÊ wyliczonej sumy kontrolnej.
Bezpieczna wymiana danych w systemach mikroprocesorowych Elektronika Praktyczna 4/2003
91
K U R S List. 1. Plik nagłówkowy crcmodel.h /******************************************************************************/ /* Początek pliku crcmodel.h */ /******************************************************************************/ /* */ /* Autor: Ross Williams ([email protected].). */ /* Data: 3 czerwca 1993. */ /* Status: Public domain. */ /* */ /* Opis: To jest plik nagłówkowy (.h), dla programu obliczjącego CRC zgodnie */ /* z Rocksoft^tm Model CRC Algorithm. */ /*Uwaga: Rocksoft jest znakiem handlowym Rocksoft Pty Ltd, Adelaide, Australia*/ /* */ /******************************************************************************/ #ifndef CM_DONE #define CM_DONE #ifndef DONE_STYLE typedef unsigned long ulong; typedef unsigned bool; typedef unsigned char * p_ubyte_; #ifndef TRUE #define FALSE 0 #define TRUE 1 #endif /* Zamienić na drugą definicję, jeśli nie ma prototypów */ #define P_(A) A /* #define P_(A) () */ /* Zdjąć symbol komentarza w poniższej definicji, jeśli nie ma void. */ /* typedef int void; */ #endif /******************************************************************************/ /* Krótki opis typów w Modelu CRC */ /* Poniższe typy związane są z wykorzystywanym modelem omawianym w artykule */ /* Większość z nich powinna być ustawiona przed pierwszym wywołaniem cm_ini */ typedef struct { int cm_width; /* Parametr: Width w bitach [8,32]. */ ulong cm_poly; /* Parametr: Generator (poly) algorytmu */ ulong cm_init; /* Parametr: Wartość początkowa rejestru */ bool cm_refin; /* Parametr: czy odwracać bajty? */ bool cm_refot; /* Parametr: czy odwracać wyjściowe CRC?*/ ulong cm_xorot; /* Parametr: wartość do XOR-owania wyjściowego CRC. */ ulong cm_reg; /* Kontekst: Kontekst podczas obliczeń */ } cm_t; typedef cm_t *p_cm_t; /******************************************************************************/ /* Funkcje implementujące Model */ void cm_ini P_((p_cm_t p_cm)); /* Inicjowanie modelu */ /* Wszystkie parametry powinny być ustawione przed wywpłaniem */ void cm_nxt P_((p_cm_t p_cm,int ch)); /* Pobranie kolejnego bajtu do obliczeń [0,255] */ void cm_blk P_((p_cm_t p_cm,p_ubyte_ blk_adr,ulong blk_len)); /* Pobranie bloku bajtów komunikatu */ ulong cm_crc P_((p_cm_t p_cm)); /* Zwraca wartość CRC dla wiadomości */ /******************************************************************************/ /* /* /* /* /* /*
Funkcje dla obliczeń tablicowych */ --------------- */ Poniższe funkcje mogą być wykorzystywane do obliczania tablic (lookup table)*/ dla metod tablicowych */ Mogą być również stosowane “w biegu” do tworzenia lub sprawdzania */ tablic statycznych */
ulong cm_tab P_((p_cm_t p_cm,int index)); /* Zwraca i-ty element tablicy (lookup table) dla określonego algorytmu */ /* Funkcja sprawdza pola cm_width, cm_poly, cm_refin i argument tablicy */ /* indeksowany w zakresie [0,255] i zwraca jako wartość funkcji element tablicy*/ /* określony przez cm_width młodszych bajtów */ /******************************************************************************/
CHECK - to pole jest niezwi¹zane z†definicj¹ w†dos³ownym znaczeniu i†w†przypadku konfliktu pomiÍdzy nim a†innymi polami ustÍpuje im pierwszeÒstwa. BÍdzie s³uøy³o do kontrolowania poprawnoúci implementacji algorytmu. Pole CHECK bÍdzie zawiera³o sumÍ kontroln¹ otrzyman¹ w†wyniku ìprzepuszczeniaî przez algorytm ³aÒcucha znakowego (ASCII) o†wartoúci ì123456789î (0x31,0x32,0x33, itd.). Z†tak zdefiniowanymi parametrami model moøe byÊ wykorzystany do dok³adnego opisywania algorytmÛw. Przyk³adem niech bÍdzie popularny algorytm CRC-16. Odpowiednie dla niego parametry bÍd¹ nastÍpuj¹ce: Name: ìCRC-16î Width: 16 Poly: 8005 (pamiÍtamy, øe jest to zapis szesnastkowy) Init: 0000 RefIn: True RefOut: True XorOut: 0000 Check: BB3D
Przyk³adowe zestawienie parametrÛw dla wybranych algorytmÛw Poniøsza lista zawiera wielomiany generuj¹ce dla kilku standardowych algorytmÛw. Niestety, ze wzglÍdu na spotykane rozbieønoúci, okreúlenie kompletu parametrÛw okaza³o siÍ doúÊ k³opotliwe. X25 standardowy: 1021 (CRC-CCITT, ADCCP, SDLC/HDLC) X25 odwrÛcony: 0811 CRC16 standardowy: 8005 CRC16 odwrÛcony: 4003 (LHA) W†poniøszym zestawie uwzglÍdniono pe³niejsz¹ listÍ parametrÛw: Name: ìCRC-16/CITTî Width: 16 Poly: 1021 Init: FFFF RefIn: False RefOut: False XorOut: 0000 Check: ? Name: Width: Poly: Init: RefIn: RefOut: XorOut: Check:
ìXMODEMî 16 8408 0000 True True 0000 ?
Name: Width: Poly: Init: RefIn: RefOut: XorOut: Check:
ìARCî 16 8005 0000 True True 0000 ?
#endif /******************************************************************************/ /* Koniec pliku crcmodel.h */ /******************************************************************************/
92
Na zakoÒczenie zestawienie parametrÛw algorytmu CRC-32 (PKZIP, AUTODIN II, Ethernet, FDDI)
Elektronika Praktyczna 4/2003
K U R S List. 2. Plik implementacyjny crcmodel.c /******************************************************************************/ /* Początek pliku crcmodel.c */ /******************************************************************************/ /* */ /* Autor: Ross Williams ([email protected].). */ /* Data: 3 czerwca 1993. */ /* Status: Public domain. */ /* Note: Rocksoft is a trademark of Rocksoft Pty Ltd, Adelaide, Australia. */ /* */ /******************************************************************************/ /* */ #include “crcmodel.h” /******************************************************************************/ /* Poniższe definicje zamieszczono w celu zwiększenia czytelności kodu.
*/
#define BITMASK(X) (1L << (X)) #define MASK32 0xFFFFFFFFL #define LOCAL static /******************************************************************************/ LOCAL ulong reflect P_((ulong v,int b)); LOCAL ulong reflect (v,b) /* Zwraca wartość v, w której b młodszych bitów [0,32] jest odwróconych /* Przykład: reflect(0x3e23L,3) == 0x3e26 ulong v; int b; { int i; ulong t = v; for (i=0; i>=1; } return v; }
*/ */
/******************************************************************************/ LOCAL ulong widmask P_((p_cm_t)); LOCAL ulong widmask (p_cm) /* Zwraca wartość longword, równą (2^p_cm->cm_width)-1 /* Zastosowano trik pozwalający uniknąć przesunięcia <<32) p_cm_t p_cm; { return (((1L<<(p_cm->cm_width-1))-1L)<<1)|1L; }
*/ */
/******************************************************************************/ void cm_ini (p_cm) p_cm_t p_cm; { p_cm->cm_reg = p_cm->cm_init; } /******************************************************************************/ void cm_nxt (p_cm,ch) p_cm_t p_cm; int ch; { int i; ulong uch = (ulong) ch; ulong topbit = BITMASK(p_cm->cm_width-1); if (p_cm->cm_refin) uch = reflect(uch,8); p_cm->cm_reg ^= (uch << (p_cm->cm_width-8)); for (i=0; i<8; i++) { if (p_cm->cm_reg & topbit) p_cm->cm_reg = (p_cm->cm_reg << 1) ^ p_cm->cm_poly; else p_cm->cm_reg <<= 1; p_cm->cm_reg &= widmask(p_cm); } } /******************************************************************************/ void cm_blk (p_cm,blk_adr,blk_len) p_cm_t p_cm; p_ubyte_ blk_adr; ulong blk_len; { while (blk_len-) cm_nxt(p_cm,*blk_adr++); }
Elektronika Praktyczna 4/2003
Name: Width: Poly: Init: RefIn: RefOut: XorOut: Check:
ìCRC-32î 32 04C11DB7 FFFFFFFF True True FFFFFFFF CBF43926
Implementacja modelu w†jÍzyku C Ci, ktÛrym uda³o siÍ przebrn¹Ê przez dotychczasowe odcinki artyku³u, z†pewnoúci¹ czekali na ten w³aúnie moment. Ca³a zdobyta wiedza bÍdzie za chwilÍ wykorzystana do napisania konkretnego programu. Nie zdziwi chyba nikogo, øe zostanie do tego celu wykorzystany jÍzyk C, chyba najbardziej popularny w†profesjonalnych zastosowaniach. Nasz program bÍdzie zawiera³ plik nag³Ûwkowy (.h) i†plik implementacyjny (.c). Chociaø suma kontrolna bÍdzie obliczana w†sposÛb jak najbardziej prawid³owy, to program ze wzglÍdu na jego uniwersalnoúÊ bÍdzie mia³ raczej niewielk¹ przydatnoúÊ praktyczn¹ (jako ca³oúÊ). Jest zaprezentowany ze wzglÍdu na walory dydaktyczne. Wprawny programista bÍdzie potrafi³ wyfiltrowaÊ ewentualnie tylko te jego fragmenty, ktÛre okaø¹ siÍ potrzebne w†konkretnych przypadkach. Dla sprawdzenia, czy poniøszy kod dzia³a prawid³owo, moøna go bÍdzie skonfigurowaÊ dla algorytmu CRC-16 lub CRC32, zgodnie z†informacjami zamieszczonymi powyøej i†sprawdziÊ wynik na przyk³adowym, wejúciowym ³aÒcuchu tekstowym ì123456789î o†znanej sumie kontrolnej. Autorem programu jest Ross Williams. Program zosta³ zamieszczony w†Internecie ze statusem public domain. Aby zapewniÊ jak najwiÍksz¹ niezaleønoúÊ od komputerÛw, na ktÛrych moøe byÊ uruchamiany, zastosowano moøliwie proste sposoby kodowania. Na przyk³ad nazwy wszystkich zewnÍtrznych identyfikatorÛw ograniczono do 6†znakÛw, a†wewnÍtrznych do 8. W†celu unikniÍcia ewentualnych kolizji w†nazwach zmiennych zastosowano prefiks cm (od CRC Model). Za³oøona uniwersalnoúÊ programu niestety niekorzystnie wp³ywa na jego efektywnoúÊ. Warto pamiÍtaÊ o†przewadze pod wzglÍdem szybkoúci dzia³ania metod tablicowych nad metodami algorytmicznymi.
Jak korzystaÊ z†programu? Krok 1: ZadeklarowaÊ zmienn¹ typu cm_t. ZadeklarowaÊ inn¹ zmienn¹ (p_cm) typu p_cm_t i†zainicjowaÊ j¹ jako wskazanie na pierwsz¹ (np. p_cm_t p_cm = &cm_t) Krok 2: PrzypisaÊ wartoúci poszczegÛlnym polom struktury (patrz uwagi w†tekúcie) Przyk³ad: p_cm->cm_width = 16; p_cm->cm_poly = 0x8005L; p_cm->cm_init = 0L; p_cm->cm_refin = TRUE; p_cm->cm_refot = TRUE; p_cm->cm_xorot = 0L; Uwaga: WartoúÊ Poly jest okreúlana bez najstarszego bitu (18005 to 8005).
93
K U R S List. 2. cd. /******************************************************************************/ ulong cm_crc (p_cm) p_cm_t p_cm; { if (p_cm->cm_refot) return p_cm->cm_xorot ^ reflect(p_cm->cm_reg,p_cm->cm_width); else return p_cm->cm_xorot ^ p_cm->cm_reg; } /******************************************************************************/ ulong cm_tab (p_cm,index) p_cm_t p_cm; int index; { int i; ulong r; ulong topbit = BITMASK(p_cm->cm_width-1); ulong inbyte = (ulong) index; if (p_cm->cm_refin) inbyte = reflect(inbyte,8); r = inbyte << (p_cm->cm_width-8); for (i=0; i<8; i++) if (r & topbit) r = (r << 1) ^ p_cm->cm_poly; else r<<=1; if (p_cm->cm_refin) r = reflect(r,p_cm->cm_width); return r & widmask(p_cm); } /******************************************************************************/ /* Koniec pliku crcmodel.c */ /******************************************************************************/
94
WartoúÊ Width jest o†jeden mniejsza niø faktyczna szerokoúÊ poly. Krok 3: ZainicjowaÊ przyk³ad z†wywo³aniem cm_ini(p_cm); Krok 4: WykonaÊ obliczenia dla zerowej lub niezerowej liczby bajtÛw komunikatu przez umieszczenie odpowiedniej liczby wywo³aÒ cm_nxt. Np.: cm_nxt(p_cm,ch); Krok 5: ObliczyÊ CRC, stosuj¹c wywo³anie crc = cm_crc(p_cm); Jeúli CRC jest wartoúci¹ 16-bitow¹, wynikiem bÍdzie 16 najm³odszych bitÛw. Mam nadziejÍ, øe tym razem Czytelnicy zostali usatysfakcjonowani moøliwoúci¹ zetkniÍcia siÍ z†konkretnym programem obliczaj¹cym CRC. W³aúciwie to juø wszystko. Czym jest jednak obiad bez deseru? W†ostatnim juø odcinku (za miesi¹c) pokaøemy, jak s¹ generowane tablice do metod tablicowych. Pokaøemy rÛwnieø kilka innych przyk³adÛw oraz wspomnimy coú o†metodach sprzÍtowych obliczania CRC. Jaros³aw Doliñski, AVT [email protected] Artyku³ powsta³ na podstawie publikacji ìA†painless guide to CRC error detection algorithmsî. Autor Ross N. Williams. Moøna go znaleüÊ pod adresem http://www.riccibitti.com/crcguide.htm.
Elektronika Praktyczna 4/2003
PROJEKTY CZYTELNIKÓW Dział „Projekty Czytelników” zawiera opisy projektów nadesłanych do redakcji EP przez Czytelników. Redakcja nie bierze odpowiedzialności za prawidłowe działanie opisywanych układów, gdyż nie testujemy ich laboratoryjnie, chociaż sprawdzamy poprawność konstrukcji. Prosimy o nadsyłanie własnych projektów z modelami (do zwrotu). Do artykułu należy dołączyć podpisane oświadczenie, że artykuł jest własnym opracowaniem autora i nie był dotychczas nigdzie publikowany. Honorarium za publikację w tym dziale wynosi 250,− zł (brutto) za 1 stronę w EP. Przysyłanych tekstów nie zwracamy. Redakcja zastrzega sobie prawo do dokonywania skrótów.
Miniprogramator szeregowych pamięci EEPROM, część 1 Od pewnego czasu szuka³em prostego urz¹dzenia do odczytywania i†zapisywania szeregowych pamiÍci EEPROM. Znalaz³em kilka, bardzo rÛønych, rozwi¹zaÒ. Niestety, wszystkie dostÍpne rozwi¹zania by³y dla moich potrzeb zbyt rozbudowane lub zwyczajnie za drogie. Stan¹³em wiÍc przed problemem, ktÛry naleøa³o rozwi¹zaÊ tanio i†prosto. Jako øe w†swoich pracach wykorzystujÍ najczÍúciej pamiÍci z†rodziny 24Cxxx z†interfejsem I2C, skoncentrowa³em siÍ na takim rozwi¹zaniu. W†efekcie powsta³ programatorek prezentowany w†artykule.
W†celu maksymalnego zredukowania kosztÛw i†uproszczenia konstrukcji, postanowi³em opracowaÊ urz¹dzenie pod³¹czane tylko do jednego gniazda w†komputerze, zasilane na dodatek z†tego samego portu. Ze wzglÍdu na ³atwe programowanie, odpowiedni¹ wydajnoúÊ pr¹dow¹ i†ìspor¹î wtyczkÍ, wybra³em port drukarkowy. Z†niego, za pomoc¹ odpowiedniego programu i†prostego urz¹dzenia, moøna z†powodzeniem realizowaÊ odczyt oraz programowanie szeregowych pamiÍci EEPROM. Urz¹dzenie to umoøliwia rÛwnieø sterowanie innymi urz¹dzeniami pod³¹czanymi do magistrali I2C. IdeÍ tego rozwi¹zania przedstawiono na rys. 1. Do prawid³owej pracy urz¹dzeÒ I2C konieczne jest dostarczenie dwÛch sygna³Ûw (oprÛcz zasilania i†masy). Pierwszy z†nich - SDA - jest szeregowym dwukierunkowym portem wymiany danych pomiÍdzy sterownikiem (tu komputerem) a†urz¹dzeniem (w†tym przypadku pamiÍci¹). W†prezentowanym rozwi¹zaniu funkcje tego por-
Rys. 1. Schemat elektryczny miniprogramatora
Elektronika Praktyczna 4/2003
Projekt
109
tu realizuje wyjúciowa linia D0 oraz wejúciowa BUSY portu LPT. S¹ one buforowane za pomoc¹ bramki NOT z†otwartym kolektorem. Drugi sygna³ magistrali szeregowej - SCL jest realizowany wprost przy pomocy linii danych D1, ze wzglÍdu na jego jednokierunkowy charakter. Pozosta³e linie danych, po zaopatrzeniu w†rezystory ograniczaj¹ce, wykorzystywane s¹ do zasilania programatora. Znaczny pr¹d pobierany podczas programowania pamiÍci EEPROM, rzÍdu kilku miliamperÛw, wyma-
ga odpowiedniego ürÛd³a zasilania. ObwÛd zasilania zosta³ zatem zaopatrzony w†kondensator buforuj¹cy C1. Jego pojemnoúÊ ustalono eksperymentalnie na 220 µF, ale moøe byÊ i†nieco wiÍksza. Dostarcza on odpowiednich impulsÛw energii potrzebnych w†czasie przeprogramowywania komÛrek pamiÍci i†odczytu. Dodatkowy kondensator C2 o†pojemnoúci 100 nF odsprzÍga zasilanie programatora. Wed³ug danych producenta najpopularniejszych pamiÍci EEPROM rodziny 24Cxxx firmy Atmel, pamiÍÊ w†trybie stand-by, czyli pod³¹czona tylko do zasilania, pobiera zaledwie do 35 µA. Podczas odczytu pr¹d ten roúnie do oko³o 1†mA, zaú przy zapisie do 3†mA. Linia danych portu LPT powinna bez trudu poradziÊ sobie z†dostarczeniem takiego pr¹du, jednakøe na wszelki wypadek zastosowano zasilanie aø z†6†linii. Niewykorzystywane wyprowadzenia wejúciowe inwertera U1 typu HC05 zosta³y pod³¹czone do masy. Stabilne napiÍcie na wejúciach zabezpiecza rÛwnieø uk³ad przed samowzbudzeniem. NastÍpuje ono w†przypadku, gdy wejúcia uk³adÛw rodzin HC, HCT i†pokrewnych pozostan¹ niepod³¹czone. Samowzbudzenie moøe byÊ przyczyn¹ bardzo trudnych do zlokalizowania zak³ÛceÒ, szczegÛlnie uci¹øliwych w†uk³adach wykorzystuj¹cych transmisjÍ szeregow¹ oraz pamiÍci. Uk³ad zaprojektowano z†myúl¹ o†umieszczeniu go w†obudowie z³¹cza DB-25. Kszta³t p³ytki jest dopasowany do takiej w³aúnie obudowy.
95
PROJEKTY CZYTELNIKÓW Montaø programatorka jest bardzo prosty, jednakøe naleøy poúwiÍciÊ mu nieco uwagi. P³ytka drukowana jest wykonana jako jednostronna. Przed montaøem korzystnie jest obci¹Ê styki 15 i†16 z³¹cza, aby unikn¹Ê zwarÊ. Rozpoczynamy od przylutowania wtyczki do p³ytki. Styki z³¹cza DB-25M o†numerach 14 do 25 naleøy umieúciÊ od strony úcieøek p³ytki i†dok³adnie sprawdziÊ, czy tak umieszczone z³¹cze i†p³ytka pasuj¹ do obudowy. Najlepiej jest w³oøyÊ p³ytkÍ i†z³¹cze do po³Ûwki obudowy, dopasowaÊ i†dopiero wtedy przylutowaÊ odpowiadaj¹ce styki. Na etapie pasowania moøe siÍ okazaÊ konieczne podpi³owanie p³ytki w†miejscu otworÛw na úrubki w†obudowie. Dokonujemy tego ma³ym pilnikiem tzw. iglakiem, najlepiej o†kszta³cie soczewki. Miejsce tego podpi³owania zosta³o zaznaczone na widoku p³ytki dwoma pÛ³kolami. Dok³adne dopasowanie z³¹cza i†p³ytki do obudowy umoøliwi pÛüniejsze zamkniÍcie obudowy. Po przylutowaniu z³¹cza naleøy wykonaÊ dwie zworki na p³ytce. NastÍpnie naleøy wy-
Fot. 2. Sposób montażu rezystorów R1...R7 (widok z góry i z boku)
96
konaÊ pod³¹czenie linii danych oraz sygna³u BUSY. Znajduj¹ siÍ one na gÛrnej stronie p³ytki, na stykach 1†do 13. Sygna³ BUSY znajduje siÍ na styku 11 z³¹cza i†pod³¹czamy go za pomoc¹ kawa³ka drutu np. z†obciÍtego wyprowadzenia rezystora do punktu lutowniczego. Podobnie pod³¹czamy liniÍ D0, obecn¹ na styku 2†z³¹cza. Pozosta³e sygna³y doprowadzamy przy pomocy rezystorÛw tak, jak to widaÊ na fot. 2. W†dalszej kolejnoúci lutujemy kondensator C2, zaú na samym koÒcu elektrolit C1. Jego umieszczenie na p³ytce jest bardzo istotne, gdyø w†przypadku montaøu w†pozycji pionowej nie bÍdzie moøna zamkn¹Ê obudowy. Musi byÊ zatem zamocowany w†pozycji poziomej. W†zaleønoúci od jego gabarytÛw (úrednicy) moøe siÍ okazaÊ, øe konieczne jest delikatne wyfrezowanie obudowy i/lub p³ytki. Najlepiej dokonaÊ tego przed wlutowaniem kondensatora, po uprzedniej przymiarce. W†przypadku prototypu zastosowano kondensator o†úrednicy 6†mm i†wysokoúci 7†mm, co wymaga³o niestety wyfrezowania wg³Íbienia w†obudowie, a†takøe w†p³ytce. Najkorzystniej zastosowaÊ zatem kondensator o†mniejszej úrednicy lub ostatecznie dwÛch kondensatorÛw 100 µF, co wymaga raczej przeprojektowania p³ytki. Praktyczniej by³oby jednak uøyÊ kondensatora 220 µF, montuj¹c go od strony elementÛw do pÛl lutowniczych przy pomocy drucikÛw. W†obudowie z³¹cza DB-25 naleøy wyci¹Ê kwadratowy otwÛr na podstawkÍ precyzyjn¹ (tulipanow¹) DIL-8 pod programowan¹ pamiÍÊ. Dogodnie jest to
Fot. 3. Widok górnej (z lewej) i dolnej (z prawej) połówki obudowy złącza DB−25.
wykonaÊ wierc¹c cztery otwory o†úrednicy 4†mm w†rogach dok³adnie wytrasowanego otworu, a†nastÍpnie wypi³owaÊ pilnikiem resztÍ. Widok tak przygotowanej gÛrnej czÍúci obudowy z³¹cza widaÊ na fot. 3. Wymiary podano w†milimetrach. Po wykonaniu otworu moøemy wstÍpnie wstawiÊ w†p³ytkÍ podstawkÍ precyzyjn¹ i†na³oøyÊ na ni¹ jeszcze drug¹. Taka piramidka zapewni odpowiedni¹ wysokoúÊ podstawki nad obudow¹. Teraz moøemy ostatecznie sprawdziÊ, czy p³ytka ze z³¹czami i†podstawk¹ pasuje do wyfrezowanej po³Ûwki. Po pomyúlnej prÛbie z³oøenia obudowy, moøna wreszcie zabraÊ siÍ za w³aúciwe lutowanie. Na pocz¹tek lutujemy uk³ad scalony, a†potem podstawkÍ precyzyjn¹ DIL-8. NastÍpnie wk³adamy drug¹ podstawkÍ w†otwory pierwszej i†mocno dociskamy. Teraz kropelk¹ cyny dobrze jest po³¹czyÊ dwie przeciwleg³e nÛøki podstawek, aby utrzymaÊ je razem. Zabezpiecza to przed wyci¹gniÍciem gÛrnej podstawki podczas wyjmowania programowanej pamiÍci. Tak zmontowan¹ p³ytkÍ wk³adamy do obudowy i†sprawdzamy po raz ostatni, czy jest dopaso-
wana. Na sam koniec warto podkleiÊ kawa³ek nieprzewodz¹cej twardej g¹bki, styropianu lub innego materia³u pod podstawkÍ. Zapobiegnie to wciskaniu p³ytki w†g³¹b obudowy podczas wk³adania programowanej pamiÍci do podstawki. Obrazuje to fot. 3. W†tym miejscu naleøy siÍ uwaga. Jako podk³adki nie moøna uøyÊ czarnej g¹bki, na ktÛrej czasami kupuje siÍ uk³ady scalone. G¹bka ta jest bowiem przewodnikiem i†moøe doprowadziÊ do groünego w†skutkach zwarcia. Po z³oøeniu obudowy i†zakrÍceniu úrubek programator jest gotowy do pracy. Micha³ Szajner
WYKAZ ELEMENTÓW Rezystory R1...R7: 240Ω Kondensatory C1: 220µF/6,3V C2: 100nF Półprzewodniki U1: 74HC05 Różne U2: podstawka precyzyjna DIP−8 − 2 sztuki Z1: wtyczka Cannon DB− 25M Obudowa wtyczki Cannon DB−25
Elektronika Elektronika Praktyczna Praktyczna 4/2003 2/98
B I B L I O T E K A
E P
W „Bibliotece EP” prezentujemy książki dotyczące zagadnień związanych z różnymi dziedzinami techniki, jednak zawsze przydatne w pracy elektronika lub pomocne w uprawianiu elektronicznego hobby. Nasza opinia jest oczywiście subiektywna, ale wynika z wieloletniego doświadczenia zawodowego i chyba jest zgodna z oczekiwaniami tych, którzy chcą z książek korzystać, a nie przyozdabiać nimi półki. Aby nie marnować miejsca w EP, nie będziemy publikować recenzji książek ocenianych na jedną lub dwie „lutownice”. Przyjęliśmy szeroką skalę ocen, aby ułatwić Czytelnikom orientację w potencjalnej przydatności książki. Uwaga! Większość prezentowanych książek można zamówić w Dziale Handlowym AVT (patrz str. 131). Chcemy w ten sposób udostępnić je Czytelnikom EP.
Stanisław Pietraszek: „Mikroprocesory jednoukładowe PIC”, Helion 2002
Wbrew realiom moøna odnieúÊ wraøenie, øe na polskim najwiÍksz¹ popularnoúci¹ ciesz¹ siÍ mikrokontrolery PIC. Na czym opieram to stwierdzenie? OtÛø niedawno na rynku wydawniczym pojawi³a siÍ druga ksi¹øka poúwiÍcona tej w³aúnie rodzinie mikrokontrolerÛw, podczas gdy s³ynne AVR oraz ë51 nie zosta³y dotychczas tak szczegÛ³owo opisane w†øadnej wspÛ³czeúnie wydanej ksi¹øce. Autorem prezentowanej ksi¹øki jest doúwiadczony wyk³adowca z†Politechniki ål¹skiej, ktÛry - zjawisko nietypowe w†úwiecie uczelnianym - doskonale radzi sobie z†zag a d n i e n i a mi p r a k ty c z n y m i. DziÍki takiemu nietypowemu po³¹czeniu powsta³a niezwykle kompetentna, ³atwa w†odbiorze, przegl¹dowa ksi¹øka, ktÛrej dodatkowym atutem jest 25 przyk³adÛw ilustruj¹cych podstawy programowania mikrokontrolerÛw PIC w†asemblerze, a†takøe przyk³adowe procedury arytmetyczne. Niedoskona³oúci¹ zawartych w†ksi¹øce przyk³adÛw jest ich silna orientacja dydaktyczna, niezupe³nie maj¹ca odniesienie do rzeczywistych problemÛw, na jakie napotykaj¹ konstruktorzy. PoúrÛd 25 przyk³a-
dÛw jest aø 14 rÛønych wariantÛw ìmigaczyî, co oczywiúcie pozwala wyjaúniÊ rÛøne sposoby odmierzania czasu przez mikrokontroler, ale praktycy chc¹cy poznaÊ nieco bardziej z³oøone zagadnienia (jak np. obs³ugÍ klawiatury matrycowej, interfejsu szeregowego, czy teø wyúwietlacza LED/LCD) pewnie nie bÍd¹ czuli siÍ usatysfakcjonowani. OprÛcz klasycznych dla takich pozycji rozdzia³Ûw, zawieraj¹cych prezentacjÍ architektury, listy rozkazÛw oraz peryferiÛw wbudowywanych w†rÛøne wersje mikrokontrolerÛw PIC16 (warte podkreúlenia, poniewaø tytu³ ksi¹øki b³Ídnie sugeruje, øe obejmuje ona swoj¹ treúci¹ wszystkie mikrokontrolery PIC), autor sporo miejsca poúwiÍci³ omÛwieniu sposobu pos³ugiwania siÍ narzÍdziami programowymi (MPASM i†MPLAB), za pomoc¹ ktÛrych tworzone s¹ projekty na mikrokontrolery PIC. Autor przygotowuj¹c prezentowan¹ ksi¹økÍ podj¹³ siÍ bardzo trudnego zadania, poniewaø zgromadzi³ w†niej informacje o†bardzo wielu rÛønych mikrokontrolerach produkowanych przez Microchipa. Pierwotnie zaproponowany przez t¹ firmÍ podzia³ (nazwijmy go ìklasycznymî) na mikrokontrolery Base-Line i†Mid-Range nie jest obecnie czytelny, moøe wrÍcz powodowaÊ pewne nieporozumienia, zw³aszcza wúrÛd pocz¹tkuj¹cych. Stworzenie uwspÛ³czeúnionej systematyki w†dynamicznie przebudo-
wywanej rodzinie mikrokontrolerÛw PIC jest skazane (jak na razie) na niepowodzenie, co z†pewnoúci¹ utrudni³o autorowi pracÍ. Z†tego powodu opisanie wszystkich PIC16 w†jednej ksi¹øce jest zadaniem karko³omnym i†w†pewnym stopniu zmniejsza czytelnoúÊ opisu, ale uzyskany efekt koÒcowy jest zaskakuj¹co dobry. Za ogromny wk³ad pracy i†kompetentne podejúcie 5†lutownic! Andrzej Gawryluk
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
Barbara Borowik, ìPamiÍci asocjacyjneî, Mikom 2002
Jest to ksi¹øka stoj¹ca nieco z†boku g³Ûwnego nurtu tematyki ìczystoî elektronicznej, ale ostatnie wydarzenia
Elektronika Praktyczna 4/2003
technologiczne (m.in. opracowanie przez firmÍ Infineon bio-chipÛw) prawdopodobnie spowoduj¹, øe dystans dziel¹cy elektronikÍ pÛ³przewodnikow¹ od biologicznych sieci neuronowych szybko zostanie pokonany. Ksi¹øka, wbrew prawdopodobnej interpretacji tytu³u przez elektronikÛw, nie jest poúwiÍcona nowemu rodzajowi
pamiÍci pÛ³przewodnikowej. Autorka zajmuje siÍ w†niej prezentacj¹ z³oøonych zagadnieÒ zwi¹zanych z†procesami uczenia siÍ rÛønych modeli sieci neuronowych, w†tym jednego szczegÛlnego mechanizmu - pamiÍci skojarzeniowych (ktÛre jednak nie maj¹ nic wspÛlnego z†pamiÍciami CAM!). Tematyka poruszana w†ksi¹øce jest interesu-
129
B I B L I O T E K A
E P Legenda:
ksi¹øka wybitna, polecamy!
ksi¹øka o†duøych walorach praktycznych, polecamy!
moøe siÍ przydaÊ
daleka od doskona³oúci
j¹ca, aczkolwiek üle siÍ sta³o, øe wyk³ad jest prowadzony na (chyba, nie jestem tego w†stanie zweryfikowaÊ) wysokim poziomie akademickim, co dla czytelnika s³abo przygotowanego (jest takich z†pewnoúci¹ ok. 99,999%) powoduje, øe jest on w†wiÍkszoúci zupe³nie nieczytelny. Szkoda tym wiÍksza, øe do tej pory nie pojawi³a siÍ w†naszym kraju przyjazna czytelnikom, popularna ksi¹øka zawieraj¹ca kompetentne wyjaúnienia czym tak naprawdÍ s¹ sieci neuronowe. Moøe nastÍpnym razem? Tomasz Jastrun
Conor Sexton, ìJÍzyk C†- to prosteî, 197 str., Wydawnictwo RM 2001
Chociaø ksi¹øka jest doúÊ stara (polskie wydanie ukaza³o siÍ dwa lata temu) to z†czystym sumieniem moøemy j¹ poleciÊ Czytelnikom EP. Jest to tym bardziej uzasadnione, øe na ³amach EP ostatnio dosyÊ czÍsto moøna natrafiÊ na listingi programÛw w†jÍzyku C†przeznaczonych dla mikrokontrolerÛw. Dodatkowo, dosyÊ duø¹ popularnoúci¹, s¹dz¹c z†nadchodz¹cych do redakcji ankiet, cieszy siÍ kurs programowania w†jÍzyku C†mikrokontrolerÛw 8051 publikowany od wielu miesiÍcy w†Elektronice Praktycznej. Dlaczego up³yw czasu nie zaszkodzi³ tej ksi¹øce? OtÛø w†ksi¹øce jest zawarty kurs programowania w†standardowym jÍzyku C, ktÛry nie zmienia siÍ tak czÍsto jak wersje oferowanych kompilatorÛw tego jÍzyka. Ponadto, opanowanie standardowego jÍzyka jest podstaw¹ do pisania programÛw zarÛwno dla komputerÛw osobistych, jak i†dla ma³ych systemÛw†zbudowanych w†oparciu o†mikrokontrolery.
130
Ksi¹øka zawiera dok³adnie to, czego moøna by³o oczekiwaÊ. Tak wiÍc po krÛtkim wprowadzeniu opisane s¹ m.in.: typy danych podstawowe i†z³oøone, sta³e, operatory arytmetyczny i†logiczne, instrukcje steruj¹ce, funkcje, wskaüniki. Po kaødym rozdziale zosta³y umieszczone Êwiczenia, ktÛrych samodzielne wykonanie pozwala na zweryfikowanie stopnia przyswojenia opisywanych zagadnieÒ. Decyduj¹c siÍ na zakup ksi¹øki ìJÍzyk C†- to prosteî naleøy zdawaÊ sobie sprawÍ, øe zawarte w†niej informacje (choÊby ze wzglÍdu na objÍtoúÊ ksi¹øki) nie wyczerpuj¹ ca³oúci tematyki zwi¹zanej z†programowaniem w†jÍzyku C. Nie jest to wad¹ ksi¹øki, gdyø by³a ona pisana z†myúl¹ o†przysz³ych programistach, stawiaj¹cych dopiero pierwsze kroki w†pisaniu programÛw w†jÍzyku C. Ksi¹øka jest napisana przystÍpnym jÍzykiem - napisanie pierwszego programu, w†tym powszechnie uwaøanym za trudny jÍzyk programowania, nie powinno byÊ zbyt ìbolesneî. Andrzej Gawryluk
nie warto kupowaÊ plet zagadnieÒ zwi¹zanych z†fizyczn¹ budow¹, sposobami sterowania i†zabezpieczania typowych elementÛw mocy, a†takøe - co niezwykle istotne przy prze³¹czaniu duøych mocy - sporo miejsca poúwiÍcili przedstawieniu w³aúciwoúci cieplnych elementÛw pÛ³przewodnikowych i†sposobÛw ich ch³odzenia. Prezentowana ksi¹øka to pierwsza czÍúÊ trylogii (mamy nadziejÍ otrzymaÊ takøe dwie nastÍpne jej czÍúci), ktÛra swoj¹ tematyk¹ obejmuje takøe przekszta³tniki i†³¹czniki elektroniczne duøej mocy (o komutacji wewnÍtrznej czÍúÊ 2†i†zewnÍtrznej - czÍúÊ 3). Czytelnikom zainteresowanym duøymi pr¹dami i†wysokimi napiÍciami gor¹co polecamy! Marek Sobiech
Leszek Fr¹ckowiak i†Stefan Januszewski, ìEnergoelektronika, czÍúÊ 1î, Wydawnictwo Politechniki PoznaÒskiej 2001
Energoelektronika nie jest dziedzin¹ zbytnio popularn¹ wúrÛd przeciÍtnych elektronikÛw, ale dziÍki takim ksi¹økom jak prezentowana, zaznajomienie siÍ z†ni¹ nie stanowi - przy odrobinie chÍci - trudnego zadania. Autorzy przedstawili w†niej bowiem praktycznie kom-
Elektronika Praktyczna 4/2003
A U T O M A T Y K A
Modułowe regulatory temperatury Regulatory z†rodziny E5ZN firmy Omron s¹ przystosowane do montaøu In-panel, co oznacza, øe konstrukcjÍ ich obudÛw zoptymalizowano pod k¹tem maksymalizacji wygody montaøu w†szafach sterowniczych. W†tym celu rozdzielono obudowy modu³Ûw od podstawek montaøowych, na ktÛrych znajduj¹ siÍ úruby zaciskowe (do pod³¹czeÒ elektrycznych) oraz zastosowano z³¹cza miÍdzymodu³owe, ktÛre zapewniaj¹ automatyczne ³¹czenie elektryczne podstawek modu³Ûw montowanych obok siebie na szynie DIN. Zastosowanie specjalnych podstawek MASTER-SLAVE umoøliwia stworzenie regulatora o maks. 32 pÍtlach regulacji PID, umieszczonych na wspÛlnej szynie komunikacyjnej i zasilania, co daje znaczn¹ oszczÍdnoúÊ na okablowaniu. W kaødej pÍtli moøna niezaleønie uruchomiÊ proces autotuningu, zapewniaj¹cy automatyczny dobÛr parametrÛw P, I i D. regulacji. Szyna komunikacyjna umoøliwia pod³¹czanie bezpoúrednio do rejestrÛw regulatora wartoúci pro-
cesowych PV i dalsz¹ regulacjÍ na przes³anych wartoúciach, a takøe odczyt i zmianÍ praktycznie wszystkich parametrÛw pracy kaødej z pÍtli PID oddzielnie. Obudowy modu³Ûw sterownikÛw maj¹ szerokoúÊ 22,5 mm. Nieco wiÍksze wymiary (48 x†48 mm) ma konsola programuj¹ca E5ZN-SDL, za pomoc¹ ktÛrej moøna programowaÊ i†monitorowaÊ stany poszczegÛlnych regulatorÛw zastosowanych w†systemie. Komunikacja pomiÍdzy urz¹dzeniami odbywa siÍ za pomoc¹ wbudowanych interfejsÛw RS485. Modu³y regulatorÛw wyposaøono w†dwa nastawniki obrotowe s³uø¹ce do ustalenia adresu w†systemie oraz umoøliwiaj¹ce wybÛr prÍdkoúci transmisji danych. DziÍki RS485 regulatory mog¹ siÍ komunikowaÊ takøe z†innymi urz¹dzeniami zastosowanymi w†systemie regulacji. Komunikacja odbywa siÍ w†trybie half-duplex z†maksymaln¹ prÍdkoúci¹ wynosz¹c¹ 38,4 kbd. Transmisja danych jest zabezpieczana za pomoc¹ detektora BCC (Block Check Character) oraz kontroli parzystoúci przesy³anych ramek da-
Regulatory temperatury s¹ zazwyczaj jednym z†fragmentÛw wiÍkszych systemÛw regulacji i†sterowania. Budowanie takich systemÛw na bazie klasycznych regulatorÛw bywa k³opotliwe, co spowodowa³o pojawienie siÍ w†sprzedaøy opracowaÒ modu³owych Inpanel. Jedn¹ z†rodzin regulatorÛw tego typu przedstawiamy w†artykule. nych. Maksymalna dopuszczana liczba wspÛ³pracuj¹cych ze sob¹ urz¹dzeÒ wynosi 16. Pomimo niewielkich wymiarÛw zewnÍtrznych, regulatory E5ZN s¹ niezwykle funkcjonalne i†oferuj¹ uøytkownikowi m.in. stabiln¹ regulacjÍ temperatury (dla grzania i†ch³odzenia) w†zamkniÍtej pÍtli regulacji 2-PID (ewentualnie On/ Off) oraz nadzÛr nad poprawnoú-
Tab. 1.
Elektronika Praktyczna 4/2003
135
A U T O M A T Y K A ci¹ dzia³ania urz¹dzenia wykonawczego (grza³ki/agregatu ch³odz¹cego). Charakterystyka dzia³ania regulatora PID moøe byÊ programowana przez uøytkownika (za pomoc¹ zewnÍtrznego nastawnika). Zakres regulacji parametrÛw jest nastÍpuj¹cy: - P†- 0,1...999,9 EU (jednostek ìinøynierskichî, charakterystycznych dla tego typu regulatorÛw), - I†- 0...3999 s, - D†- 1...99 s.
Kontrola dzia³ania urz¹dzenia wykonawczego odbywa siÍ przez monitorowanie pobieranego przez nie pr¹du, do ktÛrego to celu s¹ wykorzystywane bezystkowe transformatory, dostÍpne jako wyposaøenie opcjonalne. Regulatory E5ZN mog¹ wspÛ³pracowaÊ z†rezystancyjnymi, termoz³¹czowymi (termoparowymi) i†podczerwonymi (bezdotykowymi) czujnikami temperatury. Opcjonalnie do wejúcia regulatora moøna
do³¹czyÊ dowolny czujnik wielkoúci fizycznej z†wyjúciem napiÍciowym (0...50 mV),co pozwala z†jednej strony monitorowaÊ rÛønorodne procesy fizyczne, z†drugiej natomiast zakres monitorowanych temperatur jest bardzo szeroki (tab. 1). Wyjúcia steruj¹ce regulatorÛw mog¹ sterowaÊ bezpoúrednio przekaüniki pÛ³przewodnikowe (SSR - wyjúcie steruj¹ce zabezpieczono przed przetÍøeniem), dostÍpne s¹ takøe wersje z†dwustanowymi wyjúciami uniwersalnymi (tranzystorowymi - 30 VDC/ 50 mA) oraz wyjúciami analogowymi (pr¹dowymi). Standardowym wyposaøeniem regulatorÛw s¹ takøe wejúcia i†wyjúcia uniwersalne. Wejúcia mog¹ mieÊ rÛøne zastosowania (zaleøy to od aplikacji), natomiast wyjúcia s³uø¹ do sygnalizacji uszkodzenia urz¹dzenia wykonawczego lub do przekazywania na zewn¹trz regulatora napiÍcia z†wyjúcia pomiarowego wzmacniacza b³Ídu. Regulatory E5ZN mog¹ pracowaÊ w†otoczeniu o†temperaturze -10...+50oC, a†dopuszczalny zakres wzglÍdnej wilgotnoúci otoczenia powinien siÍ mieúciÊ w†przedziale 25...85%. Obudowa zapewnia stopieÒ ochrony IP00, co wyraünie sugeruje koniecznoúÊ montowania regulatorÛw w†obudowach urz¹dzeÒ docelowych. Andrzej Gawryluk, AVT
Dodatkowe informacje Artyku³ powsta³ na podstawie materia³ów udostêpnionych przez firmê Omron, tel. (22) 645-78-60, www.omron.com.pl.
136
Elektronika Praktyczna 4/2003
A U T O M A T Y K A
O czym należy pamiętać podczas dobierania czujnika temperatury Podstawowymi parametrami decyduj¹cymi o†doborze czujnika s¹: zakres mierzonej temperatury oraz wymagana rozdzielczoúÊ pomiaru. Typowe, wymagane dla pomiarÛw temperatury rozdzielczoúci wynosz¹ odpowiednio: 0,1oC dla temperatur do ok. 500oC, oraz 1oC dla temperatur powyøej 500 o C. Warto tutaj wspomnieÊ o†czÍstym b³Ídzie pope³nianym przy doborze urz¹dzeÒ pomiarowych: chodzi o†powszechne mylenie rozdzielczoúci odczytowej z†dok³adnoúci¹ pomiaru. RozdzielczoúÊ, jest to najmniejsza moøliwa do odczytania na wyúwietlaczu zmiana temperatury, dok³adnoúÊ zaú to potocznie mÛwi¹c, poprawnoúÊ wskazywania rzeczywistej wartoúci mierzonej temperatury. Realne, moøliwe do uzyskania rozdzielczoúci dziÍki powszechnemu stosowaniu elektronicznych uk³adÛw pomiarowych, osi¹gaj¹ wartoúÊ 0,01 oC. O†ca³kowitej dok³adnoúci pomiaru decydowaÊ wiÍc bÍdzie raczej element pomiarowy i†poprawnoúÊ wykonania instalacji pod³¹czeniowej. W†zakresie temperatur od ok. -50oC do ok. +600oC jako czujniki s¹ najczÍúciej stosowane czujniki rezystancyjne. W†tej grupie, ze wzglÍdu na szeroki zakres pomiarowy oraz wysok¹ liniowoúÊ przetwarzania, najpopularniejszy jest czujnik Pt100. W†zaleønoúci od precyzji wykonania, ich dok³adnoúÊ osi¹ga ok. 0,2oC. Jest to granica, ktÛr¹ dla typowych czujnikÛw Pt100 trudno przekroczyÊ. Na ca³e szczÍúcie, wiÍksze dok³adnoúci w†typowych aplikacjach przemys³owych nie s¹ wymagane.
Dla pomiarÛw temperatur o†wartoúci powyøej 300...400oC (nawet do 1600oC) stosuje siÍ czujniki w†postaci termopar. Na rynku dostÍpnych jest wiele rÛønych typÛw termopar, rÛøni¹cych siÍ czu³oúci¹, charakterystyk¹ przetwarzania i†dok³adnoúci¹. Ze wzglÍdu na szerokie zastosowanie, wspomnimy o†trzech podstawowych typach termopar: typu S, typu K†oraz typu J. GÛrne maksymalne mierzone za ich pomoc¹ temperatury (ze wzglÍdu na wytrzyma³oúÊ materia³Ûw) wynosz¹ odpowiednio: ok. 750 oC, ok. 1350oC oraz 1600oC. PamiÍtaÊ naleøy, øe kaøde po³¹czenie kablowe moøe byÊ ürÛd³em niepoø¹danych, zak³Ûcaj¹cych pomiar, napiÍÊ termoelektrycznych. Wszelkie po³¹czenia czujnika z†miernikiem wykonujemy wy³¹cznie przewodem kompensacyjnym, dopasowanym do typu termopary. Kaødy typ kabli kompensacyjnych posiada izolacjÍ w†úciúle okreúlonym kolorze. CzÍstym b³Ídem jest wykonanie pod³¹czenia czujnika do modu³u pomiarowego zwyk³ym przewodem miedzianym. NastÍpn¹ trudnoúci¹ jest zmienna temperatura zaciskÛw przy³¹czeniowych miernika. Aby uzyskaÊ prawid³owy pomiar, naleøy albo termostatowaÊ zaciski (co w†miernikach przemys³owych jest zabiegiem nieop³acalnym), albo mierzyÊ aktualn¹ temperaturÍ zaciskÛw miernika i†uwzglÍdniÊ j¹ przy obliczeniach wewnÍtrznych w†mierniku. Zabieg ten, nazwany kompensacj¹ zimnych koÒcÛw, niestety nie zawsze jest precyzyjny - bar-
WydawaÊ by siÍ mog³o, øe zakup odpowiedniego czujnika temperatury naleøy do czynnoúci, o†ktÛrych na progu XXI wieku nie wypada juø wspominaÊ. Jak jednak pokazuje praktyka, z†doborem czujnika do aplikacji wielu projektantÛw ma nadal problemy. W†artykule sprÛbujemy odpowiedzieÊ na pytanie, jakie problemy powinniúmy rozwaøyÊ przed wydaniem pieniÍdzy na czujnik temperatury. dzo duøo zaleøy od dok³adnoúci pomiaru temperatury zaciskÛw. W†bardzo dobrych miernikach, ostatecznie osi¹gane dok³adnoúci okreúlone s¹ na poziomie ±1oC. Z†tego m.in. wzglÍdu nie naleøy stosowaÊ termopar do pomiaru temperatur mniejszych od 200...300 oC. Nie moøna jednak generalizowaÊ - s¹ aplikacje, gdzie inny czujnik nie moøe byÊ zastosowany, pomimo wzglÍdnie niskich temperatur. Problem stabilnoúci pomiarÛw w†uk³adach z†termopar¹ zwi¹zany jest rÛwnieø z†niskim poziomem sygna³Ûw pomiarowych (rzÍdu mikrowoltÛw). Niezwykle istotne jest minimalizowanie wp³ywu wszelkich zak³ÛceÒ, mog¹cych pojawiÊ siÍ w†torze pomiarowym naszego uk³adu. Problem ten dotyczy g³Ûwnie indukowania siÍ napiÍÊ w†przewodach pod³¹czeniowych. Dlatego projektuj¹c uk³ad pomiarowy naleøy uwzglÍdniÊ rodzaj przewodÛw i†sposÛb ich u³oøenia, odleg³oúci pomiÍdzy poszczegÛlnymi elementami uk³adu oraz s¹siedztwo napÍdÛw elektrycznych.
Dodatkowe informacje
Rys. 1. Typowy układ pomiarowy temperatury z czujnikiem termoparowym
138
Niniejszy artyku³ zosta³ opracowany w oparciu o “Praktyczny podrêcznik stosowania mierników przemys³owych”. Podrêcznik dostêpny jest w Internecie pod adresem: www.simpact.pl.
Elektronika Praktyczna 4/2003