[Solved] Lithium Battery Cell - 1RC ECM model mistake? Why is SOC lower than 0.5 despite the inital charge being more than half (15/27) of the Battery capacity?

9 vues (au cours des 30 derniers jours)
[EDIT: Solved]
So I was looking at the model "Lithium Battery Cell - One RC-Branch Equivalent Circuit" see https://de.mathworks.com/help/simscape/ug/lithium-battery-cell-one-rc-branch-equivalent-circuit.html
and used a matlab block for determining the SOC via coulomb counting.
There I noticed a difference between the SOCs.
Looking back into the initlization flie it uses the following lines
% Battery capacity
Capacity_LUT = [
28.0081 27.6250 27.6392]; %Ampere*hours
% Charge deficit
Qe_init = 15.6845; %Ampere*hours
but when running the modell it starts roughly at 0.45 SOC.
The SOC calculating block is a Simscape function block called "Em_table" using lines like:
outputs
SOC = {1,'1'} %SOC:right
C = {31,'A*hr'} %C_age:right
variables(Access=private)
Qe = {value=Qinit, priority=priority.high}; % Charge deficit
equations
% Charge deficit calculation, preventing SOC>1
if Qe<0 && i>0
Qe.der == 0;
else
Qe.der == -i;
end
% Perform the capacity table lookup
C == tablelookup(Temp_Table,C_Table,T,...
interpolation=linear,extrapolation=nearest)
SOC == 1 - Qe/C
Can someone perhaps point out what I am failing to see or could there indeed be an issue with the example model?
one suspicion I have is related to the "C = {31,'A*hr'}" , but changing that to around 27 A*hr didnt seem to change the SOC results.

Réponse acceptée

Christian
Christian le 20 Fév 2025
Déplacé(e) : Torsten le 20 Fév 2025
Nevermind I missed the
Qe.der == -i;
that makes sense then with
SOC == 1 - Qe/C
SOC == 1 - (-Qinit)/C

Plus de réponses (0)

Catégories

En savoir plus sur Propulsion and Power Systems dans Help Center et File Exchange

Produits


Version

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by