lumapu / ahoy

Various tools, examples, and documentation for communicating with Hoymiles microinverters
https://ahoydtu.de
Other
936 stars 221 forks source link

Feature Request: Deaktiviere ungenutzte Peripherie um Strom zu sparen #267

Open thfcm opened 1 year ago

thfcm commented 1 year ago

Vorschlag:

Um die 3,3V-Schiene zu entlasten, könnte man im Mikrocontroller einige Peripherie deaktivieren. Die Einsparungen müssten noch ermittelt werden (via Test oder eventuell gibt es bereits was im Netz).

Die Einsparungen könnten ggf. den Spannungsregler soweit entlasten, dass mehr Reserve für die Lastspitzen des nRF-Moduls verfügbar wären.

Beim ESP32 geht das angeblich, in dem man die einzelnen Teile vom Clocking abkoppelt.

Siehe ESP32-Manual Punkt 5.3.7 Peripheral Clock Gating and Reset sowie auf den darauf folgenden Seiten, z.B.

Für den ESP8266 habe ich keine derartige Information in der technical reference manual gefunden. Da werde ich die nächsten Tage ein bisschen google bemühen.

DanielR92 commented 1 year ago

Es wurde damals schon bzgl. Stromaufnahme Tests gemacht, zwar nicht von uns direkt. Kedoch ist die Quelle sehr gut Strukturiert und mit Oszi-Bilder dargestellt.

https://ullisroboterseite.de/esp8266-strom.html

stefan123t commented 1 year ago

homeautomation hat wohl nachgemessen, wobei der größte Stromfresser im Prinzip die WiFi Option des ESP8266/ESP32 ist. Ca. 50-120mA Idle mit Wifi Verbindung und Peaks bis max. 200mA. Alle noch kürzeren Peaks gleicht ein Elko aus. Ein 2W Netzteil reicht für einen ESP.

Für das nRF24 Modul beim Senden empfehlen und verwenden wir daher i.d.R. einen 47/100uF Elko an den GND und +3.3V Pins 1&2 des NRF24 Moduls.

@thfcm können wir das Issue schließen oder hast Du konkrete Vorschläge wie wir da nennenswert Strom sparen können ? Man könnte eventuell die Sonnenaufgangs/-untergangszeit nutzen um den ESP in den Deep Sleep bis zum nächsten Morgen zu schicken ?

dj9717 commented 1 year ago

Man könnte eventuell die Sonnenaufgangs/-untergangszeit nutzen um den ESP in den Deep Sleep bis zum nächsten Morgen zu schicken ?

Das hatte ich mir auch bereits überlegt und fände ich ein sehr praktisches Feature. Ebenso auch eine Möglichkeit den ESP manuell (und) via API für eine Zeit x in den DeepSleep zu schicken. Wollte selbst auch Hand anlegen weiß jedoch mangels KnowHow nicht ob ich es wirklich hinkriegen würde.