Simscape Bidirectional DC-DC Converter: Gate Control Input Type and Parameter Calculation Issues
4 views (last 30 days)
Show older comments
Hello MATLAB Community,
I am currently using Simscape's Bidirectional DC-DC Converter (Nonisolated, detailed model - switching devices) in an EV application to manage supercapacitor charging and discharging. I’ve reviewed the example models—particularly the Current Control and Voltage Control cases—so I have a general understanding of the converter’s functionalities.
However, I’m a bit confused about the input to the switching device gate control:
- In the Current Control example, a scalar input is used.
- In the Voltage Control example, a PWM signal is applied.
I’ve tried both approaches in my model, and interestingly, both seem to work. However, using a scalar input (without explicitly generating PWM) appears to result in slightly more responsive behavior—though the outcomes are not identical.
Additionally, I noticed a discrepancy at the fidelity level:
- The Equivalent model is described as PWM controlled.
- The Detailed model refers to switching devices and, in the Information tab, it states:
G — Switching device gate control
electrical | vector
This raises a few questions:
- Is it valid to use a scalar value instead of a PWM signal in the detailed model?
- Does the converter internally interpret a scalar signal as a PWM command?
- Why might there be a difference in responsiveness or behavior between the two control types?
Also, one more question—though not directly related to the gate input issue:
When I calculate the converter parameters (inductance, capacitance, etc.) using standard formulas based on my design requirements, the resulting values don’t seem to perform well in simulation. I often have to tune them manually to get a stable or realistic response.
- Why is that the case?
- Is there something specific about the Simscape model that requires adjusted values?
- For this reason, also the D in my case is not matching with buck/boost formula. Maybe I do something wrong.

Any clarification, explanation, or guidance would be greatly appreciated!
1 Comment
Moritz
on 7 May 2025
I have a very similar problem. I’m also using the Bidirectional DC-DC Converter, but I’ve set the fidelity level to 'Equivalent model - PWM-controlled'. However, I’m unable to connect a gate signal, physical signal, or a Simulink input signal to the gate port. What kind of signal do I need to use to control this block?
Answers (1)
Sabin
on 8 May 2025
With the Bidirectional DC-DC Converter, input G is always a vector. In the nonisolated variant we have two switches and therefore the need to provide gate control signals. When we use the average switch, we can input the modulation waveform as shown in the Bidirectional DC-DC Converter Current Control example, but we still need to work out the modulation waveform for both high side and low side switches (G is a vector with two elements).
I’m not sure what do you mean by scalar control being used and being more responsive, if you can provide a concrete example of that would be helpful.
The calculation for the converter parameters should be considered a synchronous dc-dc converter that can work in both buck and boost. If we look at the classical Buck or Boost converter, we can see that the configuration of LC elements is different and that may be the reason for the mismatch you’re seeing.
See Also
Categories
Find more on Switches and Breakers in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!