MMC Cyclic behavior during switching

Please I need some help, I’m trying to simulate a MMC with 5 cells per arm dual half bridge submodels. I get the Cyclic behavior during switching error, I have tried all solutions listed in forum and help guides no luck at all, I checked the modulation scheme is correct by checking the output voltage of each arm when it’s isolated and it works well, I did check PWM harness and it generate the expected voltage wave form , but when I connect ARMs together through a mutual winding and to the DC source I get this error.

I tired to model that in simulink using PLECs blockset but with fewer 2 cells per arm it work just fine, but would like to stick with PLECS standalone,

I know multiple questions about the same issue but any help is highly appreciated. attached PLECS file

any help is appreciated,

FF1800R17IP5_diode.xml (10.8 KB)

FF1800R17IP5_igbt.xml (14.7 KB)

DSM5.plecs (1.55 MB)

Mohammad,

Please see the attached model. There could be other underlying issues in the model, but the simulation can run after a few key changes:

The “N” and “P” electrical tags in your model were “global” basically shorting out the converter arms. I removed them as they weren’t necessary.Note the “sw_config” variable in the model initialization commands. Here you can use between two switch models 1) Seperate “IGBT” and “Diode” components from the PLECS library and 2) One “IGBT with Diode” component. Having the components integrated is a huge reduction in the number of switching combinations. The model runs much faster in the second configuration.If sw_config=1 (separate components) note that non-zero forward voltages exacerbate the error message. They are set to zero in the attached model.And some aesthetic changes:

Vectorized the MMC arms so the number of cells is configurable.Improved modulation scheme. Using the “relay” component with “+/-eps” hysterisis could be problematic and lead to cyclic switching, but wasn’t the root cause here.

DSM5_BL.zip (37.7 KB)

Brain,

That is a lot of effort to correct my model,

I do really appreciate your help and every single minute you put into that. I learned from my mistakes and from your tricks.

The motivation for this model is to estimate losses per cell, that is why I decided to use discrete IGBT and Diode because, I have downloaded the thermal description from Infineon site, my plan just to model one arm as discrete and the others integrated and for the maximum number of cells per arm I care about still simulation speed good.

I will share the model when it’s good enough and accurate so others can benefit from it also

Glad to hear that was helpful Mohammad. Your plan of action makes sense.

It’s a great idea to share your final model so others can benefit in the future. Look forward to seeing your progress.