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

przetwornik analog-cyfra, uśrednianie, atmega8

kamil1cos7 31 Paź 2011 12:08 2278 6
  • #1 10084756
    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:
    
    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 10084772
    dondu
    Moderator na urlopie...
    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 10084996
    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 10085012
    dondu
    Moderator na urlopie...
    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?
  • #6 10085151
    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 10086965
    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
REKLAMA