Flux-Vector Control#
Flux-vector control directly controls the stator flux magnitude and the electromagnetic torque, which simplifies reference generation especially in the field-weakening region [Pellegrino et al., 2009]. We use the control law that results from feedback linearization of the flux and torque dynamics [Awan et al., 2019].
For Induction Machines#
Flux and Torque Dynamics#
Using the machine model [see (8) in Induction Machine Γ Model], the flux and torque dynamics can be expressed as
where \(\abspsis = |\psis|\) is the flux magnitude. The stator angular frequency is defined by \(\omegas = \omegam + \omegar\), where \(\omegam\) is the rotor angular speed. The slip angular frequency is
where \(\omegarb = \Rr/L_\ell = [(\LM + \Lsgm)/(\LM\Lsgm)]\RR\) is the breakdown angular slip frequency. Note that the above expressions are independent of the coordinate system. Furthermore, they hold also for saturated machines, where \(\Ls = \Ls(\abspsis)\).
Proportional Control Law#
Based on (1), the proportional control law can be derived [Tiitinen et al., 2025]
where \(e_\uppsi = \alpha_\uppsi(\abspsisref - \hatabspsis)\) and \(e_\uptau = \alpha_\uptau(\tauMref - \hattauM)\) are the bandwidth-scaled control errors of the stator flux linkage and torque, respectively, and the estimates are marked with the hat. The complex quantities \(\mathbf{t}_\uppsi\) and \(\mathbf{t}_\uptau\) are the direction vectors:
Note that \(\RE\{\hatpsiR\hatpsis^*\} > 0\) holds in the whole feasible operating region.
Closed-Loop System Analysis#
Assuming accurate estimates, linearization of the closed-loop system consisting of (1)–(4) results in
These closed-loop small-signal dynamics are valid also for saturated machines, if the flux observer takes the magnetic saturation into account. Furthermore, the dynamics hold also for sensorless drives, if the decoupling observer gains are used, see the Sensorless Drives document and [Tiitinen et al., 2025].
For Synchronous Machines#
The flux-vector control for synchronous machines is analogous to the induction machine case. Only the differences are highlighted here.
Flux and Torque Dynamics#
Using the machine model [see (7) and (10) in Synchronous Machine Model], the flux and torque dynamics can be expressed as
These expressions are valid also for saturated machines.
Proportional Control Law#
The proportional control law is [Tiitinen et al., 2025]
where \(e_\uppsi = \alpha_\uppsi(\abspsisref - \hatabspsis)\) and \(e_\uptau = \alpha_\uptau(\tauMref - \hattauM)\), and the estimates are marked with the hat. The complex direction vectors are
Note that \(\RE\{\hatiaux\hatpsis^*\} > 0\) holds in the whole feasible operating region. The closed-loop small-signal dynamics in (5) are valid also for synchronous machines (including saturated machines, if the flux observer takes the magnetic saturation into account). Furthermore, the dynamics hold also for sensorless drives, if the decoupling observer gains are used, see the Sensorless Drives document and [Tiitinen et al., 2025].
Inclusion of Integral Action#
Optionally, the above control laws (3) and (4) as well as (7) and (8) can be extended with integral action. 2DOF PI control is achieved using the following integral states and control error terms,
where \(x_\uppsi\) and \(x_\uptau\) are the integral states, \(\alpha_\uppsi\) and \(\alpha_\uptau\) are the reference-tracking bandwidths, and \(\alphai\) is the integral action bandwidth. It can be shown that the resulting linearized closed-loop reference-following dynamics remain the same as with the proportional control law. However, in this case, both the flux and torque dynamics have additional pole at \(s = -\alphai\) resulting from the integral action. The integral action pole is canceled from reference-tracking dynamics (see the 2DOF PI Controller document).
This 2DOF PI control law is a variant of [Awan et al., 2019], having channel-specific reference-tracking bandwidths. It has been implemented in the motulator.drive.control.im.FluxVectorController
and motulator.drive.control.sm.FluxVectorController
classes for induction and synchronous machines, respectively. The disturbance observer structure is used in the implementation to avoid the need for anti-windup mechanism (see the Disturbance-Observer Structure document).