www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sleep-Modus ATMega8


Autor: Roadrunner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Esquilax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: haps (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Seppl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Roadrunner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  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.

Autor: Timo S. (kaffeetas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem Timer am 32k Quarz kann man doch jeweils 8 sekunden Schlafen 
lassen...

Autor: haps (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Roadrunner,

so siehts aus, wird auch oft so in der Industrie eingesetzt. Bittesehr, 
viel Erfolg!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.