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

ADC ATMEGA8. Większa częst. oscylatora, wynik skacze.

patrx 03 Paź 2006 23:15 2525 7
REKLAMA
  • #1 3082962
    patrx
    Poziom 16  
    Posty: 245
    Pomógł: 7
    Ocena: 15
    Witam.
    Przy wewnętrznym zegarze 1MHz ADC działa poprawnie, problem pojawia się przy większej częstotliwości oscylatora. Wtedy wynik pomiaru z przetwornika skacze tzn przy precyzyjnym regulowaniu napięcia na wejściu ADC wynik na wyświetlaczu nie zmienia się kolejno. Kombinowałem z preskalerem ale bez rezultatu.
    Może ktos już się spotkał z takim problemem?

    Pozdrawiam
  • REKLAMA
  • #2 3082998
    GienekS
    Poziom 32  
    Posty: 1971
    Pomógł: 139
    Ocena: 15
    Problem w zasilaczu. Porządny zasilacz i powinno załatwić problem.
  • REKLAMA
  • #3 3083052
    patrx
    Poziom 16  
    Posty: 245
    Pomógł: 7
    Ocena: 15
    No ale przecież przy 1Mhz działa poprawnie, a poza tym wartości na wyświetlaczu nie zmieniają się losowo. Zasilacz jest stabilizowany i odfiltrowany i sądzę że nic więcej mu nie trzeba.
  • REKLAMA
  • #4 3083363
    shg
    Poziom 35  
    Posty: 2289
    Pomógł: 339
    Ocena: 135
    Większa częstotliwość to więcej zakłóceń, ale to raczej nie tu tkwi przyczyna.
    Miałem ATmega8 z kwarcem 16MHz i wyniki z ADC ('przetaktowanego' o 50kHz) stabilne, czasen tylko pojawiał się szum na poziomie 1LSb.

    Wobec tego:
    - Jak wygląda Twoja płytka?
    - Jak wygląda obwód zasilania ADC?
    - Czy dostosowałeś program do nowej częstotliwości zegara? (ewentualna zmiana preskalera dla ADC i zmiana częstotliwości próbkowania)
  • REKLAMA
  • #5 3083510
    patrx
    Poziom 16  
    Posty: 245
    Pomógł: 7
    Ocena: 15
    Problem leży raczej w mikrokontrolerze a nie poza nim. Układ jest starannie zmontowany na płytce uniwrsalnej i tu nie ma się raczej do czego przyczepić. Przetwornik próbkuję programowo w pętli sprawdzając za każdym razem czy przetwarzanie zostało zakończone, próbowałem też z autopowtarzaniem ale bez skutku. Tak wogóle to czy trzeba ustawiać jakąś konkretną wartość preskalera? Jest to jakoś ściśle powiązane z częstotliwością oscylatora? Wydaje mi się, że nie zwłaszcza że bawiłem się preskalerem i nic.
  • Pomocny post
    #6 3083586
    Tdv
    Poziom 34  
    Posty: 2237
    Pomógł: 150
    Ocena: 55
    Trzeba tak dobrać wartość preskalera, żeby częstotliwość dla przetwornika była nie wyższa niż 200kHz, chyba, że chce się korzystać z przetwornika z 8 bitową rozdzielczością bo i taką możliwość dają AVRy. Stoi to jak byk w manualu.
  • Pomocny post
    #7 3083666
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    spróbuj wykoszystać próbkowanie z "uśpieniem" procesora - nie pamiętam dokładnie ale da się tak skonfigurować procka, że funkcją sleep uśpisz niepotrzebne układy wewnętrzne atmegi które wprowadzają dość sporo zakłuceń - funkcja sleep uruchomi wtedy automatycznie przetwarzanie ADC a po jego zakończeniu procesor automatycznie wyjdzie ze śpiączki - poczytaj dokładnie manuala - jest to dość dobrze wytłumaczone.
  • #8 3084680
    patrx
    Poziom 16  
    Posty: 245
    Pomógł: 7
    Ocena: 15
    Rzeczywiście w nocie aplikacyjnej wszystko jest wyjaśnione. Ustawiłem preskaler na 128 i działa poprawnie. Dzięki

Podsumowanie tematu

LABEL_AI_GENERATED
Przy pracy przetwornika ADC mikrokontrolera ATmega8 z wewnętrznym zegarem 1 MHz pomiary są stabilne, natomiast przy wyższej częstotliwości oscylatora wyniki pomiarów skaczą mimo stabilnego i filtrowanego zasilania. Problem nie wynika z zakłóceń zasilania ani z błędów w płytce. Kluczową kwestią jest odpowiednie ustawienie preskalera ADC, tak aby częstotliwość taktowania przetwornika nie przekraczała 200 kHz, co jest zgodne z zaleceniami dokumentacji technicznej. Dodatkowo można zastosować tryb uśpienia procesora podczas konwersji ADC, co redukuje zakłócenia generowane przez inne układy wewnętrzne mikrokontrolera. Po ustawieniu preskalera na 128 pomiary stały się stabilne i poprawne.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA