- Calculate the required modulation voltage for the motor under exisiting load. This is done by calculating sqrt(Vd^2+Vq^2). Vdq are the dq-axis voltages calculated by current control loop.
- Compared the above modulation voltage with the instantaneous DC bus voltage. Because SVPWM is used in the model, you will have to compare sqrt(Vd^2+Vq^2) vs. (Vdc/sqrt(3))
PMSM Flux weakning model
13 views (last 30 days)
Dear Math Works Support Team,
I have been working on motor control - MATLAB, since 2017. I learned motor control techniques and algorithms from MATLAB examples and documents.
Now I' am looking in-to an example "ee_pmsm_field_weakening_control" here as you mentioned -----> ""This example shows how to control the rotor angular velocity above the nominal velocity in a permanent magnet synchronous machine (PMSM) based electrical-traction drive. A high-voltage battery feeds the PMSM through a controlled three-phase converter.""<--------
My questions are ?
1. what is the value of Torque constant used in this example?
------->> When I calculated I got Torque constant as 0.516, so our given Nominal voltage is 325V and Nominal velocity is 6000 approx..<-------
(So why we are using flux weakening for even 3000 speed it is drawing -30amps of Id Current).
Thank You and Waiting for your Reply...…
Dakai Hu on 28 Apr 2022
Thanks for your question.
One way to understand why flux weakening is needed is to check if the voltage source supplied from the inverter is sufficient to provide the modulation voltage required by the motor. To check that, you need to do 2 things:
After you finish doing the above, you can plot them together with speed on the same axis to understand why flux weakening kicked in at close to 3,000 rpm. Notice in my attached plot that sqrt(Vd^2+Vq^2) (ModulationV) is approaching the available supply voltage (AvailableV) at close to 3,000 rpm.
Hope this clarifies your question.