Main Content

Induction Machine Current Controller

Discrete-time induction machine current PI controller

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

  • Induction Machine Current Controller block

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:

vdref=(Kp_id+Ki_idTszz1)(idrefid)+vd_FF,

and

vqref=(Kp_iq+Ki_iqTszz1)(iqrefiq)+vq_FF,

where

  • vdref, and vqref are the d-axis and q-axis reference voltages, respectively.

  • idref, and iqref are the d-axis and q-axis reference currents, respectively.

  • id and iq are the d-axis and q-axis currents, respectively.

  • Kp_id, and Kp_iq are the proportional gains for the d-axis and q-axis controllers, respectively.

  • Ki_id and Ki_iq are the integral gains for the d-axis and q-axis controllers, respectively.

  • vd_FF, and vq_FF are the feedforward voltages for the d-axis and q-axis, respectively. The feedforward voltages are obtained from the machine mathematical equations and provided as inputs.

  • Ts, is the sample time of the discrete controller.

Voltage Saturation

Saturation is imposed when the stator voltage vector exceeds the voltage phase limit Vph_max:

vd2+vq2Vph_max,

where vd, and vq are the d-axis and q-axis voltages, respectively.

In the case of axis prioritization, the voltages v1 and v2 are introduced, where:

  • For d-axis prioritization — v1 = vd and v2 = vq.

  • For q-axis prioritizationv1 = vq and v2 = vd.

The constrained (saturated) voltages v1sat and v2sat are obtained as:

v1sat=min(max(v1unsat,Vph_max),Vph_max)

and

v2sat=min(max(v2unsat,V2_max),V2_max),

where:

  • v1unsat and v2unsat are the unconstrained (unsaturated) voltages.

  • v2_max is the maximum value of v2 that does not exceed the voltage phase limit. The equation that define v2_max is v2_max=(Vph_max)2(v1sat)2.

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

vdsat=min(max(vdunsat,Vd_max),Vd_max)

and

vqsat=min(max(vqunsat,Vq_max),Vq_max),

where:

Vd_max=Vph_max|vdunsat|(vdunsat)2+(vqunsat)2

and

Vq_max=Vph_max|vqunsat|(vdunsat)2+(vqunsat)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:

Ki_id+Kaw_id(vdsatvdunsat)

and

Ki_iq+Kaw_iq(vqsatvqunsat),

where Kaw_id, Kaw_iq, and Kaw_if are the anti-windup gains for the 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.

Ports

Input

expand all

Desired d- and q-axis currents for control of the induction machine, in A.

Data Types: single | double

Actual d- and q-axis currents of the controlled induction machine, in A.

Data Types: single | double

Feedforward pre-control voltages, in V.

Data Types: single | double

Maximum allowable voltage in each phase, in V.

Data Types: single | double

External reset signal (rising edge) for integrators.

Data Types: Boolean

Output

expand all

Desired d- and q-axis voltages for control of the induction machine, in V.

Data Types: single | double

Parameters

expand all

Control Parameters

Proportional gain for direct-axis current control.

Integral gain for direct-axis current control.

Anti-windup gain for direct-axis current control.

Proportional gain for quadrature-axis current control.

Integral gain for quadrature-axis current control.

Anti-windup gain for quadrature-axis current control.

Time, in s, between consecutive block executions. During execution, the block produces outputs and, if appropriate, updates its internal state. For more information, see What Is Sample Time? and Specify Sample Time.

If this block is inside a triggered subsystem, inherit the sample time by setting this parameter to -1. If this block is in a continuous variable-step model, specify the sample time explicitly using a positive scalar.

Prioritize or maintain the ratio between the d- and q-axes when the block limits voltage.

Enable or disable pre-control voltage.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Introduced in R2017b