Week 7 State of charge estimation
AIM:
1.Simulate the 3 test cases from harness dashboard and write a detailed report on the results
2.What is coulomb counting? Refer to the above model and explain how BMS implements coulomb counting for SOC estimation ?
At first we have to download the matlab file given in the challenge.
From there we gained access to the SOC estimation model ECU block.
After this the BMS_Closedloop_Harness_Dashboard model file is opened.

BLOCK USED IN THE MODEL:
- Test sequence Variant(it has 3 different test conditions)
- Manual variant(selection)
- BMS_StateRequest subsystem to provide the request commands.
- Indicating lamps are there to show any fault stage, High temp, Overvoltage,Charger,Voltage sensor,Overcurrent, Low temp, Under voltage, Inverter state of a battery.Green light tells us that all states are ok and battery is good to charge and discharge and the red indication will indicate the fault stage.
- Rotating switch for manual variant to change the position during simulation run time.
- BMS_closedloop :- thia subsystem contain BMS ECU and Plant as the 2 main subsytem.
BMS ECU:- The BMS ECU has two inputs which are BMS_Input which is feedback from the plant model and the state request is coming from the State machine. This is generating output as BMS Output and Info which have current power limit calculation in State Machine, Soc estimation and cell balancing logic as shown below:-

Plant:- This subsystem contains Battery pack, precharge circuit and charger/loads.
In the battery pack there are 2 configuration which are 1 module having 6 cells and 16 modules having 96 cells.
Here for simplicity I have chosen the module having 6 cells.

In the scope SOC of the module, Cell Voltages, Pack Current, Cell Temperature, BMS state and Cell balancing are seen as output.
TASK 1:.Simulate the 3 test cases from harness dashboard and write a detailed report on the results
For simulating the 3 test cases, I went to the Test Sequence Variant and select the Test cases one by one.
Test case 1:
The selected Test case can be seen in the Test Sequence block:-

Now, to check the Test conditions, Double clicking the Test Sequence block allows us to to see the same:-

The Editor figure gives us knowledge about he following test conditions :-
- driving is done for first 300 secs.
- Then after driving, the balancing of cell happens for another 1000 secs.
- after balancing, Charging and Balancing of cell occurs for the next 5000 sec dureation.
- Post Charge Balancing is occuring after 9000 sec, till end of simulation time i.e. 20000 sec.
RESULTS OF TEST SEQUENCE 1:
The simulation is ran for 20000 secs and the results are:

The lamp indications are green which means that the model is fault free.

Driving(Discharging mode):- The driving mode basically represents the discharge of all the cells and the voltages of the cell varries from 3.1V to 3.9V. The discharging phase occurs for the first 3000 secs and the temperature of the cells increase from 288k to 302k. The SOC also reduces from 80% to 45%.
Balancing mode:- After 3000 sec, for 1000 sec, cell balancing occurs and the modules are in standby mode and they are having constant voltage near about 3.7V. THe cell temperature reduces slowly as there is no current flow through the cells during this phase. SOC is constant at 45%.
Charging and Balancing mode:- After 4000 secs the charging and balancing mode occurs and the cell voltages increases from 3.7V to 4.2V in Constant Current Mode with current of nearly 30A and then the constant voltage charging starts and the current reduces from 30A to 2.6A. Charging and balancing of cells occures for about 9000 secs. Cell temperature starts to increase exponentially upto constant current region and reduces as current flow reduces in constant voltage mode. SOC also increases from 45% to 94%.
Post Charge Balancing mode:- After 9000 secs, the post cell balancing starts under standy mode. Cell temperature reduces in this mode and tries to reach the ambient temperature. SOC is constant at 94%.
TEST CASE 2:
As we have done for teat 1 the test sequence is selceted from the dialouge box:

We can see that the model is fault free


From the above figure we can see that the driving state is now running for 10000 secs
RESULTS OF TEST SEQUENCE 2:

simulation is running for 10000 secs.
Driving mode:- The cell voltage varies from 3.9V to 3.05V which is cut off voltage of the cell and the entire cell is drained at 8692 sec. Cell temperaturte varies from 288K to 322.5K. SOC reduces from 80% to 0% in the time period of 8692 secs. Cell balancing is not seen as cell got drained before reaching this mode.
TEST CASE 3:
As done in the earlier 2 test cases the test sequence is selected from the test variant dialouge box:



The figure above shows us that the charging is done for 20000 secs
RESULTS FOR TEST SEQUENCE 3:

Charging:- Cell voltages increases and after 2000 secs they get constant. Pack current initially starts from 0 to 30A and then starts decreasing when the constant voltage mode is there to 2.5A and gets fully charged upto 2000 secs. SOC was initially 80% and in 2000 secs it got to fully charged state that is 100%. Cell temperatures starts to inccrease initially and when battery got fully charged then gets decreased down to ambient temperature.
2.What is coulomb counting? Refer to the above model and explain how BMS implements coulomb counting for SOC estimation ?
Coloumb Counting Method measures the discharging current of a battery and integrates the discharging current over time in order to estimate SOC. COloumb counting meathod is done to estimate the SOC, which is estimated from the discharging current and previously estimated SOC values; (SOC-1)
`SOC(t) = SOC(t-1)+(I_(t)/Q_(n))*deltaT`
But there are several factors that affect the accuracy of Coloumb counting method including temperature, battery history, discharge current and cycle life.
Modified Coloumb Counting Method:
To improve the Coloumb counting method, a new technique called Modified Coloumb Counting Method is proposed. The Modified version uses the corrected current to improve the accuracy of estimation. The corrected current is the function of discharge current. There is a quadratic relationship between the corrected current and discharging current of battery. By practice of experimental data, corrected current is calculated by the following form:
`I_c(t) = k_2I(t)^2 + k_1I(t) + k_0`
where k2, k1 and k0 are constant values obtained from the practice experimental data.
In modified coloumb counting method, SOC is calculated by the following equation:
`SOC(t) = SOC(t-1)+(I_(t)/Q_(n))*deltaT`
SOC estimation in battery model:-
TO observe the coloumb counting method, we need to open BMS_ClosedLoop>BMS_ECU and then SOC_Estimation block

Here we see that there are 3 methods for calculation of SOC
- Coloumb counting
- Unscented Kalman Filter
- Extended Laman Filter

By opening the coloumb counting method we get to see the gain, 1-D lookup table, Product and discrete time integrator block


The discharge current from the battery given to a gain having a value of 1/3600 to convert A to Ah
That current is divided by the capacity due to temperature change and then integrated with the gain value of -1 wo=ith sample time of -1 as discrete type integrator is used here.
The saturation limits are given which are 1 to 0 so that we get the SOC value from 0 to 1 multiplied by 100 to get the percentage of SOC.
This coloumb counting method is simple and require less computation compared to the other 2 methods.
CONCLUSION:- Hence,
The 3 test cases from harness dashboard and writing a detailed report on the results is done
Also coulomb counting is described.