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

© 2012 Chikh et al., licensee InTech. This is an open access chapter distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Improved DTC Algorithms for Reducing Torque and Flux Ripples of PMSM Based on Fuzzy Logic and PWM Techniques


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

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.
Where Udc is the DC bus voltage and Cs1, Cs3, Cs5 are the transistor states.

Modeling of the PMSM
The stator voltages equation for a PMSM in the rotor oriented coordinates d-q can be expressed as: 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 is the mechanical speed.
And the electromagnetic torque equation in the rotor oriented coordinates d-q can be expressed as (3): Where Φsd and Φsq are d -q components of the stator flux linkage, which are expressed as: Finally, when the dry friction torque is neglected; the motion equation is expressed as: Where J moment of inertia, Гr motor load and fr damping constant.

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

Stator flux control
The stator voltage vector equation, in a stator reference frame, is given by: Where R is the stator resistance and V = V + jV .
For high speeds, the term R . I can be neglected, so the equation 7 is given by: Φ is the initial stator flux at the instant t .
Because during one sampling period T the selected stator voltage vector is always constant, the last question becomes: With: T is the sampling period. Φ (k) is the stator flux vector at the actual sampling period. Φ (k + 1) is the stator flux vector at the next sampling period. ∆Φ is 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 Φ (k) an estimator of its module Ф and its argument θ is 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: Note that Ф is the permanent magnet flux. From equations 11 and 12, the stator flux module and its argument are given by: A two level hysteresis controller, as indicated in figure 3, is used to control the stator flux, which compares the reference stator flux Ф * with the estimated stator flux Ф . The flux hysteresis comparator output is denoted by Boolean variable K Ф which indicates directly if the amplitude of flux must be increased K Ф = 1 or decreased K Ф = 0 : if K Ф = 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 if K Ф = 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.

Torque control
The electromagnetic torque equation is defined as follows: Where δ is the angle between the rotor and the stator flux vectors and the constant k is expressed as (when Ld = Lq): 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 vector V , in module and in position; consequently, the electromagnetic torque can be controlled by the same stator voltage vector.
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 (Г ).

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.

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

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

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.

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: k = . and k = . where τ = 0.1 second

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.   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 θ of 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.

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.

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.

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.

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.

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.

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.

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

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 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. After calculation, the predictive controller determinates the polar coordinates of stator voltage command vector V = [V , θ ] for space vector modulator, which finally generates the pulses S1, S3 and S5 to control the VSI.

Torque and flux control by means of SVM
The electromagnetic torque of the PMSM can be expressed as: 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: 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.
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 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: where: Ts is the sampling time. 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 θ of 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: Where: 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.
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 , , , , , to rebuild the better the rotating vector.

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 and V produced 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.

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.

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.

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

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

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.m 2 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)