Real time graph – Warning may appear to freeze your browser as it downloads data points from Thingspeak – assuming the system is still running – started 2016-9-1 😉 This is a small 110AH 12V lead acid battery charged by about 200W solar panels – the spikes in charging are from clouds going by + the cheap PWM charging regulator 🙂
Since initially creating this page I have realized that the D1 Mini NodeMcu I used contains a built in voltage divider so as to make the A0 pin compatible with 3.3V full scale input… Hence all the values below have a 3x margin built in and could be used with 3 times the voltage input. Here is the schematic of the D1 Mini.
Using internal 220K/100K divider with an additional 10Mohm resistor in series with the input the formula for the ESP Easy is: %value%*0.1093
And the input voltage can go up to 100Volts.
Divider = 22K and 1.3K resistor
ESPEasy formula for analog input: %value%*0.0606
12V = 12V
13.7V = 13.7V
Ideas for future improvement:
Resolution with the ESP8266 10bit 0-1V input ADC with my current resistive divider comes to about .06V – good enough for battery monitoring but could be better
One way to improve resolution would be to use a 10V Zener diode in series with the 12V input measurement voltage, this would remove any voltage below 10V which is not necessary for 12V lead acid battery monitoring.
DIODE ZENER 10V 250MW SOT23 – for 12V battery monitoring.
DIODE ZENER 43V 250MW SOT23 – for 48V battery monitoring – keep in mind the DC-DC and voltage divider need to support 60V max input