sondanap_rs232.pdf

(201 KB) Pobierz
42632003 UNPDF
4
3/99
Sonda do pomiaru
napiêæ za poœrednictwem
interfejsu RS-232
Wyposa¿enie komputera w kartê przetworników analogowo-cy-
frowych jest czêsto poza zasiêgiem mo¿liwoœci wielu hobbystów
a nawet profesjonalistów. Za pomoc¹ opisywanej w artykule son-
dy ka¿dy posiadacz komputera bêdzie mia³ mo¿liwoœæ pomiaru
wielkoœci analogowych. Mog¹ to byæ na przyk³ad napiêcia pocho-
dz¹ce z przetworników wielkoœci nieelektrycznych takich jak tem-
peratura, ciœnienie, wilgotnoœæ itp. Funkcja automatycznego ra-
portowania pozwala na ci¹g³e monitorowanie doprowadzonych
na wejœcie sondy napiêæ.
Opisujemy konstrukcjê niewielkiej son-
dy s³u¿¹cej do pomiaru czterech wielkoœci
analogowych. Wykorzystanie nowoczesnego
i energooszczêdnego mikrokontrolera po-
zwoli³o na zasilanie ca³ego urz¹dzenia
z wyjœæ interfejsu RS-232. Uk³ad pobiera za-
ledwie oko³o 3 mA pr¹du - nie wymaga
wiêc oddzielnego zasilania. Przetwornik
A/C wbudowany w mikrokontroler PIC
12C671 posiada cztery wejœcia i rozdziel-
czoœæ 8 bitów. Zakres napiêæ wejœciowych
zosta³ poszerzony poprzez dodanie wstêp-
nych dzielników na ka¿dym z 4 kana³ów.
Podstawowe parametry sondy:
Liczba wejϾ
analogowych – 4
Rozdzielczoœæ pomiaru – 8 bitów
Napiêcie wejœciowe
odpowiadaj¹ce pe³nej
skali (bez dzielnika)
– 5,1 V
Maksymalne napiêcie
wejœciowe (bez dzielnika) – ±50 V
Prêdkoœæ transmisji
danych pomiarowych
– 4800 bitów
Zakres programowania czêstotliwoœci
dokonywania pomiarów
w jednym kanale – 0,1÷25 s
Rezystancja wejœciowa –
£
10 M
W
(tryb tekstowy)
W£1
+V
+V
V dd
D1
US2 PIC12C671
„SV1”
R17
R1*
4,7k
R9
12
8
1
4
R13
V ss
GP0/A0
V dd
GP5/OSC1/CLKI
R18
14
7
2
22k
A
13
R2*
2,2k
6
3
4
4,7k
D2
–V
GP1/A1/Vref
GP4/OSC2/A3/CLKO
T1
5
GP2/T0CKI/A2/INT
GP3/MCLR/Vpp
BC558B
R19
10k
W£2
+V
R3*
D3
R10
3
V dd
R20
R14
1
22k
B
RS-232
2
R4*
2,2k
10k
1
D4
R21
–V
10k
TX
6
RTS
RX
G1
1
W£3
T2
BC548B
7
8
+V
US1
R22
DTR
LM324
4,7k
2
R5*
D5
R11
9
3
5
5
D11
R15
4
5
D9
D10
7
22k
C
V dd
6
R6*
D6
–V
2,2k
C1
C4
D12
5V1
100 m F
100n
W£4
+V
V+
R7*
D7
R12
C2
C5
10
100 m F
100n
R16
8
22k
D
V–
9
R8*
2,2k
D8
–V
11
–V
C3
C6
Rys. 1 Schemat
ideowy sondy do
pomiaru napiêæ
100 m F
100n
D1÷D11 – 1N4148
*
*) zale¿na od rezystancji dzielnika wejœciowego
42632003.023.png 42632003.024.png 42632003.025.png 42632003.026.png 42632003.001.png 42632003.002.png 42632003.003.png 42632003.004.png 42632003.005.png
3/99
5
Budowa i dzia³anie
wtórnika napiêciowego sygna³ trafia do
wejœcia uk³adu US2, za poœrednictwem
rezystora zabezpieczaj¹cego (napiêcie
na wyjœciu uk³adu US1 mo¿e przekraczaæ
+5 V). Aby zakres napiêæ wyjœciowych
wzmacniacza pokrywa³ siê z zakresem
przetwarzania A/C konieczne by³o zasila-
nie „operacyjki” oddzielnym napiêciem
przekraczaj¹cym zarówno od strony ma-
sy jak i plusa wartoœæ napiêcia zasilania
uk³adu US2. Do zasilania wzmacniacza
równie¿ wykorzystano sygna³y wystêpu-
j¹ce na z³¹czu RS-232. Napiêcia ujemne-
go dostarcza linia TX, na której panuje
potencja³ -12 V gdy nie s¹ transmitowa-
ne dane z komputera. Drugim, dostar-
czaj¹cym napiêcia dodatniego, jest sy-
gna³ DTR, na którym wystêpuje poten-
cja³ +12 V od chwili zainicjowania po³¹-
czenia. Zasilanie wzmacniacza operacyj-
nego LM 324 nie musi byæ stabilizowa-
ne. Kondensatory C2, C3 wyg³adzaj¹
ewentualne wahania napiêæ jakie mog¹
pojawiæ siê podczas transmisji danych.
Tranzystor T1 jest odpowiedzialny
za dopasowanie poziomu sygna³u TX
wychodz¹cego z wyjœcia GP5 mikrokon-
trolera. Odwraca on tak¿e polaryzacjê
sygna³u TX. Tranzystor T2 dopasowuje
poziomy napiêæ wystêpuj¹ce na z³¹czu
RS-232 do wartoœci akceptowalnych
przez wejœcie GP3 uk³adu US2. Podobnie
jak T1 równie¿ on odwraca polaryzacjê
sygna³u RX. Dioda D12 stabilizuje na-
piêcie zasilaj¹ce mikrokontroler. Jest ona
jednoczeœnie Ÿród³em napiêcia odniesie-
nia dla przetwornika A/C.
matyczn¹ kalibracjê czêstotliwoœci wzor-
cowej. Litera „U” o kodzie ASCII
055h wysy³ana przed ka¿dym polece-
niem ustala dok³adn¹ szybkoœæ transmi-
sji po stronie mikrokontrolera.
Komunikacja sondy z komputerem
odbywa siê przy nastêpuj¹cych parame-
trach transmisji: szybkoœæ 4800 baudów,
brak bitu parzystoœci, 8 bitów danych,
jeden bit stopu (4800, -, 8, 1). Program
zapisany w pamiêci mikrokontrolera zo-
sta³ wyposa¿ony w prosty interpreter
poleceñ pozwalaj¹cy na intuicyjn¹ ko-
munikacjê z u¿ytkownikiem. Do obs³ugi
sondy najlepiej wykorzystaæ gotowy pro-
gram komunikacyjny. W przypadku
komputerów PC mo¿e to byæ na przy-
k³ad funkcja Terminal programu Norton
Commander lub Terminal systemu ope-
racyjnego Windows.
Przed przyst¹pieniem do pracy na-
le¿y skonfigurowaæ odpowiednie para-
metry transmisji oraz numer portu, do
którego do³¹czona jest sonda. Proces
konfiguracji wyjaœnimy na przyk³adzie
programu bêd¹cego standardowym wy-
posa¿eniem systemu Windows 95 - Hy-
perTerm. Po jego uruchomieniu z menu
„Plik” wybieramy opcjê „W³aœciwoœci”.
Nastêpnie w zak³adce „Po³¹cz z” w polu
„Po³¹cz u¿ywaj¹c:” wybieramy numer
portu szeregowego, do którego do³¹czo-
na jest sonda (por. rys. 2). Nastêpnym
krokiem bêdzie ustawienie parametrów
transmisji. W tym celu, w tym samym
dialogu klikamy na przycisku „Konfigu-
ruj” i przechodzimy do dialogu „Usta-
wienia portu”. Tam wybieramy: Bity na
sekundê: 4800, Bity danych: 8, Parzy-
stoϾ: Brak, Bity stopu: 1, Sterowanie
przep³ywem: Brak. Widok dialogu
przedstawiony zosta³ na rysunku 3. Na
koniec ustawiamy jeszcze typ emulowa-
nego terminalu - wracamy do poprze-
Schemat ideowy sondy do pomiaru
napiêæ przedstawiono na rysunku 1. Jej
konstrukcja jest bardzo prosta gdy¿ za-
równo multiplekser wejœciowy, prze-
twornik A/C jak i uk³ad transmisji szere-
gowej RS-232 znajduj¹ siê we wnêtrzu
uk³adu PIC 12C671. Jest to mikrokon-
troler firmy Microchip o bardzo intere-
suj¹cych w³aœciwoœciach. W oœmionó¿-
kowej obudowie producent zintegrowa³
czterowejœciowy przetwornik A/C o roz-
dzielczoœci 8 bitów, uk³ad nadzoruj¹cy
pracê mikrokontrolera - Watchdog , 8 bi-
towy tajmer, generator resetu oraz wie-
le innych przydatnych w prostych apli-
kacjach peryferii. Dodatkowo uk³ad
PIC12C671 posiada wewnêtrzny, kali-
browany generator RC o czêstotliwoœci
4 MHz dziêki czemu nie jest konieczne
do³¹czanie zewnêtrznego generatora
taktu.
Unikaln¹ cech¹ wszystkich mikro-
kontrolerów rodziny PIC jest ich energo-
oszczêdnoœæ. Uk³ad przy taktowaniu ze-
garem4 MHz pobiera zaledwie 2 mA
pr¹du. Pozwoli³o to na zasilanie ca³ego
urz¹dzenia bezpoœrednio z linii interfej-
su RS-232, które maj¹ stosunkowo nie-
wielk¹ wydajnoœæ pr¹dow¹. Jak ju¿
wspomniano, uk³ad US2 pe³ni równie¿
funkcjê nadajnika i odbiornika danych
w standardzie RS-232. Funkcje te reali-
zuje programowo, poniewa¿ nie zosta³
on wyposa¿ony w sprzêtowy uk³ad
transmisji szeregowej (UART).
Liczba pozosta³ych elementów
wchodz¹cych w sk³ad sondy jest niewiel-
ka i zosta³a sprowadzona do minimum
dziêki unikalnym w³aœciwoœciom mikro-
kontrolera US2. Na wejœciu ka¿dego
z analogowych kana³ów zosta³ umie-
szczony dzielnik wejœciowy, pozwalaj¹cy
na dostosowanie napiêæ wejœciowych do
zakresu przetwarzania przetwornika A/C.
Za poœrednictwem dwustanowego prze-
³¹cznika mo¿na wybieraæ Ÿród³o sygna³u
wejœciowego trafiaj¹cego do przetworni-
ka A/C (po podziale w dzielniku lub
wprost z wejœcia). Obwód wejœciowy sta-
nowi zabezpieczenie przepiêciowe zrea-
lizowane na dwóch diodach oraz szere-
gowym rezystorze (w pierwszym kanale
s¹ to odpowiednio elementy: D1, D2
i R9). Zwiêkszenie rezystancji wejœciowej
uzyskano do³¹czaj¹c przed ka¿de wejœcie
bufor oparty na wzmacniaczu operacyj-
nym US1. Z wyjœcia wzmacniacza opera-
cyjnego pracuj¹cego w konfiguracji
Opis programu
Specyfika transmisji ³¹czem RS-232
wymaga stosowania wzorca czêstotliwo-
œci o du¿ej precyzji zarówno po stronie
nadawczej jak i odbiorczej. Dopuszczal-
na jest niezgodnoœæ czêstotliwoœci zega-
rów taktuj¹cych w nadajniku i odbiorni-
ku na poziomie ±3 %. Wiêksze rozbie¿-
noœci mog¹ doprowadziæ do powstania
przek³amañ. Wewnêtrzny generator RC
mikrokontrolera US1 posiada czêstotli-
woœæ 4 MHz okreœlon¹ z dok³adnoœci¹
±5%. Zale¿y ona doœæ mocno od tem-
peratury oraz napiêcia zasilania. Aby
wiêc zapewniæ poprawnoœæ transmisji
szeregowej konieczne jest przeprowa-
dzenie kalibracji czêstotliwoœci wzorco-
wej. W tym celu protokó³ s³u¿¹cy do wy-
miany informacji pomiêdzy kompute-
rem a sond¹ pomiarow¹ zosta³ wyposa-
¿ony w polecenia umo¿liwiaj¹ce auto-
Rys. 2. Konfiguracja programu HyperTerm
– wybór portu COM
42632003.006.png 42632003.007.png
6
3/99
Rys. 3. Konfigurowanie parametrów transmisji
(komendy UO i UX). Po w³¹czeniu try-
bu automatycznego raportowania na-
piêæ sonda w zaprogramowanych od-
stêpach czasu dokonuje pomiaru na-
piêæ z wybranych wejœæ i przesy³a je
³¹czem transmisyjnym do komputera.
Protokó³ komunikacyjny rozró¿nia
ma³e i wielkie litery. Wszystkie polece-
nia zawieraj¹ wy³¹cznie wielkie litery.
Wys³anie do sondy nierozpoznawalnej
lub b³êdnej komendy spowoduje jej
anulowanie i brak potwierdzenia.
Po w³¹czeniu zasilania sonda auto-
matycznie przechodzi do trybu po-
miaru na ¿¹danie. Wszystkie parame-
try konfiguracyjne s¹ inicjowane war-
toœciami domyœlnymi tzn. czêstotliwoœæ
pomiarów równa 25 s na wszystkich wej-
œciach, automatyczne raportowanie wy-
³¹czone we wszystkich kana³ach.
Polecenie : UTx
{x = 1...4 - numer wejœcia}
Opis : Programowanie czêstotliwoœci po-
miarów napiêcia na wejœciu x
Sk‡adnia : Utx = t
{t = 1...250}; t - czas po-
miêdzy kolejnymi pomiarami podawany
jako wielokrotnoϾ 100 ms - zakres defi-
nicji: 0,1 ÷ 25,0 sekund
OdpowiedŸ sondy: Utx = t
Przyk‡ad (ustawienie czŒstotliwo ci pomia-
r w na wej ciu 2 co 5 sekund):
UT2 = 50
UT2 = 50
Polecenie : UAx
{x = 1...4 - numer wejœcia}
Opis: W³¹czanie lub wy³¹czanie trybu
automatycznego raportowania napiêcia
na wejœciu x
Sk‡adnia : Uax = m
{m = 0..1}; m = 0 - automa-
tyczne raportowanie napiêcia wy³¹czo-
ne, m = 1 - automatyczne raportowanie
napiêcia w³¹czone
Odpowied sondy : UAx=m
Przyk‡ad (wy‡„czenie automatycznego
raportowania w kanale 2) :
UA2 = 0
UA2 = 0
Polecenie : UO
Opis : Przejœcie do trybu automatycznego
raportowania napiêæ
dniego dialogu i w zak³adce „Ustawie-
nia” wybieramy emulacjê terminalu
VT100 (por. rys. 4). Po przeprowadzeniu
wszystkich niezbêdnych czynnoœci konfi-
guracyjnych mo¿emy przyst¹piæ do
pierwszych prób po³¹czenia z sond¹.
W g³ównego menu „Wywo³anie” wybie-
ramy opcjê „Wywo³anie”. Od tej chwili
nasza sonda jest ju¿ zasilana i mo¿e od-
powiadaæ na wpisywane z klawiatury
polecenia. Opis wszystkich poleceñ za-
mieszczamy poni¿ej.
W pracy sondy mo¿na wyró¿niæ dwa
tryby: pomiaru na ¿¹danie oraz automa-
tycznego raportowania napiêæ. Do pracy
w pierwszym trybie przewidziano od-
dzielne polecenia pozwalaj¹ce na po-
miar napiêæ w ka¿dym z wejœæ (komen-
dy UR1÷UR4). W trybie pomiaru na ¿¹-
danie dokonuje siê równie¿ konfiguracji
trybu automatycznego raportowania na-
piêæ. S³u¿¹ do tego celu polecenia defi-
niuj¹ce czêstotliwoœæ dokonywania po-
miarów w ka¿dym z wejœæ (komendy
UT1÷UT4) oraz niezale¿nego w³¹cza-
nia/wy³¹czania tej funkcji dla ka¿dego
wejœcia (komendy UA1÷UA4). Oddziel-
n¹ grupê stanowi¹ polecenia pozwalaj¹-
ce na prze³¹czanie pomiêdzy trybami
Opis poleceñ sondy
Polecenie : URx {x = 1...4 - numer wej-
œcia}
Opis : Pomiar napiêcia na wejœciu x
Sk‡adnia : URx
Odpowied sondy : Ux = mm
{mm = 0...255}; mm - zmierzona wartoϾ
Przyk‡ad (pomiar napiŒcia na wej ciu 2):
UR2
U2 = 147
R1
W£1
US2
C1
R9
US1
R14
D4
D1
C4
R13
R3
W£2
D3
G1
R10
D2
T2
R11
D8
R5
W£3
D5
D9
D12 D
10
R16
DTR
D7
D6
RX
R12
R15
T1
TX
RTS
R7
W£4
C2
C5
C6
C3
D11
Rys. 4. Wybór typu emulowanego terminalu
Rys. 5 P³ytka drukowana i rozmieszczenie elementów
42632003.008.png 42632003.009.png 42632003.010.png 42632003.011.png 42632003.012.png 42632003.013.png 42632003.014.png 42632003.015.png 42632003.016.png 42632003.017.png 42632003.018.png 42632003.019.png 42632003.020.png
3/99
7
Sk‡adnia : UO
Odpowied sondy : UO
Przyk‡ad :
UO
UO
Polecenie : UX
Opis : Przejœcie do trybu pomiaru na ¿¹-
danie
Sk‡adnia : UX
Odpowied sondy : UX
Przyk‡ad :
UX
UX
Uwagi : Je¿eli sonda znajduje siê w trybie
automatycznego raportowania napiêæ,
to mo¿e mieæ trudnoœci z odbieraniem
rozkazów. Jest to zwi¹zane z prac¹ w try-
bie halfduplex (mikrokontroler nie jest
w stanie jednoczeœnie wysy³aæ i odbieraæ
danych). Ze wzglêdu na to ograniczenie,
polecenie przejœcia do trybu pomiaru na
¿¹danie nale¿y powtarzaæ do momentu
odebrania potwierdzenia „UX”.
Wartoœci rezystorów u¿ytych
w dzielniku zale¿¹ od maksymalnych
wartoœci mierzonych napiêæ. Podajemy
wzór na obliczanie wartoœci rezystorów
u¿ytych w dzielniku w zale¿noœci od wy-
maganej rezystancji wejœciowej oraz za-
kresu napiêæ wejœciowych:
Wykaz elementów
Pó³przewodniki
US1 – LM 324
US2 – PIC 12C671 z programem
„SV1”
T1 – BC 558B
T2 – BC 548B
D1÷D11 – 1N4148
D12
– BZP 683C5V1
Rezystory
R1÷R8 – patrz opis w tekœcie
R9÷R12 – 22 k
W
/0,125 W
gdzie:
k
R13÷R16 – 2,2 k
W
/0,125 W
– stosunek podzia³u napiêæ
U we /U wy (U wy = 5,1 V)
R17, R18,
R22
– 4,7 k
W
/0,125 W
R we
– rezystancja wejœciowa (nie
mo¿e byæ wiêksza od 10 M
/0,125 W
R1*÷R8* – patrz opis w tekœcie
W
)
Przyk³adowo dla rezystancji wejœcio-
wej równej 1 M
W
Kondensatory
i zakresu napiêæ wej-
œciowych 0 ÷ 250 V rezystory bêd¹ mia-
³y nastêpuj¹ce wartoœci:
R1 = 979,6 kW
R2 = 20,4 kW
Analogicznie oblicza siê wartoœci
rezystorów R3, R4; R5, R6; R7, R8.
W przypadku pomiaru napiêæ wy³¹cz-
nie z zakresu 0 ÷ 5,1 V rezystorów
dzielnika oraz prze³¹cznika mo¿na nie
montowaæ.
Kabel ³¹cz¹cy sondê z komputerem
nie mo¿e byæ d³u¿szy ni¿ 15 metrów.
P³ytki drukowane wysy³ane s¹ za za-
liczeniem pocztowym. P³ytki i zaprogra-
mowane uk³ady PIC 12C671 z dopiskiem
SV1 mo¿na zamawiaæ w redakcji PE.
W
F/16 V 04/U
C4÷C6 – 100 nF/63 V KFP
m
Inne
W£1÷W£4 – prze³¹cznik bistabilny
hebelkowy
p³ytka drukowana numer 443
Monta¿ i uruchomienie
Uk³ad zmontowany ze sprawnych ele-
mentów nie powinien sprawiaæ k³opotów
podczas uruchamiania. Sondê mo¿na
przystosowaæ do pomiaru napiêæ w szero-
kim zakresie w zale¿noœci od wartoœci rezy-
stancji u¿ytych w dzielniku wstêpnym. Na-
piêcia wejœciowe pokrywaj¹ zakres od
0 do 5 V. Mo¿na go zmniejszyæ, przesun¹æ
lub odwróciæ stosuj¹c wzmacniacz o ¿¹da-
nej wartoœci wzmocnienia i przesuniêcia.
Cena: p³ytka numer 443 – 4,85 z³
PIC 12C671 SV1 – 38,00 z³
+ koszty wysy³ki.
Podzespo³y elektroniczne mo¿na zama-
wiaæ w firmie LARO - patrz IV strona
ok³adki.
R19÷R21 – 10 k
C1÷C3 – 100
42632003.021.png 42632003.022.png
Zgłoś jeśli naruszono regulamin