ADC des ESP8266 bringt keine 1024 bei 1V und Akku sparen

Begonnen von Gear, 12 März 2018, 15:53:23

Vorheriges Thema - Nächstes Thema

Gear

Guten Tag Zusammen,

ich habe mich heute mal etwas mit dem ADC Eingang des ESP befasst.
Ich würde gerne die Akkuspannung ermitteln.

Nun habe ich ein 33k und ein 10k Widerstand als Spannungsteiler an den Akku gesetzt und erhalte bei 4,2V des Akkus ca. 0,9V am 10k Widerstand zu GND.

Diese 0,9V entsprechen beim ESP warum auch immer ca. 300 Digits, dabei sollte der doch laut dem, was ich gelesen habe bei 1V == 1024 Digits bringen.
Liege ich falsch?

Ich habe es mit mehreren ESPs versucht.
Mache ich etwas falsch oder habe ich da etwas falsch verstanden?
Drauf ist die aktuellste ESPEasy Version (MEGA).

Kann es evtl sein, dass ich den Spannungsteiler etwas zu hochohmig gewählt habe?
Ich wollte den Akku etwas sparen.

Ich bin aber derzeit auch am überlegen, wenn die Sensoren und alles dran sind, ob ich dann nicht diese über einen Transistor ausschalten soll, wenn der ESP im Deep Sleep ist und nur dann aktivieren, wenn er Bootet.

Ich weiß, dass man in den Rules sagen kann, er soll jetzt einen GPIO schalten, dann soll er kurz warten.
Kann ich auch irgendwie sagen, wenn bevor er wieder in den Deep Sleep geht, dass er den GPIO wieder deaktivieren soll?

Oder ist das Grundsätzlich eine schlechte Idee die Sensoren abzuschalten?

Ich bedanke mich schon mal im voraus für eure hilfreichen Antworten.
Gruß
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

Hallo Gear,

hast Du einen nackten ESP? Es klingt mir als hast Du einen komplette Baustein (NodeMCU oder ähnlich). Die haben bereits einen 3:1 Teiler on Board.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gear

Is nen NodeMCU.
Das würde einiges erklären.
Als muss ich in dem fall dann nur den 10k mit dem 33k tauschen, dann sollte das zumindest gehen.
teste ich gleich mal, vielen Dank für die schnelle Antwort!!
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

In dem Fall brauchst Du eigentlich nix, Du kannst den Anschluss ADC am Board direkt an VCC hängen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sbiermann

Ja, die NodeMCU haben einen Spannungsteiler 220k zu 100k integriert, da musst du im Normalfall keinen Widerstand mehr anschließen. Außer du willst Temperaturen so um die 160 Grad aufwärts messen, dann wirst du wohl nicht um einen Widerstand drum rum kommen.

Gear

Hallo Otto,
naja, der LiPo Akku hat leider voll geladen 4,2V das wäre etwas zu viel, ich muss den doch auf ca. 3,3V teilen.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Gear

Ich hab das mal eben durchgerechnet.
Es sollte eig. ein 87k Widerstand davor.
Mit einem 82k sollte das dann ca 1.044V am ADC sein. Ansonsten eben noch nen 4,7k oder 5,6k davor.
Das wäre doch richt8g ao oder?
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

Zur Info
https://raw.githubusercontent.com/nodemcu/nodemcu-devkit/master/Documents/NODEMCU_DEVKIT_SCH.png
Ich würde einfach, um hochohmig zu sein, dort 180 kOhm in Reihe machen.
Da bist Du bei 5 Volt Eingangsspannung für 1000.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gear

Ich hab das jetzt mit einem ca. 90k vorwiderstand gemacht und es läuft!
Vielen Dank!! =D

Und hast du / ihr eine Idee, wie ich den Stromverbrauch im Deep Sleep minimieren kann?
Lohnt sich dass, wenn ich die Sensoren über einen FET / Transistor deaktiviere, wenn der ESP schläft?

Wünsche euch einen schönen Abend und Danke.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

sbiermann

Der gesamte Stromverbrauch steht und fällt mit dem LDO der auf dem NodeMCU verbaut ist. In der Regel wird der AMS1117 verbaut und der hat einen Ruhestrom vom 6 mA bzw. max 11 mA. Das heißt selbst wenn der ESP im Deep Sleep ist, dieses Bauteil verbraucht soviel Strom das jede Akkuschaltung innerhalb von wenigen Tagen/Wochen leer ist. Also am besten mal schauen was für ein LDO verbaut ist und dann das Datenblatt suchen. Wenn da ein LDO verbaut ist der viel Strom verbraucht, dann bleibt nur die Option, LDO tauschen oder neues Board mit besseren LDO.

Gear

#10
Ich nutze einen externen Spannungsregler MCP 1700 3,3V und der sollte einen Ruhestrom von ca 1,6uA haben wenn ich das richtig im Kopf habe.

Hab nen ESP mit nem LiPo 1800mAh schon seit ca. 4 Wochen am laufen.
Der ESP geht alle 10min Online und meldet dass er noch da ist.
Hab das mit meinem Multimeter mal gemessen, das Schätzeisen sagt immer nur wenn der ESP aufwacht dass was verbraucht wird.
Spannung liegt bei ca. 4, 06V, start Spannung war ca 4.18V.

Und ja, der LDO auf dem Board is nen Stromfresser, darum auch der externe. 😋

Ach und ich weiß auch nicht, ob der Akku noch so dolle ist, also der is schon asbach uralt....
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

sbiermann

Musst du nicht den LDO der auf dem Board gelötet ist runter nehmen, da sonst trotzdem alles erst durch den LDO läuft bevor es in den ESP rein geht? Siehe auch hier: https://tinker.yeoman.com.au/2016/05/29/running-nodemcu-on-a-battery-esp8266-low-power-consumption-revisited/

Gear

Ich speise die Spannung des Externen! LDO auf die 3,3V Pin des NodeMCU.
Sollte eig. kein Problem für den verbauten LDO sein, da am Eingang keine Spannung anliegt.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <