Main Content

Induction Motor HDL

Three-phase induction motor

  • Library:
  • Motor Control Blockset HDL Support / Electrical Systems / Motors

Description

The Induction Motor HDL block implements a three-phase induction motor. The block uses the three-phase input voltages to regulate the individual phase currents, allowing control of the motor torque or speed.

The block generates code for fixed-step double- and single-precision targets using the Sample Time (s) parameter. It supports code generation for FPGA deployment. The block generates HDL compatible code.

The block accepts the induction motor parameters and mode of operation using the Config input port. Optionally, you may use the Induction Motor Configuration block to generate the required configuration signal for the Config input port.

Three-Phase Sinusoidal Model Electrical System

The block implements equations that are expressed in a stationary rotor reference (qd) frame. The d-axis aligns with the a-axis. All quantities in the rotor reference frame are referred to the stator.

The block uses these equations to calculate the electrical speed (ωem) and slip speed (ωslip).

ωem=Pωmωslip= ωsynωem

To calculate the dq rotor electrical speed with respect to the rotor A-axis (dA), the block uses the difference between the stator a-axis (da) speed and slip speed:

ωdA= ωda ωem

To simplify the equations for the flux, voltage, and current transformations, the block uses a stationary reference frame:

ωda=0ωdA=ωem

CalculationEquation
Flux

ddt[λsdλsq]= [vsdvsq] Rs[isdisq] ωda[0110][λsdλsq]ddt[λrdλrq]= [vrdvrq] Rr[irdirq] ωdA[0110][λrdλrq]

[λsdλsqλrdλrq]= [Ls00LsLm00LmLm00LmLr00Lr][isdisqirdirq]

Current

[isdisqirdirq]= (1Lm2 LrLs)[Lr00LrLm00LmLm00LmLs00Ls][λsdλsqλrdλrq]

Inductance

Ls= Lls+LmLr= Llr+Lm

Electromagnetic torque

Te=PLm(isqird isdirq)

Power invariant dq transformation to ensure that the dq and three phase powers are equal

[vsdvsq]= 23 [cos(Θda)cos(Θda2π3)cos(Θda+2π3)sin(Θda)sin(Θda2π3)sin(Θda+2π3)][vavbvc]

[iaibic]= 23  [cos(Θda)sin(Θda)cos(Θda2π3)cos(Θda+2π3)sin(Θda2π3)sin(Θda+2π3)][isdisq]

The equations use these variables.

ωm

Angular velocity of the rotor (rad/s)

ωem

Electrical rotor speed (rad/s)

ωslip

Electrical rotor slip speed (rad/s)

ωsyn

Synchronous rotor speed (rad/s)

ωda

dq stator electrical speed with respect to the rotor a-axis (rad/s)

ωdA

dq stator electrical speed with respect to the rotor A-axis (rad/s)

Θda

dq stator electrical angle with respect to the rotor a-axis (rad)

ΘdA

dq stator electrical angle with respect to the rotor A-axis (rad)

Lq, Ld

q- and d-axis inductances (H)

Ls

Stator inductance (H)

Lr

Rotor inductance (H)

Lm

Magnetizing inductance (H)

Lls

Stator leakage inductance (H)

Llr

Rotor leakage inductance (H)

vsq, vsd

Stator q- and d-axis voltages (V)

isq, isd

Stator q- and d-axis currents (A)

λsq, λsd

Stator q- and d-axis flux (Wb)

irq, ird

Rotor q- and d-axis currents (A)

λrq, λrd

Rotor q- and d-axis flux (Wb)

va, vb, vc

Stator voltage phases a, b, c (V)

ia, ib, ic

Stator currents phases a, b, c (A)

Rs

Resistance of the stator windings (Ohm)

Rr

Resistance of the rotor windings (Ohm)

P

Number of pole pairs

Te

Electromagnetic torque (Nm)

Mechanical System

The motor angular velocity is given by:

ddtωm=1J(TeTfFωmTm)dθmdt=ωm

The equations use these variables.

J

Combined inertia of motor and load (kgm^2)

F

Combined viscous friction of motor and load (N·m/(rad/s))

θm

Motor mechanical angular position (rad)

Tm

Motor shaft torque (Nm)

Te

Electromagnetic torque (Nm)

Tf

Motor shaft static friction torque (Nm)

ωm

Angular mechanical velocity of the motor (rad/s)

Power Accounting

For the power accounting, the block implements these equations.

Bus Signal DescriptionVariableEquations

PwrInfo

PwrMtr

Mechanical power

Pmot

Pmot= ωmTe
PwrBus

Electrical power

Pbus

Pbus= vania+ vbnib+vcnic
PwrElecLoss

Resistive power loss

Pelec

Pelec= (Rsisd2+Rsisq2+Rrird2+Rrirq2)
PwrMechLoss

Mechanical power loss

Pmech

When Port Configuration is set to Torque:

Pmech= (ωm2F+ |ωm|Tf)

When Port Configuration is set to Speed:

Pmech= 0 

PwrMtrStored

Stored motor power

Pstr

Pstr= Pbus+ Pmot+ Pelec + Pmech

The equations use these variables.

Rs

Stator resistance (Ohm)

Rr

Rotor resistance (Ohm)

ia, ib, ic

Stator phase a, b, and c current (A)

isq, isd

Stator q- and d-axis currents (A)

van, vbn, vcn

Stator phase a, b, and c voltage (V)

ωm

Angular mechanical velocity of the rotor (rad/s)

F

Combined motor and load viscous damping (N·m/(rad/s))

Te

Electromagnetic torque (Nm)

Tf

Combined motor and load friction torque (Nm)

Ports

Input

expand all

Configuration signal for the Induction Motor HDL block containing block configuration parameters.

Data Types: single | double | fixed point

Stator terminal voltages, Va, Vb, and Vc, in V.

Data Types: single | double | fixed point

This port supports one of these inputs:

  • Load torque on the motor shaft, Tm, in N·m.

  • Angular velocity of the motor, ωm, in rad/s.

Data Types: single | double | fixed point

Output

expand all

The bus signal contains these block calculations.

Signal DescriptionVariableUnits

IaStator

Stator phase current A

ia

A

IbStator

Stator phase current B

ib

A

IcStator

Stator phase current C

ic

A

IdSync

Direct axis current

id

A

IqSync

Quadrature axis current

iq

A

VdSync

Direct axis voltage

vd

V

VqSync

Quadrature axis voltage

vq

V

MtrSpd

Angular mechanical velocity of the rotor

ωm

rad/s

MtrMechPos

Rotor mechanical angular position

θm

rad

MtrPos

Rotor electrical angular position

θe

rad

MtrTrq

Electromagnetic torque

Te

N·m

PwrInfo

PwrTrnsfrd

PwrMtr

Mechanical power

Pmot

W
PwrBus

Electrical power

Pbus

W

PwrNotTrnsfrd

PwrElecLoss

Resistive power loss

Pelec

W
PwrMechLoss

Mechanical power loss

Pmech

W

PwrStored

PwrMtrStored

Stored motor power

Pstr

W

Phase a, b, c current, ia, ib, and ic, in A.

Motor torque, Tmtr, in N·m.

Angular speed of the motor, ωmtr, in rad/s.

Electrical position of the motor, θdq, in rad.

Data Types: single | double | fixed point

Parameters

expand all

The fixed time interval (in seconds) between every two consecutive instances of block execution.

Version History

Introduced in R2022b