Goal: A weighted fusion of coulomb counting SOC and OCV SOC. A high accuracy and low-cost implementation.
Why? Coulomb counting on its own can accumulate errors due to repeated integration. We also cannot predict the current SOC using only coulomb counting, which is why we must incorporate Voltage mapping.
System inputs:
- Sampling time = dt
- Pack current = I[n]
- Previous Pack current = I[n-1]
- Pack voltage (under load) = V[n]
- Previous Pack voltage (under load) = V[n-1]
- SOC = SOC[n]
- Previous SOC = SOC[n-1]
Coulomb Counting:
...
The general math behind this is:
Use a lookup table to find 2 voltage values such that VOLTAGE_LOW <= Pack_Voltage <= VOLTAGE_HIGH.
VOLTAGE_LOW and VOLTAGE_HIGH will map to a SOC %. We can interpolate between the two values to find a better approximation of the current SOC %.
EVERYTHING BELOW THIS DID NOT HAPPEN YET:
OCV SOC FUTURE EXPLORATION:
...
https://www.youtube.com/watch?v=nkq4WkX7CFU
The transfer function for the RC circuit (eq 1) can be converted into the time domain using reverse Laplace transform (eq 2). Notice that we are multiplying the s-domain function by Ipack. This is the convolution of the RC transfer-function and pack current.
...
Discretized for embedded systems, the equation can be written as:
...
This is what will be implemented in our firmware, ; it is more accurate than the first-order Taylor series approx.
...
https://www.ansys.com/blog/building-better-batteriesTO BE CONTINUED….
Resources:
https://www.analog.com/en/resources/technical-articles/a-closer-look-at-state-of-charge-and-state-health-estimation-tech.html
https://www.linkedin.com/pulse/li-ion-battery-rc-modeling-what-how-done-part-1-testing-techlanz-lscyc/