I am getting Negative speed in PMSM FOC using MTPA controller block.

2 views (last 30 days)
I am trying to implement Field oriented control under field weakening condition for PMSM motor. Manually setting value of Id to negative values, I am getting desired results of speed and Torque but when i try to use MTPA Controller block, speed always get negative to certain RPM and then saturates (see image below). I have attached images of parameters used in MTPA and Motor block, please help me in following what I am doing wrong and how to resolve it. P=0.05 and I = 4 for all PI controllers here i used.
Block Diagram:
Block Parameters:
Result:

Answers (1)

Joel Van Sickel
Joel Van Sickel on 3 Sep 2024
thanks for sharing your model. It looks like you've got a lot going on here. On first inspection, I don't think your current reference loops are properly tuned. They arne't matching the reference currents that you are asking for. The motor is spinning negative because of the external torque that you are applying. You should start by getting it to work with 0 torque applied, and just get it to track realistic Id and Iq references. Once that is working, you can worry about the MTPA block and the control loop on torque.

Community Treasure Hunt

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

Start Hunting!