-
-
Neuer Benutzer
Öfters hier
POWER-DOWN MODE bei AVR?
Hallo
Es geht um eine kleine Mega 8 Applikation, die alle Minuten paarmal um auf einen Port etwas ausgeben soll. Die Schaltung wird aus einer Batterie betrieben. Die Stromaufnahme soll möglichst gering sein, um eine möglichst lange Lebensdauer der Batterie zu ermöglichen. Nun habe ich mir überlegt, dass ich den Prozessor schlafen lege um Strom zu sparen. Der Programmzustand bleibt erhalten. bzw. der Programmzustand des AVR ist eingefroren. Ich muss dann allerdinge einen externen Oszillator spendieren, der den AVR dann wieder weckt.
Meine Frage gibt es auch eine elegantere Lösung ohne externen Oszillator? In dem Sinn, dass sich der Prozessor selber weckt.
Hat jemand den Power down Mode beim Mega 8 ausprobieret?
-
Erfahrener Benutzer
Robotik Einstein
Nach nem erstem Blick ins Datenblatt würde ich den Power-save Mode nehmen und nen Uhrenquarz dranhängen. Dann kann ein Timer weiterlaufen udn den AVR wieder wecken.
-
Neuer Benutzer
Öfters hier
Nein, geht nicht. Der geweckte Prozessor arbeitet mit einem 16Mhz Takt (mittels 16Mhz Quarz am AVR).
-
Neuer Benutzer
Öfters hier
Da gibts ne Application Note zum Thema "Long Delays". Da kaskadierst du die Timer, welche den Controller mittels interrupt aus dem Sleep wecken.
Hab das vor ein paar Wochen in C "übersetzt" (jaja, für nen mega, wenn du's brauchst, schau ich, ob ich's noch irgendwo find (...ein paar Windows-Neuinstallationen später )
Tschüß,
R2D3212
-
Erfahrener Benutzer
Robotik Einstein
Muss es ein Quarz sein, und müssen es 16MHz sein? Je niedriger der Takt, desto weniger Stromverbrauch...
-
Neuer Benutzer
Öfters hier
Danke für eure Beiträge. Der 16MHz Clock ist notwendig, da ich einen gesampelten Wave-Sound über ein R2R-Netzwerk ausgebe. Bei der Clockfrequenz benötigt der Prozessor saftige 30mA. Die Soundausgabe erfolgt nur paarmal pro Minute, deswegen die Abschaltung.
--------------------------------------------------------------------------------
Da gibts ne Application Note zum Thema "Long Delays". Da kaskadierst du die Timer, welche den Controller mittels interrupt aus dem Sleep wecken.
Hab das vor ein paar Wochen in C "übersetzt" (jaja, für nen mega, wenn du's brauchst, schau ich, ob ich's noch irgendwo find (...ein paar Windows-Neuinstallationen später )
R2D3212:
Application Note zum Thema "Long Delays" wäre super.
-
Neuer Benutzer
Öfters hier
-
Neuer Benutzer
Öfters hier
Super!! Genau die Lösung, die ich gesucht habe.
Vielen Dank. :P
-
Neuer Benutzer
Öfters hier
Freut mich, dir geholfen zu haben
Funktioniert auch prächtig, diese LongDelay Funktion (Bis zu 9h Delay (glaub ich) bei 1MHz und das sogar im sleepmode). Einen Port musst halt für die Kaskadierung investieren...
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen