Witam szanownych forumowiczów.
Napisałem taki oto kod, w celu sprawdzenia działania napięcia Vbg (bandgap) podawanego na wejście przetwornika AD w atmedze8:
Testując układ w Protelu na porcie B dostaję same jedynki, w rzeczywistym układzie, a więc w praktyce na porcie tym mam zaś same niskie napięcia więc zera. Na domiar złego, czytając dokumentację mam wrażenie, że ustawiając flagi w ten sposób:
powoduję, że na wejście ADC podaję napięcie referencyjne równe Vbg=1.30V, co powinno dać jakieś 0100001010 (ADCH = 01000010). W każdym razie na pewno nie same jedynki czy same zera. O co tu chodzi? Czym jest napięcie bandgap, czy jest one rzeczywiście równe 1.30V? Czy jest ono podawane na wejście ADC, skoro w układzie dostaję same zera na wyjściu, tak jakby napięciem wejściowym była masa?
Napisałem taki oto kod, w celu sprawdzenia działania napięcia Vbg (bandgap) podawanego na wejście przetwornika AD w atmedze8:
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
void adcInit()
{
// źródło odniesienia - AVCC = 5V
ADMUX |= _BV(REFS0);
// wyrównanie do lewej
ADMUX |= _BV(ADLAR);
// kanał wejścia - Vbg
ADMUX |= _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
// zezwolenie na konwersję
ADCSRA |= _BV(ADEN);
// częstotliwość dla taktowania przetwornika 125kHz
ADCSRA |= _BV(ADPS1) | _BV(ADPS0);
}
int main()
{
DDRB = 0xff;
adcInit();
while(1)
{
ADCSRA |= _BV(ADSC);
while(ADCSRA & _BV(ADSC)){};
PORTB = ADCH;
};
return 0;
}Testując układ w Protelu na porcie B dostaję same jedynki, w rzeczywistym układzie, a więc w praktyce na porcie tym mam zaś same niskie napięcia więc zera. Na domiar złego, czytając dokumentację mam wrażenie, że ustawiając flagi w ten sposób:
ADMUX |= _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
powoduję, że na wejście ADC podaję napięcie referencyjne równe Vbg=1.30V, co powinno dać jakieś 0100001010 (ADCH = 01000010). W każdym razie na pewno nie same jedynki czy same zera. O co tu chodzi? Czym jest napięcie bandgap, czy jest one rzeczywiście równe 1.30V? Czy jest ono podawane na wejście ADC, skoro w układzie dostaję same zera na wyjściu, tak jakby napięciem wejściowym była masa?
