Why do I see huge voltage spikes at the output of a 3 phase MMC (Modular multi-level converter) in Simscape, when the number of submodules >1, but not with 1 submodule?

9 visualizzazioni (ultimi 30 giorni)
Dear Community,
I have a three phase bi-directional power converter modelled by the Simscape block Modular Multilevel Converter (MMC) set for full bridges. This is controlled by a sinusoidal PWM generator and includes a simple LC filter to filter the inverter's output and help me see a sine wave at the output. The DC Source is a battery with 1000V. The reference setpoint to the PWM generator is a three phase sine wave generator multiplied with a manual gain block (= 0.565) at the moment (this open loop is intentional while I focus on building the plant model at the moment, and will move on to closed loop controller development in next stages).
My model & parameter file is attached.
In the MMC, when the number of submodules = 1 the inverter output and the filtered output waveforms are as expected. (Image below).
However, when I set number of submodules = 2 or above the inverter output (before being filtered) has huge voltage spikes. The filter manages to smoothen these spikes somewhat but I would like to understand why do the spikes show up at Nsm = 2,3, etc and not at Nsm = 1?
A zoomed in view of the phase-to-phase voltage confirms that the inverter is doing it's job as expected, just with the addition of very high voltage spikes.
Other things I have considered/ tried:
I. Filter Design
For a considerable duration while working with Nsm = 2, I only saw the spikes with the addition of a LC filter. There were no unwanted spikes without the filter (and also no sine wave). This led me to believe that filter tuning might be the source of these voltage spikes. At the moment my filter design is choosing the cutoff frequency at the geometric mean of switching frequency (540 Hz) and output voltage frequency (50 Hz).
fc = sqrt(540*50);
LC = 1/(2*pi*Fc)^2 = 9.4e-07 ~= 1e-06
From this I have selected L = 50e-3 Henry & C = 20e-6 Farads.
This simple filter design works with the Simscape block Converter (3 Phase) but not with the Nsm > 1 for the MMC block I have selected. So I now suspect that filter is not the root cause, especially since I now know that it works with MMC as well but only for Nsm = 1.
II. PWM Generation
I have experimented with different PWM Generation techniques but have obtained similar results from PWM (1) and PWM (2)
Any ideas for the root cause of this behavior would be very helpful for me to move ahead. Thank you.

Risposta accettata

Sabin
Sabin il 13 Gen 2025
The model may be a bit challenging for the solver due to parameterization. In this case, one way to avoid these spikes is to switch off the ‘Use fixed-cost runtime consistency iterations’ in the Solver Configuration block. When you select this parameter, you can specify the number of nonlinear and mode iterations for transient initialization and solver computations. If the system does not converge once it performs the specified number of iterations, the solver ignores the failure and proceeds to the next step.
If you clear the check box, the system uses a more robust and time-consuming algorithm, performing as many iterations as necessary to reach convergence, and errors out if it fails to reach convergence at the time of transient initialization.
Alternatively, you can double check the parameterization of IGBT/parallel diode and possibly switch off the RC snubber.
  1 Commento
Ankita
Ankita il 14 Gen 2025
@Sabin Thank you very much, this did succesfully resolve my main issue and the voltage spikes disappear when I unchecked the ‘Use fixed-cost runtime consistency iterations’ in the Solver Configuration block.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by