simulink dc dc buck converter output not coming as desired
6 views (last 30 days)
Show older comments
Description:
I am simulating a Buck Converter in Simulink with a digital control loop. I am using the PWM Generator (DC-DC) block to generate the switching signal for an Ideal Switch.
However, I am facing an issue where:
- The input to the PWM Generator is set to 0.5 (50% duty cycle) using a Constant block for testing
- The PWM Generator output remains stuck at 1, instead of generating a proper square wave
My Setup Details:
- Switching Frequency: 50 kHz
- Sample Time: 20 µs (tried matching to PWM period)
- Zero-Order Hold before PWM with sample time = 20 µs
- Simulation uses Fixed-step solver, step size = 1e-6
- PowerGUI is configured properly
What I See:
- Output is stuck constantly at 1
- No switching behavior, load voltage is same as input voltage
Request:
- What could be causing the PWM Generator to produce constant high output?
- Are there any hidden dependencies on sample time or solver configuration?
- Any specific block settings I should adjust?
0 Comments
Answers (1)
Sabin
on 4 Aug 2025
The issue concerns the fundamental sampling period. The timer period is set to 50 kHz (20 microseconds), and the sampling time matches this period at 20 microseconds. However, within these 20 microseconds, the pulse will transition between 0 and 1. Since the sampling time is not sufficiently short, these transitions will not be captured. I recommend using a sampling period at least 10 times faster (i.e., 2 microseconds) when simulating in discrete time.
0 Comments
See Also
Categories
Find more on Power Converters 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!