ESP8266 reduziert den Stromverbrauch, der durch zusätzliche ICs/Komponenten an Bord während des Tiefschlafs verursacht wird

Ich muss den Stromverbrauch einer Schaltung reduzieren, die auf ESP8266 und zusätzlichen Schaltungen (I2C-Sensoren, lichtwiderstandsbasierter Sensor usw.) basiert. Wenn ich ESP8266 jetzt in den Tiefschlaf versetze, habe ich immer noch einen relevanten Stromverbrauch, der durch zusätzliche Komponenten verursacht wird. Nicht alle ICs haben einen „Tiefschlaf“-Modus, der eingestellt werden kann, um den Strom zu reduzieren, also habe ich versucht, die VCC-Leitung zu trennen, die alle zusätzlichen Komponenten auf dem Steckbrett mit Strom versorgt, und der Stromabfall reicht aus, um den Betrieb der gesamten Schaltung mit Batterie zu ermöglichen.

Meine Idee ist also, die VCC-Leitung der Sensoren mit einem vom ESP8266 angesteuerten Mosfet zu verwalten, etwa so:

  • Beim Einschalten des ESP8266 (Arduino- setup()Methode) schalte ich als erstes den Mosfet ein, um alle Sensoren mit Strom zu versorgen
  • kleine Pause, damit sich alle ICs initialisieren und stabilisieren können
  • alle Operationen durchführen (Sensor lesen, Berechnung etc.)
  • Mosfet ausschalten
  • Schalten Sie den ESP8266 in den Tiefschlaf

Also ich würde fragen:

  1. ist ein praktikabler Weg oder kann zu Problemen führen?
  2. Wenn ich einen N-Kanal-Mosfet verwende, ist das Ergebnis ein Low-Side-Schalter, der GND schwebend lässt. Das scheint mir schlecht zu sein, richtig?
  3. Wenn ich einen High-Side-Schalter (P-Kanal-Mosfet) verwende, reicht ein Pull-up-Widerstand aus, um sicherzustellen, dass der Mosfet vollständig geschlossen ist, wenn das Mikro in den Tiefschlaf geht?

Die VCC der gesamten Schaltung beträgt 3,3 V

Sie müssen auch sicherstellen, dass die Peripheriegeräte alle Eingänge haben, die vom ESP auf niedrigem Niveau angesteuert werden , oder Sie haben eine Stromaufnahme und möglicherweise eine elektrische Überlastung. Das heißt, das ESP muss diese Ausgänge niedrig haben, bevor es die Peripheriegeräte abschaltet.

Antworten (1)

Das Trennen der Stromversorgung von den Sensoren ist die beste Möglichkeit, den Stromverbrauch zu reduzieren, wenn Sie sie nicht benötigen. Sie können einen Low-Side-Schalter durchführen, da Ihre Sensoren nicht viel Strom verbrauchen, sodass die Masse so nahe an der realen Masse liegt, dass es keine Rolle spielt. Die Pins der Sensoren können jedoch auf VCC-Pegel liegen, also müssen Sie aufpassen, wo sie angeschlossen sind, zum Beispiel die I2C-Leitungen zu Ihrer MCU, die Eingänge dort müssen schwebend sein. Wenn Sie andererseits den High-Side-Schalter verwenden, müssen Ihre I2C-Leitungen natürlich niedrig sein, sonst sendet der Pull-up-Widerstand an diesen Strom an Ihre Sensoren (etwas, das Sie beachten sollten, wenn Sie wirklich versuchen zu minimieren Energieverbrauch). Wenn Sie über einen Mosfet sprechen und "vollständig geschlossen" sagen, bedeutet dies, dass er "EIN" ist, weil Sie ihn sich als Schalter in einem Stromkreis vorstellen müssen. Denken Sie zum Beispiel an einen Messerschalter. Es ist kein Ventil in einer Wasserleitung, was verwirrend sein kann, aber um Ihre Frage zu beantworten, reicht ein Hochziehen des p-Kanals aus, um ihn vollständig abzuschalten (auch bekannt als offen) (ohne Berücksichtigung von Leckagen, überprüfen Sie im Zweifelsfall das Datenblatt ).

Also, weil ich I2C habe, ist, soweit ich aus Ihrer Antwort verstehe, ein Low-Side-Schalter besser, weil bei getrenntem GND auch über I2C-Leitungen kein Strom fließt?
Die i2c-Leitungen werden durch Widerstände hochgezogen, die sich möglicherweise in Ihrem Mikrocontroller befinden. In diesem Fall können Sie sie ausschalten und die Leitungen vollständig schweben lassen. Wenn sie extern sind, können Sie diese von Ihrem Mikro aus speisen, sodass Sie sie auch ausschalten können. Wenn Sie sie nicht ausschalten können, wäre der Low-Side-Schalter das Beste und lassen Sie alle Ihre Sensoren vollständig auf VCC ansteigen.