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

ATMEGA16 SMD i nieliniowy przetwornik ADC

autoservice 13 Lut 2011 21:34 2420 23
REKLAMA
  • #1 9147918
    autoservice
    Poziom 20  
    Witam
    Mam taki układ pomiarowy, mierzę napięcie zasilające układ, które zmienia się w zakresie 9...30V.
    ATMEGA16 SMD i nieliniowy przetwornik ADC
    Mam taki problem, że przetwornik np. w trybie 10bit nie mierzy liniowo tzn. dla napięcie ref. 2.49V obliczam stałą napięciową równą 0,002138..., napięcie za dzielnikiem równe 2,001V i otrzymuję wartość przetwarzania w ADC równą 935, ale przy napięciu 1,501V ADC=680 zamiast 702 :( Tak samo dzieje się gdy użyję wew. napięcia odniesienia Atmegi lub nap. za stabilizatorem. Robię tak, że mierzę napięcie za stabilizatorem np. 4,95V, obliczam stałą napięciową tj. 4,95/1024=0,004834 i jest tylko jedna wartość napięcia dla której wskazanie jest dobre tj. zgodne z napięcie na wejściu ADC, mniejsze napięcie powoduje wzrost wartości ADC czyli tak jakby Aref rosło w zależności od napięcia zasilającego a tak nie jest bo sprawdzam miernikiem dość dokładnie!
    Co tu zaradzić?
    Pozdrawiam
  • REKLAMA
  • #2 9148054
    Fredy
    Poziom 27  
    Ominełem ten problem poprzez wyznaczenie sobie funkcji korygującej . Zastosowałem liniową funkcję U=a *x +b . Zrób dwa pomiary na dole i na górze wstaw sobie do funkcji ,otrzymasz ukłąd równań, rozwiąż go i dostaniesz dwa współczynniki . Wpisz je do programu i znacznie się poprawi.
  • #3 9148101
    autoservice
    Poziom 20  
    Chodzi mi to po głowie, ale wymaga każdorazowej korekcji po zaprogramowaniu procka, a chciałbym tego uniknąć, ciekawi mnie po prostu przyczyna tego, że przy zmianie mierzonego nap. na ADC przetwornik zachowuje się tak jakby nap. Aref też się zmieniało a tak nie jest.
    Pzdr
  • REKLAMA
  • #4 9148154
    Fredy
    Poziom 27  
    Tu nie chodzi o to że się zmienia Aref - tylko o to że pewną nieliniowść ten przetwornik ma i już.
    Ja zrobiłem korektę programową na jednym procku i była mocno powtarzalna na innych procesorach.
    Ta korekta jest na poziomie +-3% max.
  • REKLAMA
  • #5 9148196
    mirekk36
    Poziom 42  
    Niestety przetworniki w takich prockach nie są idealne. Już w nocie PDF piszą wyraźnie, że są obarczone trzema błędami: nieliniowość, offset i szumy. Jeśli nie odpowiada ci programowe korygowanie tak jak pisze kolega Fredy to pozostaje tylko poszukać zewnętrznego specjalizowanego przetwornika ADC z lepszymi parametrami. O to już nie jest tak trudno a komunikacja z nim np po I2C.
  • #6 9148202
    janbernat
    Poziom 38  
    A aka jest wartość oporników w dzielniku?
  • #7 9148260
    autoservice
    Poziom 20  
    Wartość oporników przy dzielniku nie mają większego znaczenia przy nap. stałym, czytałem o tym w innych postach na elektrodzie, poza tym i tam mierzę dokładnie napięcie tuż na samym wejściu za dzielnikiem więc znam faktyczną wartość napięcia na wejściu ADC, dodawałem też kondensator 100nF, ale to samo. Według noty Absolute accuracy czyli wszystkie błędy razem to max. 3LSB czyli mam rozumieć, że 3 najmniej znaczące bity mogą się "bujać" tak jak chcą? jeśli tak to to wyjaśnia wszystko niestety...chociaż tutaj jest post gdzie człowiek osiągnął dobrą korekcję w całym zakresie...
    https://www.elektroda.pl/rtvforum/topic1455420.html
    Pozdrawiam
  • #8 9148330
    mirekk36
    Poziom 42  
    Ten człowiek to ja, ale napisałem zdaje się, że zdecydowanie lepsze rezultaty przyniosły pomiary za pomocą przetworników wbudowanych w ATtiny26. Poza tym - jak później się okazało chociaż już tego nie pisałem - nie był to powtarzalny wynik na większej ilości takich procków i trzeba było korygować programowo w jakiś sposób niestety. Dlatego na drugi raz jeśli będę potrzebował większej precyzji to wezmę zewn przetwornik.

    Ale z ciekawości jak pisałem - zrób sobie testy właśnie na ATiny26 to się sam zdziwisz, że ten przetwornik jest o wiele lepszy niż w prockach mega.
  • #9 9148336
    Fredy
    Poziom 27  
    Możesz poprawić nieco wynik sumując np 64 pomiarów a następnie wynik podzielić przez 64.
  • #10 9148519
    autoservice
    Poziom 20  
    Ok, po kilku pomiarach wyszło tak, że parametry są znacznie gorsze niż 3LSB bo 3LSB to przecież 7 dziesiętnie, u mnie ten wynik zmienia się aż o 27 dziesiętnie czyli prawie 5LSB dlaczego to nie mam już pojęcia. Aref jest identyczne dla obu mierzonych napięć. Faktycznie pozostaje chyba korekcja programowa każdej sztuki.
    Pzdr.
  • #11 9148579
    Fredy
    Poziom 27  
    Jeśli mierzysz napięcie przed stabilizatorem to się temu nie dziw że napięcie pływa.
    Swoją drogą nawet napięcie na wyjściu 7805 też nie jest idealne. Tu mówimy o "pływaniu " na poziomie 3% a ten stabilizator potrafi płynąć nawet 5% długoterminowo.
    Jeśli chcesz naprawdę sprawdzić jakość pomiaru to musisz przykładowo zrobić dzielnik napięcia ale ze źródła napięciowego , do tego dać jeszcze kondensator na wejściu przetwornika. Koniecznie musisz użyć układu filtra dolnoprzepustowego do zasilania ADC - czyli dławik i kondensator 100n do masy. Ważny również jest sposób prowadzenia masy analogowej.
  • #12 9148670
    mirekk36
    Poziom 42  
    autoservice napisał:
    Ok, po kilku pomiarach wyszło tak, że parametry są znacznie gorsze niż 3LSB bo 3LSB to przecież 7 dziesiętnie, u mnie ten wynik zmienia się aż o 27 dziesiętnie czyli prawie 5LSB dlaczego to nie mam już pojęcia. Aref jest identyczne dla obu mierzonych napięć. Faktycznie pozostaje chyba korekcja programowa każdej sztuki.
    Pzdr.


    No tak ale takie wachania to spokojnie załatwisz dobrym uśrednianiem. Gorsza jest nieliniowość. Już ktoś wyżej pisał, rób ileś próbek i uśredniaj. Zobaczysz że będzie lepiej.
  • #13 9148971
    autoservice
    Poziom 20  
    Uśrednianie nic nie daje...bo ten błąd o 27 jednostki dziesiętne jest stały...nie znaczy, że wynik "buja" się plus minus 13..14 jednostki od tego co powinno być ale jest stale oddalony od rzeczywistego o tą wartość, bujanie jest na poziomie 1-3 jednostek dziesiętnych, czyli jednak to co w nocie katalogowej. To jest jakiś stały błąd proporcjonalny do mierzonego napięcia, ale skąd to nie mam pojęcia, widocznie taka uroda tych układów, nie ma co oczekiwać cudów, trzeba kupić porządny zewnętrzny.
    Pzdr.
  • REKLAMA
  • #14 9149252
    tmf
    VIP Zasłużony dla elektroda
    A ja ponowie pytanie o wartość rezystorów w dzielniku? Bo tam wcale nie masz prądu stałego tylko prąd pulsujący wygładzony kondensatorem za mostkiem Graetza, prawda? Przy zbyt dużej wartości tych rezystorów musisz uwzględnić impedancję wejściową przetwornika, która wynosi kilka kOm i masz odpowiedź na swoją nieliniowość.
  • #15 9149772
    Konto nie istnieje
    Poziom 1  
  • #16 9149963
    you-zek
    Poziom 15  
    Jak stwierdził nielinowość? w Jednym punkcie pomiarowym który podał? Niemożliwe. Albo offset albo wzmocnienie albo referencyjne złe. Odnieś pomiar do zmierzonego napięia referencyjnego i napisz jaki wynik.
  • #17 9149999
    Konto nie istnieje
    Poziom 1  
  • #18 9150025
    you-zek
    Poziom 15  
    Odchyłka rzędu 3% miesci się w tolerancji napięcia referencyjnego z fabryki. Odnieść pomiar do nap. referencyjnego zmierzonego. Druga sprawa jaka jest rezystancja tego nieszczęsnego dzielnika napięca?
  • #19 9150031
    tmf
    VIP Zasłużony dla elektroda
    atom1477 napisał:
    Ale autoservice przecież napisał że mierzy napięcie już na wyjściu dzielnika (woltomierzem) i to na jego podstawie widzi że ma nieliniowość.
    Co innego że faktycznie zbyt duża wartość rezystorów wprowadza nieliniowość.


    Zmierzył miernikiem, którego impedancja wejściowa jest zapewne o wiele większa niż wejścia ADC ATMegi, stąd też pomiar mógł wyjść inaczej. Poza tym jeśli to jest istotnie po mostku, tylko wygładzone przez kondensator to może mu się jakiś aliasing robi?
  • #20 9150064
    pepson
    Poziom 18  
    Czy na pewno dzielnik wejściowy jest połączony z masą analogową
    w tym samym punkcie AGND (jak również masa LM336) ?
    I nie płyną w tym obwodzie masy prądy zasilające resztę układu?
  • #21 9150075
    you-zek
    Poziom 15  
    Aj sorry nie przeczytałem dokładnie w czym problem. Jeżeli rządasz precyzji to albo kalibracja każdej sztuki albo porządny ADC zewnętrzny. Nigdy nie spotkałem się z nieliniowością przetwornika, zwykle problem był z mnożnikiem, albo referencyjnym, albo wejście. W ostateczności uszkodzenie pinu też mi sie raz zdarzyło.
  • #22 9150091
    Konto nie istnieje
    Poziom 1  
  • #23 9150096
    _Robak_
    Poziom 33  
    Jeszcze jest pytanie czym jest mierzone to napięcie, bo jeśli miernikiem typu china to tutaj może też być problem.
  • #24 9150635
    asembler
    Poziom 32  
    Jest prawdopodobne bo na przykład ja mam kilka mierników niektóre nawet nie chinskie i wszystkie są w kolorze zółtym - przypadek?
REKLAMA