# Induction Machine Current Controller

Discrete-time induction machine current PI controller

**Libraries:**

Simscape /
Electrical /
Control /
Induction Machine Control

## Description

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.

### Equations

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}

### Voltage Saturation

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

*v*are the

_{q}*d*-axis and

*q*-axis voltages, respectively.

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

*v*are introduced, where:

_{2}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}}}.$

### Integral Anti-Windup

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}*,

*K*, and

_{aw_iq}*K*are the anti-windup gains for the

_{aw_if}*d*-axis,

*q*-axis, and field controllers, respectively.

### Assumptions and Limitations

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

## Examples

## Ports

### Input

### Output

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2017b**