Electronic – How does one calculate change in motor speed due to field weakening

brushless-dc-motormotor controller

In field orientated control (FOC) of a BLDC motor, when applying an \$I_d\$ current, one can effectively change the 'speed constant' of the motor.

I want to be able to calculate specifically how much the motor speed will change if I apply a given \$I_d\$. What are the equations and constants one could use to calculate this?

Or is there a better forum to ask this question? Possibly physics?

Is it possible to derive the constant from those typically published in a motor datasheet such as the torque or motor constant and/or inductance?

My guess as to what the equation might look like:

A simple model of an unload motor has back EMF

\$V_{emf}=K_v\;\omega \$
where \$K_v\$ is the speed constant
\$\omega\$ is the rotational velocity in radians per second

For a large (negative) \$I_d\$, one could imagine total cancellation of the field created by the permanent magnets. This would describe that behavior:

\$V_{emf} = K_{id} (I_{m0} + I_d) * \omega\$

where \$K_{id}\$ is the constant I think I need
\$I_d\$ is the non-torque producing component of current in FOC
\$I_{m0}\$ is the equivalent current that would create the magnetic field resulting from the the permanent magnets.

Since we could replace \$K_{id}\,I_{m0}\;\; with \;\; K_v\$:

\$V_{emf}=(K_v + K_{id}\;I_d) * \omega\$

TIA

Best Answer

First to get a couple things straight regarding terminology.

Field Oriented Control (FOC) is not performed on BLDC Motors. BLDC motors have Trapezoidal Back EMF, and are controlled as DC motors using electrical commutation, and applying PWM to modulate currents.

Field Oriented Control (FOC) is performed on Permanent Magnet Synchronous Motors (PMSM). PMSM have sinusoidal Back EMF (aka Sinusoidal Fluxlinkage). Field Oriented control is used to linearize the dynamics of the machine so we can control it as a DC motor.

You can use the following equation, which has been solved assuming steady state DQ state space motor model \begin{equation} i_d = \frac{-n_p\omega^2LK}{R^2+(n_p\omega L)^2} \end{equation} Note that variables are two phase equivalent as this equation is derived from alpha and beta reference frame, so if you want to convert your 3 phase motor parameters to two phase I believe you need to use the following conversions. \begin{equation} L = \frac{1}{2}L_{l-l}\\ R = \frac{1}{2}R_{l-l}\\ K = \frac{1}{\sqrt{3}}K_b^{l-l}\\ n_p : Pole Pairs\\ \omega : Angular Velocity \end{equation}

Field Weakening is an optimization technique used to operate the motor either at the maximum current the inverter can provide or maximum voltage the inverter can provide. The math requires knowledge of calculus and state space equations.

See "Modeling and High-Performance Control of Electric Machines" ISBN 0-471-68449 pg 530 to 531 for derivation