71_75.pdf

(332 KB) Pobierz
Obiektowa stacja systemu akwizycji danych, część 2 - AVT-828
Obiektowa stacja systemu akwizycji danych
P R O J E K T Y
Obiektowa stacja
systemu akwizycji
danych, część 2
AVT−828
KoÒczymy opis stacji
akwizycji danych analogowych,
ktÛra jest ìsercemî
zaawansowanego systemu
pomiarowego. W†kolejnych
numerach EP przedstawimy
przystawki z†ni¹
wspÛ³pracuj¹ce.
Rozpoczynamy od
matematyki, czyli zabiegÛw
niezbÍdnych podczas
kalibrowania toru
pomiarowego.
Kalibracja modu³u
Idealna charakterysty-
ka toru pomiarowego to
odcinek prostej
yo=Ao*x+Bo (o - obli-
czeniowy), ³¹cz¹cy punk-
ty (0 o C - 150) i†(150 o C -
900), natomiast charakte-
rystyka rzeczywista jest
rÛwnieø liniowa (co wyni-
ka z†zastosowanych rozwi¹zaÒ
uk³adowych) i†jest odcinkiem
prostej o†nieco innym nachyleniu
i†przesuniÍciu (wielkoúÊ tej rÛøni-
cy zaleøy od tego, jak uda³o siÍ
nam dobraÊ elementy):
yr=Ar*x+Br (r - rzeczywisty).
Sprowadzenie charakterystyki
rzeczywistej do idealnej wykonu-
jemy poprzez mnoøenie jej przez
wspÛ³czynnik korekcji wzmocnie-
nia oraz dodanie offsetu korekcji
przesuniÍcia:
Ao*x+Bo=K*(Ar*x+Br)+Ofs=
(K*Ar)*x+(K*Br+Ofs)
WspÛ³czynnik korekcji wzmoc-
nienia jest rÛwny K=Ao/Ar. Jest
on wyznaczony w†procesie kalib-
racji jako:
K=(yo(150)-yo(0))/(yr(150)-
yr(0))=750/(yr(150)-yr(0)),
gdzie y(150) to wartoúci pomiaru
dla gÛrnej granicy zakresu, czyli
150 o C, a†y(0) - dla dolnej, czyli
0 o C.
Natomiast offset jest wyznacza-
ny w†procesie kalibracji jako:
Ofs=yo(75)-K*yr(75)=525-K*yr(75),
gdzie y(75) to wartoúci pomiaru
dla po³owy zakresu, czyli 75 o C -
minimalizuje to b³Ídy dla typo-
wych zakresÛw pomiarowych.
Proces kalibracji najlepiej by-
³oby przeprowadziÊ dla pe³nego
toru pomiarowego - czyli ³¹cznie
z†czujnikiem temperatury. Jednak
wi¹øe siÍ to z†powaønymi kom-
plikacjami wynikaj¹cymi z†ko-
niecznoúci precyzyjnego zadawa-
nia temperatur (zw³aszcza øe to-
rÛw pomiarowych jest duøo). Nie
jest takøe rozwi¹zana sprawa szyb-
kiej i†niek³opotliwej wymiany
uszkodzonych czujnikÛw.
Wprowadzi³em zatem metodÍ
kompromisow¹. Przeprowadzona
zostaje dok³adna kalibracja torÛw
analogowych modu³u, przy za³o-
øeniu wspÛ³pracy z†idealnym czuj-
nikiem: na wejúcia podajemy syg-
na³y pr¹dowe odpowiadaj¹ce war-
toúciom wyjúciowym charakterys-
tyki katalogowej czujnika. Nato-
miast dopasowanie konkretnego
czujnika jest zrealizowane juø na
obiekcie (on-line) poprzez wpro-
wadzenie dodatkowego offsetu
czujnika, wynikaj¹cego z†rÛønicy
wartoúci mierzonej i†wartoúci
wskazywanej przez niezaleøny po-
miar kontrolny.
Ze wzglÍdu na fakt, øe kaødy
czujnik pracuje we w³asnym, do-
syÊ w¹skim zakresie temperatury
przyj¹³em teø, øe offset czujnika
nie zaleøy od temperatury. To
przybliøenie sprawdza siÍ w†prak-
tyce wystarczaj¹co dobrze (wpro-
Elektronika Praktyczna 10/99
71
30565540.028.png
Obiektowa stacja systemu akwizycji danych
Rys. 3. Schemat elektryczny przystawki zapewniającej linii SDA i SCL
pull−up oraz "zadajnik" prądu.
j¹cy w†úrodowis-
ku Win 3.x, Win
9x. Modu³ wyko-
rzystuje do ko-
munikacji z†pro-
gramem swÛj in-
terfejs RS232C.
Kabel transmisyj-
ny wymaga jedy-
nie skrzyøowa-
nych linii RxD
i†TxD, natomiast
od strony modu-
³u jest zmodyfi-
kowany poprzez
zwarcie linii RI
(pin 9) do masy
- w†ten sposÛb
modu³ zostaje po
w³oøeniu wtyku
poinformowany o†koniecznoúci
prze³¹czenia siÍ na wspÛ³pracÍ
z†monitorem.
Po po³¹czeniu (wspomnianym
kablem) modu³u z†wybranym por-
tem komputera i†w³¹czeniu zasi-
lania uruchamiamy program z†pa-
rametrem <COM1>..<COM4>,
okreúlaj¹cym numer uøytego por-
tu. Jeúli port bÍdzie zajÍty -
program zg³osi to i†siÍ wy³¹czy.
W†linii statusu podany jest stan
komunikacji z†modu³em - jesteú-
my informowani w†razie wyst¹-
pienia k³opotÛw z†po³¹czeniem
( rys. 4 ).
Wyprzedzaj¹co naleøy dodaÊ,
øe dla poprawnej, indywidualnej
pracy modu³u prze³¹cznik numer
4†powinien byÊ w³¹czony. Wynika
to z†organizacji ³¹cznoúci z†modu-
³em w†ramach stacji obiektowej
i†bÍdzie dok³adniej omÛwione
dalej. Przy poprawnej pracy mo-
du³ jest wywo³ywany co ok. 1†se-
kundÍ. Program wysy³a ramkÍ
danych ze specyfikacj¹ komend
do wykonania. Podstawow¹, za-
wsze wysy³an¹ komend¹ jest ø¹-
danie przes³ania wynikÛw pomia-
rÛw. Modu³ zwraca te wyniki oraz
pozycjÍ swojego prze³¹cznika ad-
resowego: dane te s¹ wyúwietlone
w†okienkach ìdipswitchî oraz ìka-
na³ 0†- 7î. Wykorzystuj¹c tylko tÍ
komendÍ moøemy uøywaÊ modu-
³u indywidualnie - jako 8-kana-
³owego termometru sprzÍøonego
z†komputerem.
W celu wykonania kalibracji
wybranego kana³u (przyciskiem
na gÛrnym panelu) przeprowa-
dzamy nastÍpuj¹c¹ sekwencjÍ
czynnoúci:
wadzenie dok³adniejszej korekcji
jest oczywiúcie moøliwe - polega
na odpowiednim rozszerzeniu op-
rogramowania).
Przebieg procesu kalibracji jest
nastÍpuj¹cy:
- ustawiamy na wejúciu wybrane-
go kana³u pr¹d 0,2732mA (0 o C),
- mikrokontroler zapamiÍtuje war-
toúÊ mierzon¹ (nieskorygowan¹)
dla 0 o C,
- te same operacje powtarzamy
dla 150 o C (0,4232mA) i†75 o C
(0,3482 mA),
- po otrzymaniu polecenia ka-
libracji mikrokontroler wyko-
nuje wyliczenie wspÛ³czynni-
kÛw K†oraz Ofs dla danego
toru wg zasad opisanych
wczeúniej i†zapamiÍtuje je
w†pamiÍci EEPROM - od tej
chwili s¹ one uøywane do
korygowania wartoúci kaødego
pomiaru.
Nie by³oby to u³atwieniem (a
wrÍcz przeciwnie!), gdyby nie
szereg narzÍdzi wspomagaj¹cych.
Do zasilania modu³u od³¹czonego
od magistrali stacji obiektowej
s³uøy ma³a przystawka zapewnia-
j¹ca pull-up linii SDA i†SCL,
zabezpieczenie przed odwrotnym
w³¹czeniem i†sygnalizator napiÍ-
cia. Z†racji prostoty zosta³a zmon-
towana ìw powietrzuî w†obudo-
wie wtyku DB-9 ( rys. 3 ).
Do zadawania wartoúci pr¹du
takøe powsta³a przystawka. Za-
wiera stabilizator 78L05, prze³¹cz-
niki suwakowe, 8-pozycyjny prze-
³¹cznik obrotowy, potencjometr
wieloobrotowy (drutowy TELPOD)
i†nieco rezystorÛw. S¹ one dob-
rane tak, aby w†po³¹czeniu z†re-
zystorami wejúciowymi modu³u
zapewniÊ z†grubsza w³aúciwe war-
toúci pr¹du dla kolejnych (0, 75,
150 o C) punktÛw pomiarowych. Do-
k³adne dostrojenie dla kaødego
punktu i†kana³u wykonujemy rÍcz-
nie potencjometrem (rys. 3).
Zadajnik pr¹du jest wyposaøo-
ny we wtyk dopasowany do gniaz-
da wejúciowego modu³u (DB-9)
oraz wyprowadzenie do do³¹czenia
kontrolnego miliamperomierza -
musi to byÊ przyrz¹d zapewniaj¹-
cy wymagan¹ rozdzielczoúÊ, a†wiÍc
co najmniej 4-cyfrowy. Zadajnik
jest zasilany przez z³¹cze z†modu-
³u - nie ma tam jednak linii masy
potrzebnej do dzia³ania stabiliza-
tora - naleøy j¹ pod³¹czyÊ oddziel-
nie, do czego s³uøy przygotowany
przewÛd z†krokodylkiem.
Najwaøniejszym narzÍdziem
wspomagaj¹cym kalibracjÍ jest
program monitora modu³u, pracu-
72
Elektronika Praktyczna 10/99
30565540.029.png 30565540.030.png 30565540.031.png 30565540.001.png 30565540.002.png 30565540.003.png 30565540.004.png 30565540.005.png 30565540.006.png 30565540.007.png 30565540.008.png 30565540.009.png
Obiektowa stacja systemu akwizycji danych
- Wybieramy punkt pomiarowy
i†ustawiamy za pomoc¹ zadajni-
ka odpowiedni pr¹d na odpo-
wiednim wejúciu.
- Wysy³amy polecenie zapamiÍta-
nia wyniku przyciskiem
ìPOM.î. Mikrokontroler po po-
prawnym wykonaniu komendy
zwraca potwierdzenie - program
zaznacza to w†odpowiednich
okienkach panelu ìPomiarî.
- Po wykonaniu wszystkich trzech
pomiarÛw dla danego kana³u
wysy³amy polecenie kalibracji -
przycisk ìKAL.î. Pozytywna re-
alizacja jest zaznaczona w†polu
ìKalibracjaî dla obs³ugiwanego
kana³u. Rezultat od razu widaÊ
w†polu wartoúci temperatury -
powinna ona dok³adnie odpo-
wiadaÊ ustawionemu aktualnie
pr¹dowi. Powyøsz¹ sekwencjÍ
powtarzamy dla kolejnych kana-
³Ûw.
Przycisk ìOFS.î s³uøy do wpro-
wadzania korekcji dla indywidu-
alnych czujnikÛw AD590. Na pod-
stawie pomiaru kontrolnego tem-
peratury, wpisujemy w†otworzo-
nym okienku dialogowym now¹,
w³aúciw¹ wartoúÊ - program wy-
licza na tej podstawie odpowiedni
offset i†przesy³a go do mikrokon-
trolera w†celu zapamiÍtania
w†EEPROM. Okienko jest wyposa-
øone w†kontrolÍ zakresÛw - ost-
rzega jeúli poprawka jest zbyt
duøa, co na ogÛ³ wskazuje na
usterkÍ sprzÍtow¹ czujnika lub
toru pomiarowego. O†ile kalibra-
cjÍ wykonujemy zazwyczaj w†wa-
runkach warsztatowych, to offset
czujnika wprowadzamy na obiek-
cie - przy stacji normalnie pra-
cuj¹cej (modu³ informuje stacjÍ
i†operatora - poprzez swÛj bajt
statusu - o†w³¹czeniu trybu mo-
nitora).
Wszystkie opisane opcje (z
wyj¹tkiem prze³¹czania kana³Ûw
i†punktÛw pomiarowych) nie dzia-
³aj¹ przy braku komunikacji z†mo-
du³em.
Program monitora nie wymaga
specjalnej instalacji i†nic nie zmie-
nia w†rejestrze i†plikach konfigu-
racyjnych - do wybranego katalo-
gu kopiujemy md590.exe oraz
opis590.txt . Potrzebna jest teø -
o†ile jeszcze jej nie mamy w†ka-
talogu ìsystemî (przy okazji sto-
sowania produktÛw Borland/Inp-
rise) - biblioteka bwcc.dll (moøe-
my j¹ skopiowaÊ do folderu ìsys-
temî albo do naszego folderu
roboczego). Plik opis590.txt za-
wiera tylko teksty opisÛw wartoú-
ci temperatury i†pr¹du dla kalib-
racyjnych punktÛw pomiarowych.
Jeúli go nie ma, to nic siÍ nie
stanie i†przyjÍte zostan¹ opisy dla
MD-590. Natomiast jeúli chcieli-
byúmy wykorzystaÊ monitor dla
bazuj¹cych na tym samym mecha-
nizmie programowym urz¹dzeÒ
z†innymi zakresami - odpowied-
nio zmieniamy opisy, aby nie
wprowadza³y w†b³¹d.
pod p³yt¹ montaøow¹). W†ten
sposÛb sta³e elementy okablowa-
nia (nie podlegaj¹ce prze³¹cze-
niom) s¹ ukryte, natomiast sam
modu³ moøna ³atwo od³¹czyÊ
w†celu naprawy, kalibracji itp.
£¹czÛwka moøe byÊ wykonana
jako zwyk³y zestaw gniazda i†lis-
twy zaciskowej. W†razie potrzeby
moøna j¹ takøe rozbudowaÊ np.
o†elementy ochrony przeciwprze-
piÍciowej.
Gniazda s¹ po³¹czone przewo-
dami taúmowymi z†odpowiednimi
punktami lutowniczymi na p³ytce
( rys. 5 ). Rozmieszczenie elemen-
tÛw na p³ytce pokazano na rys.
6 .
Wykonanie modu³u
Jednowarstwowa p³ytka druko-
wana modu³u jest wykonana
w†technologii fotochemicznej. Jest
dopasowana do taniej, popularnej,
ale estetycznej i†mocnej plastyko-
wej obudowy ZV.
Doln¹ po³ÛwkÍ obudowy mo-
cujemy na p³ycie montaøowej
szafki pomiarowej (mog¹ to byÊ
wkrÍty, moøna dokupiÊ takøe
uchwyty do eurolistwy - co jed-
nak znacznie podraøa nasz¹ kon-
strukcjÍ. Moøemy teø - jeúli nie
przewidujemy demontaøu - po
prostu uøyÊ kleju). Gniazda po-
³¹czeniowe s¹ ulokowane w†bocz-
nych úciankach. S¹ to: (z†jednej
strony obudowy) DB-9M dla
RS232C i†DB-9F do pod³¹czenia
czujnikÛw temperatury oraz
(z†drugiej strony) DB-9M i†DB-9F
do pod³¹czenia magistrali stacji
(zasilanie i†I 2 C). Gniazdo czujni-
kÛw jest po³¹czone z†poszczegÛl-
nymi czujnikami nie bezpoúred-
nio, ale za poúrednictwem dodat-
kowej ³¹czÛwki (umieszczonej
Montaø przygotowanej p³ytki
warto rozpocz¹Ê od jej sprawdze-
nia - czy nie wystÍpuj¹ przerwy
lub zwarcia. NastÍpnie wlutujemy
potrzebne zworki, podstawki i†ele-
menty bierne. Potem zmontujemy
obwody zasilania i†- po prowizo-
rycznym pod³¹czeniu - sprawdzi-
my, czy wartoúci napiÍÊ s¹ zgod-
ne z†zak³adanymi (+5V z†ST2
i†ST3 oraz ok. 3,9V z†ST1).
UWAGA: na p³ytce obudowa
ST2 narysowana jest odwrotnie
(zamienione piny 1†i†3†- naleøy j¹
przy montaøu obrÛciÊ).
Po wlutowaniu wzmacniaczy
operacyjnych sprawdzamy wstÍp-
nie pracÍ torÛw analogowych
(kontrolujemy napiÍcia przy zada-
nych pr¹dach wejúciowych - po-
winny siÍ w†przybliøeniu zgadzaÊ
z†podanymi w†opisie czÍúci ana-
logowej). Jeúli wszystko dzia³a
prawid³owo, przystÍpujemy do
uruchomienia czÍúci cyfrowej.
Rys. 4 Widok okna programu sterującego pracą modułu MD−590.
Elektronika Praktyczna 10/99
73
 
30565540.010.png
Obiektowa stacja systemu akwizycji danych
Po wmontowaniu wszystkich
elementÛw i†w³oøeniu do pod-
stawki mikrokontrolera pod³¹cza-
my symulator EPROM. Jeúli jest
on zasilany z†uk³adu, dobrze jest
obniøyÊ napiÍcie zasilania do
8..9V - stabilizator pracuje bez
radiatora, co zupe³nie wystarcza
w†normalnych warunkach, nato-
miast dodatkowo obci¹øony symu-
latorem moøe siÍ przegrzewaÊ.
£adujemy ma³y program testo-
wy, ktÛry cyklicznie zmienia stan
ktÛregoú wyjúcia - moøe to byÊ
np. linia DTR portu RS232. Mu-
simy teø pamiÍtaÊ o†koniecznoúci
obs³ugi licznika watchdoga.
Sprawdzamy, czy program jest
realizowany - co úwiadczy
o†sprawnoúci podstawowego uk³a-
du mikrokontrolera.
Moøemy teraz za³adowaÊ pro-
gram docelowy (albo od razu
w³oøyÊ zaprogramowany EPROM),
w³¹czyÊ zewnÍtrzne podci¹gniÍcie
linii SDA oraz†SCL i†przeprowa-
dziÊ prÛby komunikacji modu³u
z†monitorem oraz dzia³ania proce-
dur kalibracji. Dalsze etapy kon-
troli - czyli sprawdzenie pracy
modu³u w†stacji obiektowej - bÍd¹
moøliwe dopiero po z³oøeniu ca-
³ego zestawu.
KoÒczymy montaø sk³adaj¹c
obudowÍ i†wyposaøaj¹c j¹ w†opis.
- procedury obliczeniowe korekty
pomiarÛw analogowych oraz ka-
libracji.
Zegar (timer) systemowy jest
zrealizowany w†sposÛb tradycyj-
ny dla serii MCS 51 - poprzez
obs³ugÍ przerwania licznika T0
pracuj¹cego w†trybie 16-bitowym
z†prze³adowaniem. W†procedurze
obs³ugi - wywo³ywanej co ok.
50ms - jest filtrowane wejúcie
steruj¹ce prze³¹czaniem trybÛw
pracy (zwyk³y/monitor), spraw-
dzany timeout sesji komunikacyj-
nej I 2 C i†ustawiana flaga sekun-
dnika.
Wejúcia prze³¹cznika adreso-
wego nie s¹ filtrowane, gdyø nie
przewidujÍ ich prze³¹czania
w†trakcie pracy - s¹ odczytane
jednokrotnie podczas startu pro-
gramu. Prze³¹cznik umoøliwia do-
³¹czenie do magistrali stacji czte-
rech modu³Ûw MD-590 (lub 3†jeúli
kontroler stacji wykorzystuje
PCF8583).
Jego po³oøenie okreúla adres
pamiÍci EEPROM modu³u oraz
adres Slave mikrokontrolera (po
wys³aniu tego adresu przez kon-
troler modu³ odpowiada i†przesy-
³a swoje dane). Jeden z†prze³¹cz-
nikÛw dipswitcha pozwala na
indywidualne dzia³anie modu³u
(jak to by³o wspomniane wczeú-
niej). Przyj¹³em bowiem protokÛ³
wewnÍtrznej komunikacji stacji
z†przydzielaniem czasu poszcze-
gÛlnym modu³om MD-590 na wy-
korzystanie wspÛlnej magistrali I 2 C
dla w³asnych potrzeb: zapisu i†od-
czytu swojego EEPROM-u. Inter-
fejs I 2 C jest wprawdzie wyposa-
øony w†mechanizmy samoczynne-
go arbitraøu, ale pozostawi³em je
jako ostatni¹ "deskÍ ratunku" na
wypadek pogubienia siÍ progra-
mÛw stacji.
Komunikacja z przydzielaniem
czasu przypomina organizacjÍ sie-
ci Token Ring. Podczas normalnej
pracy (jako zespÛ³ stacji obiekto-
wej) modu³ po starcie czeka na
swÛj przydzia³ czasu, aby wyko-
naÊ odczyt zapamiÍtanych w†EEP-
ROM wspÛ³czynnikÛw korekcyj-
nych.
Do tej chwili nie jest w†sta-
nie wyliczyÊ prawid³owych wy-
nikÛw pomiarÛw, wiÍc zg³asza
w†swoim s³owie statusu brak
gotowoúci. Przy ustawieniu prze-
³¹cznika na pracÍ autonomiczn¹
to oczekiwanie jest pominiÍte
i†pomiary wraz z†przeliczeniami
korekcyjnymi rozpoczynaj¹ siÍ
od razu.
Mikrokontroler pracuje w†sys-
temie I 2 C stacji jako Slave , nato-
miast przy obs³udze ìswojegoî
EEPROM-u - jako Master . Wyko-
rzystany jest w†tym celu opisany
juø dok³adnie interfejs sprzÍtowy
I 2 C wspomagany przerwaniem.
W†stosunku do poprzednich przy-
k³adÛw zastosowania oprogramo-
wanie jest rozszerzone o†procedu-
ry przerwaÒ dla trybu Slave
Transmitter . WidaÊ z†tego, øe
przyjÍcie poleceÒ i†danych z†kon-
trolera stacji (w celu np. przes³a-
nia do zewnÍtrznego urz¹dzenia
wykonawczego) nie bÍdzie wyma-
ga³o øadnych specjalnych zabie-
gÛw - naleøy tylko dodatkowo
obs³uøyÊ przerwania dla trybu
Slave Receiver .
Komunikacja z†EEPROM odby-
wa siÍ sporadycznie - odczyt
tylko podczas inicjalizacji, nato-
miast zapis tylko w†trakcie kalib-
racji torÛw analogowych. Pobiera-
nie danych przez kontroler (tryb
Slave Transmitter ) zachodzi co
kilka sekund.
W buforze danych s¹ groma-
dzone wyniki pomiarÛw poszcze-
gÛlnych kana³Ûw, status modu³u
oraz blok danych pochodz¹cych
z†urz¹dzenia zewnÍtrznego (w mo-
delu takiego urz¹dzenia nie prze-
widzia³em, w†uk³adzie rzeczywis-
tym s¹ to liczniki energii cieplnej
w†wodzie gor¹cej oraz w†parze
wodnej). Odczyt kana³Ûw analogo-
wych odbywa siÍ w†cyklu:
- wykonanie 16 pomiarÛw w†da-
nym kanale,
- wyliczenie úredniej (minimali-
zuje to przypadkowe b³Ídy i†za-
k³Ûcenia),
- przeliczenia korekcyjne wg
wczeúniejszego opisu,
- za³adowanie wyniku w†odpo-
wiednie miejsce bufora danych
(pomijane jeúli bufor jest aktu-
alnie wysy³any),
- przejúcie do nastÍpnego kana³u
i†start przetwarzania.
Sterujemy pomiarami za po-
úrednictwem rejestru funkcyjne-
go ADCON (0C5h). Trzy naj-
m³odsze bity (0-2) okreúlaj¹ ad-
res (0-7) jednego z†8†kana³Ûw,
ktÛry ma byÊ do³¹czony do prze-
twornika A/C. Start konwersji
nastÍpuje po programowym usta-
wieniu bitu 3. (ADCS). ZakoÒ-
Oprogramowanie modu³u
W poniøszym tekúcie nie
przedstawiamy szczegÛ³owego
opisu zasad pracy uøytego mik-
rokontrolera i†zak³adamy przynaj-
mniej jego wstÍpn¹ znajomoúÊ.
Pomocne mog¹ byÊ zarÛwno dane
katalogowe jak i†opis kitu AVT-
280 (p³ytka bazowa '552, EP4/96).
Program mikrokontrolera moøe-
my podzieliÊ na bloki funkcjonal-
ne:
- w³asne funkcje systemowe: ob-
s³uga watchdoga, zegar systemo-
wy, timeout'y, odczyt nastaw
prze³¹cznikÛw i†wejúÊ steruj¹-
cych, inicjalizacja,
- obs³uga portu UART w†trybie
komunikacji z†monitorem oraz
w†trybie komunikacji z†dodatko-
wym urz¹dzeniem zewnÍtrznym,
- obs³uga interfejsu I 2 C jako Slave
(komunikacja z†kontrolerem sta-
cji obiektowej) i†jako Master
(zapis i†odczyt w³asnej pamiÍci
EEPROM),
- ci¹g³a realizacja odczytu i†kon-
wersji wejúÊ analogowych,
74
Elektronika Praktyczna 10/99
 
Obiektowa stacja systemu akwizycji danych
Rys. 5. Zalecany sposób okablowania stacji.
wartoúci offsetÛw
toru analogowego
i†czujnika jako
125. Jest to skory-
gowane w†proce-
sie przeliczeÒ po-
przez koÒcowe
odjÍcie sta³ej war-
toúci 250. Offsety
dodatnie oznacza-
j¹ zatem liczby
wiÍksze niø 125
zaú ujemne -
mniejsze. Moøli-
wy do uzyskania
zakres offsetÛw
znacznie przekra-
cza rzeczywiste
potrzeby (np.
100*0,2 o C=20 o C - tego rzÍdu
wartoúÊ offsetu wskazuje juø na
usterkÍ sprzÍtow¹).
W†komunikacji przez RS232
wykorzystane jest przerwanie por-
tu szeregowego 0. Jak wspomnia-
³em, obejmuje ona dwa przypadki:
- tryb normalny obs³uguje dodat-
kowe urz¹dzenie zewnÍtrzne
i†jest skonfigurowany zgodnie
z†potrzebami tego urz¹dzenia
(tzn. jego wbudowanym proto-
ko³em),
- tryb monitora - jedyny zastoso-
wany w†modelu - zapewnia
wspÛ³pracÍ modu³u z†progra-
mem kalibracji.
W†trakcie dzia-
³ania programu
jest cyklicznie
sprawdzany stan
pinu RI gniazda
RS. Po odfiltrowa-
niu zak³ÛceÒ jest
on uøyty - jak
wspomnia³em
wczeúniej - do
w³¹czenia odpo-
wiedniego trybu.
Obs³uga we-
wnÍtrznego watch-
doga sprowadza
siÍ do okresowego
prze³adowania
licznika T3 wat-
chdoga - przepe³-
nienie licznika ge-
neruje sygna³ ze-
ruj¹cy. CzÍstotli-
woúÊ zliczania
wynosi fwatch=
fosc/(12*2048)
(dla fosc=12MHz
inkrementacja co
ok. 2†ms). £aduj¹c
licznik odpowiedni¹ wartoúci¹
moøemy w†szerokim zakresie usta-
liÊ czas zadzia³ania watchdoga.
Dla zwiÍkszenia niezawodnoúci
dostÍp do licznika jest moøliwy
tylko po wczeúniejszym ustawie-
niu bitu WLE=PCON.4 (trzeba to
wykonaÊ kaødorazowo, gdyø przy
wpisie do T3 bit jest zerowany).
Z†racji sporej z³oøonoúci pro-
gramu, powyøszy opis przedsta-
wia tylko ogÛlny zarys jego dzia-
³ania. Zainteresowani mog¹ po-
szukaÊ szczegÛ³Ûw w†kodzie ürÛd-
³owym. Jest on napisany w†mak-
roasemblerze MCC-51 z†funkcjo-
nalnym podzia³em na modu³y
(arytmetyczny, obs³ugi przerwaÒ,
obs³ugi I 2 C, itd.). Dla kaødego
urz¹dzenia zewnÍtrznego naleøy
wg potrzeb dopisaÊ odpowiednie
procedury komunikacyjne.
Opisy nastÍpnych modu³Ûw,
kontrolera stacji oraz przyk³ado-
wego programu wizualizacji za-
mieúcimy w†nastÍpnych odcin-
kach.
Jerzy Szczesiul, AVT
jerzy.szczesiul @ ep.com.pl
czenie konwersji jest sygnalizo-
wane wywo³aniem odpowiednie-
go przerwania.
Wynik odczytujemy z†rejestru
ADCH (8 starszych bitÛw) oraz
z†ADCON - bity 7. i†6. s¹ dwoma
najm³odszymi bitami wartoúci po-
miaru. Dla oszczÍdnoúci miejsca
w†buforze (brak zewnÍtrznej pa-
miÍci danych) wyniki s¹ umiesz-
czone w†postaci spakowanej: star-
sze bajty kolejnych kana³Ûw (8)
a†nastÍpnie 2†bajty z†kolejno ulo-
kowanymi dwÛjkami najm³od-
szych bitÛw.
Do wykonywania niezbÍdnych
obliczeÒ wykorzystane s¹ 32-bito-
we procedury arytmetyczne ope-
ruj¹ce na liczbach ca³kowitych.
Aby w†ten sposÛb zrealizowaÊ
opisane poprzednio dzia³ania (w
normalnym trybie wymagaj¹ce
liczb rzeczywistych) zastosowa-
³em kilka operacji pomocniczych:
- Wyliczenie úredniej z†16 zsumo-
wanych pomiarÛw odbywa siÍ
poprzez rÛwnowaøne przesuniÍ-
cie liczby o†4†pozycje w†prawo
(jest to szybsze niø procedura
dzielenia).
- WspÛ³czynnik korekcji wzmoc-
nienia jest znormalizowany do
postaci liczby ca³kowitej po-
przez pomnoøenie *10000. Mieú-
ci siÍ wtedy w†formacie Word
i†tak jest zapisywany w†EEP-
ROM. PowrÛt do odpowiedniego
rzÍdu wartoúci odbywa siÍ przez
koÒcow¹ operacjÍ dzielenia
:10000 (moøemy sprawdziÊ, øe
taka procedura zapewnia z†du-
øym zapasem wymagan¹ dok³ad-
noúÊ obliczeÒ).
- Aby unikn¹Ê wartoúci ujemnych
przyj¹³em wstÍpne (ìzeroweî)
Oprogramowanie dla PC do
wspÛ³pracy z†zestawem prezento-
wanym w†artykule jest dostÍpne
w†Internecie pod adresem:
www.ep.com.pl/ftp/tools.html.
Rys. 6. Rozmieszczenie elementów na płytce
drukowanej.
Elektronika Praktyczna 10/99
75
30565540.011.png 30565540.012.png 30565540.013.png 30565540.014.png 30565540.015.png 30565540.016.png 30565540.017.png 30565540.018.png 30565540.019.png 30565540.020.png 30565540.021.png 30565540.022.png 30565540.023.png 30565540.024.png 30565540.025.png 30565540.026.png 30565540.027.png
Zgłoś jeśli naruszono regulamin