Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[AVR][Bascom]Jak program./sprzętowo "uspokoić" ADC

20 Mar 2010 19:51 3718 15
  • Poziom 20  
    Witam serdecznie szanownych kolegów!
    Chciałbym zapytać o Wasze rozwiązania odnośnie uspakajania "pływających" wyników pomiarów z ADC tj. samplowanie, dławiki , kondensatory, napięcia odniesienia... wszystkie opinie mile widziane :)
  • Poziom 27  
    1 opornik, kondensator.
    Z zasilania podłączasz się do opornika 10Kohm, opornik do kondensatora elektrolita (dobrać wartość).Masz od razu załatwione uśrednianie wyniku.

    Dodano po 1 [minuty]:

    Możesz zastosować np 100Kohm, wtedy dajesz mniejszy kondensator.
  • Poziom 20  
    chyba źle sobie to wyobrażam, może mały schemacik :)
  • Poziom 20  
    dobrze myślałem, że źle sobie wyobrażam ;p
    ok zastosuję i podzielę się wynikiem :)
  • Poziom 27  
    Oczywiście musisz dobierać kondensator.
  • Poziom 20  
    Przy adc stosuje się filtry dolnoprzepustowe, pytanie laika: dolnoprzepustowe przed czym? zakłóceniami, ale skąd? częstotliwość próbkowania to ileś kHz czyli co, częstotliwość dostarczania /otrzymywania/przeliczania danych z przetwornika?
    jaka jest max częstotliwość do której adc ma pracować żeby obciąć wyższe? (ATmega32)

    PS.Celowo zadałem takie laickie pytanie aby utwierdziła mnie odpowiedź :)
    zastosowanie w/w filtra uspokoiło mi pomiar (100k, 15nF)
  • Poziom 33  
    Aby ADC działało poprawnie, sygnał przetwarzany nie może zawierać składowych o częstotliwościach większych niż 1/2 częstotliwości próbkowania.
    Dlatego jeżeli sygnał wejściowy może zawierać takie składowe (również np. z zakłóceń) to konieczne jest zastosowanie odpowiedniego filtru dolnoprzepustowego.
    Wymagana częstotliwość takiego filtru oczywiście zależy również od jego jakości / rzędu (stromosci charakterystyki).

    Ostatniego pytania nie zrozumiałem.
  • Poziom 20  
    Mierzę napięcie na sondzie pH wynik mi skacze, sygnał ten podaję na wejście ADC ATmega32 poprzez filtr dolnoprzepustowy działa lepiej. Wiem że tak musiałem zrobić ale nie rozumiem czemu no i na jaką częstotliwość ten filtr dobrać :)
  • Poziom 15  
    Jak chcesz nieskaczący wynik z ADC to sobie daruj ten przetwornik wbudowany w ATmega. Zastosuj jakiegoś np. Texasa ADS7828 i będzie po problemie. Nawet poprawnie zaprojektowana płytka i te wszystkie dławiki filtry i tak dalej nie doprowadzą do tego że wszystkie 10 bitów będzie stabilne.

    Z moich obserwacji wynika że zawsze dwa najmłodsze bity skaczą i nie da się tego w żaden sposób zlikwidować. Podejrzewam nawet że Atmel jest tego świadomy i celowo w ośmiobitowym uK umieścił przetwornik dziesięciobitowy żeby obciąć dwa najmłodsze bity, a dopiero tą resztę brać do przetwarzania, chyba nawet to obcinanie można zrealizować w atmedze sprzętowo.

    Proponuje układ zewnętrzny, ja z układem wymienionym powyżej bez specjalnych zabiegów uzyskałem 12 bitów stabilnych. Tylko po 100nF na wszystkich zasilniach i rozdzielona masa analogowa i cyfrowa.
  • Poziom 26  
    Z ATmegi spokojnie da się wycisnąć te 10 bitów w miarę stabilne, tylko trzeba zastosować odpowiednie metody. Odpowiednie rozdzielenie mas i filtracja sygnału analogowego jest konieczna. Dodatkowo należy dokonać większej ilości pomiarów i ich wynik uśrednić np. wykonać 16 pomiarów i wynik po dzielić przez 16. Ja na ATmedze 32 uzyskałem stabilne krótko okresowo pomiary do 10 bitów przy 64 pomiarach (ostatni bit zmieniał co kilka serii pomiarów o jeden np 234-235 ale miałem na to dużo wolnego czasu procka.
  • Poziom 20  
    Powiem tak : czasu zbytnio nie mam bo odczyt jest w pętli głównej, nie potrzebuję również wielkiej częstotliwości pracy przetwornika wynik raz na sekundę na przykład mi wystarczy nie musi być to odrazu 4,10 czy 100kHz. Wynik uśredniam 16 pomiarami, powtarzam że filtr pomógł, na jaką częstotliwość go dobrać? (bo nie działa idealnie ale o wiele wiele lepiej)
  • Poziom 26  
  • Poziom 20  
    to nie za dużo?
    ja mam 100k i 15nF i wzór:
    f=1/2ΠRC
    co daje
    1/(6,28*10^5*15*10^-9) czyli około 106 Hz
  • Pomocny post
    Poziom 26  
    Czyli przy pomiarze co sekundę pasmo filtra powinno być <0,5Hz ale w praktyce tak nisko nie trzeba filtrować. Przy 100nF i 100kHz będzie ok 15Hz i takie wartości w/g mnie będą optymalne. Ogólnie przy pomiarach napięcia stałego filtr może mieć bardzo dużą stałą czasową, jedynie prąd wejściowy przetwornika i upływ kondensatora ogranicza pasmo od dołu ( nie zalecane jest dawanie elektrolitów w filtrze oraz dużej rezystancji ze względu na wejściowy prąd polaryzacji ADC).