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

182 MATLAB – A Fundamental Tool for Scientific Computing and Engineering Applications – Volume 1

**Figure 19.** Mechanical speed (on the left) and electromagnetic torque (on the right) tracking

**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 (α,β)

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

**4.5. Simulation results** 

simulate DTC is less than that used in case of FDTC.

performance under load variations in case of FDTC

axes under load variations (on the right) in case of FDTC

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:

$$
\overrightarrow{\mathbf{\upphi\_s}} = \mathbf{\upphi\_{s\alpha}} + \mathbf{j\upphi\_{s\beta}} \text{ and } \mathbf{\uptau\_s} = \mathbf{i\_{s\alpha}} + \mathbf{j\_{s\beta}}
$$

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.
