Forum: Mikrocontroller und Digitale Elektronik Power-down beim 4433


von Sebastian Wille (Gast)


Lesenswert?

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

von Frankl (Gast)


Lesenswert?

Einen Timer ja, aber extern. Wenn der Rechner schläft dann schläft er 
auch. Und kann nur durch einen externen Interrupt geweckt werden.

von Sebastian Wille (Gast)


Lesenswert?

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

von remo (Gast)


Lesenswert?

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.
------------------

von Sebastian Wille (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.