필터 지우기
필터 지우기

SOC Estimator (Coulomb Counting) gives values above 1 because of current profile. How can I limit this to 1, but descent whenever the current is discharging?

조회 수: 6 (최근 30일)
I have a current profile that was the result of a HPPC test. Now I want to simulate the SOC of the battery in Simulink. But because of the current profile the SOC calculated using the Coulomb Counting building block in Simulink exceeds 1 (> 100%) which is impossible.
How can I fix this? I want the SOC to be limited to 1, but I want it to discharge whenever the current discharges.
Thanks in advance.
THE SOC AND CURRENT PROFILE (in A):
MY SCHEME:
  댓글 수: 2
madhan ravi
madhan ravi 2023년 12월 15일
Why not use a saturation block whos SOC upper limit is limited to 100 and lower to 0?
Artjom Vartanyan
Artjom Vartanyan 2023년 12월 15일
Thank you for your answer Madhan Ravi. I tried using the saturation block. But The problem with that is that it doesn't lower the SOC whenever the current is discharging (see picture).

댓글을 달려면 로그인하십시오.

채택된 답변

Fangjun Jiang
Fangjun Jiang 2023년 12월 15일
SOC is the integration of current. The "Coulomb Counting" block does not have an option to saturate so your options are limited.
  1. Set the initial SOC to less than 0.4.
  2. Increase the cell capacity.
  댓글 수: 4
Gokul Gopakumar
Gokul Gopakumar 2024년 1월 16일
이동: Fangjun Jiang 2024년 1월 16일
Hello all,
I had a similar question regarding the Coulomb Counting method using the SOC Estimator Block. I have a table in Matlab workspace with Current in Amperes and Time in hours. The test ran for almost 76 hours with data acquisition every 100ms. In between there is a Rest phase for 2 hrs where the current is 0 A. So overall i have a table with 1851958 rows of data. I am giving this as input in the current block. The Initial SOC is taken from a SOC OCV Lookup Table depending on the voltage. When i run the programme, the block is only executing for 10Sec. How should i adapt the block as to run the programme for the entire length of the Table ?
Fangjun Jiang
Fangjun Jiang 2024년 1월 16일
The 10 seconds is probably the default simulation stop time of the model. It has nothing to do with the block or your data.
You can change the simulation stop time to be 76x3600 seconds.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Battery Management System에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by