1. Scharakteryzuj budowę słowa wyjściowego przetwornika A/C i opisz proces konwersji wartości binarnej na wartość wielkości fizycznej (np. napięcie, temperatura).
Otrzymując kod wyjściowy z przetwornika A/C przeprowadza się proces konwersji tej wartości na fizyczną wartość sygnału wejściowego (np. napięcia). Należy najpierw wyznaczyć wartość dziesiętną otrzymanego wyniku, a później wartość sygnału wejściowego ze wzoru:
gdzie: Rd - rezultat otrzymany na wyjściu przetwornika (dziesiętnie), Vref- do Vref + napięcie odniesienia, N – ilość bitów słowa wyjściowego z przetwornika A/C. Zwykle Vref- =0V i korzystamy z drugiego wzoru.
PRZYKŁAD Napięcie wyjściowe dla jednego bitu ma wartość 0,61 mV. Przy 250C napięcie na wyjściu wynosi 600 mV, a nachylenie charakterystyki –3mV/ OC.
Twyj[0C]=25-(600-odczyt)/(-3)
Napięcie odniesienia: VREF=2,5 V. Na wyjściu przetwornika pojawia się słowo 12-bitowe, zatem FS=212=4096. Więc na jeden bit przypada . Aby zamienić wskazanie na odpowiadające mu napięcie korzystamy ze wzoru :
Napięcie 600 mV odpowiada temp. 250C, zmiana o 10C odpowiada zmianie 30mV na wyjściu
2. Określ wartość Ux napięcia sygnału pomiarowego uzyskanego z 10-bitowego przetwornika A/C przekazującego część starszą wyniku w rejestrze ADCH=0xA3 oraz cześć młodszą wyniku w rejestrze ADCON=0x57 wiedząc, że 2 najmłodsze bity wyniku znajdują się na pozycjach b7 i b6 słowa ADCON. Napięcie referencyjne przetwornika URef+=5V a URef-=0V. Zapisz algorytm obliczeń w języku programowania C.
Dane:
ADCH=0xA3
ADCON=0x57
URef+=5V
URef-=0V
Ux=?
ACDH = 1010 0011(2)
ADCON= 0101 0111(2)
ACDH ADCON
1010 0011 0101 0111
Bierzemy 10 bitów wyniku czyli: 1010 0011 01 i zamieniamy na postać dziesiętną: Wdz=653
Algorytm obliczeń w C:
float Ux; //wartość napięcia
float Uref;
x= ADCH*4+(ADCON&0xC0)>>6; // (ADCON>>0xC00)&0x03
Ux=((float) x +Uref)/1024.0;
3. Określ wartość temperatury czujnika mikrokonwertera ADuC812 na podstawie pojedynczego binarnego wyniku przetwarzania Xi=0x83BA, przyjmując parametry: UREF-=0V, UREF+=2.5V, stała czujnika temperatury U25°C=600mV, ∆U/∆T= −3mV/°C.
Xi=0x83BA
UREF-=0V,
UREF+=2.5V
U25°C=600mV,
∆U/∆T= −3mV/°C
Tx=?
Pierwsze 4 bitu to nr kanału, a następne 12 to wynik konwersji T na U:
Xi=0x83BA = 1000 0011 1011 1010(2) = 962
4. Określ średnią wartość temperatury czujnika mikrokonwertera ADuC812 na podstawie binarnych wyników przetwarzania, przyjmując parametry: UREF-=0V, UREF+=2.5V, stała czujnika temperatury U25°C=630mV, ∆U/∆T= -3mV/°C, kanał pomiarowy M=8, kolejne wartości binarne wyników przetwarzania (wraz z numerem kanału) Xi=840DHEX, Xi+1=8409HEX, Xi+2=8411HEX.
Xi=840DHEX
Xi+1=8409HEX
Xi+2=8411HEX
U25°C=630mV,
M=8
Xi=840DHEX=1000 0100 0000 1011(2)=1035(10)
Xi+1=8409HEX= 1000 0100 0000 1001(2)=1033(10)
Xi+2=8411HEX= 1000 0100 0001 0001(2)=1041(10)
5. Określić względny błąd doboru częstotliwości próbkowania fprb= 32000Hz wykorzystując wewnętrzne układy dzielników częstotliwości (licznik L2) dla mikrokonwertera ADuC812 (fsys=11059200Hz).
fpróbk= 32000Hz
fsys=11059200Hz
licznik L2 (dzielnik systemowy 12, 16-bitowy licznik L2 z autoprzeładowaniem, dzielnik wyjściowy ¸2)
Dz1=14 lub Dz2=15
6. Podaj binarną wartość kodu sterującego 12-bitowego unipolarnego przetwornika C/A aby na wyjściu uzyskać napięcie 1.55V. Napięcie referencyjne przetwornika UREF=2.5V.
N=12
Ux=1,55V
UREF=2,5 V
Wbin=?
Wbin=- rozdzielczość przetwornika
ALGORYTM WYSTAWIANIA WARTOSCI Wbin NA PRZETWORNIK:
ALGORYTM W JĘZYKU C:
int i, Wbin;
DACH=Wbin>>8;
DACL=Wbin;
BŁĄD KWANTYZACJI:
7. Określ maks. częstotliwość sygnału wejściowego fmax M-kanałowego systemu akwizycji danych pomiarowych bez układu PP przy założeniu tkonw=20µs, a rozdzielczość przetwornika A/C N=12bit i dokładności przetwarzania 1LSB. Jaka jest maksymalna częstotliwość próbkowania przy sekwencyjnym multipleksowaniu M=16 kanałów pomiarowych.
tkonw=20µs
fmax=?
fpróbk=?
fmax występuje przy jednym kanale pomiarowym (M=1)
fpróbk obliczamy z zależności:
fpróbk = fwe * 2M = 3,88 Hz * 32 = 124,16 Hz
8. W jaki sposób rozdzielczość przetwornika A/C wpływa na wartość szumu kwantyzacji przetwornika ?
...
PRG3D