Forum: Mikrocontroller und Digitale Elektronik ATMega48 - hohe Stromaufnahme im Idle Mode?


von Lars Lochmann (Gast)


Lesenswert?

Hallo,

ich habe ein wenig mit den Schlafmodi des ATMEGA48 experimentiert und 
habe im Idle Mode eine unerwartet hohe Stromaufnahme festgestellt. Hat 
jemand schon ähnliche Erfahrungen gemacht bzw. eine Idee, was die 
Ursache sein könnte?


int main(void)
{
  set_sleep_mode(SLEEP_MODE_IDLE);
  sleep_mode();

 while (1)
  {
  }
}


Interner Clock 8MHz Division durch 8 => 1MHz
Spannung: 3,3V

Schaltung ohne Controller 0,3mA
Active Mode: 2,01mA-0,3mA= 1,71mA
Idle Mode: 1,69mA-0,3mA = 1,39mA
Power Down: 0,34mA-0,3mA= 0,04mA

von anonymous (Gast)


Lesenswert?

JTAG schon deaktiviert (pullups!)?
Sonstige Hardware?
Verwendest du einen Spannungsregler?
Welche Taktquelle, intern oder extern?

von Lars Lochmann (Gast)


Angehängte Dateien:

Lesenswert?

JTAG gibt es bei dieser Controlervariante nicht. Ich habe mal die 
Fuses-Einstellungen angehangen.
Ausgänge des Controllers werden nicht initialisiert. Also alle Pins 
sollten hochohmig sein.
Einen Spannungsregler verwende ich nicht. Die Stromaufnahme der 
Schaltung ohne Controller habe ich auch gemessen und in der Rechnung mit 
jeweils 0,3mA gegen gerechnet.
Ich finde halt, dass im Idle Mode die Stromaufnahme zu hoch ist, wenn 
man mit dem Datenblatt vergleicht.

von holger (Gast)


Lesenswert?

>Also alle Pins sollten hochohmig sein.

Floatende Pins können den Stromverbrauch erhöhen.
Also entweder Pullup einschalten oder als Ausgang definieren.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Grob gerechnet verbraucht der Idle-Mode bei gleicher Einstellung der 
Periphie ziemlich genau die Hälfte des Active-Modes. Module mit hoher 
Stromaufnahme sind ADC, Analog-Komparator, Brownout-Detektor und die 
Referenzspannungsquelle selbst. Was man nicht braucht, sollte per PRR 
abgeschaltet werden. Ansonsten gilt das zuvor Gesagte: alle Aus- und 
Eingänge auf definierten Pegel setzen und keine externen Bauelemente 
während des Sleep treiben.

von Lars Lochmann (Gast)


Lesenswert?

Ich habe jetzt alle Pullups aktiviert. Danke, es hat was gebracht. :)
Ich habe jetzt:
Schaltung ohne Controller 0,3mA
Active Mode: 1,24mA-0,3mA = 0,94mA
Idle Mode: 0,85mA-0,3mA = 0,55mA
Power Down: 0,45mA-0,3mA = 0,01mA

Das ist schon akzeptabel. :) Ich überlege jetzt nur noch, warum die 
floatenden Pins die Stromaufnahme erhöhen. Verursachen da eventuell 
Störungen von außen ein internes Schalten der Pin-Register, was zum 
Stromverbrauch führt bzw. wird im undefinierten Zustand ein Querstrom an 
Eingangstransitoren verursacht?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Querstrom. Und u.U eingestreute, hohe Schaltfrequenzen.

von Falk B. (falk)


Lesenswert?

Siehe Sleep Mode

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.