top of page

Model Predictive speed control of PMSM in MATLAB

Model Predictive speed control of PMSM in MATLAB

Welcome to LMS Solution! In today's discussion, we'll delve into the world of predictive speed control of Permanent Magnet Synchronous Motors (PMSM) using a Model Predictive Controller (MPC). This advanced control system aims to enhance the speed control performance of PMSMs by predicting and optimizing the control inputs.

Control System Overview

The control system involves the assembly of a state control model for PMSM using a Velocity Acceleration (VA) controller. The primary objective is to measure the speed of the PMSM and compare it with the reference speed. The resulting error is processed by an FPA controller, generating the IQ reference. Subsequently, the rotor angle is considered, and the IQ, ID, and I0 references are converted to ABC form for further processing.

The system includes a load torque profile that starts at three and gradually reduces to one over a duration of 0.004 seconds. Key parameters such as voltage across the PMSM, current of the PMSM, speed, and torque are measured during simulation.

Traditional Control Approach

Initially, a Proportional-Integral (PI) controller is employed for speed control. The simulation results show the speed response with some oscillations.

Model Predictive Control (MPC)

To improve the control system's performance, a Model Predictive Controller (MPC) is introduced. The first step involves obtaining the transfer function model of the system using the System Identification Toolbox in MATLAB. This transfer function model is crucial for designing the MPC.

The MPC receives inputs such as actual speed, reference speed, and disturbance (which is not considered in this case). The IQ reference is then converted to DQ and used to control the inverter, thus regulating the speed of the PMSM.

Simulation Results

Comparing the responses of the traditional PI controller and the MPC, it is evident that the MPC provides a quicker response with minimal overshoot. The MPC-controlled speed reaches around 700 RPM, showcasing the advantages of using MPC for PMSM speed control.


In conclusion, predictive speed control using a Model Predictive Controller proves to be a superior method for PMSM applications. The quick response and absence of overshoot demonstrate the efficiency of MPC in optimizing the control inputs. This technology holds promise for enhancing the performance of PMSMs in various applications.

Thank you for joining us in this exploration! Don't forget to subscribe to our channel and click the notification bell for updates on upcoming videos. Stay tuned for more exciting content. Thank you and goodbye!

19 views0 comments


bottom of page