Stromverbrauch ADC Atmega8

OP #1919428
Lesenswert?

Hallo,

Ich baue derzeit an einer Modellbau-Servosteuerung die mit Batterie 
betrieben werden soll.

Der Stromverbrauch liegt im Normalfall (SLEEP_MODE_PWR_DOWN) bei 0,824mA 
(davon 0,9µA vom Prozessor) und der Rest von der Hardware 
(IR-Empfänger).

Sobald ich eine Messung mit dem ADC gemacht habe, benötigt der Prozessor 
(im PWR_DOWN) 0,296mA. Egal wie oft ich ihn Wecke und wieder in den 
Schlaf schicke!

Prozessor: Atmega8 (TQFP) @ 4MHz intern

Hier mein Code zum auslesen des ADC:
1
unsigned int analog_input(unsigned char channel)
2
{
3
 ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1);   // Den ADC aktivieren und Teilungsfaktor auf 64 stellen
4
 ADMUX = channel;                 // Kanal des Multiplexers waehlen
5
   
6
 ADCSRA |= (1<<ADSC);
7
 while(ADCSRA & (1<<ADSC));
8
 return ADCW;                  //ergebnis
9

10
 ADCSRA &= ~(1<<ADEN);               // ADC wieder deaktivieren
11
}

Was mache ich falsch?

Gruß
René

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren