Okładka EP12/2003

Transkrypt

Okładka EP12/2003
w w w. e p . c o m . p l
ELEKTRONIKA PRAKTYCZNA •
NA CD KATALOGI FIRM: RFM, AMPIRE, AMIC ORAZ EAGLE 4.11 I AVR STUDIO 4.08
Miêdzynarodowy magazyn elektroników konstruktorów
12/2003
●
grudzień
●
15 zł 50 gr
(w tym 7% VAT)
12/2003 • grudzieñ
A U T O M A T Y K A
Dzia³anie sterowników S7-200 - podstawy,
czêœæ 2
W†tej czÍúci artyku³u przedstawiamy informacje istotne dla
pocz¹tkuj¹cych projektantÛw systemÛw sterowania, ktÛrzy buduj¹ je na
W†programach tworzonych za pomoc¹
Step7MicroWinV3.2 wykorzystuje siÍ nastÍpuj¹ce typy zmiennych:
- zmienne typu BOOL informuj¹ce o†stanie
logicznym pojedynczego bitu,
- zmienne typu BYTE odnosz¹ce siÍ do bajtu danych (8 bitÛw),
- zmienne typu WORD odnosz¹ce siÍ do
s³owa danych (16 bitÛw),
- zmienne typu DWORD odnosz¹ce siÍ do
podwÛjnego s³owa (32 bity),
- zmienne typu REAL odnosz¹ce siÍ do
wartoúci zmiennoprzecinkowych, okreúlonych jako wartoúÊ i†mantysa (32 bity).
Uøytkownik ma moøliwoúÊ wybrania
wersji jÍzykowej menu edytora. DostÍpne s¹
menu edytora w†jÍzykach: angielskim, niemieckim, francuskim i†w³oskim. Prze³¹czenie
wersji jÍzykowej nastÍpuje po wybraniu opcji Tool->Options->Language. W†opcji Tool>Options->Mnemonic Set istnieje moøliwoúÊ
wyboru postaci mnemonicznej zmiennych.
Wybieraj¹c International decydujemy, øe†wejúcia binarne oznaczone zostan¹ jako ìIî (wejúcia), zaú wyjúcia binarne jako ìQî (wyjúcia).
Ustawienie w†Mnemonic Set na SIMATIC powoduje odpowiednio oznaczanie wejúÊ jako
ìEî (Eingang) a†wyjúÊ ìAî (Ausgang).
W†przypadku pomy³ki edytor samodzielnie zamieni mnemonik na zgodny z†ustawionym standardem. Waøna cech¹ oprogramowania Step7MicroWin 32 jest moøliwoúÊ wyboru konwencji programowania. Uøytkownik na
pocz¹tku pisania programu decyduje czy bÍdzie korzysta³ z†funkcji zgodnych ze standardem SIMATIC, czy teø wszystkie instrukcje,
ktÛre bÍd¹ uøywane w†programie, bÍd¹ zgodne z†norma IEC 1131-3. Ustawienia standardu programowania dokonuje siÍ w†Tools>Options->Programing Mode.
Obszary alokacji zmiennych
W†obszarze pamiÍci wyrÛøniamy nastÍpuj¹ce obszary dla alokacji zmiennych:
- obszar adresowany bitowo oznaczony jako
ìMî (Marker). DostÍp do tego obszaru jest
moøliwy jako bitowy M0.0, bajtowy MB0,
s³owo MW0 lub podwÛjne s³owo DW0.
- Obszar oznaczony jako ìVî (Variable).
Jest to ca³y obszar bloku oznaczonego jako Data Block. Obszar ten moøe byÊ ad-
Elektronika Praktyczna 12/2003
bazie urz¹dzeÒ z†rodziny S7-200. Zaczynamy od alokacji i†funkcji
najpopularniejszych zmiennych systemowych. Dog³Íbne poznanie ich
moøliwoúci pozwoli tworzyÊ funkcjonalne i†niezawodne programy.
-
-
-
-
resowany bitowo V0.0, jako bajt VB0, s³owo VW0, lub podwÛjne s³owo VD0.
Obszar oznaczony jako ìIî lub ìEî. Jest
to obszar wejúÊ procesu. Sterownik na
pocz¹tku cyklu czyta stany sygna³Ûw na
wszystkich wejúciach i†wartoúci tych stanÛw odk³ada w†obszarze wejúÊ procesu.
Moøliwy jest odczyt sygna³Ûw wejúciowych jako pojedynczy bit I0.0, bajt
IB0,s³owo IW0, podwÛjne s³owo ID0.
Obszar oznaczony jako ìQî lub ìAî. Jest
to obszar wyjúÊ procesu. Sterownik na
koÒcu cyklu przepisuje stany sygna³Ûw
z†obszaru wyjúÊ procesu na fizyczne wyjúcia sterownika. Moøliwy jest zapis stanÛw z†obrazu wyjúÊ procesu na pojedyncze wyjúcia Q0.0(bit), grupÍ bajt QB0,
s³owo QW0, lub podwÛjne s³owo QD0.
Obszar oznaczony jako ìLî. Jest to tzw.
lokalny stos danych czyli pamiÍÊ programu przydzielona tylko dla bloku programowego np. SBRx, w†ktÛrym s¹ wywo³ywane zadeklarowane zmienne L. W†obszarze ìLî moøliwy jest dostÍp do zmiennych typu bit L0.0, bajt L0, s³owo LW0
lub podwÛjne s³owo LD0.
Obszar oznaczony jako ìSMî. Jest to pamiÍÊ znacznikÛw systemowych zapisanych
w†BIOS-ie sterownika S7-200. Zadaniem
tych znacznikÛw jest analiza pracy systemu. Wszelkie odchy³ki od prawid³owej pracy systemu sygnalizowane bÍd¹ w†znacznikach systemowych SM. Uøytkownik ma
rÛwnieø moøliwoúÊ modyfikacji tych znacznikÛw, np. w†celu zmiany prÍdkoúci przesy³u danych przez zintegrowane z³¹cze komunikacyjne sterownika S7-200.
Zegary
W†systemach automatyki wystÍpuje koniecznoúÊ precyzyjnego odmierzania czasu
z†zadan¹ dok³adnoúci¹. W†tym celu w†sterowniku S7-200 przygotowano komÛrki pamiÍci
oznaczone liter¹ ìTî (Timer). Timer jest 16bitowym rejestrem, w†ktÛrym znajduje siÍ aktualna wartoúÊ odmierzonego czasu. Numery
zegarÛw s¹ powi¹zane z†rozdzielczoúci¹ czasu jaki odmierzaj¹. W†zaleønoúci od numeru
zegara przyporz¹dkowana jest rÛøna rozdziel-
czoúÊ - np. T0 ma rozdzielczoúÊ 1†ms, zaú T1
rozdzielczoúÊ 10 ms. Zegary rÛøni¹ siÍ rÛwnieø ze wzglÍdu na funkcjonalnoúÊ. W†bibliotece Step7MicroWin znajduj¹ siÍ trzy typy zegarÛw: z†opÛünieniem na za³¹czenie, z†opÛünieniem na wy³¹czenie oraz z†opÛünieniem na
za³¹czenie i†podtrzymaniem. Liczba dostÍpnych zegarÛw uzaleøniona jest od typu CPU.
Liczniki
OprÛcz zegarÛw wykorzystywane s¹ rÛwnie czÍsto liczniki oznaczone jako ìCî (Counter). Ich zadaniem jest zliczanie impulsÛw podawanych na wejúcia binarne sterownika lub
zliczanie zmian stanÛw wewnÍtrznych znacznikÛw ìMî. Liczniki s¹ 16-bitowymi rejestrami przechowuj¹cymi aktualnie zliczon¹ iloúÊ
impulsÛw. Dziel¹ siÍ na: zliczaj¹ce w†gÛrÍ
CTU, w†dÛ³ CTD, oraz uniwersalne zliczaj¹ce
gÛra/dÛ³ - CTUD. Liczniki aktywowane s¹ narastaj¹cym zboczem sygna³u. Liczba dostÍpnych licznikÛw uzaleøniona jest od typu CPU.
Szybkie liczniki
Szybkie liczniki maj¹ rejestry 32-bitowe.
Ich zadaniem jest zliczanie impulsÛw podawanych na okreúlone wejúcia CPU z†maksymaln¹ czÍstotliwoúci¹ do 30 kHz. Odczyt
impulsÛw odbywa siÍ poza cyklem pÍtli,
nie wystÍpuje wiÍc problem z†ìgubieniemî
poszczegÛlnych impulsÛw w†zaleønoúci od
czasu przetwarzania programu. Odczyt szybkich licznikÛw dokonywany jest na ø¹danie
w†programie obs³ugi przerwania czasowego.
Szybkie liczniki oznaczane s¹ jako HSC.
Wejúcia/wyjúcia analogowe
Odczyt sygna³Ûw analogowych dokonywany jest poprzez odwo³anie w†programie
do konkretnego kana³u analogowego. Odczytywana jest aktualna wartoúÊ analogowa i†po
konwersji A/C. W†rejestrze modu³u analogowego umieszczona zostaje wartoúʆliczbowa
z†zakresu -32000...+32000 lub 0...+32000.
Aby umieúciÊ przetworzon¹ wartoúÊ w†pamiÍci sterownika naleøy wykorzystaÊ z†biblioteki programu Step7MicroWin - do tego
celu s³uøy funkcja MOV AIW0, VW10, gdzie
pierwszy kana³ analogowy oznaczony jest
jako AIW0, a†VW10 jest zmienn¹ umieszczona w†pamiÍci sterownika w†obszarze îVî
o†adresie 10. WartoúÊ analogowa reprezentowana jest przez liczbÍ 16-bitow¹.
141
A U T O M A T Y K A
Tab. 1. Zestawienie wyposażenia jednostek centralnych S7−200
Opis
CPU221
CPU222
CPU224
CPU226
Pamiêæ programu
4 kB
4 kB
8 kB
8 kB
CPU226XM
16 kB
Pamiêæ danych
2 kB
2 kB
5 kB
5 kB
10 kB
Obraz wejϾ procesu
I0.0 do I15.7
I0.0 do I15.7
I0.0 do I15.7
I0.0 do I15.7
I0.0 do I15.7
Obraz wyjϾ procesu
Q0.0 do Q15.7
Q0.0 do Q15.7
Q0.0 do Q15.7
Q0.0 do Q15.7
Q0.0 do Q15.7
Liczba kana³ów
wejϾ analogowych
-
AIW0 do AIW30
AIW0 do AIW62
AIW0 do AIW62
AIW0 do AIW62
Liczba kana³ów
wyjϾ analogowych
-
AQW0 do AQW30
AQW0 do AQW62
AQW0 do AQW62
AQW0 do AQW62
Obszar pamiêci typu
“V” podany w bajtach
VB0 do VB2047
VB0 do VB2047
VB0 do VB5119
VB0 do VB5119
VB0 do VB10239
Obszar pamiêci typu
“L” podany w bajtach
LB0 do LB63
LB0 do LB63
LB0 do LB63
LB0 do LB63
LB0 do LB63
Obszar pamiêci typu
“M” okreœlony bitowo
M0.0 do M31.7
M0.0 do M31.7
M0.0 do M31.7
M0.0 do M31.7
M0.0 do M31.7
SM0.0 do SM179.7
SM0.0 do SM 299.7
SM0.0 do SM 549.7
SM0.0 do SM 549.7
SM0.0 do SM 549.7
256 (T0 do T255)
256 (T0 do T255)
256 (T0 do T255)
256 (T0 do T255)
256 (T0 do T255)
1ms
10ms
T0,T64
T1 do T4 i T65 do T68
T0,T64
T1 do T4 i T65 do T68
T0,T64
T1 do T4 i T65 do T68
T0,T64
T1 do T4 i T65 do T68
T0,T64
T1 do T4 i T65 do T68
100ms
T5 do T31 i T69 do T95
T5 do T31 i T69 do T95
T5 do T31 i T69 do T95
T5 do T31 i T69 do T95
T5 do T31 i T69 do T95
1 ms
10ms
T32, T96
T33 do T36 i T97 do T100
T32, T96
T33 do T36 i T97 do T100
T32, T96
T33 do T36 i T97 do T100
T32, T96
T33 do T36 i T97 do T100
T32, T96
T33 do T36 i T97 do T100
100ms
T37 do T63 i T101 do T255
T37 do T63 i T101 do T255
T37 do T63 i T101 do T255
T37 do T63 i T101 do T255
T37 do T63 i T101 do T255
Liczniki
C0 do C255
C0 do C255
C0 do C255
C0 do C255
C0 do C255
HC0,HC3,HC4,HC5
HC0,HC3,HC4,HC5
HC0 do HC5
HC0 do HC5
HC0 do HC5
Obszar znaczników
systemowych “SM”
Zagary “Timers”
OpóŸnienie na za³¹czenie z podtrzymaniem
OpóŸnienie na
za³¹czenie/wy³¹czenie
Szybkie liczniki HSC
Akumulatory
AC0 do AC3
AC0 do AC3
AC0 do AC3
AC0 do AC3
AC0 do AC3
Skoki do etykiety
0 do 255
0 do 255
0 do 255
0 do 255
0 do 255
Liczba podprogramów
0 do 63
0 do 63
0 do 63
0 do 63
0 do 127
Liczba funkcji wykrywania zbocza narastaj¹cego/opadaj¹cego
256
256
256
256
256
Iloœæ pêtli regulacji PID
0 do 7
0 do 7
0 do 7
0 do 7
0 do 7
Porty komunikacyjne
Port0
Port0
Port0
Port0,Port1
Port0,Port1
Analogicznie sytuacja przedstawia siÍ
z†wyjúciami analogowymi, przy czym naleøy
wykonaÊ operacjÍ odwrotn¹, czyli przetworzon¹ wartoúÊ z†zakresu -32000...+32000, przechowywan¹ w†pamiÍci sterownika naleøy przes³aÊ
na konkretny kana³ analogowy za pomoc¹ instrukcji MOV VW10, AQW0, gdzie VW10 jest
zmienna w†sterowniku, a†AQW0 jest pierwszym kana³em wyjúciowym analogowym.
Akumulatory
Akumulatory s¹ 32-bitowymi rejestrami,
s³uø¹cymi do przechowywania wynikÛw poúrednich obliczeÒ oraz wykorzystywane s¹
przy adresowaniu za pomoc¹ wskaünikÛw.
Jednym z†zastosowaÒ akumulatorÛw†jest przekazywanie parametrÛw do podprogramÛw
i†z†powrotem. W†CPU znajduj¹ siÍ 4†akumulatory oznaczone AC0, AC1, AC2, AC3.
Rys. 1
142
Sta³e
Wiele operacji arytmetycznych wymaga
okreúlenia wartoúci sta³ych. Mog¹ byÊ one
okreúlone jako wartoúci typu: binarnego,
dziesiÍtnego, hexadecymalnego, ASCII,
zmiennoprzecinkowego. Przyk³adowe deklaracje wartoúci sta³ych:
Sta³a dziesiêtna
2022
Sta³a hexadecymalna
16#4AE3
Sta³a ASCII
‘ proba ‘
Sta³a zmiennoprzecinkowa
+1.175495E-38
lub typu Real
Sta³a binarna
2#1000_1001_1010_0100
Adresowanie poúrednie
Adresowanie poúrednie jest wykorzystywane jako jeden z†najefektywniejszych sposobÛw dostÍpu do danych znajduj¹cych siÍ
w†pamiÍci sterownika. DziÍki adresowaniu
poúredniemu istnieje
moøliwoúÊ adresowania tabel danych i†³atwego zarz¹dzania nimi. Aby uzyskaÊ dostÍp do danej w†sposÛb poúredni najpierw
naleøy
utworzyÊ
wskaünik adresowy,
ktÛry wskazuje na t¹
dan¹. Wskaünik jest
zmienn¹ 32-bitow¹ typu podwÛjne s³owo. Jako wskaünik moøe byÊ uøyta zmienna z†obszaru ìVî - np. VD200, akumulator - np.
AC1, zmienna lokalna ìLî - np. L6. Aby wygenerowaÊ wskaünik naleøy skorzystaÊ z†funkcji MOVD znajduj¹cej siÍ w†bibliotece funkcji programu Step7MicroWin. Aby poinformowaÊ, øe chcemy zadeklarowaÊ wskaünik
do danej VW10 a†nie przes³aÊ wartoúÊ danej
do np. akumulatora, koniecznym jest poprzedzenie adresu, na ktÛry ma wskazywaÊ
wskaünik znakiem ì&î, np.:
MOV &VW10, AC1
MOV &MB4, VD5
MOV &C4, L6
Tak wytworzony wskaünik wskazuje obecnie na konkretna dan¹ czyli jak w†przyk³adach
powyøej na VW10, MB4, C4. Jeøeli chcemy
odczytaÊ wartoúÊ zawarta w†danej, wskazywanej przez wskaünik naleøy wykonaÊ czynnoúci
jak w†przyk³adzie pokazanym na rys. 1.
Micha³ Bereza, Siemens
Dodatkowe informacje
Pe³na dokumentacja w jêzyku angielskim do sterownika S7-200 oraz oprogramowanie STEP7MicroWin
znajduje siê na p³ycie CD-EP12/2003B oraz w Internecie
pod adresem: www.siemens.pl/simatic w podkatalogu
Katalogi>Instrukcje.
Elektronika Praktyczna 12/2003
P O D Z E S P O Ł Y
P O D Z E S P O Ł Y
Przetwornice DC/DC
dla urz¹dzeñ elektroniki
przemys³owej
Wydawa³oby siê, ¿e przetwornice DC/DC osi¹gnê³y
tak wysoki stopieñ rozwoju, ¿e producenci nie
bardzo maj¹ co ju¿ przy nich robiæ. Jak siê jednak
okazuje, d¹¿enie do obni¿enia kosztów i poprawy
parametrów powoduj¹, ¿e Traco Power - jeden
z najwiêkszych producentów przetwornic - co
miesi¹c ma siê czym pochwaliæ.
W tym miesi¹cu skupimy siê na dwóch nowych modelach przetwornic z serii TEL. Maj¹ one niezwykle istotn¹ cechê wspóln¹: s¹
tanie, zw³aszcza jeœli wzi¹æ pod uwagê fakt, ¿e parametrami s¹
niemal¿e identyczne ze znanymi na naszym rynku (ju¿ nie tylko
z EP) przetwornic z rodziny TEN.
2 W w DIL16
Najmniejszy (gabarytowo i mocowo) model z rodziny TEL. Maksymalna moc dostarczana do obci¹¿enia wynosi 2 W, co jest nie
lada osi¹gniêciem, poniewa¿ przetwornica
mieœci siê w obudowie o obrysie odpowiadaj¹cym DIL16 i wysokoœci 7,62 mm.
Pomimo tak niewielkich rozmiarów
napiêcie przebicia izolacji pomiêdzy wyjœciem i wejœciem
ma wartoϾ 1000 VDC,
przy
rezystancji
jej
up³ywnoœci wynosz¹cej
wiêcej ni¿ 1 GΩ.
Przetwornice TEL-2 s¹
Elektronika Praktyczna 12/2003
produkowane w czterech grupach przystosowanych do zasilania
napiêciami z zakresów: 4,5...9,0 V, 9...18 V, 18...36 V i 36...72 V.
W ka¿dej z tych grup znajduj¹ siê przetwornice o napiêciu wyjœciowym wynosz¹cym: 3,3 V, 5 V, 12 V, 15 V, ±5 V, ±12 V lub ±15
V. Napiêcie wyjœciowe jest oczywiœcie stabilizowane - producent
gwarantuje dok³adnoœæ ustawienia napiêcia ±2%, stabilnoœæ w funkcji zmian obci¹¿enia (0,25...0,75*Imax) nie gorsz¹ ni¿ 0,75%,
a w funkcji zmian napiêcia wejœciowego nie gorsz¹ ni¿ ±0,5%. Napiêcie wyjœciowe zmienia wartoœæ w funkcji temperatury otoczenia
o ±0,02%/K, a maksymalna amplituda têtnieñ (w paœmie do 20
MHz) nie jest wiêksza ni¿ 50 mVpp. Warto tu zwróciæ uwagê na fakt,
¿e przetwornice TEL-2 pracuj¹ce z obci¹¿eniem mniejszym ni¿
0,25*Imax wytwarzaj¹ nieco “gorsze” napiêcie na wyjœciu. Zgodnie
z informacjami producenta, w takim przypadku napiêcie têtnieñ
na wyjœciu mo¿e mieæ wiêksz¹ - ni¿ deklarowana w danych katalogowych - wartoœæ.
Obwód wejœciowy przetwornicy wyposa¿ono w filtr zapobiegaj¹cy przenoszeniu zak³óceñ impulsowych do linii zasilaj¹cej
(zgodnie z norm¹ EN55022A). Z kolei obwody wyjœciowe wyposa¿ono w zabezpieczenie przeciwzwarciowe, dziêki któremu
ryzyko uszkodzenia wewnêtrznych obwodów przetwornicy jest
stosunkowo niewielkie. Relatywnie wysoka sprawnoϾ energetyczna przetwornic
(64...81% w zale¿noœci
od modelu) tak¿e sprzyja ich
d³ugowiecznoœci - w obudowach
o tak niewielkiej objêtoœci wytracanie du¿ej iloœci energii musia³oby
spowodowaæ znaczne skrócenie
czasu niezawodnej pracy, który
w przypadku TEL-2 wynosi 1,2 mln. godzin
139
P O D Z E S P O Ł Y
(w temperaturze otoczenia 25oC). Pewien jakoœci swoich wyrobów producent zapewnia 3-letni¹ gwarancjê na wszystkie modele z serii TEL-2.
nej w³¹cza siê ogranicznik pr¹dowy, zapewniaj¹cy bezpieczeñstwo obwodom wyjœciowym przetwornicy.
Czemu dla przemys³u?
6 W w DIP24
Nieco wiêksze gabarytami i oczywiœcie dopuszczaln¹ moc¹ obci¹¿enia s¹ przetwornice TEL-5. Wbrew sugestii zawartej w ich nazwie, maksymalna moc wyjœciowa wynosi 6 W, co jak na obudowê o gabarytach zbli¿onych do DIP24 (wysokoœæ wynosi 10,2
mm) jest wartoœci¹ doœæ znaczn¹. W odró¿nieniu od przetwornic
TEL-2, obudowy przetwornic TEL-5 s¹ wykonane z metalu, co
zmniejsza ich rezystancjê termiczn¹. Dziêki temu maksymalna dopuszczalna temperatura obudowy wynosi 90oC, a zakres temperatur otoczenia -40...+71oC. Dziêki wiêkszym (ni¿ TEL-2) wymiarom obudowy, napiêcie przebicia izolacji pomiêdzy wyjœciem
i wejœciem wynosi 1500 VDC.
Przetwornice TEL-5 s¹ dostêpne w dwóch wersjach, przystosowanych do zasilania napiêciami 9...18 VDC lub 18...36 VDC. Uzyskiwane wartoœci napiêæ wyjœciowych s¹ takie same, jak w przypadku serii TEL-2. Sprawnoœæ energetyczna TEL-5 mieœci siê
w przedziale 77...86% w zale¿noœci od modelu. Deklarowana
przez producenta dok³adnoœæ ustawienia napiêcia wyjœciowego
wynosi ±1%, a maksymalna zmiania wartoœci w funkcji zmiany
napiêcia zasilaj¹cego nie przekracza ±0,3%. Niestabilnoœæ napiêcia wyjœciowego w funkcji zmian pr¹du obci¹¿enia nie przekracza
±1%. Pozosta³e parametry elektryczne, poza amplitud¹ têtnieñ na
wyjœciu (max. 75 mVpp), s¹ bardzo podobne do parametrów przetwornic TEL-2. Identyczne s¹ tak¿e wbudowane zabezpieczenia przy pr¹dzie wyjœciowym wiêkszym o 20% od wartoœci maksymal-
140
Teraz pokrótce odpowiem na pytanie, które prawdopodobnie
nasunie siê wiêkszoœci Czytelników: jaka¿ to cecha predestynuje
przetwornice z rodziny TEL do zastosowañ przemys³owych?
Po pierwsze: niezawodnoœæ. Niewielu producentów udziela 3letniej gwarancji na swoje wyroby, zw³aszcza przystosowane do
(potencjalnie) tak trudnych warunków pracy jak w zasilaczach.
Po drugie: przystosowanie do pracy w szerokim zakresie temperatur i przy du¿ej wilgotnoœci, osi¹gaj¹cej wartoœæ (wilgotnoœæ
wzglêdna) 95%.
Po trzecie: chocia¿ w niektórych przypadkach mo¿e najwa¿niejsze - niska cena, pozwalaj¹ca aplikowaæ przetwornice do urz¹dzeñ
produkowanych zarówno w niewielkich, jak i du¿ych iloœciach.
Po czwarte: odpornoœæ na b³êdy obs³ugi. Oprócz wspomnianych zabezpieczeñ przeciwzwarciowych przetwornice wyposa¿ono w zabezpieczenia przed odwrotn¹ polaryzacj¹ napiêcia zasilaj¹cego.
Tylko tyle i a¿ tyle. Myœlê, ¿e u¿ytkownicy sami oceni¹ przydatnoœæ tych nowoczesnych podzespo³ów.
Andrzej Gawryluk, EP
Dodatkowe informacje s¹ dostêpne na stronie producenta:
www.tracopower.com.
Dystrybutorem firmy TracoPower jest Amtek spol. s r.o., tel. (22)
423 91 18, [email protected], www.amtek.pl.
Elektronika Praktyczna 12/2003
A U T O M A T Y K A
Nowe sterowniki modułowe
firmy Omron
SzybkoúÊ automatyzacji naszego
otoczenia jest tak duøa, øe
Omron wprowadzi³ na rynek
now¹ rodzinÍ miniaturowych sterownikÛw do systemÛw automatyki - CJ1. Wydarzenie - co prawda
- niezbyt sensacyjne, ale istotne
dla projektantÛw systemÛw automatyki: dziÍki tym sterownikom
znacznie ³atwiejsze niø dotychczas
sta³o siÍ budowanie optymalnych
(pod wzglÍdem kosztÛw, wymiarÛw
fizycznych i†sposobu programowania) systemÛw sterowania i†regulacji. Czemu tak?
W†sk³ad rodziny CJ1 wchodzi
ca³a gama rÛønorodnych modu³Ûw,
poúrÛd ktÛrych jednostki centralne
(CPU) s¹ tylko jednym wielu elementÛw, z†ktÛrych moøna budowaÊ
system. DziÍki temu projektant moøe bez wiÍkszego trudu dobraÊ do
wymogÛw aplikacji zarÛwno CPU
jak i†wszystkie peryferia, wúrÛd
ktÛrych s¹ dostÍpne zarÛwno stosunkowo proste modu³y cyfrowych
i†analogowych wejúÊ/wyjúÊ, zasilacze, jak i†kompletne interfejsy sieciowe (Ethernet, DeviceNet, ControllerLink, Profibus DP, CompoBus), czy teø kompletne mini-ste-
Elektronika Praktyczna 12/2003
rowniki lokalnie obs³uguj¹ce fragmenty zadaÒ odci¹øaj¹c CPU. Maksymalna liczba obs³ugiwanych
przez CPU linii I/O w†systemie CJ1
wynosi 2560 (w maksimum 40 rÛønych modu³ach I/O), dodatkowo
uøytkownik moøe mieÊ do dyspozycji 34 porty komunikacji szeregowej. DostÍpne s¹ takøe modu³y
szybkich licznikÛw (czÍstotliwoúÊ
zliczania do 500 kHz), pozycjonowania serwonapÍdÛw, lokalnych
regulatorÛw temperatury itp. Do
kaødego zestawu moøna do³¹czyÊ
(za pomoc¹ specjalnego modu³u
komunikacyjnego) do trzech dodatkowych zestawÛw†oddalonych od
siebie na odleg³oúÊ do 12 metrÛw.
Nie musz¹ byÊ one wyposaøane
w†CPU.
W†ramach prezentowanej rodziny urz¹dzeÒ, producent oferuje
8†rÛønych wersji jednostek centralnych, w†tym takøe wyposaøonych
w†zintegrowane interfejsy I/O. Niewielkie wymiary obudowy kontrastuj¹ z†duøymi moøliwoúciami
CPU. DostÍpna dla aplikacji uøytkownika pamiÍÊ programu ma po-
coraz czÍúciej nie zdajemy
sobie sprawy z†dyskretnej
obecnoúci cichych ìs³uø¹cychî.
Rewolucja by³a moøliwa dziÍki
wprowadzeniu do sprzedaøy
przez producentÛw urz¹dzeÒ
automatyki miniaturowych
(najczÍúciej tylko rozmiarami)
sterownikÛw PLC, ktÛrych
³atwoúÊ obs³ugi i†niska cena
spowodowa³y, øe trafi³y one
ìpod strzechyî.
jemnoúÊ 120 ks³Ûw, a†dla danych
udostÍpniono aø 256 ks³Ûw (z podzia³em na banki). Takøe szybkoúÊ
wykonywania rozkazÛw jest zaskakuj¹co duøa. Dla przyk³adu, czas
wykonywania instrukcji LD wynosi 20 ns, a†bardziej z³oøonej, wie-
135
A U T O M A T Y K A
loargumentowej instrukcji MOV
180 ns. Duøa prÍdkoúÊ dzia³ania
CPU zapewnia czÍste skanowanie
stanu linii I/O - w†przypadku 64
linii†I/O aktualizacja stanu wyjúÊ
odbywa siÍ co 15 µs, a†stanu wejúÊ
co 12 µs.
W†zaleønoúci od potrzeb, uøytkownik buduj¹cy aplikacjÍ moøe
wykorzystaÊ do 4096 timerÛw
i†do 4096 licznikÛw jednoczeúnie,
przy czym zasoby sterownika s¹
zajmowane wy³¹cznie przez timery i†liczniki wykorzystywane
w†programie. Tworzenie programÛw steruj¹cych prac¹ CPU jest
³atwiejsze niø w†przypadku wiÍkszoúci dotychczas dostÍpnych sterownikÛw (takøe tych z†wyøszej
ìpÛ³kiî), poniewaø zestaw obs³ugiwanych instrukcji jest bardzo
bogaty (jest ich aø 400). DostÍpne s¹ m.in. instrukcje obs³ugi kolejek FIFO i†LIFO, obliczeÒ sta³o-
i†zmiennoprzecinkowych, transferÛw blokowych (do 65535 s³Ûw)
a†takøe instrukcje umoøliwiaj¹ce
wygodn¹ obs³ugÍ tablic danych.
Programy moøna dzieliÊ na zadania, ktÛre s¹ wykonywane sekwencyjnie w†sposÛb okreúlony
przez uøytkownika (pozwala to na
budowanie programÛw†wykonywanych quasi rÛwnolegle). Programy
oraz dane wymagaj¹ce przenoszenia mog¹ byÊ przechowywane na
kartach pamiÍci nieulotnej Flash.
ZawartoúÊ wewnÍtrznej pamiÍci
danych jest podtrzymywana
dziÍki wbudowanej baterii litowej.
Producent dbaj¹c o†dotychczasowych uøytkownikÛw produkowanych przez siebie sterownikÛw
PLC, umoøliwi³ ³atwe przenoszenie
wczeúniej przygotowanych programÛw na sterowniki CJ1. W†wiÍkszoúci przypadkÛw konwersja odbywa si͆ca³kowicie automatycznie
- wykonuje j¹ program narzÍdziowy CX-Programmer.
Budowanie systemÛw na urz¹dzeniach z†rodziny CJ1 jest wygodne takøe od strony mechanicznej: wymiary modu³Ûw s¹ niewielkie (úciany boczne modu³Ûw s¹
niewiele wiÍksze od karty kredytowej - 90 x†65 mm) i†s¹ one
przystosowane do bezpoúredniego
montaøu na szynie DIN. Po³¹czenia pomiÍdzy modu³ami s¹ wykonywane automatycznie podczas
ich instalacji na szynie - nie ma
wiÍc koniecznoúci kupowania specjalnych instalacyjnych p³yt bazowych, a†ca³y system moøna wbudowaÊ np. w†typow¹ skrzynkÍ
bezpiecznikow¹.
Prezentowane urz¹dzenia s¹ juø
dostÍpne takøe w†naszym kraju.
Wiele wskazuje na to, øe ich moøliwoúci i†ogromna elastycznoúÊ,
przyci¹gan¹ rzesze nowych uøytkownikÛw, bo przecieø coraz
wiÍkszego znaczenia nabiera wygoda budowania systemÛw, moøliwoúÊ optymalizacji ich ceny
i†szybkoúÊ tworzenia aplikacji steruj¹cych. Te wszystkie zadania
moøna ³atwo wykonaÊ korzystaj¹c
z†CJ1.
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 12/2003
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.
Publikowane w EP recenzje książek można znaleźć w Internecie pod adresem biblioteka.ep.com.pl.
Uwaga! Większość prezentowanych książek można zamówić w Dziale Handlowym AVT (patrz str. 133).
Chcemy w ten sposób udostępnić je Czytelnikom EP.
Praca zbiorowa, „Synteza układów cyfrowych”, WKŁ 2003
Fani uk³adÛw programowalnych
na pewno siÍ uciesz¹: mamy kolejn¹ na rynku wydawniczym pozycjÍ poúwiÍcon¹ tym nowoczesnym uk³adom. Ksi¹øka ³¹czy
w†swojej treúci zaawansowan¹ teoriÍ z†praktycznymi aspektami implementacji projektÛw w†uk³adach
PLD, co pokazano na czterech
przyk³adach, z†ktÛrych dwa s¹
szczegÛlnie interesuj¹ce: modu³
kryptograficzny DES i†filtr cyfrowy
- obydwa zapisane w†jÍzyku VHDL.
Ksi¹økÍ rozpoczyna wprowadzenie do podstaw teoretycznych dzia³ania i†zasad projektowania uk³adÛw kombinacyjnych i†sekwencyjnych. Autorzy szczegÛlnie duøo
miejsca poúwiÍcili przedstawieniu
metod ìrÍcznegoî optymalizowania
projektÛw wykonywanych na uk³adach cyfrowych, a†takøe komputerowym systemom syntezy logicznej
(Espresso, SIS oraz autorskiego opracowania - DEMAIN). Rozdzia³
czwarty zawiera podstawowe infor-
Kazimierz Wiatr, ìAkceleracja
obliczeÒ w†systemach
wizyjnychî, WNT 2003
Ksi¹øka niezwyk³a: porusza niezwykle nowoczesne zagadnienia zwi¹zane z†cyfrow¹ obrÛbk¹ sygna³Ûw, pokazuje jej wiele praktycznych aspektÛw (zarÛwno od strony elektroniki jak
i†jej zastosowaÒ), do tego jej autor co bardzo w†EP lubimy - ma wyraün¹
ìøy³kÍî konstruktora. Co prawda za-
Elektronika Praktyczna 12/2003
macje o†elementarnych uk³adach
cyfrowych oraz rzadko juø stosowanych w†praktyce, ale dobrze ilustruj¹cych poruszane w†ksi¹øce zagadnienia, uk³adach mikroprogramowanych. Warto zwrÛciÊ uwagÍ,
øe†algorytm DEMAIN opracowany
w†Instytucie Telekomunikacji Politechniki Warszawskiej (gdzie pracuj¹ autorzy ksi¹øki) umoøliwia
znaczne ograniczenie do niezbÍdnego minimum zasobÛw uk³adÛw
PLD podczas implementacji projektÛw, co przek³ada siÍ na cenÍ implementacji projektÛw w†uk³adach
PLD. W†ksi¹øce przedstawiono sposÛb pos³ugiwania siÍ tym oprogramowaniem jako narzÍdziem pomocniczym, wspÛ³pracuj¹cym z†systemem Max+Plus II. Poniewaø†- jak
deklaruj¹ autorzy - oprogramowanie
realizuj¹ce algorytm DEMAIN jest
przez nich udostÍpniane bezp³atnie,
czytelnicy ksi¹øki bÍd¹ mieli moøliwoúÊ jego samodzielnego przetestowania i†wykorzystania we w³asnych projektach.
Kolejny - pi¹ty - rozdzia³ zawiera skrÛcony kurs dwÛch popularnych jÍzykÛw opisu sprzÍtu AHDL (lokalny jÍzyk stosowany
w†systemach projektowych firmy
Altera) oraz VHDL. DziÍki duøej
liczbie przyk³adÛw†prezentowane
zagadnienia s¹ przejrzyúcie objaú-
gadnienia poruszane w†ksi¹øce nie naleø¹ do grupy popularnych, ale dziÍki
ich przejrzystej prezentacji i†duøemu
naciskowi na zagadnienia praktyczne,
ksi¹øka ma charakter niemaløe poradnikowy (w najlepszym znaczeniu tego
s³owa). OprÛcz prezentacji algorytmÛw
obrÛbki obrazÛw i†efektÛw ich dzia³ania, autor wiele miejsca przeznaczy³
na omÛwienie architektur specjalizowanych uk³adÛw wykorzystywanych w†takich aplikacjach. Przedstawi³ takøe alternatywne do ASIC-Ûw sposoby realizacji sprzÍtowych koprocesorÛw wspomagaj¹cych obrÛbkÍ obrazu, w†tym re-
nione i†mog¹ byÊ pomocne zarÛwno podczas nauki jÍzyka, jak
i†podczas realizacji projektÛw.
Reasumuj¹c: jest to bardzo interesuj¹ca pozycja, przydatna szczegÛlnie tym elektronikom, ktÛrzy
maj¹ juø doúwiadczenie w†korzystaniu z†uk³adÛw programowalnych.
Piotr ZbysiÒski
konfigurowalne uk³ady programowalne
i†procesory sygna³owe (DSP). Przy
okazji prezentacji struktur rekonfigurowalnych, autor przedstawi³ takøe kilka
rekonfigurowalnych koprocesorÛw uniwersalnych, opracowanych w†rÛønych
oúrodkach akademickich.
Tak wiÍc, prezentowan¹ ksi¹økÍ
polecam Czytelnikom zainteresowanym
zastosowaniami szeroko rozumianej
nowoczesnej elektroniki, bo pomimo
jej stosunkowo w¹skiej tematyki, sposÛb przedstawienia wiÍkszoúci poruszanych zagadnieÒ jest bardzo uniwersalny i†moøe byÊ przydatny w†wie-
131
B I B L I O T E K A
E P
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
lu innych zastosowaniach. Jedynym
niedoci¹gniÍciem
zauwaøonym
w†ksi¹øce jest (co prawda niezbyt
czÍste) odwo³ywanie siÍ autora do
uk³adÛw PLD, ktÛre nie s¹ produkowane od wielu juø lat (jak choÊby
XC2000, XC3000, MAX5000, niektÛre
wersje XC4000, DY8000) lub nigdy
nie znalaz³y siÍ w†produkcji seryjnej
(jak XC6200). Brak s³owa wyjaúnienia
moøe spowodowaÊ, øe†Czytelnicy zainteresowani praktycznymi aspektami
prezentowanych zagadnieÒ bÍd¹ bezowocnie szukali tych uk³adÛw u†dystrybutorÛw, niestety bezowocnie.
Zas³uøone 4†lutownice!
Piotr ZbysiÒski
nie warto kupowaÊ
Tomasz P. ZieliÒski,
ìOd teorii do cyfrowego
przetwarzania sygna³Ûwî,
AGH 2002
Szkoda, øe dotarliúmy do tej ksi¹øki tak pÛüno. Sta³o siÍ tak przede
wszystkim dlatego, øe ksi¹øki wydawane przez wydawnictwa uczelniane nie
s¹ zbytnio propagowane na rynku, co
w†wielu przypadkach (ze wzglÍdu na
silne ìprzywi¹zanieî ksi¹øek tego typu do lokalnych warunkÛw uczelnianych) jest oczywiúcie usprawiedliwione, ale - jak s¹dzÍ - ta ksi¹øka ma
szansÍ zainteresowaÊ wielu inøynierÛw
zajmuj¹cych siÍ lub zamierzaj¹cych zaj¹Ê siÍ cyfrow¹ obrÛbk¹ sygna³Ûw.
Autor przygotowa³ potÍøn¹ (576
stron) monografiÍ, ktÛrej treúÊ doskonale oddaje tytu³: od teorii (jest jej
bardzo duøo, ale podana w†nadzwyczaj
przystÍpny sposÛb) do cyfrowego prze-
132
twarzania sygna³Ûw. Tu uwaga: czytelnicy oczekuj¹cy schematu cyfrowej
konsoli audio bÍd¹ z†pewnoúci¹ zawiedzeni, poniewaø w†ksi¹øce nie ma ani
jednego przyk³adu tego typu, co zreszt¹ autor zapowiedzia³ w†przedmowie.
Moøna natomiast znaleüÊ w†niej komplet informacji teoretycznych, ktÛrych
przyswojenie jest warunkiem úwiadomego pos³ugiwania siÍ uk³adami DSP.
Ilustracj¹ sporej dawki teorii s¹ interesuj¹ce przyk³ady (w tym kodowanie
MPEG), przez ktÛre moøna szczÍúliwie
przebrn¹Ê, o†ile znajdziemy w†sobie
doúÊ energii na wczeúniejsze poznanie
zaawansowanej teorii.
Andrzej Gawryluk
Elektronika Praktyczna 12/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.
Tester kabli sieciowych LAN
Urz¹dzenie
prezentowane w†artykule
s³uøy do sprawdzania
poprawnoúci wykonania
kabli ³¹cz¹cych komputer
z†gniazdkiem sieci LAN,
kabli komputer-komputer,
komputer-router itp. Moøe
byÊ ono uøywane przez
instalatorÛw†do
sprawdzania poprawnoúci
wykonania instalacji LAN
oraz poprawnoúci
wykonania kabli patch-cord
³¹cz¹cych urz¹dzenia
sieciowe.
Rekomendacje: niezbyt
skomplikowany, a†mimo to
uøyteczny przyrz¹d,
przydatny zw³aszcza
w†serwisach komputerÛw
i†uøytkownikom lokalnych
(osiedlowych) sieci
komputerowych.
Elektronika Praktyczna 12/2003
Pomiar wykonywany jest
na zasadzie testu ci¹g³oúci
kaødej øy³y oddzielnie. Wykrywane s¹ przerwy, zwarcia
i†pomy³ki w†pod³¹czeniu øy³.
Nie s¹ wykonywane natomiast pomiary t³umiennoúci
par i†przes³uchÛw†sygna³Ûw
miÍdzy nimi.
W†dobie komputerÛw i†Internetu, ktÛry zawita³ pod
strzechy, powszechne jest budowanie sieci komputerowych.
W†sieciach komputerowych
LAN doprowadzaj¹cych Internet do naszych mieszkaÒ lub
biur wykorzystuje siÍ standard
Ethernet. Podstaw¹ budowy takiej sieci jest poprowadzenie
oddzielnego kabla (zwykle jest
to skrÍtka UTP czasem FTP
lub STP) od huba lub switcha
do kaødego komputera.
Wykorzystuje siÍ w†tym
przypadku kable ìprosteî, wykonane w†standardzie EIA/TIA
568A lub B. Kabli skrosowanych uøywa siÍ do ³¹czenia
bezpoúredniego dwÛch komputerÛw. Taki kabel jest zakoÒczony z†jednej strony zgodnie z†wymaganiami standardu
EIA/TIA568A, a†z†drugiej strony z†wymaganiami EIA/
TIA568B. MÛwi¹c proúciej, para TX z†jednej strony jest pod³¹czona do pary RX z†drugiej.
Kabel UTP sk³ada siÍ
z†8†øy³ plus ekranu (w przypadku kabli STP lub FTP).
Øy³y s¹ po³¹czone w†4†pary.
Kaøda para drutÛw jest skrÍcona ze sob¹ i†dlatego potocznie mÛwi siÍ na te kable
ìskrÍtkaî. Ponadto, kaødy
drut jest oznaczony kolorem.
W†sk³ad pary wchodzi kabel
oznaczony kolorem oraz bia³y z†kolorem lub bia³y. Powszechnie stosowane kolory
to zielony, niebieski, pomaraÒczowy i†br¹zowy oraz
bia³y†z†kolorem lub bia³y. Pary s¹ oznaczone nastÍpuj¹co:
Para #1 bia³o-niebieski, niebieski
Para #2 bia³o-pomaraÒczowy, pomaraÒczowy
Para #3 bia³o-zielony, zielony
Para #4 bia³o-br¹zowy, br¹zowy.
Projekt
114
Waøne jest odpowiednie
pod³¹czenie par do stykÛw
wtyku RJ45. Rozk³ad i†numeracjÍ stykÛw we wtyku RJ45
pokazano na rys. 1.
Standard EIA/TIA568A
okreúla nastÍpuj¹cy sposÛb
pod³¹czenia przewodÛw:
Styk 1 bia³o-zielony
Styk 2 zielony
Styk 3 bia³o-pomaraÒczowy
Styk 4 niebieski
Styk 5 bia³o-niebieski
Styk 6 pomaraÒczowy
Styk 7 bia³o-br¹zowy
Styk 8 br¹zowy
czyli
Styki 1, 2
para #3
Styki 3, 6
para #2
Styki 5, 4
para #1
Styki 7, 8
para #4
Natomiast wed³ug standardu EIA/TIA568B ³¹czymy
w†pary:
Styk 1 bia³o-pomaraÒczowy
Styk 2 pomaraÒczowy
Styk 3 bia³o-zielony
Styk 4 niebieski
Styk 5 bia³o-niebieski
Styk 6 zielony
Styk 7 bia³o-br¹zowy
Styk 8 br¹zowy
czyli
Styki 1, 2
para #2
Styki 3, 6
para #3
Styki 5, 4
para #1
Styki 7, 8
para #4
Rys. 1. Rozmieszczenie styków
we wtyku złącza RJ45
101
PROJEKTY CZYTELNIKÓW
Rys. 2. Schemat elektryczny części głównej testera LAN 2RJ
Takie pod³¹czenie zapewnia poprawn¹ pracÍ z†szybkoúci¹ 100 Mbd.
W†przypadku, gdy zainstalowane urz¹dzenia sieciowe
pracuj¹ jedynie z†szybkoúci¹ 10
Mbd, wystarczy wykonaÊ kable
wed³ug standardu 10Base-T.
Wykorzystuje siÍ wÛwczas tylko dwie pary do przesy³ania
sygna³Ûw†tj. #2 oraz #3. Pary
#1 i†#4 s¹ niewykorzystane
i†nie musz¹ byÊ pod³¹czone.
Pary te moøna wykorzystaÊ do
przesy³ania sygna³Ûw np. do
drugiego gniazdka LAN.
Przyrz¹d, ktÛry zaprojektowa³em i†zbudowa³em, sprawdza
poprawnoúÊ pod³¹czenia kolejnych przewodÛw do odpowiednich stykÛw z³¹cza RJ45.
Urz¹dzenie jest uniwersalne
i†nie jest istotne dla niego, w†jakim standardzie jest wykonany
kabel. Sprawdza jedynie, czy
przewody nie s¹ zwarte, rozwarte lub pomylone. Testowany jest zawsze pojedynczy przewÛd w†danym czasie. Wys³anie
impulsu testowego do danego
przewodu sygnalizowane jest
zaúwieceniem diody LED opisuj¹cej ten przewÛd. Weryfikacja poprawnoúci wykonania sieci jest wizualna.
Przyrz¹d sk³ada siÍ
z†dwÛch czÍúci. G³Ûwna - generator sygna³Ûw testowych
i†druga - pÍtla zamykaj¹ca testowan¹ liniÍ.
Schemat
elektryczny
g³Ûwnej czÍúci pokazano na
rys. 2. Urz¹dzenie zbudowane jest w†oparciu o†dwa uk³ady scalone CMOS. Uk³ad scalony IC1 typu 4047 pe³ni rolÍ
generatora astabilnego i†jednoczeúnie monostabilnego.
Zastosowa³em tutaj interesuj¹ce rozwi¹zanie, umoøliwiaj¹ce rÍczne prze³¹czanie multiwibratora z†trybu astabilnego do monostabilnego. PowrÛt
do trybu astabilnego nastÍpuje automatycznie. Naciúniecie
przycisku S1 powoduje na³adowanie kondensatora C2
przez diodÍ D1 i†prze³¹czenie
multiwibratora w†tryb monostabilny. Kolejne naciskanie
przycisku S1 powoduje podtrzymywanie tego stanu i†generowanie pojedynczego impulsu na wyjúciu Q. Gdy przycisk S1 nie bÍdzie naciskany
przez czas powyøej 2†s, kondensator C2 roz³aduje siÍ
przez rezystor R2 i†multiwibrator prze³¹czy siÍ w†stan astabilny. Na wyjúciu Q†pojawi
siÍ fala prostok¹tna. Impulsy
z†wyjúcia Q†uk³adu IC1 s¹ doprowadzone do wejúcia CLK
uk³adu IC2. Uk³ad scalony IC2
to licznik Johnsona z†dekoderem 1†z†10 typu 4017. Doprowadzone impulsy do wejúcia
CLK powoduj¹ przesuwanie
logicznej jedynki na kolejne
wyjúcia - od Q0 do Q9 do Q0
itd. Wyjúcia Qx uk³adu IC2
doprowadzono przez rezystory zabezpieczaj¹ce R7 do R15
do kolejnych stykÛw gniazda
RJ45. Jednoczeúnie wyjúcia Q0
do Q8 s¹ pod³¹czone do linijki LED, ktÛra bÍdzie nas informowaÊ zaúwieceniem odpowiedniej diody, do ktÛrego
styku jest obecnie doprowadzony sygna³.
Przyrz¹d zaprojektowano
na dwustronnej p³ytce drukowanej o†wymiarach 84x66
mm. Ca³oúÊ mieúci siÍ w†standardowej obudowie plastikowej typu KM-33B z†pojemnikiem na baterie 9†V. Moøna
rÛwnieø go umieúciÊ w†dowolnej innej obudowie o†wymiarach 118x74x29 mm.
Druga czÍúÊ przyrz¹du to
modu³ pÍtli zamykaj¹cej testowane linie. Zbudowany jest
z†zespo³u diod LED. Zastosowa³em tutaj linijkÍ LED-Ûw tego samego typu co w†czÍúci
g³Ûwnej. Kaøda dioda LED jest
zbocznikowana diod¹ impulsow¹ odwrotnie spolaryzowan¹.
Schemat ideowy przedstawiony jest na rys. 3. Modu³
ten zosta³ zaprojektowany na
jednostronnej p³ytce drukowanej o†wym. 29x34 mm.
Modu³ pÍtli zamykaj¹cej
zakoÒczony jest bezpoúrednio
wtykiem RJ45 z†ekranem lub
bez, w†zaleønoúci jak¹ wersjÍ
przyrz¹du wykonamy.
WYKAZ ELEMENTÓW
Rezystory
R1, R2: 1MΩ
R3: 10kΩ
R4, R6: 1kΩ
R5: 220kΩ
R7...R15: 470Ω
Kondensatory
C1: 100nF
C2: 10µF
C3: 22nF
Półprzewodniki
IC1: CD4047
IC2: CD4017
2 linijki z 10 diodami
LTA1000E, GBG 4850
10 diod 1N4148
Różne
Gniazdko RJ45 do druku
w ekranie lub bez
Przełącznik monostabilny
(zwierający)
Wtyk RJ45 z ekranem lub
bez
Kawałek kabla − skrętki UTP,
STP, FTP
Kompletny przyrz¹d jest
zdatny do stosowania przez
instalatorÛw sieci LAN, dla
ktÛrych jest przeznaczony.
Do testowania kabli zakoÒczonych z†obu stron wtykami RJ45 naleøy zastosowaÊ
adapter z†dwoma gniazdami
RJ45.
Leszek Gorzelnik
[email protected]
Rys. 3. Schemat elektryczny części “zamykającej” testowaną linię
102
Elektronika
Elektronika
Praktyczna
Praktyczna
12/2003
2/98
K U R S
Podstawy projektowania systemów
mikroprocesorowych, część 10
Buduj¹c urz¹dzenie wykorzystuj¹ce mikrokontroler, musimy
pomyúleÊ rÛwnieø o†pewnej liczbie elementÛw
wspÛ³pracuj¹cych, ktÛre realizuj¹ potrzebne nam funkcje.
W†niektÛrych sytuacjach wystarczaj¹ce staje siÍ siÍgniÍcie do
zasobÛw sprzÍtowych wykorzystywanego mikrokontrolera, co jest
bardzo korzystne zarÛwno ze wzglÍdÛw komplikacji
i†niezawodnoúci urz¹dzenia, jak i†jego ceny.
Chociaø omawiane modele mikrokontrolerÛw '51 to jedne z†uboøszych
reprezentantÛw tej rodziny, to czÍsto ich moøliwoúci wystarczaj¹ zupe³nie do zrealizowania ca³ego urz¹dzenia bez dodatkowych uk³adÛw†peryferyjnych. SzczegÛ³owe opisy funkcjonowania uk³adÛw peryferyjnych
wbudowanych w†mikrokontroler znajdzie Czytelnik w†specyfikacjach producenta, tutaj przedstawimy pracÍ
tych uk³adÛw w†najczÍúciej wykorzystywanych przypadkach.
Komunikacja szeregowa
W†zwi¹zku z†ogromnym rozpowszechnieniem siÍ komputerÛw klasy
PC, budowane obecnie systemy mikroprocesorowe maj¹ zazwyczaj moøliwoúÊ komunikacji z†komputerem nadrzÍdnym. Czasami zachodzi teø†koniecznoúÊ wspÛ³pracy kilku komunikuj¹cych siÍ mikrokontrolerÛw. W†takich wypadkach najczÍúciej wykorzystuje siÍ transmisjÍ szeregow¹ z†wykorzystaniem wbudowanego w†wiÍkszoúci mikrokontrolerÛw '51 uk³adu transmisji szeregowej. Wykorzystanie takiego, a†nie innego úrodka komunikacji
ma tÍ zaletÍ, øe realizacja transmisji
szeregowej jest obs³ugiwana sprzÍtowo
- odpada zatem koniecznoúÊ pisania
odpowiednich procedur obs³ugi, a†co
za tym idzie nie musimy rezerwowaÊ
odpowiedniej mocy obliczeniowej procesora na obs³uøenie transmisji.
W†przypadku mikrokontrolerÛw
rodziny '51 najczÍúciej wykorzystuje
siÍ uk³ad transmisji szeregowej skonfigurowany do pracy w†trybie 1. Tak
zaprogramowany port szeregowy pracuje asynchronicznie, wykorzystuj¹c
98
do nadawania liniÍ TxD,
a†do odbioru liniÍ RxD. Dane
transmitowane s¹ w†standardowym
formacie 10-bitowym (bit startu - 0,
osiem bitÛw danych, bit stopu - 1).
Jeøeli øadne dane nie s¹ przesy³ane,
to obydwie linie pozostaj¹ w†stanie
wysokim. PrÍdkoúÊ transmisji jest
ustawiana programowo poprzez odpowiednie zaprogramowanie licznika
T1 - naleøy zatem zwrÛciÊ uwagÍ
na czÍstotliwoúÊ taktowania mikrokontrolera, gdyø nie zawsze bÍdzie
moøna uzyskaÊ standardowe prÍdkoúci transmisji. W†przypadku urz¹dzeÒ
wykorzystuj¹cych transmisjÍ szeregow¹ najczÍúciej wykorzystuje siÍ czÍstotliwoúÊ kwarcu rÛwn¹ 11,0592
MHz pozwalaj¹c¹ na uzyskanie
wiÍkszoúci standardowych prÍdkoúci
do 57600 bd. Dla uk³adu licznikowego T1 wykorzystywanego w†trybie
2†(automatyczne prze³adowywanie)
zawartoúÊ rejestru TH1 (wartoúÊ licznika po prze³adowaniu) moøna wyznaczyÊ z†zaleønoúci (dla podanej
czÍstotliwoúci kwarcu): TH1=25628800/V (dla bitu SMOD=0, V†prÍdkoúÊ transmisji w†bodach) lub
TH1=256-57600/V (dla SMOD=1). Bit
SMOD (rejestr PCON) jest bitem
konfiguracyjnym uk³adu transmisji
szeregowej obs³uguj¹cym blokadÍ wewnÍtrznego dzielnika przez dwa
czÍstotliwoúci okreúlaj¹cej szybkoúÊ
transmisji. W†tab. 1 przedstawiono
wartoúci prze³adowania licznika T1
w†zaleønoúci od oczekiwanej prÍdkoúci transmisji.
Do programowej obs³ugi uk³adu
transmisji szeregowej wykorzystywane s¹ rejestry: SCON - s³uø¹cy do
konfiguracji i†obs³ugi transmisji oraz
SBUF - bÍd¹cy jednobajtowym buforem nadajnika i†odbiornika. Dodatkowo wykorzystywany jest teø omÛwiony wczeúniej bit SMOD rejestru
PCON. Znaczenie i†po³oøenie bitÛw
steruj¹cych rejestru SCON moøna
znaleüÊ w†specyfikacji 8051. Nas interesowaÊ tutaj bÍd¹ jedynie bity:
SM0 i†SM1 - decyduj¹ce o†trybie
pracy - dla trybu 1†bÍd¹ ustawione odpowiednio na 0†i†1.
REN - bit w³¹czaj¹cy (dla REN=1) odbiornik uk³adu transmisji szeregowej.
RI - bit ustawiany sprzÍtowo na
1†po odebraniu bajtu.
TI - bit ustawiany sprzÍtowo na
1†po zakoÒczeniu nadawania bajtu.
Programowa realizacja wys³ania
czy odebrania bajtu z†uk³adu transmisji szeregowej jest niezmiernie
prosta. Polega ona jedynie na odpowiednim skonfigurowaniu portu oraz
sprawdzaniu stanu bitÛw RI i†TI.
Przy odbiorze danych naleøy sprawdzaÊ stan bitu RI i†w†przypadku pojawienia siÍ stanu 1†naleøy odczytaÊ
odebran¹ informacjÍ z†rejestru SBUF
oraz wyzerowaÊ bit RI. W†miarÍ
bezzw³oczny odczyt odebranego bajtu jest konieczny ze wzglÍdu na
moøliwoúÊ zamazania jego zawartoúci przez kolejny odebrany bajt (na
odczyt mamy w†najgorszym przypadku czas rÛwny czasowi transmisji
ca³ego bajtu). W†przypadku nadawania wystarczy zapisaÊ dan¹ do transmisji do rejestru SBUF - proces
transmisji szeregowej rozpocznie siÍ
Tab. 1
Elektronika Praktyczna 12/2003
K U R S
Rys. 34
automatycznie. Po zakoÒczeniu transmisji zostanie ustawiony bit TI, ktÛrego sprawdzanie pozwala na stwierdzenie gotowoúci uk³adu do transmisji kolejnej danej. Po programowym wyzerowaniu TI moøna do
SBUF wpisaÊ kolejn¹ dan¹ do przes³ania (zerowanie TI nie jest konieczne do rozpoczÍcia kolejnej
transmisji, umoøliwi nam jednak
okreúlenie chwili jej zakoÒczenia).
W†mikrokontrolerach '51 ustawienie
bitÛw†RI lub TI moøe rÛwnieø byÊ
ürÛd³em przerwania, jednak brak jest
sprzÍtowej moøliwoúci rozstrzygniÍcia, ktÛry bit wywo³a³ przerwanie
(trzeba to sprawdziÊ programowo na
pocz¹tku procedury obs³ugi przerwania, rÛwnieø programowo trzeba wyzerowaÊ dany bit przed opuszczeniem procedury obs³ugi przerwania).
Na list. 13 pokazano prosty program
przeznaczony do odbioru dwubajtowych paczek danych.
Kaødy z†dwÛch odebranych bajtÛw zostaje zapamiÍtany w†odrÍbnej
komÛrce pamiÍci. Do rozstrzygniÍcia,
ktÛry bajt jest odbierany, wykorzystywana jest zmienna bitowa BYL1
ustawiana w†chwili odebrania pierwszego bajtu i†zerowana po odebraniu
drugiego. Program ten mÛg³by zostaÊ
napisany tak, aby bezpoúrednio po
odebraniu pierwszego bajtu oczekiwaÊ na nadejúcie kolejnego, jednak
naleøy pamiÍtaÊ o†tym, øe prÍdkoúÊ
transmisji zawsze bÍdzie duøo niøsza od prÍdkoúci wykonywania programu, wiÍc takie bezczynne oczekiwanie jest bezcelowe i†marnuje moc
obliczeniow¹†mikrokontrolera.
Drugi przedstawiony program (list.
14) jest kompletnym oprogramowa-
Elektronika Praktyczna 12/2003
niem przeznaczonym dla prostego
uk³adu testera portu RS-232. Realizuje on bardzo prosty algorytm polegaj¹cy na odsy³aniu odebranego bajtu
i†pozwalaj¹cy w†ten sposÛb sprawdziÊ
dzia³anie komunikacji pomiÍdzy urz¹dzeniami. Po w³¹czeniu zasilania nastÍpuje wys³anie przez uk³ad transmisji szeregowej tekstu ìOKî. Transmisja odbywa siÍ z†prÍdkoúci¹†57600
(dla kwarcu 11,0592 MHz).
Przy wykorzystywaniu portu szeregowego do po³¹czenia z†komputerem PC naleøy pamiÍtaÊ, øe
standard RS-232 wykorzystuje inne po-
ziomy napiÍÊ niø stosowany przez
mikrokontrolery standard TTL. W†celu po³¹czenia konieczne staje siÍ
wykorzystanie dodatkowego uk³adu
zapewniaj¹cego konwersjÍ. Moøna do
tego wykorzystaÊ rÛøne metody, pocz¹wszy od tranzystorÛw i†bramek
CMOS, jednak obecnie najczÍúciej
wykorzystuje siÍ scalony konwerter
poziomÛw MAX232 (lub zamiennik),
ktÛry ma tÍ ogromn¹ zaletÍ, øe zasilany standardowym napiÍciem +5V
sam troszczy siÍ o†wytworzenie napiÍcia dodatniego i†ujemnego zgodnego ze standardem RS-232 oraz jest
stosunkowo tani i†³atwo dostÍpny.
Schemat takiego konwertera pokazano na rys. 34. Niekiedy do uzyskania komunikacji mikrokontrolera
z†komputerem PC naleøy zadbaÊ
o†po³¹czenie ze sob¹ od strony
z³¹cza RS-232 PC-ta wyprowadzeÒ
RTS-CTS oraz DTR-DSR-DCD (rys.
35), informuj¹cych komputer o†gotowoúci mikrokontrolera do odbioru/
nadawania danych (uk³ad transmisji
szeregowej '51 nie jest wyposaøony
w†funkcjÍ sprzÍtowego blokowania
transmisji - transmisja moøe byÊ
kontrolowana jedynie na drodze programowej). Oczywiúcie naleøy rÛwnieø zadbaÊ o††ustawienie identycznej prÍdkoúci transmisji, gdyø
w†przeciwnym wypadku prawid³owy
przesy³ danych nie bÍdzie moøliwy.
Jeøeli transmisja szeregowa bÍdzie wykorzystywana do komunikacji pomiÍdzy dwoma mikrokontrole-
List. 13
;Konfiguracja
MOV TMOD,#020H
;licznik T1 w trybie 2
MOV PCON,#080H
MOV TL1,#250
MOV TH1,#250
;ustawienie bitu SMOD=1 w rej. PCON
CLR SM0
SETB SM1
;ustawienie
;trybu pracy 1
CLR RI
;wyzerowanie flagi
SETB TR1
;włączenie licznika T1
SETB REN
;włączenie odbiornika
CLR BYL1
;wyzerowanie flagi odbioru bajtu 1
;prędkość transmisji 9600
;Podprogram obsługi odbioru
ODBIERZ:
JB RI,JEST1
RET
JEST1:
CLR RI
JB BYL1,JEST2
;sprawdzenie czy nadeszła dana
;i powrót do programu głównego jeśli nie
;wyzerowanie flagi
;sprawdzenie czy wcześniej odebrano pierwszy bajt,
;jeśli tak to skok do odbioru bajtu 2
SETB BYL1
;ustawienie flagi odbioru pierwszego bajtu
MOV PIERWSZY,SBUF ;zapamiętanie zawartości bufora w komórce pamięci
;zadeklarowanej jako PIERWSZY
RET
;powrót do programu głównego
JEST2:
CLR BYL1
;wyzerowanie flagi (następny będzie bajt pierwszy)
MOV DRUGI,SBUF
;zapamiętanie drugiego odebranego bajtu
RET
;powrót do programu głównego
99
K U R S
rami, wÛwczas sposÛb ich po³¹czenia zaleøny jest od odleg³oúci ³¹cz¹cego je przewodu. Jeøeli ograniczymy siÍ do po³¹czenia nie d³uøszego niø 1...2m (zw³aszcza przy
niskich prÍdkoúciach, nieprzekraczaj¹cych 9600 bd), moøemy wtedy
pozostaÊ przy standardzie TTL
i†bezpoúrednio po³¹czyÊ pomiÍdzy
sob¹ wyprowadzenia RxD i†TxD
mikrokontrolerÛw (RxD jednego
z†TxD drugiego) oraz po³¹czyÊ masy obu urz¹dzeÒ. Dodatkowo naleøy
zastosowaÊ rezystory podci¹gaj¹ce te
linie do Vcc o†rezystancji 1...2kΩ
ze wzglÍdu na koniecznoúʆszybszego prze³adowania stosunkowo duøej
pojemnoúci przewodu po³¹czeniowego. Jeøeli odleg³oúÊ bÍdzie wiÍksza,
to nic nie stoi na przeszkodzie, aby
zastosowaÊ dwa identyczne uk³ady
konwertera omÛwionego wyøej. Dla
duøo wiÍkszych odleg³oúci (powyøej
20 m) moøe staÊ siÍ konieczne zastosowanie innego standardu - moøe to byÊ np. RS-485 lub inny wykorzystuj¹cy magistralÍ symetryczn¹.
Pawe³ Hadam, EP
[email protected]
100
List. 14
;;Program testujący port szeregowy
;;Konfiguracja
MOV TMOD,#020H
;licznik T1 w trybie 2
MOV PCON,#080H
MOV TL1,#255
MOV TH1,#255
;ustawienie bitu SMOD=1 w rej. PCON
CLR SM0
SETB SM1
;ustawienie
;trybu pracy 1
CLR RI
SETB TI
SETB TR1
;wyzerowanie flagi (nic nie odebrano)
;ustawienie flagi (gotowy do nadawania)
;włączenie licznika T1
SETB REN
;włączenie odbiornika
;prędkość transmisji 57600
;;Transmisja “OK”
MOV SBUF,#79
CLR TI
JNB TI,$
MOV SBUF,#75
CLR TI
;wysłanie kodu ASCII znaku “O”
;wyzerowanie flagi
;oczekiwanie na zakończenie transmisji
;poprzedniego bajtu
;wysłanie kodu ASCII znaku “K”
;wyzerowanie flagi
;;Pętla główna
PETLA:
JNB RI,$
;sprawdzanie czy odebrano bajt, jeśli nie, to czekaj
CLR RI
;wyzerowanie flagi
MOV R7,SBUF
JNB TI,$
;zapamiętanie danej w rejestrze
;czekaj, jeśli jeszcze nadaje
MOV SBUF,R7
CLR TI
;nadanie zapamiętanej danej
;wyzerowanie flagi
SJMP PETLA
;skok na początek
Elektronika Praktyczna 12/2003
B A S C O M O W E
P O R A D Y
W bascomowym „kąciku” będziemy się starać w miarę przystępnie przedstawiać rozwiązania problemów
napotykanych przez naszych Czytelników podczas pisania programów w Bascomie. Rubryka ta powstała
z myślą o rozwiązywaniu problemów, jakie najczęściej napotykają programiści, zatem zachęcamy wszystkich
Czytelników do zgłaszania problemów, na jakie się natknęli podczas tworzenia własnych programów.
Timery − to nie musi być trudne, część 1
WiÍkszoúÊ wspÛ³czesnych mikrokontrolerÛw jest wyposaøona w†co
najmniej jeden licznik-timer. Mikrokontrolery AVR w†wiÍkszoúci przypadkÛw maj¹ ich dwa. Pierwszy
jest zazwyczaj prostym timerem 8bitowym, natomiast drugi to 16-bitowy timer z†dodatkowymi funkcjami: compare (porÛwnania), capture
(przechwytywania) oraz z†moøliwoúci¹ generowania sygna³Ûw PWM.
W†artykule szczegÛ³owo opiszemy
na przyk³adach sposÛb uøycia timerÛw 0†oraz 1†wystÍpuj¹cych w†wiÍkszoúci mikrokontrolerÛw AVR. Naleøy mieÊ na uwadze, øe by mÛc
dobrze stosowaʆtimery naleøy znaÊ
ich budowÍ w†wykorzystywanym
mikrokontrolerze oraz ich dzia³anie.
W†kaødym z†mikrokontrolerÛw AVR
funkcje timerÛw mog¹ siÍ rÛøniÊ.
Na pocz¹tek kilka s³Ûw wstÍpu.
Modu³y licznikowe w†mikrokontrolerach AVR mog¹ pracowaÊ w†dwÛch
podstawowych trybach: jako timer
(czasomierz) oraz jako counter (licznik). Pocz¹tkuj¹cy programiúci najwiÍcej problemÛw maj¹ najczÍúciej
problemy z†okreúleniem, co ile czasu wywo³ane bÍdzie przerwanie,
a†w†zwi¹zku z†tym jaki dok³adnie
bÍdzie odmierzony czas przy okreúlonych nastawach modu³Ûw licznikowych. WystÍpuje tu wspÛ³zaleønoúÊ trzech parametrÛw:
- czÍstotliwoúci oscylatora (najczÍúciej kwarcu),
- konfiguracji preskalera (timery zawarte w†mikrokontrolerach posiadaj¹ preskaler, dziÍki ktÛremu
moøliwe jest zmniejszenie czÍstotliwoúci taktuj¹cej),
- wartoúci pocz¹tkowej za³adowanej
do rejestru timera.
W†Bascomie Timer0 moøna skonfigurowaÊ instrukcj¹ config timer0.
Sk³adnia tej instrukcji jest nastÍpuj¹ca:
W†trybie czasomierza:
CONFIG TIMER0 = COUNTER, EDGE =
RISING | FALLING
W†trybie licznika:
CONFIG TIMER0 = TIMER, PRESCALE = 1
| 8 | 64 | 256 | 1024
Kiedy Timer0 jest skonfigurowany do pracy w†charakterze licznika
(parametr TIMER0=COUNTER) wtedy
naleøy okreúliÊ parametr EDGE.
Okreúla on czy licznik bÍdzie
zwiÍkszany wraz z†pojawieniem siÍ
narastaj¹cego zbocza sygna³u (RISING) lub opadaj¹cego (FALLING).
Gdy Timer0 jest skonfigurowany do
pracy w†charakterze czasomierza
(parametr TIMER0=TIMER) wtedy
zamiast parametru EDGE naleøy
okreúliÊ parametr PRESCALE, ktÛry
wyznacza wspÛ³czynnik podzia³u
czÍstotliwoúci sygna³u zegarowego.
Kaødy modu³ licznikowy w†mikrokontrolerach AVR moøe byÊ w†dowolnej chwili zatrzymany instrukcj¹
STOP TIMERx. Ponowne uruchomienie licznika nast¹pi po wykonaniu
instrukcji START TIMERx. Kaødy
z†timerÛw moøe zg³aszaÊ przerwania. W†przypadku Timera0 przerwanie jest zg³aszana jedynie po jego
przepe³nieniu. Przerwanie to moøna
wykorzystaÊ do odmierzania doúÊ
dok³adnych jednostek czasowych.
DziÍki temu moøna timery oraz generowane przez nie przerwania wykorzystaÊ do budowy zegarÛw lub
innych zadaÒ, dla ktÛrych precyzyjne odmierzanie czasu ma znaczenie
priorytetowe (np. multipleksowania
wyúwietlaczy np. LED czy matrycowych).
Aby zilustrowaÊ dzia³anie pracy
timerÛw, na rys. 1 przedstawiono
schemat prostego systemu z†do³¹czonym do mikrokontrolera (do wyjúcia
PB1) diod¹ LED. CzÍúÊ przyk³adÛw
w†dalszej czÍúci tego artyku³u bÍdzie powodowaÊ w³¹czanie i†wy³¹czanie diody LED, co odmierzony
przez timery czas.
Na list. 1 przestawiono przyk³ad
odmierzania przez Timer0 w†przerwaniu 1-sekundowych odcinkÛw
czasu. Przedstawiony program powoduje zmianÍ stanu na wyjúciu
steruj¹cym diodÍ LED dok³adnie co
1†sekundÍ. W†tym przyk³adzie Timer0 skonfigurowano jako czasomierz z†ustawionym preskalerem na
podzia³ przez 64, czyli licznik bÍdzie zlicza³ impulsy o†czÍstotliwoúci 8†MHz/64 = 125 kHz. Aby uzyskaʆczÍstotliwoúÊ 1†Hz naleøy pobieliÊ czÍstotliwoúÊ 125 kHz przez
250, nastÍpnie przez 500. Wartoúci
te umoøliwiaj¹ podzia³ czÍstotliwoúci 125 kHz bez øadnych czÍúci
u³amkowych, co gwarantuje odmierzenie dok³adnego czasu. Poniewaø
licznik Timer0 jest 8-bitowy (liczy
od 0†do 255), tak wiÍc by liczy³
do 250 (przerwanie by³o wywo³ywane co 250 odliczonych impulsÛw) naleøy†skrÛciÊ jego cykl, poprzez za³adowanie do niego po kaødym przepe³nieniu wartoúÊ 6. Aby
odliczyÊ 1†sekundÍ naleøy wprowadziÊ dodatkow¹ zmienn¹, ktÛra bÍdzie liczyÊ przerwania od przepe³nienia Timer0. Zliczenie 500 takich
przerwaÒ bÍdzie oznaczaÊ odliczenie
dok³adnie 1†sekundy. WartoúÊ pocz¹tkow¹ do timera0 moøna za³adowaÊ instrukcj¹:
TIMER0 = wartość
lub instrukcj¹
COUNTER0 = wartość
Rys. 1
Elektronika Praktyczna 12/2003
gdzie wartoúÊ to liczba od ktÛrej
timer zlicza ìw†gÛrÍî. Przyk³adowo
polecenie TIMER0 = 16 spowoduje
95
B A S C O M O W E
P O R A D Y
List. 1. Przykład obsługi Timera 0 do odmierzania 1−sekundowych
odcinków czasu
'Przykład programu odmierzającego 1 sekundowe odcinki czasu z wykorzystaniem timer0
'Timer0 będzie odmierzał dokładnie 1 sekundę 8MHz/64/250/500 = 1 sekunda
$regfile = "m8def.dat"
$crystal = 8000000
'rejestry mikrokontrolera atmega8
'częstotliwość taktowania mikrokontrolera
Config Pinb.1 = Output
'linia pb1 jako wyjście
Config Timer0 = Timer, Prescale = 64 'deklaracja timera jako czasomierza
'z prescalerem 64
On Timer0 Przerwanie_co_2ms
'deklaracja jaka etykieta obsługuje
'przepełnienie od timer0
Led Alias Portb.1
'alias dla wyjścia b.1
Dim Licznik As Integer
'zmienna licznikowa
Enable Interrupts
Enable Timer0
'odblokowanie globalnych przerwań
'odblokowanie przerwania od przepełnienia timer0
Timer0 = 6
'wpisanie wartości początkowej 6 do timera,
'czyli timer będzie zliczał 250 (256-6) impulsów
'wyzerowanie zmiennej licznikowej
Licznik = 0
Do
Loop
End
'petla główna programu
Przerwanie_co_2ms:
wywolywanego co 2 ms
Counter0 = Counter0 + 6
'podprogram przerwania od przepełnienia timer0
Incr Licznik
If Licznik = 500 Then
Toggle Led
Licznik = 0
End If
Return
'koniec programu
'ustawienie początkowej wartości timera0 poprzez
'dodanie do niego wartości 6 (odliczone zostanie
'dokładnie kolejne 250 impulsów)
'zwiększenie licznika
'jeśli zmienna licznik równa się 500 (czyli
'odliczone zostało 500*2ms=1sek), to
'zmień na przeciwny stan wyjścia led
'wyzeruj zmienną licznik
'powrót z przerwania
odliczenie 256-16=240 taktÛw. Obie
sk³adnie instrukcji dzia³aj¹ podobnie. W†Bascom AVR wystÍpuje takøe instrukcja:
LOAD TIMERX = wartość
W†tym przypadku wartoúÊ oznacza liczbÍ impulsÛw jakie timer zliczy do przepe³nienia. Instrukcja ta
wykonuje operacjÍ matematyczn¹
(dla Timera0 jest to 256-wartoúÊ)
oraz ³aduje obliczona wartoúÊ do rejestru timera. Jeøeli potrzebne jest
odliczenie 240 impulsÛw to instrukcja ta za³aduje do timera wartoúÊ 16
(256-240). Jak widaÊ za pomoc¹ tej
instrukcji moøna bezpoúrednio podaÊ
liczbÍ impulsÛw ktÛre ma zliczyÊ
licznik. Oczywiúcie instrukcja ta wystÍpuje dla wszystkich timerÛw, a†x
oznacza numer timera. Przy wiÍkszych wartoúciach preskalera - np.
1024 - trudno bÍdzie dobraÊ odpowiedni¹ wartoúÊ pocz¹tkow¹ tak, øeby uzyskaÊ ìokr¹g³yî odstÍp czasowy. Tak wiÍc, ustawiona wartoúÊ
podzia³u†preskalera przez 64 i†pocz¹tkowa wartoúÊ timera 6†spowoduj¹, øe przerwania bÍd¹ wywo³ywane
dok³adnie co 2†ms. Tak wiÍc zliczenie 500 takich przerwaÒ da jedn¹
sekundÍ. W†programie pokazanym na
list. 1 zmienna licznik uøyta zosta³a
do zliczania przerwaÒ od przepe³nienia Timera0. W†kaødym przerwaniu
od przepe³nienia Timera0 naleøy za-
96
³adowaʆdo niego wartoúÊ pocz¹tkowa, dziÍki czemu za kaødym razem
zostanie odliczone 250 impulsÛw.
W†programie wartoúÊ pocz¹tkowa
wpisywana do rejestru Timera0 nie
zosta³a wprost za³adowana lecz dodana. Umoøliwia to odmierzanie dok³adnych czasÛw. W†przypadku za³adowania w†przerwaniu wartoúci pocz¹tkowej do Timera0 naleøa³oby
uwzglÍdniÊ czas jaki up³yn¹³ od
zg³oszenia przerwania do chwili jego obs³ugi, gdyø Timer0 pracuje ca³y czas. Wtedy, w†celu zwiÍkszenia
dok³adnoúci, do rejestru timera naleøa³oby za³adowaÊ wartoúÊ inn¹ niø
6. Obliczenie dok³adnej wartoúci ³adowanej zmiennej moøe byÊ trudne,
a†dodanie wartoúci pocz¹tkowej zamiast jej przypisania doskonale rozwi¹zuje ten problem. W†programie
z†list. 1, gdy zmienna ìlicznikî
osi¹gnie wartoúÊ 500 (odliczenie
1†sekundy) jest ona zerowana oraz
zmieniany jest na przeciwny stan
wyjúcia steruj¹cego diodÍ LED.
W†przypadku korzystaniu z†przerwaÒ naleøy obowi¹zkowo w†programie odblokowaÊ przerwania globalne oraz przerwanie uøywane.
W†przypadku przerwania od przepe³nienia Timera0 bÍdzie to instrukcja ENABLE TIMER0.
Bardziej rozbudowany niø Timer0, a†co za tym idzie oferuj¹cy
wiÍksz¹ liczbÍ funkcji jest Timer1,
ktÛry jest licznikiem 16-bitowym
(zlicza do 65536 impulsÛw). Ma on
takøe†dodatkowe funkcje i†zwi¹zane
z†nimi dodatkowe przerwania.
Sk³adnia instrukcji konfiguruj¹cej
Timer1 jest nastÍpuj¹ca:
W†trybie licznika:
CONFIG TIMER1 = COUNTER, EDGE =
RISING | FALLING, NOICE CANCEL = 0
| 1 , CAPTURE EDGE = RISING |
FALLING, COMPARE A = SET | CLEAR |
TOGGLE | DISCONNECT, COMPARE B =
SET | CLEAR | TOGGLE | DISCONNECT,
CLEAR TIMER = 0 | 1
List. 2. Przykład odmierzania czasu 1 sekundy przez Timer1
'Przykład programu odmierzającego 1 sekundowe odcinki czasu z wykorzystaniem timer1
'Timer1 będzie odmierzał dokladnie 1 sekundę 8MHz/256/31250 = 1 sekunda
'wartość 31250 wynika z 65536-34286 - czyli zostanie odliczonych 31250 impulsów
'do przerwania
$regfile = "m8def.dat"
$crystal = 8000000
'rejestry mikrokontrolera atmega8
'częstotliwość taktowania mikrokontrolera
Config Pinb.1 = Output
'linia pb1 jako wyjście
Config Timer1 = Timer, Prescale = 256
' deklaracja timera 1 jako czasomierza
'z prescalerem 64
On Timer1 Przerwanie_co_1sek
'deklaracja przerwania od przepełnienia timera 1
'aliasy
Led Alias Portb.1
'dioda obrazuje wywołanie przerwania
Enable Interrupts
Enable Timer1
Timer1 = 34286
'wpisanie wartości 34286 do timera
Do
Loop
End
'pętla główna programu
Przerwanie_co_1sek:
Timer1 = Timer1 + 34286
Toggle Led
Return
'koniec programu
'podprogram przerwania od przepełnienia timer1
'wywoływanego co 1 sekunde
'ustawienie początkowej wartości timera1 poprzez
'dodanie do niego wartości 34286 (odliczone
'zostanie dokładnie kolejne 65536-34286 = 31250
'impulsów)
'ustawienie początkowej wartości timera
'zmień na przeciwny stan wyjscia LED
'powrót z przerwania
Elektronika Praktyczna 12/2003
B A S C O M O W E
W†trybie czasomierza:
CONFIG TIMER1 = TIMER, PRESCALE =
1 | 8 | 64 | 256 | 1024, CAPTURE
EDGE = RISING | FALLING, COMPARE A
= SET | CLEAR | TOGGLE |
DISCONNECT, COMPARE B = SET | CLEAR
| TOGGLE | DISCONNECT, CLEAR TIMER
= 0 | 1
W†trybie generatora PWM:
CONFIG TIMER1 = PWM, PWM = 8 | 9 |
10, COMPARE A PWM = CLEAR UP |
CLEAR DOWN | DISCONNECT, COMPARE B
PWM = CLEAR UP | CLEAR DOWN |
DISCONNECT
Dla Timera1 moøna skonfigurowaÊ nastÍpuj¹ce parametry:
EDGE - ma takie samo znaczenie
jak w†przypadku Timera0.
CAPTURE EDGE - moøna okreúliÊ
czy zawartoúÊ licznika ma byÊ
przechwytywana do rejestru CAPTURE1 wraz z†narastaj¹cym (RISING) lub opadaj¹cym zboczem
(FALLING) sygna³u pojawiaj¹cego
siÍ na koÒcÛwce ICP (lub teø na
wyjúciu komparatora analogowego).
NOICE CANCEL - Moøna okreúliÊ
czy licznik ma byÊ odporny na
drobne zak³Ûcenia sygna³u wejúciowego. Wpisanie 1†w³¹cza ta opcjÍ.
CLEAR TIMER - Wpisanie ì1î w³¹cza funkcjÍ automatycznego kasowania zawartoúci licznika jeúli
porÛwnanie zawartoúci licznika
z†rejestrem COMPARE1A lub
COMPARE1B da³o wynik pozytywny.
Elektronika Praktyczna 12/2003
PRESCALE - ma takie samo znaczenie jak dla Timer0.
COMPAREx - okreúla tryb pracy rejestrÛw COMPARE1A lub COMPARE1B.
SET - koÒcÛwka OC1x zostanie
ustawiona w†stan wysoki.
CLEAR - koÒcÛwka OC1x zostanie
ustawiona w†stan niski.
TOGGLE - stan koÒcÛwki OC1x zostanie zmieniony na przeciwny.
DISCONNECT - stan koÒcÛwki
OC1x nie bÍdzie zmieniany.
PWM - okreúla rozdzielczoúÊ generatora w†bitach. Moøliwe s¹ wartoúci 8, 9†i†10 bitÛw.
COMPARE A†PWM, COMPARE
B†PWM - okreúla tryb pracy generatora PWM.
CLEAR DOWN w³¹cza tryb normalny - im mniejsza liczba w†rejestrze COMPARE1x tym krÛcej trwa
stan wysoki na wyjúciu impulsÛw
PWM.
CLEAR UP w³¹cza tryb odwrÛcony
- im mniejsza liczba w†rejestrze
COMPARE1x tym krÛcej trwa stan
niski na wyjúciu impulsÛw PWM.
Podanie DISCONNECT powoduje,
øe odpowiednia koÒcÛwka OC1A lub OC1B - przestanie byÊ
wyjúciem impulsÛw PWM.
Jak wspomniano, timery w†mikrokontrolerach AVR mog¹ siÍ rÛøniÊ i†nie wszystkie mikrokontrolery
posiadaj¹ rejestr COMPARE1B licznika TIMER1. Wykorzystanie Timer1
P O R A D Y
jako czasomierza umoøliwi bezpoúrednie odmierzenia czasu 1†sekundy bez udzia³u dodatkowej
zmiennej ze wzglÍdu na jego 16 bitow¹ pojemnoúÊ. Na list. 2 przedstawiono przyk³adowy program odmierzaj¹cy 1†sekundÍ z†wykorzystaniem Timera1.
Program ten robi to samo co
poprzedni, czyli zapala i†gasi co sekundÍ diodÍ LED. W†tym przyk³adzie czÍstotliwoúÊ rezonatora jest
dzielona (przez preskaler) przez
256, natomiast Timer1 do wywo³ania przerwania zlicza 31250
impulsÛw. Czyli przerwanie od
przepe³nienia Timera1 bÍdzie wywo³ywane co 8†MHz/256/3125 =
1†czyli co 1†sekundÍ. W†tym programie dla zwiÍkszenia dok³adnoúci
odmierzanego czasu wartoúÊ pocz¹tkowa jest dodawana do stanu licznika a†nie wpisywana bezpoúrednio.
Na koniec opisu funkcji czasomierza jedna praktyczna uwaga: nie
naleøy przesadzaÊ z†czÍstotliwoúci¹
wywo³ywania przerwania, czyli naleøy - o†ile jest to moøliwe - korzystaÊ z†najwyøszych wspÛ³czynnikÛw podzia³u czÍstotliwoúci przez
preskaler. Jest to istotne, by obs³uga przerwania nie zajͳa ca³ej mocy
obliczeniowej mikrokontrolera.
Marcin Wi¹zania
[email protected]
Artur Starz
[email protected]
97
K U R S
Programowe interpretery
poleceń w C
Na pocz¹tek konwersja typÛw
NiektÛrzy z†CzytelnikÛw z†ca³¹
pewnoúci¹ zetknÍli siÍ z†jÍzykiem
programowania Pascal oraz specyficznym typem zmiennych tzw. typem
proceduralnym. W†duøym uproszczeniu polega³ on na tym, øe odwo³anie do zmiennej mia³o podobne konsekwencje jak wywo³ania procedury.
Kompilator jÍzyka C†nie oferuje podobnego typu zmiennych, a†momentami by³by on bardzo przydatny. Ot
chociaøby do konstrukcji opisywanego w†poprzedniej czÍúci kursu interaktywnego menu - wybranie w†nim
opcji mog³oby bezpoúrednio powodowaÊ uruchomienie odpowiadaj¹cej jej
funkcji. Realizacja tak pojÍtego typu
proceduralnego jest moøliwa dziÍki
wykorzystaniu wskaünikÛw oraz mechanizmÛw przekszta³ceÒ†typÛw.
Na list. 1 umieúci³em fragment
programu wraz z†definicjami odpowiednich typÛw zmiennych. Jako
pierwszy zdefiniowano typ zmiennej
bÍd¹cej wskaünikiem typu char, kwalifikowanym do przestrzeni adresowej
zawieraj¹cej kod programu mikrokontrolera (code). Za wskaünikiem wystÍpuje lista argumentÛw, ktÛra w†tym
przypadku jest pusta. NastÍpnie ten
typ wykorzystywany jest do budowy
tablicy zawieraj¹cej wykaz funkcji.
Tablica rÛwnieø zakwalifikowana zosta³a do obszaru code, poniewaø zawiera wartoúci sta³e, nieulegaj¹ce
zmianie w†czasie wykonywania programu.
Rozmiar tablicy - wykazu
funkcji - nie jest ustalony. Jej koniec
sygnalizuje znak o†kodzie ì0î. Dla
przyk³adu i†dla uproszczenia funkcja
command pokazana na list. 1, zwraca wartoúÊ umieszczon¹ w†tablicy
pod indeksem 0. Zgodnie z†wczeúniejsz¹ definicj¹ odpowiada to wskazaList. 1. Fragment programu
z definicjami zmiennych −
wskaźników do funkcji
//struktura na definicje komend
typedef struct
{
char (code *funkcja)(void);
}komendy;
//tablica z wykazem komend
code komendy wykaz[] =
{
test_1,
test_2,
0
};
char command()
{
return(wykaz[0].funkcja());
}
Elektronika Praktyczna 12/2003
Urz¹dzenia wykonawcze pod³¹czane do sterownikÛw
stosowane s¹ w†technice bardzo szeroko - pocz¹wszy
od prostych sterownikÛw†typu w³¹cz-wy³¹cz, skoÒczywszy
na bardzo skomplikowanych, umoøliwiaj¹cych regulacjÍ
proporcjonaln¹. NajczÍúciej to wymagania aplikacji
wyznaczaj¹ budowÍ uk³adu wykonawczego i†sposÛb
jego sterowania.
W†artykule przedstawiÍ sposÛb wykorzystania jÍzyka C†
do budowy prostego interpretera poleceÒ wysy³anych przez
interfejs szeregowy, za pomoc¹ ktÛrych moøna bÍdzie
sterowaÊ prac¹ dowolnego uk³adu wykonawczego.
niu adresu, pod ktÛrym umieszczona
jest funkcja o†nazwie test_1.
Funkcja zawarta w†definicji struktury musi zwracaÊ jak¹ú wartoúÊ. Naj³atwiej, gdy jest to wartoúÊ typu
char, ktÛr¹†moøna pÛüniej wykorzystaÊ do sygnalizacji np. b³ÍdÛw realizacji poleceÒ, jednak moøe to byÊ
rÛwnieø inny typ zmiennych. Jest to
wymÛg konieczny dla pÛüniejszej realizacji polecenia return(wykaz[indeks].funkcja()), poniewaø polecenie
return nie moøe zwracaÊ wartoúci typu void oraz z†powodÛw, o†ktÛrych
bÍdzie mowa dalej. Funkcja command powinna byÊ tego samego typu, jak okreúlono to w†definicji
struktury. Oczywiúcie powinna, a†nie
musi. Jeúli typy bÍd¹ rÛøne, to nast¹pi niejawna konwersja typu zwracanej wartoúci.
Przyjrzyjmy siÍ teraz programowi
pokazanemu na list. 2. Zawiera on
fragment programu odpowiadaj¹cy
funkcji command po kompilacji do
postaci jÍzyka asembler. Fragment ten
opatrzy³em komentarzami w†taki sposÛb, aby osoby niemaj¹ce do czynienia z†asemblerem, mog³y zrozumieÊ,
jak dzia³a mechanizm wywo³uj¹cy
funkcjÍ znajduj¹c¹†siÍ pod wskazywa-
nym adresem w†pamiÍci programu.
Kompilator wykonuj¹c konwersjÍ
wskaünika do postaci char, wywo³uje
ukrywaj¹c¹ siÍ pod wskazaniem funkcjÍ. Jest to konieczne, aby funkcja
zwrÛci³a wartoúÊ, ktÛra bÍdzie mog³a
ulec zamianie na typ char. A†to, øe
funkcja umieszczona jest na liúcie
i†moøliwe jest odwo³anie do konkretnej pozycji tejøe listy, tylko u³atwia
realizacjÍ zadania postawionego jako
cel artyku³u - realizacjÍ implementacji interpretera poleceÒ.
Dla praktykÛw - przyk³ad 1
Wykorzystuj¹c opisany wyøej mechanizm, wykona³em prosty interpreter poleceÒ odbieranych przez mikrokontroler z†wykorzystaniem sprzÍtowego interfejsu UART. Jako uk³ad modelowy pos³uøy³a mi p³ytka prototypowa z†mikrokontrolerem AT89S8252
taktowanym zegarem 7,3728 MHz. Na
p³ytce znalaz³ siÍ rÛwnieø uk³ad dopasowuj¹cy stany logiczne na wyprowadzeniach UART mikrokontrolera do
portu szeregowego komputera PC standardowy MAX232. Wykonuj¹c
programy przyk³adowe, pos³ugiwa³em
siÍ kompilatorem RC-51 firmy Raisonance.
List. 2. Polecenie return(wykaz[0].funkcja()) po kompilacji
0000 900000 R
tablicy wykaz
0003 7400
0005 93
0006 FA
0007 900000 R
000A 7401
000C 93
000D
000E
0010
0012
0015
MOV DPTR,#wykaz ;do rejestru DPTR młodszy bajt adresu funkcji z
MOV A,#00
MOVC A,@A+DPTR
MOV R2,A
MOV DPTR,#wykaz
MOV A,#1
MOVC A,@A+DPTR
;akumulator jako wartość indeksu do tablicy - tu 0
;załaduj do akumulatora bajt spod adresu wykaz+0
;przechowaj pobraną wartość w rejestrze R2
;ponownie do DPTR adres tablicy wykaz
;ale indeks tablicy w tym przypadku to 1
;do akumulatora starszy bajt adresu funkcji
;z tablicy wykaz+1
FB
MOV R3,A
;przechowaj jego wartość w rejestrze R3
8A83
MOV DPH,R2
;przepisz R2 do rejestru DPH (starszy bajt DPTR)
8B82
MOV DPL,R3
;przepisz R3 do rejestru DPL (młodszy bajt DPTR)
120000 R LCALL ?C_INDCALL
;wywołaj wewnętrzną procedurę RC-51 uruchamiającą
;funkcję spod adresu wskazywanego przez DPTR
22
RET
;powrót do programu głównego
91
K U R S
List. 3. Deklaracje zmiennych oraz #include interpretera poleceń
z przykładu 1
#pragma DEFJ(TIM1_INIT=0xFE)
//timer 1 jako prędkość transmisji (19200bps)
//dla rezonatora 11,0592MHz TH1=0xFD; dla 7,3728MHz TH1=0xFE
#pragma SMALL
//wybór modelu pamięci programu
#include “reg8252.h”
//dołączenie definicji rejestrów
#include “stdio.h”
//dołączenie funkcji wejścia - wyjścia
#define WORD unsigned int
//definicja typu WORD
//definicje nagłówków funkcji programu
char in(char data *bufor);
char out(char data *bufor);
char status(char data *bufor);
char on(char data *bufor);
char off(char data *bufor);
char help(char data *bufor);
//definicja typu dla tablicy - wykazu poleceń
typedef struct
{
char code *komenda;
char (code *funkcja)(char data *);
}komendy;
//tablica z wykazem poleceń
code komendy wykaz[] =
{
“IN”, in,
“OUT”, out,
“STATUS”, status,
“ON”, on,
“OFF”, off,
“HELP”, help,
“?”, help,
“”, NULL
};
//wykaz komend i powiązanych z nimi funkcji
//koniec wykazu
W†przypadku, gdy komenda nie
zostanie odnaleziona w†wykazie, wartoúÊ indeksu j†bÍdzie rÛwna 0†i†pos³uøy†do wys³ania komunikatu o†b³Ídzie. W†innym przypadku zwracany
jest wskaünik do funkcji, ktÛrego
przekszta³cenie do typu char owocuje wywo³aniem funkcji.
G³Ûwna pÍtla programu zawiera
tylko kilka poleceÒ: rezerwuje miejsce w†pamiÍci na bufor odebranych
z†UART znakÛw, ustawia bit SMOD
w†rejestrze PCON mikrokontrolera,
wysy³a znak zachÍty do terminala
(znak >), wywo³uje funkcjÍ gets pobieraj¹c¹ ci¹g znakÛw ze standardowego urz¹dzenia wejúcia - wyjúcia
(dla mikrokontrolera jest to UART),
a†nastÍpnie przekazuje wskaünik do
bufora opisywanej wyøej funkcji command rozpoznaj¹cej odebrane polecenia. Kaødorazowo zakoÒczenie realizacji komendy sygnalizowane jest napisem OK wys³anym przez mikrokontroler do terminala.
Dla praktykÛw - przyk³ad 2
Interpreter wykonuje nastÍpuj¹ce
polecenia:
- IN <numer portu> np. IN 1†- odczyt portu o†podanym numerze
- OUT <numer portu> <wartoúÊ>
np. OUT 1†0x20 - zapisuje
do
portu o†podanym numerze liczbÍ,
- STATUS - podaje informacjÍ o†statusie urz¹dzenia: WY£•CZONY/AKTYWNY,
- ON - za³¹czenie operacji na portach, tj. poleceÒ IN i†OUT,
- OFF - wy³¹czenie operacji na portach, tj. blokowanie funkcjonowania
poleceÒ IN i†OUT,
- HELP lub ? - informacja o†obs³ugiwanych poleceniach.
Polecenia mog¹ byÊ przesy³ane
przez aplikacjÍ steruj¹c¹ lub podawane rÍcznie za pomoc¹ programu typu
terminal znakowy. Kaøde wysy³ane
polecenie musi koÒczyÊ siÍ sekwencj¹ 0x0D-0x0A (CR-LF).
Na list. 3 pokazano najwaøniejsze
fragmenty programu ürÛd³owego w†jÍzyku C†zawieraj¹ce deklaracje zmiennych i†sta³ych oraz dyrektywy steruj¹ce kompilacj¹.
Pocz¹tek to w³aúciwe dla RC-51 polecenie #pragma DEFJ(TIM1_INIT=0xFE)
definiuj¹ce wartoúÊ zapisywan¹ do rejestru TH1 Timera 1†steruj¹cego prac¹ UART. Dla rezonatora 7,3728 MHz
oraz podwÛjnej szybkoúci zegara steruj¹cego prac¹ interfejsu szeregowego
(SMOD = 1) zapis do TH1 wartoúci
0xFE wymusza transmisjÍ szeregow¹
asynchroniczn¹ z†prÍdkoúci¹ 19200
bd. W†nastÍpnej kolejnoúci do³¹czane
s¹ definicje rejestrÛw mikrokontrolera, biblioteka funkcji wejúcia-wyjúcia
oraz dla czytelnoúci programu zdefi-
92
niowany zostaje typ WORD. W†kolejnym kroku definiowane s¹ nag³Ûwki
funkcji bÍd¹cych odpowiednikami poleceÒ realizowanych przez interpreter.
Zdefiniowanie ich w†tym miejscu jest
konieczne, poniewaø za moment nazwy funkcji bÍd¹ uøyte do konstrukcji tablicy-wykazu poleceÒ.
Definicja struktury o†nazwie komendy zawiera wiÍcej sk³adnikÛw niø
we wczeúniejszym przyk³adzie. Obok
znanego nam juø wskaünika do funkcji pojawi³ siÍ rÛwnieø wskaünik do
³aÒcucha znakÛw umieszczonego
w†pamiÍci programu mikrokontrolera.
Jest to nazwa, po ktÛrej rozpoznawane s¹ polecenia i†jednoczeúnie najprostsza z†metod powi¹zania nazwy
symbolicznej z†odpowiadaj¹c¹ mu
funkcj¹. Dla ³atwiejszej analizy przyk³adu nazwy funkcji s¹ niemal identyczne z†odpowiadaj¹cymi im poleceniami.
Na list. 4 znajduje siÍ fragment
programu rozpoznaj¹cy polecenie oraz
wywo³uj¹cy odpowiadaj¹c¹ mu funkcjÍ. Pos³uøy³em siÍ w†nim konstrukcj¹ z†pierwszego przyk³adu, z†tym øe
polecenie return zawiera dynamicznie
wyznaczany indeks do funkcji. Dwie
zmienne j†oraz i†s³uø¹ (odpowiednio) jako indeksy do poszczegÛlnych
liter przekazywanego jako argument
funkcji ci¹gu znakÛw oraz poszczegÛlnych linii tablicy - wykazu poleceÒ. Funkcja XOR (^) s³uøy†do
sprawdzenia warunku rÛwnoúci znakÛw, a†bitowe AND (&) maskuje bity
odpowiadaj¹ce ma³ym literom alfabetu. DziÍki temu wielkoúÊ znakÛw (liter) odebranych z†UART nie wp³ywa
na interpretacjÍ polecenia.
Kolejny przyk³ad bazuje na poznanych juø wczeúniej. Ilustruje on jednak jeden z†moøliwych sposobÛw do³¹czenia zdalnego wyúwietlacza sterowanego przez mikrokontroler. Dla
uproszczenia funkcji steruj¹cych
uøy³em wyúwietlacza LCD 4†linie x†20
znakÛw, jednak moøna sobie wyobraziÊ zastosowanie dowolnego wyúwietlacza, na przyk³ad do³¹czonej do mikrokontrolera tablicy pokazuj¹cej wyniki na meczu pi³karskim, do³¹czonego
zdalnie wyúwietlacza zegara itp.
Przyk³adowy interpreter realizuje
nastÍpuj¹ce polecenia:
- CURSOR <kod> np. CURSOR 1†zmiana wygl¹du kursora, wartoúÊ
<kod> powinna siÍ zawieraÊ
w†przedziale od 0†do 2†(0 = kursor
wy³¹czony, 1†- kursor w³¹czony, 2†kursor w³¹czony i†migotanie na polu kursora)
- CLR - czyszczenie ekranu LCD,
- GOTOXY <x> <y> np. GOTOXY
1†1†- umieszczenie kursora na pozycji <x> <y> (kolumna, wiersz),
- WRITE <tekst> np. WRITE Driver
LCD 4x20 - wyúwietlenie tekstu
podanego jako parametr wywo³ania;
uwaga: tekst nie moøe byÊ d³uøszy
niø rozmiar bufora - 7†(w tym
przypadku s¹ to 34 znaki),
- CWRITE <kod> np. CWRITE 0x01 wyúwietlenie znaku o†kodzie <kod>,
- FILL <kod> np. FILL 0x01 - wype³nienie LCD znakami o†kodzie <kod>,
- DEF <kod> <bajt0>.. <bajt7> - definicja w³asnego znaku uøytkownika
np.: DEF 0x00 0xAA 0x55 0xAA
0x55 0xAA 0x55 0xAA 0x55 umieúci definicjÍ ìkratkiî w†generatorze
znakÛw LCD na pozycji numer 0,
Elektronika Praktyczna 12/2003
K U R S
List. 4. Fragment programu odpowiedzialny za rozpoznawanie odbieranych
poleceń
//wyszukiwanie komend oraz wywołanie odpowiadających im funkcji
char command(char data *bufor)
{
char i, j;
//256 komend o maks. długości 256 znaków
for (i = 0;;)
for (j = 0;; )
{
if(wykaz[i].komenda[j] != 0)
//jeśli komenda różna od znaku “pustego”
{
//do porównania zamiana małych liter na duże
if(((wykaz[i].komenda[j]^bufor[j]) & 0x5F) == 0)
{
j++;
continue;
//następny znak
}
i++;
break;
//następna komenda
}
if( j == 0 )
{
printf(“%s\n”,”BLAD: Nie rozpoznano komendy!”);
//brak komendy
//w wykazie
return(0);
} else return (wykaz[i].funkcja(bufor+j));
//wykonanie funkcji spod
//wskazanego adresu
}
- INIT - inicjalizacja wyúwietlacza
w†trybie interfejsu o†d³ugoúci s³owa
rÛwnej 4 bity,
- STATUS - podaje informacjÍ o†statusie WY£•CZONY/AKTYWNY,
- ON - za³¹czenie akceptowania poleceÒ przez kontroler LCD,
- OFF - wy³¹czenie akceptowania poleceÒ przez kontroler LCD,
- HELP lub ? - informacja o†realizowanych poleceniach.
Program funkcjonuje identycznie
jak poprzedni, rÛøni¹ siÍ one miÍdzy
sob¹ tylko liczb¹ realizowanych funkcji. Ten pierwszy bÍdzie siÍ nadawa³ szczegÛlnie dobrze do sterowania urz¹dzeÒ typu w³¹cz-wy³¹cz, drugi realizuje takøe nieco bardziej zaawansowane funkcje. Do jego implementacji wykorzysta³em opisywan¹
we wczeúniejszych odcinkach kursu
bibliotekÍ LCD4B. Zosta³a ona do³¹czona do pliku projektu, a†nag³Ûwki
funkcji steruj¹cych wyúwietlaczem
umieszczane s¹ w†programie g³Ûwnym
za pomoc¹ dyrektywy #include
îlcd4b.hî.
Elektronika Praktyczna 12/2003
Program g³Ûwny, oprÛcz omawianych wczeúniej poleceÒ, zawiera rÛwnieø wywo³anie funkcji inicjalizacji
oraz czyszczenia ekranu modu³u LCD.
Uøycie wymienionego na liúcie realizowanych poleceÒ INIT nie jest konieczne. Zosta³o ono wprowadzone
na wypadek sytuacji awaryjnej.
Uwagi koÒcowe
Jak wspomnia³em wczeúniej, do
wykonania programÛw demonstracyjnych pos³uøy³ kompilator firmy Raisonance RC-51. Niestety powstaj¹cy
w†wyniku kompilacji kod przekracza
4†kB i†dlatego teø nie moøna pos³uøyÊ siÍ wersj¹†demonstracyjn¹
ìwprostî. Bardzo duøo miejsca w†pamiÍci programu zajmuje zw³aszcza
implementacja funkcji printf i†scanf
wywo³ywanych wielokrotnie przez
rÛøne funkcje. Ta pierwsza formatuje
i†przesy³a ci¹g znakÛw przez UART,
ta druga odbiera, odczytuje i†przekszta³ca znaki odebrane z†UART na
zmienne zgodnie z†podanym wzorcem. Zamiast RC-51 moøna rÛwnieø
pos³uøyÊ siÍ innym kompilatorem C.
W†takim przypadku polecenie ustawiaj¹ce prÍdkoúÊ transmisji UART
moøe wygl¹daÊ jak niøej:
void main()
{
SCON = 0x50;
TMOD = 0x20;
SMOD = 1;
TH1 = 0xFE;
TL1 = -1;
TR1 = 1;
Polecenia wysy³ane przez np. program hyper terminal s¹ odbierane za
pomoc¹ zdefiniowanej przez producenta pakietu funkcji gets(). Wymaga ona,
aby kaødy przes³any ci¹g znakÛw zakoÒczony by³ przez sekwencjÍ CR-LF.
Niestety wiÍkszoúÊ programÛw†typu
terminal wysy³a na koÒcu linii CR
nie dbaj¹c o†LF. Tak teø jest w†przypadku hyper terminala, ktÛry to musi
mieÊ ustawion¹ opcjÍ dodawania LF
na koÒcu linii. Naleøy w†nim ustawiʆparametr Wyúlij koÒce wierszy ze
znakiem wysuwu wiersza (Plik>W³aúciwoúci, zak³adka Ustawienia>Ustawienia ASCII). Oczywiúcie moøna rÛwnieø
zaimplementowaÊ inn¹, w³asn¹ funkcjÍ dzia³aj¹c¹ jak gets().
Port UART mikrokontrolera pracuje z†szybkoúci¹ 19200 bd. TÍ sam¹
naleøy wybraÊ w†nastawach portu
COM komputera PC o†ile to w³aúnie
on uøywany jest do przesy³ania poleceÒ (19200, n, 8, 1). Funkcja gets()
odsy³a echo wysy³anych poleceÒ, toteø s¹ one widoczne na ekranie terminala.
Prezentowane wyøej przyk³ady
programÛw ürÛd³owych to tylko zachÍta do samodzielnego eksperymentowania. Oczywiúcie maj¹ one pewn¹
wartoúÊ uøytkow¹, jednak bardziej
s³uø¹ do wskazania moøliwoúci
niø†do budowy gotowego urz¹dzenia
maj¹cego konkretne zastosowanie.
Jacek Bogusz, EP
[email protected]
93
K U R S
Silniki elektryczne w praktyce
elektronika, część 1
Jak dzia³a silnik elektryczny
ìNa przewodnik z†pr¹dem w†polu
magnetycznym dzia³a si³a F rÛwna....î
- tyle mniej wiÍcej kaødy pamiÍta ze
szko³y. Øeby zrobiÊ z†tego silnik elektryczny, potrzebny jest nieruchomy stojan i†osadzony na ³oøyskach wirnik.
Kaødy z†tych elementÛw musi spe³niaÊ
przynajmniej jeden warunek:
- musi umoøliwiÊ przep³yw pr¹du,
- musi wytwarzaÊ w³asne pole magnetyczne.
Øeby chcia³o siÍ to jeszcze krÍciÊ,
potrzebna jest cykliczna zmiana kierunku przep³ywu pr¹du lub zmiana orientacji i†natÍøenia (wirowanie) pola magnetycznego. Takie minimum teorii wystarczy do zrozumienia dzia³ania wiÍkszoúci silnikÛw elektrycznych.
Podzia³ silnikÛw elektrycznych
Istnieje ponad sto rodzajÛw silnikÛw, rÛøni¹cych siÍ zasad¹ pracy, budow¹ i†w³aúciwoúciami. NiektÛre rodzaje wystÍpuj¹ tylko w†podrÍcznikach
i†prÛøno ich szukaʆw†sklepach. Poniøszy podzia³ obejmuje najwaøniejsze typy silnikÛw, produkowane masowo:
Silniki pr¹du sta³ego
- komutatorowe, w†rodzinie ktÛrych s¹
produkowane:
- silniki z†magnesem trwa³ym;
- silniki szeregowe;
- silniki bocznikowe;
- silniki szeregowo-bocznikowe;
- z†wiruj¹cym magnesem, w†rodzinie
ktÛrych s¹ produkowane:
- dwubiegunowe z†czujnikami Halla,
- wielobiegunowe z†czujnikami Halla
lub enkoderem,
- krokowe, w†rodzinie ktÛrych s¹ produkowane:
- unipolarne,
- bipolarne,
- liniowe.
Silniki pr¹du zmiennego
- komutatorowe (uniwersalne),
- asynchroniczne 1-fazowe, w†rodzinie
ktÛrych s¹ produkowane:
- kondensatorowe;
- ze zwart¹ faz¹ rozruchow¹;
- z†od³¹czanym uzwojeniem rozruchowym;
- asynchroniczne 3-fazowe,
- synchroniczne.
Wybrane parametry silnikÛw
elektrycznych
Podstawowe parametry silnika s¹
zwykle podane na jego tabliczce znamionowej, pozosta³e - np. moment rozruchowy, pr¹d rozruchowy, moøna znaleüÊ tylko w†katalogach lub oszacowaÊ
wed³ug w³aúciwoúci poszczegÛlnych rodzajÛw silnikÛw.
Moc znamionowa. Zazwyczaj jest
podawana moc elektryczna w†watach,
Elektronika Praktyczna 12/2003
Na co dzieÒ nie zdajemy sobie sprawy, jak olbrzymia
liczba rÛønych silnikÛw elektrycznych nas otacza. Wielu
elektronikÛw buduj¹c sterowniki mikroprocesorowe,
chcia³oby skorzystaÊ z†tego bogactwa, ale nie zawsze
wiadomo, jak to zrobiÊ.
Dlatego postanowi³em przybliøyÊ Czytelnikom temat
w³aúciwoúci i†sposobÛw sterowania typowych silnikÛw
elektrycznych - moøe w†sposÛb nienaukowy, przystÍpnie
i†bez stosowania wyøszej matematyki.
tzn. moc pobierana przez silnik podczas pracy z†normaln¹ prÍdkoúci¹ obrotow¹. Moc mechaniczna, tzw. moc na
wale, jest mniejsza i†zaleøy od sprawnoúci silnika (typowo 40...80%).
NapiÍcie zasilania. Znamionowa
wartoúÊ napiÍcia zasilaj¹cego (sta³ego
lub zmiennego), przy ktÛrej okreúlane
s¹ inne parametry. WiÍkszoúÊ silnikÛw
moøe byÊ zasilana napiÍciem niøszym
(minimalnie od 5%U z dla silnikÛw komutatorowych i†od 70%U z dla indukcyjnych). Nie naleøy stosowaÊ napiÍÊ
duøo wyøszych od znamionowego (maksimum +15%).
Moment obrotowy. W†uproszczeniu
jest to si³a, z†jak¹ silnik potrafi krÍciÊ
obci¹øeniem. Podawany jest w†Nm (niuton * metr), typowe wartoúci dla ma³ych silnikÛw: od 0,01 do 50 Nm.
Moment rozruchowy. Jest to bardzo
waøny parametr, informuj¹cy o†tym, czy
silnik jest w†stanie wystartowaÊ pod obci¹øeniem. Moøe byÊ podany w†Nm lub
w†procentach momentu obrotowego.
W†zaleønoúci od rodzaju silnika moment
rozruchowy moøe byÊ ma³y (do 150%),
úredni (150...250%) lub duøy (powyøej
250%). Moment rozruchowy moøe byÊ
parametrem decyduj¹cym o†przydatnoúci
silnika do okreúlonych zastosowaÒ. Najmniejsze wymagania stawia napÍd wentylatorÛw - obci¹øenie startowe jest zerowe i†roúnie z†kwadratem prÍdkoúci obrotowej, moøna zastosowaÊ nawet silnik
z†momentem rozruchowym niøszym od
100%. Najtrudniejsze warunki rozruchu
wystÍpuj¹ w†napÍdach sprÍøarek, düwigÛw oraz pojazdÛw.
Obroty znamionowe. Zawsze s¹ podawane obroty w†normalnych warunkach
pracy, tzn. przy znamionowym obci¹øeniu i†napiÍciu zasilania. Obroty silnikÛw
mog¹ zawieraÊ siÍ w†granicach
100...100000 obr./min., ale najczÍúciej spotykane wartoúci to 1000...4000 obr./min.
Pr¹d znamionowy i†pr¹d rozruchowy. Pr¹d znamionowy jest to pobÛr
pr¹du w†normalnych warunkach pracy.
Pr¹d rozruchowy wystÍpuje tylko pod-
czas rozpÍdzania silnika i†jest 2...8-krotnie wiÍkszy od pr¹du znamionowego
(najwiÍksze pr¹dy rozruchowe maj¹ silniki indukcyjne). Warto o†tym pamiÍtaÊ, projektuj¹c uk³ad sterowania i†zasilania silnika.
Silniki komutatorowe pr¹du
sta³ego z†magnesem trwa³ym
(PMDC)
Konstrukcja silnika komutatorowego
jest znana od 100 lat i†mimo swoich
wad silniki te nadal s¹ powszechnie
stosowane, g³Ûwnie ze wzglÍdu na ³atwoúÊ regulacji obrotÛw i†momentu obrotowego.
KonstrukcjÍ silnika komutatorowego
z†magnesem trwa³ym przedstawiono na
rys. 1. Uzwojenia wirnika umieszczone s¹ w†szczelinach øelaznego rdzenia
i†pod³¹czone do komutatora. Komutator
sk³ada siÍ z†wielu p³ytek miedzianych
umieszczonych na bocznej powierzchni
walca, po ktÛrym úlizgaj¹ siÍ wÍglowe
szczotki zasilane pr¹dem. Zadaniem
komutatora jest prze³¹czanie kierunku
przep³ywu pr¹du w†uzwojeniach, tak
aby oddzia³ywanie z†polem magnetycznym stojana wprawi³o wirnik w†ruch
obrotowy. Obroty silnika komutatorowego zaleø¹ liniowo od napiÍcia zasilania, a†moment obrotowy od natÍøenia pr¹du. ZmianÍ kierunku obrotÛw
uzyskuje siÍ poprzez zmianÍ bieguno-
Rys. 1. Budowa silnika komutatorowe−
go z magnesem trwałym
85
K U R S
Rys. 2. Budowa silnika z wirnikiem bez
żelaza
woúci zasilania. Obroty moøna ³atwo
regulowaÊ w†szerokich granicach (od
5% do 110% obrotÛw znamionowych)
z†zachowaniem duøego momentu obrotowego. Istnieje teø odmiana silnika
komutatorowego - tzw. silnik z†wirnikiem bez øelaza (rys. 2). W†takim silniku wirnik nie posiada rdzenia øelaznego i†jest wykonany podobnie do
p³ytki drukowanej - uzwojenia s¹ wykonane w†postaci taúm miedzianych
przyklejonych do kr¹øka z†laminatu.
Ze wzglÍdu na bardzo ma³¹ masÍ
wirnika taki silnik ma ma³¹ bezw³adnoúÊ - moøe wiÍc startowaÊ bardzo
szybko i†osi¹gaÊ duøe prÍdkoúci obrotowe. Szczotki s¹ dociskane do obrzeøa wirnika, rolÍ komutatora pe³ni¹
pola stykowe na jego obwodzie. Silniki tego typu uøywane s¹ do napÍdu
wirÛwek i†do bardzo szybkich serwomechanizmÛw.
Dodatkow¹ zalet¹ silnikÛw z†magnesem trwa³ym jest ³atwoúÊ hamowania.
Wykorzystuje siÍ tutaj odwracalnoúÊ
pracy takiego silnika: obracanie wirnikiem bez zasilania powoduje, øe silnik
staje siÍ pr¹dnic¹. Wystarczy w†chwili
od³¹czenia zasilania zewrzeÊ zaciski silnika, aby powsta³ duøy moment hamuj¹cy (zaawansowane sterowniki takich
silnikÛw potrafi¹ odzyskiwaÊ energiÍ
hamowania silnika i†zwracaÊ j¹ do
ürÛd³a zasilania).
Niestety silniki komutatorowe maj¹
teø wady. Najwaøniejsza z†nich to zuøywanie siÍ szczotek i†komutatora, co
wymaga okresowej konserwacji silnika
(trwa³oúÊ komutatora jest szacowana na
2...3 tysi¹ce godzin pracy). Poza tym
iskrzenie na komutatorze wytwarza spore zak³Ûcenia elektromagnetyczne, do
tego dochodzi ha³aúliwa praca i†wysokie koszty produkcji.
NiskonapiÍciowe silniki komutatorowe z†magnesem trwa³ym s¹ powszechnie uøywane w†zabawkach, starszych
modelach magnetofonÛw, niektÛrych
serwomechanizmach. Do niedawna by³y
to najczÍúciej stosowane silniki w†zakresie mocy do 20 W, obecnie s¹ wypierane przez nowoczeúniejsze silniki
bezszczotkowe z†wiruj¹cym magnesem.
Silniki komutatorowe szeregowe
i†bocznikowe
Zamiast magnesu trwa³ego moøna
do wytworzenia pola magnetycznego
stojana uøyÊ elektromagnesu, otrzymu-
86
jemy wtedy silnik z†dwoma uzwojeniami: stojana i†wirnika. W†zaleønoúci od
uk³adu po³¹czeÒ otrzymamy silnik szeregowy, bocznikowy lub szeregowobocznikowy (rys. 3). Silnik szeregowy
ma bardzo duøy moment obrotowy
i†rozruchowy, ale ìmiÍkk¹î charakterystykÍ obci¹øenia, tzn. obroty bardzo silnie zaleø¹ od obci¹øenia silnika. Bez
obci¹øenia silnik szeregowy moøe rozpÍdzaÊ siÍ bez ograniczeÒ, aø do jego
zniszczenia - tzw. ìrozbieganie siÍî silnika. Wady tej jest pozbawiony silnik
bocznikowy - jego obroty s¹ sta³e i†prawie niezaleøne od obci¹øenia. Niestety
silniki bocznikowe (poza bardzo ma³ymi) wymagaj¹ skomplikowanych uk³adÛw p³ynnego rozruchu ograniczaj¹cych
pr¹d rozruchowy, a†moment rozruchowy
jest duøo mniejszy niø w†silnikach szeregowych. Silnik szeregowo-bocznikowy
ma charakterystykÍ zbliøon¹ do szeregowego, dodatkowe uzwojenie bocznikowe ogranicza maksymalne obroty przy
pracy bez obci¹øenia.
Regulacja obrotÛw jest moøliwa poprzez zmianÍ napiÍcia zasilania. Kierunek obrotÛw jest sta³y bez wzglÍdu
na biegunowoúÊ zasilania, zmiana kierunku wymaga zamiany miejscami koÒcÛwek jednego z†uzwojeÒ: wirnika lub
stojana.
Szeregowe silniki pr¹du sta³ego na
12 V†i†24 V s¹ powszechnie stosowane
w†samochodach (dmuchawa - 120 W,
wycieraczki - 50 W, rozrusznik - 1200
W) oraz w†wiertarkach akumulatorowych. Silniki wiÍkszej mocy spotyka
siÍ w†napÍdach maszyn oraz - bardzo
duøe - w†pojazdach szynowych. Silniki
bocznikowe i†szeregowo-bocznikowe
uøywane s¹ g³Ûwnie w†przemyúle m.in. do napÍdu düwigÛw.
Sterowniki silnikÛw
komutatorowych
niska czÍstotliwoúÊ moøe powodowaÊ
skokowe zmiany momentu obrotowego
a†zbyt wysoka - straty indukcyjne w†silniku. Naleøy tak dobraÊ czÍstotliwoúÊ,
aby na kaødy obrÛt silnika przypada³o
przynajmniej kilka impulsÛw.
Taki sposÛb sterowania jest bardzo
wygodny w†przypadku mikroprocesorÛw - generator PWM moøe byÊ ³atwo zrealizowany programowo (niektÛre procesory maj¹ teø sprzÍtowy generator PWM). Przyk³adowy uk³ad sterowania obrotami silnika 12†V/20†W
przedstawiono na rys. 4. W†uk³adzie
dodatkowo wprowadzono moøliwoúÊ
zmiany kierunku obrotÛw za pomoc¹
przekaünika sterowanego wyjúciem
DIR. Jeøeli nie ma takiej potrzeby to
silnik pod³¹cza siÍ bezpoúrednio miÍdzy dren tranzystora mocy i†ìplusî
zasilania. Przy doborze elementÛw naleøy zwrÛciÊ uwagÍ na kilka istotnych
szczegÛ³Ûw:
- Dioda D1 jest nie tylko elementem
t³umi¹cym przepiÍcia, ale umoøliwia
takøe zachowanie ci¹g³oúci przep³ywu
pr¹du w†indukcyjnoúci silnika. Nie
powinna to byÊ zwyk³a dioda prostownicza 1N4001, lecz dioda szybka
na pr¹d 1...3 A†(np. BY299, BY397,
BYT03, BYW72).
- Tranzystor kluczuj¹cy moøe byÊ typu
MOS lub bipolarny, powinien mieÊ
dopuszczalny pr¹d drenu (kolektora)
przynajmniej 3-krotnie wiÍkszy od
pr¹du znamionowego silnika. Jeøeli
stosujemy tranzystor bipolarny (np.
Darlington TIP122), to R1=R2=1,8 kΩ.
- Zastosowanie dwÛch po³¹czonych
rÛwnolegle inwerterÛw 74HC04
u³atwia szybkie prze³adowywanie
pojemnoúci bramki T1. W†tym celu
moøna zamiennie uøyÊ np. bufora
mocy 74HC240 i†R1=100Ω (dla
czÍstotliwoúci kluczowania powyøej
1 kHz lepiej jest uøyÊ tranzystora
bipolarnego).
- Warto zastosowaÊ w†uk³adzie ogranicznik pr¹du obci¹øenia (lub bezpiecznik) dla unikniÍcia uszkodzeÒ
w†przypadku przeci¹øenia silnika.
- W†programie steruj¹cym trzeba
uwzglÍdniÊ koniecznoúÊ zatrzymania
Opisane poniøej uk³ady mog¹ byÊ
stosowane do wszystkich rodzajÛw silnikÛw komutatorowych, jednak zmiana
kierunku obrotÛw i†hamowanie jest
moøliwe tylko w†przypadku silnikÛw
z†magnesem trwa³ym.
Najprostszym sposobem regulacji obrotÛw jest zastosowanie potencjometru o†odpowiednio
duøej mocy, trochÍ lepszym
- regulowany stabilizator napiÍcia. Niestety podstawow¹
wad¹ obu uk³adÛw jest zamiana duøej traconej mocy
w†ciep³o. Dlatego teø powszechnie stosowane jest zasilanie silnika fal¹ prostok¹tn¹ o†zmiennym wspÛ³czynniku wype³nienia PWM. Ca³kowanie impulsÛw steruj¹cych, dziÍki czemu ruch
wirnika jest p³ynny, odbywa
siÍ w†sposÛb naturalny - poprzez bezw³adnoúÊ wirnika.
CzÍstotliwoúÊ impulsÛw za- Rys. 3. W zależności od układu połączeń uzwojeń
wiera siÍ w†przedziale od silniki mogą być szeregowe, bocznikowe lub
100 Hz do kilku kHz. Zbyt szeregowo−bocznikowe
Elektronika Praktyczna 12/2003
K U R S
S³owniczek wybranych angielskich
terminów i skrótów
Rys. 4. Układ sterowania obrotami silnika 12 V/20 W
silnika przed prze³¹czeniem kierunku
obrotÛw, w†przeciwnym razie przez
silnik pop³ynie bardzo duøy pr¹d
w†momencie zmiany kierunku.
- Iskrzenie komutatora moøe zak³ÛcaÊ
pracÍ mikrokontrolera. Silnik moøe
byÊ fabrycznie wyposaøony w†szeregowe d³awiki przeciwzak³Ûceniowe,
jeøeli ich brak, to naleøy zastosowaÊ dwa d³awiki 22...100 µH przystosowane do odpowiednio duøego
pr¹du (miniaturowe d³awiki w†obudowach ìrezystorowychî siÍ nie nadaj¹).
Na rys. 5 przedstawiono uproszczony schemat sterownika w†uk³adzie mostkowym X, umoøliwiaj¹cy sterowanie
prÍdkoúci¹ obrotow¹, kierunkiem obrotÛw†oraz hamowanie silnika komutatorowego z†magnesem trwa³ym. Jeøeli
Przydatne linki internetowe
Polskie:
- http://www.silniki.pl - dystrybutor silników
i sterowników, doskonale opracowane
informacje praktyczne i teoretyczne,
- http://www.robot.opole.pl - du¿o teorii na
temat silników komutatorowych i liniowych,
- http://www.mikroma.com, http://
www.elcar.com.pl, http://
www.wamel.com.pl - polscy producenci
silników,
Zagraniczne:
- http://www.allegromicro.com - firma
Allegro Microsystems - producent
scalonych sterowników silników, ciekawe
poradniki i noty aplikacyjne,
- http://us.st.com/stonline/books - karty
katalogowe i noty aplikacyjne sterowników
firmy ST Microelectronics,
- http://www.maxonmotor.com - strona
renomowanego szwajcarskiego producenta
silników DC,
- http://www.compumotor.com - strona
firmy Parker Motion & Control, która
opracowa³a doskona³y poradnik “Motor
Technologies” (dostêpny tak¿e na stronie
Allegro Microsystems).
88
przewodz¹ tranzystory T2 i†T3, to pr¹d
p³ynie od ìplusaî zasilania przez T3,
silnik, T2 i†Rs do masy. W†momencie
zatkania tranzystorÛw pr¹d†samoindukcji
przep³ywa przez D2 i†D3. Sterowanie
T2 i†T3 impulsami z†generatora PWM
pozwala na regulacjÍ obrotÛw silnika.
W†przypadku wysterowania tranzystorÛw
T1 i†T4 pr¹d p³ynie przez silnik
w†przeciwnym kierunku, czyli mamy
zmian͆kierunku obrotÛw. Jednoczesne
przewodzenie tranzystorÛw T1 i†T2 to
zwarcie zaciskÛw silnika - hamowanie.
NapiÍcie z†rezystora Rs jest podawane
na wejúcie komparatora - ogranicznika
pr¹du. Nazwa mostek X†lub mostek
H†pochodzi od graficznego przedstawienia przep³ywu pr¹du, przypominaj¹cego
literÍ X†lub H.
Na rys. 6 przedstawiono schemat
aplikacyjny scalonego sterownika
A3953 firmy Allegro Microsystems,
dzia³aj¹cego wed³ug opisanych powyøej
zasad. Na wejúcie /ENABLE s¹ podawane impulsy z†generatora PWM,
a†stan logiczny na wejúciu PHASE decyduje o†kierunku obrotÛw. Na wejúcie
/BRAKE naleøy podaÊ '1' (stan '0' na
wejúciu /BRAKE powoduje hamowanie
silnika), wejúcie MODE powinno
mieʆstan '0'. Do wejúcia REF do³¹cza
siÍ napiÍcie sta³e z†zakresu 0...0,65
V†w†celu ustalenia wartoúci ograniczania pr¹du silnika (maksymalny pr¹d
wyjúciowy uk³adu 3953 wynosi 1,3 A).
Uk³ad moøe byÊ zasilany dwoma rÛønymi napiÍciami: V BB (tranzystory wyjúciowe) i†V CC (czÍúÊ cyfrowa), dziÍki
temu moøliwe jest bezpoúrednie sterowanie wejúÊ A3953 z†wyjúÊ mikroprocesora.
Armature, winding - uzwojenie
BLDC (Brushless DC motor) - bezszczotkowy
silnik DC z wiruj¹cym magnesem
Brush motor - silnik komutatorowy
Cage motor - silnik indukcyjny AC z wirnikiem
klatkowym
Capstan motor - potoczna nazwa silnika g³ównego w magnetowidach, magnetofonach
Clamp diode - dioda zamykaj¹ca obwód dla
pr¹du samoindukcji
PMDC (Permanent Magnet DC motor) - silnik
komutatorowy z magnesem trwa³ym
REPM (Rare Earth Permanent Magnet) - magnes trwa³y wykonany z pierwiastków ziem
rzadkich (np. neodym)
Spindle motor - 1) potoczna nazwa silnika
g³ównego w napêdach dyskowych i CD, 2)
silnik z elementem napêdzanym zamocowanym bezpoœrednio na osi wirnika
Rotor - wirnik
Stator - stojan
Torque - moment obrotowy
Torque ripple - wahania momentu obrotowego
zale¿ne od k¹ta obrotu wirnika
Voice Coil motor (actuator) - rodzaj silnika (si³ownika) liniowego z ruchom¹ cewk¹
X-Bridge (H-Bridge) - mostek 4-tranzystorowy
do bipolarnego sterowania uzwojeñ silników
w†tym samym kierunku niezaleønie od
biegunowoúci zasilania - czyli powinien
prawid³owo pracowaÊ takøe przy zasilaniu pr¹dem zmiennym. W†praktyce
czÍsto rdzeÒ wirnika i†stojana jest wykonany z†jednego kawa³ka metalu i†straty wywo³ane pr¹dami wirowymi by³yby
bardzo duøe. Dlatego teø w†silnikach
uniwersalnych rdzenie wykonane s¹
w†formie pakietÛw z†cienkich blaszek
(jak w†transformatorach sieciowych). Taki silnik moøe byÊ zasilany pr¹dem
zmiennym lub sta³ym i†dlatego nazywany jest silnikiem uniwersalnym. Tego
typu silniki s¹ powszechnie uøywane
Silniki komutatorowe
uniwersalne
Silniki uniwersalne wystÍpuj¹ w†klasyfikacji jako silniki pr¹du zmiennego,
jednak nie do koÒca jest to prawda.
Jak wspomniano wczeúniej, silnik komutatorowy szeregowy obraca siÍ
Rys. 5. Uproszczony schemat sterowni−
ka w układzie mostkowym X
Elektronika Praktyczna 12/2003
K U R S
w†sprzÍcie gospodarstwa domowego (roboty kuchenne, miksery, m³ynki, odkurzacze) oraz w†elektronarzÍdziach.
W†przypadku uøywania silnikÛw uniwersalnych z†odzysku, naleøy pamiÍtaÊ
o†moøliwoúci rozbiegania siÍ silnika
szeregowego przy braku obci¹øenia.
SzczegÛlnie dotyczy to silnikÛw z†odkurzaczy: maj¹ one prÍdkoúÊ znamionow¹ ok. 12†000 obr./min. w†warunkach
obci¹øenia turbin¹, a†bez obci¹øenia potrafi¹ osi¹gn¹Ê kilkadziesi¹t tysiÍcy obrotÛw. Przestrzegam przed prÛbami wykorzystania silnika z†odkurzacza do budowy szlifierki - przy np. 30†000 obr./
min. rozpadaj¹ca siÍ tarcza szlifierska
powoduje efekt zbliøony do wybuchu
granatu!
Elektroniczne uk³ady regulacji obrotÛw silnikÛw uniwersalnych zwykle
budowane s¹ w†oparciu o†triaki ze
sterowaniem fazowym. Schematy takich uk³adÛw moøna bez problemu
znaleüÊ w†literaturze (np. z†uk³adem
U2008 lub U 2 0 1 0 B f i r m y T e m i c ) .
Moøna teø zasiliÊ silnik uniwersalny pr¹dem sta³ym o†napiÍciu 230 V,
ale zbudowanie odpowiedniego zasilacza nie jest rzecz¹ prost¹ - wyprostowanie i†odfiltrowanie napiÍcia
sieci da na wyjúciu ok. 320 VDC.
Elektronika Praktyczna 12/2003
Rys. 6. Schemat aplikacyjny scalonego sterownika silników − A3953
Gdyby jednak to siÍ uda³o, to uzyskamy odrobinÍ wiÍksz¹ sprawnoúÊ
silnika (brak strat na przemagnesowanie rdzenia) i†moøemy regulowaÊ
obroty opisan¹ wczeúniej metod¹
PWM. Do celÛw przemys³owych uøy-
wa siÍ czasem silnikÛw uniwersalnych, przewidzianych do pracy przy
napiÍciu 320 VDC (wyprostowane napiÍcie sieci) lub 550 VDC (wyprostowane napiÍcie trÛjfazowe).
Jacek Przepiórkowski
89
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.
mail2led − sygnalizator e−maili dla PC
KtÛø z†nas chcia³by
byÊ natychmiast
informowany o nowej
poczcie elektronicznej
nawet przy uúpionym
komputerze? Odpowiedü
jest prosta - kaødy!
W³aúnie dlatego
mail2led zainteresuje
chyba kaødego
komputerowca.
Rekomendacje:
uk³ad, dziÍki
odpowiedniemu
oprogramowaniu, jest
dos³ownie dla kaødego.
Sprawdzanie poczty elektronicznej naleøy do codziennych czynnoúci
kaødego internauty. Czy
nie by³oby dobrze, øeby
ìcoúî sprawdza³o, czy
jest nowa poczta i†informowa³o nas o†tym
w†jakiú przyjemny sposÛb?
Komputer moøe sobie smacznie ìspaÊî, monitor moøe byÊ
wy³¹czony, a†my i†tak bÍdziemy wiedzieÊ, czy mamy now¹ pocztÍ, pod warunkiem øe
jesteúmy na sta³e do³¹czeni
do Internetu.
Sygnalizator
poczty
mail2led sk³ada siÍ z†dwÛch
czÍúci: sprzÍtowej (schemat
uk³adu na rys. 1) i†programowej (okno programu pokazano na rys. 2).
Budowa uk³adu sygnalizatora jest tak prosta, øe nawet
ktoú, kto nie trzyma³ nigdy
Rys. 1. Schemat elektryczny interfejsu mail2led
Rys. 2. Widok okna ustawień
programu mail2led
Rys. 3. Menu podręczne przy−
wołane prawym przyciskiem
myszy
Elektronika Praktyczna 12/2003
lutownicy w†rÍce poradzi sobie w†5†minut! Diody LED
sygnalizatora moøemy zamocowaÊ na wolnej zaúlepce
obudowy lub moøna obudowaÊ
wed³ug
w³asnego
pomys³u. Moøemy takøe†zastosowaÊ diody dwukolorowe, np. lubiane przez uøytkownikÛw PC niebieskie
i†bia³e. W†modelowym uk³adzie zastosowano zielone
i†czerwone diody LED o†úrednicy 5†mm.
Nadruk na zaúlepce moøna wykonaÊ nastÍpuj¹co: drukujemy ìnaklejkÍî na zwyk³ym papierze, przyklejamy do
zaúlepki, wiercimy otworki, a
nastÍpnie obklejamy bezbarwn¹, samoprzylepn¹ szerok¹
taúm¹. Na koniec naleøy zrobiÊ otworki w†taúmie i†zamocowaÊ diody. Efekt jest naprawdÍ zadowalaj¹cy.
Gotowy uk³ad naleøy pod³¹czyÊ do wolnego gniazda
RS232 w†komputerze. Oczywiúcie, do
sprawdzania stanu kont pocztowych potrzebny jest jeszcze
odpowiedni program. Jest on
darmowy (freeware) i†moøna
go rozpowszechniaÊ do woli.
Po uruchomieniu programu (dzia³a pod wszystkimi
Windowsami, pocz¹wszy od
Windows 95) pojawia siÍ okno konfiguracyjne (rys. 2),
umoøliwiaj¹ce wybranie
portu, do ktÛrego pod³¹czony
jest sygnalizator. W†tym oknie moøemy takøe aktywowaÊ
funkcjÍ uruchamiania programu razem z†Windows (bardzo zalecane!), a†takøe zablokowaÊ pojawianie siÍ okienek
popup informuj¹cych o†nowej poczcie lub b³Ídzie. Na
nastÍpnych zak³adkach okna
wpisujemy dane naszych
kont pocztowych, a†takøe
ustawiamy czas, po ktÛrym
program bÍdzie sprawdza³
dane konto w†poszukiwaniu
nowych listÛw.
Gdy wszystko jest dobrze,
pozostaje nam tylko klikniÍcie przycisku Zapisz i†zamknij. Wszystkie ustawienia
programu przechowywane s¹
w†rejestrze Windows. Has³a
do kont e-mail s¹ szyfrowane
algorytmem Bluefish, aby zapewniÊ choÊ odrobinÍ bezpieczeÒstwa danych.
Po zamkniÍciu okna ustawieÒ program natychmiast
rozpoczyna dzia³anie. Oczywiúcie, w†kaødym momencie
moøemy klikn¹Ê prawym kla-
Rys. 4. Okienko popup infor−
mujące o nowej poczcie
wiszem myszy na ikonÍ na
pasku zadaÒ i†przywo³aÊ menu podrÍczne (rys. 3).
Gdy ustawienia s¹ wpisane do rejestru, program rozpoczyna odmierzanie czasu
i†sprawdzanie poczty. Jeúli
jest nowa poczta, to program
wyúwietli okienko popup
(rys. 4) i†zaúwieÊi siÍ zielona
dioda na interfejsie. Jeúli s¹
jakieú nieprawid³owoúci, wtedy wyúwietli siÍ okienko popup z†odpowiednim b³Ídem,
diody zaczn¹ úwieciÊ na przemian, a†lista b³ÍdÛw bÍdzie
wyúwietlona w oknie b³ÍdÛw, ktÛre moøna wybraÊ poleceniem B³Ídy... z†menu
podrÍcznego.
Jeúli projekt mail2led zyska przychylnoúÊ CzytelnikÛw, to powstanie wersja obs³uguj¹ca dial-up (specjalnie
dla modemowcÛw!), a†takøe
rÛøne wersje jÍzykowe.
MyúlÍ, øe po przeczytaniu
tego artyku³u kaødy posiadacz komputera zbuduje
sobie sygnalizator i†bÍdzie
zawsze wiedzia³, czy na odleg³ych skrzynkach pocztowych nie leøy jakaú korespondencja.
Czekam na sugestie
CzytelnikÛw i†pytania pod
adresem: [email protected].
Pawe³ Bielawski
WYKAZ ELEMENTÓW
Rezystory
R1 200Ω
Półprzewodniki
LED1, LED3, LED5 dioda LED
zielona
LED2, LED4, LED6 dioda LED
czerwona
Różne
J1: wtyk DB9 żeński + ew.
obudowa
przewód 4−żyłowy
79
M I N I P R O J E K T Y
Przetwornica do lamp Nixie
Opublikowane w†EP
opisy zegarÛw
z†gazowanymi
wyúwietlaczami
lampowymi Nixie
zachÍci³y wielu naszych
CzytelnikÛw do
przeszukania swoich
magazynkÛw. Okazuje
siÍ, øe najpowaøniejszym
problemem zg³aszanym
nam przez CzytelnikÛw
jest zasilanie tych lamp.
Urz¹dzenie przedstawione
w†artykule ten problem
rozwi¹zuje.
Rekomendacje: dla
projektantÛw urz¹dzeÒ
lampowych, szczegÛlnie
dobrze nadaje siÍ do
zasilania wyúwietlaczy
lampowych Nixie.
Schemat
elektryczny
przetwornicy pokazano na
rys. 1. Jest to klasyczna przetwornica impulsowa ze stabilizacj¹ napiÍcia wyjúciowego,
wykonana na specjalizowanym sterowniku MC34063.
Poniewaø uk³ad ten integruje
w†sobie wszystkie bloki funkcjonalne poza koÒcÛwk¹
mocy (w stopniu mocy pracuje tranzystor Q1), diod¹
kluczuj¹c¹ (D1) i†d³awikiem
(L1), budowa przetwornicy
jest ma³o skomplikowana.
DziÍki temu z†jej wykonaniem nie bÍd¹ mieli problemu takøe mniej wprawni
elektronicy.
JakoúÊ napiÍcia uzyskiwanego na wyjúciu przetwornicy (tzn. wspÛ³czynnik jego
stabilizacji i†napiÍcie tÍtnieÒ)
nie s¹ zbyt wysokie, ale nie
ma to istotnego znaczenia dla
jakoúci dzia³ania lamp Nixie
czy magicznego oka, do zasilania ktÛrego moøna takøe zastosowaÊ tÍ przetwornicÍ.
Na rys. 2 pokazano
schemat montaøowy p³ytki
drukowanej przetwornicy.
Jej montaø nie wymaga
posiadania specjalnego
sprzÍtu ani szczegÛlnych umiejÍtnoúci.
UwagÍ
naleøy
zwrÛciÊ jedynie na
sposÛb†montaøu
tranzystora Q1 - wyprowadzenie jego drenu jest
jednoczeúnie radiatorem, ktÛry naleøy przylutowaÊ do ods³oniÍtego pola na p³ytce drukowanej. Czas lutowania naleøy skrÛciÊ do minimum,
dbaj¹c jednoczeúnie o†zapewnienie wysokiej jakoúci lutu.
Uruchomienie przetwornicy sprowadza siÍ do ustawienia poø¹danego napiÍcia
na wyjúciu. Przy zasilaniu
przetwornicy napiÍciem 12 V
i†obci¹øeniu jej wyjúcia rezystorem 20 kΩ moøna uzyskaÊ na jej wyjúciu stabilne
napiÍcie o†wartoúci 160 do
205 V.
Andrzej Gawryluk
WYKAZ ELEMENTÓW
Rezystory
P1: 2,2kΩ
R2: 4,7kΩ
R4: 330Ω
R3: 680kΩ
R1: zworka
Kondensatory
C1: 1000µF/25V
C2, C3: 100nF
C4: 1nF
C5: 47µF/350V
Półprzewodniki
U1: MC34063A
Q1: IFR840S
D1: BYV29/400
Różne
F1: 0,4AT
J1, J2: ARK2
L1: 330µH (max. 1Ω/min. 1,5A)
Rys. 1
P³ytka drukowana jest dostÍpna
w AVT - oznaczenie AVT-1385.
Wzory p³ytek drukowanych
w formacie PDF s¹ dostÍpne
w Internecie pod adresem:
pcb.ep.com.pl oraz na p³ycie CDEP12/2003B w katalogu PCB.
Rys. 2
80
Elektronika Praktyczna 12/2003
K U R S
Niezbędnik dla amatorów i profesjonalistów
W głośnikowym żywiole, część 2
G³oúnikowy triumwirat
ZespÛ³ g³oúnikowy sk³ada siÍ
z†trzech g³Ûwnych obszarÛw - systemu
g³oúnikÛw (przetwornikÛw), zwrotnicy
(filtrÛw) i†obudowy. Obszary te s¹ ze
sob¹ oczywiúcie konstrukcyjnie sprzÍøone, choÊ rÛøne zwi¹zki maj¹ rÛøn¹
si³Í. NiektÛre parametry samych g³oúnikÛw niskotonowych decyduj¹ o†rodzaju i†wielkoúci obudowy, natomiast
parametry wszystkich g³oúnikÛw maj¹
udzia³ w†projektowaniu uk³adu filtrÛw
nimi steruj¹cych. Te zwi¹zki s¹ najwaøniejsze, choÊ s¹ i†mniej znane,
a†jednak doúÊ istotne. Np. wymiary
przedniej úcianki i†sposÛb rozplanowania na niej g³oúnikÛw ma wp³yw na
charakterystyki w†zakresie úrednio-wysokotonowym, co z†kolei powinno zostaÊ uwzglÍdnione przy projektowaniu
zwrotnicy. W†ten sposÛb obudowa ma
poúrednio zwi¹zek ze zwrotnic¹. Mimo to proces projektowania moøna podzieliÊ na etapy prac prowadzonych
do pewnego stopnia niezaleønie i†rÛønymi metodami, choÊ na widoku trzeba mieÊ ca³¹ koncepcjÍ. Nie ma np.
sensu projektowanie obudowy z†niskoefektywn¹ lini¹ transmisyjn¹, gdy zamierza siÍ zastosowaÊ sekcjÍ úredniowysokotonow¹ z†uøyciem przetwornikÛw tubowych o†wysokiej efektywnoúci, tak jak nie jest racjonalne budowanie uk³adÛw czterodroønych z†13cm g³oúnikiem niskotonowym w†ma³ej
konstrukcji podstawkowej, albo wrÍcz
przeciwnie - uruchamianie baterii
kilkunasotcalowych wooferÛw, podczas gdy do dyspozycji mamy tylko
jeden ma³y g³oúnik úredniotonowy (i
oczywiúcie wysokotonowy), a†tym bardziej gdy jest to tylko tweeter. Przy-
KEF 207 − rzadko spotykane
połączenie układu aż czterodrożnego
z małą obudową podstawkową
Elektronika Praktyczna 12/2003
Po wstÍpnym zachÍcaj¹co-zniechÍcaj¹cym eseju, zamieszczonym
w†poprzednim numerze EP, powoli przechodzimy do praktycznotechnicznych wskazÛwek dla amatorÛw samodzielnego
konstruowania zespo³Ûw g³oúnikowych. Nigdzie nie bÍdziemy
epatowaÊ teori¹, rÛwnaniami, modelami, itp., ktÛre nie znajduj¹
zastosowania w†dzia³aniach konstruktora zespo³u g³oúnikowego.
RozpÍdzaÊ bÍdziemy siÍ stopniowo. W†tym numerze rozbierzemy
zespÛ³ g³oúnikowy na najwaøniejsze czÍúci. Powstrzymamy siÍ od
schematÛw, wzorÛw, choÊ w†samym opisie bÍdziemy siÍ juø do
pewnych zaleønoúci odnosiÊ. LekcjÍ tÍ mog¹ sobie darowaÊ
konstruktorzy juø obeznani z†podstawowymi faktami. Ale moøe
zabrniemy w†jakieú ciekawostki... zarazem nowe spojrzenie
nawet na elementarne problemy moøe okazaÊ siÍ poøyteczne.
k³ady konfiguracji absurdalnych moøna mnoøyÊ, chociaø czasami pewne
rozwi¹zania absurdalnymi nie s¹, mimo øe na takie pozornie wygl¹daj¹.
Dopiero dok³adniejsze wejrzenie we
w³aúciwoúci zastosowanych przetwornikÛw stawia we w³aúciwym úwietle
zamierzenia i†umiejÍtnoúci konstruktora. Na przyk³ad najlepsza podstawkowa konstrukcja firmy KEF, model
Reference 201, jest aø czterodroøna zawiera 18-cm g³oúnik niskotonowy,
18-cm nisko-úredniotonowy sprzÍøony
z†25-mm kopu³k¹ wysokotonow¹ w†ramach wspÛ³osiowego podsystemu
ìUni-Qî, a†na szczycie jeszcze 19mm kopu³kÍ superwysokotonow¹.
Z†drugiej strony moøna spotkaÊ uk³ady dwudroøne pos³uguj¹ce siÍ 20,
a†nawet 25-cm g³oúnikami nisko-úredniotonowymi, co wymaga od nich wyj¹tkowo (jak na ich wielkoúÊ) daleko
siÍgaj¹cych dostatecznie liniowych charakterystyk przetwarzania, a†takøe wysokiej wytrzyma³oúci g³oúnika wysokotonowego, aby mÛc ustaliÊ nisk¹ czÍstotliwoúÊ podzia³u.
Tworzenie takich i†innych egzotycznych uk³adÛw wymaga doskona³ej znajomoúci stosowanych przetwornikÛw,
doúwiadczenia i†wyczucia, i†nie powinno byÊ rozwaøane przez pocz¹tkuj¹cych konstruktorÛw. A†przecieø zagalopowaliúmy siÍ juø niechc¹cy w†terminologiÍ nieznan¹ pocz¹tkuj¹cym (czÍstotliwoúÊ podzia³u, superwysokotonowy, uk³ad wspÛ³osiowy...), wrÛÊmy do
podstaw i†wyjaúnienia, dlaczego
w†ogÛle mamy do czynienia z†zespo³ami g³oúnikowymi, a†nie pojedynczymi
g³oúnikami; jaka jest rola zwrotnicy,
a†jaka obudowy.
T¹ drog¹ teø dojdziemy do pytaÒ
i†problemÛw.
Dlaczego nie solo?
Praktycznie nie istnieje pojedynczy
g³oúnik zdolny z†satysfakcjonuj¹co niskimi zniekszta³ceniami przetwarzaÊ ca³e pasmo akustyczne. W†tanich urz¹dzeniach (np. tanie radioodbiorniki)
spotykamy pojedyncze g³oúniki, ale
oczywiúcie ma to zwi¹zek ze zgod¹
na nisk¹ jakoúÊ brzmienia. WiÍkszy
k³opot sprawia zinterpretowanie jakoúci nielicznych egzotycznych i†bardzo
kosztownych przetwornikÛw szerokopasmowych (np. Lowther), ktÛre wywo³uj¹ apaluz pewnej czÍúci audiofilÛw i†hobbistÛw. Rzeczywiúcie, niektÛrym firmom uda³o siÍ opracowaÊ g³oúniki szerokopasmowe brzmi¹ce na tyle
interesuj¹co, øe stanowi¹ one ciekaw¹,
ale marginaln¹ alternatyw͆dla zespo³Ûw g³oúnikowych. Nie siÍgaj¹ one ìod
dwudziestu do dwudziestuî, maj¹c
k³opoty z†przetwarzaniem zarÛwno najniøszych, jak i†wysokich tonÛw, maj¹
niskie moce, ale doskona³¹ spÛjnoúci¹
brzmienia, wynikaj¹c¹ z†samej swojej
ìniezespo³owejî natury, w†pewien sposÛb rekompensuj¹ te niedoci¹gniÍcia.
Raczej w†duecie
Powszechn¹ popularnoúÊ zdoby³o
konstruowanie wielodroønych zespo³Ûw
g³oúnikowych, z†g³oúnikÛw wyspecjalizowanych w†przetwarzaniu rÛønych zakresÛw pasma. Wystarcz¹ juø dwa
g³oúniki, aby stworzyÊ pe³nopasmowy
zespÛ³ g³oúnikowy - bÍd¹ to g³oúniki
nisko-úredniotonowy i†wysokotonowy,
a†zespÛ³ taki nazwiemy dwudroønym.
Dwudroøne zespo³y g³oúnikowe maj¹
dzisiaj pozycjÍ dominuj¹c¹, chociaø
jeszcze niedawno wydawa³o siÍ, øe
dopiero zespo³y trÛjdroøne - czyli
z†wyrÛønionymi g³oúnikami niskotonowym, úredniotonowym i†wysokotono-
75
K U R S
prostszy od trÛjdroønego, poniewaø nie
zawiera filtru dolnozaporowego dla
g³oúnika nisko-úredniotonowego. Zespo³y dwuipÛ³droøne s¹ obecnie bardzo
popularne i†w†duøym stopniu zast¹pi³y
zespo³y trÛjdroøne. Znowu wdepnÍliúmy w†temat filtrÛw, ale akurat w†dobrym momencie.
Trzeba z†tym zrobiÊ porz¹dek
Legacy Focus 20 − potężna
konstrukcja pięciodrożna
wym - mog¹ byÊ uznawane ze zespo³y†wysokiej klasy. Zespo³y trÛjdroøne nie zniknͳy, podaliúmy nawet
przyk³ad zespo³u czterodroønego,
a†zdarzaj¹ siÍ i†piÍciodroøne, jednak
nie naleøy s¹dziÊ, øe wraz ze zwiÍkszaniem iloúci ìdrÛgî automatycznie
i†bezproblemowo podnosi siÍ jakoúÊ
zespo³u g³oúnikowego. WielodroønoúÊ
zespo³u powinna byÊ dobrze umotywowana. Mimo øe nie istnieje idealny
g³oúnik szerokopasmowy, to w³aúnie
funkcjonowanie takiego hipotetycznego
g³oúnika jest spe³nieniem wszystkich
postulatÛw dotycz¹cych wysokiej jakoúci przetwarzania. WielodroønoúÊ uk³adu nie powinna byÊ celem samym
w†sobie, ale tylko sposobem dla uzyskania optymalnych parametrÛw przetwarzania. Moøna nawet powiedzieÊ, øe
jes to z³o konieczne. Komplikowanie
uk³adu niesie bowiem ze sob¹ problemy, ktÛre nawet umiejÍtnie rozwi¹zywane, pozostawiaj¹ pewne úlady. MÛwi¹c krÛtko, trzeba wiedzieÊ dlaczego
i†po co buduje siÍ uk³ad wiÍkszy niø
dwudroøny, a†w†myúleniu pocz¹tkuj¹cego konstruktora projektowanie uk³adu
dwudroønego, ewentualnie dwuipÛ³droønego, powinno byÊ spraw¹ oczywist¹.
Co to jest uk³ad dwuipÛ³droøny? Jak
nazwa wskazuje, to uk³ad poúredni
miÍdzy dwudroønym a†trÛjdroønym. Powstaje przez dodanie do uk³adu dwudroønego dodatkowego g³oúnika niskotonowego, a†od uk³adu trÛjdroønego
rÛøni siÍ tym, øe zamiast g³oúnika
úredniotonowego, dzia³a w†nim g³oúnik
nisko-úredniotonowy, tak jak niskotonowy przetwarzaj¹cy, oprÛcz úrednich tonÛw, takøe niskie tony. Uk³ad taki jest
76
Stwierdziliúmy, øe pojedynczy g³oúnik nie moøe przetwarzaÊ ca³ego pasma akustycznego - uwaga - z†satysfakcjonuj¹co niskimi zniekszta³ceniami.
Oznacza to, øe aplikuj¹c go do zespo³u g³oúnikowego, naleøy†odfiltrowaÊ te
czÍúci pasma, ktÛre przetwarza ze zbyt
wysokimi zniekszta³ceniami. Jednoczeúnie naleøy podzieliÊ pasmo pomiÍdzy
g³oúniki zastosowane w†zespole i†najczÍúciej unikaÊ szerokich zakresÛw,
w†ktÛrych dwa rÛøne g³oúniki pracuj¹
rÛwnoczeúnie. Zalecenie to najlepiej
spe³niaj¹ filtry wysokiego rzÍdu, to
znaczy charakteryzuj¹ce siÍ stromymi
zboczami charakterystyk. Ale... ich stosowanie niesie ze sob¹ jednak inne
komplikacje, o†ktÛrych dalej, natomiast
naj³agodniejsze filtry 1. rzÍdu (spadek
6†decybeli na oktawÍ), teø maj¹ swoje
zalety, ktÛre sk³aniaj¹ wielu konstruktorÛw do ich stosowania. Tutaj rozpoczyna siÍ terytorium sporÛw i†rÛønych
idei, jakie filtry stosowaÊ, jednak ma³o
kto ma w¹tpliwoúci, øe w†ogÛle s¹
one konieczne. Sytuacje, w†ktÛrych jeden z†g³oúnikÛw†nie wymaga filtrowania, bowiem jego charakterystyka przetwarzania samoistnie opada w†wymaganym dla systemu zakresie, s¹ niezwykle rzadkie, a†i†tak kontrowersyjne.
Bior¹c na przyk³ad prosty uk³ad
dwudroøny zwrÛÊmy teø uwagÍ, øe nieco inne powody dyktuj¹ sposÛb filtrowania g³oúnika nisko-úredniotonowego,
a†inne wysokotonowego (a†generalnie, inne powody okreúlaj¹ filtrowanie dolnoprzepustowe, a†inne gÛrnoprzepustowe).
Z†g³oúnikiem nisko-úredniotonowym sprawa jest prostsza - tak jak wspomnieliúmy, zamierzamy zostawiÊ w†jego przetwarzaniu tylko ten zakres, ktÛry obs³uguje poprawnie. W†przypadku g³oúnika
wysokotonowego powody s¹ bardziej
z³oøone. OprÛcz tego, ktÛry dotyczy wyodrÍbnienia zakresu przetwarzanego
z†najlepsz¹ jakoúci¹, drugi odnosi siÍ do
wytrzyma³oúci g³oúnika wysokotonowego.
G³oúnik wysokotonowy trzeba filtrowaÊ
(gÛrnoprzepustowo) juø tylko z†tego powodu, øe nie uczynienie tego narazi³oby go na zniszczenie. W†ten sposÛb
w†odfiltrowanej czÍúci pasma bardzo
czÍsto g³oúnik wysokotonowy wykazuje
siÍ jeszcze ³adn¹ charakterystykÍ, z†ktÛrej jednak nie korzystamy, ze wzglÍdu
na jego bezpieczeÒstwo. Dlatego pierwszym, absolutnie niezbÍdnym elementem
w†zwrotnicy jest kondensator jako najprostszy filtr gÛrnoprzepustowy dla g³oúnika wysokotonowego (owe anegdotyczne 4,7 µ z†moich wspomnieÒ sprzed
miesi¹ca).
ZespÛ³ dwudroøny z†tak skromnym
filtrem najprawdopodobniej bÍdzie
brzmia³ bardzo u³omnie (odzywaÊ siÍ
bÍdzie obarczony zniekszta³ceniami zakres charakterystyki g³oúnika niskoúredniotonowego), ale ostatecznie
moøe†dzia³aÊ w†miarÍ bezpiecznie
(chociaø tak proste filtrowanie g³oúnika wysokotonowego nie zabezpiecza go
tak dobrze, jak filtry wyøszego rzÍdu).
Znan¹ brytyjsk¹ firm¹ g³oúnikow¹
uprawiaj¹c¹ taki skrajny minimalizm
jest Epos, ktÛrego przynajmniej dawniejsze konstrukcje (wspÛ³czesne moøe
juø nie) mia³y zwrotnicÍ sk³adaj¹c¹ siÍ
w³aúnie z†jednego tylko kondensatora;
nie by³ to wyraz sk¹pstwa, ale koncepcji, i†pod tym k¹tem przygotowywano charakterystyki samego g³oúnika
niskotonowego. Zupe³nie inn¹ genezÍ
maj¹ niektÛre bardzo niskiej klasy
konstrukcje, w†ktÛrych takie rozwi¹zanie wypada t³umaczyÊ tylko chÍci¹
obniøenia kosztÛw. Wreszcie moøna
zrozumieÊ taki uk³ad jako pierwsze
kroki hobbisty lub prowizorkÍ.
Zanim dalej bÍdziemy wnikaÊ
w†tajniki filtrowania, spÛjrzmy dok³adniej na same g³oúniki i†ustalmy, jakie
ich cechy konstrukcyjne i†parametry
okreúlaj¹, w†jakich zakresach powinny
byÊ stosowane.
D³ugoúÊ fal?
Wracamy do pocz¹tkowego problemu
i†pytania - dlaczego pojedynczy g³oúnik
nie moøe przetwarzaÊ ca³ego pasma
akustycznego? Moglibyúmy tutaj przedstawiaÊ skomplikowan¹ teoriÍ, ale pÛjdziemy na skrÛty. Przede wszystkim nasze obserwacje ograniczymy do przetwornikÛw dynamicznych (magnetoelektrycznych), ktÛre s¹ najpopularniejszym
typem g³oúnikÛw spotykanym w†kolumnach. Do typu tego naleø¹ zarÛwno duøe g³oúniki niskotonowe, jak i†ma³e kopu³ki wysokotonowe. Juø na pierwszy
rzut oka widaÊ, øe g³oúniki maj¹ce za
zadanie przetwarzaÊ czÍstotliwoúci najniøsze, s¹ znacznie wiÍksze od przetwarzaj¹cych czÍstotliwoúci najwyøsze. Jest
tu analogia do instrumentÛw muzycznych - stopa perkusji jest wiÍksza od
werbla, a†kontrabas od skrzypiec, a†kaøda grubsza struna wydaje düwiÍki niøsze niø cieÒsza, i†tym niøsze, na im
niøszych progach gramy (a wiÍc im
d³uøsza czÍúÊ struny jest aktywna). Ma
to zwi¹zek z†d³ugoúciami fal - im niøsze czÍstotliwoúci, tym s¹ d³uøsze - ale
nie tylko. Przecieø kilkunastocentymetrowe membrany typowych g³oúnikÛw
nisko-úredniotonowych przetwarzaj¹ czÍstotliwoúci poniøej 100 Hz, nawet jeøeli
nie 20 Hz, to przynajmniej 50 Hz. A†50
Hz to fala o†d³ugoúci prawie 7†metrÛw!
Powierzchnia i†amplituda!
Umiarkowana úrednica membrany
nie jest wiÍc bezwzglÍdn¹ przeszkod¹
dla przetwarzania niskich czÍstotliwoúci, chociaø im wiÍksza úrednica i†powierzchnia, tym ³atwiej to zadanie
Elektronika Praktyczna 12/2003
K U R S
spe³niaÊ. Jest wiÍc zwi¹zek miÍdzy powierzchni¹ membrany a†czÍstotliwoúciami, jakie maj¹ byÊ przez ni¹ przetwarzane, ale zwi¹zek ten zawiera jeszcze
jeden czynnik - amplitudÍ, z†jak¹ membrana moøe pracowaÊ. OtÛø powierzchnia membrany i†jej amplituda ìwspÛ³pracuj¹î, i†mniejsza powierzchnia membrany moøe byÊ rekompensowana przez
wiÍksz¹ amplitudÍ, i†odwrotnie. Ostatecznie dla zdolnoúci przetwarzania
najniøszych czÍstotliwoúci znaczenie ma
jak najwiÍksze ìwychylenie objÍtoúcioweî, czyli iloczyn powierzchni membrany i†jej maksymalnej amplitudy. Dlaczego? I†dlaczego nie jest to tak potrzebne przetwarzaniu wysokich tonÛw?
Poniewaø dla ciúnienia akustycznego liczy siÍ powierzchnia membrany
i†prÍdkoúÊ jej ruchu. Wysokie tony,
czyli wysokie czÍstotliwoúci drgaÒ,
wytwarzaj¹ wysok¹ energiÍ fali dziÍki
wysokim prÍdkoúciom; nawet gdy ruch
ten odbywa siÍ na ma³ej amplitudzie,
to przecieø 20 tysiÍcy cykli na sekundÍ oznacza ogromne prÍdkoúci. Chc¹c
osi¹gn¹Ê porÛwnywalne przyspieszenia
przy 20 cyklach na sekundÍ, trzeba
stworzyÊ warunki do pracy ze znacznie wiÍkszymi amplitudami, i†posi³kowaÊ siÍ zwiÍkszaniem powierzchni
membrany. Teoretycznie, gdyby moøna
by³o skonstruowaÊ 25-mm úrednicy
g³oúnik kopu³kowy o†amplitudzie powiedzmy jednego metra, g³oúnik taki
mÛg³by przetwarzaÊ niskie tony.
O†ile... jest jeszcze jeden warunek dla
moøliwoúci przetwarzania niskich tonÛw - czÍstotliwoúÊ rezonansowa uk³adu drgaj¹cego g³oúnika.
Zaczynamy rezonowaÊ
W†ten parametr trochÍ siÍ wgryziemy, bowiem bÍdzie on nam w†przysz³oúci pomocny. Kaødy uk³ad mechaniczny, w†ktÛrym funkcjonuje masa
i†podatnoúÊ (zawieszenie), albo uk³ad
elektryczny, w†ktÛrym wystÍpuje indukcyjnoúʆ(cewka) i†pojemnoúÊ (kondensator), charakteryzuje siÍ czÍstotliwoúci¹ rezonansow¹, odwrotnie proporcjonaln¹ do pierwiastka z†iloczynu masy i†podatnoúci.
Dość prosta, ale nie minimalistyczna,
typowa zwrotnica dla układu
dwudrożnego
Elektronika Praktyczna 12/2003
Czyli im wiÍksza masa i†(lub) podatnoúÊ, tym niøsza czÍstotliwoúÊ rezonansowa. Przy czÍstotliwoúci tej zachodz¹ tajemnicze zjawiska, ktÛrych
teoriÍ juø sobie darujemy, bowiem
waøne jest dla nas przede wszystkim
to, øe poniøej czÍstotliwoúci rezonansowej g³oúnik szybko traci zdolnoúÊ
efektywnego przetwarzania (jego charakterystyka opada). Aby granica ta leøa³a jak najniøej, czÍstotliwoúÊ rezonansowa powinna byÊ jak najniøsza,
a†wiÍc podatnoúÊ zawieszeÒ i†masa
membrany g³oúnika powinny byÊ duøe. Dlatego teø nasza hipotetyczna 25milimetrowa kopu³ka, aby przetwarzaÊ
niskie czÍstotliwoúci, powinna nie tylko pracowaÊ na duøych amplitudach,
ale i†mieÊ nisk¹ czÍstotliwoúÊ rezonansow¹ - wielokrotnie wiÍksz¹, niø
zwykle kopu³ki maj¹. St¹d teø widaÊ,
dlaczego ma³e g³oúniki nie potrafi¹
przetwarzaÊ niskich czÍstotliwoúci maj¹ zarÛwno zbyt ma³e wychylenia
amplitudowe (przypominam - powierzchnia membrany x†jej amplituda), jak
i†zbyt wysokie czÍstotliwoúci rezonansowe (przypominam - jeden nad pierwiastek z†iloczynu masy i†podatnoúci
jej zawieszeÒ). Opanowanie myúlowe
tych zawi¹zkÛw otwiera drogÍ do rozumienia kolejnych zaleønoúci, dlatego
warto w†to w³oøyÊ trochÍ wysi³ku.
Rezonujemy dalej...
Rozgryümy wiÍc tÍ sprawÍ do koÒca, a†bÍdziemy mieli j¹ z†g³owy. Naúwietlmy te zwi¹zki jeszcze inaczej.
OtÛø czÍstotliwoúÊ rezonansowa g³oúnika wp³ynie jednoznacznie na jego
charakterystykÍ przetwarzania, ale na
charakterystyce tej nie ujrzymy moøliwoúci g³oúnika w†zakresie wychylenia
objÍtoúciowego! Czy nie ma tu
sprzecznoúci? Przecieø powiedziano, øe
wychylenie objÍtoúciowe okreúla moøliwoúci pracy przy niskich czÍstotliwoúciach? Tak, ale badanie charakterystyki przetwarzania przeprowadza siÍ
zwykle przy niskim poziomie sygna³u
wejúciowego, ktÛry nie ujawnia, jak
duø¹ moc g³oúnik jest zdolny przyj¹Ê.
Moøna wiÍc zbudowaÊ ma³y g³oúnik
niskotonowy (o niewielkiej powierzchni
membrany i†niewielkiej dopuszczalnej
amplitudzie), ktÛry dziÍki duøej masie
membrany i†podatnoúci zawieszeÒ bÍdzie
mia³ nisk¹ czÍstotliwoúÊ rezonansow¹,
a†wskutek tego charakterystykÍ przetwarzania (mierzon¹ przy niskim sygnale
steruj¹cym) siÍgaj¹c¹ najniøszych czÍstotliwoúci. Jednak juø moc nieco wiÍksza
niø zawarta w†dotychczasowym sygnale
steruj¹cym, ale w†sumie wcale nie taka
duøa, powiedzmy kilka watÛw, spowoduje øe na g³oúniku wymuszane bÍd¹
amplitudy znacznie wiÍksze, niø jest on
w†stanie bez przesterowania osi¹gaÊ.
MÛwi¹c øargonem, jego uk³ad drgaj¹cy
bÍdzie szybko ìwypluwanyî. Taki g³oúnik specjalnie nam siÍ nie przyda, sama niska czÍstotliwoúÊ rezonansowa
i†³adna charakterystyka przetwarzania
Podzielona na dwie płytki
skomplikowana zwrotnica układu
pięciodrożnego
nie daj¹ gwarancji rzeczywiúcie skutecznej pracy w†zakresie niskich czÍstotliwoúci. Wyobraümy sobie przyk³ad odwrotny - g³oúnik o†duøej powierzchni
membrany i†duøej amplitudzie maksymalnej, ktÛremu konstruktor ustali³ jednak, np. za pomoc¹ sztywnego zawieszenia (ma³a podatnoúÊ), wysok¹ czÍstotliwoúÊ rezonansow¹. Charakterystyka
przetwarzania takiego g³oúnika wykaøe
wiÍc wczesny spadek w†zakresie niskich
tonÛw, a†dostarczanie do niego nawet
duøej mocy w†zakresie niskich tonÛw
nie doprowadzi do duøych wychyleÒ
i†wykorzystania jego moøliwoúci amplitudowych - g³oúnik bowiem jest zbyt
mocno ìtrzymanyî przez zawieszenie.
Dlatego przy konstruowaniu i†wybieraniu
g³oúnika niskotonowego czy nisko-úredniotonowego, naleøy uchwyciÊ w³aúciwe
proporcje miÍdzy czÍstotliwoúci¹ rezonansow¹ a†wychyleniem objÍtoúciowym.
Gdzieú dalej zajmiemy siÍ tym, øe
okreúlaj¹c czÍstotliwoúÊ rezonansow¹
trzeba umiejÍtnie dobraÊ masÍ i†podatnoúÊ, a†okreúlaj¹c wychylenie objÍtoúciowe - powierzchniÍ i†amplitudÍ.
Dlaczego niskotonowy nie
moøe byÊ wysokotonowym?
Dlaczego ma³y g³oúnik, o†ma³ej masie membrany, ma³ej jej powierzchni
i†wychyleniu, nie jest zdolny przetwarzaÊ niskich czÍstotliwoúci - juø wiemy. Dlatego teø g³oúniki szerokopasmowe bardziej przypominaj¹ g³oúniki niskotonowe i†nisko-úredniotonowe, niø
wysokotonowe kopu³ki. Dlaczego jednak duøy czy choÊby úredniej wielkoúci g³oúnik nie jest w†stanie prze-
77
K U R S
Głośnik wysokotonowy cieszy się
z tego, że ma membraną małą
i lekką. I w dodatku nie musi ona
pracować przy dużych wychyleniach
twarzaÊ czÍstotliwoúci wysokich? Tym
razem zwi¹zek miÍdzy úrednic¹ membrany a†d³ugoúci¹ promieniowanych fal
jest juø wyraüny, ale nadal ma znaczenie rÛwnieø masa membrany. Powyøej czÍstotliwoúci rezonansowej
uk³ad drgaj¹cy jest uk³adem bezw³adnoúciowym, wiÍc masa membrany
ogranicza prÍdkoúÊ jej ruchu wraz ze
wzrostem czÍstotliwoúci. Utrzymanie
w†miarÍ p³askiej charakterystyki przetwarzania w†szerokim zakresie powyøej
czÍstotliwoúci rezonansowej zawdziÍczamy jednak poprawiaj¹cej siÍ
relacji miÍdzy úrednic¹ membrany
a†d³ugoúci¹ promieniowanych przez ni¹
fal (poprawia siÍ tzw. rezystancja promieniowania). Kiedy d³ugoúÊ fali (rozchodz¹cej siÍ w†powietrzu) przestaje
byÊ wyraünie wiÍksza od úrednicy
membrany, zwiÍksza siÍ efektywnoúÊ.
Ale ze zjawiska tego moøemy korzystaÊ tylko do pewnego momentu, a†ponadto, kiedy d³ugoúÊ fali (rozchodz¹cej siÍ w†membranie) staje si͆tak ma³a, øe zbliøa siÍ do jej úrednicy, zaczynaj¹ siÍ nowe k³opoty. Przetwarzaj¹c fale d³uøsze, membrana zachowuje
siÍ jak sztywny t³ok, lub bardzo podobnie. Oznacza to, øe ca³a†jej powierzchnia pracuje w†tej samej fazie,
a†poniewaø fale (w powietrzu) s¹ wyraünie d³uøsze niø rÛønice odleg³oúci
od poszczegÛlnych czÍúci membrany (o
kszta³cie nawet bardzo g³Íbokiego stoøka), st¹d ciúnienie przed membran¹
jest stabilne w†funkcji czÍstotliwoúci.
Dla krÛtkich fal nastÍpuj¹ komplikacje
wynikaj¹ce z†dwÛch podstawowych powodÛw. Z†samej stoøkowej geometrii
membrany wynika, øe†nawet gdyby
wszystkie jej fragmenty porusza³y siÍ
w†sposÛb skoordynowany, to rÛønice
w†odleg³oúciach od poszczegÛlnych
czÍúci membrany do punktu oddalonego od g³oúnika, bÍd¹ powodowa³y ich
przesuniÍcia w†fazie i†zaburzenia charakterystyki wypadkowej. Na dodatek
membrana przestaje pracowaÊ jak
sztywny t³ok. Fale rozchodz¹ce siÍ
w†niej zaczynaj¹ j¹ wyginaÊ, co nazywa siÍ zjawiskiem ìdzieleniaî membrany. S¹†to zjawiska niezwykle skomplikowane, zaleøne od prÍdkoúci roz-
78
chodzenia siÍ fal w†membranie (im
wyøsza, tym lepiej, bowiem wtedy fale okreúlonej czÍstotliwoúci s¹ d³uøsze
i†ich relacja do úrednicy membrany siÍ
poprawia), jej sztywnoúci (zwykle idzie
w†parze z†wysok¹ prÍdkoúci¹ rozchodzenia siÍ fali, ponadto do pewnego
momentu to czynnik sprzyjaj¹cy utrzymaniu pracy wedle zasady ìsztywnego
t³okaî, ale powyøej powoduj¹cy gwa³towne zjawiska rezonansowe), i†wreszcie od t³umienia wewnÍtrznego (wprowadza ono t³umienie tych rezonansÛw,
ale trudno membranÍ o†wysokim t³umieniu uczyniÊ sztywn¹). Dzielenie siÍ
membrany powoduje, øe†rÛøne jej fragmenty pracuj¹ z†rÛønymi fazami,
i†w†po³¹czeniu z†przedstawionymi problemami ìgeometrycznymiî powoduje
to, øe charakterystyka staje siÍ mniej
lub bardziej poszarpana. Gdy jeszcze
przywo³amy problem masy, powoduj¹cy spadek zdolnoúci przetwarzania,
charakterystyka ostatecznie opada i†to
w†sposÛb zwykle daleki od spokojnego
zbocza 6†dB/okt. A†i†to jeszcze nie
wszystko. Wraz ze wzrostem czÍstotliwoúci, g³oúnik zaczyna skupiaÊ promieniowanie na osi g³Ûwnej... Co z†tego wynika dla projektowania zwrotnic,
zostawimy juø na kiedy indziej. Teraz
wychodzimy z†tego g¹szczu problemÛw
upewnieni, øe g³oúnik zaprojektowany
jako niskotonowy czy nisko-úredniotonowy, nie jest w†stanie przetwarzaÊ
czÍstotliwoúci wysokich, i†to z†wielu
powodÛw. G³oúnik wysokotonowy nie
tylko bowiem moøe, ale i†powinien
mieÊ membranÍ o†ma³ej úrednicy i†jak
najmniejszej masie.
Membrana siÍ nie rozdwoi
Na d³uøej zajÍliúmy siÍ g³oúnikami, a†przecieø w†tym odcinku mamy
jeszcze choÊby skrÛtowo przedstawiÊ
rolÍ, jak¹ odgrywa obudowa. KoniecznoúÊ jej stosowania, wielkoúÊ, proporcje, budowÍ wewnÍtrzn¹, okreúlaj¹
przede wszystkim wymagania g³oúnika
przetwarzaj¹cego niskie czÍstotliwoúci a†wiÍc niskotonowego lub nisko-úredniotonowego. G³oúnika maj¹cego przetwarzaÊ niskie tony nie moøna pozostawiÊ bez obudowy, bowiem... nie bÍdzie przetwarza³ niskich tonÛw. Przednia i†tylna strona membrany g³oúnika
dynamicznego pracuj¹ w†przeciwnych
fazach - kiedy patrz¹c z†przodu g³oúnika, membrana wykonuje ruch do
przodu, sprÍøaj¹c powietrze, to patrz¹c
od ty³u, cofa siÍ, rozprÍøaj¹c je. Fale
niskich czÍstotliwoúci maj¹ znaczn¹
d³ugoúÊ, wiÍc gdyby g³oúnik znajdowa³
siÍ w†duøej odgrodzie, powstaj¹ce strefy sprÍøania i†rozprÍøania rozpoúciera³yby siÍ na duøym obszarze odpowiednio przed i†za g³oúnikiem. Bez odgrody, ciúnienie sprzed g³oúnika ìucieknieî do ty³u, gdzie by³o podciúnienie,
a†przy przeciwnym ruchu membrany
nast¹pi zjawisko odwrotne. Nast¹pi
efekt ìzwarcia akustycznegoî i†ca³y
czas wokÛ³ g³oúnika ciúnienie bÍdzie
W dobrze skonstruowanym głośniku
niskotonowym niska częstotliwość
rezonansowa powinna iść w parze
z dużym wychyleniem objętościowym.
Tylko wówczas charakterystyka
przetwarzania będzie sięgała niskich
częstotliwości, i głośnik będzie je
w stanie odtwarzać przy wysokich
poziomach natężenia
bliskie zeru. Dopiero przy czÍstotliwoúciach, ktÛrych fale maj¹ d³ugoúÊ
porÛwnywaln¹ ze úrednic¹ membrany,
chociaø ciúnienia na osiach g³Ûwnych
przed i†za g³oúnikiem zawsze bÍd¹ pozostawaÊ w†przeciwnych fazach, to juø
ìobieganieî fali dooko³a g³oúnika spowoduje jej przesuniÍcia w†fazie, i†interferencjÍ z†fal¹ promieniowan¹ przez
przeciwn¹ stronÍ membrany w†sposÛb
mog¹cy dawaÊ niezerowe ciúnienie
wypadkowe. Dlatego teø z†g³oúnika
niezabudowanego s³yszymy úrednie tony, a†nie s³yszymy basu. Aby us³yszeÊ
bas, trzeba zlikwidowaÊ fazow¹ kolizjÍ
miÍdzy prac¹ przedniej i†tylnej strony
membrany. Oczywiúcie nie da siÍ tego
zrobiÊ øadnymi elektronicznymi sztuczkami - przednia i†tylna strona s¹ stronami tej samej membrany, ktÛra siÍ
przecieø nie rozdwoi. Odizolowanie
przedniej i†tylnej strony membrany
w†teoretycznych rozwaøaniach przeprowadza siÍ za pomoc¹ nieskoÒczenie
wielkiej odgrody. Z†tak¹ ide¹ ma coú
wspÛlnego obudowa typu linia transmisyjna, a†z†koncepcj¹ skoÒczonej odgrody obudowa typu dipol (otwarta),
ale w†praktyce spotykamy najczÍúciej
obudowy bass-reflex, i†znacznie rzadziej zamkniÍte. Teoria bass-reflexu
jest doúÊ skomplikowana, teraz w†jednym zdaniu powiemy, øe zasada jej
dzia³ania polega na wywo³aniu w†obudowie zjawisk rezonansowych, ktÛre
powoduj¹ moøliwoúÊ wypromieniowania czÍúci energii produkowanej przez
tyln¹ stronÍ membrany w†fazie zgodnej z†prac¹ przedniej strony membrany (i bez obaw, membrana siÍ nie
rozdwoi). Natomiast obudowa zamkniÍta jest czymú znacznie prostszym, a†jej
funkcjonowanie polega na zamkniÍciu
i†wyt³umieniu ca³ej energii promieniowanej przez tyln¹ stronÍ membrany.
Jeøeli jednak ktoú myúli, øe stwierdzenie ìznacznie prostszymî oznacza, øe
prostym, juø za miesi¹c przekona siÍ,
øe tak nie jest.
Andrzej Kisiel
Elektronika Praktyczna 12/2003
P R O G R A M Y
Konstruowanie nowoczesnych urz¹dzeÒ elektronicznych
coraz czÍúciej zmusza projektanta do
stosowania wielu rÛønych technik
projektowania i†metod implementacji
uk³adu. Tam, gdzie nie wystarczaj¹ typowe
obwody drukowane obsadzone tradycyjnymi
podzespo³ami, pojawiaj¹ siÍ programowalne
uk³ady logiczne. Sprawne projektowanie tak
z³oøonych uk³adÛw wymaga pos³ugiwania siÍ
nowoczesnymi narzÍdziami, ktÛre oferuj¹ wiele
technik opisu, analizy oraz implementacji projektu.
Takie kryteria spe³nia system nVisage DXP firmy Altium.
Wielowymiarowy system projektowy firmy Altium
Dlaczego DXP to system
wielowymiarowy?
Pocz¹wszy od edytora schematÛw, ktÛry pozwala na projektowaProgram nVisage DXP trudno zanie hierarchiczne oraz wielokana³oklasyfikowaÊ jednoznacznie, poniewe, poprzez zintegrowany symulawaø ³¹czy w†sobie kilka narzÍdzi
tor Spice 3f5/XSpice (rys. 1), aø
pomocnych przy realizacji kolejpo narzÍdzia do analizy sygna³owej
nych etapÛw projektu, zarÛwno
obwodu, mamy do dyspozycji komprzy projektowaniu pod k¹tem impletny zestaw pozwalaj¹cy na przyplementacji
na
PCB,
jak
gotowanie projektu pod k¹tem imi†w†uk³adach FPGA. Lansowane
plementacji na p³ycie drukowanej.
przez producenta okreúlenie system
Wspomniane narzÍdzia do analizy,
wielowymiarowy wywodzi siÍ
³atwe w†uøyciu dziÍki integracji
z†mnogoúci narzÍdzi oraz moøliwoúz†edytorem schematÛw, pozwaci ich zastosowania i†oddaje najlelaj¹†na wczesne wykrycie i†wyelipiej charakter systemu nVisage.
minowanie wiÍkszoúci problemÛw,
jeszcze
przed
przyst¹pieniem
do projektowania
PCB.
Kolejny
wymiar, w†ktÛrym
nVisage pokazuje
swÛj potencja³, to
projektowanie
programowalnych
uk³adÛw logicznych FPGA. Program
oferuje
kompletny zestaw
narzÍdzi potrzebnych do tego rozadaÒ,
Rys. 1. Zintegrowane w DXP narzędzia symulacyjne dzaju
umożliwiają wszechstronną analizę projektu
Elektronika Praktyczna 12/2003
w³¹cznie z†symulacj¹ i†syntez¹†kodu VHDL. Projekt uk³adu logicznego moøemy przygotowaÊ pos³uguj¹c siÍ edytorem schematÛw oraz
gotowymi elementami logicznymi
dostarczonymi w†bibliotekach, jak
i†w†formie kodu w†jÍzyku VHDL.
Obie techniki moøna stosowaÊ
³¹cznie. Mamy do dyspozycji kompilator oraz symulator VHDL, ktÛre pozwalaj¹ na przetestowanie
uk³adu. Natomiast wbudowane na-
71
P R O G R A M Y
Rys. 2. Cechą charakterystyczną środowiska DXP
jest doskonała integracja wszystkich narzędzi
projektowych
rzÍdzia do syntezy obs³uguj¹
wszystkie popularne rodziny uk³adÛw FPGA, daj¹c moøliwoúÊ implementacji projektu w†wybranym
uk³adzie np. firmy Xilinx lub Altera.
Jak na produkt firmy Altium
przysta³o, ca³oúÊ jest doskonale
zintegrowana za spraw¹ úrodowiska Design Explorer (DXP), znanego
z†programu Protel DXP. SpÛjnoúÊ
tak wielu rÛønorodnych narzÍdzi
nabiera szczegÛlnego znaczenia
przy projektowaniu z³oøonych
uk³adÛw, gdzie wystÍpuj¹ rÛwnoczeúnie tradycyjne elementy na
PCB i†uk³ady logiczne implementowane w†strukturach FPGA (rys. 2).
nVisage jest pozbawiony edytora
PCB oraz wszystkich narzÍdzi
zwi¹zanych
z†projektowaniem
i†dalsz¹ obrÛbk¹ obwodu drukowanego, natomiast wspÛ³pracuje doskonale z†wieloma programami do
projektowania PCB. Ze wzglÍdu na
identyczny format plikÛw oraz integracjÍ przez úrodowisko DXP, jego naturalnym uzupe³nieniem,
w†zakresie projektowania druku,
jest Protel DXP. Niemniej jednak,
dziÍki rozbudowanym moøliwoúciom eksportu/importu, nVisage
doskonale wspÛ³pracuje rÛwnieø
z†innymi narzÍdziami, jak np. OrCAD czy PCAD.
Wymagania systemowe
Prezentowany program jest bardzo rozbudowany, wiÍc do komfortowej pracy wymaga sprzÍtu o†duøej wydajnoúci. Podstawowy wymÛg to system operacyjny Win-
Rys. 3. Schematy dla obwodów PCB można
łączyć z projektami dla FPGA zapisanymi zaró−
wno w formie schematów, jak i kodu VHDL
72
Rys. 4. nVisage zawiera pełnowartościowe śro−
dowisko programistyczne wspierające kodowanie
w języku VHDL
dows 2000 lub XP. nVisage DXP
nie zainstaluje siÍ na øadnym ze
starszych systemÛw: Windows 9x,
Millenium czy NT4. Minimum
okreúlone przez producenta to
komputer wyposaøony w†system
Windows 2000 Professional, procesor Pentium 500 MHz, 128 MB
RAM, 620 MB wolnej przestrzeni
dyskowej oraz grafika o†rozdzielczoúci 1024x768 z†16-bitowym kolorem. Natomiast konfiguracja zalecana powinna zawieraÊ Windows
XP (Home lub Professional), procesor Pentium 1,2 GHz lub szybszy,
512 MB RAM, 620 MB przestrzeni
na dysku oraz grafikÍ o†rozdzielczoúci 1280x1024 z†32-bitowym kolorem.
Warto wspomnieÊ, øe úrodowisko
DXP obs³uguje konfiguracje z†dwo-
Rys. 5. Pracując z projektami FPGA, możemy
dowolnie “mieszać” schematy z kodem źródło−
wym VHDL, mając pełną swobodę wyboru
optymalnej metody projektowania
Elektronika Praktyczna 12/2003
P R O G R A M Y
Rys. 6. nVisage obsługuje projekty wielokana−
łowe, zachowując hierarchię kanałów podczas
całego procesu projektowego
ma monitorami, co moøe byÊ wygodnym rozwi¹zaniem podczas
pracy nad obszernymi projektami.
PCB i†FPGA razem
nVisage DXP pozwala ³¹czyÊ kilka metod projektowania. Moøemy
mieszaÊ klasyczne schematy ideowe obwodÛw, projekty FPGA
w†formie schematÛw uk³adÛw logicznych oraz kod w†jÍzykach opisu sprzÍtu VHDL i†CUPL (rys. 3).
Takie moøliwoúci ³¹czenia ze sob¹
w†jednym projekcie rÛønych technik czyni nVisage doskona³ym
punktem wyjúcia zarÛwno dla projektÛw PCB, jak i†FPGA. Projekty
przeznaczone pod PCB oraz projekty FPGA moøemy ³¹czyÊ we wspÛln¹ grupÍ projektow¹, daj¹c projektantowi ³atwy dostÍp do wszystkich plikÛw zwi¹zanych z†danym
przedsiÍwziÍciem. nVisage jest dostarczany z†obszernym zestawem
presyntezowanych makr i†bibliotek-
Rys. 8. Edytor schematów nVisage potrafi importo−
wać i eksportować pliki schematów oraz bibliotek
w formacie OrCAD, czyniąc migrację do nVisage
szybką i łatwą
ami schematowymi komponentÛw
logicznych dla wszystkich rodzin
uk³adÛw FPGA firm Altera i†Xilinx. Na potrzeby kodowania w†jÍzyku VHDL mamy do dyspozycji
edytor tekstowy, wyposaøony w†cechy specyficzne przy programowaniu, m.in. takie jak podúwietlanie
sk³adni oraz automatyczne wstawianie wciÍÊ, ktÛre czyni¹ kod lepiej czytelnym (rys. 4).
Mechanizmy nawigacyjne wbudowane w†nVisage u³atwiaj¹ poruszanie siÍ po projektach mieszanych,
w†sk³ad ktÛrych wchodz¹ schematy oraz kod VHDL (rys. 5). Jeden
panel nawigacyjny obs³uguje poruszanie siÍ po ca³ej hierarchii projektu oraz wyszukiwanie skroúne
pomiÍdzy arkuszem schematu i†odpowiadaj¹cym mu kodem VHDL.
Obs³uguj¹c wiele metod opisu projektu w†ramach jednej aplikacji,
nVisage wnosi kolejny nowy wymiar w†proces projektowania.
Prawdziwe schematy
wielokana³owe
årodowisko projektowe
nVisage obs³uguje w†naturalny sposÛb projekty
hierarchiczne o†dowolnym stopniu zagnieødøenia oraz dowolnej liczbie
powtarzaj¹cych siÍ kana³Ûw (rys. 6). W†przeciwieÒstwie do prostych
edytorÛw
schematÛw,
ktÛre sp³aszczaj¹ hierarchiÍ i†fizycznie powielaj¹
arkusze schematÛw, aby
Rys. 7. Dzięki temu, że nVisage zachowuje uzyskaÊ wiele kana³Ûw,
hierarchię kanałów, projekt może być edy− nVisage zachowuje hierarchiÍ projektu przez catowany łatwo i efektywnie
74
³y czas. Co wiÍcej, nVisage obs³uguje hierarchiÍ zagnieødøon¹, ktÛra
pozwala na tworzenie kana³Ûw wewn¹trz innych kana³Ûw. Poniewaø
hierarchia projektu jest zachowana
ca³y czas, moøemy w†dowolnej
chwili dokonaÊ zmiany na schemacie, ktÛra jest automatycznie propagowana we wszystkich kana³ach,
bez potrzeby rÍcznego kopiowania
na wiele arkuszy (rys. 7). Podobnie w†kaødej chwili moøemy zmieniÊ liczbÍ kana³Ûw, a†program automatycznie zadba o†wygenerowanie odpowiedniej liczby instancji
danego arkusza.
W†projektach wielokana³owych
automatyczne generowanie wielu
instancji nastÍpuje podczas kompilacji projektu. Mamy pe³n¹ kontrolÍ nad stylem oznaczeÒ elementÛw,
ktÛry identyfikuje przynaleønoúÊ
do kana³u, jak rÛwnieø†nad sposobem powi¹zania portÛw wyjúciowych poszczegÛlnych kana³Ûw.
Edytor schematÛw programu nVisage wyposaøono w†mechanizmy
translacji, ktÛre pozwalaj¹ na import oraz eksport z†programu Orcad (rys. 8), zarÛwno schematÛw,
jak i†plikÛw bibliotek, daj¹c moøliwoúÊ szybkiej i†³atwej migracji do
nVisage.
Grzegorz Witek, Evatronix
Za miesi¹c opiszemy narzÍdzia
do analizy i†weryfikacji projektu
jakie daje do dyspozycji nVisage,
przedstawimy aspekty wspÛ³pracy
z†programami do PCB oraz narzÍdziami do implementacji FPGA
oraz moøliwoúci konfiguracji úrodowiska, a†takøe zastosowania programu.
Elektronika Praktyczna 12/2003
P O D Z E S P O Ł Y
Nie bÍdzie wielk¹ przesad¹ stwierdzenie, øe Lattice jest twÛrc¹
reprogramowalnych uk³adÛw PLD. Nie bÍdzie takøe przesad¹
stwierdzenie, øe firma ta przespa³a swÛj najlepszy czas. Ostatnie
kilkanaúcie miesiÍcy jej dzia³ania daje jedna nadziejÍ, øe juø
wkrÛtce bÍdzie mog³a podj¹Ê rÛwnorzÍdn¹ walkÍ o†rynek
uk³adÛw PLD z†jego tuzami - firmami Altera i†Xilinx.
Nowoœci Lattice'a
Jeszcze kilka lat temu producenci uk³adÛw programowalnych mieli mocno spolaryzowane oferty.
Xilinx i†Lucent specjalizowali siÍ
w†uk³adach FPGA, Altera i†Intel
skupiali siÍ na uk³adach CPLD,
a†Lattice, Cypress, AMD, ICT, Texas Instruments, SGS Thomson
(obecnie STM), National Semiconductors i†Philips rozwijali rodziny
uk³adÛw SPLD, FPLA i†pochodne.
Po szeregu mniej lub bardziej
spektakularnych sprzedaøy firm
lub ich dzia³Ûw, na rynku ustabilizowa³a siÍ obecna sytuacja: najwiÍksi producenci (w porz¹dku
alfabetycznym: Altera, Xilinx, Lattice) maj¹ w†swoich ofertach no-
woczesne uk³ady ze wszystkich
grup: SPLD, CPLD i†FPGA, pozosta³e firmy specjalizuj¹ siÍ w†w¹skich rynkowych ìniszachî.
Miejsce Lattice'a
PodjÍte przez Lattice'a†prÛby
wprowadzenia do sprzedaøy w³asnych uk³adÛw CPLD nie zakoÒczy³y siÍ sukcesem. O†uk³adach z†rodzin ispLSI/LSI1000, ispLSI/
LSI2000, ispLSI/LSI3000 nikt juø
praktycznie†nie pamiÍta, a†pierwszy
na rynku interfejs ISP - opracowany przez Lattice'a†specjalnie dla
uk³adÛw PLD - LatticeISP z†ìprzyzwyczajeniaî jest stosowany wy³¹cznie w†uk³adach ispGAL22V10.
Sytuacja uleg³a znacznej poprawie po kupieniu przez Lattice'a†firmy Vantis (ex-AMD), ktÛra produkowa³a dobrze przyjÍte
na rynku uk³ady CPLD z†serii
MACH. W†ten sposÛb Lattice
uzupe³ni³ swoj¹ ofertÍ o†popularne uk³ady CPLD, ktÛre s¹ konsekwentnie rozwijane i†obecnie
naleø¹ do rynkowej ekstraklasy.
W†podobny sposÛb Lattice rozwi¹za³ problem uk³adÛw FPGA
w†swojej ofercie - zakupiono bowiem jeden z†dzia³Ûw firmy Lucent, w†ktÛrym opracowano
i†produkowano uk³ady FPGA
z†serii ORCA.
Nowoúci w†CPLD
Lattice wybra³ interesuj¹c¹ drogÍ rozwoju ìwiÍkszychî uk³adÛw
CPLD, ktÛra jest w†znacznym
stopniu zbieøna z†dzia³aniami pro-
SPLD/CPLD/FPGA
Rys. 1
68
Za pomocą tych akronimów
są nazywane trzy najważniej−
sze pośród obecnie
produkowanych grupy
układów programowalnych:
− SPLD (Simple Program−
mable Logic Devices) −
układy PLD o niewielkiej
złożoności o architekturze
pochodnej PAL,
− CPLD (Complex
Programmable Logic
Devices) − układy PLD
o średniej i dużej złożoności
o architekturze pochodnej
PAL,
− FPGA (Field Programmab−
le Logic Devices) − układy
PLD o dużej i średniej
złożoności o architekturze
opartej na matrycach
makrokomórek.
Elektronika Praktyczna 12/2003
P O D Z E S P O Ł Y
P O D Z E S P O Ł Y
Tab. 1. Zestawienie układów CPLD produkowanych przez firmę Lattice (nie
uwzględniono wersji stopniowo wycofywanych z produkcji − Mature)
Uk³ady zasilane napiêciem 1,8 V
Rodzina
Liczba
tPD Fmax
makrokomórek [ns] [MHz]
Liczba Liczba
PojemnoϾ
Liczba
I/O
wejϾ LB wbudowanej wbudowanych
pamiêci [kb]
PLL
ispXPLD 5000MC
256...1024
3,5 300 141...381
68
64...512
2
ispMACH 4000C
32...512
2,5 400 30...208
36
ispMACH 4000Z
32...256
3,5 267 32...128
36
Uk³ady zasilane napiêciem 2,5 V
Rodzina
Liczba
tPD Fmax Liczba Liczba
PojemnoϾ
Liczba
makrokomórek [ns] [MHz]
I/O
wejϾ LB wbudowanej wbudowanych
pamiêci [kb]
PLL
ispXPLD 5000MB
256...1024
3,5 300 141...381
68
64...512
2
ispMACH 5000B
128...512
3,5 275 92...256
68
ispMACH 4000B
32...512
2,5 400 30...208
36
Uk³ady zasilane napiêciem 3,3 V
Rodzina
Liczba
tPD Fmax Liczba Liczba
PojemnoϾ
Liczba
makrokomórek [ns] [MHz]
I/O
wejϾ LB wbudowanej wbudowanych
pamiêci [kb]
PLL
ispXPLD 5000MV
256...1024
3,5 300
ispMACH 4000V
32...512
2,5 400
ispMACH 5000VG
768...1024
5
178
ispLSI 5000VE
128...512
5
180
ispMACH 4A3
32...512
5
182
Uk³ady zasilane napiêciem 5,0 V
Rodzina
Liczba
tPD Fmax
makrokomórek [ns] [MHz]
141...381
68
30...208
36
196...384
68
72...256
68
32...256 33...36
ispMACH 4A5
32...128
32...256
5
182
ducentÛw uk³adÛw FPGA: jako jeden z†niewielu producentÛw, Lattice wyposaøa†nowsze wersje uk³adÛw CPLD w†bloki konfigurowalnych pamiÍci, dziÍki czemu
w†efektywny
sposÛb
moøna
w†tych uk³adach implementowaÊ
jedno- i†dwuportowe pamiÍci
RAM, pamiÍci FIFO, CAM oraz
ROM (rys. 1). Takie rozwi¹zania
s¹ rzadko oferowane przez innych
producentÛw w†tej grupie uk³adÛw. Podobnie, bardzo rzadko s¹
spotykane w†uk³adach CPLD wewnÍtrzne pÍtle PLL s³uø¹ce do lokalnego wytwarzania sygna³Ûw zegarowych, a†jak widaÊ w†zestawieniu (tab. 1) Lattice wyposaøa
w†ten sposÛb najwiÍksze produkowane przez siebie uk³ady.
WiÍkszoúÊ uk³adÛw CPLD produkowanych przez Xilinxa wypo-
64...512
-
2
2
-
Liczba Liczba
PojemnoϾ
Liczba
I/O
wejϾ LB wbudowanej wbudowanych
pamiêci [kb]
PLL
33...36
-
-
saøono w†interfejs JTAG (IEEE1149.1) umoøliwiaj¹cy programowanie ISP. Uk³ady z†rodziny ispXPLD s¹ kompatybilne z†nowymi
zaleceniami zwartymi w†normie
IEEE1532. Zastosowano w†nich
takøe nieco inny sposÛb przechowywania danych konfiguracyjnych
niø w†uk³adach starszych generacji: s¹ one lokowane nieulotnej
pamiÍci EEPROM i†po w³¹czeniu
napiÍcia zasilaj¹cego s¹ automatycznie kopiowane do pamiÍci
SRAM (trwa to nie d³uøej niø 200
µs), ktÛra jest pamiÍci¹ konfiguruj¹c¹ uk³ad. ZawartoúʆpamiÍci
konfiguracji†SRAM moøna modyfikowaÊ poprzez interfejs szeregowy
JTAG lub port rÛwnoleg³y sysCONFIG, ktÛry moøe byÊ taktowany sygna³em zegarowym o†czÍstotliwoúci do 33 MHz. DziÍki zasto-
Bezpłatne narzędzia CAD/EDA dla PLD
Lattice bezpłatnie udostępnia oprogramowanie narzędziowe do
realizacji projektów na układach przez siebie oferowanych.
System ispLever jest dostępny bezpłatnie na stronie
www.latticesemi.com. Przed ściągnięciem konieczna jest
wyłącznie rejestracja, na podstawie której otrzymuje się plik
licencyjny.
Elektronika Praktyczna 12/2003
69
P O D Z E S P O Ł Y
Pamięci CAM
CAM − Content Adressable Memory − jest to pamięć
adresowana zawartością. Pamięci tego typu są często
wykorzystywane w systemach zarządzania ruchem pakietów
danych w sieciach informatycznych.
sowanym w†rozwi¹zaniom, uk³ady
ispXPLD mog¹ byÊ rekonfigurowane nieskoÒczon¹ liczbÍ razy (np.
podczas prac uruchomieniowych)
- w†takich przypadkach informacje
o†konfiguracji s¹ wpisywane wy³¹cznie do pamiÍci SRAM, co pozwala przed³uøyÊ czas øycia pamiÍci nieulotnej, ktÛra moøe byÊ
kasowana i†zapisywana do 1000
razy.
Ostatni¹ nowoúci¹, na ktÛr¹
warto zwrÛciÊ uwagÍ w†grupie
uk³adÛw CPLD firmy Lattice s¹
uk³ady ispMACH4000Z, ktÛre charakteryzuj¹ siÍ bardzo ma³ym poborem mocy (w stanie statycznym
pobieraj¹ pr¹d o†natÍøeniu zaledwie 10 µA) i†jednoczeúnie duø¹
szybkoúci¹ dzia³ania (czas propagacji pin-pin nie przekracza
5†ns w†najwiÍkszym dostÍpnym
uk³adzie z†256 makrokomÛrkami).
Podsumowanie
Lattice wyraünie nadrabia straty,
a†nowoúci wprowadzone do oferty
(przedstawione w†artykule nie s¹
jedynymi) s¹ - moim zdaniem dobrze
ukierunkowane.
Naleøy†mieÊ nadziejÍ, øe te zabiegi
nie zostan¹ zniweczone przez restrykcyjn¹ politykÍ dystrybucyjn¹,
ktÛra ma³ych klientÛw (takich jest
w†Polsce wiÍkszoúÊ) stawia³a nie
zawsze w†dobrej sytuacji - dotyczy to g³Ûwnie moøliwoúci zakupu poø¹danych wersji uk³adÛw
w†iloúciach adekwatnych do potrzeb (czytaj: niewielkich). ZachÍcam do sprawdzenia!
Piotr Zbysiñski, EP
[email protected]
Za miesi¹c przedstawimy zestaw
ewaluacyjny dla uk³adÛw ispXPLD5000, opracowany i†dystrybuowany przez firmÍ WBC.
70
Elektronika Praktyczna 12/2003
S P R Z Ę T
Programator uniwersalny UprogHS
48 Portable jest najnowszym
opracowaniem firmy RKSystem. Moøna powiedzieÊ,
øe pod wieloma wzglÍdami
jest to urz¹dzenie
unikalne w†swojej
klasie. Szereg
interesuj¹cych
rozwi¹zaÒ oraz
zupe³nie nowe
moøliwoúci
oferowane przez
prezentowany
programator zainteresuj¹ na
pewno wielu CzytelnikÛw.
Programator UprogHS 48 Portable
Uniwersalny programator uk³adÛw
scalonych postrzegany jest jako urz¹dzenie nierozerwalnie zwi¹zane z†komputerem. Pogl¹d taki wynika z†przyzwyczajenia: zdecydowana wiÍkszoúÊ
programatorÛw dostÍpnych na rynku
dzia³a†jak przystawka do³¹czona do
komputera, sterowana za pomoc¹ odpowiedniego oprogramowania. Takie
rozwi¹zanie, choÊ najbardziej rozpowszechnione, niesie ze sob¹ koniecznoúÊ ci¹g³ej ìobecnoúciî komputera†podczas pracy z†programatorem,
bez niego bowiem programator jest
w³aúciwie bezuøyteczny. Dyskomfort
odczuwaj¹ najbardziej ci uøytkownicy,
ktÛrzy czÍsto pracuj¹ w†terenie, zajmuj¹c siÍ np. serwisem urz¹dzeÒ. Najlepszym wyjúciem jest oczywiúcie zakup
komputera przenoúnego, jednak sumaryczny koszt takiego rozwi¹zania jest
stosunkowo wysoki.
Rozwi¹zaniem problemu mobilnoúci
programatora jest UprogHS 48 Portable
- najnowszy model programatora opracowany przez firmÍ RK-System. Ma on
kilka cech, ktÛre w†istotny sposÛb odrÛøniaj¹ to urz¹dzenie od pozosta³ych
modeli programatorÛw rodziny Uprog.
Jednym z†atutÛw nowego programatora
jest wbudowany interfejs USB. Liczba
dostÍpnych na rynku modeli programatorÛw uniwersalnych wykorzystuj¹cych
ten interfejs jest ci¹gle niewielka.
Drugim atutem nowego programatora
jest moøliwoúÊ pracy samodzielnej, bez
koniecznoúci wspÛ³pracy z†komputerem. Niewielkie wymiary programatora
Elektronika Praktyczna 12/2003
21x12x3,5 cm oraz niewielka waga
u³atwiaj¹ jego przenoszenie, a†opcjonalne wyposaøenie dodatkowe, w†postaci estetycznej torby oraz baterii zapewniaj¹cej ìterenoweî ürÛd³o energii,
dodatkowo poprawia mobilnoúÊ.
Jeúli chodzi o†wygl¹d zewnÍtrzny,
to UprogHS 48 Portable odbiega nieco od pozosta³ych programatorÛw rodziny Uprog. W†odrÛønieniu od nich
nowy model wyposaøony jest bowiem
w†wyúwietlacz LCD (2x16) oraz klawiaturÍ membranow¹, ktÛre - oprÛcz
podstawki ZIF48 - znajduj¹ siÍ na
p³ycie czo³owej urz¹dzenia. Dodatki te
umoøliwiaj¹ uøytkownikowi komunikacjÍ z†programatorem pe³ni¹c rolÍ interfejsu podczas pracy w†trybie standalone. RolÍ pamiÍci masowej, na ktÛrym przechowujemy dane w†tym trybie, pe³ni karta typu Smartmedia
z†pamiÍci¹ o†pojemnoúci 16 MB lub
wiÍkszej. Z³¹cze w†ktÛre wsuwamy
kartÍ, port USB oraz gniazdo zasilacza znajduj¹ siÍ w†tylnej czÍúci programatora (fot. 1).
Tak jak w†przypadku pozosta³ych
modeli rodziny Uprog, konstrukcja
UprogHS 48 Portable oparta jest
o†uk³ad typu FPGA (Field Programmable Gate Array) firmy Xilinx, ktÛrego pracÍ wspomaga dodatkowy procesor. Zaawansowane rozwi¹zania czÍúci
sprzÍtowej programatora pozwoli³y na
uzyskanie znakomitych czasÛw programowania. Poniewaø uk³ady typu FPGA
pozwalaj¹ na rekonfiguracjÍ swojej
struktury, j¹dro procesora steruj¹cego
programatorem oraz jego peryferia poddawane s¹ dynamicznej modyfikacji
w†trakcie pracy urz¹dzenia i†dopasowywane automatycznie w†zaleønoúci
od potrzeb aktualnie programowanego
uk³adu. Moøna wiÍc powiedzieÊ, øe
hardware jest automatycznie optymalizowany i†zmieniany w†celu maksymalnego dopasowania do wybranego w†danej chwili uk³adu. Konstrukcja czÍúci sprzÍtowej UprogHS 48
Portable zapewnia
wspÛ³pracÍ z†dowolnym rozk³adem wyprowadzeÒ zasilania i†danych,
a†co za tym
idzie dodawanie kolejnych
uk³adÛw do
Fot. 1
63
S P R Z Ę T
Rys. 2
listy uk³adÛw obs³ugiwanych nie wymaga wprowadzania øadnych zmian
w†sprzÍcie.
Kaøde z†wyprowadzeÒ 48-stykowej
podstawki ma w³asny sterownik, ktÛry
w†zaleønoúci od potrzeb umoøliwia
pod³¹czenie do dowolnej nÛøki uk³adu
napiÍcia zasilaj¹cego, masy, napiÍcia
programuj¹cego lub sygna³u†zegarowego. KoniecznoúÊ stosowania dodatkowych adapterÛw dla uk³adÛw w†obudowach DIP do 48 wyprowadzeÒ jest
w†tym wypadku ca³kowicie wyeliminowana, a†dodanie kolejnego uk³adu do
biblioteki uk³adÛw obs³ugiwanych odbywa siÍ wy³¹cznie na zasadzie aktualizacji oprogramowania. Biblioteka
uk³adÛw obs³ugiwanych obejmuje
wszystkie typy uk³adÛw tj. EPROM,
EEPROM, Flash, GAL, PAL, PALCE,
PLD, CPLD oraz szerok¹ gamÍ mikrokontrolerÛw rÛønych producentÛw.
Urz¹dzenie pozwala na pracÍ z†uk³adami o†napiÍciu zasilania 5†V, jak rÛwnieø z†uk³adami niskonapiÍciowymi
(3,3 V, 2,7 V, 1,8 V). Producent przewidzia³ dodatkowo moøliwoúÊ programowania
uk³adÛw
bezpoúrednio
w†uk³adzie docelowym (interfejsy szeregowe JTAG, SPI, ICSP, BDM), bez
koniecznoúci ich wylutowywania.
W†celu usprawnienia komunikacji szeregowej sygna³y niezbÍdne do zaprogramowania uk³adu s¹ wyprowadzane
z†podstawki programatora poprzez tzw.
serial programming adapter, ktÛry stanowi jeden z†elementÛw wyposaøenia
opcjonalnego.
OprÛcz moøliwoúci programowania
in-circuit, walory uøytkowe programatora podnosi kilka innych opcji dodatkowych, ktÛre dla prezentowanego modelu bÍd¹ dostÍpne juø wkrÛtce. Naleø¹ do nich: uniwersalny tester uk³adÛw cyfrowych, symulator pamiÍci 8bitowych, symulator pamiÍci 16-bitowych oraz 16-kana³owy analizator stanÛw logicznych. OprÛcz typowych
operacji zwi¹zanych z†programowaniem uk³adÛw†UprogHS 48 Portable
bÍdzie wiÍc mÛg³ byÊ rÛwnieø wykorzystywany do innych celÛw zwi¹zanych z†uruchamianiem czy testowaniem uk³adÛw elektronicznych. Uni-
64
wersalny tester uk³adÛw cyfrowych to
standardowa opcja dostÍpna w†przypadku wszystkich modeli uniwersalnych rodziny Uprog. DostÍpna ona bÍdzie rÛwnieø w†UprogHS 48 Portable.
Wbudowany w†programator symulator pamiÍci 8-bitowych obs³uguje uk³ady pamiÍci o†pojemnoúci do 128 kB.
Istnieje jednak moøliwoúÊ rozszerzenia
pamiÍci wewnÍtrznej programatora do
512 kB. W†takiej konfiguracji bÍdzie
moøna symulowaÊ pamiÍci 8-bitowe
o†pojemnoúciach do 512 kB. Czas dostÍpu dla symulatora pamiÍci 8-bitowych to ok. 10 ns. W†przypadku pamiÍci 16-bitowych obs³ugiwane s¹ odpowiednio uk³ady o†pojemnoúciach do
64 kB lub 256 kB w†zaleønoúci od tego, ile RAM-u ma programator, a†czas
dostÍpu wynosi ok. 70 ns. Sygna³y
emuluj¹ce w†obu przypadkach wyprowadzane s¹ bezpoúrednio z†podstawki
ZIF programatora i†przekazywane do
uk³adu docelowego za pomoc¹ kabla
zakoÒczonego sond¹ emulacyjn¹. Odpowiednie kable dostarczane s¹ w†zestawie. Kolejn¹ opcj¹, o†ktÛr¹ moøna
rozbudowaÊ moøliwoúci i†zastosowania
UprogHS 48 Portable jest funkcja szesnastokana³owego analizatora stanÛw†logicznych. Jest juø ona od d³uøszego
czasu dostÍpna w†programatorach
UprogHS 48 oraz UprogHS 84. Sygna³y zbierane z†testowanego urz¹dzenia
przekazywane s¹ do programatora poprzez gniazdo ZIF za poúrednictwem
odpowiedniej przejúciÛwki, ktÛra razem z†klipsami dostarczana jest przez
producenta w†przypadku zakupienia
opcji analizatora. Analizator stanÛw logicznych moøe pracowaÊ w†trybie 8lub 16-kana³owym. Maksymalna czÍstotliwoúÊ prÛbkowania wynosi odpowiednio 100 MHz w††trybie 8-kana³owym i†50 MHz, jeúli pomiar odbywa
siÍ w†trybie 16-kana³owym.
Oprogramowanie
Oprogramowanie do³¹czone do
UprogHS 48 Portable zapewnia obs³ugÍ programatora podczas pracy z†komputerem oraz umoøliwia odpowiednie
przygotowanie urz¹dzenia do pracy
w†trybie stand-alone. WspÛ³pracuje
ono z†dowoln¹ wersj¹ Windows pocz¹wszy od Win 95 po Win XP.
Podczas pracy z†komputerem sterowanie programatorem odbywa siÍ za
pomoc¹ szeregu ikon i†przyciskÛw dostÍpnych w†obszarze g³Ûwnego okna
programu (rys. 2) oraz komend ukrytych pod prawym klawiszem myszy.
DostÍp†do grup ikon odpowiadaj¹cych
za programowanie zaprojektowany jest
w†postaci zak³adek, co sprawia, øe
produkt jest wyj¹tkowo czytelny. Zak³adki PROGRAM, READ, ERASE zawieraj¹ ikony symbolizuj¹ce poszcze-
gÛlne operacje sk³adaj¹ce siÍ na proces programowania, sczytania do bufora lub skasowania zawartoúci pamiÍci
uk³adu. Aplikacja pozwala na samodzielne ustalenie, ktÛre z†operacji bÍd¹ wykonywane podczas danego procesu. W†ten sposÛb moøemy zadecydowaÊ, czy na przyk³ad po zaprogramowaniu danego uk³adu zostanie przeprowadzona weryfikacja jego zawartoúci
itd. Koncepcja ta pozwala na zachowanie pe³nej kontroli nad programatorem.
Uøytkownicy, ktÛrzy nie chc¹ korzystaÊ z†zak³adek zbiorczych, maj¹ do
dyspozycji zak³adkÍ SINGLE, ktÛra zapewnia niezaleøny dostÍp do wszystkich operacji, jakie moøe wykonaʆprogramator na okreúlonym uk³adzie. PostÍp i†rezultat wykonywania kaødej
z†operacji sygnalizowany jest odpowiednim komunikatem pojawiaj¹cym
siÍ na pasku OPERATION STATUS
oraz na wyúwietlaczu LCD urz¹dzenia.
Aplikacja posiada wszystkie funkcje,
w††jakie powinien byÊ wyposaøony profesjonalny programator uniwersalny
oraz kilka funkcji dodatkowych, ktÛrych celem jest usprawnienie obs³ugi
urz¹dzenia. Jednym z†usprawnieÒ jest
na przyk³ad koncepcja ìlisty podrÍcznejî, na ktÛrej uøytkownik moøe zapamiÍtaÊ do dziesiÍciu najczÍúciej uøywanych uk³adÛw. Kaødy uk³ad znajduj¹cy siÍ na liúcie podrÍcznej ma przypisany w³asny bufor, ktÛry moøe byÊ
wype³niony dowolnym zbiorem danych. Szybkie prze³¹czanie pomiÍdzy
poszczegÛlnymi uk³adami znajduj¹cymi
siÍ w†kolumnie uk³adÛw ìpodrÍcznychî wymaga jedynie klikniÍcia mysz¹ i†nie wymaga ci¹g³ego przeszukiwania biblioteki. WybÛr uk³adu z†biblioteki uk³adÛw dostÍpnych u³atwia
filtr selekcji (rys. 3). Filtr ten pozwala
na filtrowanie bazy pod k¹tem typu
uk³adu, jego producenta, umoøliwia
takøe odszukanie uk³adu na podstawie
fragmentu nazwy.
Oprogramowanie steruj¹ce programatorem akceptuje wszystkie popularne
formaty tj. hex, bin, jed, jam, svf, rom,
txt. Kod, ktÛrym chcemy zaprogramowaÊ okreúlony uk³ad (lub kod odczytany z†uk³adu), prezentowany jest w†ob-
Rys. 3
Elektronika Praktyczna 12/2003
S P R Z Ę T
S P R Z Ę T
wany jest odpowiednim komunikatem,
a†niekontaktuj¹ce nÛøki wskazywane
s¹†w†odrÍbnym oknie (rys. 5).
OprÛcz programowania rÛwnoleg³ego,
czyli bezpoúrednio w†podstawce,
UprogHS 48 Portable pozwala na programowanie szeregowe przy wykorzystaniu interfejsu SPI, JTAG, ICSP, BDM.
Oczywiúcie dotyczy to tylko tych uk³adÛw, w†ktÛrych zaimplementowano jeden z†wymienionych interfejsÛw.
Rys. 4
szarze g³Ûwnego okna programu w†postaci HEX i†ASCII. Odczytane z†uk³adu
lub zmodyfikowane przez uøytkownika
dane moøna zachowaÊ na dysku komputera lub na karcie Flash. Oprogramowanie steruj¹ce programatorem zapewnia oczywiúcie moøliwoúÊ wykorzystania wszelkich dodatkowych zasobÛw
uk³adu, takich jak np. fuse bits czy
lock bits, jak rÛwnieø niezaleøny dostÍp
do pamiÍci programu i†pamiÍci danych
w†przypadku procesorÛw posiadaj¹cych
dodatkow¹ pamiÍÊ danych. Jedn¹ z†dodatkowych funkcji, jakie daje do dyspozycji UprogHS 48 Portable, jest tzw.
OPERATION RECORDER (rys. 4). Rejestrator ten stanowi rodzaj archiwizera
umoøliwiaj¹cego gromadzenie informacji
dotycz¹cych poszczegÛlnych operacji
(za³adowanie pliku, dodanie/usuniÍcie
uk³adu, operacje na uk³adzie), ktÛre s¹
wykonywane przez uøytkownika.
Inn¹ z†istotnych funkcji, jak¹ posiadaj¹ zreszt¹ wszystkie programatory rodziny Uprog, w†tym UprogHS 48 Portable, jest funkcja PIN CHECK kontroluj¹ca poprawnoúÊ obsadzenia uk³adu
w†podstawce. Sprawdzanie poprawnoúci styku pomiÍdzy programowanym
uk³adem a†podstawk¹ urz¹dzenia odbywa siÍ w†sposÛb automatyczny. Brak
styku na ktÛrejú z†koÒcÛwek sygnalizo-
Podsumowanie
Programator uniwersalny UprogHS
48 Portable jest interesuj¹c¹ propozycj¹ dla uøytkownikÛw urz¹dzeÒ tego
typu. Decyduje o†tym kilka czynnikÛw:
oprÛcz obszernej bazy obs³ugiwanych
uk³adÛw, braku koniecznoúci stosowania wielu adapterÛw i†wbudowanego
interfejsu USB, UprogHS 48 Portable
oferuje moøliwoúÊ samodzielnej pracy.
Jest to wiÍc szczegÛlnie dobre rozwi¹zanie dla rÛønego rodzaju serwisÛw,
ktÛre
czÍsto pracuj¹ w†ìterenieî,
a†takøe producentÛw urz¹dzeÒ, w†ktÛrych s¹ stosowane programowane uk³ady. W†tym przypadku zakup typowego
programatora wi¹øe siÍ zwykle z†koniecznoúci¹ zakupu dodatkowego komputera, ktÛry jest potem wykorzystywany jedynie do obs³ugi programatora.
UprogHS 48 Portable posiada poza tym
specjalne funkcje, ktÛre mog¹ byÊ wykorzystywane przez firmy programuj¹ce znaczne iloúci uk³adÛw. Jedn¹
z†nich jest np. funkcja AUTORUN
usprawniaj¹ca programowanie wiÍkszej
partii jednakowych uk³adÛw. Nie bez
znaczenia jest tu rÛwnieø duøa szybkoúÊ dzia³ania tego programatora.
Szereg unikalnych funkcji, takich jak
analizator stanÛw logicznych, emulator
pamiÍci, tester uk³adÛw cyfrowych, to
kolejne atuty prezentowanego urz¹dzenia. Funkcje te s¹ bowiem bardzo rzadko spotykane w†typowych programatorach uniwersalnych.
Pe³na uniwersalnoúÊ sprzÍtowa
UprogHS 48 Portable zapewnia ci¹g³y
rozwÛj listy uk³adÛw obs³ugiwanych.
Dowolny uk³ad programowalny moøna
bowiem ìdopisaÊî do listy tylko i†wy³¹cznie poprzez aktualizacjÍ oprogramowania bez koniecznoúci wprowadzania zmian w†czÍúci sprzÍtowej.
KJ
Dodatkowe informacje
Rys. 5
66
Cena: 3700 netto (w podanej cenie uwzglêdniono wszystkie akcesoria).
Urz¹dzenie do testów udostêpni³a firma RK-System, tel. (22) 724-30-39, www.rk-system.com.pl.
Lista uk³adów obs³ugiwanych przez prezentowany programator jest dostêpna pod adresem:
http://www.rk-system.com.pl/uprog.shtml#uproghs48p.
Elektronika Praktyczna 12/2003
P O D Z E S P O Ł Y
„Mikroprocesor”
nie zawsze znaczy to samo
Zaczniemy od bana³u: technika mikroprocesorowa
opanowa³a juø niemal wszystkie dziedziny øycia. Bana³
drugi: zdecydowana wiÍkszoúÊ elektronikÛw ma na swoim
koncie choÊby najprostsze opracowania mikroprocesorowe.
Bana³ trzeci: wiÍkszoúÊ z†nich (nas) zna tylko jedn¹ lub
co najwyøej dwie ich rodziny, s¹dz¹c przy tym czÍsto, øe
ich budowa jest zgodna z†powszechnie obowi¹zuj¹cymi
zwyczajami i†stanowi niepodwaøalny standard.
Na koniec wstÍpu nie-bana³: rÛønorodnoúÊ dostÍpnych na
rynku rozwi¹zaÒ i†pomys³owoúÊ ich konstruktorÛw s¹
doprawdy imponuj¹ce, co powoduje, øe wspÛ³czesny
konstruktor nie powinien pozwoliÊ sobie na marazm
i†tkwienie w†ciep³ej ìdolinceî przyzwyczajeÒ. Postaramy
siÍ nieco w†tym pomÛc.
Elektronika Praktyczna 12/2003
Von Neumann vs Harvard
W†historycznie najstarszych protoplastach wspÛ³czesnych komputerÛw,
opartych g³Ûwnie na technologii przekaünikowej, stosowana by³a najbardziej oczywista koncepcja architektoniczna, w†ktÛrej przetwarzane dane
oraz ci¹g rozkazÛw - tworz¹cy program - by³y rozdzielone i†przechowywane na odrÍbnych noúnikach informacji. Przyk³adowo w†najbardziej dojrza³ej konstrukcji Niemca Konrada
Zusego (fot. 1) V4 (Versuchsmodell 4)
z†1945 roku program by³ umieszczony na perforowanej taúmie filmowej
(ze wzglÍdu na jej wiÍksz¹ trwa³oúÊ
mechaniczn¹ niø taúmy papierowej)
i†z†niej kolejno by³y wczytywane
i†wykonywane instrukcje. Miejscem
przechowywania przetwarzanych danych by³y 1024 rejestry przekaüniko-
55
P O D Z E S P O Ł Y
Fot. 1. Konrad Zuse przy
jednym ze swoich kompu−
terów
we o†d³ugoúci 32 bitÛw kaødy. Maszyna Zusego po
wielu wojennych i†powojennych perypetiach juø jako Z4 (fot. 2) trafi³a do
Szwajcarii, gdzie j¹ z†powodzeniem eksploatowano aø
do lat szeúÊdziesi¹tych.
Rozwi¹zania konstrukcyjne zastosowanego przez Zusego by³y efektywne tylko
w†powolnych urz¹dzeniach
przekaünikowych, w†ktÛrych
czas realizacji rozkazu by³
porÛwnywalny, czy teø nawet d³uøszy, od czasu
wczytywania go z†mechanicznego noúnika. W†najbardziej znanym i†pierwszym
w†USA komputerze przekaünikowym MARK-I, zbudowanym na Uniwersytecie
Harvarda i†oddanym do eksploatacji w†1944 roku, czas
wykonania
dodawania
2†liczb wynosi³ jedn¹ trzeci¹ sekundy, a†dzielenia aø
10 sekund. Mimo tego
MARK-I by³ przez wiele lat
bardzo intensywnie wykorzystywany, g³Ûwnie w†amerykaÒskim programie atomowym, pracuj¹c czÍsto po 24
godziny na dobÍ. Rozwi¹zania konstrukcyjne stosowane w maszynach przekaünikowych by³y pierwowzorem
wspÛ³czesnego
modelu
architektonicznego, w ktÛrym pamiÍci programu i danych s¹ rozdzielone fizycznie (czyli maj¹ oddzielne
magistrale i/lub sygna³y
steruj¹ce) oraz logicznie
(obs³ugiwane s¹ rÛønymi
instrukcjami). O tego typu
komputerach czy mikrokontrolerach mÛwi siÍ, øe maj¹
architekturÍ harwardzk¹,
wszakøe tylko wtedy, gdy
Rys. 3. Schemat blokowy komputera o architekturze
harwardzkiej
ra zaproponowa³ genialny
matematyk amerykaÒski pochodzenia wÍgierskiego,
John von Neumann. W maszynie von Neumanna zarÛwno program, jak i dane
umieszczone s¹ w jednej
tylko, wspÛlnej pamiÍci. Te
dwa rodzaje informacji staj¹
siÍ wobec tego fizycznie
nierozrÛønialne, a ich identyfikacja nastÍpuje jedynie
poprzez miejsce, w ktÛrym
Klasyczne architektury komputerów
Komputery, w których pamięci programu
i danych są rozdzielone fizycznie (czyli mają
oddzielne magistrale i/lub sygnały sterujące)
oraz logicznie (obsługiwane są różnymi
instrukcjami) są nazywane komputerami
o architekturze harvardzkiej.
Z kolei architektura von Neumanna
charakteryzuje się tym, że zarówno program,
jak i dane umieszczone są w jednej, wspólnej
pamięci.
z†obu pamiÍciami moøliwa
jest rÛwnoczesna komunikacja. Koncepcja taka jest
obecnie czÍsto spotykana,
chociaø, poza niew¹tpliwymi zaletami, wykazuje takøe
pewne wady.
W 1945 roku zupe³nie nowatorsk¹ strukturÍ kompute-
we wspÛlnej pamiÍci s¹
umieszczone, a wiÍc przez
adres. W pocz¹tkowym
okresie idea von Neumanna
by³a doúÊ trudna realizacyjnie, wymagaj¹c znacznej
pojemnoúci pamiÍci, nieco
pÛüniej
jednak
dziÍki
swoim niew¹tpliwym zaletom opanowa³a na wiele lat
technikÍ komputerow¹. Tym
niemniej od kilku lat daje
siÍ zaobserwowaÊ doúÊ
wyraüne odejúcie od klasycznej wersji koncepcji
von Neumanna oraz zwrot
w kierunku architektury
harwardzkiej.
Jakie s¹ wobec tego najwaøniejsze cechy kaødego
z††rozwi¹zaÒ?
z†za³oøenia przeznaczonym dla danych. Pozwala
to
na
dynamiczn¹
(ìw†bieguî) wymianÍ fragmentÛw†programu podczas normalnej pracy
komputera, ³atwe jest teø
uruchamianie i†testowanie
nowych programÛw. Nie
ma ograniczenia na objÍtoúÊ kaødego z†blokÛw pamiÍci, istnieje tylko ograniczenie globalne wynikaj¹ce z†ca³kowitej pojemnoúci pamiÍci. W†tej samej pamiÍci moøna albo
umieúciÊ wiÍkszy program, operuj¹cy na niewielkiej liczbie danych,
albo teø mniejszy program
i†duøo danych.
- Sta³e programowe (np.
tablica z†generatorem znakÛw alfanumerycznych,
definiuj¹cym kszta³t znakÛw na wyúwietlaczu)
mog¹ byÊ bez øadnych
problemÛw umieszczane
i†odczytywane (a†takøe
czasami modyfikowane)
z†pamiÍci programu przy
wykorzystaniu standardowych rozkazÛw.
- W†najbardziej klasycznej
formie rejestry obs³uguj¹ce
urz¹dzenia wejúcia/wyjúcia
mog¹ byÊ traktowane jak
normalne komÛrki pamiÍci, z†pe³n¹ dostÍpnoúci¹
wszystkich
rozkazÛw
i†trybÛw adresowania jednostki centralnej.
- Budowa systemu, z†pojedynczymi magistralami
Von Neumann
Fot. 2. Komputer Z4
56
- Program
moøe
byÊ
umieszczony (i†uruchomiony) w†dowolnym obszarze pamiÍci, takøe
Rys. 4. Schemat blokowy
komputera o architekturze
von Neumanna
Elektronika Praktyczna 12/2003
P O D Z E S P O Ł Y
obs³uguj¹cymi obie pamiÍci, staje siÍ zdecydowanie prostsza, a†uk³ady
scalone maj¹ mniej wyprowadzeÒ.
- Wykonanie pojedynczego
rozkazu wymaga zwykle
wykonania kilku operacji
na pamiÍci.
Harvard
- D³ugoúci s³owa pamiÍci
programu i†danych mog¹
byÊ i†zazwyczaj bywaj¹
rÛøne - np. dane s¹ 8-bitowe, a†s³owo pamiÍci
programu 16-bitowe.
- Istnieje potencjalna moøliwoúÊ rÛwnoczesnej komunikacji jednostki centralnej
z†obu pamiÍciami.
To w³aúnie ta ostatnia zaleta nabiera ostatnio decyduj¹cego znaczenia. Jeøeli
konstrukcja jednostki centralnej pozwala na odczyt
nowego rozkazu z†pamiÍci
programu jeszcze podczas
transferu operandÛw niezbÍdnego dla realizacji poprzedniej instrukcji, wykonanie programu jest zdecydowanie szybsze, szczegÛlnie, gdy kompletny rozkaz
mieúci siÍ w†pojedynczym
s³owie pamiÍci. Wada zwi¹zana z†niemoønoúci¹ przechowywania sta³ych i†tablic
w†pamiÍci programu bywa
eliminowana przez wprowadzenie specjalnych rozkazÛw przenoszenia danych,
operuj¹cych na pamiÍci
programu.
W†praktyce czÍsto spotykane s¹ architektury mieszane, niebÍd¹ce øadn¹ z†poprzednich w†stanie ìczystymî. Typowym przyk³adem
jest mikrokontroler 8051.
Maszyny jedno-,
dwu- oraz
trzyadresowe i†tryby
adresowania
Kaødy rozkaz komputera
musi zawieraÊ kompletny
zestaw informacji pozwalaj¹cy na jego poprawn¹ interpretacjÍ i†wykonanie. Informacje te dzieli siÍ na
dwie zasadnicze czÍúci:
czÍúʆoperacyjn¹ i†czÍúÊ adresow¹. Jak sama nazwa
Elektronika Praktyczna 12/2003
wskazuje, czÍúÊ operacyjna
okreúla rodzaj operacji, jak¹
ma dany rozkaz wykonaÊ
(np. dodanie dwÛch argumentÛw albo przes³anie zawartoúci jednej z†komÛrek
pamiÍci do innej). Liczba
stosowanych w†praktyce
operacji nie jest zbyt duøa,
rzÍdu kilkudziesiÍciu, i†bez
problemÛw da siÍ zakodowaÊ na niewielkiej liczbie
bitÛw. Pojedynczy bajt, czyli uporz¹dkowanych 8†bitÛw, wystarcza zazwyczaj
z†zapasem. Rozkazy dzia³aj¹
jednak na jakichú argumentach i†w†wyniku ich realizacji powstaj¹ wyniki (argumenty i†wyniki nosz¹ nazwÍ operandÛw). Wieloargumentowe operacje zawsze
moøna sprowadziÊ do ci¹gu
operacji co najwyøej dwuargumentowych, dlatego, ze
wzglÍdu na d¹ønoúÊ do
maksymalnej prostoty przy
zachowaniu dostatecznej
uniwersalnoúci, niezmiernie
rzadko (ale jednak) spotykane s¹ instrukcje operuj¹ce
na liczbie argumentÛw
wiÍkszej od dwÛch. Tak
wiÍc w†najbardziej ogÛlnym
przypadku rozkaz powinien
zawieraÊ kod operacji KO
(rys. 5) oraz adresy wszystkich operandÛw, a†zatem
adres pierwszego argumentu
AS1, adres drugiego argumentu AS2 oraz adres komÛrki pamiÍci, do ktÛrej
naleøy wys³aÊ wynik AD.
Takie maszyny nazywane
s¹ trzyadresowymi. Nawiasem mÛwi¹c, istnieje jeszcze bardziej ogÛlna struktura rozkazu, zawieraj¹ca kolejne pole adresowe: adres
komÛrki pamiÍci programu,
z†ktÛrej ma zostaÊ pobrany
i†wykonany nastÍpny rozkaz. Koncepcja taka naleøy
na razie do egzotycznych.
Powszechnie s¹ stosowane
raczej znacznie prostsze
maszyny
sekwencyjne,
a†wiÍc takie, w†ktÛrych na-
Rys. 5. Format rozkazu
trzyadresowego i jego
pola informacyjne
57
P O D Z E S P O Ł Y
stÍpny w†kolejnoúci realizacji rozkaz pobierany jest po
prostu z†nastÍpnej komÛrki
pamiÍci programu - dodatkowy adres staje siÍ wtedy
zbÍdny (wyj¹tek stanowi¹
tylko specjalne rozkazy skokÛw). Warto jednak zauwaøyÊ, øe w†systemach wieloprocesorowych odejúcie od
sekwencyjnoúci pozwala na
wyraüne poprawienie efektywnoúci realizacji ca³ego
programu, jednakøe kosztem
zdecydowanego powiÍkszenia trudnoúci w†tworzeniu
oprogramowania. Maszyny
trzyadresowe pozwalaj¹ na
uzyskanie zwartego programu, w†szczegÛlnoúci niemal
zbÍdne staje siÍ stosowanie
instrukcji przenoszenia danych. Wykazuj¹ jednak istotn¹ wadÍ - czÍúÊ adresowa staje siÍ bardzo d³uga,
rozkaz zajmuje w†pamiÍci
duøo miejsca, a†jego skompletowanie i†wykonanie poch³ania sporo czasu. WyjaúniÊ to moøe przyk³ad prostego hipotetycznego mikroprocesora trzyadresowego,
o†8-bitowym s³owie pamiÍciowym i†16-bitowym
adresie. Pojedynczy rozkaz
dwuargumentowy
musi
sk³adaÊ
siÍ
z†7†bajtÛw
(1†bajt to kod operacji,
a†6†bajtÛw to 3†adresy), jego
pobranie wymaga zatem
7†dostÍpÛw do pamiÍci. Do
jego wykonania jest jeszcze
konieczny odczyt 2†argumentÛw oraz zapis wyniku
do pamiÍci, czyli dodatkowe 3†cykle komunikacji
z†pamiÍci¹ - razem aø 10.
Z†tego powodu maszyny 3adresowe spotykane s¹ bardzo rzadko wúrÛd prostych
mikroprocesorÛw, stanowi¹
natomiast naturalne rozwi¹zane w†duøych maszynach,
w†ktÛrych ca³y, d³ugi rozkaz mieúci siÍ w†jednym
lub co najwyøej 2†s³owach
pamiÍciowych.
Aby skrÛciÊ czÍúÊ adresow¹, moøna zmniejszyÊ liczbÍ pÛl adresowych, ograniczyÊ w†jakiú sposÛb ich
d³ugoúÊ albo teø zastosowaÊ
oba rozwi¹zania rÛwnoczeúnie. Najproúciej usun¹Ê
58
trzeci adres (wyniku). W†rezultacie wynik jest transferowany do domyúlnego,
z†gÛry okreúlonego miejsca.
NajczÍúciej jest wpisywany
w†miejsce jednego z†argumentÛw powoduj¹c†tym samym jego zniszczenie. Zwyczajowo jest to pierwszy
z†argumentÛw, ale spotykane s¹ teø rozwi¹zania,
w†ktÛrych argument zastÍpowany wynikiem moøna
wybieraÊ. W†takiej sytuacji
poza kodem operacji i†dwoma adresami argumentÛw†w†rozkazie musi pojawiÊ siÍ ta dodatkowa infor-
UsuniÍcie kolejnego pola
adresowego z†rozkazu prowadzi do maszyny jednoadresowej, w†ktÛrej w†rozkazie wskazaÊ moøna tylko
jeden z†argumentÛw operacji. ZarÛwno drugi argument jak i†wynik musz¹
byÊ adresowane w†sposÛb
domyúlny (implikowany).
W†tym celu wprowadza siÍ
specjalny, wyrÛøniony rejestr zwi¹zany z†jednostk¹
arytmetyczno-logiczn¹, zwany akumulatorem, ktÛry zawiera drugi argument operacji i†do ktÛrego wpisywany jest wynik po jej wyko-
Symetria i ortogonalność jednostki
centralnej
Przez symetrię rozumiane jest równoupraw−
nienie wszystkich rejestrów jednostki
centralnej i ich dostępność dla wszystkich
funkcji.
Ortogonalność to dostępność wszystkich
zaimplementowanych w danej jednostce
centralnej trybów adresowania we wszystkich
instrukcjach i dla wszystkich operandów.
macja, nazywana modyfikatorem adresu. OgÛlnie rzecz
ujmuj¹c, modyfikator adresu
determinuje sposÛb interpretacji przez jednostkÍ
centraln¹ czÍúci adresowej
rozkazu. Maszyny dwuadresowe pod wzglÍdem funkcjonalnym s¹ niemal rÛwnowaøne trzyadresowym,
przy wyraünie krÛtszej czÍúci adresowej. Jest to obecnie najczÍúciej stosowane
rozwi¹zanie w†mikroprocesorach i†mikrokontrolerach
úredniej, ale jednak nie najwyøszej klasy.
naniu. D³ugoúÊ rozkazu
ulega radykalnemu skrÛceniu, ale w†programie poza
rozkazami zwi¹zanymi bezpoúrednio z†realizacj¹ algorytmu obliczeÒ pojawiaj¹
siÍ bardzo liczne rozkazy
transferu operandÛw pomiÍdzy akumulatorem i†pamiÍci¹. Powoduje to wzrost
stopnia komplikacji programu, powiÍksza jego rozmiar i†wyd³uøa czas wykonania, a†intensywnie wykorzystywany
akumulator
tworzy w¹skie ìgard³oî.
Maszyny jednoadresowe
Rys. 6. Adresowanie bezpośrednie
maj¹ jednak przy tym niezaprzeczaln¹ zaletÍ - s¹
bardzo proste, a†przez to
i†tanie. Pewn¹, doúÊ wyraün¹ poprawÍ funkcjonalnoúci moøna uzyskaÊ, jeøeli istnieje moøliwoúÊ wyboru
umieszczania wyniku albo
w†akumulatorze,
albo
w†miejscu adresowanego
argumentu. Takie mikroprocesory nazywane bywaj¹
pÛ³toraadresowymi. Przyk³adem mog¹ byÊ tu mikrokontrolery PIC. Z†kolei
doúÊ typowym przyk³adem
mikrokontrolera jednoadresowego z†nieznacznym odchyleniem w†stronÍ pÛ³toraadresowoúci jest '51.
Inn¹ moøliwoúÊ ograniczenia d³ugoúci czÍúci adresowej rozkazu stwarza skracanie pÛl adresowych, przy
zachowaniu oczywistej zasady jednoznacznego wskazywania po³oøenia operandu
w†pamiÍci. Osi¹ga siÍ to
poprzez stosowanie rÛønych
trybÛw adresowania.
Najbardziej oczywistym
trybem adresowania jest
adresowanie bezpoúrednie
(rys. 6), w†ktÛrym pole adresowe rozkazu zawiera po
prostu adres operandu. Jedn¹ z†wad tego trybu, poza
d³ugoúci¹†pola adresowego,
jest fakt, øe adres ten jest
sta³y i†nie moøna go w†programie zmieniaÊ (nie moøe
byÊ zatem wyliczany). Jeøeli - przyk³adowo - naleøy
zwiÍkszyÊ o†jeden zawartoúÊ 100 kolejnych komÛrek
pamiÍci, to w†takim trybie
adresowania naleøy w†programie 100-krotnie umieúciÊ instrukcjÍ inkrementa-
Rys. 7. Adresowanie pośrednie
Elektronika Praktyczna 12/2003
P O D Z E S P O Ł Y
cji, za kaødym razem operuj¹c¹ na innym adresie.
Aø siÍ prosi, aby pojedyncz¹ instrukcjÍ powtarzaÊ
w†pÍtli 100 razy, zmieniaj¹c przy tym wraz z†kolejnymi obiegami pÍtli adres
argumentu. Czas wykonania
takiego fragmentu programu
co prawda siÍ nie zmniejszy (a nawet wyraünie powiÍkszy), ale program bÍdzie zawiera³ tylko kilka
instrukcji zamiast stu.
Wyliczanie adresu operandu umoøliwia adresowanie poúrednie (rys. 7),
w†ktÛrym pole adresowe
rozkazu nie zawiera bezpoúrednio adresu operandu,
a†jest jedynie poúrednim
wskaünikiem
miejsca,
w†ktÛrym tego adresu naleøy poszukiwaÊ (jest to wiÍc
jakby adres adresu). Miejscem tym moøe byÊ pamiÍÊ
(rzadziej, raczej w†rozwi¹zaniach wyøszej klasy) albo
wyrÛøniony rejestr jednostki centralnej. W†tym ostatnim, dominuj¹cym w†prostych
mikroprocesorach
przypadku, uzyskuje siÍ
przy
okazji
radykalne
zmniejszenie d³ugoúci pola
adresowego, bo rejestrÛw
s³uø¹cych do adresowania
poúredniego jest zazwyczaj
niewiele i†do ich rozrÛønienia wystarcza kilka bitÛw.
W†mikrokontrolerach '51 do
Elektronika Praktyczna 12/2003
adresowania poúredniego 8bitowego s³uø¹ wy³¹cznie
rejestry R0 i†R1 (pole adresowe skraca siÍ zatem do
jednego bitu), a†do adresowania 16-bitowego przeznaczono tylko jeden rejestr
DPTR
(pole
adresowe
w†ogÛle znika, ale pozostaje oczywiúcie modyfikator
adresu!). W†PIC-ach do adresowania
poúredniego
przeznaczono tylko jeden
rejestr-fantom. W†AVR-ach
s¹ to trzy pary rejestrÛw X,
Y, Z. W†MSP430 kaødy
z†rejestrÛw
moøe
byÊ
wskaünikiem adresowym.
Z†punktu widzenia programisty im wiÍcej istnieje rejestrÛw†do adresowania poúredniego,
tym
lepiej.
Z†punktu widzenia konstruktora mikroprocesora
jest dok³adnie odwrotnie.
Adresowanie poúrednie
znalaz³o bardzo szerokie zastosowanie w†technice komputerowej i†ma liczne odmiany. Moøe teø byÊ ³¹czone z†innymi trybami adresowania,
w†szczegÛlnoúci
wzglÍdnym. Zalet¹ - poza
moøliwoúci¹ wyliczania adresu - jest krÛtkie pole adresowe rozkazu. Jeøeli rejestry adresowe maj¹ wystarczaj¹c¹ d³ugoúÊ, to moøliwe
jest zaadresowanie dowolnej
komÛrki pamiÍci. Wad¹ jest
to, øe†do rejestru naleøy
59
P O D Z E S P O Ł Y
Rys. 8. Adresowanie względne
wczeúniej wpisaÊ docelowy
adres, a†wiÍc czÍsto potrzebna jest do tego dodatkowa instrukcja, a†czasem
nawet dwie. Najbardziej
efektywne staje siÍ adresowanie poúrednie przy wielokrotnie powtarzanym dostÍpie do kolejnych komÛrek pamiÍci, np. przy pracy
z†danymi maj¹cymi postaÊ
tablic, szczegÛlnie wtedy,
gdy istnieje moøliwoúÊ automatycznej inkrementacji
b¹dü dekrementacji rejestru
adresowego (co jest technicznie stosunkowo proste).
Ilustruje to prosty program
dla mikrokontrolera '52,
wstÍpnie zeruj¹cy wszystkie
komÛrki pamiÍci:
mov R0,#255
clr A
zeruj: mov @R0,A
djnz R0, zeruj
Obs³uga stosu teø jest
przyk³adem specyficznego
rodzaju adresowania poúredniego, w†ktÛrym rejestrem
adresowym jest wskaünik
stosu, a†kaødy zapis czy teø
odczyt zwi¹zany jest z†jego
automatyczn¹ inkrementacj¹
b¹dü dekrementacj¹.
Istniej¹ liczne odmiany
adresowania poúredniego,
ktÛre nie bÍd¹ tu bliøej
omawiane - indeksowe, bazowe, indeksowo-bazowe,
stronicowe, cykliczne (cyrkulacyjne) i†inne.
Kolejnym, waønym trybem
jest
adresowanie
wzglÍdne (relatywne) - rys.
8. W†tym trybie pole adresowe nie zawiera adresu
operandu, ale jego przesuniÍcie (displacement, d)
60
wzglÍdem jakiegoú adresu
bazowego. Innymi s³owy,
w†trybie takim w†polu adresowym nie ma informacji, øe operand jest zawarty w†komÛrce pamiÍci
o†przyk³adowym adresie
2345, jest natomiast informacja, øe†operand jest
umieszczony w†komÛrce
o†adresie o†123 wiÍkszym
od adresu odniesienia. Adresem odniesienia bywa zawartoúÊ specjalnych rejestrÛw (np. indeksowego) albo
aktualny stan licznika rozkazÛw. Ten ostatni przypadek tworzy adresowanie
wzglÍdne bieø¹ce, stosowane przede wszystkim, ale
bynajmniej nie wy³¹cznie,
w†instrukcjach
skokÛw.
PrzesuniÍcie jest traktowane zazwyczaj jako liczba ze
znakiem,
moøe
byÊ
wiÍc†dodatnie albo ujemne.
Zakres
adresowania
wzglÍdnego jest zwykle
ograniczony, co pozwala na
skrÛcenie czÍúci adresowej
kosztem pewnego zmniejszenia elastycznoúci programowania. W†mikrokontrolerach '51 s¹ moøliwe skoki
wzglÍdne w†zakresie 128...+127 w†stosunku do
aktualnego stanu licznika
rozkazÛw (wskazuj¹cego zawsze nastÍpn¹ do wykonania instrukcjÍ). W†AVR-ach
jest to tylko -64...+63 (ale
dotyczy s³Ûw 16-bitowych),
a†z†kolei w†MSP430 aø†512...+511. Jedn¹ z†zalet
adresowania wzglÍdnego
bieø¹cego jest fakt, øe jego
konsekwentne stosowanie
pozwala na uzyskanie wy-
nikowych programÛw posiadaj¹cych cechÍ przesuwalnoúci (relokowalnych).
Program taki moøe†zostaÊ
umieszczony i†uruchomiony
w†dowolnym obszarze pamiÍci, a†nie tylko w†jednym, z†gÛry okreúlonym
miejscu. U³atwia to m.in.
gospodarowanie wieloma
programami we wspÛlnej
pamiÍci i†prze³¹czaniem
pomiÍdzy nimi realizowanych aktualnie zadaÒ.
Nie moøna pomin¹Ê takøe
adresowania natychmiastowego (rys. 9), w†ktÛrym pole adresowe rozkazu zawiera nie adres argumentu czy
teø wskaünik adresowy, ale
sam argument - sta³¹ programow¹. Oczywiúcie taki
tryb adresowania ma sens
tylko dla argumentÛw, a†nie
dla wyniku (bo oznacza³oby
to, øe wynik jest znany
przed wykonaniem instrukcji). Typowym przyk³adem
moøe byÊ rozkaz:
anl P3,#80h
dla '51.
Z†trybami adresowania
wi¹ø¹ siÍ dwa waøne pojÍcia: symetrii i†ortogonalnoúci. Przez symetriÍ rozumiane jest rÛwnouprawnienie
wszystkich rejestrÛw jednostki centralnej i†ich dostÍpnoúÊ dla wszystkich
funkcji, w†szczegÛlnoúci jako wskaünikÛw adresowania poúredniego albo np.
rejestrÛw indeksowych. Symetria jest cech¹ bardzo
przydatn¹, ale stosunkowo
rzadko spotykan¹. O†mikrokontrolerach '51 moøna by
by³o mÛwiÊ, øe maj¹ symetryczny rdzeÒ, gdyby adresowanie poúrednie mog³o
siÍ odbywaÊ nie tylko poprzez rejestry R0 i†R1, ale
takøe przez wszystkie pozosta³e (R2...R7). W†wielu
mikroprocesorach poszczegÛlne rejestry pe³ni¹ tylko
okreúlone zadania i†nie mog¹ byÊ wykorzystywane do
innych celÛw. Przyk³adem
ewolucji w†kierunku symetrii mog¹ byÊ mikroprocesory rodziny '86. W†8086 istnia³y wyraünie wyrÛønione,
odrÍbne rejestry dla adreso-
wania bazowego, indeksowego itp., w†nastÍpcach
(386, 486, Pentium) to
ograniczenie stopniowo zanika³o. Symetryczne s¹
mikroprocesory rodziny
68000. RÛwnieø w†mikrokontrolerze MSP430 niemal
kaødy z†16 rejestrÛw wewnÍtrznych moøe przechowywaÊ dane, pe³niÊ funkcjÍ wskaünika adresowego
albo teø rejestru indeksowego.
OrtogonalnoúÊ z†kolei to
dostÍpnoúÊ wszystkich zaimplementowanych w†danej
jednostce centralnej trybÛw
adresowania we wszystkich
instrukcjach i†dla wszystkich operandÛw. Jest to cecha bardzo rzadka, chociaø
jej obecnoúÊ prowadzi do
bardzo interesuj¹cych rozwi¹zaÒ.
Z†popularnych
mikrokontrolerÛw najwiÍkszy stopieÒ ortogonalnoúci
wykazuje MSP430, w†ktÛrym dostÍpny jest przyk³adowo tak egzotyczny rozkaz, jak skok ze úladem
(CALL) w†trybie adresowania poúredniego z†postinkrementacj¹. Zazwyczaj poszczegÛlnym instrukcjom
i†ich operandom przyporz¹dkowane s¹ jednak tylko
pewne wybrane tryby adresowania.
DostÍpnoúÊ operandÛw
w†wielu trybach adresowania, symetria i†ortogonalnoúÊ s¹ bardzo istotnymi
cechami jednostki centralnej, byÊ moøe nawet waøniejszymi od bogactwa listy
rozkazÛw
i†zasobÛw
wewnÍtrznych. Bardzo popularny swego czasu mikroprocesor 6502 sk³ada³ siÍ
g³Ûwnie z†ìniczegoî, a†jego
lista rozkazÛw zawiera³a bodajøe niewiele ponad 50 instrukcji i†to tych najprostszych. Pomimo tego konkurowa³†z†powodzeniem ze
znacznie bardziej skomplikowanym Z80, przewyøszaj¹c go w³aúnie asortymen-
Rys. 9. Adresowanie na−
tychmiastowe
Elektronika Praktyczna 12/2003
P O D Z E S P O Ł Y
P O D Z E S P O Ł Y
Rys. 10. Kodowanie rozkazów dwuargumentowych
w mikrokontrolerze MSP430
tem dostÍpnych trybÛw adresowania.
Jako
reprezentatywny
przyk³ad, na rys. 10 przedstawiono sposÛb kodowania
rozkazÛw dwuargumentowych w†16-bitowym mikrokontrolerze MSP430. Kaødy
rozkaz zawiera 4-bitowy
kod operacji KO, co teoretycznie pozwala na zakodowanie 16 rozkazÛw. W†rzeczywistoúci rozkazÛw dwuargumentowych jest tylko
12, a†pozosta³e kombinacje
wykorzystywane s¹ przez
inne rozkazy (jednoargumentowe i†skoki), w†ktÛrych
odmienna jest interpretacja
reszty s³owa rozkazowego.
Jest to bardzo czÍsto stosowana ìsztuczkaî konstrukcyjna. Jeden bit (B/W) zarezerwowano dla rozrÛøniania
operacji oúmio- i†szesnastobitowych - mikrokontroler
ten pozwala na wykonywanie tych samych rozkazÛw
nie tylko na dwubajtowych
s³owach, ale teø na pojedynczych bajtach, z†tym øe
oba argumenty (i†wynik)
musz¹ mieÊ tÍ sam¹ d³ugoúÊ, a†rejestry wewnÍtrzne
nie mog¹ byÊ dzielone na
dwie czÍúci. W†przypadku
ewentualnych konfliktÛw
(np. dodanie 8-bitowego argumentu do zawartoúci jednego z†rejestrÛw) przewidziane zosta³y odpowiednie,
jednoznaczne regu³y zachowaÒ. Dwa 4-bitowe pola AS
i†AD, kaøde wskazuj¹ce jeden z†16 rejestrÛw uniwersalnych, stanowi¹ czÍúci adresowe operandÛw. Interpretacja zawartoúci pierwszego
z†rejestrÛw
zaleøy
od
zwi¹zanego z†nim dwubitowego modyfikatora adresu
pierwszego argumentu MS,
co moøe sugerowaÊ, øe dostÍpne s¹ dla niego 4†tryby
adresowania (konkretnie:
bezpoúrednie rejestrowe, poúrednie, poúrednie z†autoinkrementacj¹ i†indeksowe).
W†rzeczywistoúci trybÛw
Elektronika Praktyczna 12/2003
tych jest aø siedem (dochodzi jeszcze wzglÍdne bieø¹ce, bezpoúrednie odniesione
do dowolnej komÛrki pamiÍci oraz natychmiastowe),
co wynika z†oryginalnej
koncepcji
umieszczenia
wúrÛd†rÛwnouprawnionych
rejestrÛw uniwersalnych
takøe licznika rozkazÛw.
W†ten sposÛb przyk³adowo
adresowanie
indeksowe
ìwch³aniaî niejako - odniesione do licznika rozkazÛw
- adresowanie wzglÍdne
bieø¹ce. Dla drugiego argumentu i†rÛwnoczeúnie wyniku przewidziano juø tylko
jeden bit modyfikatora adresu MD, co powoduje, øe
moøe on (tzn. operand) byÊ
wskazywany tylko w†dwÛch
trybach adresowania, tym
niemniej i†tak odpowiadaj¹cych czterem w†typowych
mikroprocesorach. Jest to jedyne odstÍpstwo od ortogonalnoúci, spowodowane po
prostu ograniczon¹ d³ugoúci¹ s³owa rozkazowego,
ktÛrego wszystkich 16 bitÛw
zosta³o juø wykorzystanych.
SposÛb u³oøenia tych elementÛw
informacyjnych
w†rozkazie robi wraøenie
nieco chaotycznego i†przypadkowego, ale widocznie
projektant mia³ tu jakieú
swoje racje, a†moøe po
prostu fantazjÍ.
Siedem rozkazÛw jednoargumentowych rozpoczyna
siÍ unikaln¹ kombinacj¹
0001, po ktÛrej wystÍpuje
dalszy ci¹g kodu konkretnej
operacji, wyrÛønik bajt/s³owo, a†nastÍpnie 4-bitowy
adres rejestru i†dwubitowy
modyfikator adresu identyczne, jak w†rozkazach
dwuargumentowych.
Rozkazy skokÛw warunkowych rozpoczynaj¹ siÍ kombinacj¹ 001, uzupe³nion¹
trzema bitami koduj¹cymi
konkretny warunek skoku
i†9-bitowym adresem wzglÍdnym ze znakiem.
Maciej Nowiñski
61
Konfiguracja Girdera do współpracy z odbiornikiem SIRC/RC5
P Roraz
O termometrem
J E K T Y
Konfiguracja Girdera
do współpracy
z odbiornikiem
SIRC/RC5 (AVT−519) oraz
termometrem (AVT−558)
Moøliwoúci Girdera by³y
opisywane juø niejednokrotnie.
Ze wzglÍdu na duø¹ liczbÍ
pytaÒ jakie otrzymujemy
w†sprawie jego konfiguracji
i†moøliwoúci wspÛ³pracy
z†zestawami AVT do tematu
wracamy.
Rekomendacje: dla
wszystkich uøytkownikÛw
Girdera, ktÛrzy chc¹
wykorzystaÊ tkwi¹cy w nim
ogromny potencja³, zw³aszcza
we wspÛ³pracy z wieloma
przystawkami sprzÍtowymi
opracowanymi w naszym
laboratorium.
W przedstawionym opisie zosta³y u¿yte nastêpuj¹ce aplikacje, które dostêpne s¹ na stronie
www.girder.nl oraz na CD-EP12/2003B:
1. Program Girder, wersja 3.2.9b.
2. Wtyczka Question OSD.dll.
3. Wtyczka XP_OSD.dll wersja 1.3.
4. Wtyczka serial.dll wersja 3.0.15.
Elektronika Praktyczna 12/2003
Girder jest udostÍpniany bezp³atnie i†moøna go pobraÊ ze
strony www.girder.nl, tam takøe
znajduj¹ siÍ dodatkowe pliki (pluginy) umoøliwiaj¹ce rozbudowÍ funkcjonaln¹ tego programu. W†EP6/
03 opisaliúmy sposÛb skonfigurowania Girdera do wspÛ³pracy z†nadajnikiem zdalnego sterowania
(AVT-5104). W†tym przyk³adzie za
pomoc¹ Girdera, po naciúniÍciu
odpowiedniego klawisza klawiatury, by³y wysy³ane dane poprzez
port szeregowy do nadajnika podczerwieni. Teraz przedstawimy
sposÛb skonfigurowania Girdera do
wspÛ³pracy z†odbiornikiem zdalnego sterowania oraz cyfrowym termometrem, z†ktÛrych pobierane dane bÍd¹ wyúwietlane na ekranie
monitora. W†ten sposÛb bÍdzie
moøna stworzyÊ nawet cyfrowy
przyrz¹d pomiarowy i†to bez znajomoúci øadnego jÍzyka programowania. W†artykule omÛwimy
wspÛ³pracÍ Girdera z†odbiornikiem
SIRC/RC5 (AVT-519) oraz termometrem (AVT-558), jednak nic nie
stoi na przeszkodzie, aby w†ten
sam sposÛb wyúwietlaÊ dane pochodz¹ce z†innych ürÛde³.
Obydwa wspomniane urz¹dzenia wysy³aj¹ dane poprzez port
szeregowy w†postaci ci¹gu znakÛw ASCII. Dane te s¹ formowane
w†ramki o†rÛønej d³ugoúci uzaleønionej od parametrÛw odebranego
kodu lub wartoúci temperatury.
Pomimo tych rÛønic kaøda ramka
ma jedn¹ sta³¹ cechÍ: pierwszym
transmitowanym znakiem jest polecenie kasowania linii (0x0Ch).
Znak ten umoøliwia rozpoznanie
przez program pocz¹tku transmisji. DziÍki temu na ekranie
moøna wyúwietliÊ tekst z†dowolnego urz¹dzenia do³¹czonego do
portu szeregowego, warunkiem jest
jednak, aby na pocz¹tku kaødej
transmisji zosta³ wys³any znak
o†wartoúci (0x0Ch).
Do komunikacji Girdera ze
úwiatem zewnÍtrznym naleøy zastosowaÊ odpowiedni¹ wtyczkÍ.
Wtyczk¹ umoøliwiaj¹c¹ komunikacjÍ poprzez port szeregowy jest
serial.dll stworzona przez Marka
Fiechtnera. WtyczkÍ tÍ naleøy
skopiowaÊ do folderu, w†ktÛrym
znajduje siÍ uprzednio zainstalowany Girder (domyúlnie: C:\Program files\girder32\plugins). NastÍpnie naleøy przejúÊ do konfiguracji wymaganych parametrÛw
portu szeregowego. W†tym celu
uruchamiamy Girdera i†na pocz¹tek, dla u³atwienia obs³ugi, naleøy
zmieniÊ jÍzyk interfejsu. W†tym
celu wybieramy File->Settings
(wygl¹d okna przedstawiono na
rys. 1), a†nastÍpnie User interface.
W†pozycji Language naleøy wybraÊ Polski i†zatwierdziÊ poleceniem Apply, po tej czynnoúci
wszystkie napisy zostan¹ zmienione na jÍzyk polski.
NastÍpnie wybieramy opcjÍ
Wtyczki i†instalujemy wtyczkÍ Ge-
Rys. 1. Wygląd okna Settings
51
Konfiguracja Girdera do współpracy z odbiornikiem SIRC/RC5 oraz termometrem
Rys. 2. Wygląd okna instalowania
wtyczek
neric Serial Support, zaznaczaj¹c
j¹ w†oknie dialogowym (rys. 2)
i†zatwierdzaj¹c przyciskiem Zastosuj. Dodatkowo trzeba zaznaczyÊ
opcjÍ Automatycznie w³¹cz urz¹dzenie wejúciowe. W†ten sposÛb
wtyczka zosta³a zainstalowana
i†moøna przejúÊ do jej konfiguracji
wybieraj¹c opcje Ustawienia.
Na ekranie pojawi siÍ okno
pokazane na rys. 3, w†ktÛrym
moøna wczytaÊ plik konfiguracyjny, wyeksportowaÊ do pliku bieø¹ce ustawienia oraz ustawiÊ nowe
parametry dla portu szeregowego.
Poniewaø jeszcze nie zosta³ stworzony plik konfiguracyjny, naleøy
wybraÊ opcjÍ New. Na ekranie
pojawi siÍ okno umoøliwiaj¹ce
ustawienie wymaganych parametrÛw (rys. 4). W†pozycji Name
naleøy podaÊ nazwÍ, pod ktÛr¹
zostan¹ zapisane ustawione parametry, a†w†pozycji Device numer
portu, do ktÛrego do³¹czono zewnÍtrzne urz¹dzenie (np. odbior-
Rys. 3. Okno wyboru pliku
z parametrami transmisji szeregowej
Rys. 4. Okno konfiguracji
parametrów transmisji szeregowej
52
nik RC5/SIRC). PrÍdkoúÊ
transmisji danych odbiornika oraz termometru wynosi
9600 bd i†tak¹ wartoúÊ naleøy ustawiÊ w†pozycji Baud
rate, dodatkowo w†pozycji
Handshaking naleøy wybraÊ
DTR/RTS power. Spowoduje
to ustawienie na liniach
DTR/RTS portu szeregowego Rys. 5. Okno konfiguracji parametrów
stanÛw wysokich umoøliwia- odbioru danych z portu szeregowego
j¹cych zasilanie do³¹czonego
urz¹dzenia bezpoúrednio z†portu. - pld1 - w†tym rejestrze zapisyNastÍpnie naleøy wybraÊ opcje
wane s¹ odbierane dane lub
Message Definition->Receive. No³aÒcuch danych,
we okno (rys. 5) umoøliwi usta- - pld2 - rejestr okreúla, czy zosta³a
wienie sposobu przetwarzania ododebrana dana, czy tylko zosta³
bieranych danych. W†oknie tym
zmieniony stan linii wejúciowej,
naleøy uaktywniÊ opcjÍ Character - pld3 - zawiera nazwÍ pliku
Events, nastÍpnie wybraÊ Variable
konfiguracyjnego okreúlaj¹cego
Length oraz ustawiÊ wartoúÊ paparametry portu szeregowego
rametru Terminator na ì0Cî i†uak(w†przedstawionym przypadku
tywniÊ opcje Strip Terminator.
jest Odbiornik IR),
Powoduje to, øe do bufora bÍd¹ - pld4 - zawiera nazwÍ uøywanezapisywane dane odbierane z†porgo portu szeregowego, w†natu szeregowego tylko wtedy, gdy
szym przypadku jest to COM1.
bÍd¹ poprzedzone bajtem o†warDo wyúwietlania na ekranie
toúci 0x0Ch. Dodatkowo naleøy monitora informacji z†odbiornika
zaznaczyÊ opcjÍ Enable Receive RC5/SIRC i†termometru wykorzysTimeout i†ustaliÊ wartoúÊ rÛwn¹ tywana bÍdzie tylko zawartoúÊ
oko³o 300 ms. Opcja ta powoduje, rejestru pld1.
øe strumieÒ odbieranych danych
zosta³ przerwany jeúli przerwa po- Budowa aplikacji
Aby dane odbierane z†portu
miÍdzy kolejnymi znakami bÍdzie
wiÍksza od 300 ms. Kolejne dane szeregowego by³y wyúwietlane na
bÍd¹ ignorowane, aø do momentu ekranie, naleøy tak skonfigurowaÊ
pojawienia siÍ ponownie bajtu Girdera, aby odpowiednio je przestartu sygnalizuj¹cego pocz¹tek no- kierowaÊ. W†tym celu naleøy stwowej transmisji (w praktyce oznacza rzyÊ specjaln¹ aplikacjÍ. Aplikacje
to, øe ramka danych pochodz¹ca i†polecenia tworzy siÍ w†g³Ûwnym
z†odbiornika RC5/SIRC lub termo- oknie Girdera (rys. 6), po naciúmetru zakoÒczy³a siÍ). Na koniec niÍciu prawego klawisza myszy
naleøy ustaliÊ d³ugoúÊ bufora od- na bia³ym polu rozwinie siÍ menu
bieranych danych Message Buffer umoøliwiaj¹ce te czynnoúÊ. Na
pocz¹tku trzeba utworzyÊ aplikaSize. Wprowadzona wartoúÊ moøe
z a w i e r a Ê s i Í w † p r z e d z i a l e cjÍ poleceniem Dodaj aplikacjÍ,
30...2048, domyúlnie jest rÛwna nastÍpnie naleøy j¹ zaznaczyÊ,
201. Jest ona jednak zaleøna od ponownie rozwin¹Ê menu i†wyliczby bajtÛw wysy³anych w†jed- braÊ Dodaj polecenie. Kolejnym
nym pakiecie do komputera i†mo- krokiem jest dodanie Kodu zdaøe zostaÊ zmniejszona lub zwiÍkszona w†zaleønoúci od iloúci danych wysy³anych przez do³¹czone
urz¹dzenie. Po ustawieniu wszystkich parametrÛw†transmisji naleøy
zamkn¹Ê wszystkie okienka zatwierdzaj¹c wprowadzone zmiany.
Tak skonfigurowany port umoøliwi odbiÛr danych, a†dodatkowo
ci¹g bajtÛw wystÍpuj¹cy po bajcie
startu 0x0Ch zostanie zapisany
w†buforze i†bÍdzie mÛg³ byÊ dalej
przetworzony. Parametry portu zaRys. 6. Okno tworzenia aplikacji
pisywane s¹ w†czterech rejestrach: (programów)
Elektronika Praktyczna 12/2003
Konfiguracja Girdera do współpracy z odbiornikiem SIRC/RC5 oraz termometrem
Rys. 7. Okno wczytywania Kodu
zdarzenia
rzenia. Wszystkie nazwy tworzonych aplikacji i†poleceÒ mog¹ byÊ
dowolnie zmieniane poprzez polecenie ZmieÒ nazwÍ.
Tak zbudowany ìprogramî bÍdzie oczekiwa³ na zdarzenie zapisane w†Kodzie zdarzenia i†wykona polecenie zapisane w†Polecenie. W†typowych zastosowaniach Kod zdarzenia odpowiada
jednemu konkretnemu zdarzeniu,
na przyk³ad naciúniÍciu klawisza
klawiatury lub odbioru z†portu
szeregowego konkretnego bajtu.
Przy wspÛ³pracy ze wspomnianymi: termometrem lub odbiornikiem RC5/SIRC, kodem zdarzenia
nie jest konkretna wartoúÊ odbieranych danych, bo s¹ one zmienne i†trzeba by by³o wczytaÊ ten
kod dla kaødej moøliwej wartoúci,
dlatego kod ten trzeba wczytaÊ
w†inny sposÛb. Aby go wczytaÊ
naleøy zaznaczyÊ opcjÍ Kod zdarzenia, nastÍpnie z†menu (obok
klawisza Wczytaj kod) wybraÊ
opcjÍ Zdarzenie Girdera, nastÍpnie nacisn¹Ê przycisk Wczytaj
kod. W†wyniku tych zabiegÛw
zostanie otwarte nowe okno,
w†ktÛrym znajduj¹ siÍ dwie opcje
do wyboru (rys. 7). Z†pierwszego
menu naleøy wybraÊ On Event,
natomiast z†drugiego Generic Se-
Rys. 8. Okno ustawień sposobu
wyświetlania Proste OSD
Elektronika Praktyczna 12/2003
rial Support i†zatwierdziÊ przyciskiem Wybierz. Po tych czynnoúciach polecenie Wyúwietl bÍdzie
wykonywane po odebraniu dowolnych danych z†portu szeregowego (dane, ktÛre spe³ni¹ warunek postawiony przy konfiguracji
wtyczki Generic Serial Support).
W†ten sposÛb†odebrane dane moøna dowolnie przetwarzaÊ.
W†przedstawionym przyk³adzie
dane te bÍd¹ wyúwietlanie na
ekranie monitora, dlatego naleøy
wywo³aÊ odpowiedni¹ funkcjÍ realizuj¹ca to zadanie. Stworzon¹
aplikacjÍ naleøy zapisaÊ, na przyk³ad jako plik Termometr.GML,
aby ustawione parametry mog³y
byÊ wczytywane przy kaødorazowym uruchomieniu Girdera.
Wyúwietlanie danych na
ekranie
Wyúwietlanie komunikatÛw na
ekranie monitora moøna wykonaÊ
na kilka sposobÛw. Pierwszym
z†nich jest standardowa funkcja
Girdera - Proste OSD. Umoøliwia
ona wyúwietlanie komunikatÛw†w†dowolnym miejscu ekranu
(okreúlonym wspÛ³rzÍdnymi), wykorzystuj¹c do tego celu czcionkÍ
o†wybranej wielkoúci i†kolorze. Wyboru parametrÛw wyúwietlania dokonuje siÍ w†menu Ustawienia>Ustawienia OSD (rys. 8). Wyúwietlany tekst, w†zaleønoúci od
potrzeb moøe zostaÊ umieszczony
w†ramce, na wybranym kolorze t³a
lub bez ramki i†t³a. Po ustawieniu
parametrÛw OSD naleøy pobraÊ
z†bufora dane odebrane poprzez
port szeregowy i†je wyúwietliÊ.
W†tym celu naleøy w†g³Ûwnym
oknie Girdera zaznaczyÊ polecenie
Wyúwietl, nastÍpnie jako obiekt
dzia³ania tego polecenia naleøy
wybraÊ Girder (rys. 9). NastÍpnie
z†menu trzeba wybraÊ opcjÍ Proste
OSD. W†oknie Ikona/Urz¹dz. naleøy wpisaÊ tekst, ktÛry bÍdzie
wyúwietlony na ekranie. Poniewaø
w†przyk³adzie wyúwietlona musi
zostaÊ zawartoúÊ rejestru zawieraj¹cego dane odebrane poprzez port
szeregowy, w†oknie tym wpisujemy
nazwÍ tego rejestru w†nawiasie
kwadratowym. W†ten sposÛb†Girder
nie bÍdzie wyúwietla³ wpisanej
nazwy, ale zawartoúÊ rejestru o†podanej nazwie. W†tym miejscu moøna takøe wpisaÊ dodatkowe rejestry: pld2, pld3, pld4, ktÛre zawieraj¹ informacjÍ o†parametrach portu
Rys. 9. Okno konfiguracji
wyświetlania danych poprzez
Proste OSD
szeregowego. OprÛcz rejestrÛw moøna wpisaÊ dowolny tekst, ktÛry
zostanie wyúwietlony, na przyk³ad
obok wartoúci temperatury. Przyk³adowy sposÛb wyúwietlania temperatury pokazano na rys. 10.
Opisany sposÛb wyúwietlania
komunikatÛw ma tÍ wadÍ, øe
informacja jest widoczna do momentu klikniÍcia na niej myszk¹.
W†przypadku termometru napis
jest aktualizowany po kaødym
pomiarze (co trzy sekundy). Jeøeli
wyúwietlany komunikat nie musi
byÊ wyúwietlany ci¹gle, a†tylko
przez jakiú czas - na przyk³ad po
odebraniu kodu z†nadajnika zdalnego sterowania - moøna zmieniÊ
sposÛb wyúwietlania, aby po podanym czasie od zdarzenia
wyúwietlany napis automatycznie
znika³. W†tym celu naleøy zaznaczyÊ polecenie Wyúwietl, a†z†menu Polecenia wybraÊ opcjÍ Ustaw
Timeout OSD. Po tej czynnoúci
pojawi siÍ okno przedstawione na
rys. 11, w†ktÛrym naleøy podaÊ
czas wyúwietlania komunikatu
w†milisekundach.
Inne moøliwoúci wyúwietlania
danych na ekranie zapewnia
wtyczka o†nazwie Question OSD,
ktÛr¹ naleøy skopiowaÊ do folderu
Rys. 10. Przykład wyświetlania
temperatury
Rys. 11. Okno ustawiania czasu
wyświetlania komunikatu
53
Konfiguracja Girdera do współpracy z odbiornikiem SIRC/RC5 oraz termometrem
Rys. 12. Okno konfiguracji
wyświetlania komunikatów przy
pomocy wtyczki Question OSD
wtyczek i†zainstalowaÊ (analogicznie jak instalacja wtyczki
serial.dll). NastÍpnie w†g³Ûwnym
oknie Girdera naleøy zmieniÊ parametry polecenia Wyúwietl. Teraz
jako obiekt dzia³ania naleøy wybraÊ wtyczkÍ Question OSD, wybieraj¹c†myszk¹ Wtyczki->Question
OSD (rys. 12). Dalej naleøy ustawiÊ parametry tej wtyczki, wybieraj¹c przycisk Ustawienia. W†nowo otwartym oknie naleøy wpisaÊ numer wyúwietlanego rejestru, w†Timeout czas wyúwietlania komunikatu w†milisekundach, a†w†pozycji Akcja naleøy
wybraÊ OpenOSD. Wpisane parametry naleøy†zatwierdziÊ przyciskiem OK. Po tych czynnoúciach format wyúwietlania bÍdzie zaleøny od ustawieÒ Proste
OSD, natomiast sposÛb wyúwietlania bÍdzie kontrolowany przez
wtyczkÍ Question OSD.
WiÍksze moøliwoúci doboru
sposobu wyúwietlania posiada
Rys. 13. Okno konfiguracji
wyświetlania komunikatów za
pomocą wtyczki XP_OSD
54
wtyczka o†nazwie XP_OSD. Jej
instalacja przebiega w†taki sam
sposÛb, jak wtyczki Question OSD,
takøe przypisanie komendy Wyúwietl wykonuje siÍ analogicznie.
Po wybraniu opcji Ustawienia dla
wtyczki XP_OSD pojawi siÍ okno
konfiguracyjne przedstawione na
rys. 13.
W†oknie OSD Text naleøy wpisaÊ numer rejestru zawieraj¹cego
dane do wyúwietlenia (pld1). SposÛb prezentowania komunikatÛw
jest ustalany indywidualnie i†moøna ustawiʆczas wyúwietlania komunikatu, rodzaj oraz wielkoúÊ
czcionki, napis moøe byÊ wyúwietlany na wybranym kolorze
t³a lub bez t³a. Przy wspÛ³pracy
z†termometrem w†opcjach Display
Duration najlepiej jest wybraʆInfinity, wtedy mierzona temperatura bÍdzie wyúwietlana przez ca³y
czas, natomiast dla odbiornika
RC5/SIRC wygodniejsze bÍdzie
uøycie opcji Timeout i†ustawienie
czasu wyúwietlania odebranego
kodu z†nadajnika zdalnego sterowania. W†ten sposÛb po odebraniu kodu z†pilota jego wartoúÊ
zostanie wyúwietlona przez ustawiony czas, a†nastÍpnie zniknie.
Dodatkowo w†oknie tym moøna ustawiÊ przeüroczystoúÊ wyúwietlanego komunikatu oraz
przejúÊ do ustawieÒ rodzaju i†wymiarÛw czcionki. W†oknie Size&Position (rys. 14) moøna ustaliÊ rozmiar okna wyúwietlanych
komunikatÛw oraz ich pozycjÍ na
ekranie. Pozycje moøna ustaliÊ na
trzy sposoby:
- wybieraj¹c z†menu jedn¹ ze
skrajnych pozycji ekranu lub
jego úrodek,
- poprzez podanie wspÛ³rzÍdnych
na osiach X†i†Y,
- trzeci sposÛb pozycjonuje miejsce wyúwietlania poprzez przeci¹gniÍcie myszk¹ okna komunikatu w†ø¹dane miejsce ekranu. W†okienku Background Image moøna wskazaÊ plik obrazu,
ktÛry bÍdzie t³em wyúwietlanych komunikatÛw. Okno Animation umoøliwia natomiast
ustalenie efektÛw przy otwieraniu i†zamykaniu okna wyúwietlanych komunikatÛw, komunikat moøe byÊ wyúwietlony poprzez, na przyk³ad powolne
zmniejszanie przeüroczystoúci
czy rozwijanie i†zwijanie okna
komunikatu.
Rys. 14. Pozycjonowanie
wyświetlanych komunikatów przez
wtyczkę XP_OSD
Rys. 15. Okno konfiguracji
parametrów startowych Girdera
Po ustawieniu parametrÛw wyúwietlania komunikatÛw naleøy
ustawiÊ parametry startowe Girdera. W†tym celu naleøy wybraÊ
z†menu Plik->Ustawienia->OgÛlny
i†ustawiÊ odpowiednie parametry
pokazane na rys. 15. Jako úcieøkÍ
dostÍpu do pliku Termometr.GML
naleøy podaÊ lokalizacje pliku
zapisanego podczas tworzenia aplikacji, w†ten sposÛb po uruchomieniu Girdera odpowiednie ustawienia zostan¹ wczytane automatycznie.
Krzysztof P³awsiuk, EP
[email protected]
Uwaga! PoprawnoúÊ dzia³ania
programu Girder w†opisanej konfiguracji zosta³a sprawdzona
w†systemie Windows 98 oraz XP.
Jednakøe wyúwietlanie komunikatÛw†za pomoc¹ wtyczki XP_OSD
w†systemie Windows 98 ma ograniczenia, gdyø niedostÍpne s¹
funkcje zwi¹zane z wyúwietlaniem
przeüroczystych komunikatÛw.
Elektronika Praktyczna 12/2003
semi−MatrixOrbital
P
R O J E K T LCD
Y do PC
semi−MatrixOrbital LCD
do PC, część 2
AVT−552
Moda na fantazyjn¹
stylizacjÍ PC-ta szybko dotar³a
do naszego kraju, w†zwi¹zku
z†czym ogromnym
powodzeniem ciesz¹ siÍ
wszelkie gadøety, ktÛre mog¹
spowodowaÊ, øe nasz
komputer staje siÍ trendy.
W†artykule przedstawiamy
projekt uk³adu, ktÛry chociaø
jest ìgadøeciarskiî, to
zwiÍksza moøliwoúci nadzoru
pracy PC przez uøytkownika.
Rekomendacje: polecamy
wszystkim uøytkownikom PC,
ktÛrzy pragn¹ poprawiÊ
komfort jego uøytkowania,
zwiÍkszyÊ funkcjonalnoúÊ
i†uatrakcyjniÊ wygl¹d.
Konfiguracja LCD PC
Konfiguracji modu³u wyúwietlacza moøna dokonaÊ za pomoc¹
dowolnego programu terminalowego. Po jego uruchomieniu
i†ustawieniu parametrÛw†transmisji na 9600/8/n/1 moøna przyst¹piÊ do konfiguracji modu³u. Jest
ona bardzo prosta, a†to dziÍki
prostemu w†obs³udze menu. Aby
do niego wejúÊ naleøy jednoczeúnie nacisn¹Ê przyciski S1, S3 oraz
S4. Menu sk³ada siÍ z†kilku poziomÛw, ktÛre pokazano na rys.
6. Na rys. 7 pokazano zrzut
ekranu terminala, w†ktÛrym pokazane s¹ przyk³ady konfiguracji.
Przy wyborze w†menu ustawianych parametrÛw†naleøy podaÊ
cyfrÍ parametru, ktÛry bÍdzie ustawiany po znaku ì>î potwierdzaj¹c go klawiszem Enter. Po wyborze odpowiedniej prÍdkoúci oraz
wyúwietlacza LCD pojawia siÍ
przy nich gwiazdka. Podczas zapamiÍtywania adresu pilota RC5
Rys. 6. Struktura menu sterownika
48
naleøy nacisn¹Ê dowolny przycisk
pilota a†nastÍpnie klawisz Enter.
Jego adres zostanie automatycznie
zapisany w†pamiÍci EEPROM. Wybrane parametry zostan¹ przypisane modu³owi po wyjúciu z†trybu
menu wysy³aj¹c wartoúÊ ì4î potwierdzon¹ Enterem.
Programy wspÛ³pracuj¹ce
Istnieje bardzo wiele programÛw czy pluginÛw (np. do Winampa), ktÛre mog¹ wspÛ³pracowaÊ z†zaprezentowanym modu³em.
Mog¹, choÊ nie musz¹, bo powyøszy modu³ nie ma zaimplementowanych wszystkich poleceÒ
jakie maj¹ wyúwietlacze Matrix
Orbital. Jest takøe rÛønica w†dzia³aniu jednego polecenia, ktÛre
steruje jasnoúci¹ podúwietlenia zamiast poziomem kontrastu.
Rys. 7. Wykaz poleceń widoczny
w oknie programu terminalowego
Elektronika Praktyczna 12/2003
semi−MatrixOrbital LCD do PC
Rys. 8. Okno konfiguracji programu Smartie
Rys. 12. Widok zakładki Actions
Prezentowany modu³ przetestowspÛ³pracy z†modu³em czyli Senatomiast w†drugiej linii LCD bÍwa³em z†nastÍpuj¹cymi programarial (Matrix Orbital). PrzyciúniÍcie d¹ ukazane dwa parametry dotymi: Girder, Smartie, kilkoma proprzycisku MO settings umoøliwia
cz¹ce przep³ywnoúci oraz czÍstotgramami wspÛ³pracuj¹cymi
ustawienie kontrastu, co dla tego
liwoúci prÛbkowania odtwarzanez†LCDriver oraz pluginami do Wimodu³u bÍdzie rÛwnowaøne
go utworu. W†okienku Skip this
nampa. Modu³†z†tymi programami z†ustawieniem jasnoúci podúwietscreen if moøna wybraÊ warunek,
dzia³a³ bez øadnych zastrzeøeÒ.
lenia (rys. 9).
ktÛrego spe³nienie spowoduje poWszystkie programy oraz pluginy,
W†okienku Screens settings s¹
miniÍcie jego wyúwietlenia.
ktÛre przetestowa³em, s¹ dostÍpne
zapisywane parametry do wyRÛønie skonfigurowanych okien
na CD-EP12/2003B. Poniewaø najúwietlenia przez modu³ LCD. Zamoøe byÊ aø 20.
bardziej rewelacyjny (oprÛcz wieznaczenie opcji Donít†scroll this
Program Smartie wspÛ³pracuje
lokrotnie juø opisywanego Girdeline wy³¹cza w†danej linii wy- z†kilkoma programami jak Wira) wyda³ mi siÍ program
namp, czy MBM 5.1, z†ktÛNa CD−EP12/2003B publikujemy
Smartie, chcia³bym mu porego pobiera informacje o†temprzetestowane przez autora projektu
úwiÍciÊ trochÍ wiÍcej uwagi.
peraturze procesora, napiÍprogramy współpracujące z modułem
Na rys. 8 pokazano okno
ciach itp. Duø¹ zalet¹ prograopisanym w artykule.
ustawieÒ programu Smartie.
mu Smartie jest moøliwoúÊ
Aby mÛg³ on wspÛ³pracowaÊ
odczytu stanu przyciskÛw
z†prezentowanym modu³em, naleúwietlacza przesuwanie tekstu jeoraz ustawienia wielu moøliwych
øy wybraÊ w†okienku Program øeli nie mieúci siÍ on na ekranie
reakcji na naciúniÍte przyciski.
settings rodzaj wyúwietlacza, na- LCD, natomiast zaznaczenie opcji
Konfiguracja programu Smartie
tomiast w†okienku LCD settings Continue on next line bÍdzie przebiega rÛwnieø prosto jak kontrzeba wybraÊ numer portu oraz
powodowaÊ kontynuacjÍ wyúwietfiguracja parametrÛw do wyúwietprÍdkoúÊ transmisji danych. Polania nie mieszcz¹cego siÍ tekstu lenia na LCD. Do konfiguracji
nadto, naleøy zaznaczyÊ opcje
w†nastÍpnej linii LCD.
funkcji, ktÛre bÍd¹ wykonywane
Opcja Center text centruje tekst
po naciúniÍciu przycisku s³uøy
na wyúwietlaczu LCD. Tekst nazak³adka Actions pokazana na
pisany w†liniach emuluj¹cych wyrys. 12. Moøna w†niej skonfigubrany LCD bÍdzie od razu wyrowaÊ nie tylko reakcj͆na naciúúwietlony na wyúwietlaczu. WyniÍty przycisk, ale reakcje na
brane parametry s¹ zazwyczaj podowolny inny parametr co zostaprzedzone znakiem $. Na przynie pokazane w†dalszej czÍúci arRys. 9. Zamiast regulacji kontrastu
k³ad parametr $Time wyúwietli
tyku³u. Aby ustawiÊ warunek dla
LCD jest regulowana jasność
aktualn¹
godzinÍ,
a†parametr
$Dadanego przycisku, naleøy wczeúpodświetlenia
te aktualn¹ datÍ. Dzia³anie LCD niej wybraÊ boczn¹ zak³adkÍ Butz†parametrami wpisanymi jak potons, w†ktÛrej trzeba zaznaczyÊ
kazano na rys. 8†widaÊ na rys. 10.
Matrix Orbital Button. NastÍpnie
Aby wybraÊ parametr do wyúwietnaleøy nacisn¹Ê przycisk dla ktÛlenia, naleøy ustawiÊ kursor w†darego chcemy skonfigurowaÊ reaknym wierszu wirtualnego wyúwietcjÍ. Kod naciúniÍtego przycisku
Rys. 10. Efekt przykładowej
lacza, po czym po wybraniu
powinien pojawiÊ siÍ w†linii Butkonfiguracji programu Smartie
z†bocznych zak³adek parametru
ton:. NastÍpnie naleøy nacisn¹Ê
naleøy nacisn¹Ê przycisk Insert.
przycisk Insert. Po wybraniu waW†jednej linii†wyúwietlacza moørunku reakcji moøna wybraÊ typ
na ³¹czyÊ kilka parametrÛw jedreakcji w†okienku Output. Ustanoczeúnie.
wienie reakcji w†nastÍpuj¹cy spoNa rys. 11 pokazano parametry
sÛb: $MOButton(H)>0 then GPOodczytywane z†Winampa. W†pierTogle(2) bÍdzie powodowaÊ, øe
po kaødym naciúniÍciu przycisku
wszej
linii
LCD
wyúwietlana
bÍRys. 11. Parametry odczytywane
o†kodzie ìHî bÍdzie naprzemiendzie nazwa odtwarzanego utworu,
z Winampa
Elektronika Praktyczna 12/2003
49
semi−MatrixOrbital LCD do PC
nie zmieniany stan uniwersalnego
wyjúcia O2. Warunki naleøy†zatwierdzaÊ przyciskiem Add, a†kasowaÊ przyciskiem Delete. Na rys.
12 widaÊ, øe dodano jeszcze dwa
warunki reakcji na klawisze, ktÛre
powoduj¹ wybranie poprzedniego
oraz nastÍpnego utworu odtwarzanego w†Winampie.
Wspomina³em, øe reakcje mog¹
wywo³ywaÊ nie tylko przyciski lecz
dowolne inne parametry. Na rys.
13 pokazano konfiguracjÍ, w†wyniku ktÛrej po przyjúciu wiÍcej niø
5†listÛw†e-mail zostanie odtworzony plik wave.wav. Jeøeli bÍdzie
potrzeba automatycznego uruchamiania programu przy starcie komputera, naleøy dodaÊ odpowiedni
50
wpis do folderu Autostart ³¹cznie
z†ca³¹ úcieøk¹ do programu. Dodanie dodatkowego parametru -hide
bÍdzie skutkowaÊ automatycznym
ukrywaniem okna programu.
Przedstawi³em tylko niektÛre
z†bardzo duøych moøliwoúci programu Smartie. Mam nadziejÍ, øe
przedstawione choÊ niewielkie informacje o†Smartie pokaza³y†co
drzemie w†tym programie. Ale to
nie koniec, gdyø istnieje bardzo
wiele innych programÛw obs³uguj¹cych wyúwietlacze LCD. WspomnÍ na koniec o†programach, ktÛre korzystaj¹ z†LCDrivera. Jest kilkanaúcie programÛw wspÛ³pracuj¹cych z†tym ìdriveremî. S¹ to
wszelkiego rodzaju zegarki (przy-
k³ad pokazano na rys. 14), monitory dyskÛw, pamiÍci a†nawet pluginy do Winampa, ktÛre tworz¹
dla nawet dwukana³owy analizator
widma podobny do tego w†samym
Winampie. Programy korzystaj¹ce
z†LCDrivera wspÛ³pracuj¹ najlepiej
z†wyúwietlaczami czterowierszowymi. Wszystkie te programy oraz
kilka innych, ktÛre przetestowa³em
we wspÛ³pracy z†modu³em, zamieúciliúmy na CD-EP12/2003B.
Marcin Wi¹zania, EP
[email protected]
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie
pod adresem: pcb.ep.com.pl oraz na
p³ycie CD-EP12/2003B w katalogu PCB.
Elektronika Praktyczna 12/2003
Komputerowy termometr
P R
z interfejsem
O J E K RS232
T Y
Komputerowy termometr
z interfejsem RS232
AVT−558
SpÍdzaj¹c duøo czasu
przed komputerem, czÍsto
zapomina siÍ o†otaczaj¹cym
úwiecie. Przedstawiony
w†artykule termometr pozwala
na kontrolÍ jednego
z†najistotniejszych
parametrÛw†otoczenia:
temperatury. Moøna j¹ úledziÊ
jednoczeúnie w†dwÛch
miejscach, a†wynik pomiaru
jest przekazywany do
komputera poprzez port
szeregowy, co umoøliwia
wyúwietlenie go na ekranie
monitora.
Rekomendacje: prosta
przystawka do komputera PC
umoøliwiaj¹ca na przyk³ad
rejestrowanie temperatury
wewnÍtrznej i zewnÍtrznej
w d³uøszym okresie.
Po niewielkiej modyfikacji
moøe pe³niÊ takøe funkcjÍ
regulatora temperatury:
w³¹czyÊ grzejnik elektryczny
lub wentylator.
Elektronika Praktyczna 12/2003
Wszystkie dane wysy³ane przez
termometr s¹ w kodzie ASCII,
dlatego do wyúwietlenia temperatury moøna wykorzystaÊ dowolny
program terminalowy, na przyk³ad
HyperTerminal.
Termometr pobiera niewielki
pr¹d i†dlatego do jego zasilania
wykorzystano napiÍcie dostÍpne
na porcie szeregowym komputera.
Temperatura moøe byÊ mierzona
w†zakresie -25...125oC†z†rozdzielczoúci¹ 0,1oC. Czujniki temperatury mog¹ byÊ oddalone od p³ytki
uk³adu pomiarowego na odleg³oúÊ
do 30 metrÛw.
Opis uk³adu
Schemat elektryczny termometru przedstawiono na rys. 1.
Sk³ada siÍ on z†niewielkiej liczby
elementÛw dziÍki zastosowaniu
mikrokontrolera, ktÛry komunikuje siÍ z†czujnikami temperatury
i†komputerem. Zastosowany mikrokontroler PIC12F624 jest
umieszczony w†oúmionÛøkowej
obudowie. We wnÍtrzu uk³adu
znajduje siÍ pamiÍÊ programu
(Flash) o†pojemnoúci 1k x†14
s³Ûw, a†takøe 64 bajty pamiÍci
RAM i†128 bajtÛw pamiÍci EEPROM oraz dwa liczniki.
Pomiar temperatury jest wykonywany za pomoc¹ specjalizowanych uk³adÛw typu DS1820.
Uk³ad DS1820 zawiera w†swojej
strukturze kompletny blok pomiaru temperatury i†przetwarzania
wyniku na postaÊ cyfrow¹. Komunikacja uk³adu DS1820 z†mikrokontrolerem odbywa siÍ za pomoc¹ jednoprzewodowej magistrali,
co jest bardzo korzystne, gdyø
procesor ma niewielk¹ liczbÍ linii
I/O, a†czujnik wykorzystuje tylko
jedno wyprowadzenie.
Uk³ady DS1820 umoøliwiaj¹
bezpoúredni odczyt temperatury
z†rozdzielczoúci¹ 0,5oC, ale udostÍpniaj¹ dodatkowe rejestry wykorzystywane podczas procedury
pomiaru temperatury i†na tej podstawie rozdzielczoúÊ pomiaru moøna zwiÍkszyÊ do 0,1oC. ZwiÍkszenie rozdzielczoúci pomiarÛw wykonuje siÍ przez odpowiednie
operacje matematyczne na rejestrach uk³adu DS1820 (operacje te
s¹ wykonywane przez procesor).
Pod³¹czenie czujnikÛw do dwÛch
wyprowadzeÒ procesora jest nietypowe, gdyø do jednej magistrali
moøna pod³¹czyÊ jednoczeúnie nawet kilkadziesi¹t uk³adÛw z†interfejsem 1-Wire. W†przedstawionym
termometrze kaødy uk³ad jest pod³¹czony do innego wyprowadzenia procesora, aby uproúciÊ procedurÍ uruchamiania termometru.
Pod³¹czenie kilku uk³adÛw
DS1820 do jednej magistrali wymaga odczytania wczeúniej numeru seryjnego kaødego z†nich. Jest
to identyfikator konkretnego uk³adu pod³¹czonego do magistrali, co
wi¹za³oby siÍ z†koniecznoúci¹ ich
rejestrowania. Jeúli po rejestracji
czujnik zosta³by wymieniony na
inny egzemplarz, to konieczna
by³aby jego rejestracja.
Komunikacja procesora z†uk³adem do³¹czonym do magistrali
polega na wys³aniu na magistralÍ
numeru seryjnego tego uk³adu
i†jeúli taki bÍdzie siÍ znajdowa³,
to zostanie przeprowadzona z†nim
wymiana danych. W†tym czasie
pozosta³e uk³ady s¹ nieaktywne.
Taki sposÛb†komunikacji jest sto-
45
Komputerowy termometr z interfejsem RS232
Rys. 1. Schemat elektryczny termometru
sowany w†przypadku, gdy do
magistrali jest do³¹czony wiÍcej
niø jeden uk³ad. W†przedstawionym termometrze rÛwnieø moøna
uøyÊ tej metody komunikacji,
jednak poniewaø wystÍpuj¹ tylko
dwa czujniki, zastosowane zosta³y dwie oddzielne magistrale.
DziÍki temu rozbudowuje siÍ procedura komunikacji jednoprzewodowej, ale nie ma koniecznoúci
rejestrowania do³¹czonych uk³adÛw DS1820, gdyø przy do³¹czonym do magistrali tylko jednym uk³adzie jego numer seryjny
moøe byÊ pomijany.
Poniewaø komunikacja z†komputerem odbywa siÍ za pomoc¹
interfejsu RS232, dlatego naleøy
przetworzyÊ poziomy napiÍÊ odpowiadaj¹ce standardowi TTL
(stan 0: 0...0,8 V, stan 1†(2,4...5
V)) na poziomy RS232 (stan 1:
-15...-3 V, stan 0: 3...15 V). Do
takiej konwersji moøna zastosowaÊ specjalizowany uk³ad, na
przyk³ad MAX232, jednak z†uwagi na komunikacjÍ jednostronn¹
zastosowano prostsze rozwi¹zanie. Elementem prze³¹czaj¹cym
napiÍcie na wejúciu RXD (styk
2) jest tranzystor T1. Poziom
niski jest wymuszany przez rezystor R1 do³¹czony do wyprowadzenia TXD (styk 3). Wyprowadzenie to jest wyjúciem sygna³u z†komputera, poniewaø komunikacja odbywa siÍ tylko
w†stronÍ komputera, to na wyjúciu TXD (styk 3) przez ca³y
czas wystÍpuje niski poziom napiÍcia (oko³o -10 V). Zastosowany rezystor powoduje, øe na
wejúciu RXD(2) wystÍpuje napiÍcie o†wartoúci oko³o -5 V, co jest
wystarczaj¹ce do wymuszenia
poziomu niskiego. Jeúli ma zostaÊ podany poziom wysoki, to
procesor za³¹cza tranzystor, ktÛry podaje napiÍcie zasilania na
wejúcie RXD (styk 2) o†wartoúci
+5 V. W†ten sposÛb zosta³ wykonany prosty konwerter poziomÛw, bez rozbudowywania ca³ego uk³adu. Do zasilania termometru wykorzystano napiÍcie
wystÍpuj¹ce na wyjúciach RTS
i†DTR. Aby uk³ad mÛg³ pracowaÊ,
program odczytuj¹cy dane z†portu szeregowego musi ustawiÊ te
wyjúcia na poziomie wysokim (w
przypadku stosowania programu
HyperTerminal poziomy te s¹
ustawiane automatycznie po uruchomieniu programu).
NapiÍcie z†wyjúÊ RTS i†DTR s¹
poprzez diody D1 i†D2 kierowane
na wejúcie diody Zenera D3.
Diody te zabezpieczaj¹ uk³ad
przed napiÍciem ujemnym wystÍpuj¹cym, gdy na wyjúciach RTS
i†DTR wystÍpuj¹ poziomy niskie.
WydajnoúÊ pr¹dowa kaødego
z†wyjúÊ wynosi oko³o 10 mA,
dlatego nie ma potrzeby stosowania dodatkowego rezystora ograniczaj¹cego pr¹d p³yn¹cy przez diodÍ D3. Dioda Zenera ogranicza
napiÍcie zasilaj¹ce do wartoúci
oko³o 5†V.
Montaø i†uruchomienie
Modelowy termometr zmontowano na p³ytce, ktÛrej schemat
montaøowy jest przedstawiony na
rys. 2. Po zmontowaniu ca³ego
uk³adu do z³¹cza CON2 i†CON3
naleøy pod³¹czyÊ czujniki temperatury. Czujniki s¹ zasilane z†linii
transmisyjnej, dlatego do pod³¹czenia ich z†p³ytk¹ wystarcz¹ kable dwuøy³owe.
SprzÍøenie termometru z†komputerem polega na pod³¹czeniu go
do wolnego z³¹cza portu szeregowego i†uruchomieniu aplikacji HyperTerminal. Program naleøy skonfigurowaÊ do pracy z†prÍdkoúci¹
9600 bd. W†tym celu naleøy†w†menu Plik->W³aúciwoúci wybraÊ odpowiedni port, a†nastÍpnie w†Konfiguruj ustaliÊ prÍdkoúÊ transmisji
na 9600 bd. Po skonfigurowaniu
prÍdkoúci po³¹czenia naleøy ustawiÊ czcionkÍ w†menu Widok. Wybrana czcionka powinna byÊ typu
Courier New. Ta czcionka jest
zalecana, gdyø nie dla wszystkich
dostÍpnych rodzajÛw czcionek bÍdzie prawid³owo wyúwietlany
znak stopni. Po skonfigurowaniu
programu i†nawi¹zaniu po³¹czenia
w†oknie dialogowym bÍdzie wyúwietlana zmierzona temperatura.
Pomiar jest aktualizowany co trzy
sekundy. Przyk³adowy widok
wskazywanej temperatury jest
przedstawiony na rys. 3.
Osoby chc¹ce stworzyÊ w³asne
oprogramowanie dla termometru
z†pewnoúci¹ zainteresuje format
Tab. 1. Przykład wysyłanych danych w przypadku największej i najmniejszej liczby wysłanych danych
1
2
3
0x0C
0x0C
I
I
N
N
46
4
5
6
7
8
9
10
11
1
4
0
.
3
7
.
°
4
C
°
C
12
O
13
14
15
16
U
U
O
T
T
5
17
18
19
20
21
22
23
24
1
°
2
C
.
4
°
C
.
2
Elektronika Praktyczna 12/2003
Komputerowy termometr z interfejsem RS232
WYKAZ ELEMENTÓW
Rezystory
R1: 4,7kΩ
R2, R3: 2,2kΩ
Rys. 3. Widok okna programu
HyperTerminal
Rys. 2. Rozmieszczenie elementów
na płytce termometru
ramki wysy³anych danych. Liczba
wys³anych danych moøe byÊ rÛøna i†zaleøy od wartoúci zmierzonej temperatury. Najmniejsza liczba danych wystÍpuje dla temperatur mieszcz¹cych siÍ w†zakresie
0...9,9oC, a†najwiÍksza dla temperatur wiÍkszych od 99,9oC oraz
mniejszych od -9,9oC.
Transmisja rozpoczyna siÍ znakiem kasowania linii (0x0C), na-
Elektronika Praktyczna 12/2003
stÍpnie wysy³ana jest wartoúÊ temperatury zmierzonej przez czujnik
pierwszy, dalej wartoúÊ temperatury zmierzonej przez czujnik drugi. W†tab. 1 przedstawiono przyk³ady wysy³anych znakÛw przez
termometr dla najwiÍkszej i†najmniejszej liczby danych.
Krzysztof P³awsiuk, AVT
[email protected]
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie
pod adresem: pcb.ep.com.pl oraz na
p³ycie CD-EP12/2003B w katalogu PCB.
Kondensatory
C1: 100nF
C2: 100µF/16V
C3, C4: 30pF
Półprzewodniki
D1, D2: 1N4148
D3: dioda Zenera 5,1V
T1: BS250
US1: PIC12F629 zaprogramowany
US2, US3: DS1820
Różne
CON1: DB9 do druku kątowe
żeńskie
CON2, CON3: ARK2 (3,5mm)
X: rezonator kwarcowy 4MHz
47
Konwerter
P R O JUSB<−>RS232
E K T Y
Konwerter USB<−>RS232
AVT−556
Coraz czÍúciej mamy do
czynienia z†komputerami
pozbawionymi interfejsÛw
RS232. Co zrobiÊ w†takiej
sytuacji? Najproúciej jest
kupiÊ przejúciÛwkÍ
USB<->RS232, lecz ambitniej
samodzielnie wykonaÊ opisan¹
w†artykule.
Rekomendacje: konwerter
bardzo przydatny, a†wkrÛtce
wrÍcz niezbÍdny
uøytkownikom nowoczesnych
komputerÛw, ktÛrzy bÍd¹
chcieli lub musieli korzystaÊ
z†ìleciwego" interfejsu RS232.
Interfejs zbudowano w oparciu
o wyspecjalizowany uk³ad scalony
TUSB3410. Do najwaøniejszych
cech tego uk³adu naleø¹ miÍdzy
innymi:
- pe³na zgodnoúÊ z†interfejsem
USB 2.0 (i wczeúniejszymi wersjami);
- praca z†prÍdkoúci¹ 12 Mbd (tryb
full speed);
- jednostka centralna uk³adu zaprojektowana na popularnym
rdzeniu 8052.
Za pomoc¹ uk³adu TUSB3410
moøna przesy³aÊ dane z†prÍdkoúci¹ 110...921,6 kbd (w trybie IrDA
do 115,2 kbd). Ramka danych
moøe mieÊ od 4†do 8†bitÛw, bitÛw
stopu moøe byÊ: 1, 1,5 lub 2,
transmisja moøe odbywaÊ siÍ
z†kontrol¹ parzystoúci lub bez.
Opis dzia³ania
Schemat elektryczny konwertera pokazano na rys. 1. Jest to
schemat typowej aplikacji uk³adu
TUSB3410 (jego schemat blokowy
pokazano na rys. 2). Sygna³y D+
oraz D- (USB) doprowadzane s¹
poprzez rezystory R1 i†R2 do
uk³adu TUSB3410. Dzielnik napiÍcia z³oøony z†rezystorÛw R4
i†R8 dostarcza napiÍcia o†wartoúci
1,8 V†dla uk³adu US4. Do linii
SDA†oraz SCL (za pomoc¹ zworki
JP1) do³¹czona jest opcjonalna
pamiÍÊ EEPROM (w naszym przypadku jest to 24LC64). Moøemy
w niej przechowywaÊ w³asne wartoúci VID/PID/DID. Przycisk SW1
jest w†zasadzie nadmiarowy (ale
jak siÍ okazuje, czasami jest bardzo przydatny) i†s³uøy do zerowania uk³adu. Elementy R7 i†C21
tworz¹ obwÛd zerowania uk³adu
Elektronika Praktyczna 12/2003
po w³¹czeniu zasilania. Kondensatory filtruj¹ce C18...C20, C10
oraz C7 umieszczono blisko uk³adu TUSB3410, przy linii zasilaj¹cej 3,3 V, natomiast C8, C11
i†C15 przy linii zasilania 1,8 V.
Uk³ad US3 (SN75LV4737) akceptuje poziomy napiÍÊ wejúciowych
0V i 5V, przy napiÍciu zasilania
3,3V. Uk³ad US2 (MAX604) jest
stabilizatorem o†napiÍciu wyjúciowym 3,3 V, pracuj¹cym przy
niewielkiej rÛønicy napiÍÊ miÍdzy
wejúciem a†wyjúciem (tzw. LDO Low Drop Out). Na p³ytce
drukowanej, wokÛ³ tego uk³adu
znajduj¹ siÍ dwa (po jednym z
kaødej strony) wiÍksze pola
miedzi, maj¹ce u³atwiÊ odprowadzenie ciep³a ze stabilizatora.
Montaø i†uruchomienie
Uk³ad zmontowano na stosunkowo ma³ej, dwustronnej p³ytce
drukowanej, ktÛrej schemat montaøowy pokazano na rys. 3. Montaø najlepiej zacz¹Ê od uk³adÛw
US4 (TUSB3410) oraz uk³adu US3
(SN75LV4737A). Po prawid³owym
umieszczeniu elementu na jego
polach lutowniczych, przylutowujemy skrajne wyprowadzenia
i†jeszcze raz sprawdzamy prawid³owoúÊ u³oøenia uk³adu na polach
lutowniczych. Po tym zabiegu
lutujemy pozosta³e wyprowadzenia. NastÍpnie moøemy zamontowaÊ uk³ad MAX604 (US2). W†dalszej kolejnoúci montujemy rezystory, kondensatory, a†na samym
koÒcu podstawkÍ pod pamiÍÊ
EEPROM, rezonator kwarcowy
oraz z³¹cza USB i†DB9. Po zakoÒczeniu montaøu, warto jeszcze raz
sprawdziÊ jego poprawnoúÊ, po
41
Konwerter USB<−>RS232
Rys. 1. Schemat elektryczny konwertera
42
Elektronika Praktyczna 12/2003
Konwerter USB<−>RS232
WYKAZ ELEMENTÓW
Rys. 2. Budowa wewnętrzna układu TUSB3410
czym moøemy rozpocz¹Ê uruchamianie uk³adu.
Do tego celu bÍdziemy potrzebowaÊ, oczywiúcie oprÛcz komputera wyposaøonego w†port USB,
dowolnego urz¹dzenia ze z³¹czem
RS232, kabel USB A-B (najlepiej
ekranowany) oraz sterownikÛw,
ktÛre s¹ dostÍpne na p³ycie CDEP12/2003B oraz pod adresem
http://www-a.ti.com/apps/analog_apps/tusb3410_uart_register.asp. W†przypadku, gdy juø korzystaliúmy z†us³ug TI, wystarczy
siÍ tylko za³ogowaÊ, zaakceptowaÊ
warunki i†zacz¹Ê úci¹ganie sterownikÛw (objÍtoúÊ pliku 2,04
MB). Jeúli jeszcze nie mieliúmy do czynienia z†Texas Instruments, naleøy siÍ zarejestrowaÊ, co nie powinno nam
przysporzyÊ wiÍkszych problemÛw. Po tej czynnoúci moøemy przyst¹piÊ do úci¹gniÍcia
odpowiednich sterownikÛw.
Po ich rozpakowaniu i†zainstalowaniu odpowiedniej
wersji (dla Windows z†serii
9x lub 2K), moøemy pod³¹czyÊ konwerter do portu USB.
System powinien wykryÊ nasz konwerter jako UMP 3410
Unitary Driver (rys. 4). NastÍpnie w†oknie Kreatora dodawania nowego sprzÍtu zaznaczamy opcjÍ Podaj lokalizacjÍ sterownika (zaawansoRys. 3. Rozmieszczenie elementów na
wane), po czym - w†nastÍppłytce drukowanej
Elektronika Praktyczna 12/2003
Rezystory
R10: 1,5 kΩ 0805
R5, R6: 1 kΩ 0805
R9, R11: 10 kΩ 0805
R7: 15 kΩ 0805
R12: 32 kΩ 0805
R1, R2: 33Ω 0805
R8: 91 kΩ 0805
R4: 100 kΩ 0805
Kondensatory
C8, C10: 1nF 0805
C9, C12...C14, C16: 1µF 0805
C15, C19: 10 nF 0805
C1, C2: 10 µF/16V MELF1
C3, C4: 22 pF 0805
C5, C6: 33 pF 0805
C7, C11, C18, C20: 100 nF 0805
Półprzewodniki
US1: 24LC64 (opcja)
US2: MAX604CSA
US3: SN75LV4737A
US4: TUSB3410 (zaprogramowany)
D2: dowolna krzemowa (np.
LL4148) Minimelf
Różne
JP1: goldpin 2x1 (opcja)
X1: rezonator kwarcowy 12 MHz
ZL1: złącze USB−B do druku
ZL2: złącze DB9, męskie, kątowe,
do druku
SW1: switch (opcja)
Rys. 4. Okno z informacją o wykryciu
dołączenia konwertera do portu
USB
Rys. 5. Okno konfigurowania
konwertera wygląda tak samo jak
w przypadku standardowego portu
COM
43
Konwerter USB<−>RS232
nym oknie - klikamy kwadracik
Okreúlona lokalizacja i†podajemy
úcieøkÍ dostÍpu do sterownikÛw,
ktÛre wczeúniej zainstalowaliúmy.
Na zakoÒczenie powinno byÊ
wyúwietlone okienko z†informacj¹, iø System Windows zakoÒczy³
instalacjÍ nowego urz¹dzenia
sprzÍtowego. W†ten sposÛb system
operacyjny ìwidziî nowy port:
UMP3410 Serial Port (COMx),
44
przy czym x oznacza pierwszy
wolny numer portu w†chwili pod³¹czenia interfejsu do magistrali
USB. Jak widaÊ na rys. 5, moøliwe jest dowolne ustawienie parametrÛw portu, w†tym prÍdkoúci
aø do (teoretycznie, przy zastosowaniu szybszego uk³adu interfejsu
US3) 921600 b/s.
Piotr Klepacz, EP
[email protected]
Informacje o†standardzie USB
moøna znaleüÊ na stronie www.usb.org.
Opracowano na podstawie materia³Ûw
nastÍpuj¹cych firm: Texas Instruments
(www.ti.com), Maxim (www.maximic.com), Microchip (www.microchip.com).
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie
pod adresem: pcb.ep.com.pl oraz na
p³ycie CD-EP12/2003B w katalogu PCB.
Elektronika Praktyczna 12/2003
Zdalnie sterowany
P R (DTMF)
O J Etermostat
K T Y
Zdalnie sterowany (DTMF)
termostat, część 1
AVT−557
Opisy regulatorÛw
temperatury czÍsto pojawiaj¹
siÍ w†czasopismach
elektronicznych, takøe EP ma
swoim koncie kilka takich
urz¹dzeÒ. Mimo tego,
a†w³aúciwie dziÍki temu,
prezentujemy kolejne - jego
moøliwoúci funkcjonalne
niemaløe w†100%
odpowiadaj¹ wymaganiom
stawianym najczÍúciej
w†listach od CzytelnikÛw.
Rekomendacje: w†zimowe
dni zdalnie sterowany
termostat polecamy szczegÛlnie
tym Czytelnikom, ktÛrzy lubi¹
racjonalizowaÊ wydatki - jak
siÍ przekonaj¹, ogrzewanie
mieszkania lub domku nie
musi byÊ wcale tak
kosztowne jak dotychczas!
Elektronika Praktyczna 12/2003
Najprostszy termostat moøna
wykonaÊ wykorzystuj¹c rezystancyjny czujnik temperatury oraz
komparator analogowy. Obs³uga
takiego termostatu nie naleøy do
najwygodniejszych, bardzo trudne
jest takøe jego programowanie,
zw³aszcza zdalne. Termostaty wykonane na mikrokontrolerach s¹
wprawdzie nieco droøsze, ale oferuj¹ wiÍcej funkcji i†pozwalaj¹
zautomatyzowaÊ proces regulacji chociaøby poprzez ustawianie rÛønych temperatur dla rÛønych pÛr
doby, czy zmiana dok³adnoúci
nadzorowanej temperatury.
Urz¹dzenie przedstawione w†artykule wykonano na mikrokontrolerze, dziÍki czemu oferuje ono
duøe moøliwoúci modyfikowania
parametrÛw regulacji. Zakres monitorowanych temperatur wynosi
0...99oC, co wykracza poza wymagania stawiane typowym termostatom domowym, ale wykorzystano
moøliwoúci zastosowanego czujnika temperatury. WartoúÊ stabilizowanej temperatury moøe byÊ ustawiona z†rozdzielczoúci¹ 1oC, a†wartoúÊ zmierzonej temperatury jest
wyúwietlana z†rozdzielczoúci¹
0,1oC. Dodatkowo moøna ustaliÊ
dok³adnoúÊ nadzorowania zadanej
temperatury w†zakresie 0,1oC...2oC.
Ustalenie dok³adnoúci (histerezy)
temperatury ma na celu z†jednej
strony jak najdok³adniejsze jej ìpilnowanieî, a†z†drugiej zapobieganie
zbyt czÍstym prze³¹czaniem przekaünika wykonawczego. Jeøeli zostanie ustawiona najlepsza dok³adnoúÊ - na przyk³ad 0,1oC - to
temperatura bÍdzie najbardziej zbliøona do za³oøonej, ale przekaünik
bÍdzie prze³¹cza³ siÍ bardzo czÍsto, gdyø obniøenie temperatury
otoczenia o†0,1oC poniøej za³oøonej wartoúci spowoduje jego za³¹czenie, a†zwiÍkszenie o†0,1oC spowoduje jego wy³¹czenie. Jak widaÊ
zmiany temperatury tylko o†0,2oC
powoduj¹ zmianÍ stanu przekaünika. ZmianÍ wartoúci wszelkich
parametrÛw moøna przeprowadziÊ
za pomoc¹ telefonu z†dialerem
DTMF. Po odpowiednim skonfigu-
rowaniu termostat moøe samodzielnie odebraÊ po³¹czenie przychodz¹ce i†umoøliwiÊ zmianÍ jego
parametrÛw.
Podczas zdalnej konfiguracji
wszystkie dane na temat parametrÛw termostatu przekazywane s¹
uøytkownikowi w†postaci komunikatÛw g³osowych. DziÍki czemu
obs³uga nie sprawia trudnoúci, gdyø
o†wszystkich dostÍpnych funkcjach
jesteúmy informowani, rÛwnieø
zmiana parametru jest potwierdzana komunikatem g³osowym. Dodatkowo w†czasie trwania po³¹czenia
moøemy uzyskaÊ informacjÍ o†temperaturze panuj¹cej w†pomieszczeniu, w†ktÛrym znajduje siÍ czujnik.
DostÍp do zmiany parametrÛw termostatu zabezpieczony jest czterocyfrowym has³em, co uniemoøliwia
dostÍp osÛb niepowo³anych.
Termostat moøe pracowaÊ w†trybie automatycznym lub rÍcznym.
Tryb automatyczny umoøliwia nadzorowanie nastawionej temperatury
oraz odpowiednie sterowanie przekaünikiem wykonawczym w†zaleønoúci od wartoúci temperatury mierzonej i†zaprogramowanej. Natomiast tryb rÍczny wy³¹cza automatyczne nadzorowanie temperatury,
a†stan przekaünika moøe byÊ zmieniany za pomoc¹ klawiatury termostatu lub w†czasie obs³ugi zdalnej
z†klawiatury telefonu.
Prze³¹czenie termostatu w†tryb
pracy rÍcznej w†po³¹czeniu z†moøliwoúci¹ obs³ugi przez telefon
sprawia, øe termostat moøe staÊ
siÍ prze³¹cznikiem sterowanym telefonicznie, dziÍki ktÛremu moøna
w³¹czyÊ lub wy³¹czyÊ urz¹dzenie
pod³¹czone do przekaünika wykonawczego. OprÛcz sterowania termostatem z†klawiatury oraz ze
zdalnego telefonu w†trybie odbioru po³¹czenia przychodz¹cego
moøliwe jest sterowanie przy pomocy lokalnego aparatu telefonicznego pod³¹czonego do tej samej linii telefonicznej. Daje to
moøliwoúÊ sterowania termostatem na przyk³ad z†innego pomieszczenia lub telefonu bezprzewodowego bez koniecznoúci po-
35
Zdalnie sterowany (DTMF) termostat
noszenia kosztÛw zwi¹zanych nawi¹zaniem po³¹czenia telefonicznego.
W†czasie obs³ugi z†lokalnego telefonu procedura jest
taka sama jak w†przypadku
obs³ugi zdalnej. Tak samo
informacjÍ o†parametrach
przekazywane s¹ w†postaci
g³osowej, jedyn¹ rÛønic¹
jest to, øe†przy takim sterowanie nie jest wymagane
podanie has³a dostÍpu.
Opis uk³adu
Termostat telefoniczny
sk³ada siÍ z†p³ytki sterownika oraz p³ytki wyúwietlacza
wraz z†klawiatur¹. Na rys. 1
przedstawiono schemat elektryczny sterownika. ìSercemî uk³adu jest mikrokontroler PIC16F876. Wyposaøono go w†pamiÍÊ programu
o†pojemnoúci 8192 14-bitowych s³Ûw pamiÍci programu, 368 bajty pamiÍci RAM
oraz 256 bajtÛw nieulotnej
pamiÍci EEPROM. Do wytworzenia sygna³u zegarowego zastosowano zewnÍtrzny
rezonator kwarcowy o†czÍstotliwoúci 4†MHz.
Poniewaø komendy podczas obs³ugi z†lokalnego lub
zdalnego telefonu s¹ wydawane za pomoc¹ tonÛw
DTMF, w†urz¹dzeniu niezbÍdne jest zastosowanie
odbiornika DTMF. W†tej roli pracuje uk³ad US3. Pod³¹czony bezpoúrednio do
linii telefonicznej monitoruje wszystkie pojawiaj¹ce
sygna³y, bez wzglÍdu na to,
czy linia jest zajÍta przez
termostat, czy telefon lub
nie jest w†ogÛle zajÍta. Elementy C9, C10, R3...R7 dopasowuj¹ poziom sygna³Ûw†pochodz¹cych z†linii
telefonicznej do wartoúci
potrzebnej do prawid³owej
pracy wzmacniacza wejúciowego uk³adu US3. Jako
uk³ad odbiornika DTMF zastosowano popularny uk³ad
MT8870 pracuj¹cy z†zewnÍtrznym rezonatorem
kwarcowym o†czÍstotliwoúci 3,579 MHz.
Prawid³owo odebrane
tony DTMF s¹ przekazywane na wyjúcie danych Rys. 1. Schemat elektryczny termostatu sterowanego telefonicznie
36
Elektronika Praktyczna 12/2003
Zdalnie sterowany (DTMF) termostat
Podstawowe funkcje i mo¿liwoœci
termostatu:
- pomiar temperatury w zakresie
0oC...99oC z rozdzielczoœci¹ 0,1oC,
- nadzorowana temperatura mo¿e byæ
ustawiona w zakresie 0oC...99oC z rozdzielczoœci¹ 1oC,
- ustawiona temperatura mo¿e byæ
nadzorowana z programowan¹ dok³adnoœci¹
(histerez¹) w zakresie 0,1oC...2oC,
- wynik pomiaru temperatury oraz wartoϾ
nadzorowanej temperatury wyœwietlany
jednoczeœnie na wyœwietlaczu
alfanumerycznym,
- mo¿liwe dwa tryby pracy: automatyczny oraz
rêczny,
- mo¿e wspó³pracowaæ z lini¹ telefoniczn¹
(medium zdalnego sterowania),
- podczas zdalnej obs³ugi (za pomoc¹ telefonu
z DTMF) wszelkie informacje na temat stanu
termostatu oraz dostêpnych funkcji s¹
przekazywane w postaci komunikatów
g³osowych,
- podczas obs³ugi zdalnej mo¿na uzyskaæ
informacje o temperaturze panuj¹cej
w pomieszczeniu, w którym jest umieszczony
czujnik temperatury oraz o stanie przekaŸnika
wykonawczego,
- prze³¹czenie termostatu w tryb pracy rêcznej
umo¿liwia dowolne w³¹czanie i wy³¹czanie
przekaŸnika wykonawczego, dziêki czemu
termostat mo¿e pe³niæ rolê prze³¹cznika
sterowanego telefonicznie,
- mo¿liwoœæ zmiany liczby dzwonków, po
których po³¹czenie przychodz¹ce zostanie
odebrane przez termostat,
- mo¿liwoœæ wy³¹czenia obs³ugi zdalnej,
- dostêp do zdalnego programowania
termostatu zabezpieczony czterocyfrowym
has³em,
- mo¿liwoœæ sterowania przy pomocy lokalnego
aparatu telefonicznego w³¹czonego
równolegle z termostatem bez dodatkowych
kosztów za rozmowy telefoniczne,
- czujnik temperatury mo¿e byæ oddalony nawet
o kilkadziesi¹t metrów od p³ytki sterownika,
- mo¿liwoœæ za³¹czania odbiorników
o maksymalnej mocy 3,5 kW.
Q1...Q4. Po ìwystawieniuî na
wyjúcie binarnej wartoúci odebranego tonu na wyjúciu STD uk³adu
US3 pojawia siÍ stan wysoki
informuj¹cy procesor, øe zosta³
odebrany nowy kod DTMF.
Prze³¹cznik odbiera po³¹czenia
przychodz¹ce, musi wiÍc byÊ rÛwnieø wyposaøony w†detektor dzwonienia. Do wykrycia pr¹du dzwonienia zastosowano transoptor TS1,
ktÛry wraz z†elementami R18, R19,
C6, C7, D2 i†D3 spe³nia rolÍ ìwykrywaczaî napiÍcia przemiennego
pojawiaj¹cego siÍ na linii telefonicznej w†czasie dzwonienia. Diody D2
i†D3 ograniczaj¹ t³umienie sygna³Ûw
rozmÛwnych w†czasie rozmowy.
W†przypadku braku diod Zenera
w†czasie normalnej rozmowy uøyteczny sygna³ by³by t³umiony przez
Elektronika Praktyczna 12/2003
Rys. 2. Schemat elektryczny płytki wyświetlacza
kondensator C6, gdyø linia telefoniczna by³aby zwierana przez jego
pojemnoúÊ i†mog³aby ograniczaÊ pasmo rozmÛwne. O†ile w†czasie rozmowy nie jest to zbytnio k³opotliwe, o†tyle praca na przyk³ad modemu zosta³aby zak³Ûcona.
W†czasie rozmowy na linii telefonicznej panuje napiÍcie oko³o
10 V, wiÍc zastosowane diody
Zenera powoduj¹ blokowanie sygna³Ûw o†amplitudzie mniejszej niø
15 V, dlatego w†czasie rozmowy
od³¹czaj¹ one kondensator C6.
Pr¹d dzwonienia o†znacznie wyøszej amplitudzie napiÍcia jest
ìprzepuszczanyî. Zastosowany
transoptor po stronie wejúciowej
sk³ada siÍ z†dwÛch diod úwiec¹cych po³¹czonych przeciwsobnie,
co powoduje, øe oúwietlanie fototranzystora przez diody nastÍpuje w†przypadku pojawienia siÍ
pr¹du o†dowolnej polaryzacji.
W†zaleønoúci od polaryzacji úwieci jedna z†dwÛch diod.
Zastosowanie transoptora dodatkowo oddziela galwanicznie
mikrokontroler od linii telefonicznej. Uk³ad ca³kuj¹cy zbudowany
z†rezystora R18 i†kondensatora C7
powoduje, øe detektor dzwonienia
jest nieczu³y†na chwilowe impulsy powstaj¹ce przy podnoszeniu
i†odk³adaniu s³uchawki telefonu.
Kolejnym, istotnym fragmentem
urz¹dzenia jest modu³ komutacji
termostatu z†lini¹ telefoniczn¹.
W†torze przesy³ania düwiÍkÛw pracuje przekaünik PK1, s³uø¹cy do
obci¹øania linii telefonicznej
sztucznym obci¹øeniem symuluj¹cym aparat telefoniczny. Przekaünik jest w³¹czany przy pomocy
tranzystora T1, dioda úwiec¹ca D5
(na p³ytce wyúwietlacza) sygnalizuje, czy przekaünik jest za³¹czony
czy teø roz³¹czony. Mostek prostowniczy wraz z†tranzystorem T2,
rezystorami R11, R12, R13 i†kondensatorem C12 po do³¹czeniu do
linii telefonicznej stanowi obci¹øenie dla sk³adowej sta³ej sygna³u
i†powoduj¹c obniøenie napiÍcia do
oko³o 10 V†ìzajmujeî liniÍ telefoniczn¹. Jednoczeúnie dla sygna³Ûw
rozmÛwnych nie wprowadzaj¹ t³umienia. Dioda Zenera D5 zabezpiecza tranzystor T2 przed zbyt wysokim napiÍciem pojawiaj¹cym siÍ
pomiÍdzy emiterem i†kolektorem
do wartoúci rÛwnej 15 V.
Linia telefoniczna jest naraøona
na indukowanie siÍ wysokich napiÍÊ, dlatego zosta³ na³oøony szczegÛlny nacisk na ochronÍ wszystkich podzespo³Ûw prze³¹cznika.
Warystor V1 wraz z†rezystorami R1
i†R2 pracuj¹ jako zabezpieczenie
przed wysokimi napiÍciami, powo-
37
Zdalnie sterowany (DTMF) termostat
Rys. 3. Schemat montażowy płytki sterownika
duj¹c zwieranie linii w†przypadku
pojawienia siÍ na niej napiÍcia
przekraczaj¹cego 140 V. W†tym
czasie ca³y pr¹d p³ynie rÛwnieø
przez rezystory R1 i†R2, jeúli taki
stan bÍdzie trwa³ zbyt d³ugo, to
rezystory te ulegn¹ uszkodzeniu,
stanowi¹ wiÍc one pewnego rodzaju zabezpieczenie pr¹dowe.
Aby zabezpieczyÊ wzmacniacz
wyjúciowy uk³adu US2 do³¹czanego do linii telefonicznej, zastosowano separacjÍ galwaniczn¹ w†postaci transformatora TR1, kondensator C13 eliminuje sk³adow¹ sta³¹ sygna³u†od uzwojenia pierwotnego transformatora. Mostek prostowniczy MG2 zabezpiecza przed
indukowaniem siÍ wysokich napiÍÊ w†uzwojeniu wtÛrnym transformatora, kondensatory C14 i†C15
oddzielaj¹ sk³adow¹ sta³¹ sygna³u
z†wyjúcia wzmacniacza uk³adu
US2. Takie úrodki ostroønoúci s¹
konieczne, aby nie zosta³ uszkodzony uk³ad US2 w†wyniku przepiÍÊ czÍsto wystÍpuj¹cych szczegÛlnie w†d³ugich liniach kablowych lub napowietrznych.
Uk³adem najwaøniejszym z†punktu widzenia uøytkownika jest
US2. Znacznie u³atwia on obs³ugÍ
prze³¹cznika podczas zdalnej zmiany parametrÛw, bowiem dziÍki
informacjom g³osowym uøytkownik dok³adnie wie, na jakim etapie
obs³ugi siÍ znajduje. Uk³ad ten
umoøliwia zapis informacji s³ownych o†³¹cznym 75 sekund. Komunikaty zostaj¹ zapisane w†wewnÍtrznej nieulotnej pamiÍci tego uk³adu, nastÍpnie mog¹ byÊ w†dowolny sposÛb odtworzone. Uk³ad
ISD2575 zawiera wzmacniacz mikrofonowy, do ktÛrego zosta³ do³¹czony poprzez kondensatory C20
i†C21 mikrofon pojemnoúciowy
MK1. Rezystory R14...R16 i†kondensator C18 zasilaj¹ mikrofon.
Wbudowany w†uk³ad wzmacniacz
sygna³u wyjúciowego umoøliwia
bezpoúrednie wysterowania g³oúnika, wiÍc moøliwe jest rÛwnieø
bezpoúrednie pod³¹czenie tego wyjúcia do transformatora separuj¹cego TR1, bez stosowania dodatkowego wzmacniacza.
Do pomiaru temperatury zastosowano specjalizowany uk³ad typu
DS1820. DziÍki cyfrowemu interfejsowi ca³a analogowa czÍúÊ pomiaru jest wykonywana przez ten
uk³ad, a†procesor otrzymuje wartoúÊ zmierzonej temperatury w†po-
Rys. 4. Schemat montażowy płytki wyświetlacza
38
staci cyfrowej. Komunikacja pomiÍdzy uk³adem DS1820, a†mikrokontrolerem odbywa siÍ za pomoc¹ szeregowej jednoprzewodowej
magistrali 1-Wire. Wynik pomiaru
podawany jest z†rozdzielczoúci¹
0,5oC, lecz dziÍki odczytowi rejestrÛw temperatury i†wartoúci licznikÛw oraz wykonaniu kilku operacji matematycznych, moøna j¹
zwiÍkszyÊ do 0,1oC. przy podanych wartoúciach elementÛw uk³ad
modelowy pracowa³ bez problemÛw na skrÍtce telefonicznej o†d³ugoúci 60 metrÛw.
Jako uk³ad wykonawczy za³¹czaj¹cy urz¹dzenie grzewcze zastosowano przekaünik PK2. Przekaünik ten umoøliwia przewodzenie pr¹du o†maksymalnej wartoúci
16†A, co w†konsekwencji daje moc
za³¹czan¹ w†granicach 3,5†kW.
Do zasilania termostatu zastosowano stabilizator napiÍcia 5V
typu LM7805. Kondensatory
C1...C4 wyg³adzaj¹ napiÍcie zasilaj¹ce, a†dioda D1 zabezpiecza
przed odwrotn¹ polaryzacj¹ napiÍcia zasilaj¹cego.
Na rys. 2 przedstawiono schemat elektryczny modu³u wyúwietlacza i†klawiatury. Wyúwietlacz
alfanumeryczny wyúwietla komunikaty tekstowe niezbÍdne podczas programowania i†obs³ugi termostatu. Dioda D5 sygnalizuje
stan linii telefonicznej, a†dioda
D6 stan przekaünika wyjúciowego.
Aby ograniczyÊ liczbÍ po³¹czeÒ
pomiÍdzy p³ytk¹ sterownika i†wyúwietlacza do szyny danych wyúwietlacza zosta³a†do³¹czona klawiatura, co pozwoli³o na zmniejszenie o†trzy liczbÍ potrzebnych
po³¹czeÒ z†p³ytka sterownika. Rezystory R3...R6 s¹ rezystorami
podci¹gaj¹cymi i†wymuszaj¹ stan
wysoki na szynie danych w†czasie
odczytu stanu klawiatury. W†celu
odczytania stanu klawiatury procesor prze³¹cza wyprowadzenia
steruj¹ce pod³¹czone do wyprowadzeÒ D4...D7 w†tryb wejúcia. Gdy
øaden klawisz nie zosta³ naciúniÍty, to procesor odczytuje same
jedynki wymuszone rezystorami
podci¹gaj¹cymi. Naciúniecie klawisza powoduje wymuszenie zera
na odpowiednim wejúciu procesora. W³¹czone w†szereg z†przyciskami diody umoøliwiaj¹ podawanie przez przycisk tylko masy,
plus zostanie zablokowany przez
te diody. DziÍki temu klawisze s¹
Elektronika Praktyczna 12/2003
Zdalnie sterowany (DTMF) termostat
WYKAZ ELEMENTÓW
Płytka główna
Rezystory
R1, R2: 10Ω
R3: 100kΩ
R4: 47kΩ
R5, R6: 100kΩ
R7: 100kΩ
R8: 300kΩ
R9: 1kΩ
R10: 4,7kΩ
R11: 39kΩ
R12: 22kΩ
R13: 10Ω
R14...R16: 1,5kΩ
R17: 470kΩ
R18: 100kΩ
R19: 10kΩ
R20: 1kΩ
R21: 4,7kΩ
R22: 1kΩ
PR1: potencjometr 10kΩ
montażowy
Kondensatory
C1: 1000µF/16V
C2, C3: 100nF
C4: 100µF/16V
C5: 100nF
C6: 220nF/250V
C7: 4,7µF/16V
C8: 100nF
C9, C10: 10nF
C11: 100nF
C12: 10µF/16V
C13...C15: 1µF polipropylenowy
C16, C17: 100nF
C18: 100µF/16V
C19: 1µF polipropylenowy
C20, C21: 100nF
C22: 4,7µF/16V
C23, C24: 30pF
Półprzewodniki
D1: 1N4007
aktywne tylko wtedy, gdy na
wyprowadzeniu portu RC1 pojawi
siÍ stan zero.
Jeúli na tym wyjúciu jest jedynka, to diody D1...D4 nie pozwalaj¹
na przedostanie siÍ sygna³u do
linii danych wyúwietlacza, co zabezpiecza przed zak³Ûceniami spowodowanymi przez naciskanie
przyciskÛw, gdy mikrokontroler
ìrozmawiaî z†wyúwietlaczem.
Montaø i†uruchomienie
Montaø rozpoczynamy od p³ytki sterownika (schemat montaøowy na rys. 3). Ze wzglÍdu na
duøe upakowanie elementÛw na-
Elektronika Praktyczna 12/2003
D2, D3: Dioda Zenera 15V
D4: LED 3mm czerwona
D5: Dioda Zenera 15V
D6: 1N4007
MG1, MG2: mostek prostowniczy
1A/400V
T1, T3: BC547
T2: BC517
TS1: SFH620A−3
US1: PIC16F876 (zaprogramowany)
US2: ISD2575
US3: MT8870
US4: DS1813
US5: LM7805
US6: DS1820
Różne
CON1, CON3: ARK2 (5mm)
CON2, CON5: ARK3 (5mm)
CON4: goldpin 7x2 męski
PK1: przekaźnik OMRON 5V Typ
G6H
PK2: przekaźnik RM 94P−12−S
V1: warystor SIOV−S10K140
X1: rezonator kwarcowy 4MHz
X2: rezonator kwarcowy 3,579MHz
MK1: mikrofon pojemnościowy
TR1: transformator 600/600 TR136−2
Złącze FC−14P 2 szt.
Przewód taśmowy 14 żył − 15 cm.
Płytka wyświetlacza
Rezystory
R1, R2: 330Ω
R3...R6: 10kΩ
Półprzewodniki
D1...D4: BAT43
D5: dioda LED 5mm zielona
D6: dioda LED 5mm czerwona
Różne
SW1...SW4: mikroswitch h=10mm
CON1: goldpin 7x2 męski
Wyświetlacz alfanumeryczny 16*1a
leøy zwrÛciÊ szczegÛln¹ uwagÍ na
poprawnoúÊ montaøu. Elementy
montujemy poczynaj¹c od rezystorÛw, nastÍpnie diody oraz podstawki pod uk³ady scalone. Gdy
wlutujemy juø elementy najniøsze
montujemy kondensatory oraz z³¹cza, na koÒcu montujemy przekaüniki i†transformator TR1.
Jeúli p³ytka sterownika zosta³a
poprawnie zmontowana, przechodzimy do montaøu p³ytki wyúwietlacza (schemat montaøowy na rys.
4). W†pierwszej kolejnoúci montujemy rezystory R3...R6 i†diody
D1...D4, nastÍpnie z³¹cze CON1.
Diody úwiec¹ce D5 i†D6, wyúwiet-
lacz oraz przyciski SW1...SW4
montujemy od strony lutowania.
Po zmontowaniu obydwu p³ytek naleøy jeszcze wykonaÊ kabel
³¹cz¹cy p³ytkÍ sterownika z†p³ytka
wyúwietlacza. Kabel ten wykonujemy przy pomocy odcinka przewodu taúmowego, 14-øy³owego
o†d³ugoúci oko³o 15 cm. Z†obydwu koÒcÛw przewÛd naleøy zakoÒczyÊ z³¹czami typu FC-14,
w†taki sposÛb, aby numery stykÛw z³¹cza CON4 na p³ytce sterownika by³y po³¹czone z†odpowiadaj¹cymi stykami z³¹cza CON1
na p³ytce wyúwietlacza.
Po wlutowaniu wszystkich elementÛw przystÍpujemy do uruchomienia termostatu, w†tym celu
do z³¹cza CON3 do³¹czamy napiÍcie zasilania o†wartoúci oko³o 12V
(uk³ady scalone wyci¹gniÍte
z†podstawek) i†sprawdzamy miernikiem czy napiÍcia na wyjúciu
stabilizatora i†na odpowiednich
wyprowadzeniach podstawek uk³adÛw scalonych (wed³ug schematu)
wynosz¹ 5†V. Jeúli napiÍcia odpowiadaj¹ za³oøonym wy³¹czamy zasilanie i†montujemy uk³ady scalone, ³¹czymy wykonanym wczeúniej przewodem obie p³ytki, do
z³¹cza CON2 pod³¹czamy czujnik
temperatury US6, nastÍpnie ponownie w³¹czamy zasilanie.
Czujnik temperatury moøe byÊ
oddalony od p³ytki sterownika
nawet o†nawet kilkadziesi¹t metrÛw, do po³¹czenia go z†p³ytk¹
sterownika moøna wykorzystaÊ kabel telefoniczny (2x2).
Jeúli p³ytki prze³¹cznika zosta³y zmontowane poprawnie, to po
w³¹czeniu zasilania, naleøy potencjometrem PR1 ustawiÊ odpowiedni kontrast wyúwietlacza i†na wyúwietlaczu pojawi siÍ napis (prawdopodobnie z†inn¹ wartoúci¹ temperatury):
Jeøeli tak nie jest, naleøy ponownie sprawdziÊ poprawnoúÊ
montaøu. Jeúli termostat zosta³
uruchomiony poprawnie, to przechodzimy do procedury programowania.
Krzysztof P³awsiuk, EP
[email protected]
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie
pod adresem: pcb.ep.com.pl oraz na
p³ycie CD-EP12/2003B w katalogu PCB.
39
Spawarka impulsowa do P
spawania
R O J metodą
E K TTIG
Y
Spawarka impulsowa
do spawania metodą TIG
Budow¹ urz¹dzeÒ
podobnych do opisanego
w†artykule zajmuje siÍ
stosunkowo niewielu
elektronikÛw. Informacje
praktyczne, niezbÍdne do
ìpanowania" nad duøymi
pr¹dami, s¹ trudno dostÍpne
w†krajowej literaturze. Jest
wiÍc niebywa³a okazja do
poznania tajnikÛw budowy
i†dzia³ania nowoczesnego
urz¹dzenia spawalniczego.
Rekomendacje: projekt
z†pogranicza elektryki
i elektroniki, ktÛry szczegÛlnie
polecamy Czytelnikom
podejmuj¹cym prÛby
samodzielnej budowy
sterownikÛw do spawarek
i†innych urz¹dzeÒ
wysokopr¹dowych.
Elektronika Praktyczna 12/2003
Spawarka do spawania metod¹
TIG (w os³onie gazu obojÍtnego)
jest przeznaczona do ³¹czenia metali szlachetnych, miedzi i†stopÛw
miedzi, stali nierdzewnych i†wÍglowych. Nadaje siÍ rÛwnieø do
lutowania twardego (temperatura
topnienia spoiwa wynosi powyøej
500oC), gdy lutowie jest stopem,
ktÛrego g³Ûwnym sk³adnikiem jest
srebro. Urz¹dzeniem tym nie moøna spawaÊ aluminium, gdyø w†takim przypadku na wyjúciu spawarki jest wymagany pr¹d przemienny.
Do ochrony elektrody i†obszaru
nadtopionego metalu powszechnie
stosowany jest argon (Ar). Natomiast elektroda wykonana jest
z†wolframu z†niewielkim dodatkiem takich pierwiastkÛw†jak thor
(Th), itr (Y) i†innych. Elektroda
wolframowa stosowana w†metodzie
spawania TIG jest czÍsto opisywana w†literaturze fachowej
jako
ìnietopliwaî, co jest tylko czÍúciowo (teoretycznie) prawdziwe,
bowiem ulega zuøyciu wskutek
duøej gÍstoúci pr¹du wyjúciowego,
tzn. zbyt duøego pr¹du roboczego
w†stosunku do úrednicy elektrody
(po prostu stapia siÍ), b¹dü ulega
zuøyciu wskutek zanieczyszczeÒ
zawartych w argonie. £uk elektryczny, stanowi¹cy ürÛd³o ciep³a,
jarzy siÍ pomiÍdzy elektrod¹ wolframow¹ a†materia³em spawanym,
powoduj¹c jego nadtopienie
w†miejscu ³¹czenia. Spawanie odbywa siÍ poprzez nadtopienie krawÍdzi ³¹czonych detali bez uøycia
materia³Ûw dodatkowych albo z†ich
uøyciem. Sk³ad metalurgiczny materia³u dodatkowego jest zbliøony
lub taki sam, jak materia³u spawanego.
PostÍp w†technologii wytwarzania elementÛw energoelektronicznych (tyrystory, tranzystory
Dane techniczne
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
✓
zasilanie: 220V/50 Hz,
napiêcie biegu ja³owego: 68 V,
maks. pr¹d spawania: 140 A,
min. pr¹d spawania: 20 A,
zakres regulacji pr¹du bazowego (Ib): 20 do 140 A,
zakres regulacji pr¹du impulsu (Ii): 20 do 140 A,
zakres regulacji czasu przerwy pomiêdzy
impulsami (tp): 0,06 do 1 s,
zakres regulacji czasu impulsu (ti): 0,06 do 1 s,
opóŸnienie wyp³ywu gazu: 5 s,
wydatek gazu ochronnego: 8 do 12 l/min.
(argon),
inicjacja ³uku spawalniczego: poprzez
zwarcie elektrody wolframowej do materia³u
spawanego,
wymiary: szer. 200, wys.250, d³. 445 mm,
waga: 25 kg.
27
Spawarka impulsowa do spawania metodą TIG
spawarka parametrami nie odbiega³a od analogicznych wyrobÛw
fabrycznych.
Budowa spawarki do
spawania rÍcznego
Rys. 1. Zależność pomiędzy
napięciem a prądem przy różnych
wartościach prądu spawania
duøej mocy) umoøliwi³ budowÍ
spawarek do spawania metod¹
TIG, w ktÛrej pr¹d spawania
zmienia siÍ w†czasie, przy czym
zarÛwno parametry pr¹dowe, jak
i†czasowe spawarki moøna regulowaÊ w†szerokim zakresie. W†literaturze fachowej takim urz¹dzeniom nadano nazwÍ IMPULSTIG
lub PULSTIG. Impulsowe spawanie TIG umoøliwia wprowadzenie
do spoiny znacznie mniejszych
iloúci ciep³a, uzyskuj¹c ten sam
efekt, co dla zwyk³ej spawarki
TIG. Ponadto, szczegÛlnie przy
wykonywaniu konstrukcji ze stali
nierdzewnych z†zastosowaniem
spawania impulsowego, deformacja konstrukcji wskutek naprÍøeÒ
termicznych jest znacznie mniejsza. Metoda impulsowa umoøliwia rÛwnieø spawanie detali o†ma³ym przekroju i†znacznie rÛøni¹cych siÍ gruboúci¹ úcianek. Dla
przyk³adu: opisan¹ spawark¹ po³¹czono p³ytkÍ gruboúci 0,6 mm
z†rurk¹ o†gruboúci úcianki 2†mm
wykonan¹ ze stali nierdzewnej
oraz pospawano dwie p³ytki
o†gruboúci 0,5 i†1†mm, a†takøe
wykonano termoogniwa pomiarowe z†drutu platynowego o†úrednicy 0,8 mm.
W†przekonaniu, øe czÍúÊ CzytelnikÛw jest zainteresowana budow¹ spawarki impulsowej TIG
oraz ze wzglÍdu na wysok¹ cenÍ
podobnych fabrycznych wyrobÛw,
przedstawiam przyk³ad wykonania samodzielnie takiego urz¹dzenia. Jego konstrukcjÍ zaplanowano
tak, aby ponieúÊ jak najmniejsze
koszty materia³Ûw i†robocizny
z†uwzglÍdnieniem ³atwoúci dostÍpu do poszczegÛlnych podzespo³Ûw, staraj¹c siÍ przy tym, aby
28
Spawanie rÍczne elektrodami
otulonymi (do niedawna najpowszechniejsza metoda ³ukowego
³¹czenia metali) wymaga ürÛde³
pr¹du (zarÛwno sta³ego, jak i†przemiennego) o†silnie opadaj¹cej statycznej charakterystyce wyjúciowej.
Na rys. 1 przedstawiono zaleønoúÊ
miÍdzy napiÍciem a†pr¹dem przy
rÛønych wartoúciach pr¹du spawania. Symbolem Uo oznaczono napiÍcie biegu ja³owego - zwykle
mieúci siÍ w†zakresie od 48 do
70†V i†jest takie samo co do
wartoúci w†ca³ym zakresie regulacji. Pr¹dy Iz1...Iz4 oznaczaj¹ pr¹dy
zwarcia dla rÛønych nastaw. Natomiast napiÍcie spawania (Usp)
wyliczono empirycznie dla spawarek do rÍcznego spawania ³ukowego elektrodami otulonym i†wynosi
Usp [V] = 20 + 0,04 Isp, z†czego
wynika, øe np. przy 100-amperowym pr¹dzie spawania napiÍcie
spawania jest rÛwne 24 V. Jedn¹
z†najprostszych metod regulacji
pr¹du spawania w†transformatorze
jest regulacja z†przemieszczanym
mechanicznie tzw. bocznikiem
magnetycznym wprowadzanym
w†obwÛd magnetyczny transformatora spawalniczego. Taki transformator bÍdzie uøyty do budowy
spawarki IMPULSTIG, i†w†modelowym wykonaniu zastosowano
transformator ze spawarki Besterek
1600, produkowanej przez firmÍ
ìBesterî z†Bielawy.
Budowa spawarki do
spawania impulsowego
Podobnie jak do spawania rÍcznego elektrodami otulonymi, spawarka do spawania impulsowego
ma silnie opadaj¹c¹ wyjúciow¹ charakterystykÍ statyczn¹. RÛøni¹ siÍ
one jedynie tym, iø w†czasie spawania pr¹d†zmienia swoj¹ wartoúÊ
wed³ug wczeúniej dokonanych
przez uøytkownika nastaw. Na rys.
2 zobrazowano przebieg pr¹du spawania w†funkcji czasu w†metodzie
IMPULSTIG. Symbolem Ib oznaczono pr¹d†bazowy (zwykle nie jest
mniejszy niø 10 A), natomiast pr¹d
impulsu symbolem Ii (maksymalnie
osi¹ga wartoúÊ najwyøsz¹ dla danego ürÛd³a pr¹du spawania). Za-
Rys. 2. Przebieg prądu spawania
w funkcji czasu w metodzie
IMPULSTIG
rÛwno wartoúÊ pr¹du bazowego, jak
i†impulsu moøna p³ynnie regulowaÊ w†pe³nym zakresie. Czas trwania impulsu (ti) jest p³ynnie regulowany, tak samo reguluje siÍ czas
trwania przerwy miÍdzy impulsami
(tp). W†spawarkach TIG i†IMPULTIG uzyskuje siÍ znacznie mniejsze
minimalne pr¹dy spawania niø przy
spawaniu elektrodami otulonymi.
Po przytoczeniu podstawowych informacji dotycz¹cych budowy i†dzia³ania spawarek do
spawania rÍcznego elektrodami
otulonymi i†metod¹ impulsow¹
TIG, poniøej przedstawiam opis
budowy spawarki do spawania
impulsowego TIG.
Schemat blokowy
Na rys. 3 przedstawiono schemat blokowy spawarki impulsowej
TIG. Transformator spawalniczy Ts
pochodzi ze spawarki Besterka
1600 i†zasilany jest z†sieci 220 V
poprzez wy³¹cznik W1. Moøna
uøyÊ kaødego innego transformatora spawalniczego, pod warunkiem
øe regulacja pr¹du spawania odbywa siÍ za pomoc¹ bocznika
magnetycznego. Bocznik magnetyczny naleøy usun¹Ê z†rdzenia
transformatora, gdyø funkcjÍ regulatora pr¹du spawania przejm¹
tyrystory Ty1 i†Ty2, ktÛre z†diodami D1 i†D2 stanowi¹ prostownik
pe³nookresowy duøej mocy. UøyÊ
naleøy tyrystorÛw o†pr¹dzie przewodzenia min. 150 A i wstecznym
napiÍciu min. 200 V. Takie same
wymagania dotycz¹†diod D1 i†D2.
Elementy te naleøy umieúciÊ na
radiatorach ch³odzonych przez
wentylator. Wentylator musi rÛwnieø usun¹Ê ciep³o†wytworzone
w†transformatorze spawalniczym.
Diody D3 i†D4 (wykorzystano mos-
Elektronika Praktyczna 12/2003
Spawarka impulsowa do spawania metodą TIG
tek prostowniczy o†pr¹dzie 25 A)
za³¹czane stykami S1 i†S2 przekaünika P1 wraz z†opornikiem drutowym R1 i†R2 oraz kondensatorem
C1 stanowi¹ elementy obwodu
znacznie poprawiaj¹cego stabilnoúÊ
³uku spawalniczego.
Transformator Tr1 o†napiÍciu
wyjúciowym 24 i†12 V†s³uøy do
zasilania bloku elektroniki, elektrozaworu gazu oraz sterowania
funkcj¹ start-stop procesu spawania. Poniewaø zarÛwno bezpoúrednio przed jak i†po zakoÒczeniu
spawania na elektrodzie wolframowej nie moøe wystÍpowaÊ napiÍcie, uzyskano to poprzez odpowiednie wysterowanie tyrystorÛw. Z†tego wynika, øe tyrystory
spe³niaj¹ podwÛjn¹ rolÍ: regulatora i†wy³¹cznika pr¹du spawania.
Do bieguna ujemnego prostownika
mocy jest pod³¹czony przewÛd
pr¹dowy palnika TIG. Palnik ma
z³oøon¹ mechanicznie budowÍ
(³atwo osi¹galny jest w†hurtowniach artyku³Ûw spawalniczych).
Wewn¹trz niego umieszcza siÍ
w†specjalnej miedzianej tulei elektrodÍ wolframow¹ zakoÒczon¹
z†jednej strony dysz¹ ceramiczn¹,
a†z†drugiej zakrÍcan¹ obsadk¹
z†uszczelk¹. Do palnika doprowadzony jest w¹ø igelitowy do dostarczenia gazu ochronnego oraz
2-øy³owy przewÛd sterowniczy
pod³¹czony do mikrowy³¹cznika
Wp umieszczonego w†rÍkojeúci
palnika. Wy³¹cznik ten steruje
w³¹czaniem i wy³¹czaniem spawania poprzez przekaünik ma³ej mocy P2, ktÛrego cewka zasilana jest
z†oddzielnego uzwojenia (12 V)
transformatora Tr1, co wynika
z†koniecznoúci galwanicznego oddzielenia obwodu sterowania od
innych obwodÛw elektrycznych.
Do bieguna dodatniego prostownika mocy pod³¹czony jest
przewÛd miedziany o†przekroju
32 mm2 (w†izolacji gumowej), zakoÒczony imakiem lub zaciskiem
sprÍøynowym -†pod³¹czany jest do
materia³u spawanego, tzw. masy.
Gaz ochronny (argon) czerpany
jest z†butli poprzez reduktor gazu,
ktÛry jest zaopatrzony w†przep³ywomierz, i†poprzez w¹ø gumowy
(lub igelitowy) dostarczany do
krÛÊca zamocowanego w†obudowie spawarki. Wewn¹trz spawarki
gaz przep³ywa poprzez elektrozawÛr, ktÛry wy³¹cza siÍ po ok.
5†s†od momentu zakoÒczenia spa-
Elektronika Praktyczna 12/2003
Rys. 3. Schemat blokowy spawarki TIG
wania. Ma to na celu ochronÍ
gor¹cej jeszcze elektrody wolframowej i†niezastyg³ego jeziorka
ciek³ego metalu przed utleniaj¹cym wp³ywem powietrza.
Blok elektroniki steruje parametrami spawarki, tj. pr¹dem spawania i†przebiegami czasowymi
impulsÛw - jest po³¹czony z†potencjometrami umieszczonymi
w†p³ycie przedniej, ktÛrymi wp³ywa siÍ na parametry spawania.
Dioda LED úwieci w†takt wystÍpowania pr¹du impulsu.
Spawarki IMPULSTIG moøna
uøyÊ rÛwnieø do spawania elektrodami otulonymi. WÛwczas naleøy zmieniÊ palnik TIG na zwyk³y uchwyt spawalniczy, prze³¹cznik rodzaju pracy Prp (rys. 4)
ustawiÊ w†odpowiednim po³oøeniu, a†potencjometry wartoúci
pr¹du ustawiÊ w†takim samym
po³oøeniu (eliminacja efektu pulsowania).
Na rys. 4 przedstawiono schemat elektryczny spawarki. NapiÍcie wtÛrne†z†transformatora Tr1
(po wyprostowaniu - mostek Pr1)
polaryzuje bazÍ tranzystora T1
poprzez dzielnik napiÍciowy
z³oøony z†opornikÛw R3 i†R4.
Tranzystory T1 i†T2 tworz¹ obwÛd
detektora ìzeraî napiÍcia sieci
zasilaj¹cej (rys. 5). Kolektor tranzystora T2 jest pod³¹czony do
wejúÊ uk³adÛw scalonych US2
i†US3, ktÛre pracuj¹ w†konfiguracji
generatorÛw monostabilnych. Kaødorazowo, gdy na wejúciu tych
uk³adÛw wyst¹pi zbocze opadaj¹ce, to na ich wyjúciach (wyprowadzenie 3) wyst¹pi¹ poziomy
wysokie, ktÛrych czas trwania
wynosi tH = 1,1 (PR1+R8)*C5 i†tH
= 1,1*(PR2+R10)*C6. Uzyskano
minimalny czas trwania impulsu
rÛwny 1,25 ms (rys. 6) i†czas
maksymalny 7,81 ms (rys. 7).
W†tym zakresie czasu moøna regulowaÊ potencjometrami PR1
i†PR2 czas trwania wysokiego
poziomu na wyjúciu generatorÛw
US2 i†US3 (zbocze opadaj¹ce sygna³u wyjúciowego uaktywnia
uk³ad sterowania bramkami tyrystorÛw Ty1 i†Ty2), a†tym samym
umoøliwia regulacjÍ pr¹du wyj-
29
Spawarka impulsowa do spawania metodą TIG
Rys. 4. Schemat elektryczny spawarki
30
Elektronika Praktyczna 12/2003
Spawarka impulsowa do spawania metodą TIG
Rys. 5. Przebieg napięcia na
wyjściu detektora zera sieci (jego
rolę spełniają tranzystory T1 i T2) −
przebieg na wejściach wyzwalają−
cych układów czasowych US2 i US3
Rys. 6. Najkrótszy czas impulsu
uzyskiwany na wyjściu generatorów
monostabilnych wynosi 1,25 ms
(przebieg na wyjściach układów
scalonych US2 i US3 przy
minimalnym prądzie wyjściowym
spawarki)
Rys. 7. Najdłuższy czas impulsu
uzyskiwany na wyjściu generatorów
monostabilnych wynosi 7,81 ms
(przebieg na wyjściach układów
scalonych US2 i US3 przy
maksymalnym prądzie wyjściowym
spawarki)
Elektronika Praktyczna 12/2003
úciowego spawarki. Potencjometrem PR1 regulowany jest pr¹d
bazowy (Ib), natomiast potencjometrem PR2 nastawiany jest
pr¹d†impulsu (Ii). Sygna³y wyjúciowe z†obwodÛw US2 i†US3 s¹
ìnegowaneî (odwracane) przez
tranzystory T3 i†T5, ktÛrych kolektory s¹ ze sob¹ po³¹czone.
W†oparciu o†uk³ad scalony US6
(NE 555) jest zbudowany przerzutnik astabilny, ktÛrego zadaniem
jest generowanie impulsÛw steruj¹cych bezpoúrednio tranzystorem
T7, w†ktÛrego kolektorze jest
w³¹czone uzwojenie pierwotne
transformatora (Tr2) steruj¹cego
bramkami tyrystorÛw. Na wyjúciu
US6 (wyprowadzenie 3) uzyskano
przebieg prostok¹tny o†czÍstotliwoúci 1,74 kHz i†o†czasie trwania
impulsu ok. 47 mikrosekund (rys.
8). Sterowanie bramkami tyrystorÛw pakietem impulsÛw†daje gwarancjÍ pewnego ich za³¹czenia. Do
bazy tranzystora T7 do³¹czone s¹
kolektory tranzystorÛw T3 i†T5,
ktÛre spe³niaj¹ rolÍ kluczy blokuj¹cych tranzystor T7. Uzwojenie
wtÛrne transformatora Tr2 stanowi¹ dwa uzwojenia galwanicznie
od siebie oddzielone i†do³¹czone
miÍdzy bramkÍ i†katodÍ tyrystorÛw Ty1 i†Ty2. Naleøy pamiÍtaÊ,
øe polaryzacja impulsu przy³oøonego do bramki tyrystora jest
dodatnia wzglÍdem katody.
Uk³ady scalone US4 i†US5 pracuj¹ jako przerzutniki monostabilne w†po³¹czeniu kaskadowym zamkniÍtym. Oznacza to, øe opadaj¹ce zbocze sygna³u wyjúciowego
jednego z†przerzutnikÛw uaktywnia wejúcie drugiego przerzutnika.
Zaleønoúci na czas trwania
impulsu (tH) s¹ takie same, jak
w†przypadku uk³adÛw US2 i†US3.
Czas trwania impulsu wyjúciowego kaødego z†dwÛch przerzutnikÛw moøna regulowaÊ p³ynnie
w†zakresie od 0,06 do 1†sekundy.
Potencjometrem PR3 regulowany
jest czas przerwy pomiÍdzy impulsami, natomiast potencjometrem PR4 reguluje siÍ czas trwania
impulsu pr¹du spawania. Dioda
LED, umieszczona na p³ycie
czo³owej spawarki, úwieci siÍ
podczas trwania impulsu. Elementy D6, C17 i†R17 umoøliwiaj¹
pewn¹ pracÍ generatora. Wyjúcia
uk³adÛw US4 i†US5 steruj¹ bazami tranzystorÛw T6 i†T4, ktÛre
(zgodnie z†nastaw¹ czasow¹) klu-
Rys. 8. Przebieg napięcia na
wyjściu układu US6
czuj¹ tranzystory T3 i†T5. Styki
prze³¹cznika rodzaju pracy Prp
dla trybu spawania elektrod¹ otulon¹ zwieraj¹ do masy bazÍ tranzystora T8, tym samym uniemoøliwiaj¹c w³¹czenie elektrozaworu
gazu, a†drugi zespÛ³ stykÛw Prp
za³¹cza przekaünik P3. W†obwodzie sterowania jest wy³¹cznik
termiczny Wt.
Stabilizator napiÍcia US1
(Ul7812) zaopatrzony jest w†radiator z†blachy aluminiowej o†gruboúci 2†mm o†powierzchni ok. 8†cm2.
Transformator Tr2 wykonany
jest z†kszta³tek typu EI o†powierzchni kolumny úrodkowej rÛwnej
1†cm2. Doskonale nadaj¹ siÍ do
wykorzystania transformatory
montowane w†tarczowych aparatach telefonicznych (produkowanych przed laty przez RWT Radom), ktÛrych karkasy przystosowane s¹ do montaøu na p³ytce
drukowanej. Uzwojenie pierwotne
naleøy wykonaÊ drutem DNE 0,2
- 100 zwojÛw, natomiast uzwojenia wtÛrne maj¹ po 70 zwojÛw
drutem DNE 0,2. Naleøy zadbaÊ
takøe o†staranne odizolowanie od
siebie poszczegÛlnych uzwojeÒ.
Diody D9 i†D10 s¹ polaryzowane
zaporowo w†stosunku do polaryzacji impulsu wyjúciowego transformatora Tr2. Przed montaøem
tych diod niezbÍdne staje siÍ
uøycie oscyloskopu w†celu okreúlenia polaryzacji impulsu. Zaleca
siÍ stosowanie podstawek pod
uk³ady scalone US2...US6. Transformator Tr1 220/24/12 V†ma moc
ok. 20 VA.
Montaø i†uruchomienie
Duøe trudnoúci moøe sprawiÊ
wykonanie obudowy. Powinna
byÊ wykonana z†blachy, np. stalowej, i†musi byÊ stabilna mecha-
31
Spawarka impulsowa do spawania metodą TIG
Rys. 9. Przebieg prądu wyjściowego
spawarki (przez 6 półokresów sieci
zasilającej płynie prąd bazowy
i przez 6 półokresów występuje prąd
impulsu)
nicznie. Moøna wykorzystaÊ gotow¹ obudowÍ, o†wystarczaj¹co
duøej kubaturze, od spawarki do
spawania rÍcznego. W†pierwszej
kolejnoúci naleøy zaplanowaÊ rozmieszczenie podzespo³Ûw najwiÍkszych gabarytowo, tj. transformatora spawalniczego, prostownika mocy z radiatorami
i†wentylatorem usuwaj¹cym powietrze z†wnÍtrza spawarki. Naleøy zadbaÊ, aby wentylator rÛwnie skutecznie sch³adza³ prostownik mocy, jak i†transformator spawalniczy. Na oporniku R1,
w†przypadku spawania ma³ymi
pr¹dami, wydziela siÍ duøa iloúÊ
ciep³a Zatem naleøy go umieúciÊ
w†strumieniu przep³ywu powietrza ch³odz¹cego.
NastÍpnie naleøy zamontowaÊ
krÛÊce (wejúciowy i†wyjúciowy)
gazu ochronnego. Potem powinien
byÊ montowany, jak najdalej od
transformatora spawalniczego,
transformator Tr1. Jeúli nie jest to
moøliwe, naleøy transformator Tr1
ochroniÊ ekranem z†blachy stalowej o†gruboúci 1...2 mm. Na koniec montowane s¹ cztery potencjometry, dioda LED, gniazdo steruj¹ce i†bezpiecznikowe, wy³¹cznik oraz przewÛd sieciowy, a†takøe prze³¹cznik rodzaju pracy Prp.
Tak rozmieszczone podzespo³y naleøy po³¹czyÊ przewodami, zaczynaj¹c od tych o najwiÍkszych
przekrojach.
Bardzo waøne jest, aby spawarka by³a skutecznie zabezpieczona
przed poraøeniem elektrycznym
uøytkownika. Wszystkie przewody
i†podzespo³y, bÍd¹ce pod napiÍciem sieci zasilaj¹cej, musz¹ mieÊ
odpowiedni¹ izolacjÍ i†zostaÊ sta-
32
rannie sprawdzone przed montaøem oraz przed uruchomieniem.
P³ytka bloku elektroniki powinna byÊ montowana jak najdalej od transformatora spawalniczego, najlepiej w†pobliøu potencjometrÛw regulacyjnych. P³ytka
z†transformatorem steruj¹cym
bramkami tyrystorÛw oraz z†uk³adem czasowym dla elektrozaworu
gazu powinna byÊ montowana tuø
przy tyrystorach. Przekaünik P1
(typ R15. prod. Relpol Øary) musi
byÊ umieszczony w†pobliøu prostownika mocy. Na koniec montowane s¹ przewody o†ma³ych przekrojach. W†ich pewnym zamocowaniu do wewnÍtrznych krawÍdzi
obudowy skuteczny okaza³ siÍ
klej Super Glue.
Po sprawdzeniu prawid³owoúci
montaøu wszystkich podzespo³Ûw
i†okablowania moøna przyst¹piÊ
do uruchomienia spawarki.
Przed w³¹czeniem do sieci zasilaj¹cej naleøy od³¹czyÊ uzwojenie pierwotne transformatora spawalniczego. SprawdziÊ, czy regulacja wszystkich funkcji spawarki
jest prawid³owa. SzczegÛlnie naleøy zwrÛciÊ uwagÍ na polaryzacjÍ
impulsÛw steruj¹cych bramkami
tyrystorÛw. W†tym przypadku niezbÍdny jest oscyloskop i†porÛwnanie z†zamieszczonymi oscylogramami. Po dok³adnym sprawdzeniu przebiegÛw moøna pod³¹czyÊ
transformator spawalniczy.
Sprawdzenie ca³oúci odbywa siÍ
poprzez pod³¹czenie do wyjúcia
spawarki opornika o†mocy co
najmniej 1000 W i†opornoúci
1†do 5†Ω. Na ekranie oscyloskopu zauwaøymy przebieg napiÍcia
(na oporniku) przedstawiony na
rys. 9.
Po stwierdzeniu prawid³owoúci
dzia³ania spawarki pora przyst¹piÊ do spawania. ElektrodÍ wolframow¹ przygotowuje siÍ poprzez zeszlifowanie jej koÒca
w†kszta³t stoøka, ktÛrego wysokoúÊ wynosi od 3†do 5 úrednic
elektrody. DobÛr úrednic elektrod
wolframowych zaleøy od pr¹du
spawania.†W†przypadku opisanej
spawarki wynosi od 1†do 2,5 mm.
Po pod³¹czeniu gazu i†stwierdzeniu jego wyp³ywu z†dyszy palnika, inicjuje siÍ ³uk spawalniczy
poprzez umiejÍtne, chwilowe
zwarcie z†materia³em spawanym,
oderwanie elektrody i ìutrzymanieî ³uku.
WYKAZ ELEMENTÓW
Rezystory
R1: 6...10 Ω/40 W
R2: 2,2 kΩ/5 W
R3...R7, R9, R11...R15, R23: 5,1 kΩ
R8, R10: 200 Ω
R16, R18...R20, R25, R27: 1 kΩ
R17: 1 MΩ
R21: 1,2 kΩ
R24, R26: 10 Ω
R22: 22 kΩ
R28: 27 kΩ
PR1, PR2: potencjometr 1 kΩ
PR3, PR4: potencjometr 22 kΩ
Kondensatory
C1: 10 µF/150 V
C2: 4,7 µF/25 V
C3: 100 µF/35 V
C4; 100 µF/16 V
C5, C6; 4,7 µF/16V
C7, C8, C13, C14, C16; 100 nF
C9, C10: 22 µF/50V
C11, C12: 10 nF
C15: 33 nF
C17: 2,2 µF/16 V
C18: 10 µF/35 V
C19: 47 µF/35 V (dobrać)
C20: 100 nF/63 V
Półprzewodniki
D1, D2: dioda 150 A/200 V
D3, D4: dioda 25 A/200 V lub
1/2 mostka prostowniczego
D5, D8...D12: dioda 1 A/200 V
LED: dowolny
D6, D7, D13: dioda krzemowa,
małej mocy
Pr1, Pr2, Pr3: mostek prostowniczy
1A/200 V
T1...T6: BC107 lub podobne
T7, T8: TIP122 lub podone
(Darlington)
US1: UL7812 lub podobny
(stabilizator 12 V)
US2...US6: NE555
Różne
Tr1: transformator 220V/24V/12V
20VA
Ts, Tr2: transformator − patrz opis
P1: przekaźnik typ R15, cewka
24V/50 Hz (trzy zestawy styków)
P2: przekaźnik − styki 1 A, cewka
24 V
P3: przekaźnik − styki 1 A, cewka
12 V
W1: wyłącznik 25 A/250 V
Ws: wyłącznik 1 A/250 V
W: wentylator 220 V/50 Hz
B: bezpiecznik topikowy 1 A
EZ: elektrozawór gazu, cewka
24 V/50 Hz
Palnik TIG: typ USM−200 lub
podobny
Wp: gniazdo sterujące
Wt: wyłącznik termiczny,
umieszczony na uzwojeniu
transformatora spawalniczego
Prp: mikroprzełącznik rodzaju pracy
Elektronika Praktyczna 12/2003
Spawarka impulsowa do spawania metodą TIG
Wszystkie trzy prÛbki s¹ ze stali
nierdzewnej.
Na koniec przypomnÍ o†koniecznoúci stosowania úrodkÛw
ochrony osobistej. Ca³e cia³o podczas spawania ³ukowego musi byÊ
os³oniÍte. Dotyczy to szczegÛlnie
twarzy, ktÛr¹ naleøy os³oniÊ odpowiedni¹ mask¹ spawalnicz¹. Ignorowanie tego zabezpieczenia
grozi powaønymi nastÍpstwami
dla zdrowia.
Stanis³aw Krasicki, [email protected]
Fot. 10. Przykład połączenia pachwinowego po częściowym wytrawieniu
za pomocą specjalnej pasty
Uwagi koÒcowe
Zagadnienia spawalnicze
przedstawi³em tylko w†szcz¹tkowym zakresie, gdyø celem tego
Fot. 11. Przykład połączenia
pachwinowego po częściowym
wytrawieniu za pomocą specjalnej
pasty oraz częściowo wypolerowa−
nego pastami polerskimi
Elektronika Praktyczna 12/2003
artyku³u jest wy³¹cznie opis
budowy spawarki. Przemys³ wytwÛrczy urz¹dzeÒ spawalniczych
dostarcza wiele rÛønych spawarek, czÍsto sterowanych mikroprocesorami. Dlatego zainteresowanych odsy³am do specjalistycznej
literatury oraz do ukazuj¹cego siÍ
co miesi¹c fachowego pisma
ìPrzegl¹d Spawalnictwaî.
Trzy prÛbki (fot. 10...12) obrazuj¹ praktyczne moøliwoúci opisanej spawarki. Po³¹czenia pachwinowe wykonane zosta³y z†uøyciem materia³u dodatkowego,
przy czym spoina w†prÛbce z†fot. 10 i†11 zosta³a
wytrawiona za pomoc¹ specjalnej
pasty (do nabycia
w†hurtowniach artyku³Ûw
spawalniczych) oraz czÍúciowo wypolerowana pastami polerskimi. PrÛbka pokazana na fot.
12 przedstawia wygl¹d po³¹czenia
bezpoúrednio po spawaniu (bez
stosowania úrodkÛw chemicznych
i†polerowania mechanicznego).
Literatura:
Poradnik Inøyniera - Spawalnictwo, Wydawnictwa Naukowo
Techniczne, tom I†i†II, W-wa 1983 r.
doc. dr inø. Stanis³aw Bryú i†inni.
Fot. 12. Wygląd połączenia
bezpośrednio po spawaniu
33
Stereofoniczny wzmacniacz
P R O klasy
J E DK2x20W
T Y
Stereofoniczny
wzmacniacz klasy D
2x20W
AVT−550
Wzmacniacze klasy
D†zyskuj¹ od kilku lat coraz
wiÍksz¹ popularnoúÊ mimo co prawda coraz rzadszych negatywnych opinii audiofilÛw.
Kolejny, bardzo nowoczesny
konstrukcyjnie wzmacniacz
tego rodzaju przedstawiamy
w†artykule.
Rekomendacje: jest to
wzmacniacz, ktÛry doskonale
sprawdzi siÍ zarÛwno
w†samochodzie, jak i†jako
stacjonarny w†domowym
zestawie audio.
Tab. 1. Wybrane parametry
stereofonicznego wzmacniacza
klasy D 2x20W
✦ napiêcie zasilania wzmacniacza 8...18 V,
✦ moc 20 W przy obci¹¿eniu 8Ω lub 13 W przy
4Ω i napiêciu zasilania 18 V (10% THD+N),
✦ THD+N 1% przy mocy 16 W/8Ω lub 10 W/4Ω,
✦ THD+N 0,3% przy mocy 2 W/8Ω i napiêciu
zasilania 18 V,
✦ czêstotliwoœæ oscylatora 250 kHz,
✦ pasmo przenoszenia 20 Hz do 20 kHz,
✦ ma wbudowany obwód zapobiegaj¹cy stukom
w g³oœnikach podczas w³¹czania,
✦ wbudowane zabezpieczenie przeciwzwarciowe
wyjϾ oraz termiczne,
✦ mo¿liwoœæ pracy w trybie mostkowym,
✦ zastosowana technika modulacji eliminuje
zazwyczaj du¿y filtr LC oraz polepsza SNR
i skutecznoϾ wzmacniacza.
Elektronika Praktyczna 12/2003
CzÍsto wzmacniacze pracuj¹ce
w†klasie D†s¹ nazywane wzmacniaczami impulsowymi lub cyfrowymi, co odzwierciedla sposÛb
ich pracy. Wzmacniacze pracuj¹ce
impulsowo charakteryzuj¹ siÍ niew¹tpliw¹ zalet¹ - ich sprawnoúÊ
siÍga 90%, podczas gdy wzmacniacze liniowe maj¹ sprawnoúci
co najwyøej 60%. DziÍki temu
wzmacniaczy pracuj¹cych w†klasie D nie trzeba wyposaøaÊ w†duøe i†ciÍøkie radiatory, a†przy
mniejszych mocach wzmacniacza
øaden radiator nie jest potrzebny.
Wysoka sprawnoúÊ wzmacniacza niekoniecznie musi byÊ okupiona znacznym skomplikowaniem jego budowy. Nowoczesne,
scalone wzmacniacze impulsowe
pracuj¹ w†otoczeniu zaledwie kilku do³¹czonych elementÛw zewnÍtrznych. Najwaøniejsz¹ wad¹
wiÍkszoúci wzmacniaczy impulsowych jest koniecznoúÊ stosowania
na jego wyjúciu dolnoprzepustowych filtrÛw LC przystosowanych
do obci¹øeÒ wysokopr¹dowych.
Napisa³em ìwiÍkszoúci wzmacniaczyî, bo istniej¹ wzmacniacze,
w†ktÛrych uda³o siÍ zmniejszyÊ
rozmiary, a†nawet wrÍcz wyeliminowaÊ filtry LC, zazwyczaj duøych rozmiarÛw i†drogie. Przyk³adem takiego wzmacniacza (niepotrzebuj¹cego filtrÛw LC) jest uk³ad
TPA3001D1 firmy Texas Instruments. W†oparciu o†ten uk³ad wykonany zosta³ tytu³owy wzmacniacz. Jego niew¹tpliw¹ zalet¹ jest
brak koniecznoúci stosowania jakiegokolwiek radiatora oraz filtrÛw LC. MoøliwoúÊ zrezygnowania z†filtru LC uda³o siÍ uzyskaÊ
inøynierom z†firmy Texas Instruments dziÍki zastosowaniu zmodyfikowanego sposobu zasilania
g³oúnikÛw, omÛwiÍ go w†dalszej
czÍúci artyku³u.
Prezentowany wzmacniacz,
choÊ ma relatywnie niewielk¹ moc
wyjúciow¹, moøe znaleüÊ sporo
zastosowaÒ. Moøna go wykorzystaÊ
jako multimedialny wzmacniacz
montowany w†obudowie komputera PC czy w†obudowie g³oúnikÛw,
a†takøe jako wzmacniacz do samochodu. S¹dzÍ, øe zastosowaÒ
wzmacniacza moøe byÊ wiele
dziÍki jego†niew¹tpliwej zalecie
jak¹ jest prosta budowa oraz
niewielka liczba elementÛw zewnÍtrznych.
Podstawowe parametry wzmacniacza zawarto w†tab. 1.
Nowoczesna klasa D
W klasie D†wykorzystuje siÍ
modulacjÍ sygna³u PWM, zamiast
liniowego wzmacniania sygna³u,
typowego dla pracy w†klasie
A†i†AB. We wzmacniaczach im-
21
Stereofoniczny wzmacniacz klasy D 2x20W
Rys. 2. Ilustracja tworzenia
przebiegu PWM
porÛwnywany jest w†komparatorze z†wytwarzanym wewnÍtrznie
przebiegiem trÛjk¹tnym, tworz¹c
na wyjúciu modulowany przebieg
PWM. Przebieg ten steruje tranzystorami mocy (kluczami pr¹dowymi), ktÛrych zadaniem jest dostarczenie wysokopr¹dowego sygna³u wyjúciowego. Na rys. 2 pokazano, w†jaki sposÛb jest tworzony przebieg PWM przez kompaRys. 1. Schemat blokowy układu scalonego TPA3001D1
rator. Jak widaÊ, analogowy sygna³ wejúciowy jest porÛwnywany
pulsowych sygna³ audio jest
jaúniÊ jak kszta³towany jest prze- z†przebiegiem trÛjk¹tnym o†czÍsprzekszta³cany na zmodulowany
bieg PWM. Sygna³ wejúciowy au- totliwoúci 250 kHz. Aby skuteczprzebieg PWM, ktÛrego uúredniodio podawany jest na przed- nie przetworzyÊ sygna³ audio na
na wartoúÊ niesie informacjÍ
wzmacniacz, a†dalej na integrator przebieg PWM, czÍstotliwoúÊ przeo†chwilowej amplitudzie sygna³u
(bÍd¹cy filtrem dolnoprzepusto- biegu trÛjk¹tnego powinna kilkawejúciowego. Wzmacniacz
krotnie przewyøszaÊ pasklasy D†ma bardzo duø¹
mo sygna³Ûw akustyczKłopoty z układami?
sprawnoúÊ energetyczn¹,
nych. Kiedy napiÍcie syggdyø tranzystory stopnia
na³u audio jest wiÍksze od
Wbrew opiniom malkontentów, układy
wyjúciowego pracuj¹ wynapiÍcia przebiegu trÛjk¹tTPA3001D1 są łatwo dostępne: można je
³¹cznie jako klucze, czyli
nego, na wyjúciu komparaotrzymać bezpośrednio z firmy Texas
znajduj¹ siÍ w†jednym
tora pojawi siÍ sygna³
Instruments jako bezpłatne próbki.
z†dwÛch stanÛw: w³¹czenia
o†poziomie wysokim (naZamówienia należy składać bezpośrednio
albo wy³¹czenia.
piÍcie dodatnie), natomiast
na stronie internetowej producenta.
Najpierw postaram siÍ
w†przeciwnym wypadku
opisaÊ jak jest tworzony
bÍdzie poziom niski (namodulowany sygna³ PWM
piÍcie zerowe).
oraz odpowiedzieÊ na pyTeoretycznie, wzmactania: dlaczego s³yszy siÍ
niacz klasy D†moøe mieÊ
sygna³y akustyczne, a†nie
sprawnoúÊ energetyczn¹
s³yszy sk³adowej sygna³u
blisko 100%, poniewaø
o†czÍstotliwoúci sygna³u
kluczowane tranzystory poPWM, dlaczego przetwawinny dostarczaÊ do obrzanie PWM jest bardziej
ci¹øenia tak¹ sam¹ moc jak
pobrana z†zasilacza. Øeby
skuteczne od wzmacniania
tak siÍ sta³o, tranzystory
liniowego, a†takøe dlaczeMOSFET musz¹ mieÊ zego niektÛre wzmacniacze
row¹ rezystancje w†stanie
impulsowe potrzebuj¹ wyjotwarcia oraz powinny byÊ
úciowych filtrÛw LC a†insterowane napiÍciowo (bez
ne nie.
pr¹du bramki). Niestety,
Jak we wzmacniaczu
klasy D†tworzony jest przebieg
wym), ktÛrego zadaniem jest odfil- jeszcze nie opracowano idealnego
PWM zawieraj¹cy informacjÍ o
trowanie sk³adowych o wyøszych tranzystora o†takich parametrach,
sygnale akustycznym? Na rys. 1
czÍstotliwoúciach. Filtracja tych dlatego teø trzeba liczyÊ siÍ ze
przedstawiono schemat blokowy
sk³adowych sygna³u ma na celu stratami mocy, aczkolwiek nieuk³adu TPA3001D1, w†oparciu
zapobiegniÍcie skutkom aliasingu wielkimi. Zazwyczaj tylko 10%
o†ktÛry zosta³ zbudowany wzmacoraz polepsza stabilnoúÊ wzmac- pobieranej z†zasilacza energii jest
niacz. Schemat ten pozwoli wyniacza. NastÍpnie sygna³ audio tracone.
22
Elektronika Praktyczna 12/2003
Stereofoniczny wzmacniacz klasy D 2x20W
Rys. 3. Zależność mocy traconej we wzmacniaczach klasy D i AB
w funkcji mocy wyjściowej
DziÍki duøej sprawnoúci
wzmacniacza nie wystÍpuje problem odprowadzania ciep³a powsta³ego wskutek duøych strat
mocy. Przy zasilaniu wzmacniacza impulsowego napiÍciem 12†V
nie jest potrzebny øaden radiator.
Przy zasilaniu napiÍciem 12 V
wzmacniacza pracuj¹cego w†klasie
AB radiator jest juø wymagany.
Na rys. 3 pokazano straty mocy
we wzmacniaczu w zaleønoúci od
dostarczanej mocy, odpowiednio
klas D†i†AB, przy obci¹øeniu
4†i†8Ω (rysunek zaczerpniÍty z†dokumentacji firmy Texas Instru-
ments). Dla przyk³adu, wzmacniacz klasy D†przy mocy 10 W
i†obci¹øeniu 4 Ω ma straty mocy
na poziomie ok. 3,7 W, a†wzmacniacz klasy AB przy tej samej
mocy wyjúciowej ma aø 14 W
strat! Jak widaÊ rÛønice w†mocy
strat s¹ spore.
Modulacja filter-free,
czyli jak pozbyÊ siÍ
filtru LC
Wzmacniacz TPA3001D1 uøywa trochÍ innego rodzaju modulacji PWM niø wczeúniej przedstawiona, dziÍki czemu nie jest
Rys. 4. Przebiegi sygnałów na wejściach i wyjściach komparatorów
przy modulacji PWM "filter−free"
Elektronika Praktyczna 12/2003
konieczne stosowanie filtrÛw LC.
Przy modulacji tego rodzaju przebieg na wyjúciu nieodwracaj¹cym
jest uzyskiwany tak samo jak
w†klasycznym wzmacniaczu klasy
D, ale juø przebieg na wyjúciu
odwracaj¹cym nie jest juø tylko
inwersj¹ przebiegu z†wyjúcia nieodwracaj¹cego. Dla ustalenia uwagi wyjúcie nieodwracaj¹ce bÍdzie
oznaczane Vout+, a†wyjúcie odwracaj¹ce Vout-. Przy tej modulacji stosowane s¹ dwa komparatory oraz dwa integratory. Komparator pierwszy porÛwnuje przebieg z†integratora tworz¹c przebieg Vout+, natomiast sygna³
z†drugiego integratora jest porÛwnywany w†przypisanym mu komparatorze, na wyjúciu ktÛrego
otrzymuje siÍ sygna³ Vout-. Na
rys. 4 pokazano sygna³y na wejúciach oraz wyjúciach komparatorÛw†w†opisywanym sposobie modulacji. Na rysunku pokazano takøe rÛønicowy sygna³ wystÍpuj¹cy
na g³oúniku. Jak widaÊ, g³oúnik
jest zasilany krÛtkimi, prostok¹tnymi impulsami pr¹dowymi.
Na rys. 5 pokazano przebiegi
na wyjúciu wzmacniacza przy sygnale wejúciowym o†czÍstotliwoúci
20 kHz. Na rysunku da siÍ zauwaøyÊ, øe przy wzroúcie amplitudy sygna³u wejúciowego roúnie
wype³nienie przebiegu PWM.
Sygna³ audio wystÍpuj¹cy
w†przebiegu PWM jest ³atwiej analizowaÊ w†dziedzinie czÍstotliwoúci. ìZwyk³yî sygna³ PWM ma
sk³adowe o†czÍstotliwoúci sygna³u
wejúciowego, czÍstotliwoúci przebiegu PWM oraz czÍstotliwoúci
harmonicznych sumy bocznego
pasma. Na rys. 6 przedstawiono
w†dziedzinie czÍstotliwoúci sygna³y: wejúciowy, wyjúciowy oraz
Rys. 5. Przebiegi na wyjściu
wzmacniacza przy sygnale
wejściowym o częstotliwości 20 kHz
23
Stereofoniczny wzmacniacz klasy D 2x20W
Rys. 6. Rozkład widmowy sygnału wejściowego, wyjściowego
oraz wyjściowego po odfiltrowaniu
wyjúciowy odfiltrowany. Rysunek
ten pokazuje, jak z†przebiegu
PWM jest ìwyci¹ganyî sygna³ audio poprzez filtracjÍ dolnoprzepustow¹. Otrzymany sygna³ audio
nie jest czystym sygna³em 1†kHz,
lecz posiada liczne harmoniczne.
G³oúnik nie moøe odtwarzaÊ czÍstotliwoúci sygna³u PWM (250 kHz)
i†jego harmonicznych. Nawet jeúli
by³oby to moøliwe, to ucho ludzkie nie jest w†stanie ich us³yszeÊ.
S³uchacz nie by³by w†stanie odrÛøniÊ sygna³u odfiltrowanego
od†niefiltrowanego (pokazanego na
rys. 5) jeúli oba zosta³yby bezpoúrednio wys³ane na g³oúnik. TÍ
w³aúciwoúÊ wykorzystali inøynierowie z†Texas Instruments do pozbycia siÍ wyjúciowego filtru LC.
Wykorzystali oni naturaln¹ w³aúciwoúÊ s³uchu ludzkiego polegaj¹c¹ na t³umieniu sygna³Ûw o†wyøszych czÍstotliwoúciach (czyli
filtracji dolnoprzepustowej). Modulacja tego rodzaju okreúlona jest
przez producenta jako filter-free.
Moøna teraz zadaÊ pytanie:
dlaczego niektÛre wzmacniacze
klasy D†wymagaj¹ filtrÛw wyjúciowych a†inne nie? Przecieø moøna
podaÊ sygna³ wyjúciowy bezpoúrednio na g³oúnik. RÛønica jest
w†wartoúci pr¹du wystÍpuj¹cej
podczas prze³¹czania tranzystorÛw. W†modulacji filter-free natÍøenie pr¹du podczas prze³¹czania
tranzystorÛw jest zmniejszone do
24
minimum. W³aúnie zmniejszenie
tego pr¹du pozwala na wyeliminowanie elementÛw filtru LC.
W†takim przypadku prostym filtrem bÍdzie sam g³oúnik, ktÛrego
jednym z†g³Ûwnych elementÛw
jest przecieø cewka. DziÍki wyeliminowaniu filtrÛw†LC wzmacniacz
jest prosty w†budowie, ma takøe
wysok¹ sprawnoúÊ.
Na rys. 7 przedstawiano przyk³ady przebiegÛw typowych dla
modulacji typu filter-free. Dla
przypomnienia, przebiegi na wyjúciach VOUT+ oraz VOUT- w†tym
typie modulacji s¹ w†fazie. Przy
napiÍciu na wejúciu wiÍkszym od
0, przebieg na wyjúciu Vout+ ma
wype³nienie wiÍksze od 50%,
a†Vout- mniejsze od 50%.
W†przypadku, gdy napiÍcie jest
mniejsze od 0, Vout+ bÍdzie
mieÊ wype³nienie mniejsze od
50% a†Vout- wiÍksze od 50%.
W†przypadku napiÍcia 0†V przebiegi na Vout+ i†Vout- maj¹ wype³nienie 50%, ale s¹ trochÍ
przesuniÍte, dlatego g³oúnik jest
zasilany krÛtkimi szpilkami pr¹dowymi. Takie sterowanie g³oúnika redukuje straty w†samym filtrze LC oraz w†g³oúniku. Pozwala
takøe na stosowanie g³oúnika
w†roli filtru bez straty skutecznoúci wzmacniacza. Zniekszta³cenia powstaj¹ce w†wyniku zasilania g³oúnikÛw sygna³em prostok¹tnym s¹ lokowane znacznie
Rys. 7. Przebiegi napięć dla modulacji filter−free
Elektronika Praktyczna 12/2003
Stereofoniczny wzmacniacz klasy D 2x20W
powyøej granicy s³yszalnoúci, czyli znacznie powyøej 20†kHz. Dla
zmniejszenia emisji zak³ÛceÒ,
producent zaleca w takim rodzaju modulacji zastosowanie
w†wyjúciach wzmacniacza koralikÛw ferrytowych, ktÛre zminimalizuj¹ emisjÍ zak³ÛceÒ wysokoczÍstotliwoúciowych o czÍstotliwoúciach wiÍkszych niø
1†MHz. W†przypadku potrzeby
zmniejszenia emisji zak³ÛceÒ
o†czÍstotliwoúciach mniejszych
niø 1†MHz producent zaleca zastosowanie filtru LC.
Opis dzia³ania uk³adu
Rys. 8. Schemat elektryczny wzmacniacza
Elektronika Praktyczna 12/2003
Schemat elektryczny wzmacniacza pokazano na rys. 8. £atwo
zauwaøyÊ, øe wzmacniacz sk³ada
siÍ z†dwÛch takich samych czÍúci
(po jednej dla kaødego kana³u).
Sygna³y wejúciowe s¹ podawane
na wejúcia rÛønicowe. Aby skorzystaÊ tylko z†jednego wejúcia
(konfiguracja asymetryczna), wystarczy wejúcia IR- oraz IL- zewrzeÊ do masy. Wzmacniacz ma
regulowane zworkami ZW1, ZW2
wzmocnienie wewnÍtrznego przedwzmacniacza. Wartoúci wzmocnienia odpowiadaj¹ce pozycjom zworek zestawiono w†tab. 2.
Rezystory R1...R3 podci¹gaj¹
wejúcia GAIN0, GAIN1 oraz !SHD
do napiÍcia 5†V, ktÛre wystÍpuje
na wyjúciu VREF. Podanie poziomu
niskiego (0 V) na wejúcie SHD
wprowadza wzmacniacz w†stan
uúpienia, w†ktÛrym pobierany
pr¹d jest mniejszy niø 1µA. Elementy C34, R4 oraz C35 i†R5
ustalaj¹ czÍstotliwoúci wewnÍtrznych oscylatorÛw na wartoúÊ
250 kHz, natomiast elementy R6,
C30, R7, C31 i†R8, C32, R9, C33
wspÛ³pracuj¹ z†obwodem bootstrap. Wyjúcia wzmacniacza (OUTN
i†OUTP) steruj¹ bezpoúrednio g³oúnikiem, poprzez proste filtry sk³adaj¹ce siÍ z†koralika ferrytowego
i†kondensatora. Filtry te - jak
wyøej wspomniano - zmniejszaj¹
emisj͆zak³ÛceÒ o†czÍstotliwoúciach wiÍkszych od 1†MHz. Elementy filtrÛw LC: L5, C5, L6, C6,
L7, C7 oraz L8, C8 s¹ typowe dla
klasycznych wzmacniaczy klasy
D, ktÛre w†tym wzmacniaczu
z†wyjaúnionych przyczyn nie musz¹ byÊ montowane. Pozosta³e
kondensatory odpowiedzialne s¹
za filtracjÍ napiÍÊ wystÍpuj¹cych
we wzmacniaczu.
25
Stereofoniczny wzmacniacz klasy D 2x20W
WYKAZ ELEMENTÓW
Rys. 9. Rozmieszczenie elementów na płytce drukowanej
Montaø i†uruchomienie
Stereofoniczny wzmacniacz naleøy zmontowaÊ na p³ytce drukowanej zgodnie z†rys. 9. Montaø
wzmacniacza trzeba rozpocz¹Ê od
wlutowania wzmacniaczy scalonych wykonanych w†technologii
SMD. Do montaøu tych uk³adÛw
potrzebna bÍdzie lutownica z†cienkim grotem. PrzydaÊ siÍ moøe
cienka cyna najlepiej o†úrednicy
0,25mm lub pasta lutownicza.
Wlutowanie elementÛw SMD na
pierwszy rzut oka nie musi byÊ
trudne lub niewykonalne prostymi metodami. Uk³ady U1, U2 dla
lepszego odprowadzania ciep³a zosta³y wyposaøone od dolnej strony obudowy w†metalow¹ wk³adkÍ. Kontakt tej wk³adki z†odpowiednio wyprofilowan¹ úcieøk¹
na p³ytce drukowanej spowoduje
Tab. 2. Wzmocnienie wzmacniacza
w zależności od położenia ZW1 i ZW2
ZW2 ZW1
1
1
0
0
Gdzie:
26
Wzmocnienie wzmacniacza (dB)
1
12
0
18
1
23,6
0
36
“1” zworka za³o¿ona
“0” zworka zdjêta
polepszenie odprowadzania ciep³a
z†uk³adu. By polepszyÊ kontakt
metalowej p³ytki wzmacniacza ze
úcieøk¹ p³ytki drukowanej, przed
wlutowaniem uk³adÛw, wk³adki
moøna posmarowaÊ past¹ silikonow¹. Zanim wlutowane zostan¹
uk³ady SMD, naleøy takøe ocynowaÊ przeznaczone dla nich punkty lutownicze. Po przyklejeniu
do p³ytki uk³adÛw SMD moøna je
zacz¹Ê lutowaÊ. Do przyklejenia
moøna uøyÊ klejÛw, ktÛre maj¹
d³uøszy czas schniÍcia. Nie nadaj¹
siÍ do tego typu wszelakie Kropelki. Lutowanie uk³adÛw SMD
polegaÊ bÍdzie na podgrzaniu i†dociúniÍciu ich koÒcÛwek do p³ytki
drukowanej. Cyna wystÍpuj¹ca na
punktach lutowniczych powinna
wystarczyÊ do zalutowania koÒcÛwek uk³adÛw. Pozosta³e elementy
s¹ do montaøu przewlekanego.
Producent zaleca zastosowanie
kondensatorÛw tantalowych, choÊ
mog¹ to byÊ takøe†elektrolity. Poniewaø najczÍúciej nie bÍd¹ montowane wyjúciowe filtry LC, miejsca na elementy L5...L8 naleøy
zewrzeÊ zworkami z†drutu.
Wzmacniacz po zasileniu napiÍciem z†zakresu +9...18 V†powinien od razu dzia³aÊ poprawnie.
Rezystory
R1...R5: 120kΩ
R6...R9: 51Ω
Kondensatory
C1...C4: 470nF
C9...C15: 100nF ceramiczny
C16, C17: 10µF/25V
C18...C29: 1µF najlepiej tantalowy
C30...C33: 220nF
C34, C35: 220pF
C36: 1000µF/25V
C37...C40: 1nF
Półprzewodniki
D1...D4: Dioda Schottky’ego
1N5818
U1, U2: TPA3001D1
Różne
L1...L4: koralik ferrytowy
W celu dodatkowego zmniejszenia
zakłóceń, montować elementy
C5...C8 oraz L5...L8 o wartościach
odpowiednio 470nF i 33µH dla
obciążenia 8Ω, i odpowiednio 1µF
i 15µH dla obciążenia 4Ω.
Jak pisa³em, wzmacniacz ma
wejúcia rÛønicowe, wiÍc przy korzystaniu tylko z†jednego wejúcia,
wejúcia IR- i†IL- naleøy do³¹czyÊ
do masy. Wzmocnienie wzmacniacza moøna dobraÊ do w³asnych
potrzeb zworkami ZW1 oraz ZW2.
Przy napiÍciu zasilania 18†V†i†impedancji g³oúnika 8Ω, wzmacniacz
bÍdzie w†stanie oddaÊ 20 W†mocy,
przy zniekszta³ceniach 10%. Przy oddawanej do obci¹øenia mocy 15
W†zniekszta³cenia THD bÍd¹ utrzymywane na poziomie 0,1%. Zniekszta³cenia zwiÍkszaj¹ siÍ wraz z moc¹ przy
mocach wiÍkszych niø 15 W.
W przypadku montaøu wzmacniacza w†obudowie komputera, naleøy zasiliÊ go dostÍpnym napiÍciem +12 V.
Marcin Wi¹zania, AVT
[email protected]
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie
pod adresem: pcb.ep.com.pl oraz na
p³ycie CD-EP12/2003B w katalogu PCB.
Elektronika Praktyczna 12/2003
Licznik
P
R Oenergii
J E K
elektrycznej
T Y
i watomierz
Miernik energii
elektrycznej
i watomierz,
część 1
AVT−555
Korzystaj¹c intensywnie
z†komputera, czÍsto
zostawiamy go w³¹czonym
przez 24†godz/dobÍ. Zadajemy
sobie wÛwczas
pytanie: ìIle
energii zuøywa ten
komputer?î. Odpowiedü na to
pytanie pozwala obliczyÊ ile
to
kosztuje. Niestety rada
w rodzaju: ìzmierz pobÛr
pr¹du amperomierzem,
pomnÛø przez 220V i czas
w³¹czeniaî nie jest w³aúciwa.
Do prawid³owego pomiaru
mocy czynnej wymagany jest
bardziej skomplikowany
miernik niø amperomierz jest nim watomierz.
Natomiast aby okreúliÊ
pobran¹ energiÍ naleøy
ìúledziÊ" pobieran¹ moc
zasilania w czasie.
Rekomendacje: miernik
energii niezbÍdny wszystkim
uøytkownikom urz¹dzeÒ
zasilanych z†sieci
energetycznej, ktÛrym zaleøy
na zminimalizowaniu
wysokoúci rachunkÛw
p³aconych za energiÍ
elektryczn¹.
14
O†mocach
w†telegraficznym skrÛcie
Moc chwilowa pobierana przez
odbiornik w†chwili t†jest rÛwna:
Obliczenie mocy pobranej
przez odbiornik jest ³atwe, gdy
jest on zasilany ze ürÛd³a pr¹du
sta³ego. Wystarczy zmierzyÊ napiÍcie i†pr¹d, pomnoøyÊ i†otrzymujemy moc w†watach. Gdy chcemy obliczyÊ moc odbiornika zasilanego z†sieci pr¹du przemiennego, sytuacja siÍ komplikuje.
Aby poprawnie obliczyÊ moc
czynn¹ (P) pobran¹ przez odbiornik naleøy jeszcze znaÊ przesuniÍcie fazowe pomiÍdzy przebiegiem
sinusoidalnym napiÍcia i†pr¹du.
Pomnoøenie tylko wartoúci skutecznych napiÍcia i†pr¹du da
w†wyniku moc pozorn¹ (S), ktÛra
jest pobierana z†sieci, ale nie jest
zamieniana w†ca³oúci na pracÍ.
Przyjmijmy, øe napiÍcie i†pr¹d†ma
przebieg sinusoidalny wyraøaj¹cy
siÍ wzorem:
u (t ) = 2U sin(ωt )
i (t ) = 2 I sin(ωt − ϕ )
gdzie:
U, I†- wartoúci skuteczne,
φ - przesuniÍcie fazowe miÍdzy
U†a†I.
p(t ) = u (t ) × i (t ) = UI cos ϕ ⋅ (1 − cos(2ωt )) − UI sin ϕ ⋅ sin( 2ωt )
p (t ) = P(1 − cos(2ωt )) − Q sin( 2ωt ) ,
zatem:
P = UI cos ϕ ; Q = UI sin ϕ ; S = UI
Charakterystyka przyrz¹du
Pomiar wielkoœci:
✓ mocy chwilowej (w odstêpach 1-sekundowych)
czynnej, biernej i pozornej,
✓ energii czynnej, (pozornej - opcja), energii czynnej w zadanym przedziale czasowym, równie¿
w systemie dwutaryfowym,
✓ wyliczenie wspó³czynnika mocy PF,
✓ napiêcia RMS, œredniego, amplitudy dodatniej
i ujemnej po³ówki przebiegu,
✓ pr¹du RMS (oraz j.w.),
✓ czêstotliwoœci napiêcia.
Zakres i rozdzielczoœci:
✓ napiêcie: zakres 270 VAC, rozdzielczoœæ 0,1 V,
✓ pr¹d: zakres 14 AAC, rozdzielczoœæ 1 mA lub 10
mA (powy¿ej 250 mA),
✓ moc: 3200 VA, rozdzielczoœæ 0,1 VA,
✓ energia: maks. 2000000 kWh, rozdzielczoœæ
1 Wh,
✓ pasmo pomiarowe ok. 7 kHz.
Pobór mocy: 2VA/0,25W.
Zewnêtrzne wymiary: 110x90x40, obudowa plastikowa (konieczna ca³kowita izolacja galwaniczna).
Elektronika Praktyczna 12/2003
Licznik energii elektrycznej i watomierz
skutecznej dowolnego przebiegu
w†szerokim zakresie czÍstotliwoúci jest metoda kompensacyjna na
dwÛch grzejnikach rezystancyjnych. WartoúÊ skuteczn¹ moøna
rÛwnieø wyliczyÊ dokonuj¹c obliczeÒ na skwantowanym przebiegu napiÍcia za pomoc¹ procesora.
Dzia³anie uk³adu
ADE7759
Pomiar mocy metod¹ analogow¹ jest moøliwy na dwa sposoby.
Pierwszy i†najprostszy, to pomiar
watomierzem wskazÛwkowym. Jest
to miernik magnetoelektryczny,
w†ktÛrym wychylenie wskazÛwki
jest proporcjonalne do iloczynu
napiÍcia i†pr¹du chwilowego,
Rys. 1. Zależności pomiędzy mocami, napięciem i prądem w zależności
a†wiÍc rÛwnieø jest uwzglÍdnione
od kąta przesunięcia fazowego
przesuniÍcie fazowe.
Jak wynika z analizy†rÛwnania,
czynna jest sum¹ mocy czynnych
Drugi sposÛb polega na
przebieg mocy chwilowej ma rÛwdla kaødej z†harmonicznych naobliczeniu mocy przez analogowy
nieø kszta³t sinusoidy, ale o†dwupiÍcia i†pr¹du. W†typowym oduk³ad mnoø¹cy zbudowany ze
krotnie wiÍkszej czÍstotliwoúci
biorniku z†prostownikiem i†konwzmacniaczy operacyjnych, jednak
(2ω). W†dodatku moc chwilowa densatorem wyg³adzaj¹cym jedyniewielka dopuszczalna dynamika
moøe przybieraÊ wartoúci ujemne
nie pr¹d ma bardzo odkszta³cony
sygna³u na wejúciu i†wyjúciu czyni
(rys. 1). WielkoúÊ cosφ jest znana
przebieg od sinusoidy. Zatem moc
taki przyrz¹d trudnym w†obs³udze.
Czytelnikom: im mniejszy
Ale wraz z†rozwojem techUwaga!
k¹t przesuniÍcia fazowego
niki cyfrowej moøliwe stapomiÍdzy napiÍciem a†pr¹³o siÍ obliczenie mocy (i
Ze względu na bezpośrednie podłączenie
dem, tym wiÍksza jest moc
nie tylko) w†sposÛb ca³koprzyrządu do sieci 230VAC, w zależności
czynna. Gdy pr¹d jest opÛü- od zorientowania wtyczki sieciowej włożonej
wicie cyfrowy. Wystarczyniony wzglÍdem napiÍcia,
³oby w†zasadzie skwantodo gniazdka, na masie przyrządu, a więc
to obci¹øenie ma charakter
waÊ przebieg napiÍcia
i na metalowej ramce wyświetlacza LCD
indukcyjny (np. silniki), nai†pr¹du z†odpowiedni¹
może pojawić się faza napięcia sieciowego!
tomiast gdy je wyprzedza,
czÍstotliwoúci¹, a†reszt¹ zaZ tego względu praca z przyrządem bez
to obci¹øenie ma charakter obudowy z tworzywa sztucznego jest wysoce
j¹³by siÍ juø odpowiednio
pojemnoúciowy. Symbolem
zaprogramowany procesor.
niebezpieczna.
Q†oznaczono moc biern¹.
Jednak wydajnoúÊ obliczeczynna jest przede wszystkim
Jest ona wydzielana na reaktancji,
niowa tego procesora musia³aby
zaleøna od†podstawowej (pierwmoc czynna na rezystancji a†moc
byÊ doúÊ duøa, poniewaø wymaszej) harmonicznej o†czÍstotliwoúpozorna na impedancji odbiornigana jest wysoka czÍstotliwoúÊ
ci 50 Hz. Moc pozorna jest
ka. Przebieg mocy biernej jest
prÛbkowania sygna³Ûw,†aby przeobliczana klasycznie: jako iloczyn
przesuniÍty w†stosunku do przebiegi niesinusoidalne (o szerokim
biegu mocy czynnej o†90o (analo- wartoúci skutecznych napiÍcia
widmie czÍstotliwoúci) nie powogicznie jak pr¹d w†stosunku do
i†pr¹du. Stosunek mocy P/S nie
dowa³y zbyt duøego b³Ídu.
napiÍcia), a†wiÍc†zaleønoúÊ miÍjest jednak oznaczany jako cosφ,
Na szczÍúcie producenci uk³adzy tymi mocami moøna przedlecz jako PF (power factor dÛw scalonych konstruuj¹ coraz to
stawiÊ w†trÛjk¹cie mocy (rys. 2). wspÛ³czynnik mocy). W†obu przylepsze i†wymyúlniejsze ìkostkiî, inMoc bierna moøe mieÊ dwojaki
padkach (cosφ, PF) naleøy d¹øyÊ
tegruj¹ce wiele uk³adÛw nie³atwych
charakter†zaleøny od rodzaju obdo tego, aby odbiornik pobiera³
do dyskretnego zrealizowania.
ci¹øenia: indukcyjny lub pojemjak najmniej mocy biernej, lecz
Uk³ady z†rodziny ADE775x firmy
noúciowy. Na tych wykresach wyosi¹gniÍcie tego celu realizuje siÍ
stÍpuje moc bierna indukcyjna.
rÛønymi sposobami.
Ca³kuj¹c (uúredniaj¹c) moc chwiWyjaúnienia wymaga jeszcze
low¹ w†czasie trwania jednego
pojÍcie wartoúci skutecznej (inaokresu otrzymujemy moc czynn¹
czej RMS). WartoúÊ skuteczna pr¹P, natomiast ca³kuj¹c moc czynn¹
du zmiennego odpowiada takiemu
P†w†czasie t†otrzymujemy energiÍ
natÍøeniu pr¹du sta³ego, ktÛry
czynn¹†E†zuøyt¹ przez odbiornik.
p³yn¹c w†obci¹øeniu rezystancyjW†przypadku przebiegÛw nienym wydzieli identyczn¹ moc co
sinusoidalnych obliczanie mocy
pr¹d zmienny. Dlatego najlepszym
jest bardziej skomplikowane. Moc
sposobem na zmierzenie wartoúci
Rys. 2. Trójkąt mocy
Elektronika Praktyczna 12/2003
15
Licznik energii elektrycznej i watomierz
Rys. 3. Schemat blokowy układu ADE7759
Analog Devices s¹ tego przyk³adem, a†najnowszy uk³ad ADE7759
(dostÍpny w†sprzedaøy), to w³aúciwie kompletny watomierz sterowany cyfrowo poprzez magistralÍ szeregow¹ SPI. Na rys. 3 przedstawiono jego schemat blokowy.
OpiszÍ teraz dzia³anie uk³adu
scalonego, zaznaczaj¹c co zosta³o
wykorzystane w†opisywanym przyrz¹dzie. Jak widaÊ, uk³ad zawiera
dwa tory pomiarowe przetwarzaj¹ce sygna³y wejúciowe: tor V1 pr¹dowy i†tor V2 - napiÍciowy.
Poza jednakowymi przetwornikami
analogowo-cyfrowymi (A/C) tory
znacznie rÛøni¹ siÍ od siebie.
Wzmacniacze programowalne maj¹
moøliwoúÊ ustawienia jednej z†piÍciu wartoúci wzmocnienia: 1, 2, 4,
8†lub 16. Tor napiÍciowy ma
zakres wejúciowy napiÍcia ustawiony na ±0,5 V†(rÛønicowo), natomiast tor pr¹dowy ma dodatkowo jeszcze dwa zakresy do wyboru: ±0,25 V i†±0,125 V. Te
wartoúci odpowiadaj¹ 63% pe³nej
skali na wyjúciu przetwornika A/
C. Poniewaø w†opisywanym watomierzu nie jest wykorzystywane
wyjúcie impulsowe CF, nie ma†potrzeby kalibrowania przetwarzania
bezpoúrednio w†ADE7759 za pomoc¹ rejestrÛw. Dlatego teø zmieni³em w†projekcie maksymalne napiÍcie wejúciowe doprowadzone
do wejúÊ na 100% skali A/C.
W†efekcie kana³ napiÍciowy moøe
ìprzyjmowaÊ" napiÍcie z zakresu
do 0,79 V, a†kana³ pr¹dowy pr¹d
do 0,395 V. W†rezultacie lepsza
jest dynamika mierzonych wartoúci napiÍÊ. Wzmocnienie wzmacniaczy ustawia siÍ za pomoc¹
jednego z†rejestrÛw bloku GAIN.
Ze wzmacniaczy sygna³ trafia na
16
przetworniki A/C typu sigma-delta. Przetworniki daj¹ na wyjúciu
20-bitow¹ liczbÍ w†uzupe³nieniu
do dwÛch (U2). WartoúÊ liczbow¹
w†kanale pr¹dowym moøna korygowaÊ w†zakresie ±50% za pomoc¹ rejestru APGAIN (tutaj nie
wykorzystywany). W†kanale pr¹dowym wystÍpuj¹ jeszcze dwa bloki
specjalne. Pierwszym jest filtr gÛrnoprzepustowy HPF1 eliminuj¹cy
sk³adow¹ sta³¹, a†drugim jest cyfrowy uk³ad ca³kuj¹cy przeznaczony do wspÛ³pracy z†cewk¹ Rogowskiego, s³uø¹c¹ do pomiaru pr¹du.
Obydwa bloki nie s¹ wykorzystywane w†tym watomierzu.
W†kanale napiÍciowym umieszczono blok korekcji fazowej sterowany rejestrem PHCAL, wymagany, gdy do pomiaru pr¹du uøyto
przek³adnika pr¹dowego lub gdy
filtr HPF1 zostanie w³¹czony. Poniewaø ten watomierz mierzy pr¹d
za pomoc¹ bocznika, nie jest wymagana øadna korekta fazy. NastÍpnie sygna³y obu torÛw trafiaj¹
do uk³adu mnoø¹cego. Wynikiem
mnoøenia jest 20-bitowa liczba
w†kodzie U2 odpowiadaj¹ca wartoúci chwilowej mocy czynnej.
Uúrednianie mocy chwilowej w†filtrze dolnoprzepustowym LPF2 daje moc czynn¹. Suma tej wartoúci
mocy z†zawartoúci¹ rejestru APOS
pozwala zminimalizowaÊ b³¹d wartoúci niezerowej mocy przy braku
obci¹øenia. Akumulacja mocy
w†40-bitowym rejestrze AENERGY
pozwala mierzyÊ dok³adnie iloúÊ
zuøytej energii elektrycznej przez
pod³¹czony odbiornik.
Poniewaø wszystkie te czynnoúci odbywaj¹ siÍ ìsprzÍtowoî,
w†odpowiednich blokach uk³adu
ADE7759 moøliwe sta³o siÍ
zmniejszenie czasu potrzebnego
na przetwarzanie prÛbek danych.
Cykl pracy uk³adu powtarza siÍ
z†czÍstotliwoúci¹ czterokrotnie
mniejsz¹ niø wynosi jego czÍstotliwoúÊ taktowania. Zalecana czÍstotliwoúÊ rezonatora kwarcowego
wynosi 3,579545 MHz, a†wiÍc
prÛbkowanie przebiegu wejúciowego, mnoøenie i†akumulacja
energii odbywa siÍ z†czÍstotliwoúci¹ prawie 900 kHz. Z†powodu
wystÍpowania zjawiska aliasingu
przy przetwarzaniu analogowo-cyfrowym, konieczne jest ograniczenie pasma sygna³Ûw†wejúciowych
za pomoc¹ filtrÛw RC do oko³o
7†kHz (dla -3dB spadku).
W†kanale napiÍciowym wystÍpuje dodatkowo filtr LPF1 ograniczaj¹cy pasmo przebiegu do 156
Hz. Jest on wykorzystywany przez
blok detekcji przejúcia przebiegu
napiÍcia przez zero (wyjúcie ZX)
oraz blok detekcji spadku lub
zaniku napiÍcia (wyjúcie SAG).
Szerzej o†tym i†jeszcze o†innych
funkcjach ADE7759 moøna przeczytaÊ w†opisie udostÍpnionym
przez producenta. WspomnÍ jeszcze o†jednej waønej funkcji, mianowicie o†moøliwoúci zg³aszaniu
przerwania (wyjúcie IRQ) przez
uk³ad pomiarowy, jeúli wyst¹pi
jedno z†kilku zdarzeÒ. Moøe nim
byÊ pojawienie siÍ w†specjalnym
rejestrze 20-bitowej prÛbki chwilowej napiÍcia, pr¹du lub mocy,
co zosta³o wykorzystane w†tym
watomierzu do obliczenia wartoúci napiÍcia, pr¹du, mocy pozornej
itp. CzÍstotliwoúÊ uaktualniania
prÛbek zosta³a wybrana tak, aby
program realizowany przez procesor zd¹øy³ obs³uøyÊ przerwanie
i†dokonaÊ niezbÍdnych obliczeÒ
przed nadejúciem kolejnej prÛbki.
W†praktyce uda³o siÍ to wykonaÊ
w†czasie krÛtszym niø 70 µs, co
da³o rozdzielczoúÊ 280 prÛbek na
okres sieci (50 Hz).
Podsumowuj¹c: moc i†energia
czynne s¹ obliczane co 1,12 µs
sprzÍtowo w†ADE7759, natomiast
pozosta³e wielkoúci s¹ wyliczane
programowo przez procesor steruj¹cy, na podstawie prÛbek przychodz¹cych co 71 µs.
Do wszystkich funkcji i†rejestrÛw dostÍp jest moøliwy poprzez
szeregow¹ magistralÍ SPI. Jest to
bardzo wygodne i†nowoczesne rozwi¹zanie - wszystkie ustawienia
i†kalibracje dokonywane s¹ pro-
Elektronika Praktyczna 12/2003
Licznik energii elektrycznej i watomierz
gramowo za pomoc¹ odpowiednich opcji i†zmiennych. Magistrala SPI jest
taktowana sygna³em SCLK,
ktÛrego czÍstotliwoúÊ nie
zaleøy od czÍstotliwoúci
pracy uk³adu ADE7759.
Zastosowanie 20-bitowego s³owa wyjúciowego
z†przetwornikÛw A/C pozwoli³o uzyskaÊ duø¹ dynamikÍ i†rozdzielczoúÊ pomiarÛw napiÍÊ wejúciowych. Producent deklaruje
dok³adnoúÊ przetwarzania
0,1% przy dynamice 1000:1
i†PF=1. Przy PF=0,5 i†skrajnej wartoúci temperatury
otoczenia, b³¹d roúnie do
±0,4%. Jest to znakomita
dok³adnoúÊ i†potrzebna jest
dobra konstrukcja przyrz¹du (precyzyjne elementy,
dobrze zaprojektowana
PCB), aby nie pogorszyÊ
znacz¹co tego wyniku.
Budowa i†dzia³anie
uk³adu
Rys. 4. Schemat elektryczny miernika mocy
Elektronika Praktyczna 12/2003
Na rys. 4 pokazano
schemat elektryczny watomierza. Jest to schemat aplikacyjny ADE7759, nierÛøni¹cy siÍ bardzo od proponowanego przez producenta. Zasilanie czÍúci cyfrowej DVdd i†analogowej AVdd
jest takie jak w†nocie aplikacyjnej. Wyjúcie wewnÍtrznego napiÍcia odniesienia
2,4 V†na nÛøce 9†zosta³o
zablokowane dwoma kondensatorami: 10 µF i†100
nF. Masa czÍúci analogowej
jest po³¹czona z†mas¹ cyfrow¹ w†jednym punkcie,
pod uk³adem U1 (ìsymboliczny" rezystor R20 o†rezystancji 0†Ω). Nieco zmieniony jest sposÛb pod³¹czenia wejúÊ pomiarowych do
sieci 230 V. NapiÍcie
z†bocznika pr¹dowego RS1
o†wartoúci 0,01Ω jest podane na wejúcie rÛønicowe
V1P-V1N poprzez filtr antyaliasingowy R1-C1, R2-C2
i†koraliki ferrytowe L1, L2.
Koraliki ferrytowe zapobiegaj¹ przedostawaniu siÍ
z†sieci do przyrz¹du impulsÛw zak³Ûcaj¹cych o†wysokiej czÍstotliwoúci. Jak juø
poda³em wczeúniej, maksy-
17
Licznik energii elektrycznej i watomierz
malna wartoúÊ rÛønicowa w kanale
pr¹dowym zosta³a ustalona (w rejestrze GAIN) na 0,4 V†przy wzmocnieniu x2. Daje to maksymaln¹
amplitudÍ napiÍcia wejúciowego
0,2†V, co odpowiada pr¹dowi 20†A,
czyli 14 Arms.
Kana³ napiÍciowy rÛwnieø posiada identyczne filtry antyaliasingowe. NapiÍcie sieciowe jest dzielone w†stosunku 1:500 w†dzielniku
R4/(R4+R5+R6+R7). Punkt wspÛlny napiÍÊ wejúciowych, czyli masa
analogowa zosta³a†wybrana w†punkcie K2 za koralikiem ferrytowym,
wiÍc wejúcia V1P i†V2N s¹ na
poziomie masy.
Uk³ad ADE7759 jest taktowany
przbiegiem zegarowym o†czÍstotliwoúci 3,579 MHz. Wyjúcie zg³aszania przerwania (IRQ) i†detekcji
zaniku lub spadku napiÍcia (SAG)
oraz wejúcie uaktywniaj¹ce magistralÍ SPI (CS) s¹ podci¹gniÍte do
Vdd za pomoc¹ rezystorÛw R13,
R14 i†R12. Wyjúcia te s¹ pod³¹czone do odpowiednich linii mikrokontrolera steruj¹cego.
Uk³adem steruje mikrokontroler
ATmega16 z†popularnej rodziny
AVR firmy Atmel. Tym co zadecydowa³o o†jego wyborze, by³a
dostÍpnoúÊ sprzÍtowego interfejsu
SPI, TWI (czyli I2C) oraz jednostki
mnoø¹cej, a†takøe duøa szybkoúÊ
wykonywania obliczeÒ i†moøliwoúÊ
programowania pamiÍci programu
w†uk³adzie docelowym (ISP). ATmega16 posiada 16KB pamiÍci
Flash, co daje moøliwoúÊ zapisania
prawie 8†tysiÍcy rozkazÛw - jest to
wiÍc spora pamiÍÊ jak na program
pisany wy³¹cznie w†asemblerze (takie by³o za³oøenie). Z†wyposaøenia
ATmega16 zosta³y wykorzystane
jeszcze: Watchdog i†Brown-Out-Detector (generuje sygna³ zeruj¹cy
przy zbyt niskim napiÍciu zasilania), funkcja ICP timera T1 (mierzenie czasu trwania impulsu) oraz
dwa wejúcia przerwaÒ zewnÍtrznych (INT0 i†INT2).
Mikrokontroler jest zasilany
przez filtr LC (L4, C17, C18), co
ma dodatkowo zapobiegaÊ moøliwoúci zak³Ûcenia jego pracy.
Taktowany jest sygna³em zegarowym stabilizowanym za pomoc¹
rezonatora 8†MHz, dziÍki czemu
³atwo jest obliczyÊ czasy wykonywania procedur.
Do portu A†oraz linii PD4 PD5
i†PD7 podpiÍto alfanumeryczny
wyúwietlacz LCD 2x16. Do szeúciu
18
linii portu C zosta³o do³¹czonych
6†przyciskÛw S1...S6 wraz z†kondensatorami C25...C30 s³uø¹cymi
do t³umienia drgaÒ ich stykÛw.
Wejúcie INT0 (port PD2) i†magistrala TWI (porty PC0, PC1) s¹
po³¹czone z†zegarem czasu rzeczywistego DS1307. Uk³ad ten pracuje
z†w³asnym kwarcem czÍstotliwoúci
rezonansowej 32 kHz, a†jego praca
jest podtrzymywana bateri¹ litow¹.
Na wyjúciu SQW pod³¹czonym do
INT0 w†ATmega16 wystÍpuje przebieg o czÍstotliwoúci 1†Hz, ktÛry
rozpoczyna start nowego cyklu
pomiarÛw.
Uk³ad ADE7759 komunikuje siÍ
z†mikrokontrolerem poprzez magistralÍ szeregow¹ SPI (PB5...PB7).
Wyjúcie SS (PB4), aktywne
poziomem niskim, inicjuje komunikacjÍ w†ADE7759. Magistrala SPI,
sygna³ RESET i†zasilanie s¹ takøe
wyprowadzone na z³¹cze szpilkowe J2 (standard STK200), ktÛre
s³uøy do programowania pamiÍci
programu mikrokontrolera.
Przerwania z†ADE7759 s¹ zg³aszane zmian¹ poziomu z†wysokiego
na niski na wejúciu INT2 (PB2).
Poziom niski na linii SAG sygnalizuje zbyt niskie napiÍcie sieciowe
lub jego brak, co jest wykorzystywane w†programie do zapisu stanu
licznikÛw energii. Ponadto procesor
ma moøliwoúÊ wyzerowania
ADE7759 poprzez liniÍ PB0, co jest
przydatne (w³aúciwie wymagane)
podczas restartu watomierza.
PobÛr pr¹du przez uk³ady scalone i†wyúwietlacz wynosi oko³o
20 mA. Do obniøenia napiÍcia
sieciowego zastosowany zosta³ miniaturowy transformator o†napiÍciu wtÛrnym 9†V. Aby zmniejszyÊ
udar pr¹dowy przy w³¹czeniu
oraz zak³Ûcenia z†sieci, przed kondensatorem filtruj¹cym znajduje
siÍ rezystor R21 (10Ω). Kondensator C9 ma duø¹ pojemnoúÊ jak
na tak niewielki pobÛr pr¹du,
poniewaø jego zadaniem dodatkowym jest podtrzymanie dzia³ania
watomierza jeszcze przez chwilÍ
po zaniku napiÍcia sieciowego.
NapiÍcie 5†V†jest stabilizowane
przez uk³ad scalony U3 (78L05).
Z³¹cze J1 s³uøy do zasilania
watomierza podczas programowania procesora. Niedopuszczalne
jest wgrywanie programu przy
zasilaniu przyrz¹du z†sieci 230 V
(chociaø jest to moøliwe, gdy
komputer nie jest uziemiony).
WYKAZ ELEMENTÓW
Rezystory
R1...R4: 1kΩ/1%
R5: 200kΩ/1%
R6, R7: 150kΩ/1%
R8, R21: 10Ω/5%
R9, R16...R18: 10kΩ/5%
R10...R15: 47kΩ/5%
R19: 47Ω/5%
RV1: 10kΩ potencjometr
RS1: 0,01Ω RS−3668671
VR1: 275VAC JVR−14N 431K
Kondensatory
C1...C4: 22nF/10%
C5, C10, C11, C13, C16, C17,
C19: 100nF
C6, C12, C14, C20: 10µF/6,3V
C7, C8, C21, C22: 22pF/5% NP0
C9: 1000µF/25V
C15: 220µF/10V
C18: 22µF/6,3V
C23...C31: 100nF/20%
Półprzewodniki
U1: ADE7759
U2: ATMega16
U3: LM78L05ACM
U4: DS1307Z
D1: LL4148
M1: 0,5A/50V B080C1000DIL
Różne
X1: 3,579MHz
X2: 8MHz
X3: 32768Hz
S1...S6: microswitch 12x12
TR1: TSZZ0.6/9V (Indel)
LCD1: LCD 2x16
BAT1: CR2032 podstawka
L1...L3: koralik ferrytowy 3,5x9 mm
L4: 10µH
J1, JP1: goldpiny
J2: DC10
obudowa Z5, kabel trójżyłowy
z wtyczką, gniazdko sieciowe
Do ochrony przyrz¹du przed
przepiÍciami w†sieci zasilaj¹cej
s³uøy warystor VR1. Cienka úcieøka na p³ytce drukowanej pomiÍdzy przewodem sieciowym
a†transformatorem, dzielnikiem
i†warystorem pe³ni rolÍ bezpiecznika. Jumper JP1 s³uøy do roz³¹czania transformatora od przewodÛw pomiarowych (sieciowych)
podczas kalibracji watomierza napiÍciem sta³ym.
Grzegorz Gajewski
[email protected]
Wzory p³ytek drukowanych w formacie PDF s¹ dostÍpne w Internecie
pod adresem: pcb.ep.com.pl oraz na
p³ycie CD-EP12/2003B w katalogu PCB.
Elektronika Praktyczna 12/2003
▲
Tester kabli sieciowych LAN
Skuteczny w działaniu i prosty
w wykonaniu – projekt naszego
Czytelnika przedstawiamy
na str. 101.
semi−MatrixOrbital LCD do PC ▲
Druga część opisu niebanalnego
PC−towego gadżetu. Str. 48.
▲
Stereofoniczny wzmacniacz
klasy D 2x20W
Wbrew „nieczystej” naturze klasy
D, wzmacniacz ten może okazać
się interesujący także dla
audiofili. Str. 21.
mail2led − sygnalizator e−maili dla PC
Projekt znany naszym internetowym
forumowiczom. Przykład tego, że marzenia się
spełniają! Str. 79.
▲
▲
Przetwornica do lamp Nixie
Ciąg dalszy nixie’owych przygód w
EP. Na str. 80 pokazujemy, jak łatwo
i pewnie zasilić lampy z 12 V.
▲
„Mikroprocesor” − nie zawsze
znaczy to samo
Artykuł prezentowany na str. 55 ma
w naszych założeniach dogłębnie
przedstawić korzenie mikrokontrolerów
− podzespołów niezwykle „banalnych”
dla współczesnych elektroników.
Komputerowy termometr
z interfejsem RS232
Na str. 45 przedstawiamy opis przystawki do
PC, doskonale współpracującej ze słynnym
Girderem.
▲
▲
nVisage DXP − wielowymiarowy
system projektowy firmy Altium
Konwerter USB<−>RS232
Prezentację środowiska DXP
kontynuujemy na str. 71.
Projekt opracowany w ramach
koncertu życzeń naszych
Czytelników − kolejne podejście
do USB. Str. 41.
▲
▲
Nowe sterowniki
modułowe firmy
Omron
Nowości z oferty firmy
Omron przedstawiamy
w artykule na str. 135.
6
Elektronika Praktyczna 12/2003
Nr 12 (132)
grudzień 2003
Projekty
Miernik energii elektrycznej i watomierz, część 1 ................... 14
Stereofoniczny wzmacniacz klasy D 2x20W ............................ 21
Spawarka impulsowa do spawania metodą TIG ................... 27
Zdalnie sterowany (DTMF) termostat, część 1 ......................... 35
Konwerter USB<−>RS232 .............................................................. 41
Komputerowy termometr z interfejsem RS232 ......................... 45
semi−MatrixOrbital LCD do PC, część 2 .................................... 48
Nowości Lattice’a ▲
Konfiguracja Girdera do współpracy z odbiornikiem
SIRC/RC5 (AVT−519) oraz termometrem (AVT−558) ................. 51
Wielki powrót na rynek?
Mają szanse, o czym
przekonają się Czytelnicy
artykułu ze str. 68.
Miniprojekty
mail2led − sygnalizator e−maili dla PC ...................................... 79
Przetwornica do lamp Nixie ....................................................... 80
Podzespoły
„Mikroprocesor” − nie zawsze znaczy to samo ........................ 55
Nowości Lattice'a ....................................................................... 68
Przetwornice DC/DC dla urządzeń
elektroniki przemysłowej ........................................................... 139
Sprzęt
Programator UprogHS 48 Portable ............................................ 63
▲
Programator UprogHS 48
Portable
Polak naprawdę potrafi!
Zainteresowanych sukcesem
rodaków na skalę niemalże
światową zapraszamy na str. 63.
Programy
nVisage DXP − wielowymiarowy system projektowy
firmy Altium ................................................................................... 71
Kurs
W głośnikowym żywiole, część 2 ............................................... 75
Silniki elektryczne w praktyce elektronika, część 1 ................. 85
Programowe interpretery poleceń w C ................................... 91
Podstawy projektowania systemów
mikroprocesorowych, część 10 ................................................. 98
W głośnikowym żywiole
Automatyka
Nowe sterowniki modułowe firmy Omron .............................. 135
Działanie sterowników S7−200 − podstawy, część 2 .............. 141
▲
Quasitechniczne wywody
„głośnikowego” guru z
miesięcznika Audio
przedstawiamy na str. 75.
Projekty Czytelników
Tester kabli sieciowych LAN ..................................................... 101
Z kraju i ze świata ........................................................ 123
Biblioteka EP ................................................................. 131
Kramik+Rynek .............................................................. 105
Bascomowe Porady ...................................................... 95
Listy ................................................................................. 111
Ekspresowy Informator Elektroniczny ..................... 119
Wykaz reklamodawców ............................................ 122
Elektronika Praktyczna 12/2003
7

Podobne dokumenty