1 Introduction

The direct torque control strategy was presented to achieve a decoupled control of stator flux and electromagnetic torque. Unlike the field-oriented control (FOC), DTC has more advantages like: high efficiency with simple scheme, fast response and less dependence on machine parameters. Moreover, it does not require coordinate transformation or current regulation loop. The control of stator flux and torque is based on hysteresis controllers and switching table to select an appropriate voltage vector of the inverter (Casadei et al. 2002; Ren and Zhu 2015). However, the main problems of this method are the high level of torque and flux ripples and the variable switching frequency. Consequently, they lead to an acoustical and more control difficulty in low speed region which will degrade the performance of the control algorithm (Alsofyani and Idris 2016; Leandro et al. 2015).

Recently, different methods were proposed to minimize theses drawbacks. The multilevel converters can provide low torque and stator flux ripples (Netal et al. 2016). However, they increase the number of power switches which lead to a high cost and a reduced the efficiency of the control system.

The model predictive control (MPC) approach has the ability to determine a suitable voltage vectors choice which can reduce the ripples (Habibullah et al. 2016). However, the high complexity of the control law makes the main disadvantage to realize this strategy. The space vector modulation (SVM) strategy is also discussed. The switching table is replaced by voltage modulation for the voltage vector selection under a constant switching frequency. The first DTC based on SVM was introduced by Habetler et al. (1992). The SVM-DTC can take various structures. Firstly, the closed-loop torque control. This method uses only one PI controller; it bases on the changes of motor’s torque to produce an appropriate voltage vector (Ammar et al. 2015; Kumsuwan et al. 2008; Rodriguez et al. 2004). Another method which become our interest in this paper, it is known as the stator flux-oriented control (SFOC) with SVM. This technique uses two (PI) controllers instead of hysteresis controllers to generate direct and quadrature voltage components and achieve a decoupled control (Azcue-Puma et al. 2014; Lascu et al. 2000). Also in this paper, a sensorless algorithm for flux, speed and load torque estimation is employed. It can reduce the number of sensors which minimizes the cost of the control system of installation and cabling and improve system reliability (Barambones and Alkorta 2014).

In this context, the observers remain an important area of research in the field of process engineering. Many considerable researches have been proposed for electrical drive’s rotor speed and flux estimation such as model reference adaptive system (Smith et al. 2016), Luenberger Observer (Costa et al. 2015) and Kalman filter (Alsofyani and Idris 2016). The sliding mode methodology is known by high robustness against disturbances and parameters variations. It is applicable to design the both of observers and controllers. Indeed, the design of sliding mode observers had an important discussion in many works (Aurora and Ferrara 2007; Lascu et al. 2009; Orlowska-Kowalska et al. 2014).

This paper proposes an inherently sliding mode observer (SMO) design without taking the rotor speed as an adaptive quantity. Unlike the usual speed adaptive observers (Maes and Melkebeek 2000; Yin et al. 2016), it can increase the accuracy in a wide speed range operation and reduce the structure complexity. Moreover, the flux estimation will not affected by speed estimation which can make it more accurate (Ammar et al. 2015; Lascu et al. 2009). Furthermore, this paper presents also a design of sliding mode load torque observer to improve control algorithm performances by reducing the load torque uncertainties.

The main objective of this paper is the implementation of SVM-DTC control technique combined with a dual design of sliding mode observers. An inherent observer used for stator flux, speed reconstruction and a simple structure of load torque observer. The results are examined under simulation and experimental implementation by MATLAB/Simulink with real-time interface based on dSpace 1104. The simulation results and the experimental validation show that the combining of these techniques maintains good dynamic control with small ripples and accurate estimation in different operation conditions.

2 Principles of the SVM-DTC Strategy

The SVM-DTC strategy consist on controlling the both of stator flux and torque directly without any current regulation. This can help to achieve a good tracking and fast response.

2.1 Induction Motor Model

The dynamic equation’s model of the induction motor can be written in the stationary reference frame with assuming the stator current and the stator flux as state variables. It is expressed by:

$$\begin{aligned} \left\{ {{\begin{array}{l} \frac{\mathrm{d}i_{\mathrm{s}\alpha } }{\mathrm{d}t}=-\left( {\frac{R_\mathrm{s} }{\sigma L_\mathrm{s} }+\frac{R_\mathrm{r} }{\sigma L_\mathrm{r} }} \right) i_{\mathrm{s}\alpha } -\omega _\mathrm{r} i_{\mathrm{s}\beta } +\frac{R_\mathrm{s} }{\sigma L_\mathrm{s} L_\mathrm{r} }\psi _{\mathrm{s}\alpha } \\ \quad +\frac{\omega _\mathrm{r} }{\sigma L_\mathrm{r} }\psi _{\mathrm{s}\beta } +\frac{1}{\sigma L_\mathrm{s} }u_{\mathrm{s}\alpha } \\ \frac{\mathrm{d}i_{\mathrm{s}\beta } }{\mathrm{d}t}=-\left( {\frac{R_\mathrm{s} }{\sigma L_\mathrm{s} }+\frac{R_\mathrm{r} }{\sigma L_\mathrm{r} }} \right) i_{\mathrm{s}\beta } +\omega _\mathrm{r} i_{\mathrm{s}\alpha } +\frac{R_\mathrm{s} }{\sigma L_\mathrm{s} L_\mathrm{r} }\psi _{\mathrm{s}\beta } \\ \quad -\frac{\omega _\mathrm{r} }{\sigma L_\mathrm{r} }\psi _{\mathrm{s}\alpha } +\frac{1}{\sigma L_\mathrm{s} }u_{\mathrm{s}\beta } \\ \frac{\mathrm{d}\psi _{\mathrm{s}\alpha } }{\mathrm{d}t}=u_{\mathrm{s}\alpha } -R_\mathrm{s} i_{\mathrm{s}\alpha } \\ \frac{\mathrm{d}\psi _{\mathrm{s}\beta } }{\mathrm{d}t}=u_{\mathrm{s}\beta } -R_\mathrm{s} i_{\mathrm{s}\beta } \\ \end{array} }} \right. \end{aligned}$$
(1)

where:

\(i_{\mathrm{s}\alpha }\), \(i_{\mathrm{s}\beta }\) are stator current components.

\(\psi _{\mathrm{s}\alpha }\), \(\psi _{\mathrm{s}\beta }\) are stator flux components.

\(R_\mathrm{s}, R_\mathrm{r}\) are stator and rotor resistance, respectively.

\(L_\mathrm{s}, L_\mathrm{r }\) are stator and rotor inductance, respectively. \(\sigma =1-\frac{M_\mathrm{sr} }{L_\mathrm{s} L_\mathrm{r} }\) is Blondel’s coefficient.

\(M_\mathrm{sr}\) is the mutual stator–rotor inductance

The electromagnetic torque can be expressed by:

$$\begin{aligned} T_\mathrm{e} =p(\psi _{\mathrm{s}\alpha } i_{\mathrm{s}\beta } -\psi _{\mathrm{s}\beta } i_{\mathrm{s}\alpha } ) \end{aligned}$$
(2)

The control strategy is expressed in stator flux-oriented coordinates (SFOC). The orientation makes a decoupling between flux and electromagnetic torque, where the stator flux vector becomes aligned with the d-axis and torque with the q-axis. It is well known that the d-axis is the magnetizing axis and q-axis is the torque axis (Azcue-Puma et al. 2014; Saberi et al. 2014).

The SFOC model is based on maintaining the quadratic components of stator flux equal to zero as following:

$$\begin{aligned} \left\{ {{\begin{array}{l} {\psi _\mathrm{sd} =\psi _\mathrm{s} } \\ {\psi _\mathrm{sq} =0} \\ \end{array} }} \right. \end{aligned}$$
(3)

Consequently, the voltage model can be written as:

$$\begin{aligned} v_\mathrm{sd}= & {} R_\mathrm{s} i_\mathrm{sd} +\frac{d\psi _\mathrm{s} }{\mathrm{d}t} \end{aligned}$$
(4)
$$\begin{aligned} v_\mathrm{sq}= & {} R_\mathrm{s} i_\mathrm{sq} +\omega _\mathrm{s} \psi _\mathrm{s} \end{aligned}$$
(5)

The electromagnetic torque given by:

$$\begin{aligned} T_\mathrm{e} =p\psi _\mathrm{s} i_\mathrm{sq} \end{aligned}$$
(6)

The voltage model express that the stator flux and torque are related with dq components, Eq. (5) can be written as:

$$\begin{aligned} v_\mathrm{sq} =\frac{R_\mathrm{s} T_\mathrm{e} }{p\psi _\mathrm{s} }+\omega _\mathrm{s} \psi _\mathrm{s} \end{aligned}$$
(7)

2.2 Control Design

This algorithm achieves stator flux and torque closed-loop control with SVM to produce the inverter’s command signals. Mostly, decoupled PI controllers used to receive the flux and torque errors as inputs and generate the dq voltage components in a synchronous reference frame (Azcue-Puma et al. 2014; Lascu et al. 2000).The chosen controller in this paper is the anti-windup PI controller.

2.3 Space Vector Modulation

The torque ripples in the classical DTC are affected proportionally by the width of the hysteresis band. However, even with reducing the bandwidths, the torque ripples still important due to the discrete nature of hysteresis controller. Besides, the very small bandwidths values increase inverter switching frequency (Uddin and Hafeez 2012). In SVM-DTC control scheme, the produced reference voltages by the PI controllers will be transformed to the stationary frame (\(\alpha ,\beta \)), and then, they will be modulated by the SVM unit to generate the inverter’s command states.

The aim of SVM is to select an appropriate switching vectors in order to minimize current harmonic distortion. The optimal selection in each sampling period preserves a constant switching frequency which reduce considerably torque/flux ripples. Consequently, the SVM-DTC can improve torque rippled and achieve an effective control of the stator flux and torque. The principle of SVM is to predict the voltage vector and based on each three adjacent vectors in each sector. The application time for each vector can be obtained by vector calculations. The rest of the time period will be spent by applying the null vector (Ammar et al. 2015; Habetler et al. 1992).

For two-level inverter, the space vector diagram was divided into six sectors as shown in Fig. 1.

$$\begin{aligned} T_1= & {} \frac{T_\mathrm{s} }{2U_\mathrm{dc} }(\sqrt{6}V_{\mathrm{s}\beta \mathrm{ref}} -\sqrt{2}V_{\mathrm{s}\alpha \mathrm{ref}} ) \end{aligned}$$
(8)
$$\begin{aligned} T_2= & {} \sqrt{2}\frac{T_\mathrm{s} }{U_\mathrm{dc} }V_{\mathrm{s}\alpha \mathrm{ref}} \end{aligned}$$
(9)

\(T_{1}, T_{2}\) are the corresponding vector durations.

\(T_\mathrm{s}\) is the sampling time.

\(V_{\mathrm{s}\alpha }\), \(V_{\mathrm{s}\beta }\) are reference stator voltage components in stationary frame (\(\alpha \),\(\beta \)).

\(U_\mathrm{dc}\): DC-bus voltage.

3 Anti-windup PI Controller

The used controllers for flux, torque control to generate reference voltages and in the outer speed loop to generate reference torque are the anti-windup PI controllers. They can obtain high performance control of induction motor by canceling the integrator windup due to saturation (so-called windup phenomenon) (Oliveira and Aguiar 2016; Yang et al. 2015) (Fig. 2).

Fig. 1
figure 1

Diagram of voltage space vector

Fig. 2
figure 2

Speed anti-windup PI controller

To overcome this phenomenon, the strategy consists on the correction of integral action based on the difference between the control signal and the saturation limit. Figure 2 shows the speed anti-windup PI controller, the same structure is used for flux and torque. The difference value is passed through a gain block (tracking time constant Ti) before arriving as feedback to the integrator (\(K_\mathrm{p}\) and \(K_\mathrm{i}\) are the proportional and integral gains).

4 Stator Flux Estimation

The conventional back-emf integration approach of flux estimation can be expressed as:

$$\begin{aligned} \psi _\mathrm{s} =\int _0^t {(u_\mathrm{s} -R_\mathrm{s} i_\mathrm{s})\hbox {d}t} \end{aligned}$$
(10)

However, the implementation of a pure integrator for motor flux estimation is not an easy task. It has the DC-drift and initial value problems. The resulted flux estimation will include DC-flux component and the flux vector will not be estimated accurately. This leads also to DC-current component and severely affects motor operation. This DC components no matter how small it is can drive the integrator to saturation (Singh et al. 2013).

In this paper, a simple method is used to remove the DC component from estimated flux is shown in Fig. 3, where a high-pass filter (HPF) is used to extract the sinusoid. Since the HPF is not ideal and small DC offset could remain, another filtering is added where the remaining dc offset is extracted using a low pass filter (LPF) and subtracted from the output of) the HPF. This approach was verified to eliminate all DC offset. The frequency should be low enough to avoid filtering the actual sinusoids when operating at low speeds.

Fig. 3
figure 3

Modified flux estimator

5 Sliding Mode Flux Observer

5.1 Sliding Mode Observer Design

In this paper, the objective of the sliding mode observer (SMO) is to construct the components of the stator flux and use them for speed and torque estimation. We use the state model of induction motor in rotor reference frame with taking the stator flux \(\psi _\mathrm{s}\) and stator current \(i_\mathrm{s}\) as state variables (Lascu et al. 2009).

$$\begin{aligned} \left\{ \begin{array}{l} {\frac{\mathrm{d}\psi _\mathrm{s} }{\mathrm{d}t}=R_\mathrm{s} i_\mathrm{s} -j\omega _\mathrm{r} +u_\mathrm{s}} \\ {\frac{\mathrm{d}i_\mathrm{s} }{\mathrm{d}t}=-\frac{1}{\sigma }\left( {\frac{1}{T_\mathrm{r} }+\frac{1}{T_\mathrm{s} }} \right) i_\mathrm{s} +\frac{1}{\sigma L_\mathrm{s} }\left( {\frac{1}{T_\mathrm{r} }-j\omega _\mathrm{r} } \right) \psi _\mathrm{s} +\frac{1}{\sigma L_\mathrm{s} }u_\mathrm{s} } \\ \end{array} \right. \end{aligned}$$
(11)

where:

$$\begin{aligned} T_\mathrm{s} =\frac{L_\mathrm{s} }{R_\mathrm{s} };\quad T_\mathrm{r} =\frac{L_\mathrm{r} }{R_\mathrm{r} } \end{aligned}$$

The state model contains back-emf \(\left( {\omega _\mathrm{r} \psi _\mathrm{s} } \right) \). In this observer, all these terms with rotor speed are considered as disturbances. Then, an inherently observer (Fig. 4) can be express as:

$$\begin{aligned} \left\{ \begin{array}{l} {\frac{\mathrm{d}\hat{{\psi }}_\mathrm{s} }{\mathrm{d}t}=R_\mathrm{s} i_\mathrm{s} +u_\mathrm{s} -K\hbox {sign}(S)}\\ \frac{\mathrm{d}\hat{\mathrm{i}}_\mathrm{s} }{\mathrm{d}t}=-\frac{1}{\sigma }\left( {\frac{1}{T_\mathrm{r} }+\frac{1}{T_\mathrm{s} }} \right) i_\mathrm{s} +\frac{1}{\sigma L_\mathrm{s} T_\mathrm{r} }\psi _\mathrm{s} +\frac{1}{\sigma L_\mathrm{s} }u_\mathrm{s} \\ \quad -\frac{1}{\sigma L_\mathrm{s} }K\hbox {sign}(S) \\ \end{array} \right. \end{aligned}$$
(12)

K is the observer gain, S the sliding surface of the current error. PI controller is proposed to impose more desired error convergence where:

$$\begin{aligned} S=\left( {K_\mathrm{p} +\frac{K_\mathrm{i} }{s}} \right) \left( {\hat{\mathrm{i}}_\mathrm{s} -i_\mathrm{s} } \right) \end{aligned}$$
(13)

The observer gain has to be large enough under stability condition from Lyapunov analysis.

$$\begin{aligned} V=\frac{1}{2}e^{T}e \end{aligned}$$
(14)
Fig. 4
figure 4

Inherently sliding mode stator flux observer

6 Gain Selection

By using Lyapunov candidate function that defined in (14) and IM and SMO models (11), (12) and during sliding mode,

$$\begin{aligned} S=0,\quad \dot{S}=0 \end{aligned}$$

Kis given as:

$$\begin{aligned} K>\max \left( {\left| {\frac{e_{\psi _{\mathrm{s}\alpha } } }{T_\mathrm{r} }-\omega _\mathrm{r} \psi _{\mathrm{s}\beta } } \right| \left| {\frac{e_{\psi _{\mathrm{s}\beta } } }{T_\mathrm{r} }-\omega _\mathrm{r} \psi _{\mathrm{s}\alpha } } \right| } \right) \end{aligned}$$
(15)

where: \(e_{\psi _{\mathrm{s}\alpha \beta }}\): flux error

6.1 Chattering Phenomenon

In sliding mode technique, an infinite commutation causes the chattering phenomenon and it is undesirable in practice. In order to reduce this problem, the traditional sign function is replaced by a softer one related to sigmoid function sigm(x) (Lee and Lee 2013).

$$\begin{aligned} \hbox {sigm}(x)=\left( {\frac{2}{1+e^{ax}}} \right) -1 \end{aligned}$$
(16)

\(\alpha \): is a small positive constant which adapts the sigmoid function slope.

6.2 The Speed Estimator

The advantage of SMO is the unrelatedly with rotor speed and when it needed it can be estimated easily as follow:

$$\begin{aligned} \hat{{\omega }}_\mathrm{r} =\hat{{\omega }}_\mathrm{s} -\hat{{\omega }}_\mathrm{sl} =\frac{1}{\psi _\mathrm{r} ^{2}}\left( {\frac{\mathrm{d}\hat{{\psi }}_{\mathrm{r}\beta } }{\mathrm{d}t}\hat{{\psi }}_{\mathrm{r}\alpha } -\frac{\mathrm{d}\hat{{\psi }}_{\mathrm{r}\alpha } }{\mathrm{d}t}\hat{{\psi }}_{\mathrm{r}\beta } } \right) -\frac{R_\mathrm{s} \hat{{T}}_\mathrm{e} }{p\psi _\mathrm{r} ^{2}}\nonumber \\ \end{aligned}$$
(17)

However, the computation of the rotor flux derivative is sensitive to noise, so in practice and in order to be useable in the control algorithm, the estimated speed has to be filtered by using LPF.

6.3 Rotor Flux Estimator

In a stator flux observer or estimator, the rotor flux can be estimated from the stator flux and the measured current, as:

$$\begin{aligned} \hat{{\psi }}_\mathrm{r} =\frac{L_\mathrm{r} \hat{{\psi }}_\mathrm{s} -L_\mathrm{s} L_\mathrm{r} \sigma i_\mathrm{s} }{M_\mathrm{sr} } \end{aligned}$$
(18)

The estimated torque can be calculated from (2).

7 Sliding Mode Load Torque Observer

When the load torque is unknown or variable is considered as a system uncertainty. Mostly, the load torque can be known or measured using a torque sensor. In this paper, a sliding mode observer is proposed in order to estimate the applied load torque on the induction motor without need any torque sensor and to improve the control performance by reducing the system uncertainty.

IM mechanical model is:

$$\begin{aligned} \dot{\omega }_\mathrm{r} =\frac{1}{J}(T_\mathrm{e} -T_\mathrm{L} )-\frac{f}{J}\omega _\mathrm{r} \end{aligned}$$
(19)

where

J: is the inertia constant.

f: is the friction coefficient.

\(T_\mathrm{L}\): is the load torque.

By using SFOC model from the previous.

The electromagnetic torque should be written as:

$$\begin{aligned} T_\mathrm{e} =p\psi _\mathrm{s} i_\mathrm{sq} =K_\mathrm{t} i_\mathrm{sq} \end{aligned}$$
(20)

\(K_\mathrm{t}\): Torque coefficient

The load torque can be considered as a quasi-constant, if we assume that it only changes at certain instants (Barambones and Alkorta 2014; Zhang et al. 2015). The dynamic equations of the IM:

$$\begin{aligned} \left\{ \begin{array}{l} {\dot{\omega }_\mathrm{r} =-\frac{f}{J}\omega _\mathrm{r} +\frac{K_\mathrm{t} }{J}i_\mathrm{sq} -\frac{1}{J}T_\mathrm{L} } \\ {\dot{T}_\mathrm{L} =0}\\ \end{array}\right. \end{aligned}$$
(21)

The proposed load torque sliding mode observer is:

$$\begin{aligned} \left\{ \begin{array}{l} {\hat{{\dot{\omega }}}_\mathrm{r} =-\frac{f}{J}\omega _\mathrm{r} +\frac{K_\mathrm{t} }{J}i_\mathrm{sq} -\frac{1}{J}\hat{{T}}_L +\lambda _1 e_\omega +K_1 \hbox {sign}(e_\omega )} \\ {\hat{{\dot{T}}}_\mathrm{L} =-\lambda _2 e_\omega -K_2 \hbox {sign}(e_\omega )} \end{array} \right. \end{aligned}$$
(22)

The load torque can be obtained from SMO expressed in Eq. (22).

\(K_{1}, K_{2}\), \(\lambda _{1}\) and \(\lambda _{2}\) are positives constants. The sliding surface is the speed estimation error: \(S_\omega =e_\omega \) The estimation errors are obtained as:

$$\begin{aligned} e_\omega= & {} (\omega _\mathrm{r} -\hat{{\omega }}_\mathrm{r} ) \end{aligned}$$
(23)
$$\begin{aligned} e_{T_\mathrm{L} }= & {} (T_\mathrm{L} -\hat{{T}}_\mathrm{L} ) \end{aligned}$$
(24)

\(e_{T_\mathrm{L} }\): is load torque estimation errors

$$\begin{aligned} \left\{ \begin{array}{l} {\dot{e}_\omega =-\frac{1}{J}e_{T_\mathrm{L} } -\lambda _1 e_\omega -K_1 \hbox {sign}(e_\omega )} \\ {\dot{e}_{T_\mathrm{L} } =\lambda _2 e_\omega +K_2 \hbox {sign}(e_\omega )}\\ \end{array} \right. \end{aligned}$$
(25)

The estimation error converges to zero if the observer gains are large enough to satisfy the stability condition. This latter can be demonstrated by using Lyapunov candidate as the precedent case.

The Global control strategy, SVM-DTC coupled with two sliding mode observers, is illustrated in Fig. 5 below.

Fig. 5
figure 5

Global control strategy SFO direct torque control scheme with sliding mode observers

8 Simulation Results

The control scheme is simulated by using MATLAB/Simulink software. The simulation results were obtained for a three-phase 1.1 kW squirrel-cage induction motor with characteristics given in the “Appendix.” The results will be illustrated into two phases. The SVM-DTC control strategy compared with the classical switching table based DTC will be displayed firstly. Then, the comparative analysis of the proposed non-adaptive sliding mode observer with a conventional adaptive observer based on Lyapunov theory (Costa et al. 2015; Maes and Melkebeek 2000).

The results below show different operation conditions of the control scheme associated to dual observers. The transient and steady states with load application, then the estimation tests with speed variation, sense reversing and low speed regions. In addition, we present the estimation errors in different speed regions and parameters sensitivity tests. Finally, the load torque estimation is illustrated.

8.1 Comparative Analysis of Conventional DTC and SVM-DTC

Figures 6, 7, 8, 9 and 10 show, respectively, the stator current \(i_\mathrm{sa}\), the torque, the stator flux magnitude, components and trajectory. The figures are specified as: (a) for conventional DTC, and (b) for SVM-DTC.

Fig. 6
figure 6

Stator phase current (A) with load application of 5 N m at \(t=0.5\) s

Fig. 7
figure 7

Electromagnetic torque with load introduction of 5 N m at \(t=0.5\) s (N m)

Fig. 8
figure 8

Stator flux magnitude (Wb)

Fig. 9
figure 9

Stator flux components (Wb)

Fig. 10
figure 10

Stator flux circular trajectory (Wb)

Figure 6a, b show the stator phase current \(i_\mathrm{sa}\) with load of 5 N m at 0.5 s. Figure 7a, b show the estimated torque with load at 0.5s for both classical DTC and load angle SVM-DTC. These figures illustrate that the current of the proposed method has better waveform and reduced ripples level compared with the conventional method. The torque has good response at the startup and while speed inversion operation, it is clear that SVM-DTC has reduced ripples level also. Then, Figs. 8, 9, 10 show the stator flux observation (flux magnitude, components, and trajectory). The stator flux has a fast response, good reference tracking (1 Wb) for both techniques. By comparing simulation results in Figs. 8, 9, 10a with Figs. 8, 9, 10b, it can be seen that the flux of SVM-DTC has the faster response and its ripples are considerably reduced.

8.2 Sliding Mode and Adaptive Observers Comparative Study

This section exhibits a comparative analysis of the dual sliding mode observers and a Lyapunov theory based adaptive observer, for speed, flux and load torque estimation. Figures 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 and 21 show, respectively, the speed estimation in different regions with speed and flux estimation errors, parameters variation test and load torque estimation with errors [The figures are specified by (a) for the adaptive and (b) for the sliding mode observers].

Fig. 11
figure 11

Starting up and steady states: real and estimated speed

Fig. 12
figure 12

Rotor speed reference variation (1000, 600,1000 rpm)

Fig. 13
figure 13

Rotor speed sense reversing (1000; −1000 rpm)

Fig. 14
figure 14

Real and estimated speed at low speed operation (200, 400 rpm)

Fig. 15
figure 15

Rotor speed estimation errors at different speed regions (rpm)

Fig. 16
figure 16

Stator flux estimation errors at different speed regions (Wb)

Fig. 17
figure 17

Robustness test: rotor speed with parametres variation at low speed operation (\(R_\mathrm{s},R_\mathrm{r}\)+100%)

Fig. 18
figure 18

Robustness test: flux magnitude with parametres variation at low speed operation (\(R_\mathrm{s},R_\mathrm{r}\)+100%)

Fig. 19
figure 19

Applied and estimated load torque

Fig. 20
figure 20

Load torque estimation error (N m)

Fig. 21
figure 21

Experimental setup

Figures 11, 12, 13, 14 and 15 illustrate different speed operation, starting up with step of (1000 rpm) and reference variation (1000, 600, 1000 rpm) which are shown in Figs. 11 and 12, respectively. It can be seen that the estimated speed follows the real speed for both observers. However, the non-adaptive SMO in Figs. 11b and 12b provides better superposition between the real and the estimated speed and eliminates the static error which is shown by the adaptive observer in Figs. 11a and 12a. Figure 13 depicts the rotation sense reversing test. It can be noticed that both observers show good estimation during speed variation (transient state), but the sliding mode observer still has the accurate speed estimation during the steady state. In Fig. 14, the low speed operation is conducted. It is clear from (Fig. 14b ZOOM) that the SMO has stable estimation and precise superposition between speeds in this operation also, contrary to the adaptive observer which provides an unstably with considerable static error (Fig. 14a). All these remarks can be confirmed in Fig. 15, it illustrates the estimation errors in different speed regions. It can be observed that the estimation errors of the SMO converge to zero in all cases, unlike the adaptive observer, where the static error increases proportionally with the rotor speed. The flux estimation errors are shown in Fig. 16, both observers show good estimation and minimized errors with different speed references. The next test in shown in Figs. 17 and 18, they show the comparison of the observed speed and flux under stator and rotor resistance variation of +100% in low speed region of (200 rpm) for both observers. This figures illustrate that the sensitivity of flux and speed from \(R_{r }\) variation is not apparent. In \(R_\mathrm{s}\) variation the affection and the error are not so considerable and have been recovered quickly. Both observers have given similar results in this test. This point can be improved in the future work by taking the stator resistance as an adaptive quantity. Finally, Figs. 19 and 20 show the load torque estimation analysis. Figures 19b and 20b show that the sliding mode load torque observer has faster response and more accurate observation than the conventional Lyapunov adaptive observer in Figs. 19a and 20a. At load application instant the estimation error of SMO converges quicker to zero.

The simulation results prove that the SMO eliminates the static errors and has more precise estimation than the adaptive observer. The speed estimator has an accuracy and robustness in different environment. The estimation has no influence on the inherently SMO structure. It mostly depends on the noise level and filtering operation. The low speed test shows that the sensorless control scheme preserved its performance even in this region.

9 Experimental Results

The proposed control scheme which implemented in MATLAB/Simulink in the last section will be verified also by the experimental tests in this section. The real-time control was done in the laboratory equipped by dSpace 1104 board. The implementation ground of induction motor drive is essentially composed as shown in (Fig. 21) of:

1: A squirrel-cage IM 1.1 kW. 2: Power electronics Semikron converter composed of a rectifier and an IGBT inverter. 3: Speed sensor (incremental encoder), and it will be used in order to check and compare the real speed with the estimated speed. 4: dSpace dS 1104 with 5: control desk software plugged in personnel computer. 6: Magnetic powder brake with load control unit. 7: Hall-type current sensors. To reduce the cost of the control system, the phase voltages will be estimated from DC-bus voltage and inverter switching states (\(S_{a}, S_{b}, S_{c})\) instead of use voltage sensors (Ammar et al. 2015). 8: DC-bus voltage sensors. 9: Numerical oscilloscope. Figure 22 presents a simplified setup scheme.

Fig. 22
figure 22

Simplified setup scheme

The experimental results of sensorless SVM-DTC with two sliding mode observers have been obtained by using GW-INSTEK numerical oscilloscope which was linked with the real-time interface. The suitable choice of sampling frequency has an apparent influence on quality of signals, especially the phase current and the electromagnetic torque. The sampling frequency of dSpace 1104 can reach to 20 kHz. However, due to some limits and constraints imposed by the real-time implementation and control scheme complexity, we were obliged to choose a reducer value of sampling frequency which is 10 kHz.

The figures below show control scheme and observation performances analysis in the different operation modes of the IM drive, such as: the steady state, load application speed variation and low speed test. In addition, the load torque estimation using sliding mode load torque observer.

Fig. 23
figure 23

Startup state: real and estimated rotor speed (1 div = 500 rpm) with estimation errors

Fig. 24
figure 24

Stator flux magnitude with estimation error

Fig. 25
figure 25

Steady state: stator flux components (\(\alpha \), \(\beta \))

Fig. 26
figure 26

Stator flux circulars trajectory (\(\alpha \), \(\beta \))

Fig. 27
figure 27

Stator phase current (A) without load

Fig. 28
figure 28

Load torque introduction of 5 N m: rotor speed (1000 rpm), torque, stator current (A)

Fig. 29
figure 29

Estimated speed, real speed and estimation error

Fig. 30
figure 30

Speed sense reverse of (1000, −1000 rpm): rotor speed, estimation error

Firstly, Fig. 23 shows the rotor speed (1div = 500 rpm) in the startup state (0–1000 rpm). We notice that it has a good and fast response, the real and estimated speed are in superposition and the estimation error converge to zero. The steady state of induction motor has been operated without introduction of load torque. Figure 24 shows the observed stator flux magnitude and the estimation error. The flux estimation which obtained through the sliding mode flux observer is accurate. Figures 25 and 26 shows the flux axes components (1div = 1 Wb) and the circular trajectory. The sinusoid waveform and low ripple level of flux components are so clear because of the use of the SVM. Next, the stator phase current has shown in Fig. 27 the good waveform of stator current and the reduced ripples level are so clear. The next test is the load torque introduction of 5 N m, where Fig. 28 illustrates from the top to bottom: rotor speed (1div = 1000 rpm), estimated torque (1div = 5 N m) and stator phase current (1div = 1 A). The low ripples level of torque and the good waveform of current are noted. The next test is the speed variation (1000, 600, 1000 rpm) in Fig. 29, the estimated speed follows the real speed while reference variation, the estimation error always converges to zero. It is so clear that the speed estimator has a fast response with speed variation, the estimation error converges to zero. This indicates the good accuracy and robustness of speed estimator. Then, the speed sense reversing (1000; −1000 rpm) is shown in (Fig. 30). The figure illustrates the real rotor speed (1div = 500 rpm), the estimated one and the estimated error. It can be seen that the sense reverse of speed is so rapid, both speeds are in superposition. This indicates the quick response of DTC. The last test in Fig. 31 is the low speed operation (200 rpm (\(\approx \)21 rad/s) to 400 rpm). We can notice a good response and little current’s ripples level. Finally, Fig. 32 illustrates the load torque observer performance, where it shows the applied load torque which obtained from the load break control unit, and the estimated load torque. This last follow the real value and the estimation error converges to zero. This indicates the good performance and fast response of the sliding mode load torque observer.

Fig. 31
figure 31

Low speed operation (200, 400 rpm): rotor speed, flux angle, stator phase current (A)

Fig. 32
figure 32

Load torque introduction of 5 N m: estimated load torque, torque

Generally, the proposed sensorless control scheme associated with two SMOs has a considerably low ripples level in torque and flux due to the use of SVM, fast response, robustness and good estimation accuracy in different environment: different speed regions, speed sense reverse and load application, with good current waveform.

10 Conclusion

In this paper, a sensorless control strategy composed of stator filed oriented SVM-DTC with two sliding mode observers have been presented. The SVM-based direct torque control was proposed to reduce flux, torque ripples and current harmonics. Furthermore, the control scheme has been incorporated with dual sliding mode estimation strategy. Firstly, an inherently sliding mode observer for stator flux and rotor speed estimation. It does not considerate the speed as an adaptive quantity and does not require adaptation mechanism in order to achieve more accurate estimation. Secondly, load torque sliding mode observer was used to reduce load torque uncertainties.

The effectiveness and performance of the proposed sensorless strategy have been verified by a comparative study in simulation, Moreover, a real-time implementation. Different tests have been operated. The simulation and the experimental results present a reduced torque and flux ripples, fast dynamic and good performances during low speed operation. Moreover, the sliding mode observers performances have been verified also, they show good accuracy and acceptable errors level in speed, flux and load torque estimation, a robustness in different tests as load application, sense reverse and low speed operation. Therefore, DTC-SVM is a good solution in general to overcome the drawbacks of classical DTC, the coupling with sensorless algorithm can get more high performances for induction motor electrical drive.