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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.