Schaltung für Netzschalter und Selbstabschaltung ESP8266?

Ich möchte in der Lage sein, einen Schalter zum Einschalten des ESP8266 (ESP-12F) zu verwenden und das Gerät dann über den GPIO-Pin in der Software auszuschalten.

Ich habe versucht, einen an CH_PD angeschlossenen Schalter zu verwenden und CH_PD mit GPIO # 13 hoch zu halten, es gibt jedoch eine lange (6-10+ Sek.) Einschaltverzögerung, bevor ich CH_PD mit einem GPIO-Pin hoch "halten" kann. Da die Ein- / Ausschaltzeit möglicherweise kürzer als diese Verzögerung wäre, brauche ich eine andere Schaltung, um zuverlässig mit CH_PD zu kommunizieren, um die gewünschte Funktionalität zu erhalten.

-Spannungsquelle wäre ~3,3 V -Idealer Zustand des Ein-Aus-Schalters kann vom ESP8266 zur weiteren Steuerung überprüft werden

Reduziert die eingebaute Schlaffunktion den Stromverbrauch nicht genug?
Es sieht so aus, als ob der Stromverbrauch im Tiefschlaf 10 uA und im ausgeschalteten Zustand 0,5 uA beträgt. Ich möchte es so lange wie möglich ohne Batterien betreiben.
Ein einfacher MOSFET funktioniert nicht, da die Schutzdioden in diesem oder jedem anderen typischen modernen IC einen Pfad bereitstellen, der ihn wieder einschaltet - Sie benötigen etwas Invertierendes, um dies zu vermeiden. Betrachten Sie einen RT9701 oder einen ähnlichen USB-VBus-Schalter - dieser sah aus, als würde er funktionieren, obwohl der Gesamtaufwand, bei dem dies versucht wurde, fehlschlug, da die ausgewählte Zelle den sehr hohen Startstrom des ESP8266 nicht liefern konnte.
Bist du dir sicher mit dieser Verzögerung von 6-10 Sekunden? Welche Software verwendest du auf dem ESP? Ich habe gerade ein Experiment durchgeführt, das mit dem github.com/esp8266/Arduino-Kern ausgeführt und als erstes einen GPIO in der setup()Funktion aktiviert hat, der eine Verzögerung von etwa 20 us zwischen der steigenden Flanke von CH_PD und dem Hochgehen des GPIO zeigt.

Antworten (2)

Dies ist eine gute Ressource zu den Power on/Power off-Schaltungen für uC . Ich denke, was Sie brauchen, ist im Abschnitt beschrieben: "Verriegelung des EIN / AUS-Druckschalters mit einem MOSFET-High-Side-Schalter".

Ein paar Ideen, die auf meinen realen Erfahrungen mit dieser Art von Design basieren.

A. Die Lösungen teilen sich in drei Klassen auf:

Klasse I: Verwendung einer externen Schaltung zur Steuerung der Batterieleistung für das Mikro.

Klasse II: Verwenden des Mikros selbst, um die Stromversorgung für sich selbst zu steuern. ZB Aufruf und Verlassen des Schlafmodus.

Klasse III: Eine Mischung aus Klasse I und Klasse II. ZB Einschalten des Mikros mit einem externen Schaltkreis oder Gerät (z. B. einem momentanen Druckknopf), dann Ausschalten der Stromversorgung mit einer Einrichtung des Mikros (z. B. einem GPIO-Pin).

Es gibt Nachteile bei jedem Ansatz. Systeme der Klasse I verbrauchen ständig Batteriestrom, wie gering auch immer. Dies gilt auch für Systeme der Klasse II. Abhängig vom tatsächlichen Mikroprozessor und der Klugheit der Schaltung sind Klasse-III-Schemata mit Problemen behaftet, da es keine triviale Angelegenheit ist, einen Mikro mit seinen eigenen Ressourcen auszuschalten.

Berücksichtigen Sie auch die tatsächlichen Auswirkungen einer winzigen konstanten Stromaufnahme auf die Batterielebensdauer. Einige Batterien können eine bestimmte, sehr geringe Stromaufnahme aushalten, ohne dass sich dies ernsthaft auf ihre Haltbarkeit auswirkt. Einige Batteriedatenblätter enthalten diese Informationen oder weisen zumindest darauf hin. Sie können damit leicht experimentieren, indem Sie hochwertige Widerstände über die Kandidatenbatterie anschließen, sie für eine lange Zeit so laufen lassen, während Sie ihre Spannung alle ein oder zwei Tage kurz testen.

Sie benötigen außerdem eine glaubwürdige, zuverlässige und genaue Methode zur Messung von Submikroampere-Strömen, um die tatsächliche Stromaufnahme Ihrer Schaltung zu bestimmen. Die meisten kostengünstigen DVMs leisten damit keine gute Arbeit. Eine billige Lösung ist ein altmodisches elektromechanisches "Galvanometer". Kalibrieren Sie es mit Reihenwiderständen mit hohem Wert und einer Spannungsversorgung.

Die meisten Low-Power-Produkte verwenden Klasse II aufgrund der geringen Anzahl von Teilen, der Kosten, der Einfachheit und bekannter Designprobleme (normalerweise in Datenblättern und Anwendungshinweisen zu finden). Mit der richtigen Kombination aus Akku und Mikro ist dies wahrscheinlich das Beste, was Sie ohne viel Design- und Debug-Kopfschmerzen tun können. "Gleich gut" = angemessene Akkulaufzeit. Ich glaube jedoch, dass Sie dies mit einer sorgfältig durchdachten und implementierten Klasse-I-Schaltung des Typs verbessern können, der in dem von ursusd8 zitierten Artikel beschrieben wird.

Wenn Sie sich einer echten Herausforderung stellen möchten, sollten Sie den Klasse-III-Ansatz verfolgen, auf den Sie in Ihrer Frage anspielen. Sie werden wahrscheinlich feststellen, dass das Einschalten zuverlässig ist, aber das Ausschalten kann zu allen möglichen unbeabsichtigten Ergebnissen führen. Das typische Problem ist, dass das Mikro es schafft, sich wieder einzuschalten, wenn seine Versorgungsspannung abfällt. Dies geschieht, weil das Mikro für diesen kurzen Zeitraum (während die Versorgungsspannung zusammenbricht) außerhalb seines angegebenen Betriebsspannungsbereichs arbeitet - dem Spannungsbereich, in dem es ursprünglich für einen ordnungsgemäßen Betrieb ausgelegt war. (z. B. Wie viele Mikros sind spezifiziert, um bei weniger als einem Volt zu arbeiten?) Führen Sie einige grundlegende Experimente mit Ihrer ausgewählten Mikro- und Leistungsschalter-Hardware (MOSFET usw.) durch, bevor Sie sich zu sehr auf das ausgewählte Mikro festlegen.

Wenn Sie nach der absolut besten Low-Drain-Lösung suchen, werden Sie sie meiner Meinung nach in Klasse I finden. Stellen Sie sich jedoch darauf ein, viele Experimente mit verschiedenen Geräten durchzuführen, mit einer bewährten Strommessfunktion ausgestattet zu sein und die Ergebnisse zu überprüfen die ausgewählte Vorrichtung hat unterschiedliche Datumscodes, da Leckströme diskreter Logikvorrichtungen von Stück zu Stück und von Produktionslauf zu Produktionslauf erheblich variieren.