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

Nestabilny wynik przetwornika A/C w ATMega8 - jak ustabilizować?

slawek55 18 Lis 2005 10:57 2743 9
REKLAMA
  • #1 2001650
    slawek55
    Poziom 23  
    Posty: 788
    Pomógł: 3
    Ocena: 61
    CZeść.

    Nie wiem dco jest ale po uruchomieniu przetwornika A/C w ATMega8 wyświetlam sobie wynik na lcd (bez rzadnego formatowania wyiku, tylko czysta liczba odebrana z A/C) strasznie niestabilny jest wynik.
    Nie przeskakują ostatnie cyfry tylko cały wynik jest niestabilny.

    Moze wiecie co jest nie tak.
  • REKLAMA
  • #2 2001668
    pubus
    Poziom 30  
    Posty: 1289
    Pomógł: 138
    Ocena: 31
    Witam...

    Zaglądałeś do noty katalogowej jak powinien wyglądać układ jeżeli wykorzystuje się A/C...?.?.?
    Jeśli to jest wporządku to może źródło napięcia ref jest niestabilne...
  • REKLAMA
  • Pomocny post
    #3 2001715
    genetix
    Poziom 24  
    Posty: 669
    Pomógł: 42
    Albo napięcie odniesienia, albo to co mierzysz jest niestabilne :)

    Napisz jak masz zrealizowane Vref.
  • REKLAMA
  • #4 2002055
    slawek55
    Poziom 23  
    Posty: 788
    Pomógł: 3
    Ocena: 61
    Napięcie Vref jest wewnętrzne z kondensatorem 100n o wartości 2,56V.
    Co do nistabilności nap mierzonego to chyba nie bo jest ono z czujnika temperaturu LM35 i wg woltomierza jest stabilne, a cały wynik skacze!


    Zasilanie przetwornika jest jak w nocie katalogowej. (z dławikiem i kondensatorem).
  • #5 2002125
    Robewit
    Poziom 26  
    Posty: 679
    Pomógł: 77
    Ocena: 102
    Piny 8 i 22 (GND) powinny być połączone możliwie grubą i jak najkrótszą ścieżką. Do pin 21 dołącz plusem kondensator 10uF, piny 7 VCC i 20 AVCC połącz dławikiem 4,7...10uH, od pin 20 dołącz 100nF do GND. Może to ustabilizuje działanie przetworników.
    Powodzenia
  • #6 2002421
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 134
    Dorzuć do tego jeszcze płaszczyznę masy.
    Ja mam tak:
    - Dwie płaszczyzny masy - analogowa i cyfrowa połączone w jednym punkcie (no właściwie to poiedzmy w dwóch, bo w środku proca też jest połączenie, ale kiepskie ~2ohm
    - Zasilanie części analogowej przez filtr LC.
    - Zewnętrzne źródło napięcia odniesienia 2.5V (TL431) BEZ kondensatora blokującego (bo z kondenstaorem się wzbudza - vide nota katalogowa).
    - źródło sygnału o małej impedancji wewnętrznej.
    - ekranowany kabel.

    Efekt - pomiar nie zmienia się ani o jeden bit, nawet pomimo "przetaktowania" ADC do 250kHz (próbkowanie 16kHz)

    Upewnij się, że wykorzystujesz wejścia ADC0-ADC3 (albo dodatkowo ADC6-ADC7 w wersji SMD). Pomiary z wejść ADC4-ADC5 mogą być zakłócane przez "śmieci" z części cyfrowej, bo ich obwody wejściowe zasilane są "cyfrowym" napięciem, a nie odfiltrowanym napięciem AVcc

    A to, że miernik pokazuje stabilne napięcie, nie znaczy wcale, że ATmega też musi.
    Miernik uśrednia sygnał w całym okresie próbkowania, ponadto okres ten jest tak dobrany, aby wartość średnia indukowanych zakłóceń z sieci wynosiła 0. przetwornik w ATmega8 i wszystkie przetworniki A/C działające podobnie do niego pobierają próbkę napięcia przez bardzo krótki moment i "przechowują" ją w ukłądzie próbkująco-pamiętającym (sample & hold). No i przez to są znacznie bardziej podatne na zakłócenia.
  • #7 2011407
    bartsam
    Poziom 15  
    Posty: 75
    Pomógł: 7
    Ocena: 3
    slawek55, a spróbuj zasilać AREF tylk z kond. do masy, bez filtrującego dławika. u mnie doraźnie to pomogło (a wczesniej odczyty z linii ADC miały straszne rozrzuty). Teraz będę dobierać inny, lepszy dławik ;)
  • REKLAMA
  • #8 2012755
    mzielin
    Poziom 22  
    Posty: 483
    Pomógł: 31
    Ocena: 16
    No i zastosuj wszystkie zalecane przez ATmela rady. W dokumentacji, w sekcji o przetworniku ADC jest dokładnie opisane jakie srodki programowe możesz użyć, aby zwiększyć dokładność pomiarów.
  • #9 2024010
    tz_tomek
    Poziom 12  
    Posty: 34
    Ocena: 2
    Ja mialem podobny problem, ale wtedy popełniłem dziecinny błąd:) wartości czytałem z przetwornika 1 a wielkość mierzoną podpiąłem do przetwornika 0. Potem juz wszystko chodziło ok.
  • #10 2052743
    kolanopan
    Poziom 12  
    Posty: 82
    Pomógł: 5
    Miałem identyczny problem, okazało zie ze lcd był podłączony do nóżek ADCx I w czasie konwersji A/D wysylane byly sygnaly na LCD co powodowalo zakłucenia. Napisz program tak aby w czasie pomiaru niewysylal danych na LCD, i najlepiej ustaw bit ADATE na zero, i wyzwalać pomiar ręcznie a nie ałtomatycznie. Wtedy powinno być ok, pozmieniaj program i zobacz co bedzie sie działo

    Pozdro

Podsumowanie tematu

✨ Problem niestabilnych wyników przetwornika A/C w mikrokontrolerze ATMega8 może wynikać z kilku przyczyn. Należy zwrócić uwagę na stabilność napięcia odniesienia (Vref), które w opisywanym przypadku jest wewnętrzne z kondensatorem 100nF o wartości 2,56V. Zaleca się sprawdzenie układu zasilania przetwornika, w tym odpowiednie połączenie masy (piny 8 i 22) grubą i krótką ścieżką, zastosowanie kondensatora 10uF na pinie 21 (AREF), filtrację zasilania analogowego (dławik 4,7-10uH między VCC i AVCC oraz kondensator 100nF do masy). Dodatkowo warto rozważyć zastosowanie dwóch płaszczyzn masy (analogowej i cyfrowej) połączonych w jednym punkcie, zasilanie części analogowej przez filtr LC oraz zewnętrzne stabilne źródło napięcia odniesienia (np. TL431 bez kondensatora blokującego). Ważne jest także używanie wejść ADC0-ADC3, gdyż wejścia ADC4-ADC5 mogą być zakłócane przez część cyfrową. Należy zweryfikować, czy sygnał wejściowy ma niską impedancję oraz czy podczas pomiaru nie są wysyłane dane na LCD, co może powodować zakłócenia. Programowo warto wyłączyć automatyczne wyzwalanie pomiarów (bit ADATE) i wykonywać je ręcznie. Przestrzeganie zaleceń z noty katalogowej ATMega8 oraz odpowiednia filtracja i ekranowanie sygnałów znacząco poprawiają stabilność odczytów ADC.
Wygenerowane przez model językowy.
REKLAMA