Erfahrungen zu ESP8266 mit LiPo-Akku, Solarpanel und Deep Sleep

Begonnen von Dr. Boris Neubert, 22 August 2016, 20:08:03

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

habe am Wochenende mal nach einer Lösung gegoogelt, den ESP über einen LiPo-Akku zu speisen, der über ein Solarpanel geladen wird. Gefunden habe ich allerhand in dieser Richtung aber nichts in der Kombination.

Meine Gedanken gehen in die Richtung, den ESP über einen StepUpStepDown-Spannungsregler von Pololu an den LiPo-Akku zu hängen, der mit einer vernünftigen Ladeschaltung über ein Solarpanel geladen wird. Hat jemand Empfehlungen für mich in folgenden Punkten:
- Ein Fertigmodul aus China für eine schonende Ladung des LiPo-Akku.
- Ein Ersatz für den Pololu, den ich mit 8,60 EUR incl. Versand für zu teuer halte, um die Geräte in größerer Stückzahl zu verteilen - aber immerhin ist das Modul über einen Pin abschaltbar, wenn der ESP in den Deep Sleep geht (Ansteuerung mir noch unklar).

Viele Grüße
Boris

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

sbiermann

Hi,
LiPo wollte ich nicht einsetzen, weil mir die Teile zu empfindlich sind bei Temperaturschwankungen und gefühlt "sensibeler" als Li-Ion Akkus. Ich plane langfristig auch Outdoor Einsatz. Daher habe ich einen Li-Ion-Akku 18650 mit Solarpanel im Einsatz anstelle eines LiPo. Der ESP misst mit einen DHT22 die Temperatur bzw. Luftfeuchtigkeit. Das Ganze funktioniert soweit ganz gut. Am Anfang gab es Probleme das der Akku zu schnell entladen war, aber das lag wohl daran, dass das WLAN hier in der Firma etwas instabil ist und der ESP dann in den AP Modus gegangen ist. Das hat ziemlich viel Strom verbraucht. Seit dem ich den WifiManager (ESP Bibliothek) raus geworfen und die Zugangsdaten fest kodiert habe funktioniert es stabil. Für langfristige Aussagen ist es allerdings noch zu früh, das Teil läuft erst seit ein paar Monaten.

Falls du anstelle von LiPo auf Li-Ion gehen willst, hier meine verwendeten Komponenten. Als StepDown habe ich den MCP1825s verwendet.
Lademodul: http://de.aliexpress.com/item/5-pcs-Micro-USB-1A-Lithium-Battery-Charging-Board-Charger-Module-With-Protection/32402397769.html?spm=2114.13010608.0.69.hwQL2g
Solarpanel: http://de.aliexpress.com/item/Solar-Panel-Module-5V-240mA-1-2W-DIY-for-Cell-Charger-Toy-69410/32473387133.html?spm=2114.13010608.0.98.ZJiNGD
Li-Ion: https://www.amazon.de/gp/product/B00M4VMUG0/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1

Viele Grüße
Stefan

Dr. Boris Neubert

Hallo Stefan,

vielen Dank.Das sind gute Empfehlungen.

Hast Du die 3,0V-Variante vom MSP1825 genommen?

Ich frage mich, ob ich den MSP1825S nehmen soll und den Regler bei DeepSleep des ESP herunterfahre. Ob ein Elko reicht, den ESP zu versorgen, bis nach dem Aufwachen des ESP auch der Regler wieder liefert?

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Bapt. Reverend Magersuppe

Ich habe jetzt mal diese hier geordert: Größtes Glück.
Hatte in den Sommer Ferien schon einen Lader vom Diskountergeschäft. Der war totaler Mistmüll! Hab problemlos zurückgebracht und 10€ bekommen.
Lag über viele Stunden auf dem Sonnenschirm am Sandstrand in der Knallsonne. Kaum geladen. Es kann also nur verbessert sein!
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

amithlon

Hallo,

hier läuft ein ESP8266 mit BME280 (Temperatur/Feuchte/Luftdruck) und BH1750 (Beleuchtungsstärke) an einer 18650 Zelle.
Spannungsregler ist ein MCP1703 Linearregler, meiner Meinung nach bringt weiterer Aufwand für die BEtreibsspannung keinen wirklichen Vorteil.
Gemessen wird bis jetzt noch alle 2Minuten, ist ein Test, steht auf dem Balkon.
Akkulaufzeit bis jetzt seit 21.07., Akkuspannung zur Zeit 3,7V.

Solar-Lader könnte man sicher dranhängen, mocht für mich hier wenig Sinn, soweit ist der Weg nicht, um den Akku zu wechseln...
Ruhestrom ist vermutlich noch etwas hoch, das schaue ich mir aber erst an, wenn der Akku am Ende ist.

ESP ist ein ESP8266-12, Protokoll (wie immer bei mir) MQTT, mit fester IP braucht der ESP ca. 300ms für hochfahren + WLAN und MQTT-Connect.
Die tatsächliche Zeit incl. Meßzyklus muß ich mir auch naoch anschauen, da sind evtl. auch noch einige ms einzusparen.

Gruß aus Berlin
Michael

machnetz

>Hatte in den Sommer Ferien schon einen Lader vom Diskountergeschäft.

Dieses Drecksteil hab ich auch gekauft, aber für einen anderen Zweck. Nachdem ich das Ding komplett zerlegt hatte gabs auch kein Umtausch mehr.
Die Solarzelle liefert wohl auch nur so um die 50 mA, eine Vollladung hat Wochen gedauert :-(

Gruß, machnetz

SusisStrolch

Zitat von: amithlon am 25 August 2016, 10:34:48
ESP ist ein ESP8266-12, Protokoll (wie immer bei mir) MQTT, mit fester IP braucht der ESP ca. 300ms für hochfahren + WLAN und MQTT-Connect.

Mit welcher Firmware läuft das Teilchen?
Verwendest Du den "deepsleep" Modus?
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

sbiermann

Zitat von: Dr. Boris Neubert am 24 August 2016, 21:23:58
Hast Du die 3,0V-Variante vom MSP1825 genommen?

Ich habe 2 Varianten, nur unterschiedlich in der Bauweise, im Einsatz und zwar die hier:
http://de.aliexpress.com/item/Free-Shipping-Electronics-MCP1825S-3302E-AB-IC-REG-LDO-3-3V-5A-TO220-3-MCP1825S-3302E/32415236462.html?spm=2114.13010608.0.92.cj0pKe
http://de.aliexpress.com/item/Free-Shipping-Integrated-Circuit-MCP1825ST-3302E-DB-IC-REG-LDO-3-3V-5A-SOT223-3-MCP1825ST/32386000205.html?spm=2114.13010608.0.108.kQT7cy

Runterfahren tu ich den Spannungswandler nicht wenn der im ESP im Deep Sleep ist. Der hat aber einen ziemlich geringen Ruhestrom so das ich die Massnahme erstmal nicht für notwendig gehalten habe.

SpenZerX

Kann man nicht einfache Teile, Akku und Gehäuse aus einer Solar Leuchte mit Zellspannung 3,2 Volt nehmen?

amithlon

Hallo,

Zitat von: SusisStrolch am 25 August 2016, 12:47:47
Mit welcher Firmware läuft das Teilchen?
Verwendest Du den "deepsleep" Modus?

ich hänge den Sketch mal rein, ist erstmal Test wie gesagt. Arduino-IDE 1.6.9 und ESP-Version 2.3.0.
Ich muß noch korrigieren: der Akku ist von meinem alten Mini-Camcorder und hat nur 1450mAh.


/*--------------------------------------------------
v0.6 MSoft 28.02.2016
4MBit-Flash: 1MB(3MB SPIFFS), QIO, Generic ESP
--------------------------------------------------*/

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <Wire.h>
#include <Adafruit_BME280.h>
#include <BH1750.h>

Adafruit_BME280 bme; // I2C

BH1750 lightMeter;   // I2C

const char* ssid = "xxxxxxxx";
const char* password = "xxxxxxxxxx";
const char* mqtt_server = "192.168.0.99";

void WiFiStart(void);
void mqtt_Send(void);

// Abstand der Messung
unsigned long sleepTime = 120000000;

// MQTT
WiFiClient espClient;
PubSubClient mqttclient(mqtt_server,1883,0,espClient); // callback

void setup()
{
  WiFi.config(IPAddress (192,168,0,139), IPAddress (192,168,0,1), IPAddress (192,168,0,1));
  WiFi.mode(WIFI_STA);
  WiFiStart();

  lightMeter.begin(BH1750_ONE_TIME_HIGH_RES_MODE); // BH1750_CONTINUOUS_HIGH_RES_MODE_2
  bme.begin(0x76);   

  mqttclient.connect("ESP-BME280");   // clientID,willTopic,willQoS,willRetain,willMessage
  if (!mqttclient.connected())
  {
    delay(10);
  }
}

void loop()
{
  mqtt_Send();

  ESP.deepSleep(sleepTime, RF_CAL);        // schlafen gehen
  delay(100);

  mqttclient.loop();
}

// ------------------------------------------------------------------------

void WiFiStart()
{
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(50);
  }
}

// ------------------------------------------------------------------------

void mqtt_Send()
{
  if (mqttclient.connected())
  {   
    String output = String(bme.readTemperature(),1);
    mqttclient.publish("BME280-1/Temperatur", output.c_str());

    output = String(bme.readHumidity(),0);
    mqttclient.publish("BME280-1/Feuchte", output.c_str());
   
    output = String((bme.readPressure() / 100.0F),0);
    mqttclient.publish("BME280-1/Luftdruck", output.c_str());
   
    output = String(lightMeter.readLightLevel(),DEC);
    mqttclient.publish("BME280-1/Licht", output.c_str());

    output = String((analogRead(0) * 5.0F /1000) ,2);
    mqttclient.publish("BME280-1/Spannung", output.c_str());
  }
}


Gruß aus Berlin
Michael

SusisStrolch

Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

amithlon

Hallo,

Zitat von: SusisStrolch am 25 August 2016, 21:09:03
Kurz und knackig... schön!

naja, eine Problemstelle werde ich noch ändern: WiFiStart() muß noch ein timeout bekommen, sonst geht der Kram nie wieder schlafen, wenn das WLAN mal nicht erreichbar ist.

Außerdem loht die Funktion als solche nicht, stammt aus anderen Projekten und wurde sowieso gekürzt, kann also auch direkt in setup() rein.
mqttclient.loop(); muß hier ohnehin nicht aufgerufen werden, es gibt keine Subscribes und der Aufruf wird ohnehin nie erreicht.

Gruß aus Berlin
Michael


devo

Hallo,

zu diesem Thema erschien in der August-Ausgabe der Zeitschrift elektroniknet ein interessanter Artikel "Batteriebetriebener IoT-Knoten".
Anhand eines Beispiels mit einem NodeMCU und einem Solarzellengepufferten Lithium-Polymer-Akkus wird eine praxisgerechte Lösung beschrieben.
Aus rechtlichen Gründe möchte ich hier den Artikel nicht veröffentlicher; wer interesse daran hat, dem kann ich diesen per Mail zukommen lassen.

viele Grüße
Detlev

amithlon

Zitat von: devo am 26 August 2016, 09:46:48
zu diesem Thema erschien in der August-Ausgabe der Zeitschrift elektroniknet ein interessanter Artikel "Batteriebetriebener IoT-Knoten".
Anhand eines Beispiels mit einem NodeMCU und einem Solarzellengepufferten Lithium-Polymer-Akkus wird eine praxisgerechte Lösung beschrieben.

Da hätte ich schon Interesse...

Gruß aus Berlin
Michael

deluxe41

Klingt wirklich interessant...
Interesse besteht!

Auch Gruß aus Berlin

Rene


Sent from my iPhone using Tapatalk
Fritzbox 7490 ( USV + Fall Back ), einige HM komponenten,ESPs