# A Novel BLDC-Like DTC Control Technique for Induction Motors

Authors: Andrea Rossi; Carlo Concari
Journal: Advances in Power Electronics
 (2012)

---

## Abstract

DC brushless motors are widely adopted for their simplicity of control, even in sensorless configuration, and their high torque density. On the other hand, induction motors are very economical due to the absence of permanent magnets; for the same reason they can easily be driven in the flux-weakening region to attain a wide speed range. Nevertheless, high dynamic induction motors drives, based on field-oriented (FOC) or predictive control, require large amounts of computing power and are rather sensitive to motor parameter variations. This paper presents a simple DTC induction motor control algorithm based on a well-known BLDC control technique, which allows to realize a high dynamic induction motor speed control with wide speed range. The firmware implementation is very compact and occupies a low amount of program memory, comparable to volt-per-Hertz- (V/f-) based control algorithms. The novel control algorithm presents also good performance and low current ripple and can be implemented on a low-cost motion control DSP without resorting to high-frequency PWM.


---

## Body

## 1. Introduction

DC brushless (BLDC) motors are widely employed in industry and transportation due to their high performances and reliability. Since such motors have no brushes, they need a solid-state commutation circuit in order to supply the stator windings according to rotor position. Rotor position, therefore, must be determined, and this measurement is typically performed using Hall sensors or incremental encoders (at an additional cost) or sensorless techniques. If rotor position information can be achieved without additional hardware complexity, the cost can be reduced.Sensorless techniques are widely used especially in low-cost BLDC applications, such as fans and compressors [1, 2]. Such techniques usually rely on the measurement of electrical variables such as currents and back electromotive forces (BEMFs), which can be performed with the same DSP or microcontroller used for drive control [3].Induction motor speed control represents a widely studied topic in industrial applications. The simplest control schemes are based on V/f (volt per Hertz) operation, while on the high side of the spectrum there are many algorithms, roughly separable in two groups: field-oriented control (FOC) based and predictive Control (PC) based. Direct Torque control (DTC) is a hysteresis control which belongs to the latter category; it was first developed as a cheaper alternative to FOC when the processing power required by FOC was too expensive [4]. It allows dynamic performances comparable or superior to FOC, by controlling torque and flux by instantaneous voltage vectors applied through a voltage source inverter (VSI). Figure 1 shows the basic DTC control block diagram; it is evidently simpler than the field-oriented control shown in Figure 2.Figure 1
Block diagram of DTC.Figure 2
Block diagram of FOC.FOC requires four PI regulators and many trigonometric calculations. DTC does not require trigonometric calculations, includes only one PI regulator for speed control, and is based on hysteresis comparators. The following section presents a brief review of DTC-based controls; next a new DTC algorithm similar to common BLDC sensorless control is proposed together with experimental results and discussion.


## 2. Current DTC Algorithm Implementations

Nowadays many techniques published in the literature allow to realize PWM-based DTC with good dynamic performance and reduced current ripple. Some are based on high-frequency switching adopting custom FPGA-based hardware [5–7]. These solutions effectively reduce current and torque ripple but lead to higher switching losses and are unsuitable for controlling large size machines. Moreover, high-speed power switches are required with a consequent increase in costs, which limits the appeal of this control for mass-market appliances such as washing machines, dishwashers, and water pumping.Other solutions are based on predictive control [8] or dead-beat DTC [9, 10], which generally require heavy computations and are not suitable for implementation on very-low-cost controllers; moreover, physical variables might be known with poor precision if a simple stator flux estimator like (1) is used:
(1)Φds=∫0t(Vd-Rsids-Lsddtids)dt,Φqs=∫0t(Vq-Rsiqs-Lsddtiqs)dt.
More accurate flux estimators require further computing power and costlier controllers [11]. The same conclusion applies to floating-point DSPs [10], and all these solutions are unsuitable for mass-market exploitation.


## 3. A Parallel between BLDC Sensorless Control and DTC

The basic idea behind the proposed DTC comes from the observation that a BLDC can be driven sensorless knowing only the rotor angular sector. A speed control loop can be closed acting on the stator voltage as in Figure3.Figure 3
Block diagram of sensorless BLDC control [3].In the typical two-phase-on BLDC operating mode (Figure4), rotor position (and thus, the magnetic flux position) must be determined in order to decide which phases to energize for obtaining the desired motor torque. Then, two out of the three motor phases are supplied depending on the electric angular sector (considering six angular sectors, 60° each) to which the rotor position belongs.Figure 4
Theoretical BLDC voltage waveforms at constant speed (a), block current waveforms to supply in order to obtain a constant torque (b); only two phases are on, in each 60° angular sector.A similar technique can be used with induction motors. A simple stator flux estimator (2) can be used to determine the angular sixth, evaluating the signs of the three-phase flux components, as shown in Table 1:
(2)Φsu=∫0t(Vsu-Rsisu)dt,Φsv=∫0t(Vsv-Rsisv)dt,Φsw=∫0t(Vsw-Rsisw)dt.
For a BLDC, once the rotor position angular sixth is known, the motor can be supplied in two-phase-on mode through a look-up table. In a DTC-controlled induction motor, once the flux angular sixth is known, a look-up table selects one of the possible voltage vectors (Figure 5). In each case, a six-position electronic commutator is realized to supply the desired voltage vector.Table 1
Magnetic flux sector determination starting from three-phase components.
Flux sectork
1
2
3
4
5
6
Φ
s
u
>
0
+
+
–
–
–
+
Φ
s
v
>
0
–
+
+
+
–
–
Φ
s
w
>
0
–
–
–
+
+
+Figure 5
Voltage vector diagram for a DTC-controlled induction machine.


## 4. The Proposed BLDC-Like DTC Control Technique for Induction Motors

The proposed induction motor controller is based on a reduced DTC-like switching table (Table2). (The canonical DTC look-up table is shown in Table 3 in the next section.) The numbers between parentheses are the states of the upper switches of each leg of the three-phase inverter; the lower switches will be driven with complementary values. The variable eT, representing a quantized torque error (Figure 1) in the traditional DTC, in this case reflects the motor direction (1 if positive speed, −1 if negative). This simplification, in fact, renders the proposed DTC scheme very similar to a BLDC control. The variable eΦ is the quantizided flux error (0 if flux magnitude is too low, 1 if flux magnitude is too high). The variable k is the quantized angular sector, determined considering the sign of the 3 flux components as stated above. So, knowing these 3 variables, Table 2 determines which voltage vector must be applied to the induction motor to reach the desired value for flux and torque.Table 2
Proposed simplified switching table with 24 permutations.
k
1
2
3
4
5
6
e
Φ
=
0
e
T
=
-
1
v
5(0,0,1)
v
6(1,0,1)
v
1(1,0,0)
v
2(1,1,0)
v
3(0,1,0)
v
4(0,1,1)
e
T
=
1
v
3(0,1,0)
v
4(0,1,1)
v
5(0,0,1)
v
6(1,0,1)
v
1(1,0,0)
v
2(1,1,0)
e
Φ
=
1
e
T
=
-
1
v
6(1,0,1)
v
1(1,0,0)
v
2(1,1,0)
v
3(0,1,0)
v
4(0,1,1)
v
5(0,0,1)
e
T
=
1
v
2(1,1,0)
v
3(0,1,0)
v
4(0,1,1)
v
5(0,0,1)
v
6(1,0,1)
v
1(1,0,0)Table 3
36 permutation DTC switching table [4].
k
1
2
3
4
5
6
e
T
=
-
1
v
5(0,0,1)
v
6(1,0,1)
v1(1,0,0)
v
2(1,1,0)
v
3(0,1,0)
v
4(0,1,1)
e
Φ
=
0
e
T
=
0
v
0(0,0,0)
v
0(0,0,0)
v
0(0,0,0)
v
0(0,0,0)
v
0(0,0,0)
e
T
=
1
v
3(0,1,0)
v
4(0,1,1)
v
5(0,0,1)
v
6(1,0,1)
v
1(1,0,0)
v
2(1,1,0)
e
T
=
-
1
v
6(1,0,1)
v
1(1,0,0)
v
2(1,1,0)
v
3(0,1,0)
v
4(0,1,1)
v
5(0,0,1)
e
Φ
=
1
e
T
=
0
v
0(0,0,0)
v
0(0,0,0)
v
0(0,0,0)
v
0(0,0,0)
v
0(0,0,0)
e
T
=
1
v
2(1,1,0)
v
3(0,1,0)
v
4(0,1,1)
v
5(0,0,1)
v
6(1,0,1)
v
1(1,0,0)A speed control loop can be closed in both cases using a proportional-integral (PI) regulator on the speed error value. The regulator can act directly on the voltage to apply to the motor or on the current request for an internal current control loop.Figure6 reports the block diagram for the proposed induction motor control. The stator voltage used by the flux observer is estimated starting from the measured Vbus and the applied vector as reported in (4) below.Figure 6
Block diagram of proposed DTC controller.A feed-forward (FFW) action is present in the speed controller. It has been inserted in order to save the integrator from working in heavy loaded conditions, mitigating wind-up effects. The goal of the FFW action is to cancel out the back-emf so that the PI regulator output depends only on the stator current through constants (Figure7).Figure 7
The feedforward action cancels out the motor back-emf.


## 5. Comparison with Earlier DTC Algorithm Implementations

The earlier implementations of DTC were particularly fit for analog implementation through hysteresis comparators. The control strategy is based on continually selecting the appropriate stator voltage vector from a switching table like in [4], in order to maintain the torque and the stator flux within prefixed hysteresis bands. A small flux hysteresis leads to a sinusoidal stator current, while a small torque hysteresis allows smooth torque and, consequently, silent motor drive.The voltage vector applied by the VSI is selected through the switching table (Table3) starting from the torque and flux errors and from the angular sector of the flux (Figure 8) and changes whenever a threshold is crossed. This results in a variable commutation frequency.Figure 8
Switching table indexes for the earliest implementation of DTC [4].If PWM-based digital controllers are used, the frequency is fixed, and it is not possible to apply completely arbitrary time-vector sequences. The drawbacks are increased current and torque ripple as well as increased acoustic noise.Most current ripple and acoustic noise in DTC are generated when torque thresholds are crossed [12]. During accelerations and decelerations, if fast adjustment to speed reference is required, maximum torque must be delivered and no torque threshold crossings happen. Torque thresholds are crossed only during constant-speed operation.The proposed technique eliminates those crossings, which were necessary in threshold-based DTC but become unnecessary if the selected voltage vector can be modulated, as is the case if a modern motion control-oriented DSP with a dedicated PWM generator used. This is done by not regulating the (quantized) torque erroreT, which is then used only to control the sign of the rotating speed. With reference to the Table 3 with 36 permutations, only the cases eT= ±1 (outside the hysteresis band) are used, to achieve positive or negative speed. The case eT= 0 (inside the hysteresis band) is thus eliminated, and the simplified table is shown in Table 2. The simplified control requires no torque estimator.Flux is regulated in the canonical way, as previously described. The flux amplitude is estimated by (3) integrating the stator equation (1), and it is regulated choosing the appropriate voltage vector in Table 2:(3)Φ=Φu2+Φv2+Φw2=(∫ot(Vu-Rsius)dt)2+(∫ot(Vv-Rsivs)dt)2+(∫ot(Vw-Rsiws)dt)2.The control accelerates the motor at maximum torque, and speed becomes stable as soon as the emf equals the supply voltage. In order to regulate the motor speed, the bus voltage as seen by the DTC controller is varied by means of a dimensionless variable Vstar, which assumes values between 0 and 1. Vstar is used to exploit the possibility to modulate the voltage vectors by PWM. The applied voltage vectorV→ is
(4)V→=Vstar⋅Vbus⋅v^x,
where v^x represents the unity vector in one of the six active directions selectable from the look-up table, Vbus is the actual bus voltage of the VSI, and Vstar is the dimensionless variable that modulates the available voltage.


## 6. Implementation and Experimental Results

The proposed DTC controller has been implemented on a 30 MIPS motor control DSP whose cost is 1/20 of a floating point DSP and 1/10 of a 500000 gates FPGA and has been applied to the control of a high-speed induction motor (750 W, 230 V, one pole pair, 6000 rpm at 100 Hz maximum full-flux speed in no-load conditions, 20000 rpm maximum speed, used for washing machines), with 10 kHz switching frequency.The controller is based on the block diagram of Figure6. The inputs are the flux and speed references as well as the current and speed readings. A small tachogenerator is used for speed measurement, although the algorithm can be easily adapted to speed sensorless operation.To avoid using parameters known with poor precision or varying with the operating conditions, the feed forward action is computed depending only on the rotor angular speed:(5)FFW=k5+k6⋅speed.
FFW is a dimensionless quantity in the range 0 to 1 and is added to the PI regulator output to obtain Vstar like that in Figure 7. k5 is needed to have a starting voltage at zero speed.Figure9 shows the realized testbed for the tests in various loading conditions.Figure 9
Testbed used to verify the proposed algorithm. The motor mounted on the left is a standard 2 pole pairs induction machine used as brake, on the right is the induction motor under test.The following figures (Figures10, 11, 12, and 13) show the results of the tests in loaded conditions. We analyzed the area of operation below the rated speed of the motor (under 6000 rpm). The electric power was read with a digital power meter and the mechanical power calculated using the torque and angular speed measured. Torque, power, and efficiency curves were plotted as a function of angular speed.Figure 10
Shape of delivered torque from zero to maximum full-flux speed. The maximum torque available is nearly constant in the whole range.Figure 11
Shape of maximum delivered power from zero to maximum full-flux speed.Figure 12
Shape of the efficiency from zero to maximum full-flux speed. The efficiency obtained with the proposed control is the same as with a V/f control.Figure 13
Shapes of phase current (blue) 5 A/div and line voltage (black) 100 V/div. The rms current is 3.66 A, and the rms voltage is about 199 V. The delivered torque in this condition is about 0.85 Nm, 70% of the maximum available.The obtained results demonstrate that the proposed algorithm based on DTC, allows to reach the maximum torque value in the whole speed range up to 6000 rpm. The efficiency at full load conditions is equal to that declared by the motor manufacturer.The following figure shows the shape of the voltage applied to the motor and the measured current, at 70% of maximum load conditions.Figure14 has been obtained during a no-load acceleration from 0 to 20000 rpm at the maximum available torque and shows the shapes of the speed, Vstar, and the FFW. The motor accelerates at constant torque until about 6000 rpm, then acceleration proceeds with decreasing torque.Figure 14
Shapes of FFW (green) 20%/div,Vstar (red) 20%/div, speed (black) 4000 rpm/div, during an acceleration from 0 to 20000 rpm at maximum available torque with the proposed control.During the first 300 ms,Vstar oscillates between 0 and the required value as a response to a software overcurrent protection to limit the starting current. Acceleration from 0 to 6000 rpm takes 250 ms, and the maximum speed of 20000 rpm is reached in about 2 s.The realized DTC control can rapidly deliver the maximum torque available from the induction motor in every operating condition and allow an easy implementation of a speed control loop, similar to a FOC or deadbeat-DTC (DB-DTC) control.Figures15 and 16 show a cyclical step response from 9000 to 16000 rpm. The DTC reaches the reference speed in about 0.8 s, like the V/f control with limitation of maximum slip. Both controls exploit the maximum available torque of this induction machine, but the DTC controls precisely torque and motor flux in all speed ranges. Therefore, with DTC a more efficient motor drive can be achieved. Moreover, the proposed DTC algorithm is intrinsically less sensitive to variations in motor parameters (stator resistance and inductance, rotor time constant) than the closed loop V/f, FOC, and DB-DTC.Figure 15
Shapes of speed set point (blue) andspeed (black) 4000 rpm/div, during a cycle from 9000 rpm to 16000 rpm, with V/f control with limitation of maximum slip.Figure 16
Shapes of speed set point (blue) andspeed(black) 4000/ rpm/div, during a cycle from 9000 rpm to 16000 rpm, with DTC.


## 7. DSP-Used Resources for Various Algorithm Implementation

The innovative edge of the proposed motor control scheme for induction machine is the possibility to close a high-performance speed control loop together with a simple and cheap firmware implementation, in line with the requirements of V/f controls. Table4 shows a comparison of memory occupation and number of instructions needed for implementing each of the considered control algorithms.Table 4
DSP-used resources.
Program memory
%
Data memory
%
NOPR
V/f slip-limited sensored
5,1 kB
7,7
210 B
10
420
Proposed DTC sensored
4,7 kB
7,1
230 B
11
760
FOC sensored
3,6 kB
5,5
1560 B
75
1140
DB-DTC sensored
3,7 kB
5,6
1580 B
76
830The program memory utilization is approximately the same for all cases (high-performance codes are more complex, while V/f needs two look-up tables). Complex algorithms like FOC and DB-DTC, on the other hand, use a great amount of data memory due to the many variables involved. FOC requires more operations than the other controls due to four PI regulators (Figure2). V/f obviously requires less computations (number of operations) because it has no PI control loops and no need to estimate the flux.


## 8. Conclusions

A simplified DTC control for implementation on a PWM-based motion control DSP has been presented. This control is based on an algorithm used for many years in BLDC sensorless motor applications with two phases on.This new control for induction machine requires a relatively simpler algorithm with a smaller switching table than the canonical DTC control and no torque estimator. Reduced torque ripple is obtained modulating the supply voltage to ensure silent operation. The control has high dynamic performance due to the maximum utilization of available torque at all speeds.The reduced amount of computational resources needed by the proposed DTC control (like V/f)  allows using very low cost DSPs, contrary to FOC and DB-DTC. Moreover, the reduced computational cost allows reducing the DSP clock frequency with consequent reductions in energy consumption.



---

*Source: 986702-2012-06-21.xml*