Torque control of PMSM motor- Need help

17 views (last 30 days)
Hello Community,
For E vehicle application to control the speed and torque of PMSM motor I am implementing FOC algorithm. We know that to arrive at Speed set point we have speed control loop which is outer loop, Further PI CONTROLLER of speed loop will give reference for Iq current which regulates the current using current loop. My question is 1.How to arrive at Torque set point?
2. Is speed control using FOC is enough or we should implement Torque control algorithm also?
3. should we have speed mode and Torque mode selection in case of constant speed requirement during cruise mode and high torque requirement during uphill situation respectively
4. To arrive at Torque set point what is the relation or transfer function to tune PI controller for Torque loop?
  1 Comment
Sam Chak
Sam Chak on 28 Sep 2022
Can you sketch the block diagram showing the input Torque setpoint, the components inside the speed loop, the components inside the current loop, and the output of the system?
Q1 requires seeing and understanding how the signals (in terms of mathematics) flow along the blocks from the setpoint to the output.
Q2 also requires analying the blocks and signals (in terms of "FOC?" mathematics) to see if you can get the desired speed at the end of the loop.
For Q3, If the speed mode is required to provide the constant speed for cruising, then yes. If the torque mode is required to provide the high torque for going uphill, then yes.
Q4 definitely needs you to provide the mathematics of the transfer function because you hold the info/knowledge of the research about 'E' and FOC PMSM-driven Vehicle".

Sign in to comment.

Answers (2)

Raghunath Rachabattuni
Raghunath Rachabattuni on 29 Sep 2022
The torque setpoint can be derived using the PI controller based on the speed setpoint and the speed feddback value. You may notice this implementation in the example file titled mcb_pmsm_nonlin_fwc (in R2022b). The required torque and reference speed can be used to find optimal id, iq values. The speed control is achieved with the help of the inner loop. Reference speed is maintained by appropriately increasing or decreasing the torque setpoint. FOC implementation includes changing id, iq appropriately, which can be a part of speed and torque control loops. Even in a case that requires constant speed, the required torque needs to be changed. For better undestanding, you may explore the above example.
Mayank Dhananjay
Mayank Dhananjay on 18 Oct 2022
Does mcb_pmsm_nonlin_fwc this example open in MATLAB online?
Raghunath Rachabattuni
Raghunath Rachabattuni on 28 Nov 2022
Hi Mayank, yes, the example opens in MATLAB online. You may use the link here: MATLAB (

Sign in to comment.

Dr Narayanaswamy P R Iyer
Hi: Torque set point is the rated machine torque. Torque set point is required to calculate id and iq reference values and stator dq-axis flux linkages reference values. For FOC also known as vector control both speed and torque control are implemented. Speed and torque mode selection is recommended for EV. The speed PI controller TF is given as input to the TF block k/(JS+B), where k is 3*p*lamda_m/4, p is number of poles, lamda_m is magnet constant. Also J is M.I. of rotor and load and B is rotor damping constant.


More Answers in the  Power Electronics Control




Community Treasure Hunt

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

Start Hunting!