Ich möchte gerne meinen ATMEGA so stromsparen wie möglich betreiben, da die Versorgung mittels Batterien erfolgen soll. Darum wollte ich mal fragen, welche Möglichkeiten es gibt, den Stromverbrauch so gut wie möglich zu reduzieren. Als AVR habe ich mich für den ATMEGA88V entschieden. Was für Möglichkeiten hat man nun um Softwareseitig einiges einzusparen? Mir wurde unter anderem ans Herz gelegt den ADC zu deaktivieren. Muß man den wirklich erst deaktivieren? Bringt das was? Und was wäre noch zu empfehlen? Den Takt so gering wie möglich zu halten?
Den ATmega gibt es auch in einer Pico-Power-Version!. -Betriebsspannung herabsetzen, (wird ggf. Störanfälliger) -Schlafen legen soweit möglich* -alle Peripherie abschalten, soweit möglich* dazu gehört auch der Brown-Out (nur beim Sleep!!!!) -weitere Infos verweigert die Kristallkugel..... (warum wohl? vielleicht weil Schaltung/weitergehende Beschreibung fehlt)
Was hindert Dich daran ins Datenblatt zu schauen, wo all das deutlich beschrieben steht?
Zu diesem Thema gabs in der aktuellen Elektor von März/2010 einen Artikel. http://www.elektor.de/jahrgang/2010/marz/jedes-mikrojoule-zahlt.1255269.lynkx Gruß Tobias
> (warum wohl? vielleicht weil Schaltung/weitergehende Beschreibung fehlt) Die Schaltung selbst habe ich bereits mit besten Wissen und Gewissen aufs notwendigste reduziert (Strombegrenzung, etc..) Es ging mir jetzt wirklich nur um den AVR. > Den ATmega gibt es auch in einer Pico-Power-Version!. Die Pico sind die PU-Varianten oder? Betriebsspannung mußte ich so anpassen das auch ein LCD Betrieben werden kann. Schlafmodus fällt soweit aus, da permanent die Eingänge abgefragt werden müssen. Brown-Out könnte ich tatsächlich generell abdrehen. So wichtig ist die Spannungsüberprüfung in meinem Falle nicht. > Was hindert Dich daran ins Datenblatt zu schauen, wo all das deutlich beschrieben steht? Worauf gezieht peilst du denn da an? Tips zur Stromreduzierung?
Manfred W. schrieb: > Schlafmodus fällt soweit aus, da permanent die Eingänge abgefragt werden > müssen. hast du überhaupt mal ins Datenblatt geschaut? Es gibt verschiedene Schlafmodis. Auch kann der atmel geweckt werden wenn sich etwas an den eingängen tut.
Manfred W. schrieb: > Schlafmodus fällt soweit aus, da permanent die Eingänge abgefragt werden > müssen. Was heißt denn "permanent" ? Wenn du z.B. jede halbe Sekunde einen Eingang abfragst, dann lohnt es sich schon, den µC schlafen zu legen. Ansonsten lege ich dir auch den Tipp von Tobias nahe: In der aktuellen Elektor ist ein Artikel, der dir alle deine Fragen beantwortet. Und da steht nicht nur: "A abschalten bringt was", sondern auch gemessen, wieviel Strom es spart.
Manfred W. schrieb: >> Was hindert Dich daran ins Datenblatt zu schauen, wo all das deutlich > beschrieben steht? > > Worauf gezieht peilst du denn da an? Tips zur Stromreduzierung? Ich wiederhole mich. Schau halt einfach mal rein. Es gibt ein ganzes Kapitel nur über's Stromsparen.
Eine Möglichkeit ist z.B. das Abschalten von nicht benötigten Baugruppen wie z.B. die ADC's. Aber das ist in dem Elektroartikel wirklich alles schön aufgelistet und beschrieben.
> Wenn du z.B. jede halbe Sekunde einen >Eingang abfragst, dann lohnt es sich schon, den µC schlafen zu legen. Wenn das so ist... Das läuft dann wohl wieder über Interrupts? > In der aktuellen > Elektor ist ein Artikel, der dir alle deine Fragen beantwortet. Sieht interessant aus. Gibt es dieses magazin auch im laden zu kaufen oder ist das ein reines Online-Magazin. Sonst schau ich gleich mal runter ob das Heft schon zu haben ist.
Also das Magazin gibt es auch in Papierform. Ob man das jetzt auch in nem Laden kaufe kann kann ich dir nicht sagen. Ich habs im Abo. Aber man kann den Artikel auch Online einzeln kaufen denke ich.
Hallo > Schlafmodus fällt soweit aus, da permanent die Eingänge abgefragt werden > müssen. Kann man da nicht soetwas wie einen PCF8574 nutzen. Der kann ja einen Level-Interrupt auslösen, wenn sich was an den Eingängen tut. Der braucht im standby max 10 müA und dafür kann der ATmega tief und fest schlafen.
Leg den uC schlafen, setzte nen Timer der deinen uC weckt, frag dann die Eingänge auf und schlaf weiter. Alles anderen ist doch unpraktikabel und hat nichts mit Strom sparen zu tun... Man abgesehen, davon ist ein AVR eh nicht sparsam...will ich strom sparen nehme ich gleich nen gescheiten uC.
@n.a. Wenn der Atmel schläft ist I << 1µA möglich, ich schaffe es jedenfalls. Und wenn es wirklich darum geht die letzten nano-Amps rauszukitzteln, dann SICHER nix mit PIC (brrr.......), Atmel, TI, dann sehe mich die Datenblätter von micro-electronic-marin an, wenn es um Stromsparen geht kennt man sich dort naturgemäß aus. (Stichwort Swatch) Fragt sich nur ob der Aufwand nötig ist????
Sinn macht es nur dann wenn es im einfachen machbaren bereich liegt. Wenn ich den batterein ein paar Stunden mehr Saft rausholen kann ist das schon ein Vorteil. Ich würde die Schaltung ja auch gerne mit 3V betrieben, das Problem ist nur das ich ein LCD drann habe das unter 4V den Geist aufgiebt. Klar es gibt auch Stromsparendere wie die DOG-Serie, aber die sind kaum zu bekommen und 3 mal so teuer. Das mit dem Schlafmodus ist auch fraglich. Habe jetzt nochmal nachgedacht. Die Taster werden am Eingang doch recht oft gedrückt (dafür ist die Schaltung eigentlich auch konzepiert) Da kommt es leicht vor das in 1 Sekunde der Taster mehr als 10 mal gedrückt wird. Ob da noch der Sleep-Modus Sinn macht ist fraglich. Macht es Sinn wenn ich nur das LCD mit 5V betreibe, und den Rest der Schaltung mit 3V? Dann bräuchte ich allerdings wieder eine Pegelanpassung an den Steuerleitungen. Also was macht denn in meinem Falle nun wirklich Sinn?
Manfred W. schrieb: > Das mit dem Schlafmodus ist auch fraglich. Habe jetzt nochmal > nachgedacht. Die Taster werden am Eingang doch recht oft gedrückt (dafür > ist die Schaltung eigentlich auch konzepiert) Da kommt es leicht vor das > in 1 Sekunde der Taster mehr als 10 mal gedrückt wird. Ob da noch der > Sleep-Modus Sinn macht ist fraglich. Mal angenommen du brauchst für das auswerten der Taster 10ms (das ist denke ich viel Zeit) und das 10 mal. Dann ist dein yC 100ms aktiv. Die restlichen 900ms kann er gemütlich schlafen.
Gib doch einfach mal n groben Überblick, eventuell mit Schaltplan, was du überhaupt machen willst. Mit dem Gerate ins Blaue ohne weitere Angaben bringt das nicht viel. So Angaben wie "10 mal die Sekunde kann der Taster schon gedrückt werden, ist das Schlafenlegen zwischen drin noch sinnvoll?" sind naja nichtssagend, was wird sonst noch gemacht, wie schnell ist der Prozessor getaktet,...?
@Guter Rat ja da hast Du recht, aber man muss immer den gesamten uC mit all seiner Peripherie betrachten. Was bringt mir ein toller Werbeflyer in dem ein hinkender Vergleich ist, wo ein uC keine 800nA braucht. Von PIC halte ich nicht viel. Ich setze hauptsächlich diverse 430er ein... bewährt und sparsam, bestimmt gibt es mittlerweise sparsamere uC, aber das Gesamtkonzept passt.
Die Schaltung im Anhang. Das ganze projekt soll in einen Arcade Automaten Stick eingebaut werden. Also die 6 Tasten sind Feuertasten, die bei Spielen wie ihr euch sicher denkt oft hintereinander gedrückt werden. Wie würdet ihr den nun vorgehen?
Was hast du den für ein LCD-Display genau? Bezeichnung? Man kann Displays auch mit 3V versorgen, Stichwort Ladunspumpe ->ICL7660 Im Datenblatt steht unter Betriebsspannung 5V, aber wenn man am Disply eine Negative Kontrastspannung anlegt läuft das Display auch mit 3V. http://www.sprut.de/electronic/lcd/index.htm#led (Kapitel: Stromversorgung) http://datasheets.maxim-ic.com/en/ds/ICL7660-MAX1044.pdf Figur 5 im Datenblatt wäre dann die Beschaltung, unter 3,5V Betriebsspannung muss dann noch PIN 6 auf GND. Steht aber alles im Datenblatt. Edit: Bei einem Display mit Hintergrundbeleuchtung wirds schon schwieriger. Sag mal den genauen Typ...machmal das Bild etwas größer man erkennt kaum was. Wie wird der Controller Programmiert?
wenn das Display wirklich eine Hintergrundbeleuchtung hat, dann braucht man sich um die Stromaufnahme des Atmels keine sorgen mehr zu machen.
Das ganze mittels Negativspannung ist zwar schon, aber ob eine weitere Schaltung den Effekt nicht wieder aufhebt? Hab jetzt leider keine größere Variant von der Schaltung da, aber wenn du das Bild speicherst und vergrößerst sind die Bauteile lesbar. Das Disdplay ist dieses hier: http://www.futurlec.com/LED/BLUELCD16x2BL.shtml Wobei ich mich jetzt nicht unbedingt auf dieses Festlegen muß. Hab es nur genommen weil es blaui und gerade greifbar war. Und hat eine hintergrundbeleuchtung, die aber wahlweise auch abgeschalten bzw. dünkler geschalten werden kann mittels MENÜ. Nachtrag: Habs doch noch gefunden. Im Anhang.
Mhmm mit 3V geht die Beleuchtung aber nicht. Was hast du den als Batterie gedacht? Brauchst du eigentlich keine genauere/schnellere Taktquelle wenn du die Wii/Pc usw. anschließt? Wie Programmierst du das teil?
Manfred W. schrieb: > Das ganze mittels Negativspannung ist zwar schon, aber ob eine weitere > Schaltung den Effekt nicht wieder aufhebt? > > Hab jetzt leider keine größere Variant von der Schaltung da, aber wenn > du das Bild speicherst und vergrößerst sind die Bauteile lesbar. > > Das Disdplay ist dieses hier: > http://www.futurlec.com/LED/BLUELCD16x2BL.shtml > > Wobei ich mich jetzt nicht unbedingt auf dieses Festlegen muß. Hab es > nur genommen weil es blaui und gerade greifbar war. > Und hat eine hintergrundbeleuchtung, die aber wahlweise auch > abgeschalten bzw. dünkler geschalten werden kann mittels MENÜ. > > Nachtrag: Habs doch noch gefunden. Im Anhang. http://www.newhavendisplay.com/specs/NHD-C0216CZ-NSW-BBW-3V3.pdf http://www.newhavendisplay.com/specs/NHD-C0216CiZ-FSW-FBW-3V3.pdf Beide 16x2, laufen mit 2.7V ~300uA, erzeugen die Kontrastspannung intern, lassen sich über SPI bzw. I2C ansteuern und haben eine Hintergrundbeleuchtung, . Gibt's bei Mouser und Digikey Preis ~8€.
Sönke O. schrieb: > Mhmm mit 3V geht die Beleuchtung aber nicht. Was hast du den als > Batterie gedacht? > > Brauchst du eigentlich keine genauere/schnellere Taktquelle wenn du die > Wii/Pc usw. anschließt? Wie Programmierst du das teil? 3xAA Akkus mit 1,2V. Ich hab das gestern mal versucht. Die sind einfach zu schwach für das LCD. Die Anzeige schwimmt richtig nach wenn sich die Zeichen ändern. Taktquelle? Wieso? Also der AVR läuft momentan mit 4MHz. Wobei ich den auf 1MHz runtertakten werde. Das reicht völlig aus. Wird mit dem myAVR programmiert. > Beide 16x2, laufen mit 2.7V ~300uA, erzeugen die Kontrastspannung > intern, lassen sich über SPI bzw. I2C ansteuern und haben eine > Hintergrundbeleuchtung, . Gibt's bei Mouser und Digikey Preis ~8€. Das sieht mir sehr exotisch aus. Dürfte ein serielles Display sein.
Trotzdem wissen wir immer noch nicht, was du damit vor hast. Wenn du ein Spiel programmieren willst, dann hat der µC ja noch andere Sachen zwischen den Tastendrücken zu tun ... Display aktualisieren, Berechnungen usw. Da muss man halt wissen, was zu tun ist und wie lange es dauern wird, um abzuschätzen, ob sie die Sleep Mode Geschichte überhaupt lohnt. PS: Das Elektorheft gibts im gut sortieren Zeitschriftenladen (allerdings find ich es für >7€ ganz schön teuer)
Das Display allein verbraucht ca 2 -4 mA, das ist schon nicht wenig. Ich denke grad über ein anderes Display lässt sich der Stromverbrauch am effektivsten senken. Vielleicht passen für dich auch die DOGM-Serien? die können im Spannungsbereich 3,6 - 2,7 Volt betrieben werden. Würde mir vor allem für ein sparsames Gerät ein reflektives Display holen, da die LED-Beleuchtung sowieso den Rahmen sprengt ;-)
Hier mal ein Video dazu: http://www.youtube.com/watch?v=HmPJmip5X1o Da sieht man schön was das Ding eigentlich tut. DOGM-Serien, ja das wäre eine alternative. Beleuchtung sollte schon sein.
Bei der Beleuchtung kann man auch sparen. Ich lass meine 2x16 jeweils mit 10mA oder weniger aufm Backlight laufen.
Coole Idee erstmal, und läuft ja auch schon richtig gut...nun ja ich würde aufjedenfall mal an der Beleuchtung sparen. Soll das ganze dann in ein Gehäuse? Soll es "Mobil" sein also in einem Handlichen Gehäuse oder kann es ruhig größer werden. Würde dann weiter machen und mal größere Akkus einbauen. Würde erst ganz zum Schluss mit dem µC anfangen. Bei 1Mhz und einer 3V Betriebsspannung verbraucht der auch im Aktive Mode nicht mehr viel Strom (in Relation zu den LED usw.)
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.