Eine Schaltung mit ATMEGA328 ist im Wald Teil eines Geocache. Der Geocacher kommt und schaltet die Batterieversorgung durch einen versteckten Schalter ein. Dann hat er Spaß und soll danach die Batterieversorgung wieder ausschalten. Für den Fall, dass er vergisst, z. B. die Türe zu schließen, soll der ATMEGA sich vorher selbst die Stromversorgung abschalten können (z. B. MOSFET). D.h. die gesuchte Timed-Power-Saver-Schaltung (dem ATMEGA vorgeschaltet) merkt sich bei minimalem Stromverbrauch, dass der Rest der Platine inkl. ATMEGA ohne Strom bleiben soll, solange die Türe noch offen ist oder mit anderen Worten, die Batterie noch angeschlossen ist. Auf der anderen Seite soll die Schaltung, wenn nach einer kurzen Pause wieder Strom anliegt, den ATMEGA und Elektronik versorgen. D.h. wenn der nächste Geocacher kommt und die Türe kurz zumacht, geht alles wieder wie geplant. Es ist also eine Art Notfall-Spannungsunterbrechung gesteuert durch ein kurzes digitales Signal, die durch Spannungsunterbrechung wieder gelöst wird. Erst wenn die Stromversorgung unterbrochen wird und erneut verbunden wird, soll die Batterie den ATMEGA wieder erreichen. Wäre für Ideen dankbar. Vermutlich gibt es das auch schon, ich weiß vielleicht einfach nicht, wie sowas heißt?
Warum nimmst du nicht einen anständigen Linearregler/SNT und lässt den Controller ständig am Strom? Den Schalter machst du an den Interrupt der den Controller aus dem Sleep aufweckt. Wenn jemand vergisst die Türe zu schließen gehst du nach Timeout trotzdem in den Sleep und wartest auf den nächsten Interrupt.
Warum benutzt du dafür nicht die Ruhezustände des Atmega328, und legst den uC nach Beendigung der Bespassung solange in den Tiefschlaf bis die Tür wieder aufgeht? LG, Sebastian
N. M. schrieb: > Warum nimmst du nicht einen anständigen Linearregler/SNT und lässt den > Controller ständig am Strom? Der braucht auch nur extra Energie. Wenn man sich schon für eine Technologie wie AVR entscheidet, einer der Vorteile von dessen relativ groben Strukturen ist doch genau der, dass man das Ding von 1,8 bis 5,5 V betreiben kann. Allerdings aus eigener Erfahrung von Geräten im Außeneinsatz: jede Größenordnung weniger Ruhestrom, die man erzielen möchte, vervielfacht den Aufwand. Peinlich sauberes Abwaschen der Flussmittelreste, Lackieren des Boards etc. – erst danach konnte ich einen ATmega wirklich jahrelang aus einem Batteriesatz (2 x LR03) betreiben.
Es hängt noch mehr Elektronik dran, u. a. ein Soundchip und diverse Lichtschranken. Daher wollte ich gern alles in einem Aufwasch abschalten. Eine Möglichkeit wäre, den ATMEGA den Strom für die restlichen Komponenten schalten zu lassen, aber ich wollte mal den Versuch starten, ob man das noch einen Tick besser hinbekommt und alles abschalten kann.
Jörg W. schrieb: > Wenn man sich schon für eine Technologie wie AVR entscheidet, einer der > Vorteile von dessen relativ groben Strukturen ist doch genau der, dass > man das Ding von 1,8 bis 5,5 V betreiben kann. Hast du natürlich Recht. Wenn man in ganz weglässt ist es noch besser.
Das ist die Schaltung mit Taster. Da wüsste ich nicht, wie ich das anpassen kann. Ich habe nur einen Schalter zur Verfügung, der mit Öffnen der Tür schliesst und die Stromversorgung an die Platine durchleitet.
Helmut S. schrieb: > Eine Möglichkeit wäre, den ATMEGA den Strom für die restlichen > Komponenten schalten zu lassen, Dann mach das. > aber ich wollte mal den Versuch starten, > ob man das noch einen Tick besser hinbekommt und alles abschalten kann. Klar, das ist insbesondere im Hinblick auf Korrosion viel besser, wenn nicht alles unter Spannung steht. Aber wenn einer die Tür offen lässt und dein mechanischer Kontakt die Spannung zuschaltet, dann hast du doch wieder alles unter Spannung. Was man sicher irgendwie hin bekäme: das Öffnen der Tür differenziert einen Impuls (über einen Kondensator), der dann eine Selbsthalteschaltung anwirft, die die eigentliche Spannungsversorgung übernimmt. Das Timing kann ja der Controller übernehmen. Dann ist der Zustand der Tür egal – um es später wieder einzuschalten, muss man die Tür halt erstmal schließen und erneut öffnen. Nur die Selbsthalteschaltung ist dann dauerhaft unter Spannung.
Jörg W. schrieb: > Was man sicher irgendwie hin bekäme: das Öffnen der Tür differenziert > einen Impuls (über einen Kondensator), der dann eine > Selbsthalteschaltung anwirft, die die eigentliche Spannungsversorgung > übernimmt. Differenzieren wird notwendig sein, denn jede sonstige Variante wird bei einem dauerhaft geschlossenen Schaltkontakt über den notwendigen PU / PD einen Strom ziehen, der weit über dem eines schlafenden µCs liegt. 3V und 100k geben 30µA, ein µC im Tiefschlaf kann bei 0.1µA liegen, zumindest unter 1µA. Gut, für den Mega328 habe ich keine Zahlen, es dürfte sich aber nicht wesentlich unterschieden. Man muss aber auch im Programm vor dem Tiefschlaf einige Dinge lahm legen ...
Helmut S. schrieb: > Das ist die Schaltung mit Taster. Da wüsste ich nicht, wie ich das > anpassen kann. Ich habe nur einen Schalter zur Verfügung, der mit Öffnen > der Tür schliesst und die Stromversorgung an die Platine durchleitet. Ist es wenigstens ein Wechselschalter (mit 3 Anschlüssen)?
Steve van de Grens schrieb: > Helmut S. schrieb: >> Das ist die Schaltung mit Taster. Da wüsste ich nicht, wie ich das >> anpassen kann. Ich habe nur einen Schalter zur Verfügung, der mit Öffnen >> der Tür schliesst und die Stromversorgung an die Platine durchleitet. > > Ist es wenigstens ein Wechselschalter (mit 3 Anschlüssen)? Leider nein. Ist schon verbaut und nur die Platine kann ohne riesen Aufwand getauscht werden.
Helmut S. schrieb: >> Ist es wenigstens ein Wechselschalter (mit 3 Anschlüssen)? >Leider nein. Ist schon verbaut und nur die Platine kann ohne riesen > Aufwand getauscht werden. Man könnte den Mikrocontroller per Watchdog Timer alle 10 Sekunden aufwecken um kurz den Schalter zu checken. Dabei den Schalter nicht an die Versorgungsspannung klemmen, sondern an einen I/O Pin. Dann kann der µC den Schalter Stromlos machen während er schläft.
1 | ____ |
2 | µC Pin o--------- -----| |
Um den Schalter abzufragen, den Pin als Eingang mit Pull-Up konfigurieren. Kurz warten, dann den Pegel einlesen. Beim Schlafen den Pull-Up deaktivieren.
Geht ganz bequem mit dem Sleep-Mode. Der AVR kann dann über einen MOSFET andere Lasten zuschalten. Beitrag "Re: AVR Sleep Mode / Knight Rider"
Peter D. schrieb: > Geht ganz bequem mit dem Sleep-Mode. > Der AVR kann dann über einen MOSFET andere Lasten zuschalten. > > Beitrag "Re: AVR Sleep Mode / Knight Rider" Danke, das Prinzip habe ich schon verwendet, ist wohl die beste Variante, die ich auch schnell hinbekomme.
HildeK schrieb: > Jörg W. schrieb: >> Was man sicher irgendwie hin bekäme: das Öffnen der Tür differenziert >> einen Impuls (über einen Kondensator), der dann eine >> Selbsthalteschaltung anwirft, die die eigentliche Spannungsversorgung >> übernimmt. > Differenzieren wird notwendig sein, denn jede sonstige Variante wird bei > einem dauerhaft geschlossenen Schaltkontakt über den notwendigen PU / PD > einen Strom ziehen, der weit über dem eines schlafenden µCs liegt. 3V > und 100k geben 30µA, ein µC im Tiefschlaf kann bei 0.1µA liegen, > zumindest unter 1µA. > Gut, für den Mega328 habe ich keine Zahlen, es dürfte sich aber nicht > wesentlich unterschieden. Man muss aber auch im Programm vor dem > Tiefschlaf einige Dinge lahm legen ... Danke, sehr guter Punkt. Das scheint letztlich das Problem, ich bekomme es nicht einfach und mit wenig Stromverbrauch hin.
Steve van de Grens schrieb: > Beim Schlafen den Pull-Up deaktivieren. Dann muss aber auch der Pin auf Ausgang und Null, sonst floatet der in der Gegend rum und die Eingangsschaltung verbraucht Strom.
Helmut S. schrieb: > Das scheint letztlich das Problem, ich bekomme > es nicht einfach und mit wenig Stromverbrauch hin. Ja, richtig. Timer, auch der WD-Timer sind mit mehreren µA am Ruheverbrauch beteiligt. ADC ebenso. Mit dem PRR-Register kann man einiges deaktivieren. Die andere Variante wurde oben schon erwähnt: Schau mal beim Transistortester. Beitrag "Re: Transistortester AVR" Ich habe eine Schaltung mit einem Tiny861, die einmal täglich von einem RTC geweckt wird (wäre entsprechend ein Signal von dem Schalter mit Differenzierglied), ein EEPROM liest und zwei bis dreimal die Woche LEDs blinken lässt. Einen Taster zur Quittierung oder zum Abfragen, ob heute noch was ansteht bzw. Lamptest. Die läuft seit Anfang 2018 mit dem ersten Satz von drei AA-Zellen. Beitrag "Re: Mülltonnen-Blinker"
Ingo W. schrieb: > Steve van de Grens schrieb: >> Beim Schlafen den Pull-Up deaktivieren. > > Dann muss aber auch der Pin auf Ausgang und Null, sonst floatet der in > der Gegend rum und die Eingangsschaltung verbraucht Strom. In sleep modes where both the I/O clock (clkI/O) and the ADC clock (clkADC) are stopped, the input buffers of the device will be disabled. This ensures that no power is consumed by the input logic when not needed.
Ingo W. schrieb: > Dann muss aber auch der Pin auf Ausgang und Null, sonst floatet der in > der Gegend rum und die Eingangsschaltung verbraucht Strom. Aus dem Datenblatt des ATmega328: "If the input buffer is enabled and the input signal is left floating or have an analog signal level close to VCC/2, the input buffer will use excessive power... Digital input buffers can be disabled by writing to the Digital Input Disable Registers (DIDR1 andDIDR0)...most of the digital inputs are disabled in the deep sleep modes." Allerdings reagieren hochohmige Eingänge auf Radiowellen, was wohl auch die Stromaufnahme erhöht, schätze ich. Den Pin auf LOW zu setzen kann jedenfalls nicht schaden.
Helmut S. schrieb: > soll der ATMEGA sich vorher selbst die > Stromversorgung abschalten können (z. B. MOSFET). Nicht sonderlich neu und sicher mehrfach im Forum zu finden. Ich habe sowas erst vor wenigen Tagen gepostet: Beitrag "Re: DS18B20 Identifier Schaltungsfragen" Der NDP6020P (das P ist wichtig!) ist kaum noch verfügbar. Ersatz muß ein P-FET sein, der unter 3 Volt noch zuverlässig schaltet.
Manfred schrieb: > ein P-FET sein, der unter 3 Volt noch zuverlässig schaltet. Mein Standard-Logik-PFET IRLML2244? LG, Sebastisn
Sebastian schrieb: > Manfred schrieb: >> ein P-FET sein, der unter 3 Volt noch zuverlässig schaltet. > Mein Standard-Logik-PFET IRLML2244 Ja, würde für diese Anwendung gut passen. Damit man optimal durcheinander kommt, für dessen Ansteuerung einen IRLML6344 :-)
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.