Electronic – Finding Charge of a battery without knowledge of prior charge

batteriescharger

We have a battery connected to some circuitry. Currently, we have all charging of the battery going through a LTC 2944 sensor, and all discharging going through another one of those sensors. We are trying to write software to read values from those sensors and get an idea as to the SOC of the battery. However, every method I am finding online (I.E. by voltage, Coulomb counting, etc) require you to know the previous state of charge of the battery. Does there exist a method of finding what state the battery is currently in, without any prior knowledge of the battery's charge level?

I have found numerous other responses to this, but once again they all require some other knowledge of the battery's current state. Any explanation (or out right refusal) of this process would be much appreciated.

(Edit):

The battery is a Lithium Iron Phosphate battery. From data sheets from the manufacturer, it seems both the discharge rate and voltage stay constant until the battery is fully depleted.

Best Answer

I think this is a very tricky matter. A lot of effects within batteries contributing to their behavior dependent on charge and age are not very linear and come from complex chemistry inside. Think of memory effects in NiCd and also NiMH cells depending on the charge current of recent charging. Such effects might be difficult to separate from the effects of ageing and discharge.

Analytical examination to get a model might grow rather complex. I think that this task may be solved with the help of a neural network or similar algorithms like HMM. You have to take care that the input delivers as much information as possible. E.g. by tests run like proposed by TimWescott's answer. Define a test set to be run on a battery, collect as much mesurement sets as possible on known battery states and feed it into a learning algorithm.

I think the stimulation method is a good method which can be used even when the battery is powering a circuit, as it can be restricted to kind of a SOA wherin the power supply of your circuit is not put on risk.

Stimulation results might be

  • voltage during stress
  • voltage recovery time after stress
  • decrease rate of voltage after repeated stress (due to internal heating)
  • change of the U/I-curve.

If machine learning will be able to distill a useful result from that data is rather speculative and depends on the way different causes may generate similar effects. But I'd give it a try.