Stromkreis mit 555 Timer schließen

Zum stromsparenden Betrieb eines Arduino Nano möchte ich ihn etwa alle 5h für ca. ein oder zwei Minuten einschalten damit er sein Setup durchläuft und einen Sensoren auslesen kann.

Der Arduino wird von einem 800mAh Akku mit Solarpanel versorgt.
Ursprünglich hatte ich vor, mit einem 555 Timer einen Transistor zu schalten und so den Arduino einzuschalten.
Aber ich habe festgestellt, dass man einen NE 555 offenbar nur 50% der Zeit ausschalten kann. Ich muss ihn aber für weit über 90% der Zeit ausschalten (mehrere Stunden auschalten, wenige Minuten einschalten).

Mit folgender Webseite (http://www.ohmslawcalculator.com/555-astable-calculator) hab ich als alternative für den Kondensator einen Wert von 220uF, für R1 150MOhm und für R2 470kOhm herausgesucht. Mit diesen Werten wäre der Timer 99% der Zeit EINGESCHALTET. Wie kann ich das Signal nun invertieren? Also dass der Arduino Strom bekommt wenn der Timer ausgeschaltet ist?

Ist es für diesen Fall überhaupt noch sinnvoll einen 555 Timer zu verwenden? Immerhin möchte ich ihn ja verwenden um möglichst viel Strom zu sparen. Wenn der Timer aber fast durchgehend an ist, spart das überhautp viel Strom?

Ich bin auch über alle Vorschläge zu alternativen Lösungen dankbar.

Danke für alle Antworten. Wie man vielleicht aus meinem Text herauslesen kann habe ich noch nicht allzu viel Ahnung vom Thema. In der Schule kam Elektrik kaum dran. Deshalb bitte keine zu technischen Erklärungen^^

Hatten wir das Thema nicht schon irgendwie so ähnlich?

Sorry, warum sollte man einen 555er nur zu 50% ausschalten können? Wenn Du dem den Strom abklemmst, IST der ausgeschaltet und zwar zu 100%.
Wenn Du aber das Puls / Pausenverhältnis meinst, da kann die Impuls-PAUSE durchaus länger als 50% sein.
Es stimmt zwar, dass beim Ladevorgang des Kondensators 2 Widerstände wirken, beim Entladen jedoch nur einer. Dies kann jedoch mittels zweier Dioden geändert werden, so dass die beiden Zeiten völlig unabhängig voneinander einstellbar sind.

Hier ein Schaltbild

LG Stefan

Hi,

entweder direkt mit dem µC über den WDT (Watch Dog Timer) lösen, oder über das Alarmsignal einer RTC (Echtzeituhr).
Und nimm lieber einen Arduino Pro Mini, da ist noch weniger drauf, spart Strom.
Was Du da errechnet hast mit 150MOhm und 220µF ist nicht sehr praxisnah, da ein 555 den Kondensator mit dem 150MOhm widerstand auf 2/3 Ub aufladen muss, und da wird es bereits am Reststrom des Kondensators scheitern!

Gruß André

nehme doch einen ProMini, knips die Led raus und lege ihn in den Tiefschlaf.
Edit zu spät

combie:
Hatten wir das Thema nicht schon irgendwie so ähnlich?

Richtig, so ähnlich. Aber ich kann die benötigten Bibliotheken in der IDE nicht finden. Wenn ich nach avr/sleep.h suche finde ich keine Bibliothek mit diesem Namen. Auf Github habe ich eine Bibliothek mit diesem Namen gefunden (AVR Sleep · GitHub). Wenn ich sie herunterlade und in der IDE öffnen möchte steht da nur "keine gültige Bibliothek gefunden". Wenn ich die Datei entpacke funktioniert das auch nicht.

Daher habe ich mir überlegt keinen Sleep Mode zu verwenden sondern den gesamten Stromkreis ein- und auszuschalten. Und dazu wurde leider nicht viel geschrieben.

SpaghettiCode:
entweder direkt mit dem µC über den WDT (Watch Dog Timer) lösen, oder über das Alarmsignal einer RTC (Echtzeituhr).

Möchtest du den Arduino mit einer RTC aus dem Tiefschlaf aufwecken oder mit dem Alarmsignal einen Transistor schalten, um den Stromkreis zur Stromversorgung für den Arduino zu schließen?

SpaghettiCode:
Was Du da errechnet hast mit 150MOhm und 220µF ist nicht sehr praxisnah, da ein 555 den Kondensator mit dem 150MOhm widerstand auf 2/3 Ub aufladen muss, und da wird es bereits am Reststrom des Kondensators scheitern!

danke für den Hinweis... Dann muss ich mir wohl was anderes überlegen

Aber ich kann die benötigten Bibliotheken in der IDE nicht finden. Wenn ich nach avr/sleep.h suche finde ich keine Bibliothek mit diesem Namen.

Natürlich nicht!

Ist schon auf deinem Rechner vorhanden und ohne Einschränkungen sofort nutzbar.
Die Doku findet sich im Internet.

Tipp:
Es ist KEINE Arduino Lib.
Sondern Teil der AVR Compiler Tool Chain.
Und darum immer verfügbar.

Ein NE555 vebraucht mehr Strom als ein ATmega328 im Normalbetrieb. Darum ist es falsch einen NE555 zu benutzen um einen ATmega abzuschalen.

Strom sparst Du indem Du einen ATmega in Schlafmodus stellst und ihn regelmäßig aufweckst. Bei jedem Aufwachen kannst Du etwas machen oder Kontrollieren ob die gewünschte Zeit verstrichen ist und derst dann etwas machen.

Grüße Uwe

Hi

Auch, wenn man 'nur' 8 Sekunden am Stück schlafen kann - muß man Da ja nicht eine halbe Stunde wach bleiben - man kann sich DIREKT wieder hin legen - ich verstehe hier absolut nicht, wo das Problem liegen soll.

Wenn das Aufwachen zu einem genauem Zeitpunkt stattfinden soll -> RTC, Alarm gestellt und auf einen interruptfähigen Pin - DAS weckt den Arduino, wenn dieser Pin aktiviert ist.
Dann 'Was schaffen', 'neuen Alarm einstellen', 'Pennen legen'.

Wenn's nur ein Sensor-Wert ist, Der halt nicht jede Sekunden ausgelesen werden soll: WDT und die 8-Sekunden-Happen hochzählen, bis halt was gemacht werden soll.

MfG

Hallo,

denke mal über eine ESP nach den kannst Du etwa eine Stunde schlafen legen. Ich mach sowas mit einem Wemos D1 und einem BME280 im Aussenbereib. Es läuf an einer Solarzelle mit einem Aku 3,7V 2500mAh. Laderegler/ Stepup Regler auf 5V. Alle halbe Stunde wird er wach, meldet sich bei meiner Fritzbox an, holt die NTP Zeit von da , liefert die Messdaten mit TCP an einen "Server" und geht wieder schlafen. das Ganze dauert 6-7s. Im Sleep Betrieb zieht die gesamte Schaltung etwa 0,8mA aus dem Aku.

Energietechnisch gibt es da sicher noch bessere Lösungen. Aber das Ding ist jetzt über den Winter gekommen , Aku Spannung war nie unter 4V.

Heinz