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

Atmega 8 i LM358 - niestabilne odczyty ADC2 przy wspólnym zasilaniu

flapo213 14 Sie 2006 22:30 3036 9
REKLAMA
  • #1 2916128
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Witam mam taki dziwny problem. Realizację pomiaru prądu mam na lm358 i wszystko dobra jest super z wyjścia wzmacniacza prąd idealnie taki sam jak amperomierz w szeregu. Problem się zaczyna jak wyjście wzmacniacza podma do Atmegi na ADC2 czyli drugie wejście przetwornika. Wynik zaczyna mi pływać nie wiem dlaczego jak podłącze zewnętrzny zasilacz to wynik pomiaru jest super a w przypadku pobierania sygnału z LM raz wynik idzie w górę raz w dół nie staje wogóle za każdym razem inne wyniki. Wszystko napisane dla procka jest ok gdzieś mam zakłócenia pomożcie bo dostałem pomroczności jasnej. A nadmienię tylko iż wszystko zasilane jest z tego samego źródła a +5V pochodzi z LM317.
  • REKLAMA
  • #2 2916373
    marslod
    Poziom 15  
    Posty: 203
    Ocena: 1
    A może Ci się wzmacniacz wzbudza i sam generuje te zakłócenia. To że miernik pokazuje stałe wartości to normalka bo one są wolne i tak zgróbnie mierzą wartość średnią, no a adc łapie wszystko co po drodze i to widzisz na LCD. Sam walczyłem kiedyś z ATMEGA i adc

    Marcin
  • #3 2916478
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Spróbuję pojutrze podmienić LM358 bo już nie wiem. Wiem że mierniki nie mierzą za dokładnie i jedynie wartości średnie itd.
  • REKLAMA
  • #4 2916548
    pmmisiek
    Poziom 15  
    Posty: 234
    Pomógł: 7
    Ocena: 4
    Spróbuj ściągnąć pin ADC2 do masy przez rezystor. Powinno pomóc.

    Pozdrawiam
  • #5 2917168
    Press
    Poziom 24  
    Posty: 566
    Pomógł: 69
    Ocena: 40
    a w czym piszesz program? jak masz skonfigurowany pin wejsciowy przetwornika ADC? nie jest przypadkiem jako wyjscie?
  • REKLAMA
  • #6 2917620
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Witam. Piszę program w winavr i port jest dobrze skonfigurowany jako wejście DDRC i PORTC na 0 do wybranej końcówki. Gdyby port skonfigorowany był jako wyjście to ADC mierzyłby i wyświetlał 0V lub napięcie VCC. Przy uszkodzeniu portu są właśnie takie objawy. Spróbuję ściągnąć port ADC2 do masy przez powiedzmy jakiś 4.7k lu 10k opornik. Pozdrawiam i dzięki za sugestie. Poinformuje o doświadczeniach.
  • #7 2917679
    Tdv
    Poziom 34  
    Posty: 2237
    Pomógł: 150
    Ocena: 53
    A z czego ten prąd mierzysz? NIe przyszło CI do głowy, że jeżeli np. obciążeniem jest urządzenie z przetwornicą napięcia to prąd nie jest stały i może się ciągle zmieniać, czego miernik nie pokaże (już zostało napisane dlaczego), a szybki przetwornik, co próbkę mierzy inne napięcie. Jeżeli możesz wprowadź po prostu uśrednianie wyniku z np. 32 pomiarów, powinno się nieco uspokoić.
    Generalnie taki efekt daje też źle zaprojektowana płytka drukowana, szczególnie masa układu, było już o tym kilka razy na forum pisane - poszukaj i poczytaj.
  • #8 2917720
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Witam znalazłem przed chwilą rozwiązanie. Należy do wejścia ADC2 doprowadzić kondensator elektrolityczny powiedzmy 47uF lub większy a równolegle z nim rezystor np 2.2kOhm aby szybko rozładował i drugie końcówki do masy. Teraz wynik już nie pływa nareszcie. Zrozumiałem iż procesor ten nie akceptuje żadnych napięć zmiennych bądź niewyfiltrowanych. Pozdrawiam temat zamykam
  • #9 2918080
    Tdv
    Poziom 34  
    Posty: 2237
    Pomógł: 150
    Ocena: 53
    flapo213 napisał:
    Witam znalazłem przed chwilą rozwiązanie. Należy do wejścia ADC2 doprowadzić kondensator elektrolityczny powiedzmy 47uF lub większy a równolegle z nim rezystor np 2.2kOhm aby szybko rozładował i drugie końcówki do masy. Teraz wynik już nie pływa nareszcie. Zrozumiałem iż procesor ten nie akceptuje żadnych napięć zmiennych bądź niewyfiltrowanych. Pozdrawiam temat zamykam


    No pojemność jakąś małą warto dać na wejście ADC ale rzędu setek nF, a nie 47uF, a ten opornik to już kompletne nieporozumienie jest...
    Zamiast tego uśredniaj wynik cyfrowo - w końcu to procesor jest, efekt będzie ten sam.
  • REKLAMA
  • #10 3010639
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Dzięki Tdv. W sumie żadnego kondensatora nie trzeba zrobiłem jak napisałeś tylko że dałem trochę więcej próbek około 100 przy czasie przetwarzania 65us nawet znośnie. Wynik rewelacyjny na setnych częściach coś dopiero drga. Dzięki i tym razem zamykam temat.

Podsumowanie tematu

LABEL_AI_GENERATED
Problem dotyczył niestabilnych odczytów na wejściu ADC2 mikrokontrolera Atmega8 podczas pomiaru prądu za pomocą wzmacniacza operacyjnego LM358 zasilanych z tego samego źródła (+5V z LM317). Odczyty ADC były zmienne i niestabilne, mimo że amperomierz wskazywał prawidłowy prąd. Przyczyną mogło być wzbudzanie się wzmacniacza lub zakłócenia na linii sygnałowej. Proponowano podciągnięcie wejścia ADC2 do masy przez rezystor oraz sprawdzenie konfiguracji portu mikrokontrolera (DDR i PORTC). Zasugerowano także uśrednianie wyników pomiarów cyfrowo, co poprawiło stabilność odczytów. Autor ostatecznie rozwiązał problem, stosując uśrednianie około 100 próbek przy czasie przetwarzania 65 µs, co dało stabilne i dokładne wyniki. Dyskusja podkreśliła, że mikrokontroler nie toleruje sygnałów zmiennych lub niewystarczająco filtrowanych na wejściu ADC, a stosowanie dużych kondensatorów elektrolitycznych i rezystorów rozładowujących nie jest optymalne. Zalecane jest raczej cyfrowe filtrowanie i odpowiednia konfiguracja sprzętowa oraz programowa.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA