Hallo, ich arbeite an einem Batterie-betriebenen Sensor, der sich alle paar Minuten per Funkmodul melden soll. Wenn ich die AVR-Datenblätter lese und (heffentlich) richtig verstehe, erreiche mit dem Watchdog eine "Schlafzeit" von max. ca 2 sec. Wenn ich zB nur alle 10 min was tun möchte, bleibt mir wohl nur der Weg einen Zähler mitzuführen, der 300 Aufwecker mitzählt. oder ? Kennt noch jemand einen anderen Weg, nur alle 5-10 min aufzuwachen ? Der Sensor soll im Freien arbeiten, ein externer RC-Wakeup scheint mir nicht geeignet - oder evt. ein Reset-Generator, vielleicht was von Maxim.
Für eine genaue und Sparsame Zeitmessung gibt es Quarze mit 32 kHz. Viel AVRs können damit als 2tem Takt den Timer 2 betreiben. Da hat man dann einen Vorteiler von 1024 und einen 8 Bit timer. Das gibt dann für das Aufwachen eine 8 Sekunden Periode. Wenn man die 32 kHz als Haupttakt nutzt, geht auch ein 16 Bit Timer und dann auch Zeiten bis etwa 30 Minuten. Für ganz gemütliche könnte man Teilweise auch noch einen Vorteiler für den Takt dazuschalten, um den µC mit z.B. 256 Hz laufen zu lassen. Das reicht dann fast für einen Winterschlaf. So schlimm ist es auch nicht wenn der µC alle 2 Sekunden mal was macht. Der ist immer noch rund 99% der Zeit im Schlafmodus.
Welches Funkmodul? Das RFM12 hat einen Wake-Up-Timer, der einen Interrupt auslösen kann. Ansonsten brauchst du externe Hardware. Ein CD4060 wäre denkbar, aber ich weiß nicht, wie weit man da mit der Frequenz bei einem RC-Glied runtergehen kann. Super-Luxus wäre ein RTC-Baustein mit Alarm-Interrupt.
Matthias D. schrieb: > erreiche mit dem Watchdog eine > "Schlafzeit" von max. ca 2 sec. Bei neueren AVRs erreichst Du mit dem Watchdog bis zu 8 Sekunden. Du kannst den Controller kurz aufwachen lassen, eine Variable hochzählen und gleich wieder schlafen legen. Hat die Variable den gewünschten Wert erreicht, führst Du einen normalen Programmstart aus und arbeitest die gewünschte Funktion ab, bevor Du den Controller wieder schlafen legst. Am schnellsten kannst Du den Controller übrigens mit internem Taktgeber aufwecken, da dieser sofort anläuft, im Gegensatz zu externen Quarzen oder Resoantoren. Wenn Du an den TOSC-Pins einen 32.768Hz-Quarz anschließt, kannst Du den internen Oszillator abgleichen, wenn Du eine genaue Taktrate brauchst, um z.B. serielle Schnittstellen zu bedienen.
Matthias D. schrieb: > Wenn ich zB nur alle 10 min was tun möchte, bleibt mir wohl nur der Weg > einen Zähler mitzuführen, der 300 Aufwecker mitzählt. oder ? Und was stört Dich daran? Rechne mal nach, was für ein "riesen" Stromunterschied das ist. Ein Fliegenschiß auf der Zimmerwand fällt mehr auf. Peter
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.