[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?

7 次查看(过去 30 天)
[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.

采纳的回答

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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Propulsion and Power Systems 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by