Electronic – Calculating battery current during charging in CCCV

battery-charging

I am researching how (lithium-ion) batteries are charged using CCCV. Specifically, I am interested in the "constant-voltage" part of the process:

CCCV Current and voltage

My question is – how do I calculate current \$i\$ during constant-voltage? I have found idealized simple R-only or RC circuits as possible battery models. I have found multiple definitions for open circuit voltage (\$V_{ocv}\$) as a function of capacity (\$Q\$). Assuming a simple R-only equivalent circuit such as the following:

R-only circuit

I have found variations of the following formula including terminal battery voltage (\$ V_t \$) and internal impedance (\$ R_i \$) of a single battery cell 3:

\$ V_t = V_{ocv} – R_i * i \$

where

\$ V_{ocv}(Q) = V_0 – \frac{K*Q_{nom}}{Q_{nom}-Q} + A * e^{-B * Q} \$

Thus, should following not hold?

\$ i = \frac{V_{ocv} – V_t}{R_i} \$

To my understanding, \$V_t\$ is constant (say \$4V\$ or \$4.2V\$) during constant-voltage. \$V_{ocv}(Q)\$ is assumed to be known, see plot and sample reference below. In the literature, \$i\$ is always shown with an exponential decrease during constant-voltage but not how it is actually calculated. I am unsure as to whether \$R_i\$ is constant.

My background is in Computer Science so please feel free to recommend literature for additional reading – I feel like I'm probably missing something obvious here.

Open circuit voltage as function of capacity

3 Marra, F., Yang, G. Y., Træholt, C., Larsen, E., Rasmussen, C. N., & You, S. (2012). Demand Profile Study of
Battery Electric Vehicle under Different Charging Options. In Proceedings of the 2012 IEEE Power & Energy Society General Meeting IEEE.

EDIT: Added \$V_{ocv}\$ equation and CCCV plot.

EDIT 2: Added R-only circuit diagram.

EDIT 3: For posterity, here are two helpful lectures on how CCCV may be simulated by describing a circuit as a system of differential equations and converting them to a discrete time model that can be simulated easily:

First, converting differential equations to discrete time

Next, how to simulate the constant-voltage portion

Best Answer

There are several effects that can be modeled with increasing complexity, among them:

  • Open Circuit Voltage (ideal voltage source, current unrelated to voltage)
  • Stage of charge (tracks capacity/efficiency and has memory)
  • Linear polarization (adds series resistance)
  • Diffusion voltages (discharge creates polarization, and departure from Open Cell Voltage)
  • Warburg impedance (models electrolyte)

What you want to model at minimum would be a state of charge model.

Edit:

If your confused about how to calculate the current and voltage for a simple model this is how it works. Lets look at a simple battery model

v(t) = OCV(z(t)) − i (t)*R0.

enter image description here

To calculate the voltage the first thing you will need is the OCV vs state of charge curve, which you have shown above. OCV(z(t)) can run from 0 to 100% or in your case 0 to 40Ah. (If you wanted to you could multiply the graph by 100/40Ah to get the SOC in percent)

You then need to keep track of where you are on the SOC curve, so in time the update state would be

\$z[k + 1] = z[k] − i[k]\frac{\Delta t}{Q} \$

to find the new SOC (z[k] is the SOC and it could be in Ah or percent depending on how you keep track of it, k is the current time step, k+1 is the new time step). i[k] is calculated from your circuit model, the battery needs to be connected to some kind of circuit. The circuit model needs to be a descrete time circuit model. If you don't know how to convert a circuit to a discrete time circuit model, this is the subject of a few EE courses and would take a few pages which is beyond the scope of this site. You need to know:

1) How to convert a circuit model to a system of equations

2) How to convert memory elements to discrete time.