1 Introduction

The great developments of adjustable speed drive systems have brought very good prospects to use IMs in most industrial applications. However, the speed and torque control of IMs are still a considerably laborious task due to requiring complex control and transformation algorithms. Up to now, various control techniques have been developed for IMs, but Direct Torque Control (DTC) has risen to more prominence, since it was first introduced in the mid-1980s [1, 2]. Compared to Field-Oriented Control (FOC), DTC drives have many superiorities, such as quick and precise torque response, simple structure, and robustness against motor parameters [3, 4].

In DTC drives, two-level voltage source inverters are very much preferred for low-power applications, but different inverter topologies are necessary to use for high-power applications or to produce waveforms that are more sinusoidal in shape. The three-level NPC inverter is one of the most commonly used multilevel inverter topologies in variable-speed industrial drives [5]. Compared to the standard two-level inverters, the semiconductor switches are exposed to a much lower voltage change rates (dv / dt), and in addition, the output voltage includes less harmonic contents. Because of the superiorities mentioned earlier, the three-level NPC inverter-fed DTC drives have gained popularity in industrial applications.

The conventional switching table cannot be directly extended to three-level inverter-fed DTC drives. During the selection of optimum switching states in three-level NPC inverter, two requirements, the neutral-point voltage balance and the soft commutation, need to be carefully satisfied. The neutral-point voltage unbalance will cause an uneven voltage distribution, which may lead to the premature failure of switches and increase harmonic contents in the inverter output voltages [4, 6]. Similarly, hard commutation, is known as the transition from p to n switching state, or vice versa, will give rise to excessive voltage jumps, which may also produce more harmonic contents in both phase and line voltages [4, 6]. Furthermore, one switching device will also be exposed to full DC bus voltage during hard commutation [4]. Thus, soft commutation, is the transition from p to o, or from n to o, or vice versa, is crucially necessary to achieve the optimum vector selection and to ensure the safe operation of inverter. On the other hand, variable switching frequency and torque ripples caused by the presence of hysteresis controllers in classical DTC are another problem that should be solved.

Most of the literatures focus on the improvement of switching strategies for multilevel NPC inverter-based DTC drives, as presented in [510]. In [5], a hybrid DTC drive with five-level NPC inverter is presented. Switching patterns are generated using multi-carrier-based Space-Vector Modulation (SVM) technique, and hence, switching frequency is kept constant and other aforesaid requirements are also satisfied. However, this modulation block needs long computation time to calculate the dwell times, because it contains many trigonometric functions. In [6], two-level discrete SVM method is extended so as to use in three-level NPC inverter-fed DTC drives. Some assumptions have been made to constitute the switching sequences and to obtain the dwell time of each voltage vector. Therefore, the complexity of algorithm is reduced, and the computation time is quite decreased. The studies in [7, 8] propose a new switching strategy for the voltage vector selection in three-level NPC inverter. These schemes are based on the traditional hysteresis controllers associated with a specific switching table. Differently from the previous studies [7, 8], in [9], the selection strategy of optimum voltage vector is divided into two regions based on the operating frequency of machine (low- and high-frequency operation), and separate switching schemes are proposed for these two regions of operation. All procedures given in [79] do not require long computation time, but switching frequency is still variable. In [10], classical three-level SVM is proposed for the selection of optimum voltage vectors, but the computation time is long, because it contains classical time equations.

The studies given above can be shown that SVM is an attractive candidate to meet the demands of all requirements for three-level NPC inverter, but it contains an excessive computational effort when implementing to multilevel inverters. Therefore, many researchers have only concentrated on simplifying three-level SVM technique, as reported in [1115]. In [11], the determination of switching sequence and the calculation of voltage vector dwell time are done as the conventional two-level SVM method. Likewise, a general algorithm based on the standard two-level SVM is proposed in [12]. The studies in [13, 14] propose a simple and general method for multilevel inverters. To reduce computational complexity, a Euclidean vector system in [13] and \(60^\circ \) coordinate system in [14] are introduced. However, [14] can only be applied to the cascaded H-bridge multilevel inverters. Thus, a new simplified three-level SVM technique, in particular, for DTC drives is specified as an aim of this study.

In the recent years, for a speed-sensorless DTC drive, various techniques have been developed; particularly observers and adaptive systems are commonly used to estimate the control variables. Adaptive flux observer [6], model reference adaptive system [16, 17], and sliding-mode observer [18, 19] have been performed for the estimation of speed and other variables. Moreover, many studies related to EKF-based observers have also been proposed for IM drives. In [20, 21], rotor speed is estimated directly as a constant parameter by full-order EKF. Reduced-order EKF is also used for speed estimation in vector-controlled drives, as given in [22, 23], and rotor resistance is also identified simultaneously as well as rotor speed in [23]. Unlike the previous EKF algorithms, the study in [24] has presented an extended machine model in which rotor speed is estimated as a state by taking the equation of motion into account. In [25], the simultaneous estimations of rotor speed, load torque, stator resistance, and flux are demonstrated using single EKF for DTC drives. In [26], a new method, namely, Braided EKF, has been developed for the estimation of stator and rotor resistances together with load torque, flux, and rotor speed simultaneously. This method involves two EKF algorithms that operate consecutively at every time step to overcome problems faced when a high number of states and parameters are to be estimated with a single EKF [26]. Finally, two-cascaded EKF algorithm, where the first EKF estimates rotor resistance and the second EKF fed by the outputs of the first EKF is used to estimate stator resistance and rotor speed, is proposed in [27].

The major contribution of this study is the development of a new switching method to use in DTC drives with three-level NPC inverter. In this scheme, classical three-level SVM technique is modified with a new simplification algorithm, so it allows a simple implementation which requires only the use of comparators (no need of any trigonometric function). In addition, it is improved considering the circuit limitations, such as the neutral-point balance and the soft commutation. In addition, rotor speed, load torque, and stator resistance are estimated simultaneously using EKF-based observer to enhance the performance of DTC drive over a wide speed range. Numerous simulation results are presented to verify the proposed drive system for all possible operations.

Fig. 1
figure 1

Simplified circuit diagram of three-level NPC inverter

Table 1 Switching states of three-level NPC inverter

The paper is organized as follows. After an introduction of three-level NPC inverter in Sect. 2, the basic principles of DTC drive with the mathematical model of IM are discussed in Sect. 3. Next, the development of the simplified three-level SVM method is introduced in Sect. 4, and the extended IM model and EKF algorithm are briefly studied for rotor speed, load torque, and stator resistance estimations in Sect. 5. Finally, the simulation results and conclusions are presented in Sects. 6 and 7, respectively.

2 Three-level neutral-point clamped inverter

The simplified circuit diagram of a three-level NPC inverter is shown in Fig. 1. Each phase leg consists of four switches \(S_{x1}\)\(S_{x4}\) with four freewheeling diodes \(D_{x1}\)\(D_{x4}\), where x subscript denotes one of the phase legs A, B, or C. The DC bus voltage \(U_{dc}\) is divided into two equal parts by the line capacitors \(C_{d1}\) and \(C_{d2}\). In this way, each capacitor voltage is equal to half of DC bus voltage and a neutral-point N is provided. The clamping diodes \(D_{zx1}\) and \(D_{zx2}\) are used to clamp the output terminal to the neutral-point N. This neutral-point N generates an additional voltage level. Therefore, the waveform of output terminal contains three voltage levels \(+U_{dc}/2\), 0 and \(-U_{dc}/2\) with the neutral point as a reference.

The operating status of switches can be represented by a switching state, as given in Table 1. A three-phase three-level inverter generates \(3^3=27\) admissible switching states. In these switching states, e.g., \(\bar{u}_{7}=pon\), first switching state corresponds to the operation of phase leg A and other switching states denote the operation of phase legs B and C, respectively. Although there are 24 active and 3 zero switching states, some of them apply the same voltage vector to the machine. Therefore, 19 different vectors are available. According to the modulus of each vector, they are classified into four groups: zero vector \(\bar{u}_{0}\), small vectors \(\bar{u}_{1}-\bar{u}_{6}\), medium vectors \(\bar{u}_{7}-\bar{u}_{12}\), and large vectors \(\bar{u}_{13}-\bar{u}_{18}\) and are expressed as follows:

$$\begin{aligned} \bar{u}_{k}= {\left\{ \begin{array}{ll} \frac{1}{3}U_{dc}e^{j\left( k-1\right) \frac{\pi }{3}} &{} \text {if } k = 1,2, \ldots ,6 \\ \frac{\sqrt{3}}{3}U_{dc}e^{j\big (\left( k-7\right) \frac{\pi }{3}+\frac{\pi }{6}\big )} &{} \text {if } k = 7,8, \ldots ,12 \\ \frac{2}{3}U_{dc}e^{j\left( k-13\right) \frac{\pi }{3}} &{} \text {if } k = 13,14, \ldots ,18 \end{array}\right. } \end{aligned}$$
(1)

where for \(k=0\) and \(\bar{u}_{k}=0\), it gives \(\bar{u}_{0}\) voltage vector. A graphical representation of these vectors in the stationary reference frame is shown in Fig. 2.

Fig. 2
figure 2

Voltage vector diagram for three-level inverter

3 Induction motor model and basic principle of DTC

A mathematical model of an IM in the stationary reference frame is given as follows:

$$\begin{aligned} \bar{u}_{s}= & {} R_{s}\bar{i}_{s}+\frac{d\bar{\psi }_{s}}{dt} \end{aligned}$$
(2)
$$\begin{aligned} 0= & {} R_{r}\bar{i}_{r}+\frac{d\bar{\psi }_{r}}{dt}-jN_{p}\omega _{m}\bar{\psi }_{r} \end{aligned}$$
(3)
$$\begin{aligned} \bar{\psi }_{s}= & {} L_{s}\bar{i}_{s}+L_{m}\bar{i}_{r} \end{aligned}$$
(4)
$$\begin{aligned} \bar{\psi }_{r}= & {} L_{s}\bar{i}_{r}+L_{m}\bar{i}_{s} \end{aligned}$$
(5)

where \(\bar{u}_{s}\), \(\bar{i}_{s}\), \(\bar{i}_{r}\), \(\bar{\psi }_{s}\), and \(\bar{\psi }_{r}\) are the stator voltage vector, stator current vector, rotor current vector, stator flux vector, and rotor flux vector, respectively. \(R_{s}\), \(R_{r}\), \(L_{s}\), \(L_{r}\), and \(L_{m}\) are the stator resistance, rotor resistance, stator inductance, rotor inductance, and mutual inductance, respectively. \(N_{p}\) is the number of pole pairs and \(\omega _{m}\) is the rotor speed. The electromagnetic torque \(t_{e}\) is

$$\begin{aligned} t_{e}=\frac{3}{2}N_{p}\left( \bar{\psi }_{s}\times \bar{i}_{s}\right) \end{aligned}$$
(6)

and, in addition, the equation of motion is

$$\begin{aligned} t_{e}=t_{L}+J_{L}\frac{d\omega _{m}}{dt}+f_{d}\omega _{m} \end{aligned}$$
(7)

where \(t_{L}\) is the load torque, \(J_{L}\) is the moment of inertia, and \(f_{d}\) is the viscous friction.

From Eq. 2, it can be seen that if the ohmic voltage drop is neglected, the stator flux can be controlled directly with the stator voltage vectors. This is a crude analysis to understand the principle of DTC clearly.

The electromagnetic torque can be expressed as

$$\begin{aligned} \displaystyle {t_{e}=\frac{3}{2}N_{p}\frac{L_{m}}{\sigma L_{s}L_{r}}\left( \bar{\psi }_{s}\times \bar{\psi }_{r}\right) =\frac{3}{2}N_{p}\frac{L_{m}}{\sigma L_{s}L_{r}}|\bar{\psi }_{s}||\bar{\psi }_{r}|\sin \gamma } \end{aligned}$$
(8)

where \(\sigma =1-L_{m}^2/\left( L_{s}L_{r}\right) \) and \(\gamma \) is the angle between the stator and rotor flux vectors. It follows from Eq. 8 that the electromagnetic torque can be rapidly changed by varying the angle \(\gamma \) in required direction when the amplitude of stator flux vector is kept constant. Thus, the desired flux locus can be obtained easily by selecting the optimum stator voltage vectors.

In the conventional DTC scheme, the flux vector is determined as follows:

$$\begin{aligned} \bar{\psi }_{s}=\int \left( \bar{u}_{s}-R_{s}\bar{i}_{s}\right) \,dt \end{aligned}$$
(9)

From Eq. 9, the estimated stator flux only depends on the stator resistance. However, it has a wide variation 0.75–1.7 times its nominal value due to temperature and frequency variations. The variations in the stator resistance degrade the drive performance by occurring errors in the magnitude and position of the estimated flux vector and hence in the torque estimation, especially at low-zero speeds.

Fig. 3
figure 3

Transformation from the \(\alpha -\beta \) to \(g-h\) reference frames for sector 1. a \(\alpha -\beta \) reference frames. b \(g-h\) reference frames

4 Simplified three-level SVM

Three-level SVM technique has a complicated structure due to requiring high computational effort for determining the location of reference vector, the calculation of dwell times, and the determination and selection of switching states. In the proposed SVM scheme, the \(g-h\) reference frame (or namely, \(60^\circ \) reference frame in [14]) is used to reduce this computational complexity. It also eliminates the need for using trigonometric functions. Therefore, it is very simple and easy for digital implementation.

4.1 Coordinate transformation

The values \(u_{s\alpha }\) and \(u_{s\beta }\) of the reference voltage vector are transformed in the gh planes by the following transformation matrix:

$$\begin{aligned} \left[ \begin{matrix} u_{sg} \\ u_{sh} \end{matrix}\right] =\frac{3}{U_{dc}} \begin{bmatrix} 1&-\frac{1}{\sqrt{3}} \\ 0&\frac{2}{\sqrt{3}} \end{bmatrix} \left[ \begin{matrix} u_{s\alpha } \\ u_{s\beta } \end{matrix}\right] \end{aligned}$$
(10)

Transformation from the \(\alpha -\beta \) to \(g-h\) reference frames for only sector 1 is illustrated in Fig. 3. All inverter voltage vectors in the \(g-h\) reference frame are also shown in Fig. 4.

Fig. 4
figure 4

All voltage vectors and their dwell times in the \(g-h\) reference frames

4.2 Detection of the nearest three vectors

As shown in Fig. 4, the space-vector diagram is divided into six triangular sectors (sectors 1–6) and each of which is further divided into four small triangular regions (regions 1–4) to decide the nearest three vectors to the reference vector. The reference vector may fall into any region of vector space. However, the location of the reference vector is easily determined utilizing the \(g-h\) reference frame. From the values \(u_{sg}\) and \(u_{sh}\) of the reference vector, the sector where it lies can be directly found when simple rules given in Table 2 are applied [15]. Similarly, the endpoint of the reference vector is also determined to be in which region of the related sector. All rules for sectors 1–6 are given in Table 3. All these rules are derived from Fig. 5.

In this method, the apexes of \(\triangle ABC\) or \(\triangle BCD\), which includes the reference vector, correspond to the nearest three vectors, e.g., assuming that the end point of the reference vector falls into region 2 of sector 1, as shown in Fig. 4. In this case, \(\bar{u}_B=\bar{u}_1\), \(\bar{u}_C=\bar{u}_2\), and \(\bar{u}_D=\bar{u}_7\) are selected as the nearest three vectors.

Table 2 Determination of the sector from \(u_{sg}\) and \(u_{sh}\)

4.3 Calculation of the dwell times

The dwell time of each voltage vector is shown in Fig. 4, where it can be seen that there are two different settlement layouts for the dwell times so as to facilitate the calculations. First settlement dedicated to sector 1 is valid for all odd sectors, whose layouts are obtained from the projection of settlement in sector 1 onto the related odd sectors. Other settlement is demonstrated in sector 4. Similarly, it is valid for all even sectors and they are obtained from the projection of settlement in sector 4 onto the related even sectors.

Table 3 Determination of the region and the nearest three vectors from \(u_{sg}\) and \(u_{sh}\) for all sectors
Fig. 5
figure 5

\(g-h\) components of reference vector in different sectors

The reference vector \(\bar{u}_{ref}\) is synthesized by the nearest three vectors to minimize the voltage harmonic distortion. In the classical SVM method, the equations required for the calculation of dwell times change according to the region that the reference vector locates into. However, it is enough to establish only two equations for \(\triangle ABC\) and \(\triangle BCD\) in the proposed scheme. First equation can be written for \(\triangle ABC\) as

$$\begin{aligned} \begin{aligned}&\bar{u}_{A}T_{a}+\bar{u}_{B}T_{b}+\bar{u}_{C}T_{c}=\bar{u}_{ref}T_{z}\\&T_{a}+T_{b}+T_{c}=T_{z} \end{aligned} \end{aligned}$$
(11)

where \(T_{a}\), \(T_{b}\), and \(T_{c}\) are the dwell times for \(\bar{u}_{A}\), \(\bar{u}_{B}\), and \(\bar{u}_{C}\), respectively. \(T_{z}\) is the switching period. Splitting Eq. 11 into the g and h parts, we have

$$\begin{aligned} \begin{aligned}&u_{Ag}T_{a}+u_{Bg}T_{b}+u_{Cg}T_{c}=u_{sg}T_{z} \\&u_{Ah}T_{a}+u_{Bh}T_{b}+u_{Ch}T_{c}=u_{sh}T_{z} \end{aligned} \end{aligned}$$
(12)

To solve these equations, \(u_{Bg}=u_{Ag}+1\), \(u_{Cg}=u_{Ag}\) and \(u_{Bh}=u_{Ah}\), \(u_{Ch}=u_{Ah}+1\) can be defined from Fig. 4 and substituting into Eq. 12, then

$$\begin{aligned} \begin{aligned}&T_{b}=\left( u_{sg}-u_{Ag}\right) T_{z} \\&T_{c}=\left( u_{sh}-u_{Ah}\right) T_{z} \\&T_{a}=T_{z}-T_{b}-T_{c} \end{aligned} \end{aligned}$$
(13)

where \(u_{Ag}\) and \(u_{Ah}\) are the solution points for \(\triangle ABC\) and they are obtained from \(u_{Ag}=floor\left( u_{sg}\right) \) and \(u_{Ah}=floor\left( u_{sh}\right) \). floor rounds elements to the nearest integers towards minus infinity. Second equation can be written for \(\triangle BCD\) as follows:

$$\begin{aligned} \begin{aligned}&\bar{u}_{B}T_{b}+\bar{u}_{C}T_{c}+\bar{u}_{D}T_{d}=\bar{u}_{ref}T_{z} \\&T_{b}+T_{c}+T_{d}=T_{z} \end{aligned} \end{aligned}$$
(14)
Fig. 6
figure 6

Proposed speed-sensorless SVM-DTC drive with three-level NPC inverter

where \(T_{d}\) is the dwell times for \(\bar{u}_{D}\). If similar procedure is repeated for \(\triangle BCD\) equations, the dwell times can be obtained as

$$\begin{aligned} \begin{aligned}&T_{b}=\left( u_{Dh}-u_{sh}\right) T_{z} \\&T_{c}=\left( u_{Dg}-u_{sg}\right) T_{z} \\&T_{d}=T_{z}-T_{b}-T_{c} \end{aligned} \end{aligned}$$
(15)

where \(u_{Dg}\) and \(u_{Dh}\) are the solution points for \(\triangle BCD\) and they are found from \(u_{Dg}=ceil\left( u_{sg}\right) \) and \(u_{Dh}=ceil\left( u_{sh}\right) \). ceil rounds elements to the nearest integers towards plus infinity. For instance, assuming that \(u_{sg}=0.9\) and \(u_{sh}=0.8\). It is deduced from Tables 2 and 3 that this reference vector lies into region 2 of sector 1. Hence, the nearest three vectors \(\bar{u}_1\), \(\bar{u}_2\), and \(\bar{u}_7\) are on the apexes of \(\triangle BCD\), as shown in Table 3, and their corresponding dwell times are calculated by Eq. 15. To evaluate Eq. 15, the solution points must be determined, i.e., \(u_{Dg}=ceil\left( 0.9\right) =1\) and \(u_{Dh}=ceil\left( 0.8\right) =1\). Thus, the dwell times are calculated as \(T_b=0.2T_z\), \(T_c=0.1T_z\), and \(T_d=0.7T_z\).

4.4 Design of switching sequences

The last step is to design switching sequences considering the aforementioned two requirements. The variation of neutral-point voltage depends on the selected voltage vectors, i.e., small vectors have a vital influence on the neutral-point voltage and medium vectors also affect the voltage deviation, but its direction is indefinable. Conversely, zero and large vectors do not play any role in the voltage deviation.

The possible switching state of a small vector is two, that is, p- and n-type redundant vectors. When the p-type small vector contains only p and o switching states, the n-type contains only n and o states, e.g., \(\bar{u}_{1p}\left( poo\right) \) and \(\bar{u}_{1n}\left( onn\right) \) redundant vectors denote the p- and n-types of \(\bar{u}_1\), respectively. The p-type small vector exhibits opposite effect on the neutral-point potential with respect to the n-type, or vice versa. Therefore, the balance of neutral-point voltage can be accomplished by exploiting the opposite effect of redundant vectors on the neutral-point voltage. To minimize the neutral-point voltage deviation, the dwell time of a small vector should be equally shared between the p- and n-type switching states in each switching period.

Table 4 Selected switching sequences and their dwell times for sectors 1 and 2

The soft commutation is another essential issue to be considered when the switching states are aligned in a certain order. It should be noted that the transition from p to n switching states is not allowed due to some limitations of NPC inverter. On the other hand, the transition from one switching state to the next should involve only two switches in the same inverter leg. If the switching states are aligned in the directions of arrows shown in Fig. 4 and their dwell times are distributed appropriately, the desired switching sequences can be achieved to generate symmetrical PWM pulses. The given arrow directions for sector 1 are identical to all odd sectors. Similarly, the directions in sector 2 are valid for all even sectors. Table 4 shows the summary of selected switching sequences with their corresponding dwell times for all regions in sectors 1 and 2 over \(T_z/2\). Note that each switching pattern during \(T_z/2\) is repeated inversely in the next \(T_z/2\) interval to generate symmetrical PWM waves.

Briefly, determining the location of the reference vector and calculating the dwell times for the nearest three vectors in the proposed method are realized as in the following steps:

  1. Step 1:

    Obtain the references \(u_{s\alpha }\) and \(u_{s\beta }\) from the proposed controller, as given in Fig. 6.

  2. Step 2:

    Perform the transformation from the \(\alpha -\beta \) to \(g-h\) using Eq. 10 for \(u_{sg}\) and \(u_{sh}\).

  3. Step 3:

    Determine the location of the reference vector utilizing Tables 2 and 3.

  4. Step 4:

    Determine the nearest three vectors and save their switching states from Table 3 and Fig. 2, respectively.

  5. Step 5:
    • If the nearest three vectors are on the apexes of \(\triangle ABC\), calculate \(T_{a}\), \(T_{b}\), and \(T_{c}\) from Eq. 13.

    • Or else, they are on the apexes of \(\triangle BCD\), then calculate \(T_{b}\), \(T_{c}\), and \(T_{d}\) from Eq. 15.

  6. Step 6:

    Design the switching sequences considering the neutral-point balance and the soft commutation, as given in this section.

$$\begin{aligned} \begin{aligned}&x(t)=\begin{bmatrix}i_{s\alpha }(t)&i_{s\beta }(t)&\psi _{s\alpha }(t)&\psi _{s\beta }(t)&\omega _{m}(t)&t_{L}(t)&R_{s}(t) \end{bmatrix} \,\, , \,\, u(t)=\begin{bmatrix}i_{s\alpha }(t)&i_{s\beta }(t) \end{bmatrix} \\&A(x(t))=\begin{bmatrix} -\left( \frac{R_s(t)}{\sigma L_s}+\frac{1}{\sigma \tau _r}\right)&-N_p\omega _m(t)&\frac{1}{\sigma L_s\tau _r}&N_p\omega _m(t)\frac{1}{\sigma L_s}&0&0&0 \\ N_p\omega _m(t)&-\left( \frac{R_s(t)}{\sigma L_s}+\frac{1}{\sigma \tau _r}\right)&-N_p\omega _m(t)\frac{1}{\sigma L_s}&\frac{1}{\sigma L_s\tau _r}&0&0&0 \\ -R_s(t)&0&0&0&0&0&0 \\ 0&-R_s(t)&0&0&0&0&0 \\ -\frac{3}{2}\frac{N_p}{J_L}\psi _{s\beta }(t)&\frac{3}{2}\frac{N_p}{J_L}\psi _{s\alpha }(t)&0&0&0&-\frac{1}{J_L}&0 \\ 0&0&0&0&0&0&0 \\ 0&0&0&0&0&0&0 \end{bmatrix} \\&B=\begin{bmatrix} \frac{1}{\sigma L_s}&0 \\ 0&\frac{1}{\sigma L_s} \\ 1&0 \\ 0&1 \\ 0&0 \\ 0&0 \\ 0&0 \end{bmatrix} H=\begin{bmatrix} 1&0&0&0&0&0&0 \\ 0&1&0&0&0&0&0 \end{bmatrix} \end{aligned} \end{aligned}$$

5 Speed and stator resistance estimation

The EKF algorithm is employed in the estimation of rotor speed and stator resistance to achieve the sensorless DTC drive. The EKF is based on the nonlinear extended induction motor model that includes the variables to be predicted as a state or constant parameter.

In this EKF method, the rotor speed is estimated as a state with the utilization of the equation of motion, as in [24]. This scheme also involves the estimation of the load torque considered as a constant parameter. Accordingly, it will improve the speed estimation at zero speed under no-load conditions and the control structure will be insensitive against uncertainties and nonlinearities associated with the mechanical frictions, such as viscous friction, because of taking them into account within the estimated load torque as in [2426]. Moreover, the identification of the stator resistance is carried out by defining as a constant parameter in the extended model.

$$\begin{aligned} \begin{aligned}&A_d(x(k))=\begin{bmatrix} 1-\left( \frac{R_s(k)}{\sigma L_s}+\frac{1}{\sigma \tau _r}\right) T&-N_p\omega _m(k)T&\frac{1}{\sigma L_s\tau _r}T&N_p\omega _m(k)\frac{1}{\sigma L_s}T&0&0&0 \\ N_p\omega _m(k)T&1-\left( \frac{R_s(k)}{\sigma L_s}+\frac{1}{\sigma \tau _r}\right) T&-N_p\omega _m(k)\frac{1}{\sigma L_s}T&\frac{1}{\sigma L_s\tau _r}T&0&0&0 \\ -R_s(k)T&0&1&0&0&0&0 \\ 0&-R_s(k)T&0&1&0&0&0 \\ -\frac{3}{2}\frac{N_p}{J_L}\psi _{s\beta }(k)T&\frac{3}{2}\frac{N_p}{J_L}\psi _{s\alpha }(k)T&0&0&1&-\frac{1}{J_L}T&0 \\ 0&0&0&0&0&1&0 \\ 0&0&0&0&0&0&1 \end{bmatrix} \\&B_d=\begin{bmatrix} \frac{1}{\sigma L_s}T&0 \\ 0&\frac{1}{\sigma L_s}T \\ T&0 \\ 0&T \\ 0&0 \\ 0&0 \\ 0&0 \end{bmatrix} \,\, , \,\, H_d=\begin{bmatrix} 1&0&0&0&0&0&0 \\ 0&1&0&0&0&0&0 \end{bmatrix} \end{aligned} \end{aligned}$$

5.1 Extended induction motor model

The proposed EKF algorithm uses the IM model based on the stator flux, as given in [25]. The extended IM model is given in the following general form:

$$\begin{aligned} \dot{x}(t)= & {} f(x(t),u(t))+w(t)\nonumber \\= & {} A(x(t))x(t)+Bu(t)+w(t)\end{aligned}$$
(16)
$$\begin{aligned} z(t)= & {} h(x(t))+v(t)=Hx(t)+v(t) \end{aligned}$$
(17)

where f(.) represents the nonlinear function of the state variables and inputs, x is the vector of the extended state variables, A is the system matrix, u is the vector of the control input, B is the input matrix, h(.) denotes the function of the outputs, H is the measurement matrix, and w and v are the system and measurement noise, respectively. The system and measurement noises are assumed to be zero-mean, white Gaussian noise. The noise covariance matrices Q and R are defined as

$$\begin{aligned} \begin{aligned}&Q=cov(w)=E\left\{ ww^T \right\} \\&R=cov(v)=E\left\{ vv^T \right\} \end{aligned} \end{aligned}$$
(18)

where \(E\left\{ . \right\} \) denotes the expected value. The detail of two-axis state-space representation of the extended IM model is given at the bottom of previous page, where \(\tau _r=L_{r}/R_{r}\).

5.2 Development of the EKF algorithm

For the implementation of the EKF, the discretized machine equations are required. These can be obtained from Eqs. 16 and 17 as follows:

$$\begin{aligned}&\begin{aligned} x(k+1)&=f(x(k),u(k))+w(k) \\&=A_d(x(k))x(k)+B_du(k)+w(k) \end{aligned} \end{aligned}$$
(19)
$$\begin{aligned}&z(k)=h(x(k))+v(k)=H_dx(k)+v(k) \end{aligned}$$
(20)

where \(A_d\), \(B_d\), and \(H_d\) are the discretized system, input, and measurement matrix, respectively, and are given at the center of this page, where T is the sampling period. The EKF takes into account of the modeling inaccuracies and the noises in the measurements to achieve the optimal estimation. The computations are realized by using recursive relations. The EKF algorithm consists of basically two main stages: a predictive stage and a filtering stage.

Fig. 7
figure 7

Reference values of the rotor speed, the stator resistance, and the applied load torque for performance test

In the prediction stage, the predicted value of the state vector for the \((k+1)\)th instant \(\hat{x}(k+1|k)\) is obtained. Besides, the covariance matrix of state estimation error for the \((k+1)\)th instant \(P(k+1|k)\) is also predicted before the new measurements are made. The prediction of the state vector from the control input vector u(k) and the current state vector \(\hat{x}(k|k)\) at the kth instant, using the discretized machine model, is calculated as

$$\begin{aligned} \hat{x}(k+1|k)=A_d(x(k))\hat{x}(k|k)+B_du(k) \end{aligned}$$
(21)

and the covariance matrix of state estimation error is predicted as

$$\begin{aligned} P(k+1|k)=F(k)P(k|k)F^T(k)+Q \end{aligned}$$
(22)

where P(k|k) is the current error covariance matrix at the kth instant. The EKF involves the linearized approximation of the nonlinear machine model in the vicinity of the current state vector. Thus, F(k) in Eq. 22 is the following gradient matrix:

$$\begin{aligned} F(k)=\frac{\partial f(x(k),u(k))}{\partial x(k)}\bigg |_{x(k)=\hat{x}(k|k)} \end{aligned}$$
(23)

In the second stage, which is the filtering stage, the current estimated states for the \((k+1)\)th instant \(\hat{x}(k+1|k+1)\) are obtained from the predicted estimates \(\hat{x}(k+1|k)\) by adding a correction term, which is the product of the Kalman gain and the deviation of the estimated measurement output vector and the actual output vector, to the predicted value:

$$\begin{aligned} \hat{x}(k+1|k+1) = \hat{x}(k+1|k) + K(k+1)[z(k+1)-\hat{z}(k+1)] \end{aligned}$$
(24)

where the estimated measurement output vector is

$$\begin{aligned} \hat{z}(k+1)=H_d\hat{x}(k+1|k) \end{aligned}$$
(25)

and the Kalman filter gain is computed as

$$\begin{aligned}&K(k+1)=P(k+1|k)H^T(k+1)[H(k+1) \nonumber \\&\quad P(k+1|k)H^T(k+1)+R]^{-1} \end{aligned}$$
(26)

where \(H(k+1)\) is a gradient matrix and defined as

$$\begin{aligned} H(k+1)=\frac{\partial h(x(k))}{\partial x(k)}\bigg |_{x(k)=\hat{x}(k+1|k)} \end{aligned}$$
(27)

The Kalman gain is chosen to minimize the estimation error variances of the states to be estimated. Finally, the error covariance matrix is updated in the filtering stage from

$$\begin{aligned} P(k+1|k+1)= & {} P(k+1|k) \nonumber \\&-K(k+1)H(k+1)P(k+1|k) \end{aligned}$$
(28)

The proposed EKF algorithm will give not only the rotor speed, the stator resistance, and the load torque, but also the stator flux components by only measuring the stator voltages and currents; as a consequence, the developed torque will also be known.

Fig. 8
figure 8

Simulation results for three-level SVM-DTC drive with the EKF-based estimator. a Variations of the estimated error \(\omega _m\) and the estimation error \(e_{\omega }\). b Variations of the estimated error \(R_s\) and the estimation error \(e_{R_s}\). c Variations of the estimated error \(t_L\) and the estimation error \(e_{t_L}\). d Developed electromagnetic torque of the machine

Fig. 9
figure 9

Trajectories of the stator flux and voltage vectors. a Locus of \(\psi _{s\alpha }\) and \(\psi _{s\beta }\). b Locus of \(u_{s\alpha }\) and \(u_{s\beta }\)

Fig. 10
figure 10

Deviations of the neutral-point voltage in three-level NPC inverter

Fig. 11
figure 11

Phase voltage \(u_{AB}\) and three-phase currents of the machine

6 Simulation results and observations

The simulation setup for the performance tests is shown in Fig. 6, and the reference variations of \(\omega _m^r\), \(R_s^r\) and \(t_L^r\) for the proposed sensorless drive are given in Fig. 7. The validity of the proposed control system is examined under two challenging conditions, which are the forward–reverse and the low–zero speed operations. The sampling frequency is 40 \(\upmu s\), and the fourth-order Runge–Kutta method is used to realize the simulation. The rated values and parameters of the IM and other parameters used in the simulation are given in Table 5. As shown in Fig. 6, two closed-loop proportional–integral controllers are used to produce the components of the reference voltage vector (in \(x-y\) coordinates fixed to the stator flux vector) [28]. The reference vector in the \(x-y\) reference frames is then transformed to the \(\alpha -\beta \) reference frames, thereby generating the voltage command for SVM modulator.

A critical part of the EKF-based drive design is to select correct initial values for the covariance matrices (P, Q, and R). These can be determined by trial-and-error method to accomplish the desired estimation performances in both transient and steady states. P, Q, and R are chosen in diagonal form as follows:

$$\begin{aligned} \begin{aligned}&P=\text {diag}\left\{ 1\,\,\,\,1\,\,\,\,1\,\,\,\,1\,\,\,\,1\,\,\,\,1\,\,\,\,1 \right\} \\&Q=\text {diag}\left\{ 10^{-8}\,\,10^{-8}\,\,10^{-8}\,\,10^{-8}\,\,10^{-3}\,\,10^{-3}\,\,10^{-3} \right\} \\&R=\text {diag}\left\{ 10^{-5}\,\,10^{-5}. \right\} \end{aligned} \end{aligned}$$

The proposed IM drive is firstly tested for the forward–reverse operation, between positive and negative base speeds (±148.7 rad/s in this machine), in the time range of \(0\le t\le 6 s\), as shown in Fig. 7. A step change of \(t_L\) command is applied at the beginning of the simulation from 0 to 10 Nm and it is changed up to the rated value of the machine during the simulation. Especially, \(t_L\) is enforced for a ramp-like variation from 15 to 0 Nm occurring in the time range of \(6\le t\le 7 \) s to evaluate the tracking performance of the proposed method under this linear variation. Other variations for \(t_L\) are considered as step-like variations over all simulation time. \(R_s\) is also varied as well as \(\omega _m\) and \(t_L\) variations. It is supposed that \(R_s\) is defined as the 0.75 times of its own rated value before starting the simulation, and then, it is increased linearly to the rated value in \(2\le t\le 4 \) s.

Table 5 Rated values and parameters of the IM and other parameters used in the simulation

The IM is also run under the second harsh condition, which is the low–zero speed operations for the time range of \(6\le t\le 10 \) s, to reveal the robustness of the estimation algorithm against the variations in \(t_L\) and particularly \(R_s\). During this operation, it is also known earlier that the voltage drop across \(R_s\) influences negatively the flux estimation. To emphasize the need for the updating of the instant value for \(R_s\), it is increased until the 1.75 times of its own rated value linearly in the time range of \(6\le t\le 9 \) s. At the same time, the estimation performance is also analyzed under both load and no-load conditions at the low–zero speeds.

The simulation results are presented in Fig. 8. As seen from Fig. 8a, \(\omega _m\) is accurately estimated and well regulated by the proposed sensorless drive under these challenging variations. Especially, the estimation of \(\omega _m\) is still stable in the low–zero speed operation even if the value of \(R_s\) exceeds its own rated value. The linear variations in \(\omega _m\), \(R_s\), and \(t_L\) are precisely detected with small estimation errors. On the other hand, the estimated \(t_L\) swiftly reaches to the actual values by means of the proposed estimator whenever the step-like load variations are applied to the machine. The obtained results in Fig. 8c confirm that the viscous friction term \(f_d\omega _m\) is identified together with the estimation of \(t_L\). Therefore, the estimation errors of \(t_L\) are different from zero throughout the simulation time except the time range, where \(\omega _m\) is zero. This is because, these errors correspond to the friction terms and other mechanical uncertainties.

The reference value of the stator flux is assigned as 0.9 Wb in this simulation. As it can be seen from Fig. 9a, the stator flux vector is controlled by rotating into the desired circular locus. To check whether the allowable switching transitions for NPC inverter are ensured, the inverter voltages applied to the machine should be analyzed. The transitions between the voltage vectors occurred over all simulation time are shown in Fig. 9b. It is shown here that the allowable vector transitions are guaranteed with the proposed switching method. Other feature of the proposed switching method is able to maintain the neutral-point voltage deviations at minimum level, as given in Fig. 10. Finally, one-phase voltage and three-phase currents of the machine are given in Fig. 11, respectively, and in addition, they are zoomed for a certain time range, \(2 \le t \le 2.1\), next to the same graphs to see clearly.

7 Conclusions

In this paper, the sensorless DTC scheme with three-level NPC inverter has been proposed for an IM drive. A new switching method based on the simplified three-level SVM has been developed to satisfy the demands of the soft commutation and the neutral-point voltage balance. The EKF-based observer has also been used for the simultaneous estimation of the load torque as well as the rotor speed and the stator resistance. The proposed control structure was tested under challenging variations of the load torque, the rotor speed, and the stator resistance. The obtained simulation results have revealed that the stable operations for the IM were ensured in a wide speed range due to be realized accurate estimates, and in addition, the neutral-point voltage deviations were kept at minimal level, including very low speeds. Both transient and steady-state performance of the drive system has also enhanced to have the ability of high convergence rate of the estimator. In addition, the torque and flux ripples have considerably reduced with the utilization of three-level inverter topology and constant switching frequency has obtained.