Open access peer-reviewed chapter

Improved DTC Algorithms for Reducing Torque and Flux Ripples of PMSM Based on Fuzzy Logic and PWM Techniques

By Khalid Chikh, Mohamed Khafallah and Abdallah Saâd

Submitted: December 1st 2011Reviewed: April 9th 2012Published: September 26th 2012

DOI: 10.5772/48503

Downloaded: 6061

1. Introduction

Permanent Magnet Synchronous Motors (PMSM’s) are widely used in high-performance drives such as industrial robots, automotive hybrid drive trains and machine tools thanks to their advantages as: high efficiency, high power density, high torque/inertia ratio, and free maintenance. In the recent years, the magnetic and thermal capabilities of the Permanent Magnet (PM) have been considerably increased by employing the high-coercive permanent magnet material.

Direct Torque Control (DTC) method has been first proposed and applied for induction machines in the mid-1980s, by Takahachi and Noguchi, for low and medium power applications. This concept can also be applied to synchronous drives. Indeed, PMSM DTC has appeared in the late 1990s. However, for some applications, the DTC has become unusable although it significantly improves the dynamic performance (fast torque and flux responses) of the drive and is less dependent on the motor parameters variations compared to the classical vector control due to torque and flux ripples. Indeed, hysteresis controllers used in the conventional structure of the DTC generates a variable switching frequency, causing electromagnetic torque oscillations. Also this frequency varies with speed, load torque and hysteresis bands selected. In addition, a high sampling frequency is needed for digital implementation of hysteresis comparators and a current and torque distortion is caused by sectors changes.

In the last decade, several contributions have been proposed to overcome these problems by using the three level or the multilevel inverter: more voltage space vectors are available to control the flux and torque. However, more power switches are needed to achieve a lower ripple and almost fixed switching frequency, which increases the system cost and complexity. In order to improve the DTC performance and overcome the above cited problems, another solution combines basic DTC and fuzzy logic control advantages in one control strategy, named Fuzzy Direct Torque Control (FDTC). In this technique, the hysteresis comparator and the switching table used in basic DTC are replaced by a fuzzy logic switcher, which decides directly on the switches states of the Voltage Source Inverter (VSI). In addition, it’s known that fuzzy control works as well for complex non-linear multi-dimensional system, system with parameter variation problem and/or cases where the sensor signals are not precise. The fuzzy control is basically nonlinear and adaptive in nature, giving robust performance under parameter variation and load disturbance effect. For all these reasons, a Fuzzy Logic Controller can be used instead of the speed PI controller in FDTC in order to achieve a complete fuzzy control for the PMSM. Also, much interest has been focused on the use of modified DTC structures to improve basic DTC performances by replacing the hysteresis controllers and the switching table by a PI regulator, predictive controller and Space Vector Modulation (SVM). Indeed, under DTC-SVM strategy, both torque and flux linkage ripples are greatly reduced when compared with those of the basic DTC, because the application of SVM guarantees lower harmonics current by eliminating the distortion caused by sector changes in case of DTC switching table and by fixing the switching frequency.

Moreover, the design of the speed controller used in basic DTC or in modified DTC strategies, greatly affects the performance of the drive. The PI controllers have a simple structure and can offer satisfactory performances over a wide range of operations. However, due to the uncertainties, the variations in the plant parameters and the nonlinear operating conditions, the fixed gains of the PI controller may become unable to provide the required control performance. In order, to realize a good dynamic behaviour of the PMSM, a perfect speed tracking with no overshoot and a good rejection of impact loads disturbance, the speed PI controller can be replaced by a PI-Fuzzy speed controller.

This chapter is organized as follows: PMSM modelling and simulation results of the basic DTC by using Matlab/Simulink environment with a simple speed PI corrector, will be presented and discussed in Section 2 and 3, respectively. Whereas in Section 4 a complete Fuzzy Direct Torque Control (FDTC), which uses a fuzzy switching table and a PI-Fuzzy speed controller, for PMSM is proposed to reduce the torque and flux ripples. In addition, the simulation results show the effectiveness of this strategy when compared with the basic DTC and a classical speed PI controller. Section 5 and 6 are devoted to presenting a fixed switching-frequency DTC with two approaches: Sinusoidal Pulse With Modulation (SPWM) and Space Vector Modulation (SVM). The objective, of these two strategies, is reducing the flux and torque ripples and fixing the switching-frequency. Of course, the simulation results of these two approaches will be discussed and compared with those of basic DTC and FDTC, in section 7. Section 8 is devoted to study DTC performances under PMSM parameters variation, also a solutions have been proposed to overcome this issue. Eventually, conclusion and simulation results interpretations are included in Section 9.

2. Modelling of the VSI and the PMSM

2.1. Voltage Source Inverter (VSI) for adjustable speed or torque drive

In large number of industries the PMSM’s are required to be operated at different speeds or torques. In order to obtain variable speed or torque, these motors are fed from inverters with variable voltage and variable frequency supply. Figure 1 shows the VSI structure used to produce well the voltage waveforms at the terminal of the motor. The voltage control of this inverter is obtained by using switching table in case of basic DTC or by pulse width modulation (PWM) in case of modified DTC techniques.

Figure 1.

Three phase voltage source bridge inverter structure

The model of the VSI is given by:

vavbvc=Udc32-1-1-12-1-1-12Cs1Cs3Cs5E1

Where Udc is the DC bus voltage and Cs1, Cs3, Cs5 are the transistor states.

2.2. Modeling of the PMSM

The stator voltages equation for a PMSM in the rotor oriented coordinates d-q can be expressed as:

UsdUsq=Rs+s.Ld-P.ϧm.LqP.ϧm.LdRs+s.LqIsdIsq+0P.ϧm.τPME2

Where Isd and Isq are the d - q axis stator currents, Rs is the stator resistance, ΨPM is the flux linkage of the rotor magnets linking the stator, Ld and Lq are the d - q axis stator inductances, P is the number of pole pairs and ϧmis the mechanical speed.

And the electromagnetic torque equation in the rotor oriented coordinates d-q can be expressed as (3):

аem=32P(τsdIsq-τsqIsd)=32PτPMIsq+(Ld-Lq)IsdIsqE3

Where Φsd and Φsq are d - q components of the stator flux linkage, which are expressed as:

τsdτsq=Ld00LqIsdIsq+τPM0E4

Finally, when the dry friction torque is neglected; the motion equation is expressed as:

Jdϧmdt=аem-аr-frϧmE5

Where J moment of inertia, Гr motor load and fr damping constant.

3. Basic direct torque control for PMSM

DTC is a vector control method used to control the torque and therefore the speed of the motor bycontrolling the switching sequence of the inverter transistors. Figure 2 shows the DTC for a PMSM block diagram. It can be seen that once one has the estimated and reference instantaneous values of electromagnetic torque and stator flux, we proceed to calculate the error between them; these errors are used as inputs for the hysteresis controllers, which aim to maintain the torque and flux errors within upper and lower limits allowed, so that when evaluating within these limits an output level is obtained to know the status of the variable. The output levels achieved in this stage of the control are input signals to the block that is responsible for finding the right vector to get rid of the speed error. This procedure is made for each sampling instant to drive the PMSM to the desired speed value.

Figure 2.

DTC scheme for PMSM with Classical Torque and Flux Estimator (CTFE)

In the DTC, the motor torque control is achieved with two hysteresis controllers, one for stator flux magnitude error and the other for the torque magnitude error. The selection of one switching vector per sampling time depends on the sign of these two controllers without inspections of the magnitude of the errors produced in the transient and dynamic situations per sampling time and level of the applied stator voltage.

3.1. Stator flux control

The stator voltage vector equation, in a stator reference frame, is given by:

Vṣ=Rs.Iṣ+dτ̣sdtE6

Where Rsis the stator resistance andVṣ=V+jV.

So

τ̣s=τ̣o+0tVṣ-Rs.IṣdtE7

For high speeds, the term Rs.Iṣcan be neglected, so the equation 7 is given by:

τ̣sτ̣o+0tVṣdtE8
τ̣ois the initial stator flux at the instantt0.

Because during one sampling periodTethe selected stator voltage vector is always constant, the last question becomes:

τ̣sk+1τ̣sk+Vṣ. TeE9
τ̣s=Vṣ. Te=τ̣sk+1-τ̣skE10

With:Teis the sampling period.

τ̣skis the stator flux vector at the actual sampling period.

τ̣sk+1is the stator flux vector at the next sampling period.

τ̣sis the variation of stator flux vector.

From equation 10, it is seen that the variation of the stator flux is directly proportional to the stator voltage; consequently the control is carried out by varying the stator flux vector by selecting a suitable voltage vector with the Voltage Source Inverter (VSI).

Figure 3 shows that the stator flux vector is varied in the same direction as the applied stator voltage vector. Therefore, applied a collinear stator voltage vector as the stator flux vector and in the same direction as it is a sufficiently condition to increase it, and vice versa. Indeed, to control the stator flux vector τ̣skan estimator of its module с̠sand its argument ϖ̠sis needed; the stator flux can be estimated from the measure of stator currents and voltages and their transformation in the αβ subspace, by integrating of difference between the input voltage and the voltage drop across the stator resistance as given by:

Figure 3.

Stator flux vector evolution in the αβ subspace

с=сPM+0tV-Rs.IdtE11
с=0tV-Rs.IdtE12

Note that сPMis the permanent magnet flux. From equations 11 and 12, the stator flux module and its argument are given by:

с̠s=с2+с2E13
ϖ̠s=tan-1tan-1(сс)E14

A two level hysteresis controller, as indicated in figure 3, is used to control the stator flux, which compares the reference stator flux сs*with the estimated stator fluxс̠s. The flux hysteresis comparator output is denoted by Boolean variableKсwhich indicates directly if the amplitude of flux must be increasedKс=1or decreasedKс=0: ifKс=1, it means that the actual value of the flux linkage is below the reference value and outside the hysteresis limit; so the stator flux must be increased, while ifKс=0, it means that the actual value of the flux linkages is above the reference value and outside the hysteresis limit; so the stator flux must be decreased.

The two level VSI, as shown in figure 1, is used to select proper voltage vectors from the output of flux and torque hysteresis controller (will be presented in the next part). The inverter has eight permissible switching states (V0, V1 … V7), out of which six are active (V1, V2… V6) and two zero or inactive states (V0 and V7). The voltage vector plane is divided into six sectors so that each voltage vector divides each region in two equal parts as shown in Figure 4. In each sector four of the six non-zero voltage vectors along with zero vectors may be used.

Figure 4.

Control of stator flux by selection of the suitable voltage vector Vi(i=0,...,7)

3.2. Torque control

The electromagnetic torque equation is defined as follows:

а=k.τ̣s.τ̣r=τ̣s.τ̣r.sin.sinϒE15
(15)

Where ϒis the angle between the rotor and the stator flux vectors and the constant k is expressed as (when Ld = Lq): k=3P2Lq

The equation 15 indicates that the electromagnetic torque depends to the rotor and stator amplitude, and the angleϒ. So, if the stator flux vector is perfectly controlled, by mean of the stator voltage vectorVṣ, in module and in position; consequently, the electromagnetic torque can be controlled by the same stator voltage vector.

Figure 5.

Three level hysteresis controller

Note that the electromagnetic torque can be controlled by mean of a two level comparator as the same as stator flux (see figure 3) or by using a three level comparator as shown in figure 5. In this work, a three level comparator has been used in order to minimize the switches commutation numbers and to have the two senses of the motor rotation. The output of this controller is represented by a Boolean variable KT which indicates directly if the amplitude of the torque must be increased, maintained constant or decreased, respectively, when KT is equal 1, 0 or -1. The goal of this controller is to maintain the torque variation аin the bandwidth [-εT, εT] chosen by the programmer of DTC algorithm. Indeed, this controller adjusts the torque variation generated by a comparator of electromagnetic torque reference (а*)and the estimated torque (а̠).

а=а*-а̠E16

3.3. Switching table for controlling flux and torque

According to the signal generated by the hysteresis controller of stator flux and electromagnetic torque presented in figure 3 and 5, respectively; just one voltage vector can be selected to adjust the torque and flux. The choice of this vector depends on the outputs of the torque and flux controller and the position of the stator flux vector, as shown in table 1.

KTθ 1θ 2θ 3θ 4θ 5θ 6
11V2V3V4V5V6V1
0V7V0V7V0V7V0
-1V6V1V2V3V4V5
01V3V4V5V6V1V2
0V0V7V0V7V0V7
-1V5V6V1V2V3V4

Table 1.

Takahashi and Noguchi switching table

3.4. Torque and flux estimator

In this chapter, two estimators of torque and stator flux will be presented.

3.4.1. Classical Torque and Flux Estimator (CTFE)

The figure 2 shows that the torque and stator flux can be estimated by measuring the mechanical position, stator voltages and currents. Indeed, the stator flux is estimated by using equations 11, 12 and 13. Whereas, the torque is estimated by using equation 17:

а̠=32PсI-сIE17

Note that the stator voltages used in this estimator can be measured directly by mean of two or three sensors, or indirectly by combining the measured DC bus voltage and the transistor states (Cs1, Cs3, Cs5) of the VSI.

VV=Udc231-12-12011Cs1Cs3Cs5E18

Cs1, Cs3 and Cs5 are the switching commands of each VSI leg and they are complementary. For the first leg (transistors S1 and S4), Cs1 is 1 if the upper switch (S1) is commanded to be closed and 0 if the lower one (S4) in commanded to be closed first.

The drawbacks of this estimation technique are: In addition to stator current sensors, at least one voltage sensor is necessary. In addition, the estimated torque and stator flux dependent to the stator resistance.

3.4.2. Robust Torque and Flux Estimator (RTFE)

In order to estimate stator flux and electromagnetic torque with this estimator, just current components and rotor position are measured without measuring stator voltages directly or by using transistor states and DC bus voltage sensor. The bloc diagram of this estimation technique is shown in figure 6.

The advantages of this NTFE are: Any stator voltage sensor is necessary to estimate stator flux or electromagnetic torque and the estimated stator flux and electromagnetic torque are independent to the stator resistance variations, which can improve the performances of the drive and reduce the cost of this equipment.

Figure 6.

Robust Torque and Flux Estimator structure

3.5. Speed PI controller synthesis

The speed closed loop with the PI controller is presented by the bloc diagram in Figure 7. To eliminate the zero effect due to corrector, the compensation method is used to the corrector synthesis. In this case the regulator parameters are given by the relationships: kp=JKT.Ϣwand ki=JKT.Ϣwwhere Ϣw=0.1second

Figure 7.

Closed loop PI speed controller

3.6. Simulation results

The PMSM parameters used in this simulation are shown in table II. These parameters will be used in all the simulations of this chapter.

Rated output power (Watt)Rated phase voltage (Volt)Magnetic flux linkage (Wb)
5001900.052
Rated torque (Nm)Rated speed (r/min)Maximum speed (r/min)
0.810006000
d-axis inductance (mH)q-axis inductance (mH)Inertia (Kg.m2)
3.33.30.003573
PolesStator resistance (Ω)friction coefficient (Nm.s/rd)
31.590.00047

Table 2.

PMSM parameters

The models of the PMSM, VSI and basic DTC algorithm are developed in Matlab/Simulink in order to examine the complete behaviour of the basic DTC. The sampling period has been chosen equal to 50 µs (20 KHz) for basic DTC. Various tests have been carried out in order to investigate the drive performance and to characterize the steady-state and transient behavior.

Figure 8.

Mechanical speed (on the left) and electromagnetic torque (on the right) tracking performance under load variations in case of basic DTC

Figure 9.

Stator current waveform at 800 rpm with nominal load under basic DTC

Figure 10.

Stator current spectrum at 800 rpm with nominal load (on the left) and Stator flux in (α,β) axes under load variations (on the right) in case of basic DTC

4. Fuzzy direct torque control for PMSM

4.1. FDTC strategy

Figure 11 shows the complete FDTC structure which combines FDTC and PI-Fuzzy speed controller. Indeed, the switching table used in basic DTC and the hysterisis controllers are replaced by a fuzzy switching table, whose inputs are electromagnetic torque and stator flux errors denoted respectively ΔГ and ΔФs, and the argument ϖsof the stator flux (should remain between±Ϟ).Whereas its outputs are the states of the VSI switches. In other hand, the classical speed PI corrector is replaced by a PI-Fuzzy speed controller in order to improve the dynamic performance of the DTC.

Figure 11.

Fuzzy logic switching table used in FDTC

Figure 12 shows the design of this fuzzy logic system in Matlab/Simulink and also the configuration of its inputs and outputs as membership functions.

Figure 12.

Matlab/Simulink design of the fuzzy logic switching table used in FDTC

4.2. Inputs fuzzification and outputs defuzzification

In order to examine the fuzzy logic contribution to DTC, the choice of the membership functions number for the fuzzification of flux and torque errors has been repected in this part, i.e two membership functions for ΔФs, because a two level hysteresis controller was utilized to control the stator flux in basic DTC. Whereas three membership functions for the fuzzification of ∆Г because a three level hysteris controller was used to adjust the torque.

4.2.1. Stator flux error fuzzification

Two trapezoidal membership functions are selected to fuzzify the stator flux error, so the following two fuzzy sets are used, N signify Negative and P for Positive. The parameters of these two functions are indicated in figure 13.

Figure 13.

Membership functions for stator flux error

4.2.2. Electromagnetic torque error fuzzification

Three trapezoidal membership functions are selected to fuzzify the torque error as shown in figure 14, so the following three fuzzy sets are used, N signify Negative, EZ for Zero and P for Positive.

Figure 14.

Membership functions for electromagnetic torque error

4.2.3. Stator flux angle fuzzification

The flux angle has a universe of discours equal 2Ϟradians, as shown in figure 15. It is divided into six zones or sectors in order to be equivalent to that of the basic DTC. “thetai” means sector i, i.e “theta1” means sector 1 (θ1) and so on.

Figure 15.

Membership functions for stator flux position

4.2.4. State switches defuzzification

The sole output control variable of fuzzy logic system is the inverter switching states S1, S3 and S5 or the selected voltage vector. Figure 16, illustrates the suggested output fuzzy set as singletons. Indeed, the choice of the stator volt dge vector is based on the rules indicated in table 3. Each control rule can be described using the state variables Δс, ΔΓ and θs and the control variables. The ith rule Ri can be written as: Ri : if Δс, is Ai, ΔΓ is Bi and θs is Ci then S1 is a, S3 is b and S5 is c

Where a, b and c are a boolean variable. Ai, Bi and Ci denote the fuzzy set of the variables Δс, ΔΓ and θs, respectively.whereas Ri is the control rule number i.

Figure 16.

Membership functions for state switches as singletons

4.3. Fuzzy logic switcher rules

The most important part of designing the fuzzy controller (fuzzy logic system) is to design the rule base, because it gouverns the behiviour of fuzzy controller and stores the expert knowledge on how to control the plant. The fuzzy associative memory of Mamdani rule base model to develop DTFC is as shown in Table 3.

Table 3.

Fuzzy logic switcher rules

4.4. PI-Fuzzy speed controller synthesis

The speed closed loop with the PI-Fuzzy controller structure is shown in Figure 17. The inputs of this FLC are the normalized values of the speed error denoted “e” and its rate of change denoted “de” that should remain between ±1. Wherefore, two scaling factors (Kne and KΔne) are used to normalize the actual speed error and its rate of change. The output of the controller is the normalized change of the motor torque command which generates the actual value of the motor torque demand when it’s multiplied by a third scaling factor (Knc).

Figure 17.

Closed loop PI-Fuzzy speed controller

Figure 18.

Membership functions for speed error

The membership functions used, in this chapter, for the inputs and the output are the same, as shown in figure 18. Where, the following fuzzy sets used in these membership functions: NG is negative big, NM is negative medium, NP is negative small, EZ is equal zero, PP is positive small, PM is positive medium and PG is positive big.

From the speed behavior analysis, the table 4 has been developed to obtain a good performance in the speed closed loop. Whereas, from the membership functions of inputs and the output, and the rules presented in this table, the FLC elaborates the electromagnetic torque reference to be developed by the PMSM.

e\∆eNGNMNPEZPPPMPG
PGEZPPPMPGPGPGPG
PMNPEZPPPMPGPGPG
PPNMNPEZPPPMPGPG
EZNGNMNPEZPPPMPG
NPNGNGNMNPEZPPPM
NMNGNGNGNMNPEZPP
NGNGNGNGNGNMNPEZ

Table 4.

PI-Fuzzy speed controller rules

4.5. Simulation results

The sampling period has been chosen equal to 100 µs (10 KHz) for FDTC; in order to compare this strategy with basic DTC; despite the fact that the sampling time used to simulate DTC is less than that used in case of FDTC.

Figure 19.

Mechanical speed (on the left) and electromagnetic torque (on the right) tracking performance under load variations in case of FDTC

Figure 20.

Stator current waveform at 800 rpm with nominal load under FDTC

Figure 21.

Stator current spectrum at 800 rpm with nominal load (on the left) and Stator flux in (α,β) axes under load variations (on the right) in case of FDTC

5. Direct Torque Control with Space Vector Modulation for PMSM

Figure 22 shows the DTC with SVM scheme for PMSM drive, this technique is a solution to overcome the drawbacks of the basic DTC by using the same torque and flux estimators and the same speed PI controller. In this modified DTC, torque and flux hysteresis controllers and the switching table used in basic DTC are replaced by a PI torque controller and a predictive calculator of vector voltage reference to be applied to stator coils of the PMSM.

Figure 22.

DTC-SVM scheme for PMSM drive

In the proposed scheme of DTC-SVM with speed loop control, shown in this figure, after correction of the mechanical speed through a PI controller, the torque PI controller delivers Vsq voltage to the predictive controller and also receives, more the reference amplitude of stator flux Φ*PM, information from the estimator namely, the position of the actual stator flux, estimated flux vector and measured current vector, where: сṣ=с+jсand iṣ=i+ji

After calculation, the predictive controller determinates the polar coordinates of stator voltage command vector Vsref̣=[Vsref,ϖsref]for space vector modulator, which finally generates the pulses S1, S3 and S5 to control the VSI.

5.1. Torque and flux control by means of SVM

The electromagnetic torque of the PMSM can be expressed as:

аem=32PτsrLdLqτPMLqsinsinϒ+12τsr(Ld-Lq)sinsinϒE19

Where ϒis the angle between the stator and rotor flux linkage (or the torque angle).

Above equation consist of two terms, the first is the excitation torque, which is produced by permanent magnet flux and the second term is the reluctance torque.

In the case where Ld = Lq=L, the expression of electromagnetic torque becomes:

аem=32PτsrLτPMsinsinϒE20

Under the condition of constant stator flux amplitude Φsr, by diffentiating equation 20 with respect to time, the rate of increasing of torque at t=0 can be obtained in equation 21.

dt=32PτsrLτPMcoscosϒdtE21

From equations 20 and 21, it can be seen that for constant stator flux amplitude Φsr and flux produced by Permanent Magnets (PM) ΦPM, the electromagnetic torque can be changed by control of the torque angle; quick dynamic reponse can be achieved by changing this angle as quickly as possible, this is the basis of DTC for PMSM (Tang et al., 2003). This is the angle between the stator and rotor flux linkage, when the stator resistance is neglected. The torque angle δ, in turn, can be changed by changing position of stator flux vector in respect to PM vector using the actual voltage vector supplied by PWM inverter.

When the PMSM drive, we distinguish between two cases:

  • Steady state: the angle δ is constant and its value is the load torque of the machine, while the stator flux and rotor rotate at the same speed is the synchronous speed.

  • The transient state, the angle δ is variable then the stator and rotor flux rotate at different speeds (see figure 23).

Figure 23.

Vector diagram of illustrating torque and flux control conditions

The change of the angle δ is done by varying the position of the stator flux vector relative to the rotor flux vector with the vector Vsref provided by the predictive controller to the power of the SVM. The figure 23 above shows the evolution of the stator flux vector at the beginning and the end of a period vector modulation. At the beginning, stator flux vector is at the position δ with an amplitude Φs, it’s at this moment that the predictive controller calculated the variation Δδ of the stator flux angle, it’s also at this same moment that the space vector modulator receives the new position and amplitude of the voltage vector that must be achieved at the end of the modulation period. Of course, this vector will allow the stator flux to transit to the location as defined by the predictive controller to adjust the torque fluctuations, and this by calculating the time of application of the adjacent vectors V1, V2 and V0 as well as their sequence that depends on the symmetry of the modulation vector.

The internal structure of the predictive torque and flux controller is shown in figure 24. So the average change Δδ of the angle δ is expressed as:

ϒ=TsddtArcsin(τsrLqIsq)E22

where: Ts is the sampling time.

Figure 24.

Internal structure of predictive controller used in DTC-SVM

From equation 22, the relation between error of torque and increment of load angle Δδ is non linear. In odrder to generate the load angel increment required to minimize the instantaneous error between reference and actual estimated torque; a PI controller has been applied as indicated in figure 24. The step change Δδ that corresponds to the torque error is added to the current position ϖ̠sof the stator flux vector to determine the new position of this vector at the next simple time.

The module and argument of the reference stator voltage vector is calculated by the following equations, based on stator resistance Rs, Δδ signal and actual stator flux argument:

Vsref=V-ref2+V-ref2E23
Vsref=arctan(arctan(V-refV-ref)E24

Where:

V-ref=τsrcoscos(ϖ̠s+ϒ)-τscoscosϖ̠sTs+Rs.IE25
V-ref=τsrsinsin(ϖ̠s+ϒ)-τssinsinϖ̠sTs+Rs.IE26

The figure 25 shows the application sequence of the two adjacent vectors and zero vector in the first sector of the vector Vsref. Indeed, after the vector modulation algorithm computation times T1, T2 and T0 successively apply the voltage vectors V1, V2 and V0, we choose the symmetry in the schematic figure 25 of dividing each modulation period Ts into two sequences and transistor control of the upper arms of the VSI, in the second half of the period are an image of themselves in relation to the vertical axis passing through the point Ts/2.

Figure 25.

Time sequences and applications of adjacent vectors in the first sector

So to have a fast transit of stator flux vector, very low flux ripple and fast torque response, the space vector modulator generates a voltage vector Vsrefgoverned by the following law:

Vsref=1TsT12V1+T22V2+T02V0+T02V0+T22V2T12V1E27

So at each modulation period and in this case, the sequence of adjacent vectors in the first sector is applied (V1-V2-V7-V7-V2-V1) respectively during the time T12,T22,T02,T02,T22,T12to rebuild the better the rotating vector.

Figure 26.

Stator current spectrum at 800 rpm with nominal load (on the left) and Stator flux in (α,β) axes under load variations (on the right) in case of DTC-SVM

5.2. Simulation results

The sampling period has been chosen equal to 100 µs (10 KHz) for DTC-SVM; in order to compare this strategy with basic DTC; despite the fact that the sampling time used to simulate DTC is less than that used in case of DTC-SVM. Whereas, the sampling frequencies used to simulate FDTC and DTC-SVM are equal; so as to compare these two techniques in the same conditions.

Figure 27.

Stator current waveform at 800 rpm with nominal load under DTC-SVM

Figure 28.

Stator current spectrum at 800 rpm with nominal load (on the left) and Stator flux in (α,β) axes under load variations (on the right) in case of DTC-SVM

6. Direct Torque Control with Sinusoidal Pulse with Modulation for PMSM

DTC-SPWM for PMSM is based on the same algorithm used in DTC-SVM already presented in figure 22, but instead of using SVM pulses generator, a simple and fast SPWM pulses generator is investigated to control the VSI. Indeed, after transformation of V-refand V-refproduced by the predictive controller (from the stator flux reference frame (α-β) to the (a-b-c) frame). These three signals, used as reference signals, will be compared with a triangular signal (figure 29); then the inverter is controlled by the SPWM.

In this proposed technique, the same flux and torque estimators and the predictive torque and flux controller as for the DTC-SVM are still used. Instead of the SVM generator, a SPWM technique is used to determine reference stator flux linkage vector. It is seen that the proposed scheme retains almost all the advantages of the DTC-SVM, such as no current control loop, constant switching frequency, low torque and flux ripple, etc. But, the main advantage of the DTC-SPWM is the simple algorithm of PWM (SPWM) used to control the VSI. Of course, the SVM algorithm needs more calculation time than SPWM and the same advantages of DTC-SVM will be obtained by using DTC-SPWM. Whatever is the load torque and speed variation, SPWM guarantees a constant switching frequency, which greatly improves the flux and torque ripples.

Figure 29.

Sinusoidal PWM pulses generator scheme

6.1. Simulation results

The sampling period has been chosen equal to 100 µs (10 KHz) for DTC-SVM; in order to compare this strategy with basic DTC; despite the fact that the sampling time used to simulate DTC is less than that used in case of DTC-SVM. Whereas, the sampling frequencies used to simulate FDTC and DTC-SVM are equal; so as to compare these two techniques in the same conditions.

Figure 30.

Stator current spectrum at 800 rpm with nominal load (on the left) and Stator flux in (α,β) axes under load variations (on the right) in case of DTC-SPWM

Figure 31.

Stator current waveform at 800 rpm with nominal load under DTC-SPWM

Figure 32.

Stator current spectrum at 800 rpm with nominal load (on the left) and Stator flux in (α,β) axes under load variations (on the right) in case of DTC-SPWM

7. Comparison of DTC strategies

To verify and to compare the four DTC strategies proposed in this chapter, digital simulations have been carried out, by using the environment Matlab/Simulink, for the same PMSM parameters and conditions, except the sampling frequency utilized to simulate basic DTC which was taken equal to 20 KHz while for the FDTC, DTC-SVM and DTC-SPWM was taken equal to 10 KHz. Taking into consideration those conditions, the strategies’ performances have been compared for both regimes dynamic and steady state.

Dynamic state: Figures 8, 26 and 30 shows that DTC, DTC-SVM and DTC-SPWM present the same speed and torque response time. Whereas, it’s seen in figure 19 that torque and speed response time was greatly improved; at start time and at load toque or speed set-point variation. Indeed, speed FLC used in FDTC improves the dynamic state performances when compared to speed PI controller used in the other strategies.

Steady state: Figure 10 (on the left) show the spectral analysis of current presented in figure 10, it’s seen that the Total Harmonic Distortion (THD) of the current waveform under basic DTC is 13.93 %. Whereas, figure 21 show that FDTC allows to decrease the THD value to 5.27 % with a variable switching frequency as indicated in the current spectral analysis. In addition, torque and stator flux ripple are reduced in case of FDTC in comparison with basic DTC, and also the current quality was improved. Figure 28 (on the left) shows that the current THD under DTC-SVM is 3.5 %, which is smother than that of basic DTC and FDTC. Also, it’s seen that torque and flux ripples are greatly reduced under DTC-SVM when compared to DTC and FDTC (compare figures 26 and 28 with figures 8, 10, 19 and 21). Figure 32 shows that the THD of the current waveform under DTC-SPWM is 3.85%, which is almost the same as DTC-SVM, also DTC-SVM guarantees a constant switching frequency; as shown in figure 32 which allow to reduce torque and flux ripple as the same as DTC-SVM. Furthermore, the calculation time of the DTC-SPWM is much inferior to the DTC-SVM, this is because SPWM algorithm is very simple than SVM. Note that the SVM symmetry used in this work eliminates the harmonics which are around the uneven switching frequency (Chikh et al., 2011a). The same performances for DTC-SVM and DTC-SPWM can be obtained if an asymmetric SVM has been used instead of symmetrical SVM.

8. Effect of PMSM parameters variations and their compensation

This part is devoted to compare two speed controllers performances used in DTC under PMSM parameters variations. Also, a comparison between classical and novel torque and flux estimators has been developed in order to show their performances under PMSM parameters variations.

8.1. PI and FLC performances

Figure 33 shows the rotation speed and motor torque evolution for PMSM DTC strategy by using PI speed controller (green color) and speed FLC (red color). Indeed, the FLC has exhibited high performance in tracking the speed reference, as compared with speed PI controller. This figure confirms that the motor torque response with fuzzy controller is faster than PI controller during the start up regime and during a step change in load torque. The speed dynamic state imposes the motor torque response time because these two variables are regulated in cascade: the inner loop controls the motor electromagnetic torque and the outer loop regulates the motor rotation speed.

Figure 33.

Rotation speed (on the left) and motor torque (on the right) performances under DTC for PMSM drive by using speed PI controller (green color) or speed FLC (red color)

8.2. Classical and novel estimators under stator resistance variation

The simulation results presented in this part shows the robustness of the classical and the novel flux and torque estimators, described at the beginning of this chapter, under stator resistance variation. Figure 34 shows the stator resistance variation applied to examine DTC for PMSM drive by using classical or novel estimator. In this case, the value of stator resistance was changed from the nominal value 1.59 Ω to the double of this value 3.18 Ω. Where, the reference stator flux and load torque are kept constant at 0.052 Wb and 0.8 Nm, respectively.

Figure 34.

Stator resistance variation

Figure 35.

Motor torque (on the left) and stator flux (on the right) evolution by using classical estimator (green color) or by using novel estimator (red color)

Figure 36.

Stator current waveform in case of classical estimator (on the left) and novel estimator (on the right)

It’s seen in figure 35 that the estimated stator flux was affected, when the stator resistance was changed at t=0.75 s; when the stator flux was estimated by using classical estimator. This figure shows that, in spite of stator resistance variation, the stator flux was maintained constant when it is estimated by the novel estimator, because this estimator does not depends to the stator resistance variation. This stator flux deviation is normal and forecasted because the estimated flux value by using classical estimator depends on the stator resistance. When the PMSM stator resistance varies; while this classical estimator still uses the nominal stator resistance to estimate the actual stator flux; the estimated stator flux differ significantly from the real stator flux.

As shown in figure 35, the torque and flux ripples are increased when stator resistance varies in case of classical estimator, because the stator flux deviation causes the DTC algorithm to select a wrong switching state, which can result in unstable operation of the PMSM. Indeed, figure 36 shows that the stator current waveform in case of the novel estimator presents a good THD than the current in case of classical estimator, this is due to the wrong selection of the switching state.

8.3. Classical and Robust estimators under PMSM parameters variation

The simulation results below presents the DTC for PMSM performances in case of speed PI controller and Robust estimator, and speed FLC and this estimator under motor parameters variation, which are stator resistance, friction coefficient and motor inertia. Figure 37 (on the left) shows the variations, of these three parameters, applied to examine DTC robustness: the stator resistance was changed from the nominal value 1.59 Ω to the double of this value 3.18 Ω, the friction coefficient was changed from the nominal value f=0.00047 Nm.s/rd to f1=100*f and the motor inertia was changed from the nominal value J=0.003573 Kg.m2 to J1=100*J.

It’s seen in figure 37 (on the right) that the speed FLC allows to achieve a faster response and reject the perturbations (motor parameters variations), whereas the speed PI controller takes much time, in comparison with FLC, to reject these perturbations. Also, a faster motor torque response has been achieved with speed FLC compared to speed PI controller; as shown in figure 38 (on the left). Indeed, combining speed FLC and the novel estimator allow DTC for PMSM to reject stator resistance variation thanks to this estimator and reject motor inertia and friction coefficient thanks to speed FLC, which is shown in figure 38 (on the right).

Figure 37.

PMSM parameters variation (on the left) and rotation speed evolution (on the right) in case of DTC for PMSM drive using speed PI controller and novel estimator (green color), and speed FLC and novel estimator (red color)

Figure 38.

Motor torque (on the left) and stator flux (on the right) in case of DTC for PMSM drive using speed PI controller and novel estimator (green color), and speed FLC and novel estimator (red color)

9. Conclusion

Another solution has been presented to overcome the problems associated to DTC for PMSM in case of motor parameters variation and/or nonlinear operating conditions, which utilize speed FLC and an independent stator resistance estimator. Of course, MATLAB Book 1 FDTC allows rejecting the perturbations and minimizing torque and flux ripple. For all these reasons, a fixed switching frequency (DTC-SVM or DTC-SPWM) presented in this chapter can be combined with speed FLC and this independent stator resistance estimator to develop a robust DTC for PMSM.

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Khalid Chikh, Mohamed Khafallah and Abdallah Saâd (September 26th 2012). Improved DTC Algorithms for Reducing Torque and Flux Ripples of PMSM Based on Fuzzy Logic and PWM Techniques, MATLAB - A Fundamental Tool for Scientific Computing and Engineering Applications - Volume 1, Vasilios N. Katsikis, IntechOpen, DOI: 10.5772/48503. Available from:

chapter statistics

6061total chapter downloads

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

Related Content

This Book

Next chapter

Position Estimation of the PMSM High Dynamic Drive at Low Speed Range

By Konrad Urbanski

Related Book

First chapter

Simulation of Piecewise Hybrid Dynamical Systems in Matlab

By Fatima El Guezar and Hassane Bouzahir

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More about us