Wyjście Spis treści Poprzedni
Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor artykułu: mgr Jerzy Wałaszek Konsultacja: Wojciech Grodowski, mgr inż. Janusz Wałaszek |
©2015 mgr
Jerzy Wałaszek
|
Tematy pokrewne | Podrozdziały | |
(w budowie) |
Pomiar sygnałów analogowych Przetwornik A/C |
Pomiar sygnałów analogowych |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sygnał analogowy to taki, który może przyjmować
wartości pośrednie pomiędzy wartościami skrajnymi. Sygnały
analogowe spotykamy przy aplikacjach, które sterują różnymi
urządzeniami. W rozdziale o
liczniku opisaliśmy sposób generowania napięć analogowych w
trybie PWM (ang. Pulse Width Modulation).
Dzięki temu trybowi mikrokontroler, który jest urządzeniem
cyfrowym, może generować napięcia analogowe regulując szerokość
impulsów. Taki sygnał może sterować intensywnością oświetlenia
lub szybkością obrotową silnika elektrycznego. W świecie rzeczywistym sygnały analogowe są powszechne. Np. czujnik temperatury daje na swoim wyjściu napięcie zależne od temperatury. Do przetwarzania sygnałów analogowych musimy posiadać możliwość ich odczytu w postaci cyfrowej. Do tego celu służy przetwornik analogowo-cyfrowy (ang. ADC – Analog to Digital Converter). Jest to urządzenie, na którego wejście podajemy napięcie w określonym zakresie, a na wyjściu otrzymujemy liczbę dwójkową, która odpowiada wartości tego napięcia:
Im więcej bitów ma liczba wyjściowa, tym dokładniejszy jest dany przetwornik A/C. Załóżmy, że mamy przetwornik, który na swoim wyjściu daje nam wynik 4-bitowy. Cztery bity mogą reprezentować w systemie dwójkowym liczby od 0 do 15:
Załóżmy dodatkowo, że mierzony zakres napięć wynosi od 0V do 5V. Podzielmy ten zakres równomiernie na 16 wartości z zaokrągleniem do 1 miejsca po przecinku:
Jeśli na wyjściu przetwornika otrzymamy liczbę 1011, to na jego wejściu jest około 3,7V. W taki sposób możemy odczytywać cyfrowo mierzone napięcie. Przy zakresie 0...5V i 4 bitach mamy rozdzielczość około 0,3125V. Jeśli jednak zastosujemy przetwornik 8-bitowy, to dokładność pomiaru znacznie wzrośnie, a rozdzielczość wyniesie już 0,01953125V. Widzisz zatem, że dokładność pomiaru zależy od liczby bitów, które daje na wyjściu przetwornik. W mikrokontrolerach AVR spotkasz przetworniki 10-bitowe. Pomiar napięcia wejściowego przez przetwornik analogowo-cyfrowy nazywamy próbkowaniem (ang. sampling). Kolejną cechą przetworników jest ich szybkość próbkowania (ang. sampling rate). Jest to czas po jakim przetwornik podaje na wyjściu wynik pomiaru napięcia wejściowego. Szybkość próbkowania przetworników A/C zależy od ich wewnętrznej konstrukcji. Najszybsze są przetworniki bezpośrednie. Tutaj mierzone napięcie jest przekazywane równolegle na ciąg komparatorów, które jednocześnie porównują je z napięciami wzorcowymi. Wyjścia komparatorów są skierowane do dekodera, który tworzy liczbę wyjściową. Są to przetworniki A/C typu Flash. Poniżej jest przedstawiony przykładowy taki przetwornik:
Tego typu przetworniki nie cechują się zbyt dużą liczbą bitów wyjściowych (zwykle 8-9), z uwagi na trudności konstrukcyjne i pojemności pasożytnicze, które zwiększają czas pomiaru (napięcie mierzone trafia na dużą liczbę wejść komparatorów). W mikrokontrolerach AVR nie stosuje się tego typu przetworników, jednakże można je spotkać w postaci osobnych układów scalonych, które mogą współpracować z mikrokontrolerami. Drugi rodzaj przetworników działa na zasadzie pomiaru czasu. Wyposażone są one w generator napięcia piłokształtnego, komparator oraz licznik z rejestrem zatrzaskowym. Generator tworzy impulsy piłokształtne o wysokiej liniowości. W momencie rozpoczęcia narastania impulsu piłokształtnego zostaje wyzerowany i uruchomiony licznik dwójkowy, zliczający impulsy z dodatkowego generatora o tak dobranej częstotliwości, aby zakres licznika pokrył czas narastania przebiegu piłokształtnego. Następnie komparator porównuje napięcie z generatora piłokształtnego z napięciem mierzonym. W momencie ich zrównania się stan licznika jest przesyłany do rejestru zatrzaskowego i pojawia się na wyjściu jako wynik próbkowania.
Dokładność przetwarzania zależy tutaj od liniowości generatora piłokształtnego. Natomiast nie ma problemu co do ilości bitów wyjściowych, jednakże ich liczba wpływa na czas przetwarzania. Na przykład, chcemy otrzymywać dane wyjściowe o długości 16 bitów. Załóżmy, że licznik może pracować z szybkością 100MHz. 16 bitów to 65536 poziomów, zatem częstotliwość wejściową musimy podzielić przez 65536. Otrzymujemy około 1525Hz. Z taką częstością (a nawet mniejszą z uwagi na to, że sygnał piłokształtny z generatora wymaga pewnego czasu, zanim przejdzie z wartości maksymalnej do minimalnej) może pracować ten przetwornik. Nie nadawałby się on do próbkowania sygnałów dźwiękowych, które wymagają częstotliwości próbkowania co najmniej 44kHz. Niemniej przy innych zastosowaniach może być zupełnie wystarczający. Tego typu przetworniki również nie są stosowane w mikrokontrolerach AVR. Trzeci rodzaj przetworników A/C (ten już jest stosowany w mikrokontrolerach AVR) to przetworniki kompensacyjne. Zasada ich działania polega na kolejnych porównaniach napięcia mierzonego z napięciami generowanymi przez przetwornik cyfrowo analogowy. Schemat takiego przetwornika pokazany jest poniżej:
Przetwornik działa następująco. Po uruchomieniu sygnałem START układ sterujący zapisuje w najstarszym bicie rejestru przesuwającego 1 i zeruje rejestr n-bitowy. Następnie bit ten jest kopiowany do rejestru n-bitowego. Rejestr steruje przetwornikiem cyfrowo analogowym, który na wyjściu tworzy napięcie proporcjonalne do liczby dwójkowej podanej na jego wejściu z rejestru. Napięcie wyjściowe z przetwornika zostaje porównane przez komparator z napięciem mierzonym. Jeśli napięcie z przetwornika jest wyższe, to w rejestrze zostaje wyzerowany bit wpisany z rejestru przesuwającego. Jeśli nie, to bit pozostaje w stanie 1. Rejestr przesuwający przesuwa swój bit w prawo i cała operacja się powtarza. W efekcie w rejestrze n-bitowym są kolejno ustawiane bity od najstarszych do najmłodszych. Gdy wpisany na początku bit 1 wyjdzie w rejestrze przesuwającym poza najmłodszy bit przetwarzanie zostaje zakończone i można odczytać wynik na wyjściu rejestru n-bitowego. Przetwornik kompensacyjny dokonuje pomiaru napięcia wejściowego w n cyklach, gdzie n to liczba bitów wyjściowych. Dokładność przetwarzania zależy od dokładności zastosowanego przetwornika C/A. Szybkość próbkowania zależy od częstotliwości generatora taktującego oraz od szybkości przetwornika C/A.
|
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe