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

[ATTiny13][GCC][ADC] Nie działa dla napięcia na ADC < 2,2

adas313 04 Maj 2010 21:23 1858 2
REKLAMA
  • #1 8035727
    adas313
    Poziom 2  
    Posty: 2
    Ocena: 1
    Witam!

    Znalazłem w sieci (niewykluczone, że na tym forum :) ) i trochę przerobiłem przykładowy program obsługujący przetwornik AC. Generalnie jego działanie sprowadza się do przetworzenia napięcia podawanego na ADC0 i wyświetlenia części wyników przetwarzania na porcie B.

    Problem polega na tym, że program działa prawidłowo, ale tylko jeśli napięcie na ADC0 jest większe niż 2,2V. Poniżej tej wartości diody nie świecą w ogóle, niezależnie czy korzystam z VCC czy wewnętrznego napięcia 1,1V. Powyżej niej dla VCC diody prezentują jakąś wartość binarną wprost proporcjonalną do napięcia a dla 1,1V wszystkie się świecą.

    Kod:

    
    #include <avr/interrupt.h>
    #include <avr/io.h>
    #include <avr/wdt.h>  
    
      long int value;
    
    SIGNAL(SIG_ADC)                        
    {
      value = ADCH;                        
      PORTB = (value>>2);
    }
    
    int main(void)
    {
    	wdt_disable();
    
    	DDRB     = 0b00011111;
    	ADMUX  =  0b00100000;
    	ADCSRA = 0b11101101;
    	ADCSRB = 0b00000000;
    	DIDR0    = 0b00100000;
    	
           sei();
    
    	for(;;)
    	{ ;};
    }
    


    Schemat podłączenia (nie uwzględniłem ISP):
    [ATTiny13][GCC][ADC] Nie działa dla napięcia na ADC < 2,2

    Korzystam z jakiejś gotowej płytki prototypowej. Programowałem na niej już ATTiny13 i nie miałem z tym problemów. Próbowałem na 2 procesorach, problem wystąpił na obydwu. Oba są najprawdopodobniej sprawne.

    Co robię źle?
  • REKLAMA
  • #2 8035791
    Karol966
    Poziom 31  
    Posty: 2041
    Pomógł: 83
    Ocena: 650
    Całkiem dziwny ten program. Po pierwsze RTFM
    po drugie jak zapalasz diody to zwykle robi się to podając logiczne 0 na katodę diody podłączonej poprzez rezystor do logicznej 1.
  • #3 8040645
    adas313
    Poziom 2  
    Posty: 2
    Ocena: 1
    Karol966 napisał:
    Całkiem dziwny ten program. Po pierwsze RTFM

    No tak. Resetowałem procesor...
    Podłączyłem się do ADC2 i jest ok.
REKLAMA