Simulink control a battery through breaker

3 views (last 30 days)
I an using Simulink/SimPowerSystems and want to discharge a battery and control it open or close through breaker1 to breaker3. I try to avoid the leakage current, so I build a big resistor around the battery. My model looks like this:
and the code:
function [CR1,CB1,CB2,CB3] = fcn(SOC1)
CR1 = 1;
CB2 = 0;
CB3 = 0;
if (SOC1>=80)
CB1 = 1;
CB2 = 0;
CB3 = 1;
elseif (SOC1<40)
CB1 = 1;
CB2 = 1;
CB3 = 0;
end
The scope which shows the voltage , SOC and current of battery looks like this:
As you can see, when SOC =40, I open the breaker(not connected) and I found that the SOC of battery drop rapidly even the battery doesn't connect with other component. I don't know what's going on here...
  1 Comment
Ahmad Hijazi
Ahmad Hijazi on 14 Feb 2018
You can try using an ideal switch instead of a breaker and loose the resistor

Sign in to comment.

Answers (3)

Aryan Ritwajeet Jha
Aryan Ritwajeet Jha on 14 Apr 2019
As per the documentation of Breaker, it is not advised to use it in DC applications (such as battery charging/discharging). In this case use a combination of Ideal Switch and Staircase Generator (an example they have given in the doc of Breaker, power_breaker shows you how to use the same). I had the same problem which is solved by doing the above manoeuvre.

SONG Lyu
SONG Lyu on 15 Oct 2018
I have the same problem with your model, I also don't know why there is a sawtooth signal at the bottom, in my opinion, I think the switches are continuing change when the SOC is dropping to the trigger value.

SONG Lyu
SONG Lyu on 15 Oct 2018
Fixed, try using the different solver. previously, I use the ode 45, then I change the solver to ode 1, which can solve the above problem.

Communities

More Answers in the  Power Electronics Control

Community Treasure Hunt

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

Start Hunting!