ATTINY26 -> A/D

Procesor: ATtiny26L Zasilanie: 3V Oscylator: Internal 1MHz

Fragment kodu kodu:

//------------------------------------------------------- uint16_t g_odniesienie;

ADMUX = 0x87; // b10000111, ustawienie zrodla Vref i polaczonego kanalu (7) ADCSR = 0x83; // b10000011, m.in. wlaczenie A/D i ustawienie prescalera (podzial przez 8), f glowna=1MHz

g_odniesienie = read_adc(); eeprom_write_word(0x01,g_odniesienie); //zapisuje wartosc kalibracyjna -2 bajty o adresie 0x01 i 0x02 (little endian) //---------------------------------------------------------

jak widac zrodlo referencyjne (2,56) ustawione wewnetrzne bez zewnetrznego kondensatora, wybrany kanal odpowiedni, tryb Single Conversion, prescaler

1MHz /8,

Problem:

napiecie na pinie / wartosc odczytana z EEPROMU / wartosc nap obliczona wg wzoru VIN=ADC/VREF*1024

0,70V / 0x0103 (259) / 0,648V 1,18V / 0x01B2 (434) / 1,085V 1,68V / 0x026C (620) / 1,55V 2,48V / 0x0396 (918) / 2,295V ...

jak widac jest znaczna rozbieznosc komorki EEPROMu raczej sprawne (procesor nowy, zapisywanie do kilku komorek daje taki sam wynik) moze brak kondensatora na nozce AREF? ale skoro jest przewidziana opcja bez kondensatora to powinno wszystko i tak dzialac a intuicja mi podpowiada ze ten kondensator ma raczej wplyw na wartosc najmlodszych bitow (kondensatora nie moge dac gdyz mam bardzo rygorystyczne wymagania na rozmiary plytki). AVCC podlaczone z VCC =3V Ogolnie nie potrzebuje bardzo dokladnego pomiaru- tzn 2 najmlodsze bity spokojnie moge odrzucic ale blad jest zdecydowanie zbyt gruby. Nie mam pomyslu jak na razie

Pozdrawiam

Reply to
Zizu
Loading thread data ...

Zizu wrote: ....

... A doczytał w specyfikacji mikrokontrolera jaką dokładność ma wewnętrzne źródło referencyjne?

Pozdrawiam,

Reply to
Artur Lipowski
Reply to
Tomasz Grodnicki

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.