1. Introduction
With the gradual exhaustion of resources and the aggravation of global pollution, Electric Vehicles (EVs) have become the future development trend of the automobile industry. The era of Industry 4.0, marked by Cyber-Physical Systems (CPS), promotes the rapid development of EVs. The cyber subsystem is located in the feedback loop of the electric vehicle drive motor. The cyber subsystem drives actuators and the controlled drive motor based on the current states and inputs of the sensors [
1,
2]. The permanent magnet synchronous motor, especially interior permanent magnet synchronous machines (IPMSM), has become the ideal driving motor for EVs due to its advantages such as high efficiency, high power factor, wide operating speed range, high torque to the current ratio, and robustness.
The nonlinear dynamic of IPMSM, its motor parameter variations, and external disturbances can deteriorate control performances, and proportiona-integral (PI) and linear-quadratic (LQ) regulators cannot achieve good performances. Accordingly, some intelligent control methods have been proposed to improve the control performances, such as robust and adaptive nonlinear approaches, sliding mode control, neural network, fuzzy controllers and genetic algorithms (GAs), backstepping control, and active disturbance rejection control (ADRC).
Robust and adaptive nonlinear approaches have been widely used for control of IPMSM. In [
3], an adaptive flux observer is proposed to improve its robustness. In [
4], an adaptive interconnected high gain observer has been employed for sensorless control of IPMSM. Moreover, a model reference adaptive system (MRAS) has been employed for speed estimation in the sensorless control of IPMSM [
5]. However, adaptive control requires a large number of iterative updates, and real-time control will limit its practical applications.
Sliding mode control has also been utilized in IPMSM control. Higher-order sliding mode (HOSM) techniques have been used to reduce the chattering phenomenon. A hybrid terminal HOSM observer has been devised for position and speed estimation [
6]. A super-twisting algorithm (STA) based on HOSM has been used to estimate the rotor position [
7]. The designs mentioned above would decrease the control performances due to convergence and robustness problems. Hence, it is necessary to reduce chattering while maintaining robustness. A fractional order sliding mode controller has been considered in previous works. In [
8], an adaptive fractional order sliding mode controller for IPMSM has been presented. An intelligent robust fractional surface sliding mode control has been employed for a nonlinear system [
9]. The works mentioned above improve transient response and robustness. However, the chattering phenomenon still exists.
Neural-network-based approaches have been presented to estimate the rotor position and speed estimations. A linear neural network named TLS EXIN neuron has been employed for estimation of the speed of the PMSM [
10]. In [
11], an adaptive linear neural (ADALINE)-network-based filter has been proposed to reduce the harmonic ripple in the rotor position estimation error. However, the approaches are complex to calculate and difficult to implement.
In addition, fuzzy controllers and GAs have been employed in IPMSM. A fuzzy logic speed controller has been designed to reduce torque ripples and flux ripples in [
12]. An optimization method, based on GA, for optimal trajectories calculation has been proposed [
13]. In [
9], GAs have been used to solve the problem of determining and optimizing the parameters of the fuzzy sliding mode controller. However, the fuzzy control has low precision and a steady state error.
Due to its systematic recursive design, backstepping control is a popular control method for IPMSM. In [
4], an improved backstepping method has been developed in order to ensure the rotor speed and the rotor current to efficiently track the Benchmark trajectories references. A discrete-time fuzzy position tracking controller using a backstepping approach has been proposed for IPMSM [
14]. In the designs mentioned above, computation in real-time would limit control performances.
ADRC is an attractive control technique for IPMSM due to its extended state observer, which could observe and compensate interior model disturbance and exterior load disturbance [
15]. It is usually used as the speed controller in the IPMSM drive systems. In [
16], an optimal control strategy based on active ADRC has been proposed to achieve high-precision control of PMSM. The controllers mentioned above also improve transient response and robustness.
Moreover, model predictive control (MPC) has received widespread attention because it can respond to the assumed future system behavior in advance and meet system constraints more easily. Combined with the control methods mentioned above, MPC becomes a more powerful and effective control method for IPMSM drive systems.
Finite control set model predictive control (FCSMPC) and continuous control set MPC (CCSMPC) are the two main categories of MPC methods for IPMSM. CCSMPC obtains a set of continuous voltages through an inverter with pulse width modulation (PWM) [
17,
18]. As opposed to CCSMPC, FCSMPC limits the control space to a finite set consisting of eight voltage vectors and obtains a finite voltage set through the inverter without PWM [
19,
20]. It has a simple structure, fast dynamic responses, and it is easier to include system constraints. However, FCSMPC usually enumerates and calculates all the candidate voltage vectors and selects an optimal output based on the cost function, which leads to a large amount of calculation and difficulty when applied in practical usage [
21,
22], reducing the amount of calculation by reducing the candidate switching states for prediction and evaluation. A lookup table has been proposed to reduce the number of candidate voltage vectors from eight to three [
23]. In [
24], the sector of the desired voltage vector is directly determined, rather than traversing all switch states. Although the approaches mentioned above can reduce the calculation time, they still have large torque ripples and current ripples. Hence, the emphasis of this paper is to decrease the torque ripple and current ripple of FCSMPC.
In this paper, a cascade speed controller based on ADRC and a current controller based on improved FCSMPC for IPMSM are proposed. A different approach to dealing with nonlinear terms in IPMSM is proposed. In the linearization process, some nonlinear terms are added into the control signal for voltage compensation, which can reduce the order of the prediction model. The ADRC controller is used to estimate the nonlinear terms in the mechanical motion equation and generate the appropriate torque reference. Then, the torque reference is converted into the dq-axis current reference of the current controller according to MTPA. Six virtual vectors are employed to FCSMPC, and a novel way to calculate the duty cycle is adopted. The proposed FCSMPC controller applies both current and voltage constraints and reduces torque ripple and current ripple as well as computational burden. Compared with traditional PI control and traditional FCSMPC, the effectiveness and superiority of the designed ADRC controller and improved duty cycle FCSMPC controller are verified.
This paper is organized as follows.
Section 2 introduces the mathematical model of IPMSM.
Section 3 presents the design details of the ADRC speed controller, and
Section 4 presents the design details of the improved duty cycle FCSMPC method in IPMSM. The simulation result is presented in
Section 5. The conclusion is given in
Section 6.
2. Mathematical of IPMSM
In the three-phase static reference frame, the mathematical model of IPMSM is a nonlinear equation related to the instantaneous position of the rotor, which makes the voltage and flux linkage equations too complicated to be analyzed. The IPMSM established in the three-phase static reference frame (abc) can be converted into a synchronous reference frame (dq) by the Clark transformation and the Park transformation.
The mathematic model of the IPMSM can be described as follows:
where variables
,
,
,
,
,
are the d-axis voltage,
q-axis voltage,
d-axis current,
q-axis current,
d-axis inductance and
q-axis inductance, respectively; variables
,
, and
are the electrical angular velocity, stator resistance, and rotor flux, respectively;
is the moment of inertia,
is the viscous coefficient of the load, and
is the disturbance torque, which is given by
Since
,
and
can be measured,
and
can be considered as compensation for control signals and removed from the original model and then added after solving the control signal:
where
,
;
The state vector of the system can be expressed as:
Define the control vector as
, the disturbance as
. Then, the state equation is transformed into the following standard form:
where,
4. Design of Current Controller Based on Improved Duty Cycle FCSMPC
4.1. The Maximum Torque Per Ampere (MTPA)
The Maximum Torque Per Ampere control is used to maximize the torque when the amplitude of the current vector is the minimum. Solving the current value under the Maximum Torque Per Ampere control can be equivalently expressed as:
The problem shown in Equation (11) can be solved by the Lagrange multiplier method. The derivation process of MTPA is not discussed in this paper. By derivation, the relationship between
and
can be described as:
The relationship between
and
can be described as:
Equation (13) can be solved numerically by the fsolve() function of MATLAB. In order to meet the time limit of online calculation, the corresponding to each torque can be obtained in advance according to the interval and then made into a table. Hence, the corresponding can be obtained only through the given torque- table during online calculation.
Due to the complexity of the solution, calculating
directly through Equation (12) cannot meet the requirements of real-time applications. Therefore, using Taylor’s formula to expand near a point close to 0 (select 0.001) and ignoring the minimal term and higher-order terms in the expansion:
It is also necessary to consider the issue of constraints. The dq-axis current must satisfy the constraint . Therefore, the actual steps are as follows:
- ①
set torque ;
- ②
calculate and according to Equations (13) and (14);
- ③
if , loop to Step 5; otherwise, loop to Step 4;
- ④
update ;
- ⑤
output and as current reference values for the current regulator.
4.2. Current Controller Based on FCSMPC
FCSMPC is based on the finite switching states. This method does not require a modulator such as Space Vector Pulse Width Modulation (SVPWM), and the nonlinear characteristics of the system and various constraints can also be easily integrated into the system.
For the design of FCSMPC, the current prediction model discretized by the first-order Euler discretization method can be expressed as:
where,
The prediction equation of FCSMPC can be expressed as:
where
is the selection of the -th switch state, and is the current state at the next sampling time after the -th switch state is applied.
The traditional FCSMPC method traverses all the switch states according to Equation (16), obtains all the predicted states at the next moment, and selects the switch state corresponding to the vector with the smallest difference in the expected voltage vector amplitude for control. Considering the current constraints, the corresponding cost function can be expressed as:
4.3. Improved Duty Cycle FCSMPC
The duty cycle FCSMPC is to add a zero vector in one period, so the optimal vector is only used for a part of the sampling period. Assuming that the ratio of the optimal vector action time to the sampling period final state can be expressed as:
define
, which represents the deviation of the given state vector
from the
-th vector
,
=
, which represents the deviation from the given value under the action of the zero vector.
Assuming that the voltage vector
=
, the angle between the two voltage vectors can be expressed as:
The optimal vector can be obtained by comparing the size of each vector’s , assuming that the optimal vector is ; the ideal origin is ; the future state under the action of zero vector is A, ; the current state of the system is B, ; the given state is C, ; and the state after its action is D, .
The geometric relationship is shown in
Figure 2:
If
is omitted, then the Equation (18) can be expressed as:
Assuming that the vector of this state is
, which satisfies
,
=
and
=
, then
Due to
, substitute it into Equation (21) and obtain
However, this method still has its limitations. With only six vectors and two zero vectors to choose from, it cannot approach the possible vectors sufficiently. In order to make the optimal vector more accurate, consider adding 6 virtual voltage vectors. All virtual voltage vectors can be regarded as the result of two adjacent basic vectors acting for half of the time.
First calculate all the basic vectors to select the optimal vector and the sub-optimal vector and then compare with the virtual vector between these two vectors, so that the optimal vector can be obtained in only eight computations.
In addition, due to current constraints, the voltage vector selected according to Equation (19) may cause the stator current to exceed the limit value at the next moment. Therefore, after selecting the optimal vector and calculating the duty cycle. It can be judged according to the following process.
First, the average value of the control voltage in a sampling period can be expressed as:
Define
, which represents the ratio of the time when each switch state is 1 to the sampling period. Substituting it into Equation (23), the control quantity of a sampling period can be expressed as:
Substituting Equation (24) into Equation (15), the predicted current value at the next moment can be obtained. If the predicted current exceeds the current limit value, then the sub-optimal vector is selected until the stator current is less than the limit.
5. Simulation Results
The parameters of IPMSM are selected from Toyota Prius Hybrid vehicles, as shown in
Table 1.
The relevant parameters of ADRC speed controller are , , , , , .
The simulation condition simulates the driving condition of the car. The car starts with a load of 10 N·m until it reaches the speed of 1000 r/min. The load is increased to 30 N·m at 0.4 s to simulate uphill conditions. After smooth operation, the load is reduced to 10 N·m at 0.6 s to simulate flat road driving. The entering speed is reduced to 500 r/min at 0.8 s, and it enters the deceleration driving mode.
Under the same conditions, simulation experiments were carried out for the control system of the following controllers, as shown in the control block diagram in
Figure 1, assuming that
is the speed controller and
is the current controller.
Case 1: uses PI control, and also uses PI control;
Case 2: uses PI control, and uses improved duty cycle FCSMPC;
Case 3: uses ADRC control, and uses traditional FCSMPC;
Case 4: uses ADRC control, and uses improved duty cycle FCSMPC.
Figure 3 shows the comparison of the speed response in Cases 1, 2 and 4. It indicates that all three controllers can rapidly increase the speed until reaching the given value of 1000 r/min during the starting process with load. The first magnified portion shows the speed response of three controllers as the speed approaches steady state. The peak time in Case 1 is the same as that in Case 2, but the overshoot in Case 2 is smaller than that in Case 1, and the steady-state time is significantly less than that in Case 1. Compared with Case 1 and Case 2, the adjustment time in Case 4 is significantly lower than these two cases, and there is no overshoot. Therefore, it has significant advantages. The second magnified portion shows the speed response when entering the uphill condition at 0.4 s. Due to the increase of load torque, there is a short decrease of rotating speed in all three control cases. Compared with Case 2, the rotational speed in Case 2 decreases less than that in Case 1, and the time for the rotational speed to recover the given value is shorter. Compared with Case 1 and Case 2, the speed drop in Case 4 is the smallest, and it returns to the given value in a short time. After a period of stable operation, the system enters the flat driving condition. The third magnified portion shows the speed response in the three control situations when the load drops. There are larger fluctuations and longer adjustment times in Case 1, the adjustment times in Case 2 and Case 4 are shorter, and the overshoot in Case 4 is smaller. Afterwards, it enters the deceleration condition at 0.8 s. The fourth magnified portion shows the speed response when the target speed is about to reach 500 r/min during deceleration. It indicates that there is no overshoot in Case 4, and the time to reach the steady state is the shortest.
From the comparison of the speeds in the two cases in
Figure 4, in acceleration driving condition, the peak time in Case 3 is much longer than in Case 4. Additionally, there are still fluctuations in Case 3 when reaching the steady state. Similarly, the same situation also occurs when the given speed drops. The adjustment time is significantly shorter in Case 4.
Table 2 shows the speed dynamic response in all cases. There is almost no overshoot and transient time in the acceleration and deceleration driving condition using the ADRC controller in Case 3 and Case 4. This proves that the control system using the ADRC controller has a better control effect. Compared with Case 3, Case 4 has less peak time, overshoot and transient time in all conditions. Obviously, compared with the control system using the traditional FCSMPC, the control system using the improved duty cycle FCSMPC has a better control effect.
Figure 5 and
Figure 6 show the d-axis current response and the q-axis current response in Case 1, Case 2 and Case 4. When the speed drops, the currents are shown in the first magnified portion of the two figures. In the three cases, the currents are fluctuant in the steady state. The dq-axis currents have very large overshoots in Case 1 and Case 2, while there is almost no overshoot in Case 4. When entering the uphill condition at 0.4 s, the absolute value of the dq-axis currents is increased to offset the increased load torque. At this time, the time to reach the steady state is the shortest in Case 4. The time to reach the steady state in Case 4 is still the shortest when it reaches the flat driving condition at 0.6 s. When entering the deceleration driving condition at 0.8 s, the q-axis current reverses to generate the maximum torque in the negative direction to decelerate rapidly, and then it returns to constant speed driving. The currents decrease so that the output torque is equal to the load torque, and the dq-axis current responses are shown in the fourth magnified portion of the two figures. The dq-axis current has no overshoot in Case 4, and the adjustment time is the shortest. There are large overshoots in Case 1 and Case 2, and the adjustment time is relatively long.
Figure 7 shows that the dq-axis current under the control in Case 3 fluctuates greatly, which will cause the electromagnetic torque value generated to be smaller than that in Case 4. Due to the excessive current fluctuation, it is difficult for it to stabilize when it reaches the steady state. Hence, the speed still fluctuates in the steady state.
Figure 8 shows the torque response in Case 3 and Case 4. In the motor starting phase and the speed drop phase, the maximum torque in Case 3 is less than that in Case 4, and the torque in Case 3 has large torque fluctuations throughout the simulation process.
Figure 9 shows the stator current waveforms and Fourier analysis results in four cases. (a), (b), (c), and (d) respectively represent the results of Case 4, Case 3, Case 2, and Case 1. Total Harmonic Distortion (THD) indicates the degree of waveform distortion caused by all harmonics. The smaller the THD, the lower the degree of distortion between the waveform and the sine wave of a certain frequency. The proposed controller has a THD of 2.25% in Case 4, 17.00% in Case 3, 2.26% in Case 2, and 2.62% in Case 1. The sines of the waveforms in Case 2 and Case 4 are comparable, while the sine is slightly worse in Case 1 and the worst in Case 3. The smoothness of the waveform generated by the traditional FCSMPC is low. While the improved duty cycle FCSMPC is used as the current controller in Case 2 and Case 4, the smoothness of the waveforms is the highest. Therefore, the effectiveness of the proposed current controller can be further proved.