1 Introduction

Due to the advances in power electronics and microprocessors, induction motor (IM) drives used in variable speed and position control have become more attractive in in­dustrial processes, such as robot manipulators, factory automations, and transportation applications. However, the dynamic characteristics of the induction motor drive are complex, highly nonlinear and coupled. In addition, the drive control is sensitive to machine parameter variations and load disturbances.

In the past years, many techniques for the control of IMs have been investigated. Among them, the field oriented control (FOC) is the most popular one. The availability of high-performance digital signal processors (DSPs) makes field oriented control a practical choice for a wide range of applications. The rotor flux orientation is generally preferred, owing to the obtained high dynamic and steady-state performance. Nevertheless, the control performance of the resulting system is still influenced by the uncertain­ties, which are usually composed of unpredictable parameter variations, external load disturbances and nonlinear dynamics. Therefore, many studies have been made on the motor drives in order to preserve the performance under these uncertainties[14]. For example, new nonlinear control approaches were proposed such as neural control[2,3], fuzzy control[1,4] and sliding mode control (SMC)[58].

In the last few years, the variable structure control strategy using the sliding mode has received much attention in the electrical drives control area[914]. The main objective is to close the dynamic system with a sliding surface. The most significant property of the sliding mode control (SMC) concerns its robustness, fast dynamic response and insensitivity to parameter variations[1115]. Usually, the SMC has some intrinsic problems, such as discontinuous control that often yields chattering which may be considered a problem for implementing in some real applications. Recently, different methods have been suggested to reduce the chattering using the continuous approximation techniques such as the boundary layer[3,1518].

The aim of this paper is to develop a nonlinear sliding mode control law which incorporates an adaptive switching gain according to a sliding surface, angular speed and its derivative. An improvement of this method was verified by a practical implementation with comparison between sig-moid function, relay function and hyperbolic tangent function.

However, the use of classical SMC approach via an adaptive switching gain permits to reduce chattering phenomenon but leads to a steady-state error created by disturbance. Then, we added an integral action when the trajectories of states approach their references to eliminate this steady-state error[1922]. The proposed algorithm provides better convergence than those proposed in the literatures while keeping the robustness properties. We used this approach to control the speed and flux of an induction motor.

The implementation of this algorithm requires the real time availability of the time-derivatives of the speed. To do this, we use a robust differentiator via the sliding mode[7] which is applied to angular speed measurements. Experimental results are presented to validate the effectiveness and the good performance of the developed method.

The paper is organized as follows. In Section 2, we present the model of IM. Section 3 is devoted to the nonlinear sliding mode control where the robust speed control design uses an adaptive switching gain and integrator. The experimental results are presented in Section 4. Section 5 draws the conclusions.

2 Induction motor model

The dynamic equation of an IM in a synchronous reference frame is[16]

((1))

where V ds and V qs are the stator voltage components, I ds and I qs are the stator current components, and ψ dr and ψ qr are the rotor flux components.

And \({\omega _r} = {\omega _s} - p{\omega _m},{L_1} = {L_s} - \alpha {L_m},\alpha = \frac{{{L_m}}}{{{L_r}}},{\tau _r} = \frac{{{L_r}}}{{{R_r}}},{\tau _1} = \frac{{{L_1}}}{{{R_1}}},{R_1} = {R_s} + {\alpha ^2}{R_r}\), where R r and R s are the rotor and stator resistances, L r and L s are the rotor and stator inductances, L m is the mutual inductance, p is the number of pairs of poles, ω r ,ω s and ω m are the slip speed, electrical synchronous speed and rotor speed, T m is a load torque, and J is the inertia.

Conventionally, the d-axis is the magnetising axis and q-axis is the torque axis, so we can write the following expressions[6]:

Then, the rotor flux is oriented to the d-axis. This orientation leads to the decoupling between flux and torque, resulting in a linear and decoupled machine control, an optimal developed machine control and an optimal developed torque[15].

Thus, ψ qr = 0 or ψ qr = 0 with ψ qr (0) = 0. This allows eliminating the terms ψ qr in (1), which reduces the model order to four. Indeed, the second state equation of system (1) becomes

$${\omega _s} = p{\omega _m} + \frac{{{L_m}{I_{qs}}}}{{{\tau _r}{\psi _{dr}}}}.$$
((2))

This gives the expression of the stator pulsation according to the variables of states. Then, the state space equations become

$$\left\{ {\begin{array}{*{20}{l}} {{{\dot \psi }_{dr}} = - \frac{1}{{{\tau _r}}}{\psi _{dr}} + \frac{{{L_m}}}{{{\tau _r}}}{I_{ds}}} \\ {{{\dot I}_{ds}} = \frac{\alpha }{{{\tau _1}{L_1}}}{\psi _{dr}} - \frac{1}{{{\tau _1}}}{I_{ds}} + {\omega _s}{I_{qs}} + \frac{1}{{{L_1}}}{V_{ds}}} \\ {{{\dot I}_{qs}} = - \frac{\alpha }{{{L_1}}}p{w_m}{\psi _{dr}} - {\omega _s}{I_{dr}} - \frac{1}{{{\tau _1}}}{I_{qs}} + \frac{1}{{{L_1}}}{V_{qs}}} \\ {{{\dot \omega }_m} = \frac{p}{J}\left[ {\alpha {\psi _{dr}}{I_{qs}} - {T_m}} \right].} \end{array}} \right.$$
((3))

3 Control design

3.1 Sliding mode control

The drawback of the classical sliding mode control is the well-known chattering phenomenon, which may excite unmodeled high-frequency modes and can also lead to high deterioration of moving mechanical parts and high heat losses in electrical power circuits.

The sliding mode controller was designed to operate over the same variables used in the FOC method. The main objective of this approach is to obtain a sliding mode controller with all the qualities of FOC, which calculates the optimal stator voltage vector to maintain the stator winding linkage flux magnitude and speed within the desired ranges[19].

In general, the design procedure of the sliding mode control technique can be divided into two steps. In the first step, we can design a switching surface. Such system response in the sliding mode has the desired properties. The second step, is to design the control law to achieve the reaching condition for a sliding mode to be achieved in a finite time.

3.2 Flux regulation

Considering the first and second equalities of system (3), we can obtain the expressions as

$$\begin{array}{*{20}{l}} {{{\dot \psi }_{dr}} = - \frac{1}{{{\tau _r}}}{\psi _{dr}} + \frac{{{L_m}}}{{{\tau _r}}}{I_{ds}}} \\ {{{\dot I}_{ds}} = \frac{\alpha }{{{\tau _1}{L_1}}}{\psi _{dr}} - \frac{1}{{{\tau _1}}}{I_{ds}} + {\omega _s}{I_{qs}} + \frac{1}{{{L_1}}}{V_{ds}}.} \end{array}$$
((4))

For simplicity, we define the following flux error:

$${e_f} = {\psi _{dr}} - {\psi _{dr\_ref}}$$

where ψ dr_ref is the flux magnitude reference and ψ dr is estimated from the measured value of I ds by using the first equality of (4).

The sliding mode flux surface is defined as

$${S_f} = {c_1}{e_f} + {\dot e_f}.$$
((5))

Taking the derivative of the previous equality by substituting the first equality of (4) with ψ dr_ref = constant, we obtain

$$\begin{array}{*{20}{l}} {{{\dot S}_f} = {c_1}{{\dot e}_f} + {{\ddot e}_f} = } \\ {\quad {c_1}{{\dot \psi }_{dr}} + {{\ddot \psi }_{dr}} = } \\ {\quad ({c_1} - \frac{1}{{{\tau _r}}})( - \frac{1}{{{\tau _r}}}{\psi _{dr}} + \frac{{{L_m}}}{{{\tau _r}}}{I_{ds}}) - \frac{1}{{{\tau _r}}}{{\dot \psi }_{dr}} + \frac{{{L_m}}}{{{\tau _r}}}{{\dot I}_{ds}}.} \end{array}$$
((6))

By substituting ψ dr and I ds from (3) into (6), we obtain

$$\begin{array}{*{20}{l}} {{{\dot S}_f} = ({c_1}\frac{1}{{{\tau _r}}} - \frac{1}{{\tau _r^2}} + \frac{{{L_m}\alpha }}{{{\tau _r}{\tau _1}{L_1}}}){\psi _{dr}} + } \\ {\quad \quad \;({c_1} - \frac{1}{{{\tau _r}}} - \frac{1}{{{\tau _1}}})\frac{{{L_m}}}{{{\tau _r}}}{I_{ds}} + {U_f}} \end{array}$$
((7))

where \({U_f} = \frac{{{L_m}}}{{{\tau _r}}}({\omega _s}{I_{qs}} + \frac{1}{{{L_1}}}{V_{qs}})\)is the new control function. In order to obtain the so-called equivalent control u feq ,we can resolve (6) and obtain

$$\begin{array}{*{20}{l}} {{u_{feq}} = - ({c_1}\frac{1}{{{\tau _r}}} - \frac{1}{{\tau _r^2}} + \frac{{{L_m}\alpha }}{{{\tau _r}{\tau _1}{L_1}}}){\psi _{dr}} - } \\ {\quad \quad \quad ({c_1} - \frac{1}{{{\tau _r}}} - \frac{1}{{{\tau _1}}})\frac{{{L_m}}}{{{\tau _r}}}{I_{ds}}.} \end{array}$$
((8))

The function ∆U f is the discontinuous term employed to eliminate the influence of the uncertainties, which are usually composed of unpredictable parameter variations, external load disturbances, unmodelled and nonlinear dynamics, etc. ∆U f can be represented as

$$\Delta {U_f} = - {K_f}\operatorname{sgn} ({S_f}).$$
((9))

3.3 Speed regulation

The equations used for angular speed regulating are written as

$$\begin{array}{*{20}{l}} {{{\dot I}_{qs}} = - \frac{\alpha }{{{L_1}}}p{\omega _m}{\psi _{dr}} - {\omega _s}{I_{ds}} - \frac{1}{{{\tau _1}}}{I_{ds}} + \frac{1}{{{L_1}}}{V_{qs}}} \\ {{{\dot \omega }_m} = \frac{p}{J}\left[ {\alpha {\psi _{dr}}{I_{qs}} - {T_m}} \right].} \end{array}$$
((10))

From the second equality of (10), we can write

$${I_{qs}} = \frac{{{T_m}}}{{\alpha {\psi _{dr}}}} + \frac{{J{{\dot \omega }_m}}}{{p\alpha {\psi _{dr}}}}.$$
((11))

The elimination of the state variable I qs gives the following differential equation in ω m :

$$\begin{array}{*{20}{l}} {{{\ddot \omega }_m} = \frac{p}{j}\left[ {\alpha {\psi _{dr}}{{\dot I}_{qs}} - {{\dot T}_m}} \right] = } \\ {\frac{p}{J}\left[ {\alpha {\psi _{dr}}( - \frac{\alpha }{{{L_1}}}p{\omega _m}{\psi _{dr}} - {\omega _s}{I_{ds}} - \frac{1}{{{\tau _1}}}{I_{qs}} + \frac{1}{{{L_1}}}{V_{qs}}) - {{\dot T}_m}} \right] = } \\ { - \frac{1}{{{\tau _1}}}{{\dot \omega }_m} - \frac{{{\alpha ^2}}}{{{L_1}}}p\psi _{dr}^2{\omega _m} - \frac{p}{{{J_{{\tau _1}}}}}{T_m} - \frac{p}{J}{{\dot T}_m} + {u_v}.} \end{array}$$
((12))

We note that the mechanical load torque T m is assumed to be a slowly varying function of time

$${\ddot \omega _m} = - A{\dot \omega _m} - B{\omega _m} - C + {u_v}$$
((13))

where \(\frac{\alpha }{{J{L_1}}}p{\varphi _{dr}}{V_{qs}} - \frac{\alpha }{J}p{\varphi _{dr}}{\omega _s}{I_{ds}}\) represents the control input, \(A = \frac{1}{{{\tau _1}}},B = \frac{{{\alpha ^2}}}{{{L_1}}}p\varphi _{dr}^2\),and \(C = - \frac{p}{{{J_\tau }_{_1}}}{T_m} - \frac{p}{j}{\dot T_m}.\)

The error on the angular speed is written as

$$\begin{array}{*{20}{l}} {{e_v} = {\omega _m} - {\omega _{ref}}} \\ {{S_v} = {c_2}{e_v} + {{\dot e}_v}} \end{array}$$
((14))

where c 2 is a positive constant.

The derivative of (14) can be written as

$$\begin{array}{*{20}{l}} {{S_v} = {c_2}{{\dot e}_v} + {{\ddot e}_v} = } \\ {\quad \quad {c_2}({{\dot \omega }_m} - {{\dot \omega }_{ref}}) + ({{\ddot \omega }_m} - {{\ddot \omega }_{ref}}).} \end{array}$$
((15))

The equivalent control U veq is defined by

$${u_{veq}} = - ({c_2} - A){\dot \omega _m} + B{\omega _m} + C + {c_2}{\dot \omega _{ref}} + {\ddot \omega _{ref}}.$$
((16))

And the discontinuous control is

$$\Delta {u_v} = - ({K_v})\operatorname{sgn} ({S_v}).$$
((17))

To satisfy more performance with the sliding mode controller, we must choose a large value of K v .But a larger value of K v may lead to more chattering of the control variable and system states. A boundary layer of definite width on both sides of switching line is introduced to reduce chattering.

We know that sliding mode techniques can generate undesirable chattering. To eliminate the chattering phenomenon, we replace a discontinuous signum function by a smooth function like sigmoid function or saturation function sat (S)or hyperbolic tangent function tgh (S).Consequently, the robustness will decrease.

The chattering problem is overcome using a hyperbolic function for the sliding surface. To eliminate the chattering without losing the robustness, the gain K v was replaced by

$${K_v} = {K_1}{\dot \omega _m} + {K_2}{\omega _m} + {K_3}\left| {{S_v}} \right|.$$
((18))

It should be noted that our proposition is used to overcome the undesirable chattering. By using this function, the switching gain is adapted according to S v ,ω m and ω m .The switching gain is adapted using a simple algorithm which does not imply a high computational load.

Note that the better choices of K 1, K 2and K 3allow to satisfy the sliding condition S v Sv < 0 .

3.4 Robust differentiator

In the experiment tests, it is known that the derivation of the angular speed using Matlab block differentiator may generate the accurate derivative and some high frequency noise.

In this section, a robust differentiator via sliding mode technique is studied. Indeed, a robust exact differentiation via sliding mode technique was proposed in [20]. The differentiator considered features of simple form and easy design. It was synthesized to be employed in real-time control systems.

Without lost of generality, let the input signal f(t)be a measurable function and let it consist of a base signal having a derivative with Lipschitz’s constant C >0. In order to differentiate the input signal, consider the auxiliary equality

$$\dot x = u.$$
((19))

Consider the following sliding surfaces which represent the difference between x and f(t):

$$s = x - f(t).$$
((20))

By differentiating s,we obtain the relationship

$$\dot s = u - \dot f(t).$$
((21))

The super twisting algorithm defines the control law u as

$$u = {u_1} - \lambda {\left| s \right|^{\tfrac{1}{2}}}\operatorname{sgn} (s)$$
((22))

where u 1 = −wsgn(s),λ,w >0, and u is the output of the differentiator.

Indeed, the super twisting algorithm converges in a finite time, so the following relationship can be obtained in a finite time:

$${\dot x - \dot f(t) = u - \dot f = 0}$$

or

$${u = \dot f(t).}$$

The corresponding sufficient conditions for a finite time convergence are

$$\begin{array}{*{20}{l}} {w < C} \\ {{\lambda ^2} \geqslant 4C\frac{{w + C}}{{w - C}}.} \end{array}$$
((23))

Fig. 1 presents the structure of the differentiator[23]. The separation principle is fulfilled for the proposed differentia­tor. A combined differentiator-controller output feedback preserves the main features of the controller with the full state available[24].

Fig. 1
figure 1

Structure of the differentiator

3.5 Interpolation of the integrator con­troller

In this section, our object is to reconstitute a control law to eliminate the speed steady-state error creation by disturbance. We propose to insert an integrator when the trajectory of state approaches its reference[21].

$${U_v} = \left\{ {\begin{array}{*{20}{l}} {{U_{veq}} + \Delta {U_v},\quad \quad \;\;\operatorname{if} \left\| {{\omega _{ref}} - {\omega _m}} \right\| < \delta } \\ {{U_{veq}} + \Delta {U_v} + {U_{int}},\quad \operatorname{if} \left\| {{\omega _{ref}} - {\omega _m}} \right\| < \delta } \end{array}} \right.$$
((24))

where

((25))

k v is the integral constant.

4 Simulation and experimental results

The Simulink/Matlab software package implementation was adopted because of its inherent integration of vectorized system representations. Moreover, the simulation provides valuable information about the dynamic behavior of the plant. The proposed approach has been simulated using the induction motor with the following parameters as shown in Table 1.

Table 1 Motor parameters

Typical test simulations of a speed induction motor control include an internal parameter variation.

A periodic trapezoidal reference speed is used here to study the tracking performance of the drive system. The speed profile is increased linearly to 50 rad/s during 3 s. It is kept constant at 50 rad/s till t = 8.5 s, and decreased linearly to 0 rad/s at t = 11.5s, then kept constant at 0 rad/s for 1 s. Then it is decreased linearly to –50 rad/s at t = 15.5 s. It is kept constant at -50 rad/s till t = 20.5 s. After that, it is increased linearly to 0 rad/s at t = 23.5 s.

In the following test, we use the classical discontinuous control defined by

$$\Delta u = - K\operatorname{sgn} (S)$$

where K is a positive constant.

The rotor speed and stator voltage are illustrated in Figs. 2 and 3.

Fig. 2
figure 2

Behavior of speed rotor (measured and reference)

Fig. 3
figure 3

Behavior of stator voltage

In order to avoid chattering problem and noise disturbances, we used a proposed discontinuous control described in (18). The behavior of speed in the closed loop without the integrator controller is illustrated in Fig. 4. In Fig. 3, rotor flux of a d-component is shown. Fig. 5 shows the best flux tracking and robustness for the change of speed reference.

Fig. 4
figure 4

Behavior of speed rotor (measured and reference)

Fig. 5
figure 5

Magnitude flux

The behaviors of two components stator voltages are presented in Fig. 6.

Fig. 6
figure 6

Stator voltages (V ds and V qs )

To eliminate speed steady-state error creation by disturbance, we inserted an integrator control.

Fig. 7 shows the behavior of the angular speed with integrator component. It demonstrates that the convergence of the speed was achieved.

Fig. 7
figure 7

Angular speed with integrator component

After the simulation tests and in order to verify the performance of the proposed method, the experimental activities were carried out using the benchmark presented in Fig. 8. It includes electronic circuits and electro-mechanical devices. Figs. 911 display the built experimental setup during the development phase.

Fig. 8
figure 8

The benchmark used in the experiment tests (IUT Soissons-France)

Fig. 9
figure 9

Current transducer board

Fig. 11
figure 11

The position incremental encoder

The motor nameplate is presented in Fig. 12.

Fig. 12
figure 12

Motor nameplate

The experimental benchmark consists of a dSpace board (DS1104) connected to a three-phase inverter by an adapter card in order to drive a 1.5kW induction motor. The dSpace board operates with a 0.1 ms sampling period and the pulse width modulation (PWM) worked at 5kHz. At each sampling instant, the dSpace board receives the measured current and actual position through the current transducer board and a 5000 points incremental encoder.

Fig. 10
figure 10

Adaptor electronic card

The torque load is a powder brake. It is used to create external disturbances in order to verify the robustness of our approach. The conditioning signal board is necessary to acquire the motor state variables from a high level of current to an appropriate voltage level.

The different tests for the sliding mode controller combined with the field orientation principle of induction motor have proven the improvement made by our approach by comparison with the classical switching gain.

To prove the performance of the proposed function for the different speed conditions, several tests are performed and the results are shown in Figs. 13–24.

Fig. 13
figure 13

Angular speed (measured and reference)

Both the sign and the relay functions do not perform accurately in a discrete-time system and the practical test, resulting in oscillation and undesired chattering. This undesirable chattering can deteriorate the inverter electronics components.

With the discontinuous control described by (17), it was clear that the stator voltage component V ds may give rise to chattering. In this case, we may risk destroying the motor and the inverter arms. For this reason, we did not take this experiment.

The first test was performed in order to test the efficiency of the proposed method and evaluate the performance and stability of the system. We used the sliding control mode using the discontinuous control described as

$$\Delta {U_v} = - {K_v}\operatorname{sgn} ({S_v}).$$
((26))

Figs. 13 and 14 present the time evolution of the angular speed with its reference and the behaviors of the stator voltage, respectively.

Fig. 14
figure 14

Stator voltages

The oscillations, usually referred to as chattering, are known to result in a low control accuracy, high heat losses in the electrical power circuits, and high wear of moving mechanical parts. These phenomena have been considered as serious obstacles for applications of the sliding-mode control.

Despite the use of saturation function, the stator voltage presents undesirable oscillations that lose robustness.

Fig. 15 shows the evolution of the measured angular speed and its reference using the discontinuous control described by (18) and without interpolation of the integrator controller.

Fig. 15
figure 15

Real and reference speeds with sliding mode controller

Figs. 16-18 show the evolutions of I ds current, the rotor flux magnitude (ψ dr_ref and ψ dr )and the stator voltages (V ds and V qs ),respectively.

Fig. 16
figure 16

Behavior of current I ds

Fig. 18
figure 18

Stator voltages

It should be noted that the adaptive sliding gain allows employing a smaller sliding gain, so that the value of the sliding gain does not have to be chosen high enough to compensate for all the possible system uncertainties.

As can be seen from this experimental result, the speed steady-state error was about 3 rad/s as show in Fig. 15.

In Fig. 17, high flux tracking and good rotor flux orientation can be observed.

In order to overcome the speed steady-state error, we introduced the integrator controller. We noticed that the error made in the speed converged to zero as shown in Fig. 19.

Fig. 19
figure 19

Real speed and reference speed with sliding mode and integrator controller

Fig. 19 shows the speed response of the motor, i.e., a very good speed regulation is obtained. One can see that the obtained speed results are satisfactory and the oscillations are minimal.

Fig. 17
figure 17

Estimated and reference d-axis rotor flux

As can be seen from this experimental result, the proposed algorithm is very robust and reliable for any speed condition.

In the same way, we applied the same condition for high speed control. In Fig. 20, the speed profile is increased linearly to 150 rad/s during 3s. It is kept constant at 150 rad/s till t = 8.2 s, decreased linearly to 0 rad/s at t =11.2 s, and kept constant at 0 rad/s for 1 s. Then it is decreased linearly to -150 rad/s at t =15.5 s. It is kept constant at -150 rad/s till t=17 s.

Fig. 20
figure 20

Angular speeds (measured and reference)

To test the robustness of the proposed method, we introduced change on the load torque applied on the shaft motor between 9s and 14 s.

Fig. 22 shows the desired and real rotor speeds. As may be observed, the sliding mode control is very robust to external load disturbances.

Fig. 22
figure 22

Robustness test

Figs. 23 and 24 show the responses stator voltage and the rotor flux magnitude during variation of load torque, respectively.

Fig. 23
figure 23

Stator voltages

These results show that the proposed sliding mode control can track the reference command accurately and quickly.

Fig. 21
figure 21

Behaviors of I ds and I qs currents

Fig. 24
figure 24

Estimated and reference d-axis rotor flux

5 Conclusions

The robust sliding mode speed control has been developed to control the induction motor.

This technique is realized with rotor field orientation in the synchronous reference frame. The main objective of this work is to compensate the disturbance effect that happens from change of torque and incertitude of electrical parameter due to temperature and saturation.

A robust sliding mode speed control was employed to obtain the better performance in practical validation from the induction motor. Some simulation and experimental results under various operating conditions were provided to illustrate the effectiveness and robustness of the developed methodology.

The efficiency of the robust sliding mode control presented in this paper has been successfully verified by simu­lation. The proposed algorithm demonstrated very good performance. Especially, it is robust under rotor resistance variation, external load disturbances and speed tracking. This study was successfully implemented on a DSPACE1104 card, in the Laboratory of Innovative Technology, University of Picardie Jules Verne, France in order to overcome the external disturbances and parameter variations for the rotor speed control of an IM drive.

It is shown through all the achieved experimental results that the proposed technique gives good performance for the speed regulation of induction and confirm good robustness of the controlled system.