woltomierz mówiący.pdf

(587 KB) Pobierz
"Mówiący" woltomierz, część 1 - AVT-5097
Mówi¹cy woltomierz
Mówi¹cy woltomierz,
czêæ 1
AVT-5097
Nazwa woltomierz lub
miernik kojarzy nam siê
zazwyczaj z przyrz¹dem
wyposa¿onym w wywietlacz,
na którym wywietlane s¹
wyniki pomiarów.
W opisanym w artykule
woltomierzu zastosowano doæ
nietypowy sposób
prezentowania wartoci
mierzonego napiêcia. Zamiast
wywietlacza ma on jedynie
g³onik, wiêc wynik oznajmia
g³osem.
Rekomendacje :
o mówi¹cych przyrz¹dach
pomiarowych marzyli do
niedawna przede wszystkim
niepe³nosprawni, ale wygoda
korzystania z nich przekona
tak¿e wielu pe³nosprawnych
elektroników.
Woltomierz jest zbudowany
w oparciu o specjalizowany uk³ad
4,5-cyfrowego woltomierza
ICL7135. Wynik pomiarów jest
nastêpnie kierowany do proceso-
ra, który przetwarza otrzymane
dane i odpowiednio steruje uk³a-
dem odtwarzania dwiêku
ISD2560. Mikrokontroler otrzymu-
je przetworzon¹ na postaæ cyfro-
w¹ informacjê o mierzonym na-
piêciu i mo¿e j¹ przetworzyæ
w dowolny sposób. Prezentacja
zmierzonego napiêcia jest wyko-
nywana przy u¿yciu specjalizowa-
nego uk³adu (umo¿liwiaj¹cego na-
grywanie i odtwarzanie dwiê-
ków), pochodz¹cego ze s³ynnej
rodziny ISD. Mikrokontroler jest
wiêc odpowiedzialny za odczyta-
nie danych o wartoci zmierzo-
nego napiêcia, wyszukanie odpo-
wiednich komunikatów zawartych
w pamiêci uk³adu ISD2560 i za-
inicjowanie ich odtworzenia.
Woltomierz umo¿liwia pomiar
napiêcia o wartociach z prze-
dzia³u od -2000 do +2000 V
w czterech podzakresach pomiaro-
wych. Oprogramowanie steruj¹ce
okrela na podstawie stanu zwo-
rek JP3 i JP4, jaki jest aktualnie
ustawiony zakres pomiarowy i od-
powiednio modyfikuje wypowia-
dane komunikaty.
Dla przyk³adu, podanie na wej-
cie przetwornika A/C napiêcia
równego 1V i ustawienie zakresu
pomiarowego na 2V spowoduje,
¿e komunikat bêdzie brzmia³: JE-
DEN WOLT . Przy tym samym
napiêciu wejciowym, ale po
zmianie zakresu pomiarowego na
200V, procesor wybierze komuni-
kat: STO WOLTÓW .
Uk³ad przedstawia wiêc w spo-
sób s³owny dowoln¹ wartoæ napiê-
cia z zakresu -1999,9 V...+1999,9 V.
W przypadku przekroczenia na-
piêcia dla danego zakresu zosta-
nie wypowiedziany komunikat:
ZAKRES PRZEKROCZONY .
Zmianê zakresu pomiarowego
mo¿na przeprowadziæ w czasie
pracy. Po tej czynnoci zostanie
wypowiedziany komunikat infor-
muj¹cy o aktualnym zakresie po-
miarowym i napiêcie bêdzie wypo-
wiadane z uwzglêdnieniem warto-
ci nowego zakresu pomiarowego.
W zale¿noci od wybranego za-
kresu, wynik jest przedstawiany
z ró¿n¹ rozdzielczoci¹. W  tab. 1
przedstawiono rozdzielczoci mie-
rzonego napiêcia dla poszczegól-
nych zakresów pomiarowych.
W zale¿noci od wartoci mie-
rzonego napiêcia, komunikat jest
odpowiednio sk³adany z pojedyn-
czych s³ów. Oprogramowanie pro-
Elektronika Praktyczna 1/2003
25
P R O J E K T Y
85049758.040.png 85049758.041.png
Mówi¹cy woltomierz
cesora minimalizuje liczbê wypo-
wiadanych s³ów, a wiêc i cyfr
zmierzonego napiêcia. Dla napiê-
cia równego 1,123V, komunikat
bêdzie mia³ postaæ: JEDEN WOLT
I STO DWADZIECIA TRZY MI-
LIWOLTY , a dla napiêcia 0,005V
komunikat bêdzie nastêpuj¹cy:
PIÊÆ MILIWOLTÓW . Jak wynika
z tego przyk³adu, komunikaty s¹
formowane w taki sposób, ¿e nie-
znacz¹ce zera s¹ pomijane, co
wp³ywa na przejrzystoæ prezen-
towanych komunikatów. Wypo-
wiadane jednostki mierzonego na-
piêcia s¹ odmieniane przez przy-
padki i dlatego dla napiêcia rów-
nego 3mV us³yszymy TRZY MI-
LIWOLTY , a dla 5 mV - PIÊÆ
MILIWOLTÓW .
Wartoæ napiêcia dla kolejnych
pomiarów mo¿e byæ wypowiadana
w ró¿nych odstêpach czasowych.
Czas ten mo¿e byæ programowany
w zakresie 0...60 sekund, a ponad-
to jest dostêpna funkcja przery-
waj¹ca wypowiadanie napiêcia.
Funkcja ta porównuje mierzone
napiêcie i jeli piêæ kolejnych
pomiarów wskazuje tak¹ sam¹
wartoæ, to pomiary s¹ wykony-
wane nadal, ale nie jest wypo-
wiadana ich wartoæ. Po zmianie
wartoci napiêcia nastêpuje auto-
matyczne wznowienie jej wypo-
wiadania. Funkcja ta jest szcze-
gólnie przydatna, gdy do wolto-
mierza nie jest do³¹czone ¿adne
napiêcie, gdy¿ po pewnym czasie
woltomierz automatycznie prze-
jdzie w tryb czuwania, a gdy po-
jawi siê napiêcie, samoczynnie
powróci do trybu pracy.
Budowa i dzia³anie
Schemat elektryczny woltomie-
rza przedstawiono na rys. 1 .
Sk³ada siê on z trzech bloków
funkcjonalnych: bloku pomiaru
napiêcia z uk³adem ICL7135, blo-
ku przetwarzania danych z mikro-
Tab.1 Rozdzielczoæ pomiaru
woltomierza na poszczególnych
zakresach
Zakres W³¹czenie
Rozdzielczoæ
pomiarowy
zworek
pomiaru
JP3
JP4
2V
0
0
1mV
20V
1
0
1mV
200V
0
1
10mV
2000V
1
1
100mV
Rys. 1. Schemat elektryczny woltomierza
1 - zworka
0 - brak zworki
26
Elektronika Praktyczna 1/2003
85049758.042.png 85049758.043.png 85049758.001.png 85049758.002.png 85049758.003.png 85049758.004.png 85049758.005.png 85049758.006.png 85049758.007.png 85049758.008.png 85049758.009.png 85049758.010.png 85049758.011.png 85049758.012.png 85049758.013.png 85049758.014.png 85049758.015.png 85049758.016.png 85049758.017.png 85049758.018.png 85049758.019.png 85049758.020.png 85049758.021.png 85049758.022.png 85049758.023.png 85049758.024.png 85049758.025.png 85049758.026.png 85049758.027.png 85049758.028.png 85049758.029.png 85049758.030.png 85049758.031.png
Mówi¹cy woltomierz
Rys. 2. Typowa aplikacja uk³adu ICL7135
kontrolerem PIC16F872 oraz blo-
ku prezentowania wyników
z uk³adem ISD2560.
Blok pomiaru napiêcia zosta³
zbudowany w oparciu o specjali-
zowany uk³ad ICL7135. Jest to
4,5-cyfrowy woltomierz o zakresie
pomiarowym równym ±2 V. Za-
stosowanie tego uk³adu sprawia,
¿e napiêcie jest mierzone z du¿¹
dok³adnoci¹.
Na rys. 2 przedstawiono sche-
mat typowej aplikacji uk³adu
ICL7135. Czêæ analogowa w pre-
zentowanym woltomierzu jest ta-
ka sama jak w aplikacji, natomiast
zosta³a zmieniona czêæ cyfrowa.
Do zasilania uk³adu ICL7135
potrzebne jest ujemne napiêcie
o wartoci -5 V, które jest wytwa-
rzane przez przetwornicê konden-
satorow¹ zbudowan¹ z u¿yciem
uk³adu US5. Uk³ad ten dostarcza
napiêcia ujemnego równego co do
wartoci napiêciu jego zasilania
i nale¿y do niego do³¹czyæ tylko
dwa elementy zewnêtrzne: kon-
densatory C8 i C9. Uk³ad wolto-
mierza wymaga równie¿ zewnêt-
rznego sygna³u zegarowego. Gene-
rator tego sygna³u zosta³ zbudo-
wany za pomoc¹ uk³adu US3
wraz z elementami: R6, R7 i C7.
Zewnêtrzne napiêcie odniesie-
nia dla przetwornika A/C uzys-
kano za pomoc¹ diody D1, o na-
piêciu referencyjnym 1,2 V.
Aby zakres pomiarowy wolto-
mierza wynosi³ 2 V, ród³o odnie-
sienia musi mieæ wartoæ równ¹
1 V. Do precyzyjnego ustawienia
tej wartoci s³u¿y potencjometr
wieloobrotowy PR1. Mierzone na-
piêcie podawane jest na wejcie
przetwornika poprzez rezystor sze-
regowy R1, który wraz z konden-
satorem C1 tworzy filtr dolnoprze-
pustowy zapobiegaj¹cy gwa³tow-
nym zmianom napiêcia na wej-
ciu przetwornika A/C. Wejcie
INLO przetwornika mo¿e byæ,
w zale¿noci od potrzeb, po³¹czo-
ne z mas¹ woltomierza lub z mas¹
badanego uk³adu. Aby masa ca-
³ego woltomierza by³a równie¿
mas¹ obwodu wejciowego prze-
twornika A/C, nale¿y zewrzeæ
zworkê JP5.
Jako procesor steruj¹cy wolto-
mierzem zastosowano uk³ad
PIC16F872 z wewnêtrzn¹ pamiê-
ci¹ EEPROM. W pamiêci EEPROM
zapisany jest program oraz niektó-
re zmienne parametry woltomie-
rza (nie zostan¹ utracone po za-
niku napiêcia zasilania).
Procesor jest taktowany sygna³em
z oscylatora wewnêtrznego z zew-
nêtrznymobwodemRC(rezystorR14
i kondensator C10). W tym uk³adzie
procesor nie wykonuje operacji zwi¹-
zanych z odliczaniem czasu, dlatego
mo¿na by³o zastosowaæ taki genera-
tor. Do zerowania procesora po
w³¹czeniu zasilania s³u¿y specjalizo-
wany uk³ad zeruj¹cy DS1813.
List. 1. Procedura odczytu napiêcia z uk³adu ICL7135
//************************************************************************//
// Procedura odczytuje wartoæ napiêcia i zapisuje j¹ w buforze cyfra
//
//************************************************************************//
odczytaj_napiecie()
{
disable_interrupts(global);
//wy³¹cz przerwania
while(!input(busy));
//czekaj na rozpoczêcie pomiaru
while(input(busy));
//czekaj na koniec bie¿¹cego pomiaru
over=input(overrange);
//przepisz stan przekroczenia zakresu do over
while(!input(d5));
//czekaj na cyfrê nr5
delay_us(500);
//czekaj na ustalenie siê danych
cyfra[4]=data&0x0f;
//odczytaj cyfrê 5, i zapisz j¹ do bufora
while(!input(d4));
//czekaj na cyfrê nr4
delay_us(500);
//czekaj na ustalenie siê danych
cyfra[3]=data&0x0f;
//odczytaj cyfrê 4, i zapisz j¹ do bufora
while(!input(d3));
//czekaj na cyfrê nr3
delay_us(500);
//czekaj na ustalenie siê danych
cyfra[2]=data&0x0f;
//odczytaj cyfrê 3, i zapisz j¹ do bufora
while(!input(d2));
//czekaj na cyfrê nr2
delay_us(500);
//czekaj na ustalenie siê danych
cyfra[1]=data&0x0f;
//odczytaj cyfrê 2, i zapisz j¹ do bufora
while(!input(d1));
//czekaj na cyfrê nr1
delay_us(500);
//czekaj na ustalenie siê danych
cyfra[0]=data&0x0f;
//odczytaj cyfrê 1, i zapisz j¹ do bufora
minus=!input(pol);
//przepisz znak polaryzacji do bitu minus
enable_interrupts(global);
//w³¹cz przerwania
}
//************************************************************************//
Elektronika Praktyczna 1/2003
27
85049758.032.png 85049758.033.png 85049758.034.png 85049758.035.png 85049758.036.png 85049758.037.png
Mówi¹cy woltomierz
cza, ¿e zakres pomiaru przetwor-
nika zosta³ przekroczony. W na-
szym przypadku napiêcie wejcio-
we jest wiêksze od 2 V lub mniej-
sze od -2 V. Je¿eli na wyjciu tym
jest poziom niski, to mierzone
napiêcie zawiera siê w dozwolo-
nym zakresie. W obydwu przy-
padkach nastêpuje odczytanie ko-
lejnych cyfr zmierzonego napiê-
cia. Poniewa¿ wynik pomiaru jest
przedstawiany za pomoc¹ piêciu
cyfr, nale¿y kolejno je odczytaæ.
Tak jak to pokazano na rys. 3,
wartoci kolejnych cyfr wyniku
pojawiaj¹ siê kolejno na wyj-
ciach B1...B8. O tym, do której
cyfry przypisane s¹ dane wysta-
wione na tych wyjciach informu-
j¹ stany na wyjciach D1...D5.
Cyfry wywietlane s¹ poczyna-
j¹c od pi¹tej, a koñcz¹c na pier-
wszej. Dlatego po zakoñczonym
cyklu pomiarowym procesor ocze-
kuje na pojawienie siê jedynki na
wyjciu D5 i przepisuje dane
z wyjæ B1...B8 do bufora pi¹tej
cyfry. Nastêpnie oczekuje na po-
jawienie siê jedynki na wyjciu
D4 i zapisuje odczytane dane do
bufora cyfry czwartej. Dalej nastê-
puje odczytanie kolejnych cyfr
i zapisanie ich do przeznaczonych
dla nich buforów.
Po odczytaniu wszystkich cyfr
zostaje jeszcze odczytany stan wyj-
cia POL . Wyjcie to s³u¿y do
sygnalizacji, czy mierzone napiêcie
ma polaryzacje dodatni¹, czy ujem-
n¹. Na tym koñczy siê procedura
odczytu wartoci napiêcia z uk³a-
du ICL7135. Zapisana wartoæ na-
piêcia zostaje nastêpnie przetwo-
rzona przez procesor i w zale¿no-
ci od wartoci tego napiêcia oraz
wybranego zakresu pomiarowego
nastêpuje odpowiednie wysterowa-
nie uk³adu mówi¹cego.
Do zapamiêtania i odtwarzania
komunikatów g³osowych zastoso-
wano uk³ad ISD2560. Uk³ad ten
umo¿liwia zapis dwiêku o czasie
trwania 60 sekund. Nagrywanie
komunikatów odbywa siê poprzez
do³¹czony mikrofon pojemnocio-
wy MK . Uk³ad US6 w czasie od-
twarzania komunikatów umo¿liwia
bezporednie wysterowanie g³oni-
ka, dlatego do z³¹cza CON3 mo¿na
pod³¹czyæ g³onik bez stosowania
dodatkowego wzmacniacza.
Uk³ad ISD2560 komunikuje siê
z procesorem za pomoc¹ tylko
szeciu wyprowadzeñ, a przy tym
WYKAZ ELEMENTÓW
Rezystory
R1, R2, R4: 100k
W
W
R5, R7: 6,8k
W
W
R8, R9: 10k
W
R10...R12: 1,5k
W
R13: 470k
W
W
PR1: potencjometr helitrim 10k
W
Rys. 3. Przebiegi czasowe na
wyjciach uk³adu ICL7135
Kondensatory
C1, C6, C7, C11, C12, C14, C15:
100nF
C2, C3, C13: 1µF polipropylenowy
C4: 470nF polipropylenowy
C5: 47µF/16V
C8, C9: 10µF/16V
C10: 30pF
C16: 4,7µF/16V
C17: 100µF/16V
Pó³przewodniki
D1: LM385-1,2V
D2: 1N4148
US1: PIC16F872 zaprogramowany
US2: ICL7135
US3: NE555
US4: DS1813
US5: ICL7660S
US6: ISD2560
US7: LM7805
Ró¿ne
CON1...CON3: ARK2(5mm)
CON4: ARK2(3,5mm)
JP1...JP5: Goldpin 1x2 + zworka
Podstawka DIL8 - 2 szt.
Podstawka DIL28 (300 mils) - 1 szt.
MK: mikrofon pojemnociowy
G³onik 1W/16
Wspó³praca procesora z uk³a-
dem przetwornika A/C polega na
udawaniu przez procesor wy-
wietlacza. Na rys. 3 przedstawio-
no przebiegi czasowe wystêpuj¹ce
na wyjciach uk³adu ICL7135.
Poniewa¿ wyjcia tego uk³adu s¹
przystosowane do sterowania wy-
wietlaczem LED w sposób mul-
tipleksowy, dlatego stany na nich
zmieniaj¹ siê w zale¿noci od te-
go, do którego wywietlacza (cyf-
ry) s¹ kierowane. Jak widaæ na
rys. 3, na wyjcia B1...B8 wysta-
wiana jest wartoæ dla danego
wywietlacza, a nastêpnie na jed-
no z wyjæ D1...D5 podawany jest
poziom wysoki, powoduj¹cy w³¹-
czenie danego wywietlacza. Po
krótkim czasie nastêpuje wygasze-
nie wywietlacza, a na wyjciach
B1...B8 pojawia siê wartoæ dla
kolejnego wywietlacza i poziom
wysoki na kolejnym z wyjæ
D1...D5. Ten proces wykonywany
jest nieustannie. Dane pojawiaj¹ce
siê na wyjciach B1...B8 reprezen-
tuj¹ wartoæ wywietlanej w da-
nym momencie cyfry.
Procedura odczytu wartoci na-
piêcia jest przedstawiona na list.
1 . W procedurze oczekuje siê na
rozpoczêcie pomiaru przez uk³ad
przetwornika A/C, poprzez spraw-
dzanie stanu wyjcia BUSY , jeli
na tym wyjciu wystêpuje stan
zero, to pomiar zosta³ zakoñczo-
ny. Aby odczytaæ wynik po pe³-
nym cyklu pomiarowym, procesor
najpierw czeka na pocz¹tek po-
miaru (Busy=1), a nastêpnie na
jego zakoñczenie (Busy=0). Na-
stêpnie do flagi over zostaje za-
pisany stan wyjcia over prze-
twornika (w list. 1 wejcie pro-
cesora o nazwie overrange , czyli
port RC4). Jeli wyjcie to bêdzie
w stanie 1 (wysokim), to ozna-
W
umo¿liwia odtworzenie dowolne-
go komunikatu zawartego w jego
pamiêci. Poprzez odpowiednie
skonfigurowanie wejæ steruj¹cych
MA0...MA6, uk³ad ten pracuje
w trybie kolejnego adresowania,
z mo¿liwoci¹ u¿ycia funkcji
szybko naprzód. Tryb kolejnego
adresowania umo¿liwia proceso-
rowi kolejne nagrywanie lub od-
twarzanie komunikatów bez zna-
jomoci adresu pamiêci, pod któ-
rym rozpoczyna siê dany komu-
nikat. Funkcja szybko naprzód
umo¿liwia przypieszenie odtwa-
rzanych komunikatów 800 razy.
Dziêki po³¹czeniu funkcji kolejne-
go adresowania i szybko na-
przód procesor zaledwie w ci¹gu
kilkudziesiêciu milisekund mo¿e
dotrzeæ do dowolnego komunika-
28
Elektronika Praktyczna 1/2003
R3: 27
R6: 3,3k
R14: 4,7k
85049758.038.png
Mówi¹cy woltomierz
tu zawartego w pamiêci i odtwo-
rzyæ go z normaln¹ prêdkoci¹.
Tak krótki czas wyszukiwania
komunikatu umo¿liwia ³¹czenie
kilku niezale¿nych komunikatów
w jedn¹ d³u¿sz¹ wypowied (ko-
munikat) bez s³yszalnych przerw
pomiêdzy nimi. Do prezentowania
g³osem wartoci napiêcia zastoso-
wane zosta³o w³anie ³¹czenie
kilku krótkich komunikatów w je-
den d³u¿szy z mo¿liwoci¹ wypo-
wiedzenia ka¿dej wartoci napiê-
cia z przedzia³u od -1999,9 do
+1999,9 V. £¹czny czas nagranych
komunikatów wynosi oko³o 40
sekund. Szczegó³owe dane na te-
mat tego uk³adu mo¿na znaleæ
na stronie http://www.isd.com ,
a sposób wyszukiwania komuni-
katów w EP5/2002 w artykule
Mówi¹cy termometr.
Napiêcie +5V, potrzebne do
zasilania wszystkich uk³adów wol-
tomierza, jest stabilizowane za
pomoc¹ stabilizatora typu LM7805.
W celu odfiltrowania napiêcia wej-
ciowego zastosowano kondensa-
tory C18 i C19, a po stronie wyj-
ciowej kondensatory C20 i C21.
Do zmiany parametrów wolto-
mierza zastosowano cztery zwor-
ki, które s¹ wykorzystywane za-
równo w czasie programowania,
jak i w czasie normalnej pracy.
Zworki JP1 i JP2 zosta³y pod³¹czo-
ne do portu RB, dziêki czemu nie
jest konieczne stosowanie rezys-
torów podci¹gaj¹cych pull-up ,
gdy¿ rezystory takie zawarte s¹
wewn¹trz procesora. Poniewa¿
port RC nie posiada takich rezys-
torów, dlatego zosta³y zastosowa-
ne zewnêtrzne rezystory R8 i R9.
Krzysztof P³awsiuk, AVT
Wzory p³ytek drukowanych w for-
macie PDF s¹ dostêpne w Internecie
pod adresem: http://www.ep.com.pl/
?pdf/styczen03.htm oraz na p³ycie
CD-EP1/2003B w katalogu PCB .
Elektronika Praktyczna 1/2003
29
85049758.039.png
Zgłoś jeśli naruszono regulamin