File Exchange

image thumbnail

Vector Control of Permanent Magnet Synchronous Motor

version (14.7 KB) by Syed Abdul Rahman Kashif
Vector control of PMSMS is accomplished.


Updated 03 Jun 2013

View License

The model demonstrate vector control of permanent magnet synchronous motor. Model uses Model of PMSM in rotor frame of reference. There is a speed control loop to regulate the speed.

Cite As

Syed Abdul Rahman Kashif (2021). Vector Control of Permanent Magnet Synchronous Motor (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (23)

fisnik haxhiu

How can be applied this scheme without inverter?
What is the purpose of PID here ?

adeel usmani

Aseem Routray

@Gabriel Pauka : He has used a current hysteresis controller for generating reference voltage instead of two PI controllers.Commendable work!

Lukas Palus

thinley jamtsho

Gabriel Pauka

Your vector control is so different... yet, it seems to work properly. All the FOC systems that I've seen has 3 PI controllers. Yours have only one P controller. That is amazing!


what is the purpose relay in this simulink block

Hazim Abulibdeh


Hung Trinh

Hello, I have an error "error using open (line 162): Invalid argument". Can you help me fix them? Thank you very much

Abderrahmane BECHICHI

slm i need Adaptive Back-stepping Control of Permanent Magnetic Synchronous Motor

shivangni sharma

mahdi emamiun

li na


thanks a lot! helpful

sreejaya r

zia kansi

I don't understand the purpose of PID controller in this block, the role of PID controller is so weird.and the other thing if you change your reference speed the out remain the same..the speed only change with load torque. and you can not control it from changing the value of PID i think this model is OK for only certain values, not for all...can you explain plzz???

Ilber Puci

Thank you very much for this model that you designed. Please, can you send me specific prameter of motor, include power, speed and current?


why your vector control is different compared to others?


this model is proving to be very useful for my thesis. each individual block is very clear, but i am not yet clear on understanding the full system structure. on all other block diagrams of vector control that i have seen the model looks different.
Idq goes into a controller that produces Vdq. from that you get Vabc which goes into the PWM and inverter to produce Iabc. Iabc then goes to the motor and also gets looped back into the system (transforming back into Idq).
your model has correct math for each individual block, but i am having difficulty correlating your model to other vector control models.
would it be possible to explain how and why yours is different?

ahsan Kashif

THis have helped me a lot in my thesis.


MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!