Hallo, in meinem Projekt soll ein Atmega48 grob alle halbe Stunde eine Messung machen und sich dann wieder in den Power-Down-Zustand begeben, da das ganze batteriebetrieben und der Stromverbrauch kritisch ist. Natürlich wäre eine low-power RTC die lösung, aber eigentlich zu teuer, vor allem weil Genauigkeit überhaupt keine Rolle spielt. Ich hatte mir gedacht einen Elko von ungefähr 100uF über einen sehr großen Widerstand (10 MOhm-Bereich) aufzuladen, so dass ungefähr alle 30 Minuten ein High-Pegel am Interrupt-Pin anliegt. Hat hier jemand Erfahrung mit solch großen Zeitkonstanten? Problematisch könnten DC-Leckströme des Kondensators und der Eingangswiderstand des uC sein. Ich wüsste bloß gerne ob es Wert ist das ganze mal auszuprobieren oder ob man doch lieber auf was anderes zurückgreifen sollte. Schonmal Danke für die Antworten Florian
Hi Florian, Deine Idee ist sicher irgendwie nachvollziehbar, aber praktisch recht unsinnig. Mach das über den Timer und wenn die 30Min noch nicht um sind, leg das Ding direkt wieder schlafen. Das ist so ziemlich der Standard und das verbraucht vermutlich noch weniger Energie als Deine Schaltung.
Den ATmega möglichst langsam takten (z.B. Uhrenquarz + DIV8 Fuse) und
den Timer benutzen.
Den Kondensator zu laden und zu entladen verbraucht vermutlich mehr
Strom:
• Low Power Consumption
– Active Mode:
250 μA at 1 MHz, 1.8V
15 μA at 32 kHz, 1.8V (including Oscillator)
– Power-down Mode:
0.1 μA at 1.8V
Gruß
Jobst
Florian V. schrieb: > Ich hatte mir > gedacht einen Elko von ungefähr 100uF über einen sehr großen Widerstand > (10 MOhm-Bereich) aufzuladen, so dass ungefähr alle 30 Minuten ein > High-Pegel am Interrupt-Pin anliegt. Dann wirst Du erheblich mehr Strom verbrauchen als z.B. mit dem Watchdog. CMOS-Eingänge mögen es garnicht, wenn man sie analog ansteuert. Dann sind nämlich beide FETs der Eingangsstufe leitend. Und deshalb dürfen fürs Stromsparen auch keine IO-Pins floaten. Peter
Mit einem CMOS-Schmitt-Trigger könnte es klappen. Diese Bausteine sind ja speziell zur Signalkonditionierung gedacht, und das Eingangssignal darf da auch krumm und langsam sein. Anstatt einen Elko, würde ich einen Folienkondensator nehmen, oder einen modernen Kerko mit hoher Kapazität. Bei der Exaktheit der 30 Minuten sollte sicherlich 5% Toleranz möglich sein. Ob der Peter beim Schmitt-Trigger auch noch Recht hat, müßte man eben mal testen. Ganz sicher bin ich mir da nämlich auch nicht. Aber energiemäßig, wäre ein RC-Glied unschlagbar. Im CMOS-Kochbuch stehen auf der letzten Seite auch solche interessanten Fragen und Aufgaben für Tüftler. Z.B.: Bauen sie ein Gerät, welches mit einer Mignonzelle am Nordpol 1 Jahr lang Daten loggt. Leider ohne Lösungen.
Es gibt viele Geräte die lange abwarten müssen, aber keins macht es so wie du. Warum ? Weil man externe Bauteile gerne einspart, und lieber Software im uC nutzt. Der kann nämlich eine Zeit lang in PowerDown schlafen und braucht dabei viel weniger Strom als der Reststrom grosser Elkos oder der Querstrom einer Eingangsstufe bei halber Betriebsspannung. Entscheidend für niedrigen Stromverbrauch ist es, auch den Oszillator abzuschalten. Dann weckt den uC nur noch der Watchdog-Timer wieder auf. Auch wenn der auf die längste Zeit gestellt wird, ergibt das keine 30min, aber kein Problem, das kann der uC ja entscheiden, er kann ja 99 mal gleich wieder schlafen gehen und nur bei 100ten mal seinen Job machen. Es MUSS also kein niederfrequenter Quartz verwendet werden. Auf keinen Fall spendiert man für so einen Billigjob externe Bauteile die massiv der Alterung unterliegen. Neben PowerDown kann der Atmega48 auch in Standby schlafen, er braucht mehr Strom, aber die verstrichene Zeit ist dann quarzgenau.
Hey vielen Dank für die Anregungen. Die Idee mit dem Watchdog erscheint mir für meine Anwendung die eleganteste Lösung zu sein. Die Sache mit dem floating Pin hab ich nicht bedacht.
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.