Witam, jestem poczatkujacy i mam problem z przetwornikiem w Attiny 13A.
W atmedze16 udalo mi sie uruchomic i dzialal jak nalezy ale teraz jest problem
Napiecie odniesienia jest ustawione na wewnetrzne 1.1V przetwornik dziala jako 10bitowy wiec
1.1V / 1024 = 0.001
Z datasheeta termistora wyczytalem ze osiaga 2080 Ohm przy 30 stopniach C
Wiec przy tej temperaturze w spadek napiecia na nim w przypadku mojego dzielnika rezystorowego powinien wynosic 3.37V i faktycznie tak jest
Przy temperaturze 50 stopni C opor rosnie do 2400 wiec spadek napiecia bedzie wynosil 3,53
Niestety mimo podgrzewania termistora nawet do 100 C gdzie spadek napiecia wynosi ponad 4V dioda nie swieci sie
A to kod:
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB|=(1<<PB3); //konfiguracja diody LED jako wyjscie
ADMUX=(1<<MUX0); // Wejscie ADC1
while (1)
{
ADCSRA=(1<<ADEN) //Właczenie ADC
|(1<<ADSC) //Ciagla konwersja
|(1<<ADIF)
|6; //Prescaler 64
while ((ADCSRA & (1<<ADIF))==0);
if (ADC>3530) PORTB|=(1<<PB3); // Gdy wiecej niz 50C, zaswiec LED
else PORTB=0;
_delay_ms(10);
}
}
W atmedze16 udalo mi sie uruchomic i dzialal jak nalezy ale teraz jest problem
Napiecie odniesienia jest ustawione na wewnetrzne 1.1V przetwornik dziala jako 10bitowy wiec
1.1V / 1024 = 0.001
Z datasheeta termistora wyczytalem ze osiaga 2080 Ohm przy 30 stopniach C
Wiec przy tej temperaturze w spadek napiecia na nim w przypadku mojego dzielnika rezystorowego powinien wynosic 3.37V i faktycznie tak jest
Przy temperaturze 50 stopni C opor rosnie do 2400 wiec spadek napiecia bedzie wynosil 3,53
Niestety mimo podgrzewania termistora nawet do 100 C gdzie spadek napiecia wynosi ponad 4V dioda nie swieci sie
A to kod:
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB|=(1<<PB3); //konfiguracja diody LED jako wyjscie
ADMUX=(1<<MUX0); // Wejscie ADC1
while (1)
{
ADCSRA=(1<<ADEN) //Właczenie ADC
|(1<<ADSC) //Ciagla konwersja
|(1<<ADIF)
|6; //Prescaler 64
while ((ADCSRA & (1<<ADIF))==0);
if (ADC>3530) PORTB|=(1<<PB3); // Gdy wiecej niz 50C, zaswiec LED
else PORTB=0;
_delay_ms(10);
}
}