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][C] - Złe napięcie odniesienia w przetwornik ADC

Paweł_1985 11 Mar 2013 15:49 1158 1
REKLAMA
  • #1 12046289
    Paweł_1985
    Poziom 2  
    Napisałem program realizujący funkcję przetwornika ADC na Atmega16:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Niestety pojawił się problem z napięciem odniesienia. Nie wiem dlaczego procesor jako napięcie odniesienia bierze ok. 1,22V bez względu na to co ustawię w rejestrze ADMUX.
    Do Aref mam podłączony kondensator MKT, napięcie na Aref wynosi w zależności od konfiguracji bitów MUX: 0 - przy wybrany Aref, Vcc - przy wybranym zewnętrznym napięciu, 2,54 - przy wybranym 2,54.
    Podłączenie VCC i AVCC mam do zasilania, natomiast Vref tak jak podaje karta katalogowa przez kondensator do masy. Czy ktoś spotkał się może z podobnym problemem? Zastanawiam się, czy jest możliwe że z mikroprocesorem jest coś nie tak, jakaś wada.
  • REKLAMA
  • #2 12046383
    BlueDraco
    Specjalista - Mikrokontrolery
    1. Schemat byłby nie od rzeczy.

    2. Skąd wiesz, że procesor "bierze napięcie odniesienia 1.22 V"? Jakiego zachowania się spodziewasz, a jakie masz?

    3. Tak użyte przerwanie ADC wyżera cały czas procesora bez żadnego pożytku. Proponuję jednak testować gotowość i czytać ADC w miejscu, gdzie interpretujesz wynik, czyli w pętli głównej ALBO interpretować wynik w przerwaniu ADC, a w pętli głównej dać procesorowi pospać.
    Na ogół ciągły pomiar nie jest tym, o co chodzi programiście - to tak na przyszłość. Jakiś timer może?... ;)
REKLAMA