VHDL Simulation of direct torque controlled induction motor drive.
Pandian, G. ; Reddy, S. Rama
Introduction
DC motors have been used during the last century in industries for
variable speed control applications, because its flux and torque can be
controlled easily by means of changing the field and armature currents
respectively. Furthermore, operation in the four quadrants of the torque
speed plane including temporary standstill was achieved. Almost a
century, induction motor has been the work-horse of industry due to its.
robustness, low cost and less maintenance. The induction motors were
mainly used for essentially constant speed applications because of the
unavailability of the variable-frequency voltage supply. The advancement
of power electronics has made it possible to vary the frequency of the
voltage supplies relatively easy, thus has extended the use of induction
motor in variable speed drive applications [1]. But due to the inherent
coupling of flux and torque components in induction motor, it could not
provide the torque performance as good as the DC motor.
Field oriented control (FOC) of induction motor was introduced that
has open a new horizon to the induction motor applications. The method,
which uses frame, transformed the performance of induction motor similar
to that of the DC motor. The implementation of this system however is
complicated and furthermore FOC, in particularly indirect method which
is widely used, is well known to be highly sensitive to parameter
variations due to the feed-forward structure of its control system.
Another induction motor control technique known as direct torque control
(DTC), which was introduced about a decade ago, has a relatively simple
control structure yet performs at least as good as the FOC technique
[2].
Until quite recently, micro-controllers have been used extensively
in vector control of induction motors. However, to obtain a high
bandwidth control system and improve the performance of induction motor
drives, particularly in servo applications, the use of a fast processor
is inevitable. In a DTC drive, flux linkage and electromagnetic torque
are controlled directly and independently by the selection of optimum
inverter switching modes. The required optimal switching voltage vectors
can be selected by using a so called optimum switching voltage vector
look up table. The simulation waveforms of DTC are not presented in the
literature [1-14]. In the present work an attempt is made to simulate
DTC system.
DTC Principles
Figure 1 shows the schematic of one simple form of the DTC
induction motor drive, employing a voltage source inverter (VSI). In
this scheme the stator flux is the controlled flux, thus it will be
referred to as a stator flux based DTC induction motor drive. The
voltage source six pulse inverter fed stator flux based DTC induction
motor drive is shown [3]. Direct torque control involves the separate
control of the stator flux and the torque through the selection of
optimum inverter switching modes the optimum switching table had been
shown in Table 1. The reference value of the stator flux linkage space
vector modules is compared with the actual modulus of the stator flux
linkage space vector and the resulting error is fed into the two level
starter flux hysteresis comparator. Similarly, the reference value of
the electromagnetic torque is compared with the actual value and the
electromagnetic torque error signed is into the three level torque
hysterics comparator. The outputs of the flux and torque comparators are
used in the inverter optimal switching table which also uses the
information on the position of the stator flux linkage space vectors
[5]. The flux linkage and electromagnetic torque error are restricted
within their respective hystersis bands. The DTC scheme requires flux
linkage and electromagnetic torque estimators. However, it is not
necessary to monitor the stator voltage since they can be reconstructed
by using the inverter switching modes and the monitored d.c links
voltage. The electromagnetic torque can be estimated by using closed
loop speed control can be obtained by using a speed controller whose
output gives the torque reference, and the input to the speed controller
is the difference between the reference speed and the actual speed.
The DTC drive consists of DTC controller, torque and flux
calculator, and a voltage source inverter. The configuration is much
simpler than the FOC system due to the absence of frame transformer,
pulse width modulator and position encoder, which introduce delays and
requires mechanical transducer. The implementation of DTC is simple in
structure and requires a fast processor to perform on-line calculations
of electromagnetic torque and stator flux based on sampled terminal
variables [7]. If a three phase VSI is connected to an induction motor,
there can be eight possible configurations of six switching devices
within the inverter. As a result, there are eight possible input voltage
vectors to the induction motor.
DTC utilizes the eight possible stator voltage vectors, two of
which are zero vectors, to control the stator flux and torque to follow
the reference value within the hysteresis bands. The voltage space
vector of a three-phase system is given by:
[[bar.V].sub.s] (t) = 2/3([v.sub.sA](t) + [av.sub.sB](t) +
[a.sup.2][v.sub.s] C(t)), (1)
where a = [e.sup.j2/3[pi]]
[V.sub.sA], [V.sub.sB], and [V.sub.sC] are the instantaneous phase
voltages. For the switching VSI, it can be shown that for a DC link
voltage of [V.sub.d], the voltage space vector is given by:
[[bar.V].sub.s](t) = 2/3 [V.sub.d] ([S.sub.a](t) + [S.sub.b] (t)a +
[S.sub.c](t)[a.sup.2]), (2)
[S.sub.a](t), [S.sub.b](t) and [S.sub.c] (t) are the switching
functions of each leg of the VSI, such that,
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII.]
Direct Flux Control
The induction motor stator voltage equation is given by:
[[bar.v].sub.s] = [R.sub.s][[bar.i].sub.s] + d
[[bar.[PSI]].sub.s]/dt (3)
Where [[bar.v].sub.s], [[bar.i].sub.s] and [[bar.[PSI]].sub.s] are
the stator voltage, current and stator flux space vectors respectively.
According to equation (3), if the stator resistance is small and can be
neglected, the change in stator flux, [DELTA][[bar.[PSI]].sub.s], will
follow the stator voltage, i.e.,
[DELTA][[bar.[PSI]].sub.s] = [[bar.v].sub.s][DELTA]t (4)
This simply means that the tip of the stator flux will follow that
of the stator voltage space vector multiplied by the small change in
time. Hence if the stator flux space vector is known, its locus can be
controlled by selecting appropriate stator voltage vectors. In DTC the
stator flux space vector is obtained by calculation utilizing the motor
terminal variables. The stator flux is forced to follow the reference
value within a hysteresis band by selecting the appropriate stator
voltage vector using the hysteresis comparator and selection table.
Direct Torque Control
As shown by Takashashi and Noguchi [8], under a condition of a
constant mechanical frequency and stator flux magnitude, when a step
increase in the stator angular frequency is applied at t=0, the rate of
change of torque at time t=0 is proportional to the slip frequency of
the stator flux with respect to the rotor mechanical speed. Thus,
[MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII.] (5)
[FIGURE 1 OMITTED]
where [[omega].sub.sl] is the angular slip frequency of the stator
flux with respect to the rotor mechanical frequency. This means that the
rate of change of torque can be made positive or negative regardless of
whether the stator flux is increasing or decreasing. If the torque and
stator flux is kept within their hysteresis bands by selecting
appropriate voltage vectors, an independent control over the torque and
stator flux is accomplished. If the stator flux space vector plane is
divided into six sectors or segments as shown in Figure 3, a set of
table of which voltage vector should be chosen in a particular sector
(either to increase stator flux or to reduce stator flux and either to
increase torque or to reduce torque) can be constructed.
DTC Algorithm
The figure 2 presents the methodology of a DTC drive:
Induction motor is a system to be voltage controlled. The inverter
applies threephase voltage signals determined by changes on the
switching keys, which are calculated by the algorithm.
Switching table calculates the switching keys according to a
strategy as a function of the torque and flux comparators and the
spatial sector in which the stator flux is lying at calculation time.
Motor model is a mathematical model used to calculate flux,
currents and voltages referred to the stator in [alpha][beta] stationary
coordinates and electrical torque. It is the most complex part of the
algorithm, involving multiplications and a square root evaluation. These
operations are computed serially in order to reduce hardware area in the
prototyping step. DC link voltage [V.sub.d] and stator currents
([i.sub.1] and [i.sub.2]) are determined by three serial A/D converters,
which correspond to the slower part of the algorithm, taking 25[micro]s
to perform the operation. The conversions are executed simultaneously.
Torque and flux comparators are two and three-level relays with
hysteresis--they are used to compare torque and flux references with
their actual values.
Sector evaluation is a function that calculates the position of
stator flux vector in [alpha][beta] coordinates in a plane. In this
case, the plane is divided into 6 sectors corresponding to the voltage
vectors that can be applied by their inverter.
The motor model is composed by the equations and [V.sub.[alpha]],
[V.sub.[beta]], [i.sub.[alpha]], [i.sub.[beta]], [[lambda].sub.[alpha]],
[[lambda].sub.[beta]] are coordinate components of stator voltage,
current and flux calculated in the pervious instant.
[V.sub.d] is the DC link voltage, [i.sub.1] and [i.sub.2] are
stator current values of two of the three phase lines to which the motor
is linked. Cha, Chb and Chc previous instant. Rs is stator resistance
estimate evaluated off-line. Ta is the A/D converter sampling time.
Equations 1 and 2 transform current and voltage components measured in a
16-bit value by the A/D into [alpha][beta] components which are adequate
to DTC algorithm [10]. Voltage components needs switching commands
applied in the previous instant to be calculated. Equation.3,
corresponds to an integration using forward equal methods. Sampling time
(Ts) precision is critical to DTC implementation since it affects flux
estimation. Equation 4 estimates electrical torque, which is directly
controlled as a main proposition of DTC technique. Equation 5 calculates
flux magnitude, which is used in the flux control loop.
[FIGURE 2 OMITTED]
[FIGURE 3 OMITTED]
Equations for Modeling the Motor are as follows:
1. Stator Voltages in [alpha][beta] coordinates
[V.sub.[alpha]] = [V.sub.d]/3* (2*Cha-Chb-Chc);
[V.sub.[beta]] = sqrt (3 /3* [V.sub.d]* (Chb-Chc);
2. Stator Currents in [alpha][beta] coordinates
[I.sub.[alpha]] = [i.sub.1].
[I.sub.[beta]] = sqrt (3)/3* ([i.sub.1] +2* [i.sub.2]);
3. Stator Flux Estimation
[[lambda].sub.[alpha]]= [[lambda].sub.[alpha]OLD] +
Ts*([V.sub.[alpha]] -Rs* i[alpha]);
[[lambda].sub.[beta]]= [[lambda].sub.[beta]OLD] +
Ts*([V.sub.[beta]] -Rs* i[beta]);
4. Torque Estimation
torque = 3/4 *p*
([I.sub.[beta]]*[[lambda].sub.[alpha]]*[[lambda].sub.[beta]] );
5. Stator Flux magnitude determination
[lambda]mod= sqrt
([[lambda].sub.[alpha]]^2+[[lambda].sub.[beta]]^2);
DTC Architecture
DTC algorithm is implemented in an architecture composed by five
main blocks: motor model. flux comparator, sector evaluation, torque
comparator and switching table. The available processing time is
dictated by the A/D converters, corresponding to 25[micro]s. This time
interval is partitioned into five time slots, allowing for the
processing of input samples. The motor model module uses time slots 1 to
3. In the first time slot (id1) 16-bit samples are read from the A/D
converters. Modules flux comparator, sector evaluation and torque
comparator are processed in parallel in the fourth time slot, while last
time slot is used to compute the switching table (Cha, Chb, Chc). Motor
model module has three 16-bit inputs supplied by A/D converters:
[i.sub.1], [i.sub.2] and [V.sub.d] and produces four outputs: torque,
[[lambda].sub.[alpha]], [[lambda].sub.[beta]] and [lambda]mod. The motor
modeling equations are implemented according to the architecture. As can
be observed, complex mathematical operations are performed such as
multiplications and a square root. Sector evaluation is a module that
receives stator flux components as inputs and determinates the position
of the flux vector in a plane divided into six sectors denominated
sectors 1 to 6. To determinate the position of stator flux, magnitude is
compared with projection components in the axes [alpha] and [beta]. In
the algorithm implementation, many digital properties have to be
considered. Characteristics such as quantization sampling, and adopted
binary format are key performance factor in the control process.
Simulation Results
The DTC architecture is simulated using Xilinx Package. The results
of flux comparator are shown in figure4. The results of torque
comparator and sector evaluator are shown in figure 5 & 6. The
switching table wave forms are shown in figure 7. The simulated wave
forms of control signals are shown in figure 8. The results of DTC
blocks are shown in figure.9. The actual torque is compared with set
torque and the actual flux is compared set flux. The pulse width of the
driving pulse is selected such that actual torque is equal to set
torque. From the simulation results it is observed that the motor
develops a torque equal to the set torque.
[FIGURE 4 OMITTED]
[FIGURE 5 OMITTED]
[FIGURE 6 OMITTED]
[FIGURE 7 OMITTED]
[FIGURE 8 OMITTED]
[FIGURE 9 OMITTED]
Conclusion
The architecture proposed is written in synthesizable VHDL. The
actual torque is compared with set torque and the actual flux is
compared set flux. The pulse width of the driving pulse is selected such
that actual torque is equal to set torque. From the simulation results
it is observed that the motor develops a torque equal to the set torque.
References
[1] Buja, G., Casade, D., "Tutorial 2: The Direct Torque
Control of Induction Motor Drives", ISIE, 1997.
[2] H. Tamia and Y. Hori, Speed Sensor less Field--Orientation
Control of induction machine, IEEE Trans. Indus. Appln. Vol. 29,
pp.175-180, Jan / Feb 1993.
[3] Peter Vas: Sensor less Vector and Direct Torque Control, Oxford
University Press, London, 1998.
[4] Jun-Koo Kang, Seung-Ki Sul: "New Direct Torque Control of
Induction Motor for Minimum Torque Ripple and Constant Switching
Frequency", IEEE Transactions on Industry Applications, Vol.35,
No.5, Sept/Oct. 1999.
[5] D. Casadei, G. Serra, A. Tani: "Analytical Investigation
of Torque and Flux Ripple in DTC Schemes for Induction Motors",
IEEE-IAS Annual Meeting 2002.
[6] G.Buja,D. Casadei, G. Serra: "DTC-Based Strategies for
Induction Motor Drives, IEEE-IAS Annual Meeting 2002, pp.1506-1516.
[7] T.Noguchi, M.Yamamoto, S.Kondo, I.Takahashi: "Enlarging
Switching Frequency in Direct Torque-Controlled Inverter by Means of
Dithering, IEEE Transactions on Industry applications, Vol.35, No.6,
Nov/Dec. 1999.
[8] Takahashi Isao, Noguchi Toshihiko : "A New Quick-Response
and High-Efficiency Control Strategy of an Induction Motor" IEEE
Transactions on Industry Applications, Vol. IA-22, No.5, Sept/Oct. 1986.
[9] Thomas G. Habetler, Deepakaraj M. Divan: "Control
Strategies for Direct Torque Control Using Discrete Pulse
Modulation", IEEE Transactions on Industry Applications, Vol.27,
No.5, Sept/Oct. 1991.
[10] Aubepart, F., Poure, P., Girerd, C., Chapuis, Y.A., Braun, F.,
"Design and Simulation of ASIC-Based System Control: Application
", to Direct Torque Control of Induction Machine",
ISIE'99-Bled, Slovenia, 1999, pp. 1250-1255.
[11] Giovani Griva, Thomas G. Habetler. "Performance
Evaluation of a Direct Torque Controlled Drive in the Continuous
PWM-Square Wave Transition Region", IEEE Transactions on Power
Electronics, Vol.10, No.4, July 1995.
[12] Barbara H. Kenny, Robert D. Lorenz, "Stator and Rotor
Flux Based Deadbeat Direct Torque Control of Induction Machines",
IEEE Transactions on Industrial Electronics, Vol.30, No.4, 2001.
[13] Thomas G. Habetler, Francesco Profumo, Michel Pastorelli:
"Direct Torque Control of Induction Machines Over a Wide Speed
Range", IEEE-IAS Annual Meeting, Conf. Rec. 1992,pp.600-606.
[14] Kevin D. Hurst, Thomas G. Habetler. "A Simple,
Tacho-Less, I. M. Drive with Direct Torque Control Down to Zero
Speed", IEEE Transactions on Industry Applications, 1995, Vol.5,
No.5,pp. 563-569.
G. Pandian
Research Scholar, Sathyabama University, Chennai.
pandian1960@yahoo.co.in
S. Rama Reddy
Electrical and Electronics Engineering,
Jerusalem College of Engineering, Chennai.
srr_victoy@yahoo.com
Table 1 : Switching Table
Counter Clockwise Sec Sec Sec Sec Sec Sec
I II III IV V VI
Inc Flux (0) Inc T(01) 100 110 010 011 001 101
Dec T(00) 000 111 000 111 000 111
Dec Flux (1) Inc T(01) 110 010 011 001 101 100
Dec T(00) 111 000 111 000 111 000
Counter Clockwise Sec Sec Sec Sec Sec Sec
I II III IV V VI
Inc Flux (0) Inc T(10) 001 101 100 110 010 011
Dec T(00) 000 111 000 111 000 111
Dec Flux (1) Inc T(10) 011 001 101 100 110 010
Dec T(00) 111 000 111 000 111 000