AVT-5097.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
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
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
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
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
Plik z chomika:
zck68
Inne pliki z tego folderu:
AVT-01.pdf
(581 KB)
AVT-02.pdf
(436 KB)
AVT-2004.pdf
(990 KB)
AVT-2126.pdf
(1295 KB)
AVT-2270.pdf
(237 KB)
Inne foldery tego chomika:
Listingi
Program mikrokontrolera
Zgłoś jeśli
naruszono regulamin