Simulink control a battery through breaker

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

You can try using an ideal switch instead of a breaker and loose the resistor

Sign in to comment.

Answers (3)

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.
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.
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

Asked:

on 25 Mar 2016

Community Treasure Hunt

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

Start Hunting!