Clear Filters
Clear Filters

Simulation result of the example model: "Frequency Response Estimation of PMSM Using Field-Oriented Control"

3 views (last 30 days)
Hello Everyone,
Because the fact that, the motor has the same Ld and Lq, I would expect that the both Id-Plant and Iq-Plant should have the same bode plot, right? And we should see R-L behavior: (1 / (R+L*s)), what we actually can see for Id-Plant above. But for Iq-Plant, it is somehow a strange bode plot for me ?!
Could anyone please help regarding this? Any help is really appreciated!
Thanks in advance!

Answers (1)

Ananth kumar
Ananth kumar on 14 Jul 2023
PMSM equation
Please find the PMSM equation above.
Both Vd/Id and Vq/Iq are not same.
Ananth kumar
Ananth kumar on 27 Jul 2023
I am very sorry to hear your comments.
I recommend you go through the below experiments and comments.
1Comparing the frequency response of d-current and q-current loop. You could observe more deviations in frequency less than 100 Hz. This is due to the fact, when perturbation is applied in Iq, speed distortion is observed, and this affects the frequency estimation in lower frequency. Online frequency estimation is applicable for SISO.
Figure 1Different frequency response is observed for Id and Iq current loop. When perturbations is applied in Iq, speed distortion is observed this affects the plant frequency response.
2. To exclude the influence of speed in Iq perturbation, better couple a motor with dyno and spin in constant speed or brake the motor to zero speed. You can find the attached example, demonstrated to run for d-current control loop and q-current control loop with a braked motor (speed is 0, irrespective of Iq perturbations).
Figure 2 Brake the motor and inject constant Id and Iq. Run the frequency estimation and this shows same frequency response for Id and Iq control loop
In this case, you could observe both the frequency plots are overlap each other.
3. I repeat the exercise with Lq=2*Ld and observe the below behaviour, which is expected,
Figure 3 Same as experiment 2, but change the motor parameter as Lq=2*Ld.
  1. Recommendation:
  2. Step 1: With motor coupled to dyno (constant speed) or brake (zero), run frequency estimation for d-current control and q-current control.
  3. Step 2: use PI tuner App for tuning control gains for Id and Iq control loops. Update the controller gains in d and q loop.
  4. Step 3: Change the motor from speed mode to torque mode (disengage from brake or coupled dyno).
  5. Step 4: Include speed control loop and repeat the exercise for speed -loop frequency response.
We are happy to assist you on your queries. Please reach out us through MathWorks customer support or through sales team for quick response.
Tony on 11 Sep 2023
Hi Kumar,
yes, you are right, the issue should be the speed distortion...
Many thanks for your attached fix-model! It is working fine. But we see somehow the estimated plant (for the default case Ld = Lq) is not that close to the expected transfer function (for the magnitude at low frequency / DC)
Expected at DC / low frequency: 20 * log10 (1/((pmsm.Rs + inverter.R_board))) = 8.7dB
What we see above estimated: 5dB
We run your fix-model and edited the script : mcb_pmsm_freq_est_plot.c
So that, only the dq-plant is shown and included the expected dq-transfer functions in bode plot.
What do you think? What would you expect from FRE-results?
Many thanks!

Sign in to comment.


Find more on Motor Parameter Estimation and Plant Modeling in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!