Documentation

Direct Torque Controller

Implement direct torque and flux controller (DTFC or DTC) model

Library

Electric Drives/Fundamental Drive Blocks

Description

The Direct Torque and Flux controller (DTC) directly controls the torque and stator flux of a machine, using inverter voltage vectors typically selected from an optimal switching table. For an explanation, see Direct Torque Control.

The Direct Torque controller (DTC) is built with two types of modulation, hysteresis modulation and space vector modulation (SVM). The following figures present the block diagram of the controller for the two types of modulation.

The Torque & Flux calculator block estimates the motor flux αβ components and the electromagnetic torque. This calculator is based on motor equation synthesis.

The magnetization control unit contains the logic for switching between magnetization and normal operation modes.

Blocks for Modulation with Hysteresis

The Flux Sector Seeker block finds the sector of the αβ plane in which the flux vector lies. The αβ plane is divided into six different sectors spaced by 60 degrees.

The Flux & Torque Hysteresis block contain a two-level hysteresis comparator for flux control and a three-level hysteresis comparator for the torque control.

The Switching Table block contains two lookup tables that select a specific voltage vector in accordance with the output of the flux and torque hysteresis comparators. This block also produces the initial flux in the machine.

The Switching Control block limits the inverter commutation frequency to a maximum value that you specify.

Blocks for Modulation with Space Vector

The Torque PI and Flux PI blocks are proportional-integral regulators. The commanded electromagnetic torque and commanded stator flux amplitudes are compared with the estimated actual values of torque and flux. The torque and flux errors are fed to the PI controllers. The output signals are the commanded stator voltage components Vqs and Vds, respectively.

The Vector Sector block is used to find the sector of the αβ plane in which the voltage vector lies. The αβ plane is divided into six different sectors spaced by 60 degrees.

The Ramp Generator block is used to produce a unitary ramp at the PWM switching frequency. This ramp is used as a time base for the switching sequence.

The Switching Time Calculator block is used to calculate the timing of the voltage vector applied to the motor. The block input is the sector in which the voltage vector lies.

The Gates Logic block receives the timing sequence from the Switching Time Calculator block and the ramp from the Ramp Calculator block. This block compares the ramp and the gate timing signals to activate the inverter switches at the proper time.

Parameters

General

Modulation type

Select hysteresis or space vector modulation. The default is Hysteresis.

Controller Tab

Torque hysteresis-band width (N.m)

The torque hysteresis bandwidth, in newton-meters. This value is the total bandwidth distributed symmetrically around the torque set point. The figure shows a case where the torque set point is Te* and the torque hysteresis bandwidth is set to dTe. This parameter is enabled only when the Modulation type parameter is set to Hysteresis. The default value is 0.5.

Torque controller — Proportional gain

The torque controller proportional gain. This parameter is enabled only when the Modulation type parameter is set to SVM. The default value is 1.5.

Torque Controller — Integral gain

The torque controller integral gain. This parameter is enabled only when the Modulation type parameter is set to SVM. The default value is 100.

Flux hysteresis bandwidth (Wb)

The stator flux hysteresis bandwidth, in webers. This value is the total bandwidth distributed symmetrically around the flux set point. The figure shows a case where the flux set point is ψ* and the torque hysteresis bandwidth is set to dψ. This parameter is enabled only when the Modulation type parameter is set to Hysteresis. The default value is 0.01.

Flux controller - Proportional gain

The flux controller proportional gain. This parameter is enabled only when the Modulation type parameter is set to SVM. The default value is 250.

Flux controller - Integral gain

The flux controller integral gain. This parameter is enabled only when the Modulation type parameter is set to SVM. The default value is 4000.

DTC Sample time (s)

The sample time of the direct torque controller, in seconds. The default value is 20e-6.

Base Sample Time

The controller sampling time, in seconds. The sampling time must be a multiple of the simulation time step. The default value is 1e-6.

Maximum switching frequency (Hz)

The maximum inverter switching frequency, in hertz. The default value is 20000.

SVM switching frequency (Hz)

The fixed inverter switching frequency, in hertz. This parameter is enabled only when the Modulation type parameter is set to SVM. The default value is 20000.

DC bus voltage sensor cutoff frequency (Hz)

The cutoff frequency of the first-order low-pass filter applied to the DC bus voltage measurement, in hertz. This parameter is enabled only when the Modulation type parameter is set to SVM. The default value is 50.

Machine Tab

Stator phase resistance (ohms)

The stator resistance, in ohms. The default value is 0.435.

Initial flux (Wb)

The initial stator flux for the machine, in webers. The default value is 0.3.

Pairs of poles

The number of pole pairs. The default value is 2.

Inputs and Outputs

Torque*

The torque reference, typically provided by a speed controller.

Flux*

The flux reference, typically provided by a speed controller.

V_abc

The three-phase voltages of the induction machine.

I_ab

The line currents Ia and Ib of the induction machine.

MagC

This binary signal indicates if the machine is magnetized enough to be started (1) or not (0).

Gates

The pulses for the six inverter switches.

Examples

The Direct Torque Controller block is used in the AC4 block of the Electric Drives library.

References

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

Introduced in R2015b

Was this topic helpful?