PMSM FOC


Hello everyone.
I have modelled a three phase inverter to run a 5Kw PMSM motor (MATLAB preparametrized). The torque load is applied through ideal torque source and step junction, and the speed of the motor is visualized. When I provide the gate signal only through SPWM generator (No control, only SPWM signal generation through carrier and sine wave comparison),
  • The speed stabilizes around 62 rad/sec after some initial oscillations, but when I try to run the same model using PMSM field oriented control block set, the speed is negative (negative rotation) and it keeps on increasing eventhough the speed reference provided is only upto 60. The waveform of both speed and torque has been attached hereby.
  • Moreover, is there anyway to tune the PI controllers (inner and outer loops) of PMSM Field oriented blockset automatically.
  • It can be seen from the torque waveform, there is soemkind of disturbance around 0.4-0.45 sec, which creates too much noise in current, torque waveforms. What could be the reason behind this.
Your help would be highly appreciated.
Thank you.
Tejas
Tejas on 25 May 2024

Did you find the answer for negative speed characteristic? I am facing same problem while using MTPA in FOC of PMSM.

Dr Narayanaswamy P R Iyer
Dr Narayanaswamy P R Iyer on 1 Apr 2024

Hi: I can only answer how to tune PI controller. In the closed loop speed feedback loop with speed reference, PI, gain block (3.P.lamda_m/4) and 1/(Js+B), select and use PID Controller from SIMULINK discrete block set in the place of PI controller. Then use Transfer function based approach or Frequency response based approach from drop down menu. Then click 'tune'. For frequency response method, enter cross over frequency and PM. Then click 'tune' once again. The value of kp and ki will be available in the PID block set. Use same method for dq-axis current control loop.

P.R. NARAYANASWAMY. DR. N P R IYER EMAIL: nswamy.iyer@gmail.com