1. Introduction
The operation of electric motors consumes about 46% of the total global electricity generation and emits about 640 million tonnes of carbon dioxide. Therefore, improving the energy efficiency of motors is essential for achieving energy savings, promoting environmental protection, and fostering sustainable development [
1]. A Permanent Magnet Synchronous Motor (PMSM) has the advantages of high power density, small size, high efficiency, etc., and is widely used in various speed regulation fields [
2]. Currently, there are two main control methods for PMSM: Field Oriented Control (FOC) [
3] and Direct Torque Control (DTC) [
4]. To achieve efficient digital control of a PMSM and improve the dynamic and steady-state control performance of the motor, both FOC control or DTC control have obvious drawbacks, and the traditional linear control methods are still insufficient under the multivariable, strongly coupled, and nonlinear characteristics of the PMSM system [
5].
With the advancements in high-speed digital signal microprocessors like the Digital Signal Processor (DSP), there has been a significant boost in the computational power of control platforms in recent years. Model Predictive Control (MPC) has gained significant recognition in the motor control field due to its simple control structure, high flexibility, and fast dynamic response. It was ranked the top choice for advanced control algorithms in 2020 [
6]. As a modern control theory, MPC is grounded in discrete control systems and involves the iterative optimization of future control variables based on the prediction model of the controlled system, along with feedback correction, to achieve optimal control efficacy [
7]. In PMSM control applications, there are two types of MPC based on different control actions: Finite Control Set Model Predictive Control [
8] (FCS-MPC) and Continuous Control Set Model Predictive Control [
9] (CCS-MPC)—the main distinction between the two lies in the control system’s requirement for a modulation unit [
10]. Using a discrete-time system model, FCS-MPC predicts the system’s future behavior for every potential switching voltage vector state. The optimal voltage vector is selected by evaluating all predictions using a value function [
11]. Model Predictive Current Control (MPCC) for PMSM is an advanced method based on FCS-MPC. MPCC eliminates the need for parameter tuning in the current inner loop. Instead, it selects the optimal voltage vector using a value function in real-time. This approach bypasses pulse-width modulation and directly applies control signals to the motor system, streamlining the optimization and decision-making processes into a single step. However, traditional MPCC has limitations. It employs only one voltage vector per control cycle, with fixed direction and amplitude. This results in high current tracking error, significant current ripple, and poor steady-state control performance.
To solve this problem, scholars have proposed multi-vector MPCC [
12], delay compensation [
13], model-free control [
14], etc. Among these methods, dual-vector model predictive current control (Dual-Vector MPCC, DV-MPCC) using two or three optimal voltage vectors to synthesize virtual voltage vectors or three-vector model predictive current control (Three-Vector MPCC, TV-MPCC) are the most widely used. Literature [
15] designed a dual-vector computation method based on geometric theory for reference voltage vector sector judgment, which improves the steady-state current performance and effectively suppresses the zero-sequence current. However, the reference voltage vector sector’s judging procedure is intricate. Literature [
16] selected the optimal voltage vector by calculating the intersection time between the
q-axis current slopes at different voltage vectors and designing a cost function. However, each selection requires traversing all the primary voltage vectors, which is computationally intensive. Literature [
17] updated the current slopes every half cycle after a model-free control method. It imposes two optimal voltage vectors in a single cycle, which can enhance the motor’s steady-state performance. However, the above DV-MPCC-based method has fewer effective voltage vector combinations, limiting the control accuracy and flexibility. Literature [
18] employed a hierarchical multilevel optimization TV-MPCC method to reduce the current ripple. However, determining the first and second optimal voltage vectors is complex due to the intricate calculations required for the value function. Literature [
19] selected the voltage vector under the stator flux closest to the CSF as the optimal voltage vector by determining the change in stator flux (Change in Stator-Flux, CSF) at each sampling. Literature [
20] introduced the Romberg observer to estimate system perturbations, thereby reducing errors caused by motor parameter mismatches. Additionally, the candidate voltage vector combinations are reduced to two within a single sampling period, optimizing the selection of the optimal voltage vector. However, the multi-vector MPCC method leads to an increase in the switching frequency of the inverter, and to reduce the switching frequency, literature [
21,
22] proposed a dead-time voltage vector-based MPCC method, which reduces the switching loss of the inverter but increases the system complexity. Literature [
23] used the optimal voltage vector in the previous control cycle as a reference for selecting the first voltage vector, which reduces the number of comparisons but only uses the speed error index to distinguish the dynamic and steady-state states of the motor from single and has limitations. Literature [
24] designed a steady-state operation control method based on the four-segment mode MPC, which uses the average current slope to distinguish between the dynamic and steady-state states of the motor, which improves the steady-state performance and reduces the switching frequency at the same time, but the control logic is relatively complex.
Therefore, to improve the problems of extensive computation and poor system energy efficiency under the traditional TV-MPCC method, and at the same time, to further improve the control performance of TV-MPCC, this paper proposes to use the exponential moving average (EMA) algorithm for real-time updating of the reference threshold for the slope of the q-axis current and to use this threshold as a discriminative condition for differentiating the operating conditions of the motor, to adopt the most suitable control method according to the actual operating conditions of the motor.
The rest of the paper is organized as follows:
Section 2 presents the mathematical model of PMSM.
Section 3 describes the PMSM operating condition discrimination method based on the EMA algorithm.
Section 4 describes the switching current prediction control method for the motor under different operating conditions and gives different control strategies under dynamic and steady-state operating conditions.
Section 5 discusses the simulation and experimental results.
Section 6 summarizes the conclusions of this paper.
2. Mathematical Model of PMSM
Based on the nonlinear and strongly coupled characteristics of the PMSM, and by ignoring some secondary factors, the stator voltage equation in the
dq-axis synchronous rotating coordinate system of the PMSM in the ideal state is given by:
where
and
are the stator
dq-axis voltage components,
is the stator resistances,
and
are the stator
dq-axis current components,
and
are the
dq-axis equivalent inductances,
is the rotor angular velocity, and
is the permanent magnet chains.
The PMSM mechanical equation of motion is:
where
is the moment of inertia,
is the mechanical angular velocity,
is the load torque, and
is the damping coefficient.
The experimental platform in this paper uses a surface-mounted permanent magnet synchronous motor (SPMSM). For this type of motor,
. Thus, the motor’s electromagnetic torque equation is:
where
is the electromagnetic torque, and
is the number of pole pairs.
This paper utilizes a three-phase, two-level voltage source inverter (VSI) to control the basic voltage vector plane. The plane is divided into six sectors, each containing two zero vectors and six effective voltage vectors. The circuit topology and distribution of the basic voltage vectors are illustrated in
Figure 1.
3. PMSM Operation Status Judgment
This section proposes the discriminative conditions of PMSM operation states, and different control methods are adopted for different operation states. The improved three-vector steady-state operation current prediction control method is employed when the motor is in the steady-state mode, and the improved Dual-vector dynamic operation current prediction control method is applied when the motor is in the dynamic mode.
Figure 2 shows the control block diagram.
3.1. Slope of q-Axis Current to Determine the Operating State of the Motor
To achieve the best performance, PMSM requires different control strategies under different operating conditions. Specifically, when the motor is in dynamic operation, the system needs a fast dynamic response time to adapt to different operating conditions. The system must maintain good current steady-state performance when the motor is in steady-state operation.
The discrete
dq-axis current prediction equation for the next sampling moment is obtained by approximating (1) with the first-order Eulerian discretization method:
where:
where
and
are the predicted value of
dq-axis current at the moment
k + 1,
and
are the value of
dq-axis current at the moment
k,
is the sampling period,
and
are the
dq-axis voltage at the moment
k,
and
are the
dq-axis inverse potential at the moment
k, respectively.
The motor will operate dynamically when the PMSM speed or load torque changes abruptly. From (2), when the motor load or speed changes suddenly, the electromagnetic torque will also change accordingly, and from (3), the electromagnetic torque is positively correlated with the q-axis current, and when the q-axis current changes suddenly, there is a significant change in its slope. Therefore, the change of electromagnetic torque can be judged by the change of the slope of the q-axis current, which leads to the conclusion that whether the motor is switched to the dynamic state can be judged by the change of the slope of the q-axis current.
The slope of the
dq-axis current under the action of
can be obtained from (1):
where
and
are the
dq-axis current slopes of
at moment
k, respectively.
Thus, the slope of the
dq-axis current under the action of
and
can be obtained:
where
,
,
,
are the
dq-axis current slopes of
and
at moment
k, respectively.
The value function is constructed, and the candidate voltage vector that minimizes the value function value is selected as the first effective voltage vector
among the six effective voltage vectors and the constructed value function
is:
where
is the given value of the stator current
d-axis component, and
is the given value of the stator current
q-axis component.
Employing the value function set in (8), the six effective voltage vectors are traversed, and the
dq-axis reference voltage under action is obtained by the Park transform:
where
is the angle between the
d-axis and the shaft,
and
are the shaft reference voltage under
action, and
and
are the
dq-axis reference voltage under
action.
The
dq-axis current slope under the action of
is used as the
q-axis current slope for discriminating the motor operating state:
3.2. Motor Operating Condition Discrimination Based on the EMA Algorithm
EMA is a technical algorithm in the time series analysis of data methods, which can give more weight to recent data points in calculating the average, effectively capturing the latest trend of data changes and reducing the lagging effect and short-term fluctuations in the impact of data. The equation for the EMA algorithm is:
where
and
are the values of the EMA at moment
k and
k − 1,
is the actual observation at the moment
k, and
is the smoothing factor.
The EMA algorithm is simple and small in computation, which is suitable for real-time processing requirements of embedded systems and does not overburden the system resources. Therefore, the EMA method based on the q-axis current slope is introduced to accurately judge the motor running state. Through the real-time updated q-axis current slope, it quickly responds to the motor state changes and improves the accuracy of judging the motor running state.
Based on the above analysis,
is first obtained from the value function shown in (8), and under the action of
, the updated formula of EMA is:
where
and
are the value of the
q-axis current slope EMA at the moment
k and
k − 1, and
is the actual observation of the
q-axis current slope.
At the instant of motor startup, the rotational speed is increased from zero in either loaded or unloaded state, and the process before the motor rises to the target rotational speed is a dynamic control operation. Therefore, if the stationary state of the motor is set as the initial state of the designed current model predictive toggle switch control method, the default initial state of the control method should be steady-state operation control.
To accurately track the instantaneous changes in the motor state and to achieve a fast response to its state switching, the difference between
at the moment k and
under the EMA method is defined as a real-time indicator for tracking the change in the slope of the
q-axis current:
From (13), if
changes during motor startup and operation, the slope of the
q-axis current changes. In order to avoid the system switching the control method frequently due to too small a change of current slope, it is necessary to set a dynamic threshold to adapt to the change of the motor operation state in real-time; at the same time, based on the dynamic threshold having the characteristic of non-negativity, it can be expressed as follows:
where
is the dynamic threshold for switching the motor operating state, and
is the scaling factor.
In the study of this paper, the discrimination of the motor running state is based on the real-time change amplitude of the
q-axis current slope, which only focuses on the magnitude size of the change rather than the direction of its change. Therefore, in order to quantify the magnitude of the change, a motor operation state index
is introduced to discriminate the operation state of the motor, which can be obtained from (13) and (14):
where
is the motor operating status indicator.
If , it means that the q-axis current change rate of the motor exceeds the set threshold range, and at this time, the motor adopts the dynamic operation control method; if , it means that the current change rate of the motor is small, and at this time the motor adopts the steady-state operation control method.
Figure 3 shows the control block diagram of the discriminating method of the motor operation state. Firstly, the optimal voltage vector
is calculated by the reference value and predicted value of the
dq-axis current, then
is obtained, and finally, the motor working condition is discriminated according to the set value of the motor operation index.
5. Simulation Results
To verify the effectiveness of the proposed switching current predictive control method based on EMA, the PMSM simulation model is built in the Matlab/Simulink (R2023a) environment. The traditional TV-MPCC method, a direct judgment control method based on the change of q-axis current slope (Q-MPCC), is based on the q-axis current slope operation judgment method of EMA algorithm (EMA-Q-MPCC); these three methods are simulated and compared respectively. The three methods employ the same sample time, control settings, a fixed sampling frequency of 100 kHz, and the control technique.
Among these, TV-MPCC employs the dead-beat principle to compute the voltage vector action time and simultaneously accomplishes dead-beat control over the dq-axis current without distinguishing between the motor’s steady-state and dynamic operating conditions. The two fundamental voltage vectors next to each other are the first and second effective voltage vectors. The above analysis shows that when the motor operating conditions change, the slope of the q-axis current will change significantly. The Q-MPCC uses the change of the slope of the q-axis current to determine the current operating conditions of the motor directly and adopts different control strategies under different operating conditions, i.e., the motor adopts the improved DV-MPCC when it is in the dynamic operating condition, and it adopts the improved TV-MPCC when it is in the steady-state operating condition. EMA-Q-MPCC is based on Q-MPCC and introduces the EMA method for determining the operating conditions of the motor.
The simulated PMSM parameters are shown in
Table 3.
5.1. Steady-State Operation Simulation Performance Evaluation
In order to verify the performance of the method proposed in this paper under the steady-state operation condition of the motor, the simulation experiments set the rotational speed of the motor under steady-state operation to 1000 r/min, and the load torque is set to 5 N⋅m.
Figure 8 shows the simulated waveforms of the steady-state performance of the motor under the three control methods of TV-MPCC, Q-MPCC, and EMA-Q-MPCC, including the data waveforms of the
dq-axis current, torque, and A-phase stator current.
As a statistical index, the standard deviation can effectively reflect the degree of dispersion between the control quantity and its desired value to quantify the control’s accuracy and stability. Therefore, in order to quantitatively evaluate the steady-state performance of the motor, the standard deviation calculation method shown in (27) is used:
where
is the standard deviation of
d-axis current
, the standard deviation of
q-axis current
, and the standard deviation of torque
; N is the number of samples.
Meanwhile, the A-phase stator current is analyzed by Fast Fourier Transform (FFT) to obtain the total harmonic distortion (THD) of the A-phase stator current corresponding to the three methods, and the results are shown in
Table 4:
The data in
Table 4 show that the EMA-Q-MPCC method has a better suppression effect on
dq-axis current and torque ripple than TV-MPCC and Q-MPCC under steady-state operation. Specifically, compared with TV-MPCC, the
dq-axis current ripple is reduced by 46.76% and 45.41%, and the torque ripple is reduced by 45.42%. Compared with Q-MPCC, these values are reduced by 27.22%, 25.15%, and 25.13%, respectively. In addition,
Figure 9 shows the THD of the A-phase stator current for the three methods, and the proposed method reduces it by 44% and 8% compared to the TV-MPCC and Q-MPCC methods, respectively. This indicates that the proposed method has the best steady-state current performance.
The motor’s performance is examined in further analysis during steady-state operation by applying the same 3 N⋅m loads and setting the reference speed to 500, 700, 900, 1100, 1300, and 1500 r/min, and the same speed is set to 1000 r/min, and the reference load torque is set to 2, 4, 6, 8, 10, 12 N⋅m. Meanwhile, the first-order Eulerian discrete equation in (4) shows that the motor control system under the MPCC method is more sensitive to the inductance parameter. Therefore, to better verify the advantages of the proposed method in terms of robustness, the comparative analysis of motor operation under inductance mismatch is set. The inductance values are set as 0.5, 0.75, 1.0, 1.25, and 1.5 to verify the current and torque performance when the inductance values are varied from as low as 50% to as high as 50%.
Figure 10 and
Figure 11 show that the EMA-Q-MPCC has the best current and torque ripple suppression effect at various speeds and load torques.
Figure 12 shows that the proposed method has the most minor current and torque ripple amplitude in the case of inductance mismatch, and the suppression of variations in sensitive parameters is better than the previous two methods.
5.2. Performance Evaluation of Dynamic Running Simulation
To validate the performance of the approach provided in this paper under dynamic operating conditions, the reference speed of the motor under no-load conditions is set to be 500 r/min, and the speed is increased abruptly from 500 r/min to 1000 r/min when the simulation experiment is carried out for 0.2 s, and at the same time, in order to verify the motor’s immunity to the load disturbances under the three control methods, the load disturbances are added abruptly for 3 N⋅m load disturbances at 0.4 s.
Figure 13 and
Figure 14 show the dynamic changes of speed, torque, and single-phase stator current
when the motor speed changes suddenly and when a load is added suddenly. When a sudden load is applied, the three control methods of TV-MPCC, Q-MPCC, and EMA-Q-MPCC can quickly regulate and restore the motor to a stable-state. When the speed is changed abruptly, the dynamic response time to reach the specified reference speed is 12 ms for the first two methods, while the response time for the EMA-MPCC method is 10 ms, which is 16.67% less than the first two methods. Therefore, the proposed method maintains good disturbance resistance and improves the system’s fast response performance.
5.3. Comparison of Computational Burden
To compare the computational complexity of the three control methods, TV-MPCC, Q-MPCC, and EMA-Q-MPCC, the execution times of the three methods are timed and compared using the Tic/Toc function that comes with MATLAB. The test parameter of the simulation is set to be the instantaneous no-load static start of the motor.
Figure 15 shows the execution time of the three methods by taking the average of 10,000 running times of their test cycles: the average execution time of the three methods, TV-MPCC, Q-MPCC, and EMA-Q-MPCC take 20.51 μs, 18.79 μs, and 19.62 μs, respectively. The proposed method reduces this by 4.34% compared to TV-MPCC. This is mainly because the traditional methods use a value function for optimal search when selecting the optimal voltage vector. In contrast, the proposed method uses the comparison mechanism of
q-axis current slopes to select the desired second optimal voltage vector, reducing some of the system’s computational complexity. However, to better discriminate the motor operating conditions, the EMA algorithm is introduced on top of the Q-MPCC method, which leads to an increase in the average execution time of the proposed method compared to it.
7. Conclusions
This paper proposes a switching current prediction control method based on the Exponential Moving Average (EMA) algorithm to determine the operating conditions of the motor accurately. In the dynamic operation stage, the first and second effective voltage vectors are identical to enhance system efficiency. In the steady-state operation stage, the second voltage vector is selected by comparing the q-axis reference current slope with the q-axis current slopes of all candidate voltage vectors, reducing computational load. Simulation and experimental results demonstrate that the proposed method effectively reduces current and torque ripples, offering high robustness and rapid response, thereby improving the system’s steady-state and dynamic control performance.
The comparison experiments found that the parameter mismatch would affect the motor’s control system. At the same time, reducing the number of switching actions of the switch and improving the system control performance are usually in conflict. Therefore, future research should focus on reducing the dependence on the motor parameters, reducing the switching frequency, and reducing the device’s loss rate to ensure the stability of the control performance.