Keywords

1 Introduction

Electric cars are making big waves in the automobile industry. Instead of using an internal combustion engine (ICE), electric vehicles (EVs) are driven by electric motors. Electric motors have significant advantages over internal combustion engines in motion control [1]. These advantages can be summarized as follows: noise-free, pollution-free, high-performance, and the feasibility of applying advanced control methods. From which, the dynamic quality of electric vehicles is improved. In particular, Electric Traction Motors have key characteristics as fast and quick torque response, high torque at low speed, small size, reduced weight. Adopted traction motors in electric vehicles (EVs) and hybrid electric vehicles (HEVs) is Interior Permanent Magnet Synchronous Motor (IPMSM).

To achieve the high performance and high accuracy requirements of PMSM drive systems, various nonlinear control techniques have been widely applied, such as model predictive control [2, 3]; backstepping control [4, 5], sliding mode control [6], etc. to improve motor control efficiency in different aspects. Among the above methods, backstepping control is a recursive design approach for nonlinear systems. By using variable virtual control law, the initial high-order system is simple so that the final outputs can be systematically computed through suitable Lyapunov functions.

The reality shows that IPMSM drive system faces unavoidable disturbances, such as uncertain parameters and load torque. In order to improve the control quality as well as reduce the influence of the above problems on speed response, disturbance observer-based control systems are widely studied. Origins of disturbance observer was mentioned as Birth of Robust Control (1960s–1980s), and Birth of DOb (1960s–1980s), then the development of DOB-based robust control was proposed by K. Ohnishi in 1983, reviewed in “35th Anniversary Overview” [7]. Up to now, many disturbance observers have been developed such as linear disturbance and uncertainty estimation (LDUE) techniques, and nonlinear disturbance/uncertainty estimation (NDUE) techniques [8].

In [9] and [10], nonlinear disturbance observers are used for rotor speed control loop and current control loop, respectively. In which rotor speed response is greatly improved. A backstepping control combined with nonlinear disturbance observers for both outer-loop and inner-loop control are presented in [11] and obtained good results in the presence of disturbances. In [12], a terminal sliding mode single-loop control is used with a nonlinear disturbance observer to estimate the lump disturbance. In order to improve the results further, in this paper, nonlinear high-gain disturbance observers [13] combined with the backstepping control system based on Lyapunov stability theory [14] is proposed and achieved better rotor speed response, in which the deviation is significantly reduced in the presence of load torque disturbance.

The contribution of the paper is: (i) A high-gain disturbance observer is proposed and achieve high-precision observation results. (ii) The proposed controller is the nonlinear disturbance observer combined backstepping controller that eliminating the disturbance of IPMSM included uncertainty parameters and load torque to obtain fast transient responses and strong robustness.

This paper is structured as follows: the second part is the introduction of mathematical model of PMSM. In the third part, the nonlinear disturbance observer is presented. The fourth part, the backstepping controller is built in combination with the estimation results of the nonlinear disturbances obtained in the previous third part. Simulation methods with the combination of Matlab/Simulink on computer and TI C2000 microcontroller are presented in the fifth part and finally concluded in the sixth part.

2 Mathematical Model

Assume that the motor’s current loss, hysteresis, and eddy are ignored, and the magnetic circuit is unsaturated. The three-phase stator windings of AC machines are sinusoidal in space, then vector control strategy is adopted to obtain decoupled control of motor torque and flux. By using the Park transforms mathematical model, a three-phase system in a reference frame abc is converted to a rotating reference frame dq0 included direct, quadrature, and zero components. The stator flux equations of IPMSM in the d and q axis is given in [15]:

$$ \left\{ \begin{gathered} \phi_{d} = L_{d} i_{d} + \phi \hfill \\ \phi_{q} = L_{q} i_{q} \hfill \\ \end{gathered} \right. $$
(1)

where \(L_{d} ,\,L_{q}\) denote the d-q axis stator inductances \((mH)\), \(\phi\) is rotor permanent magnet flux \((Wb)\); \(i_{d} ,\,i_{q}\) are the d-q axis currents. According to field-oriented theory, the d-q axis voltages are expressed as [16]:

$$ \left\{ \begin{gathered} u_{d} = R_{s} i_{d} + L_{d} \frac{{di_{d} }}{dt} - n_{p} \omega L_{q} i_{q} \hfill \\ u_{q} = R_{s} i_{q} + L_{q} \frac{{di_{q} }}{dt} - n_{p} \omega L_{d} i_{d} + n_{p} \omega \phi \hfill \\ \end{gathered} \right. $$
(2)

where \(R_{s}\) is stator resistance \((\Omega )\); \(n_{p}\) is the pole-pair number; \(\omega\) is the rotor speed. Torque equations of IPMSM is given as follows:

$$ T_{e} = \frac{3}{2}n_{p} \left( {\phi_{d} i_{q} - \phi_{q} i_{d} } \right) $$
(3)
$$ T_{e} = J_{m} \frac{d\omega }{{dt}} + B\omega + \tau_{L} $$
(4)

where \(J_{m}\) is the rotor moment of inertia \((kgm^{2} )\); \(B\) is the viscous friction coefficient \((Nms)\);\(\tau_{L}\) is load torque \((Nm)\). From the Eqs. (1)–(4), the mathematical model of IPMSM in the rotor rotation reference system (dq) can be expressed as follows [11]:

$$ \left\{ \begin{gathered} \frac{d\omega }{{dt}} = \frac{1}{{J_{m} }}\left( {n_{p} \left( {\left( {L_{d} - L_{q} } \right)i_{d} i_{q} + \phi i_{q} } \right) - B\omega } \right) \\ + d_{1} \\ \frac{{di_{q} }}{dt} = \frac{1}{{L_{q} }}\left( { - R_{s} i_{q} - n_{p} \omega \phi - n_{p} \omega L_{d} i_{d} } \right) \\ + \frac{1}{{L_{q} }}u_{q} + d_{2} \\ \frac{{di_{d} }}{dt} = \frac{{ - R_{s} i_{d} + n_{p} \omega L_{q} i_{q} }}{{L_{d} }} + \frac{1}{{L_{d} }}u_{d} + d_{3} \\ \end{gathered} \right. $$
(5)

where \(d_{1} ,\,d_{2} ,\,d_{3}\) represent disturbances caused by uncertainty parameters and load torque that are defined as follows [11]:

$$ \left\{ \begin{gathered} d_{1} = - \frac{1}{{J_{m} }}\left( \begin{gathered} \Delta J_{m} \frac{d\omega }{{dt}} + \Delta B\omega + \tau_{L} \hfill \\ - n_{p} \left( {\Delta L_{d} - \Delta L_{q} } \right)i_{d} i_{q} - n_{p} \Delta \phi i_{q} \hfill \\ \end{gathered} \right) \\ d_{2} = - \frac{1}{{L_{q} }}\left( \begin{gathered} \hfill \Delta R_{s} i_{q} + \Delta L_{d} n_{p} \omega i_{d} + \Delta \phi n_{p} \omega \\ \hfill + \Delta L_{q} \frac{{di_{q} }}{dt} \\ \end{gathered} \right) \\ d_{3} = - \frac{1}{{L_{d} }}\left( {\Delta R_{s} i_{d} - \Delta L_{q} n_{p} \omega i_{q} + \Delta L_{d} \frac{{di_{d} }}{dt}} \right) \\ \end{gathered} \right. $$
(6)

where \(\Delta R_{s} = R_{st} - R_{s}\), \(\Delta L_{d} = L_{dt} - L_{d}\), \(\Delta L_{q} = L_{qt} - L_{q}\), \(\Delta \phi = \phi_{t} - \phi\), \(\Delta J_{m} = J_{mt} - J_{m}\), \(\Delta B = B_{t} - B\) with \(R_{s} ,\,L_{d} ,\,L_{q} ,\,\phi ,\,J_{m}\), \(B\) are the nominal parameter values; \(R_{st} ,L_{dt} ,L_{qt} ,\phi_{t} ,J_{mt}\) and \(B_{t}\) are the actual parameter values. Let \(\omega = x_{1} ,i_{q} = x_{2} ,i_{d} = x_{3}\), Eq. (5) is rewritten as follows:

$$ \left\{ \begin{gathered} \dot{x}_{1} = - \frac{{Bx_{1} }}{{J_{m} }} + \frac{{n_{p} \left( {\left( {L_{d} - L_{q} } \right)x_{3} + \phi } \right)}}{{J_{m} }}x_{2} + d_{1} \hfill \\ \dot{x}_{2} = \frac{{ - R_{s} x_{2} - n_{p} x_{1} \phi - n_{p} x_{1} L_{d} x_{3} }}{{L_{q} }} + \frac{1}{{L_{q} }}u_{q} + d_{2} \hfill \\ \dot{x}_{3} = \frac{{ - R_{s} x_{3} + n_{p} x_{1} L_{q} x_{2} }}{{L_{d} }} + \frac{1}{{L_{d} }}u_{d} + d_{3} \hfill \\ \end{gathered} \right. $$
(7)

Assumption 1.

The state variables \(\omega ,i_{q} ,i_{d}\) are physically bounded, exist that:

$$ \left| \omega \right| < \omega_{\max } ,\,\left| {i_{q} } \right| < i_{q,\max } ,\,\left| {i_{d} } \right| < i_{d,\max } $$
(8)

where \(\omega_{\max }\), \(i_{q,\max }\), \(i_{d,\max }\) are constants. Besides, the unknown disturbances \(d_{1} ,\,d_{2}\), and \(d_{3}\) vary slowly and are bounded. Thus, exist such that the constraint constants \(\delta_{1} ,\delta_{2} ,\delta_{3}\) satisfy [10]:

$$ \left| {\dot{d}_{1} } \right| \le \delta_{1} ,\left| {\dot{d}_{2} } \right| \le \delta_{2} ,\left| {\dot{d}_{3} } \right| \le \delta_{3} $$
(9)

3 Robust Backstepping Controller Design

3.1 Speed Controller Design

In order to maintain constant flux operations of the motor, the d-axis current \(i_{d}\) is usually set to be zero. From which, the motor model given in Eq. (5) can be modified as follow:

$$ \dot{x}_{1} = \frac{{n_{p} \phi x_{2} - Bx_{1} }}{{J_{m} }} + d_{1} $$
(10)

Define speed error as \(e_{1} = x_{1}^{*} - x_{1}\), where \(x_{1}^{*}\) is the reference speed. The derivative of speed error is:

$$ \dot{e}_{1} = \dot{x}_{1}^{*} - \dot{x}_{1} = \dot{x}_{1}^{*} - \frac{{n_{p} \phi x_{2} }}{{J_{m} }} + \frac{{Bx_{1} }}{{J_{m} }} - d_{1} $$
(11)

Choose the Lyapunov candidate function as \(V_{1} = \left( {1/2} \right)e_{1}^{2}\). The time derivative of \(V_{1} \) is:

$$ \dot{V}_{1} = - \frac{{e_{1} }}{{J_{m} }}\left( { - J_{m} \dot{x}_{1}^{*} + n_{p} \phi x_{2} - Bx_{1} + J_{m} d_{1} } \right) $$
(12)

To force the derivative of \(V_{1}\) to become negative definite, the virtual control \(x_{2}^{*}\) is designed as follows:

$$ x_{2}^{*} = \frac{1}{{n_{p} \phi }}\left( {Bx_{1} - J_{m} d_{1} + J_{m} \dot{x}_{1}^{*} + k_{1} J_{m} e_{1} } \right) $$
(13)

Substituting Eq. (13) into Eq. (12): \({ }\dot{V}_{1} = - k_{1} e_{1}^{2} \le 0, \) where \(k_{1} > 0\). When the derivative of \(V_{1}\) is negative definite, the error of the speed controller will increasingly approach zero.

3.2 Current Controller Design

The reference q-axis current is the virtual control variable from Eq. (13), and the reference d-axis current \(x_{3}^{*}\) is normally set to zero to maintain constant flux. The current error on the d-q axis is determined as follows:

$$ \begin{gathered} e_{2} = x_{2}^{*} - x_{2} \hfill \\ e_{3} = x_{3}^{*} - x_{3} \hfill \\ \end{gathered} $$
(14)

The time derivative of \(e_{2} ,{ }e_{3}\) are given as:

$$ \begin{gathered} \dot{e}_{2} = \frac{1}{{n_{p} \phi }}\left( \begin{gathered} B\left( {\frac{{n_{p} \phi x_{2} - Bx_{1} }}{{J_{m} }} + d_{1} } \right)\, + J_{m} \ddot{x}_{1}^{*} \hfill \\ + k_{1} \left( {J_{m} \dot{x}_{1}^{*} - n_{p} \phi x_{2} + Bx_{1} - J_{m} d_{1} } \right) \hfill \\ \end{gathered} \right) \hfill \\ + \frac{{R_{s} x_{2} + n_{p} x_{1} L_{d} x_{3} + n_{p} x_{1} \phi - u_{q} }}{{L_{q} }} - d_{2} \hfill \\ \dot{e}_{3} = \frac{{R_{s} x_{3} - n_{p} x_{1} L_{q} x_{2} }}{{L_{d} }} - \frac{1}{{L_{d} }}u_{d} - d_{3} \hfill \\ \end{gathered} $$
(15)

Define Lyapunov candidate function:

$$ V_{2} = V_{1} + \frac{1}{2}e_{2}^{2} + \frac{1}{2}e_{3}^{2} $$
(16)

Then,

$$ \begin{gathered} \dot{V}_{2} = - k_{1} e_{1}^{2} + e_{3} \left( {\frac{{R_{s} x_{3} - n_{p} x_{1} L_{q} x_{2} }}{{L_{d} }} - \frac{1}{{L_{d} }}u_{d} - d_{3} } \right) \hfill \\ + e_{2} \left( \begin{gathered} \frac{1}{{n_{p} \phi }}\left( \begin{gathered} B\left( {\frac{{n_{p} \phi x_{2} - Bx_{1} }}{{J_{m} }} + d_{1} } \right)\, + J_{m} \ddot{x}_{1}^{*} \hfill \\ + k_{1} \left( {J_{m} \dot{x}_{1}^{*} - n_{p} \phi x_{2} + Bx_{1} - J_{m} d_{1} } \right) \hfill \\ \end{gathered} \right) \hfill \\ + \frac{{R_{s} x_{2} + n_{p} x_{1} L_{d} x_{3} + n_{p} x_{1} \phi - u_{q} }}{{L_{q} }} - d_{2} \hfill \\ \end{gathered} \right) \hfill \\ \end{gathered} $$
(17)

The current errors can be stabilized if the control laws are designed as follows:

$$ \begin{gathered} u_{q} = \frac{{L_{q} }}{{n_{p} \phi }}\left( \begin{gathered} B\left( {\frac{{n_{p} \phi i_{q} - B\omega }}{{J_{m} }} + d_{1} } \right) + J_{m} \ddot{\omega }^{*} \hfill \\ + k_{1} \left( {J_{m} \dot{\omega }^{*} - n_{p} \phi i_{q} + B\omega - J_{m} d_{1} } \right) \hfill \\ \end{gathered} \right) \\ + R_{s} i_{q} + n_{p} \omega L_{d} i_{d} + n_{p} \omega \phi - L_{q} d_{2} + k_{2} e_{2} \\ u_{d} = L_{d} \left( {\frac{{R_{s} i_{d} - n_{p} \omega L_{q} i_{q} }}{{L_{d} }} - d_{3} + k_{3} e_{3} } \right) \\ \end{gathered} $$
(18)

where \( k_{2} ,k_{3} > 0\). Substituting Eq. (18) into the derivative of Lyapunov function \(\dot{V}_{2}\), we get:

$$ \dot{V}_{2} = - k_{1} e_{1}^{2} - k_{2} e_{2}^{2} - k_{3} e_{3}^{2} \le 0 $$
(19)

Remark 1.

In order to achieve this convergence as Eq. (19), then the disturbances \(d_{1} ,\,d_{2} ,\,d_{3}\) must be explicitly known or zero. However, in practice, the disturbances of IPMSM are always existed and are unknown. Thus, the derivative of Lyapunov function \(\dot{V}_{2}\) results in:

$$ \dot{V}_{2} = - k_{1} e_{1}^{2} - k_{2} e_{2}^{2} - k_{3} e_{3}^{2} + e_{1} d_{1} + e_{2} d_{2} + e_{3} d_{3} $$
(20)

Let,

$$ \left\{ \begin{gathered} \varsigma = e_{1} d_{1} + e_{2} d_{2} + e_{3} d_{3} \hfill \\ \chi = \min \left\{ {k_{1} ,k_{2} ,k_{3} } \right\} \hfill \\ \end{gathered} \right. $$
(21)

Then, Eq. (20) is rewritten as:

$$ \dot{V} \le - 2\chi V + \varsigma $$
(22)

From the Eq. (22) can realize that the deviation of the control system is strongly influenced by the disturbances \(d_{1} ,\,d_{2} ,\,d_{3}\). Thus, to improve the control system, a high-gain disturbance observer is proposed that provides disturbance information such as uncertainty parameters and load torque to the controller.

3.3 Disturbance Observer Design

Define the estimated disturbances as \(\hat{d}_{1} ,\,\hat{d}_{2} ,\,\hat{d}_{3}\) the estimated errors are defined as follows:

$$ \tilde{d}_{1} = d_{1} - \hat{d}_{1} ,\,\tilde{d}_{2} = d_{2} - \hat{d}_{2} ,\,\tilde{d}_{3} = d_{3} - \hat{d}_{3} $$
(23)

With \(\varepsilon_{1} ,\,\varepsilon_{2} ,\,\varepsilon_{3}\) are the observation coefficients, dynamic equations of the estimated disturbances are designed as follows:

$$ \begin{gathered} \dot{\hat{d}}_{1} = \frac{1}{{\varepsilon_{1} }}\left( \begin{gathered} \hfill \dot{x}_{1} + \frac{{Bx_{1} }}{{J_{m} }} - \frac{{n_{p} \left( {\left( {L_{d} - L_{q} } \right)x_{3} + \phi } \right)}}{{J_{m} }}x_{2} \\ \hfill - \hat{d}_{1} \\ \end{gathered} \right) \hfill \\ \dot{\hat{d}}_{2} = \frac{1}{{\varepsilon_{2} }}\left( \begin{gathered} \hfill \dot{x}_{1} - \frac{{ - R_{s} x_{2} - n_{p} x_{1} \phi - n_{p} x_{1} L_{d} x_{3} }}{{L_{q} }} \\ \hfill - \frac{1}{{L_{q} }}u_{q} - \hat{d}_{2} \\ \end{gathered} \right) \hfill \\ \dot{\hat{d}}_{3} = \frac{1}{{\varepsilon_{3} }}\left( \begin{gathered} \hfill \dot{x}_{3} - \frac{{ - R_{s} x_{3} + n_{p} x_{1} L_{q} x_{2} }}{{L_{d} }} - \frac{1}{{L_{d} }}u_{d} \\ \hfill - \hat{d}_{3} \\ \end{gathered} \right) \hfill \\ \end{gathered} $$
(24)

Define the auxiliary state variables:

$$ \xi_{i} = \hat{d}_{i} - \frac{{x_{i} }}{{\varepsilon_{i} }},\,i = \left[ {1,3} \right] $$
(25)

The dynamic equations of the auxiliary state variables are:

$$ \begin{gathered} \dot{\xi }_{1} = - \frac{1}{{\varepsilon_{1} }}\left( { - \frac{{Bx_{1} }}{{J_{m} }} + \frac{{n_{p} \left( {\left( {L_{d} - L_{q} } \right)x_{3} + \phi } \right)}}{{J_{m} }}x_{2} } \right) \\ - \frac{1}{{\varepsilon_{1} }}\left( {\xi_{1} + \frac{{x_{1} }}{{\varepsilon_{1} }}} \right) \\ \dot{\xi }_{2} = - \frac{1}{{\varepsilon_{2} }}\left( {\frac{1}{{L_{q} }}u_{q} + \frac{{ - R_{s} x_{2} - n_{p} x_{1} \phi - n_{p} x_{1} L_{d} x_{3} }}{{L_{q} }}} \right) \\ - \frac{1}{{\varepsilon_{2} }}\left( {\xi_{2} + \frac{{x_{2} }}{{\varepsilon_{2} }}} \right) \\ \dot{\xi }_{3} = - \frac{1}{{\varepsilon_{3} }}\left( {\frac{1}{{L_{d} }}u_{d} + \frac{{ - R_{s} x_{3} + n_{p} x_{1} L_{q} x_{2} }}{{L_{d} }}} \right) \\ - \frac{1}{{\varepsilon_{3} }}\left( {\xi_{3} + \frac{{x_{3} }}{{\varepsilon_{3} }}} \right) \\ \end{gathered} $$
(26)

Theorem 1. For the nonlinear system of the interior permanent magnet synchronous motor in Eqs. ( 1 ) ( 7 ), the unknown disturbances are bounded and shown in Eqs. ( 6 ) , ( 9 ) can be observed by using the high-gain disturbance observers as Eq. ( 26 ) combined the auxiliary state variables in Eq. ( 25 ).

Proof of Theorem 1.

The following disturbance estimation error dynamics is obtained as [13]:

$$ \dot{\xi }_{i} = \dot{\tilde{d}}_{i} - \frac{{\dot{x}_{i} }}{{\varepsilon_{i} }} $$
(27)

From Eqs. (26) and (27), estimation error dynamics of the observers is obtained as:

$$ \dot{\tilde{d}}_{i} = \dot{d}_{i} - \left( {\frac{1}{{\varepsilon_{i} }}} \right)\tilde{d}_{i} $$
(28)

Consequently,

$$ \left| {\tilde{d}_{i} } \right| \le e^{{ - \left( {1/\varepsilon_{i} } \right)t}} \left| {\tilde{d}_{i} \left( 0 \right)} \right| + \varepsilon_{i} \rho_{i} \left( t \right) $$
(29)

Then, the upper bound of \(\left| {\tilde{d}_{i} \left( \infty \right)} \right|\) becomes smaller by \(\varepsilon_{i}\) gets smaller.

Remark 2.

In Eq. (26), observers with auxiliary state variables do not need to use derivatives of \(\omega ,{i}_{d},{i}_{q}\) as in Eq. (24). Then the measurement noise amplification by using the high gain \(1/{\upvarepsilon }_{\mathrm{i}}\) will be reduced, thus observers will be more feasible when applied in practice.

In order to improve the efficiency of the backstepping controller, the observed values \(\hat{d}_{1} ,\hat{d}_{2} ,\hat{d}_{3}\) from the Eq. (26) are substituted into Eqs. (13) and (18) as follows:

$$ \begin{gathered} x_{2}^{*} = \frac{1}{{n_{p} \phi }}\left( {Bx_{1} - J_{m} \hat{d}_{1} + J_{m} \dot{x}_{1}^{*} + k_{1} J_{m} e_{1} } \right) \\ u_{q} = \frac{{L_{q} }}{{n_{p} \phi }}\left( \begin{gathered} B\left( {\frac{{n_{p} \phi i_{q} - B\omega }}{{J_{m} }} + \hat{d}_{1} } \right) + J_{m} \ddot{\omega }^{*} \hfill \\ + k_{1} \left( {J_{m} \dot{\omega }^{*} - n_{p} \phi i_{q} + B\omega - J_{m} \hat{d}_{1} } \right) \hfill \\ \end{gathered} \right) \\ + R_{s} i_{q} + n_{p} \omega L_{d} i_{d} + n_{p} \omega \phi - L_{q} \hat{d}_{2} + k_{2} e_{2} \\ u_{d} = L_{d} \left( {\frac{{R_{s} i_{d} - n_{p} \omega L_{q} i_{q} }}{{L_{d} }} - \hat{d}_{3} + k_{3} e_{3} } \right) \\ \end{gathered} $$
(30)

Compared with the conventional backstepping control law in Eqs. (13) and (18), the novel control law Eq. (30) is more convenient to be adjusted with the observed values \(\hat{d}_{1} ,\,\hat{d}_{2} ,\,\hat{d}_{3}\) from Eqs. (25) and (26) that are continually updated for the control system.

4 Stability Analysis

Theorem 2. Consider the interior permanent magnet synchronous motor form as Eq. ( 5 ) under the bounded disturbance as Assumption 1 . By using the control law in Eq. ( 30 ) with the positive constants.

\(k_{1} ,\,k_{2} ,\,k_{3}\) and the observer gains \(1/\varepsilon_{1} ,\,1/\varepsilon_{2} ,\,1/\varepsilon_{3}\) of the high-gain disturbance observer Eqs. (25) and (26) guarantee the Input-to-State Stability [17] of the closed-control system.

Proof of Theorem 2.

Define the Lyapunov candidate function as follows:

$$ V = \frac{1}{2}e_{1}^{2} + \frac{1}{2}\tilde{d}_{1}^{2} + \frac{1}{2}e_{2}^{2} + \frac{1}{2}\tilde{d}_{2}^{2} + \frac{1}{2}e_{3}^{2} + \frac{1}{2}\tilde{d}_{3}^{2} $$
(31)

Taking derivative of Eq. (31) with respect to time yields:

$$ \dot{V} = e_{1} \dot{e}_{1} + \tilde{d}_{1} \dot{\tilde{d}}_{1} + e_{2} \dot{e}_{2} + \tilde{d}_{2} \dot{\tilde{d}}_{2} + e_{3} \dot{e}_{3} + \tilde{d}_{3} \dot{\tilde{d}}_{3} $$
(32)

Substituting the disturbance estimation error dynamics Eq. (28) into Eq. (32) results in:

$$ \begin{gathered} \dot{V} = e_{1} \left( {\dot{x}_{1}^{*} - \frac{{n_{p} \phi x_{2} }}{{J_{m} }} + \frac{{Bx_{1} }}{{J_{m} }} - d_{1} } \right) + \tilde{d}_{1} \left( {\dot{d}_{1} - \left( {\frac{1}{{\varepsilon_{1} }}} \right)\tilde{d}_{1} } \right) \\ + e_{2} \left( \begin{gathered} \frac{1}{{n_{p} \phi }}\left( \begin{gathered} B\left( {\frac{{n_{p} \phi x_{2} - Bx_{1} }}{{J_{m} }} + d_{1} } \right) + J_{m} \ddot{x}_{1}^{*} \hfill \\ + k_{1} \left( {J_{m} \dot{x}_{1}^{*} - n_{p} \phi x_{2} + Bx_{1} - J_{m} d_{1} } \right) \hfill \\ \end{gathered} \right) \hfill \\ + \frac{{R_{s} x_{2} + n_{p} x_{1} L_{d} x_{3} + n_{p} x_{1} \phi - u_{q} }}{{L_{q} }} - d_{2} \hfill \\ \end{gathered} \right) \\ + e_{3} \left( {\frac{{R_{s} x_{3} - n_{p} x_{1} L_{q} x_{2} }}{{L_{d} }} - \frac{1}{{L_{d} }}u_{d} - d_{3} } \right) \\ + \tilde{d}_{2} \left( {\dot{d}_{2} - \left( {\frac{1}{{\varepsilon_{2} }}} \right)\tilde{d}_{2} } \right) + \tilde{d}_{3} \left( {\dot{d}_{3} - \left( {\frac{1}{{\varepsilon_{3} }}} \right)\tilde{d}_{3} } \right) \\ \end{gathered} $$
(33)

With the control laws in Eq. (30), the time derivative of Lyapunov candidate function V is obtained as follows:

$$ \begin{gathered} \dot{V} = e_{1} \left( { - k_{1} e_{1} - \tilde{d}_{1} } \right) + \tilde{d}_{1} \left( {\dot{d}_{1} - \left( {\frac{1}{{\varepsilon_{1} }}} \right)\tilde{d}_{1} } \right) \\ + e_{2} \left( { - k_{2} e_{2} - \tilde{d}_{2} } \right) + \tilde{d}_{2} \left( {\dot{d}_{2} - \left( {\frac{1}{{\varepsilon_{2} }}} \right)\tilde{d}_{2} } \right) \\ + e_{3} \left( { - k_{3} e_{3} - \tilde{d}_{3} } \right) + \tilde{d}_{3} \left( {\dot{d}_{3} - \left( {\frac{1}{{\varepsilon_{3} }}} \right)\tilde{d}_{3} } \right) \\ = \sum\limits_{i = 1}^{3} {\left( { - k_{i} e_{i}^{2} - e_{1} \tilde{d}_{i} - \frac{1}{{\varepsilon_{i} }}\tilde{d}_{i} + \tilde{d}_{i} \dot{d}_{i} } \right)} \\ \end{gathered} $$
(34)

Using the inequality \(\left| a \right|\left| b \right| \ge ab\), Eq. (34) is obtained as follows:

$$ \begin{gathered} \dot{V} \le - \sum\limits_{i = 1}^{3} {\left( {k_{i} \left( {\frac{{e_{i} }}{{\alpha_{i} }} + \frac{{\alpha_{i} }}{{2k_{i} }}\tilde{d}_{i} } \right)^{2} + \tau_{i} \left( {\left| {\tilde{d}_{i} } \right| - \frac{1}{{2\tau_{i} }}\left| {\dot{d}_{i} } \right|} \right)^{2} } \right)} \\ - \sum\limits_{i = 1}^{3} {\left( {\left( {1 - \frac{1}{{\alpha_{i}^{2} }}} \right)k_{i} e_{i}^{2} + \frac{{\beta_{i}^{2} }}{{4k_{i} }}d_{i}^{2} } \right)} + \sum\limits_{i = 1}^{3} {\left( {\frac{1}{{4\tau_{i} }}\left| {\dot{d}_{i} } \right|^{2} } \right)} \\ \end{gathered} $$
(35)

where \(\tau_{i} = \left( {\frac{1}{{\varepsilon_{i} }} - \frac{{\alpha_{i}^{2} + \beta_{i}^{2} }}{{4k_{i} }}} \right);\alpha_{i} > 0;\beta_{i} \ne 0\). Exist that:

$$ \left\{ \begin{gathered} \gamma = \sum\limits_{i = 1}^{3} {\left( {\frac{1}{{4\tau_{i} }}\delta_{i}^{2} } \right)} \hfill \\ \kappa = \min \left\{ {\left( {1 - \frac{1}{{\alpha_{i}^{2} }}} \right)k_{i} ,\frac{{\beta_{i}^{2} }}{{4k_{i} }}} \right\} \hfill \\ \end{gathered} \right. $$
(36)

Then, Eq. (35) can be rewritten as:

$$ \dot{V} \le - 2\kappa V + \gamma $$
(37)

Consequently,

$$ V\left( t \right) \le V\left( 0 \right)e^{ - 2\kappa t} + \frac{\gamma }{2\kappa }\left( {1 - e^{ - 2\kappa t} } \right) $$
(38)

Remark 3.

The Eq. (38) shows that the tracking errors \(e_{1} ,\,e_{2} ,\,e_{3}\), and estimation errors \(\tilde{d}_{1} ,\,\tilde{d}_{2} ,\,\tilde{d}_{3}\) exponentially converge to an arbitrarily small ball \(\gamma /2\kappa\) that can be shrunk by \(\gamma\) via the high observer gains \(1/\varepsilon_{1} ,\,1/\varepsilon_{2} ,\,1/\varepsilon_{3}\) [18]. This adjustment is different from when using only the conventional backstepping as in Remark 1, which is greatly influenced by the disturbances.

5 PIL Simulation and Results

5.1 PIL Simulation

This paper uses PIL test technique [19], i.e., Texas Instrument’s TI C2000 F28377S microcontroller to validate the controller, while the plant will be built on Matlab/Simulink environment. The specifics of the \(0.72\,{\text{kW}}\) 3-pole IPMSM are given as [20] rated speed is \(3000\, {\text{r}}/{\text{min}}\); rated torque is \(2.3\,{\text{Nm}}\); \(R_{s} = 4.8\,\Omega\); \(L_{d} = 19.5 \,{\text{mH}}\); \(L_{q} = 27.5 \,{\text{mH}}\); \(\phi = 0.15\,{\text{Wb}}\); \(J_{m} = 0.001\,{\text{kgm}}^{2}\). The general PIL simulation diagram of the control system for IPMSM is shown in Fig. 1. Choose constants as: \(k_{1} = 5000\), \(k_{2} = 9000\), \(k_{3} = 3000\), observation coefficients: \(\varepsilon_{1} = \varepsilon_{2}\)\(= \varepsilon_{3} = 0.0001\). Furthermore, actual parameter values are set with an error of about 10% compared to nominal values.

Fig. 1.
figure 1

Overview simulation diagram

5.2 Simulation Results

To demonstrate the efficiency of the proposed backstepping algorithm and the high-gain observer, the speed value and load torque are set to the controller as in Fig. 2 (a), (b).

Fig. 2.
figure 2

Reference load torque.

Fig. 3.
figure 3

Rotor speed response of IPMSM.

Figure 3 shows the rotor speed response using the controllers as PID, the conventional backstepping control, and the high-gain disturbance observer-based backstepping control. When the load torque changes suddenly at 2 s, the rotor speed response using the PID controller is significantly overshot, and the conventional backstepping is the appearance of steady state error, as shown in Figs. 3 and 4(a). The steady state error of the traditional backstepping is caused by the disturbances as given in Remark 1. In order to deal with these problems, the control system using the high-gain disturbance observer-based backstepping control is proposed and obtains fast transient responses and strong robustness. The deviation of the proposed controller is minimal, and the control quality is clearly improved compared to the PID controller and the conventional backstepping, as in Figs. 3 and 4.

Figures 5, 6 and 7 show the estimation performance of the disturbances \(d_{1} ,\,d_{2}\), and \(d_{3}\), respectively. The disturbance included uncertainty parameters, and the load torque of IPMSM is accurately estimated using the high-gain disturbance observer. The estimation errors \(\tilde{d}_{1} ,\,\tilde{d}_{2}\) and \(\tilde{d}_{3}\) are minimal, as shown in Figs. 5(b), 6(b), and 7(b), from which the controller has the information of the disturbance to improve the accuracy of the closed-control system.

Fig. 4.
figure 4

(a) Speed error without disturbance observer. (b) Speed error using disturbance observer.

Fig. 5.
figure 5

Disturbance estimation \({d}_{1}\)

Fig. 6.
figure 6

Disturbance estimation \({d}_{2}\)

Fig. 7.
figure 7

Disturbance estimation \({d}_{3}\)

6 Conclusion

This paper presents the robust speed control for IPMSM using a backstepping controller combined with a high-gain disturbance observer. Disturbances include uncertainty parameters and external load torque. In order to improve the accuracy of the controller, the nonlinear observer is applied to calculate the disturbance components in the system. The controller combines the advantages of a backstepping controller and the high-gain observer. The effectiveness and feasibility of the proposed control and observer are demonstrated by using the PIL test technique.