Hi, in meinem Projekt soll der Atmel so wenig Strom wie möglich ziehen. Meine Idee: Den Atmel laufen lassen (Eingaben lesen..., ca. 50ms), dann 950ms per Power-down schlafen lassen. Im Atmel-Datenblatt heißt es, ich brauche einen externen Interupt. Heißt das, daß ich z.B. keinen Timer verwenden kann?!? Danke! Sebastian
Einen Timer ja, aber extern. Wenn der Rechner schläft dann schläft er auch. Und kann nur durch einen externen Interrupt geweckt werden.
Hi Frankl, danke für die Antwort! :-) Und wo bekomme ich einen externen Timer her (heißt der wirklich nur "externer Timer" oder hat der noch einen besonderen Namen?), wieviel kostet er ca. und ganz wichtig, wie viel Strom zieht er? Danke! Sebastian
Also das geht alles viel einfacher: Der AVR unterstütz zwei unterschiedliche Sleep Modi. Anbei ein kurzer Auszug aus dem Atmel Datasheet (verfügbar auf der Atmel homepage www.atmel.com). im Power Down Modus braucht der AVR den geringsten Strom. Reagier aber nicht nur auf externen Interrupt sondern auch auf den Watchdog timer. Der lässt sich laut Datasheet in Stufen bis zu mehreren Sekunden einstellen. Ich gehe davon aus, dass nicht genau die 950ms eingehalten werden müssen, also bietet sich der Wert 1,5 Sec laut Datasheet an. Der Wert lässt sich nicht durch eine andere Quarzwahl verändern, da hier ein interner Oszillator zur Taktgewinnung verwendet wird. Sollten doch die 950ms nötig sein, dann hilft noch der Idle Mode, in dem der Timer weiterläuft, aber eben ein bischen mehr Strom verbraten wird. Das ist unterm Strich aber auch vom Stromverbrauch sicherlich noch günstiger, wie ein externer Oszillator, vom Aufwand ganz zu schweigen. Im Datasheet gibt es ein Kapitel Watchdog, der die Programmierung des Watchdogs erklärt. Also viel Spass und ran an die SW Lösung. Hier noch der Auszug, aus dem Datasheet: ciao Remo ---------------- Idle Mode When the SM bit is cleared (zero), the SLEEP instruction forces the MCU into the Idle Mode stopping the CPU but allowing Timer/Counters, Watchdog and the interrupt system to continue operating. This enables the MCU to wake up from external triggered interrupts as well as internal ones like Timer Overflow interrupt and watchdog reset. If wake-up from the Analog Comparator interrupt is not required, the analog comparator can be powered down by setting the ACD-bit in the Analog Comparator Control and Status register - ACSR. This will reduce power consumption in Idle Mode. Power Down Mode When the SM bit is set (one), the SLEEP instruction forces the MCU into the Power Down Mode. In this mode, the external oscillator is stopped, while the external interrupts and the Watchdog (if enabled) continue operating. Only an external reset, a watchdog reset (if enabled), an external level interrupt, or a pin change interrupt can wake up the MCU. ------------------
Hi remo, danke für den Tip, das ist die beste Lösung des Problems! :-) Soweit ich weiß, lässt sich der Watchdog in 8 Stufen (16,32,64,...,1024,2048ms) regeln. Ich les' es nochmals nach. Danke nochmals! Sebastian
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.