PMSM DTC - Direct Torque Control for Inner Permanent Magnet Synchronous Motor

Hello all,

I would like to create a model and find inverter losses for the Inner Permanent Magnet Synchronous Motor with Direct Torque Control. I created a model and added it as an attachment. I used the WLTP cycle as a speed reference. I put the parameters from the IPMSM of the Toyota Prius.

First I tried to use the demo model, which is “induction_machine_drive_controlled_with_dtc”, but it didn’t work for PMSM. RPM went to the negative area. You can find it as “Direct Torque Control” block in my model, which I shared as an attachment.

Second I found a schematic from the MATLAB website and tried to model it. You can find it as “Direct Torque Control_1” block in my model, which I shared as an attachment. At that point, RPM went to the positive area but didn’t follow the speed reference.

Matlab schematic link is: Direct Torque Control (DTC) - MATLAB & Simulink - MathWorks Benelux

If you give “0” to a constant value it will work with “Direct Torque Control_1” block.

If you give “1” to a constant value it will work with “Direct Torque Control” block.

Could you please help me to fix the model to follow the given speed reference?

PMSM Controller DTC.plecs (1.09 MB)