Main Content

Implement direct torque and flux control (DTC) induction motor drive model

The DTC Induction Motor Drive (AC4) block represents an improved scalar control drive for induction motors with direct torque and flux control. This drive features closed-loop speed control using hysteresis-band torque and flux controllers. The speed control loop outputs the reference electromagnetic torque and stator flux of the machine. The torque and flux references are compared with their estimated values, respectively, and the errors are fed to hysteresis-band controllers. The outputs of the hysteresis-band controllers are then used to obtain the required gate signals for the inverter through an optimal switching table.

The main advantage of this drive compared to other scalar-controlled drives is its improved dynamic response. This drive can reduce the impact of torque variation on the flux and conversely through an optimal switching table. Therefore, this drive is less sensitive to the inherent coupling effect (between the torque and flux) present in the machine. However, this drive requires similar signal processing as in vector-controlled drives, which makes its implementation complex compared to closed-loop Volts/Hertz controlled drives.

**Note**

In Simscape™
Electrical™ Specialized Power Systems software, the DTC Induction Motor Drive
block is commonly called the `AC4`

motor drive.

The DTC Induction Motor Drive block uses these blocks from the Electric Drives / Fundamental Drive Blocks library:

Speed Controller (AC)

Direct Torque Controller

DC Bus

Inverter (Three-Phase)

The model is discrete. Good simulation results have been obtained with a 2
*µ*s time step. In order to simulate a digital controller device, the control
system has two different sampling times:

The speed controller sampling time

The D.T.C. controller sampling time

The speed controller sampling time has to be a multiple of the D.T.C. sampling time. The latter sampling time has to be a multiple of the simulation time step.

**Output bus mode**Select how the output variables are organized. If you select

`Multiple output buses`

(default), the block has three separate output buses for motor, converter, and controller variables. If you select`Single output bus`

, all variables output on a single bus.**Mechanical input**Select between the load torque, the motor speed, and the mechanical rotational port as mechanical input. Default is

`Torque Tm`

.If you select and apply a load torque, the output is the motor speed according to the following differential equation that describes the mechanical system dynamics:

$${T}_{e}=J\frac{d}{dt}{\omega}_{r}+F{\omega}_{r}+{T}_{m}$$

This mechanical system is included in the motor model.

If you select the motor speed as mechanical input, then you get the electromagnetic torque as output, allowing you to represent externally the mechanical system dynamics. The internal mechanical system is not used with this mechanical input selection and the inertia and viscous friction parameters are not displayed.

For the mechanical rotational port, the connection port S counts for the mechanical input and output. It allows a direct connection to the Simscape environment. The mechanical system of the motor is also included in the drive and is based on the same differential equation.

**Use signal names as labels**When you select this check box, the

`Motor`

,`Conv`

, and`Ctrl`

measurement outputs use the signal names to identify the bus labels. Select this option for applications that require bus signal labels to have only alphanumeric characters.When this check box is cleared (default), the measurement output uses the signal definition to identify the bus labels. The labels contain nonalphanumeric characters that are incompatible with some Simulink

^{®}applications.

The **Asynchronous Machine** tab displays the parameters of the
Asynchronous Machine block of the Fundamental Blocks (powerlib) library.

The **Rectifier** section of the **Converters and DC
Bus** tab displays the parameters of the Rectifier block of the
Fundamental Blocks (powerlib) library. For more information on the rectifier parameters, refer
to the Universal Bridge reference page.

**Capacitance**The DC bus capacitance (F). Default is

`2000e-6`

.

**Resistance**The braking chopper resistance used to avoid bus over-voltage during motor deceleration or when the load torque tends to accelerate the motor (Ω). Default is

`8`

.**Chopper frequency**The braking chopper frequency (Hz). Default is

`4000`

.**Activation voltage**The dynamic braking is activated when the bus voltage reaches the upper limit of the hysteresis band. The following figure illustrates the braking chopper hysteresis logic. Default is

`320`

.**Shutdown voltage**The dynamic braking is shut down when the bus voltage reaches the lower limit of the hysteresis band. Default is

`310`

. The Chopper hysteresis logic is shown below:

The **Inverter** section of the **Converters and DC
Bus** tab displays the parameters of the Inverter block of the
Fundamental Blocks (powerlib) library. For more information on the inverter parameters, refer
to the Universal Bridge reference page.

**Regulation type**This parameter allows you to choose between speed and torque regulation. Default is

`Speed regulation`

.**Modulation type**Select hysteresis or space vector modulation. The default modulation type is

`Hysteresis`

.**Schematic**When you click this button, a diagram illustrating the speed and current controllers schematics appears.

**Speed ramps — Acceleration**The maximum change of speed allowed during motor acceleration (rpm/s). An excessively large positive value can cause DC bus under-voltage. This parameter is used in speed regulation mode only. Default is

`1800`

.**Speed ramps — Deceleration**The maximum change of speed allowed during motor deceleration (rpm/s). An excessively large negative value can cause DC bus overvoltage. This parameter is used in speed regulation mode only. Default is

`-1800`

.**Speed cutoff frequency**The speed measurement first-order low-pass filter cutoff frequency (Hz). This parameter is used in speed regulation mode only. Default is

`100`

.**Speed controller sampling time**The speed controller sampling time (s). The sampling time must be a multiple of the simulation time step. Default is

`100e-6`

.**PI regulator — Proportional gain**The speed controller proportional gain. This parameter is used in speed regulation mode only. Default is

`5`

.**PI regulator — Integral gain**The speed controller integral gain. This parameter is used in speed regulation mode only. Default is

`10`

.**Torque output limits — Negative**The maximum negative demanded torque applied to the motor by the current controller (N.m). Default is

`-17.8`

.**Torque output limits — Positive**The maximum positive demanded torque applied to the motor by the current controller (N.m). Default is

`17.8`

.

**Hysteresis bandwidth — Torque**The torque hysteresis bandwidth. This value is the total bandwidth distributed symmetrically around the torque set point (N.m). Default is

`0.5`

. The following figure illustrates a case where the torque set point is Te^{*}and the torque hysteresis bandwidth is set to dTe.**Hysteresis bandwidth — Flux**The stator flux hysteresis bandwidth. This value is the total bandwidth distributed symmetrically around the flux set point (Wb). Default is

`0.01`

. The following figure illustrates a case where the flux set point is ψ^{*}and the torque hysteresis bandwidth is set to dψ.**Note**This bandwidth can be exceeded because a fixed-step simulation is used. A rate transition block is needed to transfer data between different sampling rates. This block causes a delay in the gate signals, so the current may exceed the hysteresis band.

**Initial machine flux**The desired initial stator flux established before the DTC drive module begins to produce an electromagnetic torque. This flux is produced by applying a constant voltage vector at the motor terminals (Wb). Default is

`0.3`

.**DTC sampling time**The DTC controller sampling time (s). The sampling time must be a multiple of the simulation time step. Default is

`20e-6`

.**Maximum switching frequency**The maximum inverter switching frequency (Hz). Default is

`20000`

.**Show/Hide Autotuning Control**Click to show or hide the parameters of the Autotuning Control tool.

**Desired damping [zeta]**Specify the damping factor used for the calculation of the Kp and Ki gains of the speed controller. Default is

`0.707`

.**Desired response time @ 5% [Trd (sec)]**Specify the desired settling time of the speed controller. This is time required for the controller response to reach and stay within a 5 percent range of the target value. Default is

`0.01`

.**Bandwidth ratio (InnerLoop/SpeedLoop)**Specify the ratio between the bandwidth and natural frequency. Default is

`30`

.**Calculate PI regulator gains**Compute the

**Proportional gain**and**Integral gain**parameters of the Speed Controller (AC) block. The computation is based on the**Desired damping [zeta]**,**Desired response time @ 5%**, and**Bandwidth ratio (InnerLoop/SpeedLoop)**parameters. The computed values are displayed in the mask of the Drive block. Click**Apply**or**OK**to confirm them.

`SP`

The speed or torque set point. The speed set point can be a step function, but the speed change rate will follow the acceleration / deceleration ramps. If the load torque and the speed have opposite signs, the accelerating torque will be the sum of the electromagnetic and load torques.

`Tm`

or`Wm`

The mechanical input: load torque (Tm) or motor speed (Wm). For the mechanical rotational port (S), this input is deleted.

`A, B, C`

The three phase terminals of the motor drive.

`Wm`

,`Te`

or`S`

The mechanical output: motor speed (Wm), electromagnetic torque (Te) or mechanical rotational port (S).

When the **Output bus mode** parameter is set to **Multiple
output buses**, the block has the following three output buses:

`Motor`

The motor measurement vector. This vector allows you to observe the motor's variables using the Bus Selector block.

`Conv`

The three-phase converters measurement vector. This vector contains:

The DC bus voltage

The rectifier output current

The inverter input current

Note that all current and voltage values of the bridges can be visualized with the Multimeter block.

`Ctrl`

The controller measurement vector. This vector contains:

The torque reference

The speed error (difference between the speed reference ramp and actual speed)

The speed reference ramp or torque reference

When the **Output bus mode** parameter is set to **Single
output bus**, the block groups the Motor, Conv, and Ctrl outputs into a single bus
output.

The library contains a 3 hp and a 200-hp drive parameter set. The specifications of these two drives are shown in the following table.

**Drive Specifications**

3 HP Drive | 200 HP Drive | ||
---|---|---|---|

Drive Input Voltage | |||

Amplitude | 220 V | 460 V | |

Frequency | 60 Hz | 60 Hz | |

| |||

Power | 3 hp | 200 hp | |

Speed | 1705 rpm | 1785 rpm | |

Voltage | 220 V | 460 V |

The `ac4_example`

example illustrates the simulation of an AC4
motor drive with standard load condition.

[1] Bose, B. K.* Modern Power Electronics and AC
Drives*. Upper Saddle River, NJ: Prentice-Hall, 2002.

[2] Grelet, G. and G. Clerc. * Actionneurs
électriques*. Paris: Éditions Eyrolles, 1997.

[3] Krause, P. C. * Analysis of Electric
Machinery*. New York: McGraw-Hill, 1986.