Hallo zusammen, ich baue zur Zeit an einem kleinen Projekt mit einem ESP8266 (ESP-01-Board). Das Ganze besteht lediglich aus einem einzigen Taster und keinerlei Verbrauchern (außer dem ESP8266-Board selbst). Vorhandene Bauteile sind 2 x AAA-Mignon - 1.5 V-Batterien, dem ESP8266-Board und einem Taster. Das Ganze soll eine Fernbedienung fürs interne WLAN-Netz werden, nähere Software-Details erspare ich euch, da diese nicht relevant sind. Sobald der Taster gedrückt wird, erwacht der ESP aus dem Deep-Sleep-Modus für ca. 20 Sek. , aktiviert den internen Webserver und stellt eine kleine HTML-Seite im WLAN zur Verfügung. Nach den 20 Sek. legt sich der ESP wieder in den Deep-Sleep, bis das nächste Mal der Taster gedrückt wird. Das Spiel beginnt von Neuem. Dafür wird der Reset-Pin genutzt, der die CPU aufweckt (neustartet), 20 Sek. aktiv lässt und anschließend wieder in den Deep-Sleep wechseln lässt. Nun ist es natürlich sehr wichtig, eine lange Batterielaufzeit für das tragbare Gerätchen zu gewährleisten. Im Deep-Sleep Modus zieht das ESP-Board beachtliche 8 mA, was bei einer Kapazität einer AAA-Mignon (Alkali, 1.5V: 1200 mAh) nicht vertretbar ist. Ist das Board aktiv (Webserver aktiv,...), zieht der ESP beachtliche 160 mA bei 3.3 V. Nun habe ich zwei Fragen: ========================= - Gibt es eine Möglichkeit, z.B. über einen "dicken" Kondensator die Stromversorgung des ESPs und dadurch die Einschaltphase für etwa 20 sek. nach Tastendruck zu gewährleisten? So könnte ich über den Taster den Kondensator für die entsprechende Zeit (20 Sek.) freigeben, der dann für diese Zeit den ESP mit Strom versorgt. Anschließend würde der ESP KOMPLETT abgeschaltet werden, was völlig ok wäre. Anschließend müsste sich der Kondensator wieder von der Batterie aufladen. Somit würde im Leerlauf 0 Strom fließen und nur der Strom für die Aktivzeit (20 sek.) vom Kondensator in den ESP fließen. - Desweiteren ist mir die Idee gekommen, auf dem ESP den Spannungsregler zu umgehen, da der ESP auch mit 3.2 V (rohe Spannung an den beiden Batterien) einwandfrei funktioniert. Somit sollte der Verlust am Spannungsregler wegfallen, wenn ich die Batterien direkt an den ESP anschließen würde, oder liege ich da falsch? Ich würde mich sehr freuen, wenn der ein oder andere mir dabei helfen könnte, da ich eher aus der Software-Ecke komme. :-) Ich bin über Vorschläge dankbar! Gruß Hans
Hans schrieb: > Vorhandene Bauteile sind 2 x AAA-Mignon - 1.5 V-Batterien, dem > ESP8266-Board und einem Taster. Wie lange wird es wohl dauern, bis die Batterien zu wenig Spannung abgeben? Außerdem liefern diese Zellen zu wenig Strom. Das ESP Modul benötigt 400mA, die kommen aus diesen kleinen Zellen nur wenige Minuten raus. So anzufangen ist bereits Murks. Verwende eine LiFePo4 Zelle oder vier AA Zellen mit einem HT78833 Spannungsregler. > ESP-01-Board > Im Deep-Sleep Modus zieht das ESP-Board beachtliche 8 mA Das kann nicht sein. Das ESP-01 Modul nimmt im Deep Sleep Modus ca. 500µA auf. Wenn du die rote LED entfernst, sind es ca. 25µA. > Ist das Board aktiv, zieht der ESP beachtliche 160 mA bei 3.3 V. Nein, es sind kurze Peaks von ca. 400mA. Vergiss das mit dem Kondensator. Du müsstest ein riesiges Ding verwenden und mit vielen Ampere aufladen, was die Batterien wiederum nicht können. Außerdem fällt bei Kondensatoren die Spannung rasch ab, dafür ist das ESP Modul nicht ausgelegt. Das würde nur gehen, wenn der Kondensator mit viel mehr Spannung geladen würde (z.B. 10V) und dahinter ein Spannungswandler auf stabile 3,3V regeln würde. Die damit verbundenen Verluste passen nicht zum Batteriebetrieb. > Desweiteren ist mir die Idee gekommen, auf > dem ESP den Spannungsregler zu umgehen Das ESP-01 Modul hat keinen Spannungsregler. Ich empfehle Dir diese Lektüre: http://stefanfrings.de/esp8266/index.html Abgesehen von der Stromversorgung: Welchen Sinn hat ein Webserver, der nur wenige Sekunden nach einem Tastendruck erreichbar ist? Kann es sein, dass die die Begriffe Server und Client verwechselt hast?
ich hatte ein ähnliches Problem.. Meine Lösung war ein Attiny85 bei weniger als 5uA für mehrere Buttons. Den Button mit an den Tiny und einen Feedback Pin vom ESP32 zum Attiny zum "Halten". Das ganze wird dann mit einem Mosfet geschaltet, das gibt es auch fertig als IC, nennt sich "Push Button controller". https://hackaday.io/project/163278-pushbutton-controller
> HT78833 Spannungsregler
Sorry, es sollte HT7833 heißen.
>LiFePo4 Zelle
Und wie kann ich die besagten LiFePo-Akkus einfach aufladen?
Soviel ich weiß bedarf es da ja einer großen Ausstattung an
Lade-Equipment (Balancer usw.) um die einzelnen Zellen beim Laden zu
überwachen?!
Warum 4 Zellen? Eine LiPo-Zelle liefert doch schon 3,7 V.
Das mit dem Strom im Deep-Sleep verstehe ich auch nicht.
Hier mal mein Code (aufs Nötigste reduziert):
1 | |
2 | |
3 | |
4 | const char* ssid = "Hans WLAN"; |
5 | const char* password = "123456789"; |
6 | String HTMLpage = ""; |
7 | |
8 | |
9 | IPAddress ip(192,168,178,90); // IP-Adresse des ESP8266 |
10 | IPAddress gateway(192,168,178,1); // Gateway (z.B. Router / FritzBox) |
11 | IPAddress subnet(255,255,255,0); |
12 | |
13 | |
14 | |
15 | |
16 | void setup() |
17 | {
|
18 | WiFi.begin(ssid, password); |
19 | WiFi.hostname("Hans ESP"); |
20 | WiFi.config(ip, gateway, subnet); |
21 | while (WiFi.status() != WL_CONNECTED) // Überprüfen, ob WLAN verbunden... |
22 | {
|
23 | delay(500); |
24 | }
|
25 | |
26 | if (MDNS.begin("hans", WiFi.localIP())) |
27 | {
|
28 | }
|
29 | |
30 | delay(500); |
31 | |
32 | Webserver.on("/", []() |
33 | {
|
34 | Webserver.send(200, "text/html", HTMLpage); |
35 | });
|
36 | |
37 | delay(100); |
38 | Webserver.begin(); |
39 | delay(100); |
40 | |
41 | for(int i=0; i<30000; i++) |
42 | {
|
43 | Webserver.handleClient(); // stelle für 30 Sek. den Clients die Seite zur Verfügung,.. |
44 | delay(1); |
45 | }
|
46 | |
47 | ESP.deepSleep(0); // danach gehe für undefinierte Zeit in den Deep-Sleep. |
48 | }
|
49 | |
50 | void loop() |
51 | {
|
52 | }
|
Ich weiß nicht, wieso der soviel Strom im DeepSleep zieht. Nach 30 Sek fällt tatsächlich der Strom deutlich ab, aber eben niemals unter 1 mA. Woran kann das liegen?
Vielleicht wäre ja dieses Board genau das Richtige: https://eckstein-shop.de/TP4056-XD-58A-Micro-USB-5V-1A-LiPo-Akku-Lademodul-Lithium-Battery-Charging-Module
Hallo, ich kann Stefan F. hier nur zustimmen. Ich hatte mal als Test einen ESP8266-03 mit einem China-PIR an 2x AAA. 220µ parallel zur Betriebsspannung, keine LED. Lief bis ca. 2,4V Batteriespannung stabil ca. 3-4 Wochen. Aber: er war nur gut 1s wach, um eine MQTT-Message abzusetzen. Ein Webserver erscheint mir in dem Zusammenhang auch ziemlich unsinnig, wer soll da den ESP8266 ständig anpingen und dann die Webseite aufrufen, wenn er gerade mal wach ist? Nach ESP.deepSleep(0); noch ein delay(100); einfügen, damir er an der Stelle etwas Zeit für den DeepSleep-Start hat, sonst kann er durchaus noch etwas machen, was man nicht will. Eine Zelle LiFePO4 ist ideal für die ESPs, nahezu über die komplette Nutzungszeit zwischen 3,0V und 3,4V. Gruß aus Berlin Michael
Hallo Michael, vielen Dank für deinen Beitrag. Dann werde ich eine LiPo-Zelle in Erwägung ziehen. Welche Kapazität sollte diese idealerweise haben? Wie löst man das Laden am besten einfach und günstig und vorallem platzsparend? Der von mir gepostete Link zeigt auf eine kleine Platine zum Laden von LiPos. Auch die USB-Schnittstelle fände ich komfortabel... Was denkst du? Dankeschön!
UPDATE: >Nach ESP.deepSleep(0); noch ein delay(100); einfügen Ich habe jetzt sogar eine Delay von 1 sec. eingefügt, der Strom liegt bei 6 V im DeepSleep bei 4 mA. Kann das an der LED liegen? Denn die ist bei mir (noch) unverändert verbaut. Danke!
Hallo, Hans schrieb: > Kann das an der LED liegen? die LED zieht max. 0,5mA. Welcher Spannungsregler bei Deinen 6V? Hier weitermachen oder dort? https://forum.arduino.cc/index.php?topic=651216.0 LiFePO4 sind bei mir China-Zellen im AA Format im Einsatz (600mAh) im Einsatz. Mit Batteriehalter und einem Billig-Loader, der LiFePO4 kann. Werden einfach getauscht und im Ladegerät geladen. Gruß aus Berlin Michael
Hans schrieb: > Dann werde ich eine LiPo-Zelle in Erwägung ziehen. Nein, nicht LiPo sondern LiFePO4. LiPo Zellen haben frisch geladen bis zu 4,3V, das ist zu viel. Hans schrieb: > der Strom liegt bei 6 V im DeepSleep bei 4 mA. > > Kann das an der LED liegen? > Denn die ist bei mir (noch) unverändert verbaut. Das liegt wohl eher an den Bauteilen auf dem unbekannten Board. Ein ESP-01 kann es wie gesagt nicht sein, denn das hat keinen Spannungsregler. Liest du überhaupt, was ich schreibe? > Auch die USB-Schnittstelle fände ich komfortabel... Je mehr Schnickschnack auf dem Board ist, umso höher seine Stromaufnahme. Gerade Spannungsregler und USB Chips sind dafür bekannt.
>Das liegt wohl eher an den Bauteilen auf dem unbekannten Board Also es lag an dem ESP-01-Board. Meines hatte wohl irgendein internes Problem. Nach dem Tausch bin ich bei 0,3 mA im Deep Sleep und 60 mA im Aktiv-Mode. >ESP-01 kann es wie gesagt nicht sein, denn das hat keinen >Spannungsregler. Dann frage ich mich, warum auf meinem ESP-01 ein 7805 aufgelötet ist.
Hans schrieb: > Dann frage ich mich, warum auf meinem ESP-01 ein 7805 aufgelötet ist. Ein ESP-01 Board sieht so aus. Die gibt es in blau und in schwarz. Immer ohne Spannungsregler. Wie sieht dein Board aus? Du findest das vielleicht unwichtig, aber es ist wichtig. Wir können Dir bei Problemen mit deinem Produkt nur zielgerichtet helfen, wenn wir von dem gleichen Ding reden.
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.