Forum: Mikrocontroller und Digitale Elektronik Vollständige Abschaltung ESP8266-12


von Michael K. (mkrebs)


Angehängte Dateien:

Lesenswert?

Guten Tag zusammen!

Ich möchte gerne einen ESP8266 als Fernbedienung in ein historisches 
Rafi-Gehäuse mit 3 Tastern einbauen.
Als Stromversorgung möchte ich eine herkömmliche 3V-Lithium-Batterie 
verwenden (CR123A) - für mehrere NiCd-Batterien ist nicht genug Platz, 
und Akkus sind mir zu aufwendig (Tiefentladung etc.)

Das Gerät soll nach dem Drücken einer von 3 Tasten einen kurzen Befehl 
per HTTP (oder MQTT) absetzen und ggf. für 1 sek eine von drei LEDs 
aufleuchten lassen. Das wird aber nur 1-2/Tag passieren.

Damit die Batterie nicht im Standby oder Deep-Sleep leergezogen wird, 
möchte ich gerne eine Spannungsabschaltung um den ESP8266 herumbauen, 
wie in angehängtem Schaltbild gezeichnet.

Idee:
- jeder der drei Taster steuert den herkömmlichen BC548A durch, der 
dadurch den IRF7410 durchschaltet und damit für die Stromversorgung des 
ESP8266 sorgt.
- der schickt auf seinen GPIO 16 high, was wiederum den BC548 weiterhin 
geschaltet hält.
- zwischen den Tastern bzw. dem GPIO16 sitzt noch ein XC61, der quasi 
die Spannung überwacht. Ist die Batteriespannung kleiner als 2,3 V, 
schaltet er nicht mehr durch, der BC548 sperrt. Das passiert auch, wenn 
sich der ESP8266 aufhängt und die Batteriespannung unter 2,3 V fällt.
- wenn der ESP8266 mit der Arbeit fertig ist, setzt er GPIO16 auf LOW, 
BC548 und der Mosfet sperren und kappen ihm den Strom.
- die drei GPIOs im unteren Teil sind die Eingänge für das Tastersignal 
- man muss halt "lang genug" drücken, damit der aufgewachte ESP8266 
weiß, wer ihn geweckt hat.
- im rechten Teil die drei LEDs mit Treibern.


Klingt das machbar?
Die Widerstände habe ich teilweise nach "Bauchgefühl" bestimmt, da es 
oft ja nur um Hoch-/Runterziehen geht. Könnte das hinkommen?

: Verschoben durch Moderator
von Gerald K. (geku)


Lesenswert?

Welche Spannung sieht der XC61CC230 an seinem Eingang?
Wie groß ist der Spannungsabfall an den Dioden (1N4148) ?

von Werner P. (werner4096)


Lesenswert?

Michael K. schrieb:
> Damit die Batterie nicht im Standby oder Deep-Sleep leergezogen wird,
> möchte ich gerne eine Spannungsabschaltung um den ESP8266 herumbauen,
> wie in angehängtem Schaltbild gezeichnet.

Das Ganze mit "Abschalten der Stromversorgung" des ESP kannst dir 
sparen. Schau dir die Funktion des Pin CH_PD / CH_EN an.

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

Schau dir mal eine Entladekurve deiner CR123A an. Damit wird der ESP8266 
nicht lange mit zurechtkommen, bei einem Spitzenstromverbrauch von 500mA 
beim Aufbau der WLAN-Verbindung. Wie wär's mit LiFePO4-Zellen?

von Michael K. (mkrebs)


Lesenswert?

Gerald K. schrieb:
> Welche Spannung sieht der XC61CC230 an seinem Eingang?
> Wie groß ist der Spannungsabfall an den Dioden (1N4148) ?

Danke. Vielleicht sollte ich doch besser eine BAT86 nehmen.

Werner P. schrieb:
> Das Ganze mit "Abschalten der Stromversorgung" des ESP kannst dir
> sparen. Schau dir die Funktion des Pin CH_PD / CH_EN an.

Danke. Damit könnte ich mir Q1 und den MOSFET sparen und direkt das 
Signal der Dioden an den Pin geben. Zu klären wäre: wo geht mehr 
verloren - im Power Down-Mode oder am MOSFET?

Helmut -. schrieb:
> Schau dir mal eine Entladekurve deiner CR123A an. Damit wird der
> ESP8266
> nicht lange mit zurechtkommen, bei einem Spitzenstromverbrauch von 500mA
> beim Aufbau der WLAN-Verbindung. Wie wär's mit LiFePO4-Zellen?

Ich wollte es erstmal mit einer CR123 probieren. Die LiFePO4 würden ja 
ein Entladungsmonitoring erfordern: es sollte besser keine aktive 
Tiefentladung (aufgehangener ESP8266) und keine Tiefentladung durch zu 
seltene Nutzung geben. Und ich brauche ein Ladegerät dafür. Das scheint 
mir für so ein Spielzeug overkill. Es wird vermutlich 2x/Tag genutzt, 
eine Batterie sollte damit hoffentlich einige Monate halten.

von Werner P. (werner4096)


Lesenswert?

Michael K. schrieb:
> Zu klären wäre: wo geht mehr verloren - im Power Down-Mode oder am
> MOSFET?

Das ist dann kein Powerdown Mode. Wenn der Pin Low ist dann ist der ESP 
aus.

von Michael K. (mkrebs)


Lesenswert?

Werner P. schrieb:
> Das ist dann kein Powerdown Mode. Wenn der Pin Low ist dann ist der ESP
> aus.

Okay, das hieße also:
- über die Taster erhält der Pin High, der ESP wacht auf
- über einen GPIO-Out liefert er sich selber ein High an diesen Pin, 
hält sich damit wach
- wenn er mit seiner Arbeit fertig ist, setzt er den GPIO-Out auf Low 
und schaltet sich damit ab.
- damit er auf Low bleibt, müsste ich einen Pulldown dazu setzen.

Den Spannungsprüfer kann ich dabei lassen, der macht ja nichts kaputt.

Zwei Nachteile sehe ich aber:
- wenn der Tastendruck zu kurz ist, wacht der ESP auf, kommt aber nicht 
durchs Booten. Dann schaltet er aber auch bei Low nicht ab, sondern 
hängt sich auf. Ich müsste also ein paar Kondensatoren spendieren, die 
das Signal ggf. verlängern.
- anscheinend scheinen einige Elemente des ESP weiter versorgt zu werden 
(siehe Beitrag "ESP8266 power down mode" )

von Gerald K. (geku)


Lesenswert?

Wird CMOS Elektronik (auch der ESP) spannungslos geschaltet,  dann 
versorgen die Eingangsschutzbeschaltungen der IOs den, von der Batterie 
getrennten ESP. Die Fole ist, dass beim Tastendruck ein großer Strom 
über die Eingangsklemmdioden in den ESP fliesen und diesen im 
ungünstigen Fall zerstören. Auch ist Frage, ob durch den dadurch 
entstehenden Spannungseinbruch der FET überhaupt durchgeschaltet werden 
kann.

Die Eingänge sollten daher mit einen 10k Serienwiderstand beschaltet 
werden. Damit wird der Klemmstrom auf ein zulässiges Ausmaß begrenzt. 
CMOS Eingänge sind im Betrieb hochohmig genug.

: Bearbeitet durch User
von Gerald K. (geku)


Angehängte Dateien:

Lesenswert?

Michael K. schrieb:
> Zwei Nachteile sehe ich aber:
> - wenn der Tastendruck zu kurz ist, wacht der ESP auf, kommt aber nicht
> durchs Booten. Dann schaltet er aber auch bei Low nicht ab, sondern
> hängt sich auf. Ich müsste also ein paar Kondensatoren spendieren, die
> das Signal ggf. verlängern.
> - anscheinend scheinen einige Elemente des ESP weiter versorgt zu werden

Ich hätte die Schaltung mit einem NOR RS-FF realisiert. Wichtig ist CD 
oder HC Logik mit Vcc min 2V!

Vorteil ist, dass die Spannung am FET rasch ansteigt und der Zustand 
gespeichert bleibt.

Auf die Spannungsüberwachung habe ich verzichtet, da diese bei 
Primärzellen nicht wichtig ist. Unter 2V funtioniert das FF ohnehin 
nicht.

Wichigt sind die Pulldowns und die Schutzwiderstand um Ströme über die 
Klemmdioden klein zu halten. Die Pulldowns sorgen dafür, dass wenn der 
ESP von der Spannung weggeschaltet wird, die CMOS-Eingänge ein gut 
definiertes Potential haben.

C1 und R7 bilden eine PowwerOn Schaltung und diese stellt sicher, dass 
nach Einlegen der Batterie sicher abgeschaltet ist.

Mit einem High am GPIO16 wird das FF zurückgesetzt und die Spannung 
abgeschaltet.

Ein kleiner Tipp : ein LIC parallel zur Batterie erhöht erheblich die 
Funktionsdauer.

Korrektur : R11,12,13 sollten wesentlich kleiner sein, sonst könnte 
man die LEDs direkt an die GPIOs hängen.

Wenn man stromeffizente LEDs nimmt kann man vielleicht sogar auf die 
HC04 verzichten.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Michael K. schrieb:
> Klingt das machbar?

Mir ist ebenfalls aufgefallen, dass diese Batterie für den ESP8266 zu 
schwach ist.

https://media.digikey.com/pdf/Data%20Sheets/Panasonic%20Batteries%20PDFS/CR123A.pdf

Bei 500mA fällt die Spannung rasch ab. Der ESP Chip selbts läuft zwar 
noch mit 2,5V, aber es scheitert meist schon früher am Flash Speicher, 
der dazu gehört.

Wenn du unbedingt bei dieser Batterie bleiben willst, dann unterstütze 
sie mit einem richtig fetten Kondensator. Aber beachte dessen Leckstrom 
- nicht dass die Batterie am Ende vom Kondensator schneller entladen 
wird, als gewollt.

von Gerald K. (geku)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Wenn du unbedingt bei dieser Batterie bleiben willst, dann unterstütze
> sie mit einem richtig fetten Kondensator. Aber beachte dessen Leckstrom
> - nicht dass die Batterie am Ende vom Kondensator schneller entladen
> wird, als gewollt.

Beim LIC VLCRS3R8206MG ist der typische Leckstrom kleiner als 3µA.
Der DCR ist kleiner 250mOhm .

Einzig lange Tiefentladungen sollte man vermeiden.

Der LIC trumpft auf, wenn die Batterien mit dem zunehmenden 
Innenwiderstand zu schwächeln beginnen.

Wahrscheinlich kann man den ESP mit zwei in Serie geschalteten Zitronen 
mit Nagel und Kupferdraht betreiben. In den  Sendepausen lädt sich der 
LIC über die zwei Zitronen auf. Wäre zu beweisen.

: Bearbeitet durch User
von Michael K. (mkrebs)


Lesenswert?

Gerald,

das ist klasse! Danke! Ich denke viel zu wenig über die gute alte 
74xx-Technik nach.
Mit welchem Tool machst Du die Schaltpläne so schnell? Ich hab mit 
Tinycad den ganzen Abend gefrickelt.

Gerald K. schrieb:
> Wichigt sind die Pulldowns und die Schutzwiderstand um Ströme über die
> Klemmdioden klein zu halten. Die Pulldowns sorgen dafür, dass wenn der
> ESP von der Spannung weggeschaltet wird, die CMOS-Eingänge ein gut
> definiertes Potential haben.

Danke. Das hätte ich übersehen!

 > C1 und R7 bilden eine PowwerOn Schaltung und diese stellt sicher, 
dass
> nach Einlegen der Batterie sicher abgeschaltet ist.

Verstehe ich. Ich muss aber schauen, ob ich alles in das recht kleine 
Gehäuse kriege - im Zweifel durchläuft der ESP halt nach dem Einlegen 
einen Zyklus.

> Korrektur : R11,12,13 sollten wesentlich kleiner sein, sonst könnte
> man die LEDs direkt an die GPIOs hängen.

Die LEDs halten 3V aus und brauchen ca. 30 mA. Damit brauche ich halt 
irgendeine Verstärkung. Die Inverter kommen nicht ganz auf 30mA, aber 
wir reden nur von ca. 1sek Betriebszeit. Nach meinen Verständnis kann 
ich also auf die Vorwiderstände verzichten, oder sie auf wenige Ohm (100 
o.ä.) reduzieren.

> Wenn man stromeffizente LEDs nimmt kann man vielleicht sogar auf die
> HC04 verzichten.
Ich möchte warmweiße LEDs verbauen, um die originale Anmutung des 
Rafi-Gehäuses mit 12V-T5,5-Glühbirne ungefähr hinzukriegen.


Stefan ⛄ F. schrieb:
> Mir ist ebenfalls aufgefallen, dass diese Batterie für den ESP8266 zu
> schwach ist.
>
> 
https://media.digikey.com/pdf/Data%20Sheets/Panasonic%20Batteries%20PDFS/CR123A.pdf
>
> Bei 500mA fällt die Spannung rasch ab. Der ESP Chip selbts läuft zwar
> noch mit 2,5V, aber es scheitert meist schon früher am Flash Speicher,
> der dazu gehört.

Ich würde das gerne mal ausprobieren. Das verlinkte Datenblatt zeigt ja 
ganz gut, dass selbst bei 900mA Puls-Belastung (3sek) viele Zyklen 
möglich sind, bis die Batterie unter 2,5V fällt. Hier geht es um 
deutlich kürzere Impulse (max. 1sek) von max. 500mA.

> Ein kleiner Tipp : ein LIC parallel zur Batterie erhöht erheblich die
> Funktionsdauer.

Das glaube ich sofort. Aber da sind wir halt wieder beim Thema "Langes 
Nicht-Benutzen kann Probleme machen", was mich ja schon bei den LiFePos 
stört.

Ich danke für Eure Anmerkungen bei der Energieversorgung - ich werde das 
Risiko, schnell die Batterie wechseln zu müssen, mal in Kauf nehmen, und 
möchte sehr gerne herausfinden, was "schnell" im Alltag heißt.

> Auf die Spannungsüberwachung habe ich verzichtet, da diese bei
> Primärzellen nicht wichtig ist. Unter 2V funtioniert das FF ohnehin
> nicht.

Da war ich mir nicht sicher - aber es klingt eigentlich logisch, sonst 
müssten ja viele CR123A in der Zeitung auftauchen.....

Danke!

Ich werde mal ein paar Teile mehr bei Reichelt ordern, und dann kann ich 
ja auf dem Breadboard verschiedene Ideen ausprobieren und messen.

von Schuppeste (Gast)


Lesenswert?

Ich habe das über einen Pushbuttoncontroller im Eigenbau mit Attiny85 
gelöst, Pushbuttoncontroller gibt es sogar fertig zu kaufen. Durch eine 
FeedbackLeitung bleibt der ESP32 an bis der den Pin selbst auf LOW 
zieht.

https://hackaday.io/project/163278-pushbutton-controller

von Gerald K. (geku)


Lesenswert?

Michael K. schrieb:
> Mit welchem Tool machst Du die Schaltpläne so schnell?

Mit dem Layoutprogramm Target.

von Stefan F. (Gast)


Lesenswert?

Michael K. schrieb:
> Die LEDs halten 3V aus und brauchen ca. 30 mA.

Wer sagt, dass sie 30mA brauchen? Meine Leuchten auch mit 1mA. Die 30mA 
sind nur der maximal zulässige Strom. Sie halten nicht 3V aus sondern 
sie haben ungefähr 3V Flussspannung. Das ist ein himmelweiter 
Unterschied.

Normale weiße LEDs und 3V Batteriespannung passen nicht gut zusammen. 
Wenn du Pech hast, leuchtet eine LED gar nicht (weil sie 3,4V hat), die 
andere glimmt ein bisschen (weil sie 3,1V hat) und die dritte brennt 
fast durch (weil sie 2,8V hat). Du brauchst da etwas, das den Strom 
reguliert, und das erfordert eine Batteriespannung von mindestens 4 
Volt.

Es gibt allerdings spezielle LEDs für 3V Lichterketten, die kannst du 
tatsächlich direkt an der 3V Batterie betrieben. Sie leuchten auch noch 
gut, wenn die Batterie etwas schwächer wird. Denn diese LEDs haben etwa 
2,4V Flusspannung und einen integrierten Vorwiderstand.

Siehe dazu http://stefanfrings.de/LED/index.html

von Michael K. (mkrebs)



Lesenswert?

Guten Tag zusammen!

Die gesamte Bastelei habe ich im April abgeschlossen, sie war jetzt also 
rund ein halbes Jahr in Betrieb.

In diesem Zeitraum wurde knapp 1600 mal einer der Knöpfe gedrückt, der 
ESP8266-12 geweckt, hat eine Verbindung zum WLAN und zum Server 
aufgebaut, dabei die drei LEDs blinken lassen, und anschließend den 
Return-Code auf diesen ausgegeben, bevor er sich über den FET wieder die 
Spannungsversorgung geklaut hat (also nicht nur in den Sleep gegangen 
ist).

Die LiO-Batterie hat das sehr gut mitgemacht. Ich habe eben 
nachgemessen, noch liegen 3.01V im Ruhezustand an. Die LEDs leuchten 
auch noch ausreichend hell - beim Experimentieren hatte ich bemerkt, 
dass diese wesentlich früher ausfallen als der ESP8266, nämlich schon 
bei rund 2,7V.

Damit hat sich die Schaltung als vollkommen praxistauglich erwiesen.

Anbei einige Fotos vom Zusammenbau und den finalen Schaltplan.

DANKE FÜR ALLE TIPPS!!!

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.