![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1128345/image.jpeg)
how to calculate the capacity loss of a battery?
22 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
sandeep
am 17 Sep. 2022
Kommentiert: William Rose
am 18 Sep. 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.
0 Kommentare
Akzeptierte Antwort
William Rose
am 18 Sep. 2022
Bearbeitet: William Rose
am 18 Sep. 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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1128345/image.jpeg)
1 Kommentar
William Rose
am 18 Sep. 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.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Genetic Algorithm finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!