logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

atxmega16d4 - Niestabilne odczyty ADC przy pomiarze napięcia 15,4V

Marcin8051 25 Lut 2015 21:38 1551 5
REKLAMA
  • #1 14477842
    Marcin8051
    Poziom 19  
    Posty: 512
    Pomógł: 6
    Ocena: 13
    Witam
    Wgrałem przykład ze strony atmel
    http://asf.atmel.com/docs/latest/xmegaa/html/adc_quickstart.html
    poniżej główne fragmenty i wynik pomiaru który mi się zmienia o około 7 jednostek góra dół. napięcie mierzone to 15,4V dzielnik 30k / 1k + 100nf(do masy)

    Te 15,4v na mierniku fluka to maksymalnie o 0,001V się zmienia a czasem w ogóle.

    na jedną działkę powinno przypadać 7,5mV (napięcie odniesienia 1V).
    a mi pomiar jakby skakał o 60mV

    Napięcia zasilania 3.3043V nie zmienia się
    Napięcie na wejściu 0,4948 V - według moich obliczeń powinno wyjść 2026 jednostek
    AVCC - 10uH i za 100nf i 10uf spadek napięcia na dławiku 1.111 mV

    Pomiary mam z debugera (do tablicy wrzucam co 50ms)

    pomiar wynik
    [0] 2243 int16_t{data}@0x26f6
    [1] 2243 int16_t{data}@0x26f8
    [2] 2242 int16_t{data}@0x26fa
    [3] 2242 int16_t{data}@0x26fc
    [4] 2242 int16_t{data}@0x26fe
    [5] 2243 int16_t{data}@0x2700
    [6] 2236 int16_t{data}@0x2702
    [7] 2239 int16_t{data}@0x2704
    [8] 2246 int16_t{data}@0x2706
    [9] 2238 int16_t{data}@0x2708
    [10] 2239 int16_t{data}@0x270a
    [11] 2230 int16_t{data}@0x270c
    [12] 2245 int16_t{data}@0x270e
    [13] 2247 int16_t{data}@0x2710
    [14] 2245 int16_t{data}@0x2712
    [15] 2240 int16_t{data}@0x2714
    [16] 2238 int16_t{data}@0x2716
    [17] 2240 int16_t{data}@0x2718
    [18] 2244 int16_t{data}@0x271a
    [19] 2241 int16_t{data}@0x271c
    [20] 2240 int16_t{data}@0x271e




    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    }
  • REKLAMA
  • #2 14477943
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Pamiętaj, że mierniki zawsze uśredniają i napięcie wydaje się być stabilne, z naciskiem na wydaje się. Kolejna sprawa to szumy, także szumy wprowadzane np. przez rezystory. Zajrzyj też do noty - masz tam podane błędy ADC. Szum na poziomie 7 LSB nie jest duży, tym bardziej, że to odpowiada 0,4 mV*7 na wejściu ADC przy założeniu, że ADC pracuje w trybie różnicowym i 0,2*7 mV jeśli ADC pracuje w trybie z pojedynczym wejściem - w którym jak mi się wydaje go wykorzystujesz. Tu masz podobny wątek:
    https://www.elektroda.pl/rtvforum/topic2990442.html
    Warto jeszcze w konfiguracji pinu zablokować bufor wejściowy pinu IO - rejestr PINnCTRL - PORT_ISC_INPUT_DISABLE_gc.
  • REKLAMA
  • #3 14478310
    Marcin8051
    Poziom 19  
    Posty: 512
    Pomógł: 6
    Ocena: 13
    Zablokowanie bufora raczej nic nie zmieniło.
    Wcześniej stosowałem (przy innych procesorach 8051) przetworniki oddzielne i wbudowane i generalnie wynik skakał maks o 2 wartości przy stabilnym zasilaniu i pomiarze dzielnika. Tutaj wynik potrafią się różnić o 16 [8] 2246 i 11 2230. Jak liczę zwykłą średnią z 20 pomiarów to rozrzut jest między wynikami nie wielki do 3 jednostek. Czy komuś się udało uzyskać pomiar stabilny jeśli tak to na jakich parametrach(nastawach) przetwornika?

    Wolał bym uzyskać pomiar stabilny niż ratować się obliczaniem średniej.
  • REKLAMA
  • #4 14479013
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2203
    Mogłeś wziąć XMEGA E5, która ma sprzętowe uśrednianie. Spróbuj podłączyć zewnętrzne nap. referencyjne. Ważny jest też projekt PCB - w końcu mamy 12-bitowe ADC, szum 1 LSB to jak pisałem zaledwie 244 mikrowolty dla ref. 1 V. Można też spróbować użyć większego nap. referencyjnego i zmniejszyć dzielnik. Szumu ADC to nie zmniejszy, ale szumy z zewnątrz będą miały mniejszy wpływ na wynik.
  • REKLAMA
  • #6 14485813
    deus.ex.machina
    Poziom 32  
    Posty: 1923
    Pomógł: 91
    Ocena: 341
    Czego oczekujesz autorze wątku?
    Czy sprawdziłeś jaki rzeczywisty sygnał podajesz na wejście ADC? (rada kolegi arekeletroda)
    Ile pomiarów na sekundę wykonuje Fluke? 3 a może 5? Ty wykonujesz 20 pomiarów na sekundę (50ms). Równie dobrze możesz łapać przydźwięk sieciowy (i przy 20 pomiarach na sekundę masz aliasing wiec nie widzisz "czystej" sinusoidy).
    Obniż pasmo sygnału (filtr/uśrednianie) do tego co w Fluke i sprawdź wynik.
REKLAMA