- Index
- » Users
- » zmladen
- » Profile
Posts
Posts
Hello,
In the SignalPWMBlock (Modelica.Electrical.PowerConverters.DCDC.Control.SignalPWM) the zeroOrderHold block is used as well. What is the purpose of that block? The PWM works the same without is as well.
MSL version 3.2.3
Thanks,
Mladen
Hello,
I am simulating the so-called 6-step control of a 3 phase BLDC motor using OpenModelica (see image 1). The motor is connected in star and it is running in a PWM mode with the constant duty-cycle (0-1). The commutation frequency is set to 20KHz. When the duty cycle is 1 the simulations are running without any problem. See attached images. I have made similar model in TwinBuilder from Ansys using the available libraries. And the results are almost identical (see image 4).
When running the same simulation with duty-cycle smaller than 1, e.g. 0.8 the DASSL solver freezes at 58%! See image 5. However, the exported FMU model works fine in FMpy! By shortening the simulation time to 0.025s the DASSL solver runs fine even for duty-cycles smaller than 1.
When turning-off the root-finding option the simulation runs to 100%. The results are identical to those with root-finding turned-on which run only up to 0.025s.
I have made some tests and it looks like that the problem are the fly-back diodes in the inverter. If I leave them out from the simulation the solver runs fine again for every duty-cycle and for long simulations.
Why does the DASSL root-finding option blocks the solver for longer simulations? Is there a way to run long switching intensive simulations with root-finding option turned on?
Sorry for uploading images in a singl PFD file. I tried to upload JPEG images but it didnt work.
Thanks for your help.
Mladen
images.pdf
- Index
- » Users
- » zmladen
- » Profile