Borrar filtros
Borrar filtros

how to calculate the capacity loss of a battery?

22 visualizaciones (últimos 30 días)
sandeep
sandeep el 17 de Sept. de 2022
Comentada: William Rose el 18 de Sept. de 2022
I have a dataset of cyclic ageing of li-ion battery. In that i have the discharge capacity(Q discharge/mA.h) for every cycle.
Now i want to fit an equation in curve fitter using this data. please look at the data file attached for better idea.
my equation is Q_loss=B*exp⁡(-E_a/RT)*(A_h )^Z. Qloss is the percentage of capacity loss.Now my questions are
In this i have calculated Qloss in percentage as (nominal capacity-discharge capacity)/nominal capacity*100, is it right?
In this equation Ah is ampherehourthroughput which means the amount of charge delivered by the battery during cycling.
for the ah-throughput i am taking the accumulating ah-throughput values, is it correct?
any thoughts and help is much appreciated.

Respuesta aceptada

William Rose
William Rose el 18 de Sept. de 2022
Editada: William Rose el 18 de Sept. de 2022
@sandeep, [edit: correct speklling mistake] Your model formulation looks good. You write
Qloss(%)=(nominal capacity-discharge capacity)/nominal capacity*100
The equaiton is reasonable, and your spreadsheet does that calculation.
Your model is
Q_loss=B*exp(-E_a/RT)*(A_h )^Z
where A_h is the cumulative discharge across all cycles thus far. I assume B and (E_a/RT) are constants, where Ea=energy per mole, related to the battery, and RT is temperature times ideal gas constant. I assume B and Z are parameters to be fitted.
If we do not know Ea/RT, we can combine B*exp(-Ea/RT) into a combined constant, C:
Q_loss=C*(A_h )^Z
You don't need Matlab, you can do it in Excel. A bit of experimenting in Excel shows a good looking fit with C=1e-2, Z=0.52 (see Excel plot below). No doubt you can improve on that using fmincon() in Matlab (read the help for it and look at the good examples) or using the Goal Seek feature of Excel.
  1 comentario
William Rose
William Rose el 18 de Sept. de 2022
@sandeep, I forgot to add that I had to add an initial Loss parameter to the model, because the model you proposed will always start at 0 loss, or very close to it, but the data shows a 5% loss to start. Thus the model I fitted has 3 adjustable parameters:
Loss(%) = C*(A_h )^Z + L0
where L0=inital loss. I set L0=5 for the fit shown above. And C=0.01, Z=0.52, as noted earlier. These values are just eyeball-fitted to give a good initial guess.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Genetic Algorithm en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by