[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 visualizzazioni (ultimi 30 giorni)
[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.

Risposta accettata

Christian
Christian il 20 Feb 2025
Spostato: Torsten il 20 Feb 2025
Nevermind I missed the
Qe.der == -i;
that makes sense then with
SOC == 1 - Qe/C
SOC == 1 - (-Qinit)/C

Più risposte (0)

Categorie

Scopri di più su Propulsion and Power Systems in Help Center e File Exchange

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by