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.

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.

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 [57]. 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: 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 Figure 3.

In the typical two-phase-on BLDC operating mode (Figure 4), 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.

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: 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.

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 (Table 2). (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 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.

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.

Figure 6 reports the block diagram for the proposed induction motor control. The stator voltage used by the flux observer is estimated starting from the measured and the applied vector as reported in (4) below.

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 (Figure 7).

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 (Table 3) 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.

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 error eT, 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: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 , which assumes values between 0 and 1. is used to exploit the possibility to modulate the voltage vectors by PWM. The applied voltage vector is where represents the unity vector in one of the six active directions selectable from the look-up table, is the actual bus voltage of the VSI, and 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 Figure 6. 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: FFW is a dimensionless quantity in the range 0 to 1 and is added to the PI regulator output to obtain like that in Figure 7. k5 is needed to have a starting voltage at zero speed.

Figure 9 shows the realized testbed for the tests in various loading conditions.

The following figures (Figures 10, 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.

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.

Figure 14 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, and the FFW. The motor accelerates at constant torque until about 6000 rpm, then acceleration proceeds with decreasing torque.

During the first 300 ms, 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.

Figures 15 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.

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. Table 4 shows a comparison of memory occupation and number of instructions needed for implementing each of the considered control algorithms.

The 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 (Figure 2). 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.

Acknowledgment

The authors wish to thank Decody s.r.l and its CEO for their interest in research on high-performance motor controls for home appliances.