Main Content

Discrete-time induction machine current PI controller

**Library:**Simscape / Electrical / Control / Induction Machine Control

The Induction Machine Current Controller implements discrete-time
proportional-integral (PI) based induction machine current control in the rotor
*d*-*q* reference frame. You typically use the
Induction Machine Current Controller in a series of blocks that make
up a control structure. For example, to convert the *dq0* reference
frame output voltage to voltage in an *abc* reference frame, connect
the Induction Machine Current Controller to an Inverse Clarke
Transform in the control structure.

The block uses the backward Euler discretization method.

Two PI current controllers that are implemented in the rotor reference frame produce the reference voltage vector:

${v}_{d}^{ref}=\left({K}_{p\_id}+{K}_{i\_id}\frac{{T}_{s}z}{z-1}\right)\left({i}_{d}^{ref}-{i}_{d}\right)+{v}_{d\_FF},$

and

${v}_{q}^{ref}=\left({K}_{p\_iq}+{K}_{i\_iq}\frac{{T}_{s}z}{z-1}\right)\left({i}_{q}^{ref}-{i}_{q}\right)+{v}_{q\_FF},$

where

$${v}_{d}^{ref}$$, and $${v}_{q}^{ref}$$ are the

*d*-axis and*q*-axis reference voltages, respectively.$${i}_{d}^{ref}$$, and $${i}_{q}^{ref}$$ are the

*d*-axis and*q*-axis reference currents, respectively.$${i}_{d}$$ and $${i}_{q}$$ are the

*d*-axis and*q*-axis currents, respectively.*K*, and_{p_id}*K*are the proportional gains for the_{p_iq}*d*-axis and*q*-axis controllers, respectively.*K*and_{i_id}*K*are the integral gains for the_{i_iq}*d*-axis and*q*-axis controllers, respectively.*v*, and_{d_FF}*v*are the feedforward voltages for the_{q_FF}*d*-axis and*q*-axis, respectively. The feedforward voltages are obtained from the machine mathematical equations and provided as inputs.*T*, is the sample time of the discrete controller._{s}

Saturation is imposed when the stator voltage vector exceeds the voltage phase
limit *V _{ph_max}*:

$\sqrt{{v}_{d}^{2}+{v}_{q}^{2}}\le {V}_{ph\_max},$

where *v _{d}*, and

In the case of axis prioritization, the voltages
*v _{1}* and

For

*d*-axis prioritization*— v*and_{1}= v_{d}*v*._{2}= v_{q}For

*q*-axis prioritization*—**v*and_{1}= v_{q}*v*._{2}= v_{d}

The constrained (saturated) voltages $${v}_{1}^{sat}$$ and $${v}_{2}^{sat}$$ are obtained as:

${v}_{1}^{sat}=\text{min}\left(\mathrm{max}\left({v}_{1}^{unsat},-{V}_{ph\_max}\right),{V}_{ph\_max}\right)$

and

${v}_{2}^{sat}=\text{min}\left(\mathrm{max}\left({v}_{2}^{unsat},-{V}_{2\_max}\right),{V}_{2\_max}\right),$

where:

$${v}_{1}^{unsat}$$ and $${v}_{2}^{unsat}$$ are the unconstrained (unsaturated) voltages.

*v*is the maximum value of_{2_max}*v*that does not exceed the voltage phase limit. The equation that define_{2}*v*is ${v}_{2\_max}=\sqrt{{\left({V}_{ph\_max}\right)}^{2}-{\left({v}_{1}^{sat}\right)}^{2}}.$_{2_max}

In the case of *d*-*q* equivalence, the direct
and quadrature axes have the same priority, and the constrained voltages are:

${v}_{d}^{sat}=\text{min}\left(\mathrm{max}\left({v}_{d}^{unsat},-{V}_{d\_max}\right),{V}_{d\_max}\right)$

and

${v}_{q}^{sat}=\text{min}\left(\mathrm{max}\left({v}_{q}^{unsat},-{V}_{q\_max}\right),{V}_{q\_max}\right),$

where:

${V}_{d\_max}=\frac{{V}_{ph\_max}\left|{v}_{d}^{unsat}\right|}{\sqrt{{({v}_{d}^{unsat})}^{2}+{({v}_{q}^{unsat})}^{2}}}$

and

${V}_{q\_max}=\frac{{V}_{ph\_max}\left|{v}_{q}^{unsat}\right|}{\sqrt{{({v}_{d}^{unsat})}^{2}+{({v}_{q}^{unsat})}^{2}}}.$

An anti-windup mechanism is employed to avoid the saturation of the integrator output. In such a situation, the integrator gains become:

${K}_{i\_id}+{K}_{aw\_id}\left({v}_{d}^{sat}-{v}_{d}^{unsat}\right)$

and

${K}_{i\_iq}+{K}_{aw\_iq}\left({v}_{q}^{sat}-{v}_{q}^{unsat}\right),$

where *K _{aw_id}*,

The plant model for the direct and quadrature axes can be approximated with a first-order system.