ESP8266 Wemos D1 Mini, 18650 LiIon, Spannung

Begonnen von wusa, 02 September 2020, 15:18:55

Vorheriges Thema - Nächstes Thema

wusa

Hallo Zusammen,

ich bin momentan dabei einen ESP8266 Wemos D1 Mini mit einer 18650 Zelle zu betreiben.

Die 18650 Zelle hat voll geladen 4,2V und geladen sollte diese (glaube ich) wieder ab 3.1V.
Momentan betreibe ich den ESP über einen Step Up Converter auf 5V und auch am 5V Eingang. Das ist vermutlich nicht die beste Lösung?

Jetzt habe ich mehrere Fragen:

1. Die 4,2V sind vermutlich zu viel für den 3,3V Eingang?

2. Ich würde auch gerne die Spannung der 18650 Zelle abfragen.
Da ich allerdings von Strom nicht viel Ahnung habe, wäre ich über eine bisschen Hilfe sehr Dankbar.
Im Internet habe ich bisher ein paar mal von Spannungsteilern gelesen. Da kenne ich mich allerdings überhaupt nicht aus.

3. Ist es Sinnvoller die Spannung von 4,2V auf 3,3V per Widerstand zu reduzieren, oder was wäre hier der beste Ansatz.
Energie will ich natürlich so wenig wie möglich verlieren, damit der Akku möglichst lange hält.

Danke

JoWiemann

Sind die 4,2 Volt im Leerlauf gemessen?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

wusa

Ja die Spannung ist gemessen direkt nach dem Aufladen und im Leerlauf.

Die Spannung bricht aber auch bei laufendem ESP und angeschlossenem Step Up auf 5V nicht ein.

juergs

#3
Hier dürfte alles erwähnt sein:
https://blog.sarine.nl/2020/01/01/1-year-sensor.html


Papa Romeo

#4
Hallo wusa,

Zitat von: wusa am 02 September 2020, 15:18:55
1. Die 4,2V sind vermutlich zu viel für den 3,3V Eingang?

ich betreibe einen Teil der Sensoren meines NRF24L01 Projektes auch mit diesen Zellen und verwende den Pololu U1V10F3
3.3 Volt StepUP/StepDown-Wandler. Bei einem Eingansspannungsbereich von 0.5 bis 5 Volt bringt dieser am Ausgang 3.3 Volt.
Allerdings sollt man dann diese Zellen an einem 1S-BMS betreiben, da der Sensor dann wirklich solange funktioniert, bis er den
Akku komplett leergesaugt hat und das kommt bei diesen Zellen nicht besonders gut.

Zitat von: wusa am 02 September 2020, 15:18:55
2. Ich würde auch gerne die Spannung der 18650 Zelle abfragen.

das mache ich bei diesem Projekt auch. Es ist aber zu empfehlen ein Trimmer und einen Vorwiderstand dafür einzusetzen.
Erspart dir die Rechnerei und erlaubt dir dann auch den reelen Wert für A0 einzustellen.

Zitat von: wusa am 02 September 2020, 15:18:55
Ist es Sinnvoller die Spannung von 4,2V auf 3,3V per Widerstand zu reduzieren, oder was wäre hier der beste Ansatz.
Energie will ich natürlich so wenig wie möglich verlieren, damit der Akku möglichst lange hält.

...ist nicht sinnvoll, da du

1. Energie "verbrätst", d.h. am Widerstand in Wärme umwandelst

2. es auch so nicht richtig funktionieren würde, da sich die Stromaufnahme des WEMOS ändert. D.h. dass die Spannung im Sendebetrieb, wo schon mal bis zu
500 mA gebraucht werden, für den Betrieb des WEMOS nicht mehr ausreichen würde.

Beispiel:

- angenommene normale Stromaufnahme wären 100 mA (...ist natürlich viel zu hoch angesetzt, aber dient ja nur zur Verdeutlichung)

- wir müssen ca. 1 Volt "verbraten"

- R = U/I  --> 1Volt / 0.1 A = 10 Ohm

- also Vorwiderstand 10 Ohm

jetzt will der WEMOS senden --> Stromaufnahme will auf 500 mA steigen

- U = R * I --> 10 Ohm  * 0.5 A  = 5 Volt

- also bleibt die ganze Spannung am Widerstand liegen und der WEMOS schaut in die Röhre.

Umso kleiner die "Ruhestromaufnahme" des WEMOS ausfällt, umso größer muss der Vorwiderstand sein, aber umso mehr Spannung bleibt an diesem Widerstand liegen
wenn der WEMOS senden will.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

wusa

Zitat von: juergs am 02 September 2020, 16:41:02
Danke für den Link.
Wenn ich das richtig lesen, dann benötigen ich "nur" einen XC6203 LDO und damit sollte es funktionieren?

Zitat von: Papa Romeo am 02 September 2020, 16:52:55
ich betreibe einen Teil der Sensoren meines NRF24L01 Projektes auch mit diesen Zellen und verwende den Pololu U1V10F3
3.3 Volt StepUP/StepDown-Wandler. Bei einem Eingansspannungsbereich von 0.5 bis 5 Volt bringt dieser am Ausgang 3.3 Volt.
Das klinkt ja schon mal sehr gut. Habe jetzt von schon von mehreren Möglichkeiten gelesen.
- XC6203
- MCP1700
- oder jetzt deine mit Pololu U1V10F3
Zitat von: Papa Romeo am 02 September 2020, 16:52:55
diese Zellen an einem 1S-BMS betreiben
1S-BMS ist vermutlich so eine Art "Sicherung", damit der Akku nicht leergesaugt werden kann?
Benötigt das aber dann nicht auch no zusätzlich Energie?
Zitat von: Papa Romeo am 02 September 2020, 16:52:55

das mache ich bei diesem Projekt auch. Es ist aber zu empfehlen ein Trimmer und einen Vorwiderstand dafür einzusetzen.
Erspart dir die Rechnerei und erlaubt dir dann auch den reelen Wert für A0 einzustellen.
Wie das ganze überhaupt funktioniert, weiß ich überhaupt nicht.
Ich habe auch noch keine Ahnung wie die Daten am A0 ankommen. Habe nur gelesen, dass es funktioniert.
Zitat von: Papa Romeo am 02 September 2020, 16:52:55

...ist nicht sinnvoll, da du
...
....

...
Das habe ich mir schon fast gedacht, dass es so nicht am Sinnvollsten ist.

Papa Romeo

Zitat von: wusa am 03 September 2020, 08:19:41
1S-BMS ist vermutlich so eine Art "Sicherung", damit der Akku nicht leergesaugt werden kann?

BMS = Batteriemanagementsystem für 1S = eine Zelle (4.2Volt)

Lädt den Akku, z.B über USB oder eine Solarzelle und sorgt dafür, dass der Akku nicht Tiefentladen wird, indem er den Verbraucher dann vom Akku trennt.


Zitat von: wusa am 03 September 2020, 08:19:41
Ich habe auch noch keine Ahnung wie die Daten am A0 ankommen. Habe nur gelesen, dass es funktioniert.

A0 - ist der analoge Eingang des WEMOS/ESP und mißt die Spannung, die an ihm anliegt.


LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

wusa

Je mehr ich lese, desto mehr verwirrt mich das ganze.
Ich dachte anfangs ich hab das mit dem Spannungsteiler verstanden, doch leider irgwndwie doch nicht.

Du sagtest, dass der A0 die Spannung misst.
Jetzt habe ich diese Seite gefunden: https://lazyzero.de/elektronik/esp8266/wemos_d1_mini_a0/start

Hier ist von A0 und ADD die Rede. Was ist denn ADD?  Und wo finde ich diesen Anschluss am Demos D1Mini?
Dachte anfangs es gibt nur den A0?

Leider lese ich sehr viel und tu mich sehr hart dabei

Papa Romeo

...ist nicht ADD, ist ADC.

A0 ist der Anschluß auf den du Zugriff hast und wo du deine Spannung, die du messen willst anlegst [Pin zwischen RST und D0 (GPIO16)]
ADC ist der Pin am ESP8266 selber, an den die Spannung über den gezeigten Spannungsteiler 220kOhm/100kOhm dann vom A0 kommt.
Der nackte ESP8266 (ESP01, ESP07, ESP12) verträgt am ADC nur 1 Volt. Der WEMOS verträgt durch diesen "Onboard-Spannungsteiler" 3.2 Volt.

Will man nun höhere Spannungen messen, braucht man nicht nochmal eine Spannungsteiler sondern legt die Spannung über einen weiteren Widerstand
an A0.

Beispiel:

Wenn du also bis zu 5 Volt messen willst,, dann musst du (5V - 3.2 Volt) nochmal 1.8 Volt "verbraten", also die Spannung über einen weiteren 180 KOhm
Widerstand an A0 legen. Da jetzt 180 kOhm + 220 kOhm = 400 kOhm ergeben, bleiben 4 Volt an diesen beiden Widerständen "hängen" und 1 Volt,
die der ESP8266 ja verträgt, am 100 kOhm und somit am ADC des ESP.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

wusa

Sorry meinte natürlich ADC mein Handy hatte das automatisch ausgebessert.

Wenn ich eine 18650 Zelle als Versorgung dran habe, dann brauche ich vermutlich den internen ADC nicht, da ich ja die Spannung des Akkus messen will.
Hängt da ein LDO zwischen Akku und ESP habe ich ja immer die selbe Spannung welche ich ja nicht brauche.

Also muss ich einen Spannungsteiler mit 2 Widerständen mit dem A0 verbinden, damit ich die Akku Spannung habe?
Denke ich hier richtig?

Gisbert

#10
Hallo wusa,

du kannst auch ganz ohne zusätzliche Hardware an die Spannung herankommen, mit dem letztlich der ESP8266 versorgt wird. Das geht softwareseitig mit ESPEasy (glaube ich), aber ganz sicher mit Tasmota, da ich das so nutze. Bei Tasmota muss man ggf. die Binärdatei selbst kompilieren, damit diese Funktion "freigeschaltet" ist. Falls du damit Schwierigkeiten haben solltest, kann ich dir die bin-Datei zusenden.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

wusa

Ich frage mich gerade wie ich nach dem LDO an die Batteriespannung komme?

Ich habe mal 2 Zeichnungen gemacht. Vielleicht liege ich ja auch komplett falsch.

Gisbert

#12
Hallo wusa,

vielleicht habe ich auch nicht alles gelesen oder verstanden. Tasmota gibt auf jeden Fall die Spannung - ohne zusätzliche Hardware - preis, mit der ESP8266 gerade läuft. Wenn die Spanungsversorgung ein Li-Akku ist, dann bekommt der ESP/Tasmota auf jeden Fall die Änderung vom voll geladenen zum leeren Akku mit.
Ansonsten gilt natürlich, wer misst, misst Mist. Wie hoch die Abweichungen gegenüber einer Messung mit professionellem Tool ist, weiß ich nicht, aber viel wird es nicht sein.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Papa Romeo

na...sieht doch ganz gut aus.

Bei der oberen Schaltung jetzt noch einen 180 kOhm Widerstand vom + Pol der 18650 Zelle zum A0 vom Wemos und du kannst da auch die Spannung mesen.


LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Papa Romeo

Zitat von: Gisbert am 05 September 2020, 09:58:50
Wenn die Spanungsversorgung ein Li-Akku ist, dann bekommt der ESP/Tasmota auf jeden Fall die Änderung vom voll geladenen zum leeren Akku mit.

...aber nicht, wenn er einen LDO drin hat, da der ESP die Spannung an seinem eigenen Versorgungspin misst und da dann ständig die 3.3 Volt anliegen hat.


LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

Gisbert

Zitat von: Papa Romeo am 05 September 2020, 10:03:54
...aber nicht, wenn er einen LDO drin hat, da der ESP die Spannung an seinem eigenen Versorgungspin misst und da dann ständig die 3.3 Volt anliegen hat.


LG

Papa Romeo

Ok, verstehe, dann sieht der ESP quasi nichts mehr vom Akku.

Viele​ Grüße​ Gisbert​

PS: Kannst du wegen der 230V-Erkennung bei PIR mal reinschauen?
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Papa Romeo

Zitat von: Gisbert am 05 September 2020, 10:06:51
Ok, verstehe, dann sieht der ESP quasi nichts mehr vom Akku.

... so ist es.

Zitat von: Gisbert am 05 September 2020, 10:06:51
PS: Kannst du wegen der 230V-Erkennung bei PIR mal reinschauen?

Gerade gemacht !
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

wusa

Zitat von: Papa Romeo am 05 September 2020, 09:59:39
na...sieht doch ganz gut aus.

Bei der oberen Schaltung jetzt noch einen 180 kOhm Widerstand vom + Pol der 18650 Zelle zum A0 vom Wemos
Reicht da ein Widerstand?
Habe bisher immer von Spannungsteilern gelesen, daher auch die 2. Zeichnung?

Papa Romeo

... in Post#8 hab ich´s erklärt.

Beim reinen ESP8266 (ESP01,07,12 usw.) benötigst einen kompletten externen Spannungsteiler.

Beim WEMOS ist dieser schon auf dem Board und du must ihn nur durch einen Reihenwiderstand an A0 erweitern.

Im oberen Bild hast du einen WEMOS gezeichnet.

Im unteren einen ESP.


LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

wusa

Im unteren ist es auch ein Wemos. Ich wollte mir das Schreiben ersparen.
Dachte da es der selbe aufbau sein soll ist es verständlich.

Aber gut heißt dann das untere Bild wenn ein wemos ist, ist dir Zeichnung falsch?

Das obere ist im Aufbau her richtig es gehört nur ein 180k Widerstand zum A0?

Papa Romeo

Zitat von: wusa am 05 September 2020, 11:50:49
Im unteren ist es auch ein Wemos. Ich wollte mir das Schreiben ersparen.

Must du dir merken, eine WEMOS ist nicht gleich einem ESP. Auf einem WEMOS ist ein ESP verbaut.

Zitat von: wusa am 05 September 2020, 11:50:49
Aber gut heißt dann das untere Bild wenn ein wemos ist, ist dir Zeichnung falsch?

Nein, ist nicht grundsätlich falsch. Man kann es so auch machen. Führt zum gleichen Ziel. Man benötigt halt einen Widerstand mehr
und um den Spannungsteiler zu berechnen, muss man den "Onboard" mit einbeziehen bzw. daran denken, dass die anliegende Spannung
an A0 nochmal durch 3,2 geteilt wird bevor sie an den ADC-Pin des ESP gelangt.

Zitat von: wusa am 05 September 2020, 11:50:49
Das obere ist im Aufbau her richtig es gehört nur ein 180k Widerstand zum A0?

korrekt.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

wusa

Vielen Dank!
Mit dem 180k Widerstand erreiche ich genau die 3,2V bzw. je nach Akkuspannung halt weniger.

Jetzt habe ich noch eine Frage.
Wie bist du auf die 180k gekommen?

Ich muss ja grundsätzlich die anliegende Spannung - die benötigte Spannung = die Spannung die reduziert werden muss.
Diesen Wert / durch die Stromaufnahme.
Da bekomme ich aber auf ganz andere Werte.

Danke

Papa Romeo

Der ESP veträgt am ADC maximal 1 Volt.

Wenn ich jetzt z.B. bis zu 5 Volt messen will, benötige ich einen Spannungsteiler der 5 V - 1 V = 4 Volt "zurückhält".
Der erste Teler-Widerstand vom ADC gegen Gnd auf dem WEMOS hat 100 kOhm.

Daraus ergibt sich über die Spannungsverhältnisse in einer Reihenschaltung folgende Rechnung:

    1 Volt             4 Volt                                      4 Volt  x  100 kOhm
--------------- =  -----------  --> umgestellt    X = -----------------------------------  =    400 kOhm
100 kOhm             X                                                    1 Volt

Da der zweite Teiler-Widerstand von A0 zu ADC vom WEMOS 220 kOhm hat, ergibt sich für den Erweiterungswiderstand --> Re = 400 kOhm - 220 kOhm = 180 kOhm


Man kann´s natürlich auch über den Strom machen:

Damit an 100 kOhm ein Spannungsabfall von 1 Volt entsteht, muß ein Strom von 0.01 mA fließen. Der Strom in einer Reihenschaltung ist überall gleich.
Auch hier muß ich 4 Volt "zurückhalten" und daher ergibt sich folgende Rechnung:

         U              4 Volt
R =  -----  =     ------------   =   400 kOhm        zu Re erfolgt dann die gleiche Rechnung wie oben --> Re = 400 kOhm - 220 kOhm = 180 kOhm
         I              0.01 mA


LG

Papa Romeo


...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

wusa

#23
Vielen Dank für deine Hilfe.

Ich habe das ganze jetzt mal mit meiner Spannung gemacht. Meine 18650 Akkus haben geladen zwischen 4,1V und 4,2V.

Wenn ich das ganze jetzt mit 4,2V einsetzte, sieht es wie folgt aus:

  1 Volt             3,2 Volt                                      3,2 Volt  x  100 kOhm
--------------- =  -----------  --> umgestellt    X = -----------------------------------  =    320 kOhm
100 kOhm             X                                                    1 Volt

Erweiterungswiderstand --> Re = 320 kOhm - 220 kOhm = 100 kOhm

Ist das richtig?

Ich habe jetzt allerdings mal einen 180kOhm Widerstand zwischen Akku und A0 vom Wemos gehängt und den Analog Input bei ESPEasy aktiviert und ich bekomme bei einer Batteriespannung von momentan 4,10V eine Anzeige im ESPEasy von 867.
Wie kann ich jetzt diese 867 deuten? Oder ist das ein reiner 3 Satz?
4,10V = 867 ?
3,3V = 697 ?
Wenn das so richtig ist, kann ich dann sagen, dass der Akku bei 697 die 3,3V erreicht hat?

Papa Romeo

Hallo wusa,

rechnerisch ist das richtig. Aber mit der Berechnung des neuen Widerstandes hast du nur deine maximal messbare Spannung von 5 auf 4.2 Volt heruntergesetzt.
Aber egal, geht so natürlich auch. Dein Teilerfaktor beträgt dann eben 4.2:1.

Mit dem 180 kOhm Widerstand hast du einen Teilerfaktor von 5:1.

Diesen must du natürlich bei der Rückrechnung berücksichtigen.

Also 867 mV x 5 = 4.335 Volt .... und jetzt erkennst du warum ich Trimmer einsetze. Alle Widerstände haben Toleranzen und diese spielen hier natürlich eine
erhebliche Rolle. Denn eigentlich müsste dein ESPEasy einen Wert von 820 mV anzeigen. Mit einem Trimmer können diese Differenzen dann kompensiert werden.

LG

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

elektron-bbs

Statt dem Poti könnte man natürlich auch einfach den Faktor anpassen...
Ich mach das eigentlich immer so:

Zuerst Korrekturfaktor errechnen:

Korrekturfaktor = Messwert / ADC
0,0047289504037 = 4,10     / 867


ergibt dann umgekehrt die Spannung:

Spannung = Korrekturfaktor * ADC
     4,1 = 0,0047289504037 * 867


Diese Formel dann im ESPeasy im Feld "Formula" eintragen:

%value%*0.0047289504037
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway

Papa Romeo

..ist natürlich auch eine Möglichkeit, wenn man den korrekt gemessenen Wert nicht benötigt.

Mit einem Trimmer bin ich halt flexibler, sollte mir der Messbereich z.B. doch nicht ganz reichen. (z.B. 2 Zellen oder 3 mal oder 4 mal 1,5 Volt Batterien usw.)

Man sieht aber, viele Wege führen nach Rom  ;) ::) :P

Gruß

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary