Leider habe ich unter den Suchfunktionen nichts passendes gefunden. Bzw. waren/sind diese zu alt, als das es sich lohnen würde diese noch einmal aufzuwärmen.
Ich bin (wie der Titel schon sagt) auf der Suche, nach einer Möglichkeit meinen ESP mittels Taster zu Schalten. Ich habe bereits einen Sketch geschrieben, welcher nach meinem MQTT Befehlen Pin 5 auf High setzt.. jetzt benötige ich hierfür nur die nötige Hardware.
Vereinfacht gesagt, soll der ESP Bei Tastendruck Strom bekommen. Seine Befehle abarbeiten und danach wieder Stromlos werden. soll alles Manuel passieren. und das Möglichst Stromsparend, da ich auf Batterien angewiesen bin.
Leider bin ich Elektrotechnisch nicht sonderlich versiert. Gerade mal über den Punkt URI und Spannungsabfall hinweg gekommen.
Wie ein Transistor im grunde funktioniert ist mir klar. Wie ich die Signalstärke berechne jedoch nicht.
Ich möchte nicht, dass mir jemand das von A bis Z erklärt. Gibt es jedoch Alternativen, oder gar Module welche diesen Job übernehmen? Im Grunde bräuchte ich ja nur eine Art FlipFlop/Transistor/schaltung, welche eben einmal mit dem Taster und zum Schluss mit dem Pin geschalten wird.
Ich hoffe mein Kauderwelsch lässt sich lesen/verstehen und jemand erbarmt sich meiner.
Eigentlich brauchst du nichts weiter als einen Resettaster am ESP8266 (hoffe, es ist einer). Der weckt den Prozessor auf, welcher dann sich mit dem WLAN verbindet und deine MQTT-Befehle sendet. Danach legt er sich wieder schlafen. Läuft bei mir seit Monaten mit einer Lithium-Thionyl-Batterie (3V) und einem ESP-01.
Eigentlich brauchst du nichts weiter als einen Resettaster am ESP8266
(hoffe, es ist einer). Der weckt den Prozessor auf, welcher dann sich
mit dem WLAN verbindet und deine MQTT-Befehle sendet. Danach legt er
sich wieder schlafen. Läuft bei mir seit Monaten mit einer
Lithium-Thionyl-Batterie (3V).
Na so einfach ist das leider nicht. im Ruhe modus (deepsleep) zieht dieser leider schon zwischen 20 und 44 mA. da Lohnt es sich für mich leider nicht diesen so zu betreiben.
Zum Einschalten muß der Taster den FET überbrücken. Wenn der µC oben ist, hält er über den N-FET (gerne auch ein BC_irgendwas) seinen Strom offen, bis er sich dann irgendwann selbst abschaltet.
Ich habe einen Kipptaster mit zwei Stellungen gewählt, um Ein / Aus eindeutig zu haben.
Du kannst nach dem China-Bauteiletester suchen, der macht es in ähnlicher Weise, aber fragt einen Taster ab, um über diesen ausgeschaltet werden zu können.
Na so einfach ist das leider nicht. im Ruhe modus (deepsleep) zieht
dieser leider schon zwischen 20 und 44 mA.
Also da hast du irgendwas falsch gemacht. Mein ESP8266 ESP-01 braucht im Deep sleep 20 µA (Mikroampere). OK, mittlerweilen schreibst du da was vom ESP32, aber da ist so viel Kram mit drauf, den man für Batteriebetrieb nicht braucht. Den USB-Treiber, den Spannungsregler und die diversen LEDs kannst du dir getrost schenken. Ich betreibe meinen ESP9266 direkt an der Batterie, muss den einmal per USB-UART programmieren und dann geht alles weitere per OTA. Schaltplan habe ich dir mal drangehängt.
Na so einfach ist das leider nicht. im Ruhe modus (deepsleep) zieht
dieser leider schon zwischen 20 und 44 mA.
Also da hast du irgendwas falsch gemacht. Mein ESP8266 ESP-01 braucht im
Deep sleep 20 µA (Mikroampere). OK, mittlerweilen schreibst du da was
vom ESP32, aber da ist so viel Kram mit drauf, den man für
Batteriebetrieb nicht braucht. Den USB-Treiber, den Spannungsregler und
die diversen LEDs kannst du dir getrost schenken. Ich betreibe meinen
ESP9266 direkt an der Batterie, muss den einmal per USB-UART
programmieren und dann geht alles weitere per OTA. Schaltplan habe ich
dir mal drangehängt.
Nicht falsch verstehen.. Ich möchte hier kein Was wäre wenn.
oder, du machst dies und jenes Falsch, weil!
Der USB Kontroller ist verkraftbar. Der Spannungsregler wird nicht verwendet, da 3,3 V.
Das ist eben meine Ausgangssituation, mit welcher ich eben jetzt leben muss.
Ich würde tatsächlich Zielführend Zu dem kommen was ich haben möchte. Eine Hardware Lösung.
:)
Es gab ja jetzt schon einige Vorschläge welche ich mal näher betrachten werde.
Das ist eben meine Ausgangssituation, mit welcher ich eben jetzt leben
muss.
Dann musst du wohl aufgeben.
Das Problem ist, wie gesagt, die Bauteile um den ESP32 herum. Die verbrauchen den Strom. Nicht dein ESP32. Der verbraucht mehr als drei Größenordnungen weniger im deep sleep. Es würde überhaupt nichts bringen, den per Relais zu schalten.
Das ist eben meine Ausgangssituation, mit welcher ich eben jetzt leben
muss.
Dann musst du wohl aufgeben.
Das Problem ist, wie gesagt, die Bauteile um den ESP32 herum. Die
verbrauchen den Strom. Nicht dein ESP32. Der verbraucht mehr als drei
Größenordnungen weniger im deep sleep. Es würde überhaupt nichts
bringen, den per Relais zu schalten.
Entferne einfach die unnötigen Bauteile.
Sorry aber das ist Blödsinn.. Wieso sollte dass denn bitte nicht funktionieren.
Mir geht es nicht um den Verbrauch im generellen. Ich möchte einfach den esp stromlos haben, solange er nicht in Verwendung ist.
Und das geht sehr wohl ohne deepsleep Funktion.
Nenne mir einen Grund, weshalb beispielsweise ein genanntes Relais welches als Schalter genutzt wird, den esp nicht starten und killen können soll.
Und komm mir nicht mit schaltströmen oder der gleichen. Ich möchte hier keine Eskapaden lesen: "was wäre wenn"
Ich habe vorhin erst ein Video gesehen, (glaube von bitbastelei) welcher genau dieses bewerkstelligthat.
Er hat sich auch ein GATE vorgeschalten und resetet dies, mit einem High gezogenen Pin nach Abfertigung seines sketches.
Nur werde ich mir hierfür sicher kein RTC PCB anfertigen lassen. 🤣
Zumal mir ein einfacher Schalter reichen würde. Brauche keine Routinen oder statusabfragen, welche automatisierte Prozesse benötigen.
Meine Frage zielte darauf ab, ob die Funkerei überhaupt benötigt wird.
Wenn es nicht so ein Schlachtschiff sein muß, könnte ein AVR ausreichen, die haben auch einfachere Sleepmodi (Wake up on Pin Change).
Meine Frage zielte darauf ab, ob die Funkerei überhaupt benötigt wird.
Wenn es nicht so ein Schlachtschiff sein muß, könnte ein AVR ausreichen,
die haben auch einfachere Sleepmodi (Wake up on Pin Change).
Also wlan ist zwingend notwendig.
Wie sonst soll ich meine Routinen Remote starten. Zumal das hier nun auch wieder den Rahmen sprengen würde und am Ziel vorbei wäre.
Aber ja.. ich behalte mir die dinger mal im Hinterkopf. Hätte hierfür sicher auch irgendwann Bedarf.
Eine "High side switch" ist eine moglichkeit. Mit ein taster signal wird er "ein" geschaltet, danach ubernimmt den ESP32 mit eine Ausgang das Signal, so das den "high side switch" eingeschaltet bleibt so lange wie benotigt.
Kannst du vergleichen mit ein "uebernahme kontakt" von eine relais schaltung.
etwas weiter hinten im Kapitel gibt es unterschiedliche Methoden die Stromversorgung mit Zaster zu schalten entweder so dass dieselbe Taste zum ausschalten verwendbar ist oder wirkungslos.
Welche Lösung dir davon gefällt... (ich hab tatsächlich mal so eine Schaltung als Modul gesehen, war aber nicht so doll, hab ich mir daher auch nicht gemerkt).
Also soll er sowohl über Taste, als auch über Funk aufwachen. Dann muß aber einiges an Strom fließen. Man muß ihn dazu über die RTC zyklisch aus Deep Sleep aufwachen lassen.
Also soll er sowohl über Taste, als auch über Funk aufwachen. Dann muß
aber einiges an Strom fließen. Man muß ihn dazu über die RTC zyklisch
aus Deep Sleep aufwachen lassen.
Nein, steht doch im Titel was passieren soll 🙈
-> Taste gedrückt, esp bekommt Spannung.
-> Sketch fertig.
-> Pin zum reseten der schaltung wird auf high gezogen.
-> Esp verliert Spannung.
Hatte vor einiger Zeit dasselbe Problem wie du! Nur noch mit der zusätzlichen Schwierigkeit, das ich den Strom auch vom ESP32 aus abschalten wollte. Die getestete und funktionierende Lösung ist angehängt.
Hatte vor einiger Zeit dasselbe Problem wie du! Nur noch mit der
zusätzlichen Schwierigkeit, das ich den Strom auch vom ESP32 aus
abschalten wollte. Die getestete und funktionierende Lösung ist
angehängt.
Ah, ja mei.. dachte ich mir doch, dass ich nicht der einzige bin der derlei Ansätze hatte.
Was spricht dagegen, den ESP32 in Deep Sleep zu setzen und per
Tasteninterrupt wieder aufzuwachen. Es gibt dafür mehrere Codebeispiele.
Es geht im Endeffekt darum, die restliche Schaltung abzuschalten, nicht den ESP32. Der Thread-Titel ist somit etwas irreführend. Der ESP32 braucht selbst im Light-Sleep "nur" 8mA, im Deep-Sleep noch viel weniger (10µA); das Problem ist das Drumherum.
Daher: Vielleicht wäre es einfacher, den ESP32 permanent mit der Spannungsversorgung zu verbinden und ihn halt im Deep-Sleep zu lassen. Der ESP32 schaltet per Relais die restliche Schaltung ein/aus. Der ESP32 wird per Knopfdruck geweckt. So kannst du sehr flexibel in Software steuern, was wann genau ein/aus geschaltet wird, den Taster entprellen, und der ESP32 muss sich nicht selbst ein/aus-schalten können.
Ja, dann mach halt, wie du meinst.
Wieso fragst du hier eigentlich, wenn du eh alles bereits besser weißt?
Wieso gleich so pampig?
Ich habe klare Anforderungen geschildert und im Zuge dessen auch sehr viele relevante Antworten und Anregungen erhalten. Wieso also Stumpf das wiederholen, was vermehrt und bekannterweise nicht gewünscht ist?
Zumal ich mich frage, was alle mit dem Strombedarf drumherum meinen.. bis auf taster ist keine weitere Peripherie angeschlossen. Und Bauteile ablöten oder software technisch mir groß die Mühe machen ein paar mA zu sparen, werde ich mir sicher nicht machen, wenn es weit einfacher ist, einfach den Mikrokontroller stromlos zu schalten? 🤷♂️
Es geht im Endeffekt darum, die restliche Schaltung abzuschalten,
nicht den ESP32. Der Thread-Titel ist somit etwas irreführend.
Das habe ich aber anders gelesen. Es steht da: "Mir geht es nicht um den Verbrauch im generellen. Ich möchte einfach den
esp stromlos haben, solange er nicht in Verwendung ist."
Das nicht einfach mit einer Taste an einem interruptfähigen Pin zu machen und den ESP in den Tiefschlaf zu schicken, dafür gibt es nur 3 denkbare Gründe:
Es ist dafür kein Pin frei.
Die vorhandene Software im ESP soll/kann/darf nicht verändert werden.
Der OP weiß zu wenig.
Leider will der OP nicht sagen, welcher der Gründe vorliegt. Er sagt zwar, er habe erläutert, was gegen die Tiefschlaf-Lösung spricht (Zitat: "Wurde bereits erläutert"), hat das aber überhaupt nicht getan. :-(
Und so ganz nebenbei: Es ist je nach Prozessor und Programm durchaus möglich, das Programm durch blindes Abschalten der Versorgung zu zerschießen. In manchen Fällen kann auch Peripherie-Hardware darunter leiden.
Die vorhandene Software im ESP soll/kann/darf nicht verändert werden.
Der OP weiß zu wenig.
Leider will der OP nicht sagen, welcher der Gründe vorliegt. Er sagt
zwar, er habe erläutert, was gegen die Tiefschlaf-Lösung spricht (Zitat:
"Wurde bereits erläutert"), hat das aber überhaupt nicht getan. :-(
Wieso ist es so schwer zu verstehen, das ich den Mikrokontroller Stromlos haben möchte? 😅
Das Teil wird pro tag maximal einmal bis zwei mal verwendet, wenn überhaupt. Wieso also Spannung anlegen wo keine gebraucht wird?
Wieso muss so verbissen auf alternative Lösungen gepocht werden?
Wo sie doch für nich keine wirklichen Alternativen sind, da sie mein Hauptproblem nicht lösen.
Das ist nunmal der Ruhestrom auch in deep sleep. Mag sein das man die Module optimieren kann, ggf durch ablösen nicht verwendeter Spannungsregler etz. den Verbrauch minimiert.
Jedoch ist das eben wie jetzt schon mehrfach erwähnt nicht mein Ziel.
Was ich möchte, was mein Ziel ist wurde jetzt zur genüge erläutert.
Die Lösung wurde doch oben von Manfred P. beschrieben. Durch Drücken des "Ein"-Tasters bekommt der Controller Strom. Einer der ersten Befehle nach dem Start muss D6 (oder bei dir P5) auf H legen. Dadurch bekommt er auch nach Loslassen des Tasters über die Transistoren weiterhin Strom. Nach Abarbeitung des Programms legst du D6 auf L. Die Transistoren sperren und die gesamte Schaltung wird stromlos. Den "Aus"-Taster kannst du dir sparen, da du ja Zeitgesteuert arbeitest. Den Schaltungsteil mit der LED benötigst du ebenfalls nicht.
Wo sie doch für nich keine wirklichen Alternativen sind, da sie mein
Hauptproblem nicht lösen.
Das ist nunmal der Ruhestrom auch in deep sleep. Mag sein das man die
Module optimieren kann, ggf durch ablösen nicht verwendeter
Spannungsregler etz. den Verbrauch minimiert.
Jedoch ist das eben wie jetzt schon mehrfach erwähnt nicht mein Ziel.
[/quote]
Es ist also nicht dein Ziel, dein Hauptproblem zu lösen.
Dein Hauptproblem ist, dass die meisten Mitleser hier Deutsch als Muttersprache haben.
Wo sie doch für nich keine wirklichen Alternativen sind, da sie mein
Hauptproblem nicht lösen.
Das ist nunmal der Ruhestrom auch in deep sleep. Mag sein das man die
Module optimieren kann, ggf durch ablösen nicht verwendeter
Spannungsregler etz. den Verbrauch minimiert.
Jedoch ist das eben wie jetzt schon mehrfach erwähnt nicht mein Ziel.
[/quote]
Es ist also nicht dein Ziel, dein Hauptproblem zu lösen.
Dein Hauptproblem ist, dass die meisten Mitleser hier Deutsch als
Muttersprache haben.
Und Bauteile
ablöten oder software technisch mir groß die Mühe machen ein paar mA zu
sparen, werde ich mir sicher nicht machen, wenn es weit einfacher ist,
einfach den Mikrokontroller stromlos zu schalten?
Also noch einmal: Der Mikrocontroller verbraucht keine "paar mA"!
Etwas anderes (z.B. ein Spannungsregler) verbraucht deine Energie!
Ist doch egal, was da den Strom frisst - obs der LDO ist oder UART-USB oder sonstwas. Wenn man den Hahn abdreht, dann ist alles aus - und dann muss man auch nicht das ESP32 Fertigmodul auseinanderlöten, um bessere Ergebnisse zu bekommen.
Allerdings:
Ein einfacher Schalter hätte genau den gewünschten Effekt gehabt.
Ja bitte, wie bitte? Musst ja eine sehr kurze Lunte haben 🤭
Also noch einmal: Der Mikrocontroller verbraucht keine "paar mA"!
Etwas anderes (z.B. ein Spannungsregler) verbraucht deine Energie!
Ach nein, sag bloß? Liest du dir eigentlich meine Texte durch? Ich bin mir durchaus bewusst, was den Strombedarf ausmacht. Und ich denke ich habe es wohl mehr als klar gemacht dass es für mich nicht in Frage kommt, irgendetwas am Kontroller abzulöten.
So viel zum Thema.
Ich bitte dich nun mehr konstruktiv auf das einzugehen, worum ich um Hilfe gebeten habe. Alles andere ist Kontraproduktiv und stört einfach nur. Lies dir bitte meine vorherigen posts durch. Dann weißt du auch was im Bereich des möglichen und im Bereich des notwendigen ist.
Mfg.
An dieser Stelle auch mal vielen Dank an all die jenigen welche sich diesem scheinbar doch recht zähem Thema angenommen haben. Ich werde mich nun mal dran machen die für mich passende Lösung zu suchen. Wie es scheint ist wohl doch etwas bastlerisches Geschick bzw eine DIYS-Lösung grfragt.
Ich suche eine maximal schlechte Frickel-Pfusch Lösung.
Vorschläge zur weiteren Verschlechterung sind gerne gesehen,
Vorschläge zur Verbesserung sind eine Themaverfehlung.
Dann wissen alle gleich woran sie sind, und die Besserwisser behalten ihren Senf bei sich.
Die Lösung wurde doch oben von Manfred P. beschrieben. Durch Drücken des
"Ein"-Tasters bekommt der Controller Strom.
Vielleicht hätte ich die ummalen müssen, den LDO weg und "ESP32" dran schreiben, damit multimax das versteht?
Unabhängig davon schlug jemand ein bistabiles Relais mit zwei Spulen vor, auch diese Idee fand ich lesenswert.
Was maxxxxxx zu recht bemängelt, sind die ganzen sinnfreien Antworten zum DeepSleep etc., es kann Gründe geben, "richtig AUS" sein zu wollen. Meine Schaltung entstammt (m)einem Gerät mit LiIon-Akku, wo neben dem µC weitere Peripherie vorhanden ist, die sich eben nicht schlafen legen lässt.
Ich verstehe Deinen Unmut. Unverständlich ist mir aber, warum Du auf die
insgesamt drei, Deinem Wunsch entsprechenden, Vorschläge nicht eingehst.
Nicht böse gemeint.
Ich bin gestern nur nicht dazu gekommen mir die genannten Bauelemente und schaltungen genauer anzusehen. Nichtsdestotrotz werde ich nicht drum herum kommen, mich die Tage damit auseinander setzen müssen.
Allerdings:
Ein einfacher Schalter hätte genau den gewünschten Effekt gehabt.
Is richtig, wenn man keine execution auslösen möchte und man weiß wann das Programm beendet ist, bzw. Ereignis geschrieben wurden. Für meinen Zweck eher ungeeignet.
PS.
gibt es hier eigentlich keine Mods, welche sich mal um die Trolle kümmern?
ich hatte vor Jahren auch dieses Problem einen Mikrocontroller komplett stromlos zu schalten, so wie in der Art eines Stromstoss-Schalter. Ich bin nur eine Hobbybastler, aber die Schaltung die ich angehängt hab, leistet auch heute noch gute Dienste. Durch die Schaltung hält einen 9V Blockbatterie über 3 Jahre und dann schlägt eher die Selbstentladung zu.
Die Schaltung basiert auf den gleichen Prinzip wie die Schaltungen von Manfred P. und Anonymus B.
Kurze Erklärung:
Durch den Schalter SW_AN1 wird der PNP durchgeschaltet was dazuführt das der PicAxe(Mikrokontroller) Strom bekommt vom L7805. PicAxe wacht auf und zieht den BUZ11 an der das „Schalter drücken“ simuliert, dadurch bleibt der PNP durchgeschaltet. Jetzt kann ich entweder durch den 2. Schalter den PNP wieder ausschalten oder mein PicAxe schaltet den BUZ11. Im Programm lass ich den BUZ11 für 6 Stunden an.
Wo ich bei deinem ESP-32 Probleme sehen und es deswegen hier im Forum, denke ich, auch ein wenig zu Unstimmigkeiten (DeepSleep) gekommen ist, ist die Tatsache, das der ESP-32 relativ lange braucht, bis er startet und in der Main-Funktion kommt. Ich denke du musst dir dazu irgend einen Marker machen (LED, Bildschirm), und solange den Taster drücken, bis du erkennst das er jetzt hochgefahren ist. Ansonsten geht der Strom im Setup schon wieder weg und du bekommst keine Werte.
Das ist der Vorteil von DeepSleep, der ESP-32 bekommt einen Interupt und fährt selbständig hoch.
Ob es solche fertige Schaltungen gibt, kann ich dir nicht sagen, aber ich habe das Ganze in SMD aufgebaut und wie gesagt es funktioniert noch nach Jahren.
Schau dir die Schaltungen an und die Bauteile, vielleicht helfen sie dir ja bei deinem Projekt. Ich wünsche dir viel Erfolg dabei, und wenn du evtl. sogar eine besser Lösung findes, poste sie doch.
Davon lebt das Forum.
gibt es hier eigentlich keine Mods, welche sich mal um die Trolle
kümmern?
Diese Bemerkung finde ich frech und unpassend! Du hast Antworten bekommen, die Dir nicht gefallen haben und auch aus meiner Sicht an der Problemstellung vorbei laufen. Zu allem Überfluss hast Du sie dann so kommentiert, dass ich Dir "Öl ins Feuer" vorwerfe.
Was maxxxxxx zu recht bemängelt, sind die ganzen sinnfreien Antworten
zum DeepSleep etc., es kann Gründe geben, "richtig AUS" sein zu wollen.
Meine Schaltung entstammt (m)einem Gerät mit LiIon-Akku, wo neben dem µC
weitere Peripherie vorhanden ist, die sich eben nicht schlafen legen
lässt.
Ich habe recht gute Erfahrungen damit gemacht, den MC (89C51, AVR) ständig an der Batterie zu lassen und die ganze Tastenentprellung und Auswertung mit machen zu lassen. Dann kann man auch einen Timeout programmieren, wo er ohne Tastenbetätigung wieder in Sleep geht. Und er kann einfach da weitermachen, wo er vorher stehen geblieben ist, z.B. ein gewähltes Anzeigeschema.
Irgendwelche Verbraucher (LCD-Beleuchtung usw.) schaltet er über einen MOSFET zu. Vorzugsweise spare ich mir auch den Spannungsregler, die 89C51/AVR laufen ja in einem weiten Bereich an 2 oder 3 AAA.
So ein ESP-Bolide ist leider deutlich anspruchsvoller (Spannungsbereich, Stromverbrauch), die 3,3V sind genau einzuhalten. Man könnte ihm aber einen ATtiny13 zur Seite stellen für die Tastenentprellung, Timeout und Zuschaltung des Spannungsreglers.
So ein ESP-Bolide ist leider deutlich anspruchsvoller (Spannungsbereich,
Stromverbrauch), die 3,3V sind genau einzuhalten.
Ne, im Gegenteil! Das Ding läuft mit 3-3.5V ohne Probleme! Auch eine stark schwankende Spannung tut dem nichts an! Und wenn man ihn schlafen legt, dann verbraucht er auch sehr wenig. Seit dem ich den ESP32 (und ESP32-C3) ausprobiert habe, verwende ich fast nirgendwo AVRs mehr.
Deine Lösung verwendet allerdings eine ungünstige Bauteilwahl und kann nicht erkennen, wenn die on off Knöpfe in Betrieb erneut gedrückt werden.
Ein BUZ11 um 700uA zu schalten, das ist ja schon fast dessen Leckstrom (250uA) und UGS(th).
Nimm lieber einen BC547.
Ein 78L05 weil du Strom sparen willst, der verbraucht ja schon mehr als er spart und nutzt die Batterie nicht mehr zwischen 7.5 und 5.4V, nimm MC78FC05 oder MCP1702-5.0.
Ein Öffner-Taster, ugh, schwer zu bekommen, wemn man ausschalten will läuft der uC, der kann den Taster an einen Eingang bekommen und dann den BUZ(oder was besser geeignetes) ausschalten.
Und, ach ja, wenn man einen anderen Spannungsregler sowieso kaufen muss, kann man gleich einen mit /ChipEnable nehmen und sich den ganzen Kram sparen.