1. Introduction
The interior permanent magnet synchronous motor (IPMSM) has been widely utilized due to its simple structure, high efficiency, high power density, fast response and other excellent features [
1,
2]. Among the IPMSM control methods, the field-oriented control (FOC) is most widely applied due to the features of low torque ripple, fast response and high control precision. At the same time, the double-loop structure of FOC can control the torque and magnetic flux independently [
3,
4,
5]. The inner current loop determines the dynamic and steady-state performance of stator currents [
6,
7]. However, IPMSM is a nonlinear and strong coupling system and contains unavoidable and unmeasured disturbances such as possible parameter variations in operating [
8,
9,
10]. Moreover, the inverter includes nonlinearity such as dead time, voltage drop and other factors [
11,
12]. These unideal factors, which are usually ignored in motor control system modeling, will affect the current control accuracy and cause controller parameter mismatch. It is difficult to meet the high performance requirements of the IPMSM control system using traditional control methods.
With the development of power electronics and digital signal processing, many methods to improve current control accuracy have been proposed. In general, these methods can be divided into two groups. One is to improve the current control performance by introducing new control laws. Study [
13] presents a method based on an adaptive linear neuron to suppress the current harmonics by a self-tuning voltage feedforward, which does not need to extract the current harmonics. Study [
14] proposes a model predictive current control (MPCC) method with adaptive-adjusting timescales based on the motor operation conditions, which can improve the system dynamic response and the current prediction accuracy. Study [
15] presents a fixed switching period sliding mode control (SMC) method which combines the advantages of FOC and direct torque control (DTC). This method can allow the control law to be transferred to the inverter directly by a novel decoupling algorithm to find a set of decoupled sliding surfaces. Study [
16] analyzes the relationship between the low-pass filter in the feedback loop and the controller parameters, and proposes a modified model compensation active disturbance rejection control (ADRC) method, which can make the current response closer to that of the ideal closed-loop control system. Study [
17] proposes a complex vector decoupling method considering the time delay caused by sampling, calculation and PWM modulation, which quantifies and compensates the phase delay to improve the dynamic performance.
Although the above methods improved the current control performance by introducing new control laws, the parameters’ perturbation and other unideal factors are ignored, and the system disturbances have not been eliminated yet.
The other methods obtained system information through sensors or observers and improve the controller [
18,
19,
20,
21,
22,
23,
24,
25,
26]. Among them, disturbance observer (DO) gains the favor of many scholars and becomes a research hotspot because of its simple structure, lack of dependence on system model accuracy and lack of an additional hardware cost. At the same time, compensation based on the disturbance observer does not change the original structure of the controller. In [
21], a multiple-models adaptive disturbance observer is proposed to solve the steady-state current error by estimating the lumped disturbances, which can improve the robustness to parameter perturbations and model mismatch. Study [
22] proposes an adaptive observer based on the model reference adaptive system (MRAS), which improves the control performance, anti-interference ability and robustness of the control system. Study [
23] presents a novel super-twisting algorithm associated with extended state observer (ESO) for FOC, which can estimate system disturbances, eliminate chattering, improve the system anti-interference ability, and obtain a fast dynamic response. Study [
24] introduces an adaptive internal model observer (AIMO) to observe system disturbances quickly without static difference, which avoid disturbances caused by parameter variations. Study [
25] proposes a sliding-mode observer based on adaptive super-twisting algorithm (ASTA-SMO) to improve the performance of deadbeat predictive current control (DPCC), which can predict future values of stator current and track system disturbance caused by parameter mismatch. Study [
26] presents an adaptive stator current disturbance observer considering the discrete characteristics of the current prediction error, which structures a parallel strategy, observes the discrete disturbance related to each voltage vector separately, and then eliminates the prediction error.
The above disturbance observation methods can effectively estimate and compensate for system disturbances. Among them, the SMO has simple structure and is easy to implement. Other methods have disadvantages such as difficulty with observer parameter adjustment, a poor observation effect on nonlinear disturbances, etc. However, due to the discontinuous switching characteristics, the ordinary sliding mode method has a chattering problem [
27]. The terminal sliding mode method introduces nonlinear terms into the sliding mode surface, which can make the observation error converge to zero in finite time, and its dynamic performance is better than the ordinary sliding mode method with state asymptotic convergence under linear sliding mode surface conditions [
28]. And the terminal sliding mode method does not have switching items, which can effectively eliminate chattering. However, the introduction of nonlinear terms results in the existence of negative exponential term in the sliding mode control function which will bring about singularity problems [
29].
In this research, a terminal sliding mode disturbance observer (SMDO) based on a recursive integral sliding mode surface for lumped disturbances of IPMSM is proposed. The observer can realize the lumped estimation of the electromagnetic parameter variation and external disturbances of the control system without relying on the accurate system model in finite time. At the same time, the noise sensitivity caused by the forward Euler derivative and the singularity problem of the traditional terminal sliding mode observer are avoided. In this paper, a novel IPMSM model is presented, and all the system disturbances as the lumped stator voltage variation are considered in
Section 2. The recursive integral sliding mode disturbance observer is analyzed and designed in
Section 3. The experimental results are given to verify the feasibility of the proposed observer in
Section 4.
2. Modeling of IPMSM with Parameter Variation and Unknown Disturbance
According to study [
2], the state equation of the IPMSM dynamic model in a synchronously rotating reference frame can be denoted as (1):
where
ud,
uq,
id and
iq are the stator voltage and current components in d- and q-axis, respectively;
Rs is the nominal value of stator resistance;
Ld and
Lq are the nominal values of the inductance in the d- and q-axis, respectively; and
ψf is the nominal value of permanent magnet flux linkage.
The system state variables are defined as
x = [
id iq]
T, the input variables are defined as
u = [
ud uq]
T, then (1) can be expressed as (2):
where
The motor parameters including stator resistance, stator inductance, and permanent magnet flux linkage vary with the varying operating condition, then the controller performance can be affected by the varying motor parameters. Meanwhile, the system nonlinearity, dead time and other factors of the inverter can also affect the motor voltage and current. After considering the above, the system state equation can be expressed as [
2]:
where
ΔR,
ΔLd,
ΔLq,
Δψf are variations of
Rs,
Ld,
Lq, and
ψf, respectively;
Δud and
Δuq are the voltage variations caused by the other unideal factors. After considering the above issues, (2) can be obtained:
From (4), the variation in current response will induce additional errors, and cause parameter mismatch of the current controller, resulting in a decrease in the current control effect.
Considering the effects above, all the disturbances can be regarded as the lumped disturbance
f = [
fd fq]
T in the d- and q-axis stator voltage.
Then (4) can be expressed as:
3. Design and Analysis of Recursive Integral Sliding Mode Disturbance Observer
Disturbance observer is an effective method to solve the current controller mismatch. After the lumped disturbance
f is estimated by the disturbance observer, disturbance compensation controller can eliminate the disturbance influence efficaciously. The block diagram of the IPMSM control scheme with disturbance compensation is shown in
Figure 1, where
ωe* is the reference value of the rotating speed speed,
x* is the reference value of current,
is the estimated value of the lumped disturbances
f, and
fc is the disturbance compensation value obtained by
.
The controlled system with the disturbance observation and compensation can be equivalent to
Figure 2, then the system state equation can be shown as (7):
According to (7), when f − fc = 0, the effects of system disturbances can be compensated and the actual system state can be equivalent to the ideal state without disturbances. Then, the current loop parameters can be designed according to (2) under ideal conditions.
3.1. Design of Recursive Integral SMDO
The SMDO is constructed based on (6), and the observation equation is as follows:
where
= [
]
T,
and
are the observed values of
id and
iq, respectively;
usmo = [
usmod usmoq]
T,
usmod and
usmoq are the d- and q-axis control functions, respectively.
The current observation error
e = [
eid eiq]
T is defined as (9):
By substituting (6) and (8) into (9), the state equation of the current observation error is derived as:
To ensure the observation error can converge to 0 in finite time, and the observer control functions
usmod and
usmoq are non-singular, an integral fast terminal sliding mode surface is selected as [
27]:
where
αid,
αiq,
βid,
βiq,
γid, and
γiq are sliding mode observer coefficients; in general,
αid > 0,
αiq > 0,
βid > 0,
βiq > 0, 0 <
γid < 1, and 0 <
γiq < 1.
When the control functions
usmo satisfy the SMDO reachability condition and the observer is in sliding mode, the first-order derivative of the sliding mode surface is
0:
The equivalent observer control function
ueq can be obtained according to (10) and (12):
Since there are nonlinear and unmeasurable factors in the lumped disturbances
f, and the observer cannot obtain the estimated values
directly by only using the equivalent control functions
ueq, it is necessary to design the disturbance tracking functions
uf = [
ufd ufq]
T to estimate the lumped disturbances. According to (6) and (10), (14) can be obtained as follows:
The state equation of error
e is rewritten as:
On the basis of an integral fast terminal sliding mode surface
si, the recursive sliding mode surface
sf is adopted to realize the estimation of lumped disturbances
f, and the SMDO based on the recursive terminal sliding mode surface is obtained. The
sf is as (16):
where
αfd,
αfq,
βfd,
βfq,
γfd, and
γfq are sliding mode observer coefficients of
sf; in general,
αfd > 0,
αfq > 0,
βfd > 0,
βfq > 0, 0 <
γfd < 1, and 0 <
γfq < 1.
The first-order derivative of
sf is given in (17):
In order to solve the disturbance tracking function
uf in SMDO, (15) is substituted into (11) to obtain the first and second order derivative of
si:
The disturbance tracking function
uf is selected as (20):
According to Equations (13), (14) and (20), the observer control function
usmo can be obtained as (21):
When the observer is in the balance state e = 0, the equivalent observer control function ueq in (21) is equal to zero and the disturbance tracking function uf in (21) is equal to the lumped disturbance f, so uf is the observed value of the lumped disturbance.
The block diagrams of the disturbance observer are shown in
Figure 3.
While using the traditional terminal sliding mode method to observe the system states, the system state equation is usually in the form of an integral chain [
28]. At this time, the system state equation as follows:
where
ef =
f −
= [
efd efq]
T, and
usmoT is the sliding mode control function and is also the observed value of
.
The sliding mode surface is selected as (23) according to study [
29], and the recursive sliding mode surfaces is selected as (24):
where
αij > 0,
βij > 0, and 0 <
γij < 1 (i =1, 2; j = d, q) are sliding mode coefficients.
According to (22)–(24), the control function
usmoT is selected as:
According to (25), the control function usmoT contains the current observation error e and the disturbance observation error ef. e can be obtained directly based on the actual current of the system and observed current of the observer, but ef needs to be obtained by derivation of e. In common, ef is calculated as , which is sensitive to noise. Tc is the control period of the current loop. At the same time, since γ1d − 1 < 0 and γ1q − 1 < 0, the observer has a singular problem, while e = 0 and ef ≠ 0.
Compared with traditional terminal SMDO, the proposed recursive integral SMDO considers lumped disturbance as a motor stator voltage variation. The state equation of observer is the first-order differential equation shown in (10). The observer control function usmo as shown in (21) only requires the current observation error e and does not contain the derivative si or e. And the observer control function usmo does not contain the negative exponential term, there is no singular problem when the observer is in sliding mode. Therefore, the proposed recursive integral SMDO can avoid the noise sensitivity and singularity problem while tracking the system lumped disturbance in finite time.
The SMDO only demands the input and output information of a system, and the lumped disturbance can be eliminated by disturbance observation and compensation.
3.2. Stability Analysis
The Lyapunov function
Vi is defined as (26), and its first-order differential is given as (27):
When the control period of the current loop is short enough, and can be considered as zero. < 0 is drawn while the observer parameter ranges are αfd > 0, αfq > 0, βfd > 0, βfq > 0, 1 > γfd > 0, and 1 > γfq > 0. It can be derived that is asymptotically stable at itsorigin, which implies that the current observation error e can converge to 0 in finite time with the control function usmo.
Define the disturbance observation error
ef =
f −
uf, and define the Lyapunov function
Vf as follows:
According to (18) and (19), the first-order derivative of
Vf is given as:
It can be derived that ef is also asymptotically stable at its origin. Thus, the current observation results of SMDO can converge to the actual currents, and the disturbance tracking functions uf converge to the lumped disturbance f in finite time.
The trajectory of the observation error
e is denoted as (30):
When the current observation error is close to the balance state
e = 0, the convergence speed is mainly determined by (31):
When the current observation error is far from its origin, the convergence speed is mainly determined by (32):
By solving (30), the time to arrive at
e = 0 can be derived as:
4. Experimental Results
An experimental setup was built to validate the proposed algorithm, as shown in
Figure 4. An IPMSM, an asynchronous induction motor (ACIM) and a torque sensor are connected via diaphragm couplings, where the IPMSM is used to test the algorithm proposed in this paper, and the ACIM is used to provide the load torque. The parameters of IPMSM are listed in
Table 1.
The control algorithm of IPMSM is implemented through DSP TI TMS320F28377D. The CPU1 of DSP communicates with the PC while running the basic motor control algorithm. The CPU2 is responsible for realizing the disturbance observer. The interfaces of multiple peripherals including resolver-to-digital converter (R/D Converter), analog–digital converter (ADC), and digital–analog converter (DAC), the external I/O interface, and the hardware protection logic are implemented in FPGA Xilinx XC6SLX16. Hall sensors are used to obtain voltage and current information of IPMSM. A rotating transformer is used to measure the speed and position of IPMSM. The pulse width modulation (PWM) switching frequency is 20 kHz, and the DC bus voltage is 200 V. An oscilloscope (DLM5054), a recorder (DL850) and a power analyzer (WT5000) manufactured by Yokogawa were used to record the system data during the experiments. The experimental setup is shown in
Figure 5.
Experiments are carried out to validate the proposed recursive integral SMDO. During the experiments, the same parameters are applied to the speed loop and current loop. After IPMSM reaches 1400 rpm, the load torque increases from 0 N·m to 20 N·m, then decreases to 0 N·m.
Figure 6 shows the experimental results of currents without disturbance compensation. In
Figure 6a,b, the top waveforms in each figure are the currents
idn and
iqn, calculated by DSP based on the current motor currents
id and
iq and the voltage given values
ud and
uq of the current loop through the state Equation (1) under ideal conditions. The middle waveforms in each figure are the actual
id and
iq obtained by park transformation of the measured phase currents. The waveforms at the bottom of each figure are the current observation values
and
of the observer.
id varies between −1.4 A and −5.7 A, and
iq varies between 34.2 A and 38.2 A when speed is 1400 rpm and torque is 20 N·m.
Due to the disturbances shown in (3), the actual currents
id and
iq are not equal to the theoretical currents
idn and
iqn calculated by DSP. The difference between the actual currents and the theoretical currents
errorid=
idn −
id and
erroriq =
iqn −
iq are shown in
Figure 7. The absolute values of
errorid and
erroriq increase with speed and load increasing. The
errorid varies between −3.8 A and −1.8 A, and the
erroriq varies between −0.2 A and −0.9 A when speed is 1400 rpm and torque is 20 N·m.
Figure 8 shows the difference between the observed currents and the actual currents, that is, the current observation error
e in (9). Although the fluctuation range of observation error increases with the increase in speed and load, it still remains within a small range. Both
eid and
eiq fluctuate between −0.2 and 0.2.
Figure 9 shows the derivative of the current observation error calculated by DSP based on the formula
. The derivation based on the backward Euler method will amplify the quantization errors and noise in the error
e, and also bring about truncation error. These factors will affect the accuracy of disturbance observation while using the traditional terminal SMDO.
The observed lumped disturbance
is shown in
Figure 10. The absolute values of observed disturbance values also increase with speed and load increasing.
varies between 8.1 V and 13.4 V, and
varies between 2.2 V and 5.5 V when speed is 1400 rpm and torque is 20 N·m.
Figure 11 shows the currents with the disturbance compensation.
id varies between −1.8 A and −5.2 A, and
iq varies between −34.6 A and 38.1 A under 1400 rpm and 20 N·m. Compared with the current waveforms in
Figure 6, the fluctuations in the motor currents
id and
iq become smaller.
errorid and
erroriq after adding the disturbance compensation are shown in
Figure 12, which indicates that the absolute values of steady-state differences no longer increase with the increase in speed and load, but remain close to zero. The
errorid varies between −0.9 A and 0.8 A, and the
erroriq varies between −0.3 A and −0.3 A under 1400 rpm and 20 N·m.
Figure 13 shows the current observation error
e.
eid and
eiq still fluctuate between −0.2 and 0.2. The introduction of the disturbance compensation does not affect the accuracy of current observation.
The observed lumped disturbance value
with the disturbance compensation is shown in
Figure 14. At this time,
is no longer the observed values of
f, but
f −
fc in (7), that is, the remaining disturbances after compensation. The steady-state of
also become close to zero.
varies between −2.2 V and 2.1 V, and
varies between −1.2 V and 1.2 V when speed is 1400 rpm and torque is 20 N·m.
Figure 15 shows the compensation value
fc of the lumped disturbance. The absolute value of
fc also increases with the increase in speed and load torque.
fcd varies between 9.8 V and 12.0 V, and
fcd varies between 3.1 V and 4.5 V when speed is 1400 rpm and torque is 20 N·m. Compared with
Figure 10,
fc is close to the observed value
when the system is not compensated.
Table 2 shows the comparison of the peak-to-peak values of system states when the lumped disturbances are compensated and uncompensated under 1400 rpm and 20 N·m where the current fluctuation and control error are at the maximum. It can be seen from
Table 2 that the fluctuation in the system state becomes smaller after compensation, which means that the current loop control precision is higher and the motor output torque is more stable.