Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Kategoria: Akumulatorki / Baterie / Ładowarki

przetwornik analog-cyfra, uśrednianie, atmega8

kamil1cos7 31 Paź 2011 12:08
  • #1 31 Paź 2011 12:08
    kamil1cos7
    Poziom 14  

    Cześć, mam kłopot z przetwornikiem analogowo-cyfrowym, po skonfigurowaniu skakała mi wartość wyjściowa z przetwornika więc postanowiłem zrobić uśrednianie, obsługa tego przetwornika wygląda teraz następująco:

    Code:

    adc_conversion_complete:

       push r16
       push r17
       in r16, SREG
       push r16
       push XL
       push XH

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;

       ldsw X, adc_buff
        in r16, ADCL
        add XL, r16
        in r16, ADCH
        adc XH, r16   
       
       dec dec_buff
       subi dec_buff, 0
       in r16, SREG
       sbrc r16, 1
       rcall resetuj_dane
       stsw adc_buff, X
       
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
       
        pop XH
        pop XL
         pop r16
         out SREG, r16
         pop r17
         pop r16

    reti

    resetuj_dane:

       ldi dec_buff, 16
       lsrw X
       lsrw X
       lsrw X
       lsrw X
       stsw temp, X
       ldiw X, 0
       stsw adc_buff, X
       
    ret

    I problem jest w tym że, takie uśrednianie jakie zrobiłem nic nie pomogło, wartości nadal tak samo skaczą, może popełniłem jakiś błąd w kodzie...
    Podsuńcie mi jakiś pomysł jak to zrobić żeby te wartości nie skakały... Wartość 'temp' jest wyświetlana na wyświetlaczu.
    Pozdrawiam

  • #2 31 Paź 2011 12:12
    dondu
    Moderator Mikrokontrolery Projektowanie

    kamil1cos7 napisał:
    Cześć, mam kłopot z przetwornikiem analogowo-cyfrowym, po skonfigurowaniu skakała mi wartość wyjściowa ...

    A jak masz podłączony mikrokontroler? To bardzo istotne w przypadku ADC.
    Pokaż schemat.

  • #3 31 Paź 2011 13:17
    kamil1cos7
    Poziom 14  

    Jeśli o to chodzi to AREF przez 100n do masy, a AVCC do zasilania i do masy też przez 100n

  • #4 31 Paź 2011 13:21
    dondu
    Moderator Mikrokontrolery Projektowanie

    kamil1cos7 napisał:
    Jeśli o to chodzi to AREF przez 100n do masy, a AVCC do zasilania i do masy też przez 100n

    Są jeszcze inne dokładniejsze rozwiązania: ADC - Dokładność vs podłączanie
    A jak z filtrowaniem zasilania części cyfrowej - masz oK?
    Czy to projekt na PCB, stykówka czy uniwersalna?

  • #5 31 Paź 2011 13:54
    eleproject
    Poziom 16  

    A jaki masz rozrzut tych wartości tak w ogóle?

  • #6 31 Paź 2011 14:38
    kamil1cos7
    Poziom 14  

    Na płytce stykowej, piny zasilania także przez 100n do masy przyłączałem

    Dodano po 40 [minuty]:

    rozrzut o 10 jednostek nawet... a to wydaje mi się jest dużo

  • #7 31 Paź 2011 21:08
    kamil1cos7
    Poziom 14  

    @dondu
    Dzięki za tą stronkę, znalazłem tam rozwiązanie mojego problemu... Wystarczyło ustawić nieużywane piny jako wyjścia i np jedynką na nie wpisać...;)
    Pozdrawiam

  Szukaj w 4mln produktów
Przeglądaj produkty