SVPWM Control Dead Time Setting Problem

When using the built-in PLECS example “look_up_table_based_pmsm” and setting the dead-time, Tdt = 0.02*Tpwm, the s

look_up_table_based_pmsm.plecs (149.3 KB)

imulation error “State discontinuity after switching” occurs
The current through inductor look_up_table_based_pmsm/Non-Excited SM/Electrical model/Voltage behind reactance/Ls:1 is forced to jump from 0.0014119 to 0.000941266.
What is the reason and how to resolve it? I encountered the same issue while implementing SVPWM control myself. Simulations with dead-time settings become very slow, stuck, or error-prone, but no problems occur when replacing the motor with an inductive load. Additionally, do you have any thermal simulation examples for IGBTs in SVPWM-controlled three-phase two-level inverters with dead-time settings? C-language code would be preferable

Hi ssq, the solver, as currently configured, is attempting to take steps that are too large. By tightening the relative tolerance from 1e-3 to 1e-6, the solver will take smaller steps and should avoid the error you are encountering with this model. Please see Error Messages — PLECS 5.0 Documentation for a detailed explanation.

Please have a look at the demo model “Three-Phase T-Type Inverter”. It provides multiple modulation schemes, one of which is SVPWM. It uses the PLECS library component to implement the SVPWM which unfortunately does not utilize a C-Script.