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
JTAG schon deaktiviert (pullups!)? Sonstige Hardware? Verwendest du einen Spannungsregler? Welche Taktquelle, intern oder extern?
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.
>Also alle Pins sollten hochohmig sein.
Floatende Pins können den Stromverbrauch erhöhen.
Also entweder Pullup einschalten oder als Ausgang definieren.
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.
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?
Querstrom. Und u.U eingestreute, hohe Schaltfrequenzen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.