- #1
- 2,158
- 2,719
I was searching for a way to measure the remaining charge of a battery using Arduino. Most (almost all) of the tutorials are simply measuring the battery voltage using the ADC on the Arduino. The calculations are pretty straightforward after that — ##5 V## is mapped to ##1023## and ##0## is mapped to ##0## by the ADC. Thereafter, one can easily get the voltage at the terminals of the battery, which can be converted to a fraction of ##5 V##, and that gives the charge remaining in the battery.
I think this strategy is flawed from some aspects. First, one cannot directly use this method for batteries whose voltages are ##> 5 V## (one way to circumvent this is to use a voltage divider). Second, this method relies on the fact that the voltage of the battery will decrease as its charge decreases. But, there are batteries (LiPo, for instance) which have the capability to hold the voltage constant at its terminals even if its capacity decreases.
Is there any better method of measuring the remaining battery capacity that does not use the voltage at the terminals as a reference? (The solution does not have to use an Arduino.)
I think this strategy is flawed from some aspects. First, one cannot directly use this method for batteries whose voltages are ##> 5 V## (one way to circumvent this is to use a voltage divider). Second, this method relies on the fact that the voltage of the battery will decrease as its charge decreases. But, there are batteries (LiPo, for instance) which have the capability to hold the voltage constant at its terminals even if its capacity decreases.
Is there any better method of measuring the remaining battery capacity that does not use the voltage at the terminals as a reference? (The solution does not have to use an Arduino.)