Calculate the torque of PMSM motor (within FOC) , using just the quadrature current and Motor back EMF constant

8 次查看(过去 30 天)
Hello Experts,
I am trying to calculate the torque in Nm in my motor controller which uses FOC.
The motor is a 4 pole PMSM motor.
I tried using the formulas mentioned in this page:
but i only have the back emf constant of the Motor. I don't have any idea of how salient the motor is (so cannot find Ld and Lq). The motor is never going to be operated in field weakening mode (so Id is always going to be 0)
In this case, how would i calculate the Torque?
is it possible to calculate the flux likage from the Back EMF constant(Ke) of the motor.
The motor OEM has ony given the back EMF constant
Is the below approach correct? , The back emf was given in Vrms per 1000 RPM that to measured line to line.
float32_t calcTorque(float32_t iqFbk)
{
const float32_t polePairs = 2.0; // 4-pole motor
/* Flux linkage (in Wb) derived from Back EMF
* Ke = 12.3 Vrms/1000 RPM (Measured line to line ) -->Given by Motor Manufacturer
*
* We know Ke = omega * lamda_m * polePairs
* Ke is the back emf constant in VPeak line-to-neutral voltage
* omega is the angular velocity in rad/s
* lamda_m is the flux linkage in Weber
*
* First, Convert 12.3 Vrm to Vp --> 12.3 * sqrt(2) = 17.39 v
* Second, Convert Vp (line to line) to Vp (line to neutral) --> 17.39/sqrt(3) = 10.04 v
*
* Next convert 1000 RPM to rad/s
* 1000 * 2pi/60 = 104.71 rad/s
*
* So lamda_m = ke/(omega * polepairs))
* lamda_m = 10.04/(104.71*2) = 0.0479 Wb
* */
const float32_t lambda_m = 0.0479; // Flux linkage in Weber
const float32_t currentScaling = 20.0; // Maximum measurable phase current across the shunt-resistor (A) ,
//same as the Base current of the system.
// Convert the normalized quadrature current(pu) to Actual current(A)
float32_t Iq = iqFbk * currentScaling;
// Calculate torque (T = 3/2 * polePairs * lambda_m * Iq)
float32_t TorqueNmFbk = (3.0 / 2.0) * polePairs * lambda_m * Iq;
return TorqueNmFbk;
}

回答(1 个)

Sabin
Sabin 2024-12-12
Considering the back EMF constant as the peak voltage induced by the permanent magnet in the per-unit rotational speed of each of the phases. The relationship between the peak permanent magnet flux linkage and the back EMF is ke=Pp*psim, where Pp is number of pole pairs and psim is the PM flux linkage.
If the d-axis current is zero it means we don’t have any reluctance torque and therefore the torque can be computed as T=(3/2)*ke*iq.
Please note that different definitions are used for back EMF constant (assuming peak voltage or rms voltage, line or phase, etc). Depending on what definition we use we may need to multiply with an additional term but if the definition given above is used the torque can be directly computed as stated. I hope this helps.
To learn more about PMSM, check this documentation page:

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by