Hallo µC-Gemeinde, habe ein kleines Problem, das ich gerne erörtern würde. Basis meiner Applikation ist ein ATMega 8. Nun möchte ich einen Sleep-Mode benutzen um in der Appklikation Strom zu sparen. Leider muss dies in periodischen Abständen erfolgen ohne dass ein externes Ereignis auftritt. Hatte mir schon den "Sleep mode" Artikel durchgelesen, dort aber auch nichts Brauchbares gefunden. Bin am überlegen ob es nicht am einfachsten (und billigsten) wäre bevor man in den Sleep-mode geht einen externen 555 Timer anzuschubsen, der dann die Kiste per Monoshot über Ext-Int wieder zum Laufen bringt. Gibt es hier noch andere Möglichkeiten bzw. ICs, die mir hier helfen könnten? P.s.: Ich hatte mal eine Applikation mit einem PIC aufgebaut, wobei man hier den Watchdog "missbrauchen" konnte und der Watchdog keinen Reset sondern die Kiste aus dem Sleep-mode aufweckte. Ist dies bei einem ATmega auch möglich? MfG Roadrunner
Vielleicht hilft das. Du kannst den Controller intern takten und an den Eingängen TOSC1 und Tosc2 einen 32 kHz Quarz anschließen. Der speisst den asynchronen Timer2 und läuft irgendwann über. Mit dem Interrupt kannst du den Controller aufwecken. Mit Prescaler und Value steuerst du die Zeit. Im Datenblat stehen die Modes für Stand-By. Die Timer laufen weiter. Grüße, Jens
Ich hab zwar noch nie einen Atmega schlafen lassen, aber ich meine, dass man die auch von einem (internen) Timer wieder wecken lassen kann. Müsste im AVR- oder im AVR-GCC-Tutorial stehen.
Ihc habe für soetwas mal einen Kondensator und einenen Widerstand benutzt: vor dem sleep aufladen, dann über den widerstand entladen lassen und auf ein PCIRQ warten.. stromverbrauch war im untersten uA bereich
Schau doch mal ins Datenblatt, der Watch-Dog kann durchaus aus dem Sleep-Mode aufwecken, ohne einen Reset auszuführen. Außerdem setzt der "WD-Reset" ein Flag, sodaß man erkennt wer den Reset ausgelöst hat. Der einzige Nachteil ist, daß der Watchdog keine all zu langen Zeiten "machen" kann, ggf. muß man halt gleich wieder in den Sleep-Modus gehen, dann ist der ATMega auch nur ein paar µs in Betrieb. MfG Seppl
>Der einzige Nachteil ist,
das ein Mega8 das alles nicht kann.
Es gehen dafür:
- sleep-modus mit Aufwecken über Timer-Interrupt
- power-down modus mit Aufwecken über externen Interrupt mit
zusätzlicher Hardware (die auch wieder Strom braucht)
- power save modus mit externem 32kHz-Quarz und Aufwecken über asynchron
getakteten Timer2-Interrupt.
Oliver
Roadrunner schrieb: > billigsten) wäre bevor man in den Sleep-mode geht einen externen 555 > Timer anzuschubsen, der dann die Kiste per Monoshot über Ext-Int wieder > zum Laufen bringt. Überleg mal wieviel Strom der Mega braucht, wieviel Strom du durch den SleepMode sparen kannst und wieviel Strom der 555 verbraucht. Aus dem Bauch heraus machst du mit soetwas den Bock zum Gärtner.
Hallo, danke erstmal für die Antworten. @haps: Finde ich eine Super Idee. Wieso noch zusätzlich Hardware (hier: extra 555 Timer)verbauen, wenn ich das auch mit dem µC veranstalten kann. Laden, Entladen und Timer triggern geht dann über µC und Platz für ein RC-Glied sollte bei meiner Applikation drin sein ;-) Danke und Gruß Roadrunner
@ Roadrunner (Gast) >schon den "Sleep mode" Artikel durchgelesen, dort aber auch nichts >Brauchbares gefunden. Dann bist du blind. Setzen, sechs! >zum Laufen bringt. Gibt es hier noch andere Möglichkeiten bzw. ICs, die >mir hier helfen könnten? Mach erstmal die Augen auf.
Hallo Roadrunner, eventuell solltest Du überlegen auf einen Mega88 zu wechseln. Dort kann der Watchdog Interrupt zum Aufwachen genutzt werden. Den Aufwand zur portierung deiner Software nach Mega88 kann ich leider nicht abschätzen, dürfte sich aber im Rahmen halten. Der Watchdog Oscilator braucht ca 5µA bei einem tiny2313, habs leider noch nicht mit nem großen Mega ausprobiert. Dürfte aber in einer ähnlichen Größenordnung liegen. Maximale Zeit ca 8sec zum nächsten Aufwachen. Grüße Timo
Mit dem Timer am 32k Quarz kann man doch jeweils 8 sekunden Schlafen lassen...
Hey Roadrunner, so siehts aus, wird auch oft so in der Industrie eingesetzt. Bittesehr, viel Erfolg!
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.