Electronics > Power/Renewable Energy/EV's
How to Predict Battery Status?
marloh:
I am working on an IOT project and our device is run on on a Renogy RBT100LFP12S Battery. I would like to give our users a rough prediction of the battery status, a simple percentage of "battery life" remaining.
My initial plan was to sample the voltage of the battery at the terminals and to determine the battery depletion that way. So I decided to plot the discharge curve of my battery. So I hooked my battery up to a 15ohm power resistor and depleted a fully charged battery as I sampled voltage. This worked nicely and I got a nice discharge curve. Then I calculated a polynomial using python that would predict battery percentage as a function of voltage. That equation came out to be:
Bs(v) = -1.189 v5 + 100.9 v4 - 3105 v3 + 4.511*104 v2 - 3.158*105 v + 8.614*105
I though that this equation would do a decent job at predicting the battery percentage. The problem is that when I hooked my battery up to my actual device the discharge graph was much different. Firstly it was quite noisy, but that was an easy to fix with a simple rolling average. But once the graph was smoothed out it didn't match the discharge curve with the power resistor as well as I'd hoped. I'm now questioning my entire approach to this problem!
My questions for the community are:
* Is using a polynomial equation to predict battery life reasonable?
* Is there a way to predict battery life without a specialized IC?
Note:Pay no attention to the fact the resistor discharge curve and the device discharge curve shut off at different voltages. I accidentally used a different protection board during testing.
nctnico:
Unfortunately this is extremely hard to do. Some battery packs use Coulomb counting but this needs to be reset at full charge to give a relevant SOC as Coulomb counting suffers from accumulating errors due to integration. When I need to implement a battery empty status, I look at both voltage and SOC. If the voltage is not low enough for the battery to be empty, the assumption is the SOC of way off and I use a voltage based estimation of remaining battery time. IOW: you can use the voltage level for the situation where the battery is nearly full or nearly empty. Bonus points for taking temperature in account. Anywhere in between depends on Coulomb counting but if the battery hasn't been fully charged this won't get reset.
Siwastaja:
Terminal voltage is theoretical open-circuit voltage minus current * ESR. But ESR is very much temperature dependent and also not a constant but varies over SoC. Therefore, first step to better result is to test using similar current than the actual load. I guess your actual load was much smaller (higher resistance) than your test load. You can also run discharge at two significantly different currents and inter/extrapolate more discharge curves for different currents.
There are massive differences in curve flatness between li-ion chemistries and even products with the "same" chemistry. Most LFP cells are quite flat, meaning it is hard to see SoC from the voltage because the contribution of internal resistance and whatever noise is significant. On the other hand, classic LCO and modern NCA cells optimized for high energy density (as used in phones, laptops, EVs etc.) are often much less flat and it's fairly easy to see the SoC form the curve, like, it's nearly linear from 100% @ 4.15V to 15% @ 3.50V or so. But LFP is more difficult.
There is silver lining though: when discharge currents are very low, then the ESR drop becomes meaningless. So maybe the only thing you are missing is, you have to characterize the discharge curve at much lower current. Try that first.
Coulomb counting is sometimes the only key to accurate SoC numbers but it's a huge can of worms. You need reset points and those are voltage based because there is nothing else available in physical reality.
jbb:
You can buy “fuel gauge” chips for this job. I think some likely suppliers are Texas Instruments, Analog Devices, Renesas, maybe NXP and likely several others.
The good ones will combine voltage sensing and Coulomb counting.
jbb:
Maybe something like the BQ34Z100-R2?
https://www.ti.com/product/BQ34Z100-R2
Navigation
[0] Message Index
[#] Next page
Go to full version