I'm doing IOT project and need measure battery voltage. Using lipo battery 4.2v Max. run voltage divider 100k-->measure here-->27k-->Ground. ~097v at measure point. then i use internal 1.1v reference ADC.
1st) i powered up by usb cable, ground to ground. The voltage in monitor is nearly my currently battery volage ~~3.6V.
2nd) i powerd up by battery, connect esp32's pin 3.3V to +battery, GND to GND., then it's 3.4V.
Why is it different 0.2V error? Could anyone help me. in 2 cases voltage between *measure here and ground is 0.75v
The battery idle voltage seems to be 3.6V, while with a load it drops to 3.4V. If you have a DMM at hand, measure the battery voltage also with the DMM in both cases.
DrDiettrich:
The battery idle voltage seems to be 3.6V, while with a load it drops to 3.4V. If you have a DMM at hand, measure the battery voltage also with the DMM in both cases.
~3600 is the voltage i measure when i powered by usb cable. ~3400 is when i use same battery to powered esp32 by 3.3V pin
So you see that the Arduino ADC gives exactly the voltage that you also can measure with the DMM.
DrDiettrich:
So you see that the Arduino ADC gives exactly the voltage that you also can measure with the DMM.
Yes battery is ~3.60v now ( i measured with the DMM). ESP32 adc give exactly value when i powerd by USB cable (3612.44 mV).
But when i powerd esp32 by battery. it is 341x mV. my question is why it is so different. My project actually run on battery too
Almost all kinds of batteries have a higher idle voltage than under load, that's normal. Really characteristic is the voltage under load.