# Current Prediction-Based Three-Vector Voltage Optimization System for the Induction Motor with Current Static Error Correction

Authors: Li Haixia; Lin Jican
Journal: Mathematical Problems in Engineering
 (2020)

---

## Abstract

In the present study, the current control method of the model predictive control is applied to the field-oriented control induction motor. The augmentation model of the motor is initially established based on the stator current equation, which performs the current predictive control and formulates the new cost function by means of tracking error. Then, the influence of parameter error on the current control stability in the prediction model is analysed, and the current static error is corrected according to the correlation between the input and feedback. Finally, a simple and effective three-vector control strategy is proposed. Moreover, three adjacent basic voltage vectors are utilized, and then six candidate voltage vectors are synthesized in each sector to replace eight basic voltage vectors in the conventional model predictive control (MPC). The obtained results show that synthesized vectors, which have arbitrary amplitude and direction, significantly expand the coverage of the system’s control set, reduce the torque and flux pulsation in the conventional MPC, and improve the steady-state performance of the system. Finally, the dSPACE platform is employed to validate the performed experiment. It is concluded that the proposed method can reduce the torque and flux pulse, perform the induction motor current control, and improve the steady-state performance of the system.


---

## Body

## 1. Introduction

Induction motors consume low power, while they have reliable performance. Therefore, this type of electrical equipment has been widely applied almost in all industries. With the help of the field-oriented control (FOC) [1], the decoupling speed-governing strategy, also known as the vector control, can be applied to perform the decoupling control on the motor flux and torque. In this strategy, the decoupling control on motor flux and torque is realized through controlling the flux and torque components of stator current. Therefore, defining the rotor flux and current control is of significant importance in the FOC. In order to ensure that the motor current can strictly follow the given changes, while preserving the rapidity and stability in the operation, the motor current component is controlled through the proportional integral (PI) regulator under the synchronous shaft system in the FOC. Therefore, the controlled object can be transformed from an alternating current component to a direct current component, thereby simplifying the control. Reviewing the literature indicates that with the increase of the complexity of the polyphase motor system and the development of microprocessors, the model predictive control (MPC) [2] has attracted increasing attention, where the optimal execution variable is calculated based on the operation of the future system behavior.The finite control set MPC (FCS-MPC) [3] is a modified member in the MPC, which is an alternative solution in the control of the power converter and driver. The core idea of this scheme is to select the voltage vector based on minimizing a single cost function, which is characterized by the rapid response and easy handling of nonlinear constraints [4]. Compared with the conventional vector current loop PI control, FCS-MPC used in the current loop of vector control has a better dynamic response and it relatively decreases the current harmonic component [5, 6].The accurate model parameters are required in the model predictive current control (MPCC) of the motor. However, errors always exist in measuring the resistance, inductance, and other parameters. More specifically, the motor inductance changes in the working condition, and the saturation characteristic of the motor inductance leads to error between the model parameter and the actual value for large loads so that the current control oscillates or generates static error [7]. Therefore, Niu et al. [8] proposed the robust control method to solve the system oscillation, caused by too large inductance parameters. However, they ignored the influence of inductance parameter error on the current static error. Wang et al. [9] proposed the model reference adaptive control. They identified the inductance and other parameters online. However, studies show that the proposed model requires a large amount of system resource. Therefore, the correction of current static error is still a problem of current control that should be solved in the MPCC.Meanwhile, different schemes have been proposed so far to improve the stability of the MPC system. Increasing the number of alternative vectors [10, 11], adjusting the voltage vector magnitude [12], and expanding the voltage vector direction [13, 14] are proposed in this regard. In order to find alternative methods for the vector optimization, Xia et al. [10] combined two adjacent effective voltages into one virtual voltage vector in the eight-vector six-sector region. They applied the six basic voltage vectors, thereby obtaining 12 alternative voltage vectors. Studies showed that despite the increased voltage vector, the system improvement effect is not obvious. Hassine et al. [11] added six virtual voltage vectors and one zero vector and obtained 19 alternative voltage vectors in total. However, the optimization is required for 10 times so that the calculation expanse increases during the sampling period. Zhang et al. [15] proposed the three-vector scheme to reduce the torque and flux pulse. However, the first voltage vector applied in the next control cycle is confined to the last vector voltage applied in the previous cycle.Considering the aforementioned problems, it is intended to propose a new cost function for error tracking based on the predictive control model. Meanwhile, the influence of parameter error on the current control stability will be analysed, and the quantitative relation between the static error of current command and actual feedback and the model parameter error will be derived [16]. It is expected to effectively reduce the current static error. Finally, an intuitive and effective three-vector strategy will be proposed. In each control cycle, three voltage vectors, including two active voltage vectors and one zero voltage vector, are applied. All vectors are adjacent so that the control strategy can be intuitively and simply realized. Based on the predictive control principle, it is expected that duration of the voltage vector can be determined so that the complexity, computation amount of the algorithm, and corresponding torque and flux pulses decrease.


## 2. Mathematical Model of Induction Motor

The mathematical model of induction motor can be described as follows [17]:(1)u⟶s=Rsi⟶s+dψ⟶sdt,(2)0=Rri⟶r+dψ⟶rdt−jωrψ⟶r,(3)ψ⟶s=Lsi⟶s+Lmi⟶r,(4)ψ⟶r=Lmi⟶s+Lri⟶r,(5)Te=32nρψ⟶s⊗i⟶s,where u⟶s and i⟶s are the stator voltage and current vector, ψ⟶s and ψ⟶r are the flux vectors of stator and rotor, Lm is the inductance between the stator and rotor, Lr/s is the rotor/stator self-inductance, Rr/s is the rotor/stator resistance, ωr is the rotor electrical angular velocity, nρ is the number of motor pole pairs, Te is the electromagnetic torque, and ⊗ is the Kronecker product.According to the above formula, the stator current can be described as follows:(6)i⟶s=−1RσLσ⋅di⟶sdt−kr1Tr−j⋅ωr⋅ψ⟶r−u⟶s,isa=−RσLσisa+krTrLσψra+krLσωrψrβ+1Lσusa,isβ=−RσLσisβ+krTrLσψrβ−krLσωrψra+1Lσusβ,where Rσ=Rs+kr2Rr, Lσ=σLs, kr=Lm/Lr, σ=1−Lm2/LsLr, Tr=Lr/Rr, and the subscripts αβ correspond to the components on the stationary coordinate axis. According to the forward Euler formula dx/dt≈xk+1Ts−xkTs/Ts, formulas (1) and (6) can be discretized as follows:(7)ψ⟶sk+1=ψ⟶sk+Ts⋅u⟶sk−RsTs⋅i⟶sk,(8)i⟶sk+1=1−Tsτσ⋅i⟶sk+Tsτσ1RσkrTr−krj⋅ωrk⋅ψ⟶rk+u⟶sk,isak+1=1−RσTsLσ⋅isak+TskrTrLσ⋅ψrak+TskrLσ⋅ωrk⋅ψrβk+TsLσ⋅usak,isβk+1=1−RσTsLσ⋅isβk+TskrTrLσ⋅ψrβk−TskrLσ⋅ωrk⋅ψrak+TsLσ⋅usβk,where τσ=Lσ/Rσ,Ts is the sampling time and u⟶sk is the voltage vector.Withψ⟶sk+1 and i⟶sk+1, the rotor flux at k+1th instant can be calculated.(9)ψ⟶rk+1=LrLmψ⟶sk+1+i⟶sk+1Lm−LrLsLm.


## 3. Three-Vector MPCC with Current Static Error Correction

### 3.1. MPCC System Structure

The predictive current is controlled within a fixed sampling period. Moreover, the current error vector trend is simulated through finite switch states produced by the converter and the system model at different switch states. In the actual control, the sampling current obtained in the outer loop is compared with the predicted value in the next sampling time, and the optimal control voltage and the output voltage space vector are selected accordingly. Figure1 illustrates the flowchart of the proposed system.Figure 1
MPCC system chart.The space vector can be expressed in the form below:(10)uc=23uca+λucb+λ2ucc,where λ=ej2π/3, λ2=ej4π/3, and uca,ucb,anducc are input voltages. The switch state of converter depends on the gate-level signals Sa, Sb, and Sc. More specifically, Sxxa,b,c=1 indicates that upper and lower gates are open and closed, respectively. Moreover, Sxxa,b,c=0 indicates that the upper and lower gates are closed and open, respectively. There are 8 switch states in total. Subsequently, a total of 8 voltage vectors are considered in the combination of gate-level signals.


### 3.2. Optimization of Cost Functiong

α and β are defined as the real part and imaginary part of current vector ik+1, and α∗ and β∗ are defined as the real part and imaginary part of the given current vector. In order to minimize the tracking error of current vector, two components of current in αβ coordinate system are used as the reference of new cost function in this paper.(11)g1=α∗−αk+1+β∗−βk+1,where αk+1 and βk+1 are the given current values at k+1th instant in the αβ coordinate system.A large number of calculations are needed in the digital implementation process based on MPC, leading to time delay in the drive [18, 19]. As a result, the system performance will be deteriorated. To eliminate the delay in digital control, the cost function g should be minimized, so a new cost function was introduced:(12)g2=α∗−αk+2+β∗−βk+2,where αk+2 and βk+2 are the given current values at k+2th instant in the αβ coordinate system.Firstly,α∗ and β∗ at k+2th instant should be determined. Since the sampling frequency is much higher than the frequencies of the reference signals, it can be considered α∗ and β∗ at k+2th instant are approximately equal to the present values, i.e., α∗k≈α∗k+1≈α∗k+2 and β∗k≈β∗k+1≈β∗k+2.Secondly, estimate the predicted stator current according to (8) based on the voltage vector u⟶sk determined in the previous control period. Then, αk+2 and βk+2 can be simply predicted as(13)αk+2=isak+2=1−RσTsLσisak+1+TskrTrLσψrak+1+TskrLσωrk+1ψrβk+1+TsLσusak+1,βk+2=isβk+2=1−RσTsLσisβk+1+TskrTrLσψrβk+1−TskrLσωrk+1ψrak+1+TsLσusβk+1.The mechanical constant of rotor is much larger than the sampling time, soωrk=ωrk+1 can be approximately obtained.


### 3.3. Correction of Current Static Error

In order to correct the current static error, equation (8) can be transformed as follows:(14)usαk=LσTsisαk+1+Rσ−LσTsisαk−krTrψrαk−krωrkψrβk,usβk=LσTsisβk+1+Rσ−LσTsisβk−krTrψrβk+krωrkψrαk.Equation (14) indicates that the current static error may be originated from three components Lσ, Rσ, and kr. Therefore, these components are analysed.


#### 3.3.1. Investigating the Influence of Parameter ErrorLσ on Static Error

Assuming that there is an errorLσ in the current predictive control, Lσ′ and Lσ are defined as the motor inductance parameter in the controller and the actual motor inductance parameter, respectively. Then, the parameter error is defined as the difference between actual parameter and parameter in the controller. Substituting Lδ′ for Lσ into equation (14) yields the following expression:(15)usα∗k=Lσ′Tsisα∗k+1+Rσ−Lσ′Tsisαk−krTrψrαk−krωrkψrβk,usβ∗k=Lσ′Tsisβ∗k+1+Rσ−Lσ′Tsisβk−krTrψrβk+krωrkψrαk.Since the expression forα and β axes is similar, parameters on one axis are analysed. For example, the superscript ∗ on α axis is a given value. Since usαk=usα∗k, equation (16) can be simplified based on equations (14) and (15):(16)isαk+1=Lσ′Lσisα∗k+1+Lσ−Lσ′Lσisαk.Convert equation (16) to Z-discrete domain transfer function:(17)isαzisα∗z=Lσ′zLσz−1−Lσ′/Lσ.The characteristic root of the system obtained from equation (17) can be expressed as z=1−Lσ′/Lσ. The sufficient and necessary condition for the stability of a discrete-time control system is that the poles of the system should be in the unit circle of the z-plane.(18)−1<1−Lσ′Lσ<1.Equation (18) indicates that the stability condition of the system is 0<Lσ′<2Lσ. Generally, the error of parameters Lσ is within 2 times, so the system stability is ensured.If the deviation ofL leads to the static error between the actual current isαk and the current command isα∗k, it is assumed that(19)Δisαk+1=isα∗k+1−isαk+1.Substituting equation (19) into (16) yields the following:(20)Δisαk+1=Lσ−Lσ′Lσ′isαk+1−isαk.This expression indicates that the parameterLσ has low impact on the static error. Moreover, as the sampling period Ts reduces or as the expression isαk+1−isαk approaches 0, static error decreases further.


#### 3.3.2. Investigating the Influence of Parameter ErrorRσ on Static Error

Assuming that there is an errorR in the current predictive control, Rσ′ and Rσ are defined as the parameter in the controller and the actual parameter, respectively. When usαk=usα∗k, the following expression can be obtained:(21)ik+1sa=isα∗k+1+TsLσRσ′−Rσiksa.Convert (21) to Z-discrete domain transfer function:(22)isαzisα∗z=LσzLσz−Ts/LσRσ′−Rσ.According to the stability criterion of the discrete domain system, the system is stable when the poles of the system are in the unit circle of thez-plane. It is found that the system is stable when the condition Rσ−Lσ/Ts<Rσ′<Rσ+Lσ/T is satisfied.Substituting equation (19) into (21), the following expression can be obtained:(23)Δik+1sa=TsLσRσ−Rσ′iksa.This expression indicates thatΔisak+1 is in direct proportion to the deviation Rσ. When isαk approaches 0, the motor is in no-load operation so that Δisak+1 is close to 0. In other words, when the motor runs in no-load condition, even if there is a deviation in the current isα, it is not caused by Rσ.On the one hand, whenisα>0, for positive parameter error (i.e., Rσ−Rσ′>0), i<saisα∗, while for negative parameter error (i.e., Rσ−Rσ′<0), i>saisα∗.On the other hand, whenisα<0, the parameter error and current static error are opposite to those when isα>0. These are summarized in Table 1.Table 1
Rσ parameter error and current error.
isaRσ−Rσ′>0Rσ−Rσ′<0isa>0isa<isα∗isa>isα∗isa<0isa>isα∗isa<isα∗


#### 3.3.3. Investigating the Influence of Parameter Errorkr on Static Error

To this end,kr′ and kr are defined as the parameter in the controller and the actual parameter, respectively. These parameters can be mathematically expressed as follows:(24)Δisαk+1=TsLσkr′−krωrkψrβk+TsTrLσkr−kr′ψrαk.It can be seen from the above equation that parameters are defined on theψrαandψrβ coordinate axes so that the parameter error kr−kr′ leads to the static error isα. On the ψrα axis, the current static error is in direct proportion to the parameter error kr, while it is inversely proportional to the parameter error on ψrβ axis. It is observed that as the motor speed increases, the rotor angular speed ωr increases so that the same size deviation kr leads to current static error.Based on the foregoing analysis, the parameter errors ofRσ and kr result in the static error between the given value and the actual value of the current. When the motor runs in the no-load condition, the current static error isα is caused by the deviation kr, which is independent of Rσ. Since static error isα increases with the increase of ωr, the motor runs at the rated speed in the no-load condition and kr parameter of the predictive controller is adjusted by the static error of isα. When parameter kr converges to the true value of the motor and the motor runs at a constant load, isα will have current static error, which originates from the deviation of parameter Rσ. The most direct way to eliminate the static error in the feedback control system is to add the error integral. In the present study, the static error of isα is applied to adjust the control parameters. This can be mathematically expressed as follows:(25)Rσopt=Rσ′+KiRσ∑nkisα∗n−isαn,kropt=kr′+Kikr∑nkisα∗n−isαn,where Rσopt and kropt are the revised parameter values of the motor, while KiRσ and Kikr are the integral coefficients. Moreover, Rσ and kr terms of usαk and usβk expressions are identical, so the method based on the α-axis adjustment is also applicable to the β-axis.


### 3.4. Principle of the Three-Vector Optimization

In order to obtain better steady-state performance, the three-vector control strategy was proposed. This strategy virtualizes six alternative voltage vectors online, while conventional schemes utilize eight basic voltage vectors. Therefore, the effective range system control is remarkably expanded in the three-vector control strategy. Figure2 indicates that the alternative voltage vector is synthesized by three adjacent voltage vectors.Figure 2
Voltage vector chart.In Figure2, u0−u7 denote eight basic voltage vectors, while uv1−uv6 are six virtual voltage vectors, where uv1 is synthesized by two components t1/Tsu1 and t2/Tsu2. It should be indicated that t1 and t2 denote the optimal duration of the first and second voltage vectors uopt1 and uopt2, respectively. Assuming that t0 is the optimal time for the zero voltage vector, the output selected vector is(26)uopt=t1Tsuopt1+t2Tsuopt2+t0Tsuopt0.According to the sine rule of the included angle betweenuv1 and u1, the state retention time of each vector can be obtained as follows:(27)Ts=t1+t2+t0.Figure2 indicates that the single-vector MPC provides the majority of limited voltage vectors. Meanwhile, only one of eight basic voltage vectors with fixed direction and amplitude can be selected. In the duty ratio method, the zero vector and effective vector are adopted to adjust the magnitude of the expected voltage vector. However, directions of these vectors are still fixed. The extended double-vector method can not only adjust the direction of the expected voltage vector but also change the magnitude of the expected voltage vector. The proposed three-vector method constructs six groups of candidate voltage vectors with adjustable amplitude and direction. These vectors cover the entire vector selection area and expand the feasible range of the MPC. Based on the aforementioned analysis, the diagram of the three-vector optimization induction motor MPCC for the current static error correction can be obtained. Figure 3 illustrates the obtained results.Figure 3
Three-vector optimization induction motor MPCC of current static error correction.


### 3.5. Vector Time Optimization

In order to perform the persistent time optimization, the voltage vector is divided into the real part and imaginary part in accordance with the components under the stationary coordinates. Assuming thatuopt1 denotes the first effective voltage vector output, the coordinate slope of real and imaginary axes is defined as S1α and S1β, respectively. Similarly, coordinate slope of the second effective voltage vector and the zero vector is defined as S2α and S2β and S0α and S0β, respectively. According to equation (13), the current can be predicted at k+2th time step. When only one vector is applied, slopes of factors can be obtained through substituting equation (13) into (28).(28)S1α=αk+2opt1−αk+1Ts,S1β=βk+2opt1−βk+1Ts,S2α=αk+2opt2−αk+1Ts,S2β=βk+2opt2−βk+1Ts,S0α=αk+2opt0−αk+1Ts,S0β=βk+2opt0−βk+1Ts.When the first voltage vectoruopt1 is applied, the current parameters at αk+2th time step can be presented by αk+2opt1 and βk+2opt1. Moreover, when the first voltage vector uopt2 is applied, the current parameters at k+2 time step can be expressed byαk+2opt2 and βk+2opt2. Finally, when the zero vector uopt0 is applied, current parameters at αk+2th time step can be presented by αk+2opt0 and βk+2opt0.When three basic voltage vectors are applied for a certain period of time during one control cycle, the coordinate coefficients in the next control cycle can be predicted as follows:(29)αk+2=αk+1+S1αt1+S2αt2+S0αt0,βk+2=βk+1+S1βt1+S2βt2+S0βt0.In order to perform the dead-beat tracking, the tracking error of coordinate coefficient atk+1 must be 0, so the following assumption can be made in this regard:(30)α∗=αk+2,β∗=βk+2.Equations (27)–(30) can be combined to derive durations of voltage vectors as the following:(31)t1=Δαk+1S0β−S2β+Δβk+1S2α−S0αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α+TsS2βS0α−S0βS2αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α,t2=Δαk+1S1β−S0β+Δβk+1S0α−S1αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α+TsS0βS1α−S1βS0αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α,t0=Ts−t1−t2.where Δαk+1 and Δβk+1 are the sampling time error at k+1 under the change at variable coordinate. Since t1∈0,Ts, t2∈0,Ts, and t0∈0,Ts, the early and the late vectors can be defined as Tx and Ty, respectively, where t1+t2+t3=Ts. When the condition is not met, the duration should be revised as follows:(32)t1=TxTx+Ty×Ts,t2=TyTx+Ty×Ts,t0=0.The process of the proposed current prediction-based three-vector voltage optimization system for the induction motor with current static error correction can be summarized as follows:(i)
Measure rotor speedωr, stator current isα, and dc-link Udc voltage in current sampling period.(ii)
Estimatei⟶sk+1 and ψ⟶rk+1 according to (7) and (8) based on the voltage vector u⟶sk determined in the previous control period and then calculate isαk+1 and isβk+1.(iii)
Correction of static current error based on equation (25).(iv)
Predictαk+2 and βk+2 by (13), calculate the durations t1, t2, and t0 by (31), and correct them by (32).(v)
Substituteαk+2 and βk+2 into (12); the corresponding combination vector is obtained by minimizing the cost function.


## 3.1. MPCC System Structure

The predictive current is controlled within a fixed sampling period. Moreover, the current error vector trend is simulated through finite switch states produced by the converter and the system model at different switch states. In the actual control, the sampling current obtained in the outer loop is compared with the predicted value in the next sampling time, and the optimal control voltage and the output voltage space vector are selected accordingly. Figure1 illustrates the flowchart of the proposed system.Figure 1
MPCC system chart.The space vector can be expressed in the form below:(10)uc=23uca+λucb+λ2ucc,where λ=ej2π/3, λ2=ej4π/3, and uca,ucb,anducc are input voltages. The switch state of converter depends on the gate-level signals Sa, Sb, and Sc. More specifically, Sxxa,b,c=1 indicates that upper and lower gates are open and closed, respectively. Moreover, Sxxa,b,c=0 indicates that the upper and lower gates are closed and open, respectively. There are 8 switch states in total. Subsequently, a total of 8 voltage vectors are considered in the combination of gate-level signals.


## 3.2. Optimization of Cost Functiong

α and β are defined as the real part and imaginary part of current vector ik+1, and α∗ and β∗ are defined as the real part and imaginary part of the given current vector. In order to minimize the tracking error of current vector, two components of current in αβ coordinate system are used as the reference of new cost function in this paper.(11)g1=α∗−αk+1+β∗−βk+1,where αk+1 and βk+1 are the given current values at k+1th instant in the αβ coordinate system.A large number of calculations are needed in the digital implementation process based on MPC, leading to time delay in the drive [18, 19]. As a result, the system performance will be deteriorated. To eliminate the delay in digital control, the cost function g should be minimized, so a new cost function was introduced:(12)g2=α∗−αk+2+β∗−βk+2,where αk+2 and βk+2 are the given current values at k+2th instant in the αβ coordinate system.Firstly,α∗ and β∗ at k+2th instant should be determined. Since the sampling frequency is much higher than the frequencies of the reference signals, it can be considered α∗ and β∗ at k+2th instant are approximately equal to the present values, i.e., α∗k≈α∗k+1≈α∗k+2 and β∗k≈β∗k+1≈β∗k+2.Secondly, estimate the predicted stator current according to (8) based on the voltage vector u⟶sk determined in the previous control period. Then, αk+2 and βk+2 can be simply predicted as(13)αk+2=isak+2=1−RσTsLσisak+1+TskrTrLσψrak+1+TskrLσωrk+1ψrβk+1+TsLσusak+1,βk+2=isβk+2=1−RσTsLσisβk+1+TskrTrLσψrβk+1−TskrLσωrk+1ψrak+1+TsLσusβk+1.The mechanical constant of rotor is much larger than the sampling time, soωrk=ωrk+1 can be approximately obtained.


## 3.3. Correction of Current Static Error

In order to correct the current static error, equation (8) can be transformed as follows:(14)usαk=LσTsisαk+1+Rσ−LσTsisαk−krTrψrαk−krωrkψrβk,usβk=LσTsisβk+1+Rσ−LσTsisβk−krTrψrβk+krωrkψrαk.Equation (14) indicates that the current static error may be originated from three components Lσ, Rσ, and kr. Therefore, these components are analysed.


### 3.3.1. Investigating the Influence of Parameter ErrorLσ on Static Error

Assuming that there is an errorLσ in the current predictive control, Lσ′ and Lσ are defined as the motor inductance parameter in the controller and the actual motor inductance parameter, respectively. Then, the parameter error is defined as the difference between actual parameter and parameter in the controller. Substituting Lδ′ for Lσ into equation (14) yields the following expression:(15)usα∗k=Lσ′Tsisα∗k+1+Rσ−Lσ′Tsisαk−krTrψrαk−krωrkψrβk,usβ∗k=Lσ′Tsisβ∗k+1+Rσ−Lσ′Tsisβk−krTrψrβk+krωrkψrαk.Since the expression forα and β axes is similar, parameters on one axis are analysed. For example, the superscript ∗ on α axis is a given value. Since usαk=usα∗k, equation (16) can be simplified based on equations (14) and (15):(16)isαk+1=Lσ′Lσisα∗k+1+Lσ−Lσ′Lσisαk.Convert equation (16) to Z-discrete domain transfer function:(17)isαzisα∗z=Lσ′zLσz−1−Lσ′/Lσ.The characteristic root of the system obtained from equation (17) can be expressed as z=1−Lσ′/Lσ. The sufficient and necessary condition for the stability of a discrete-time control system is that the poles of the system should be in the unit circle of the z-plane.(18)−1<1−Lσ′Lσ<1.Equation (18) indicates that the stability condition of the system is 0<Lσ′<2Lσ. Generally, the error of parameters Lσ is within 2 times, so the system stability is ensured.If the deviation ofL leads to the static error between the actual current isαk and the current command isα∗k, it is assumed that(19)Δisαk+1=isα∗k+1−isαk+1.Substituting equation (19) into (16) yields the following:(20)Δisαk+1=Lσ−Lσ′Lσ′isαk+1−isαk.This expression indicates that the parameterLσ has low impact on the static error. Moreover, as the sampling period Ts reduces or as the expression isαk+1−isαk approaches 0, static error decreases further.


### 3.3.2. Investigating the Influence of Parameter ErrorRσ on Static Error

Assuming that there is an errorR in the current predictive control, Rσ′ and Rσ are defined as the parameter in the controller and the actual parameter, respectively. When usαk=usα∗k, the following expression can be obtained:(21)ik+1sa=isα∗k+1+TsLσRσ′−Rσiksa.Convert (21) to Z-discrete domain transfer function:(22)isαzisα∗z=LσzLσz−Ts/LσRσ′−Rσ.According to the stability criterion of the discrete domain system, the system is stable when the poles of the system are in the unit circle of thez-plane. It is found that the system is stable when the condition Rσ−Lσ/Ts<Rσ′<Rσ+Lσ/T is satisfied.Substituting equation (19) into (21), the following expression can be obtained:(23)Δik+1sa=TsLσRσ−Rσ′iksa.This expression indicates thatΔisak+1 is in direct proportion to the deviation Rσ. When isαk approaches 0, the motor is in no-load operation so that Δisak+1 is close to 0. In other words, when the motor runs in no-load condition, even if there is a deviation in the current isα, it is not caused by Rσ.On the one hand, whenisα>0, for positive parameter error (i.e., Rσ−Rσ′>0), i<saisα∗, while for negative parameter error (i.e., Rσ−Rσ′<0), i>saisα∗.On the other hand, whenisα<0, the parameter error and current static error are opposite to those when isα>0. These are summarized in Table 1.Table 1
Rσ parameter error and current error.
isaRσ−Rσ′>0Rσ−Rσ′<0isa>0isa<isα∗isa>isα∗isa<0isa>isα∗isa<isα∗


### 3.3.3. Investigating the Influence of Parameter Errorkr on Static Error

To this end,kr′ and kr are defined as the parameter in the controller and the actual parameter, respectively. These parameters can be mathematically expressed as follows:(24)Δisαk+1=TsLσkr′−krωrkψrβk+TsTrLσkr−kr′ψrαk.It can be seen from the above equation that parameters are defined on theψrαandψrβ coordinate axes so that the parameter error kr−kr′ leads to the static error isα. On the ψrα axis, the current static error is in direct proportion to the parameter error kr, while it is inversely proportional to the parameter error on ψrβ axis. It is observed that as the motor speed increases, the rotor angular speed ωr increases so that the same size deviation kr leads to current static error.Based on the foregoing analysis, the parameter errors ofRσ and kr result in the static error between the given value and the actual value of the current. When the motor runs in the no-load condition, the current static error isα is caused by the deviation kr, which is independent of Rσ. Since static error isα increases with the increase of ωr, the motor runs at the rated speed in the no-load condition and kr parameter of the predictive controller is adjusted by the static error of isα. When parameter kr converges to the true value of the motor and the motor runs at a constant load, isα will have current static error, which originates from the deviation of parameter Rσ. The most direct way to eliminate the static error in the feedback control system is to add the error integral. In the present study, the static error of isα is applied to adjust the control parameters. This can be mathematically expressed as follows:(25)Rσopt=Rσ′+KiRσ∑nkisα∗n−isαn,kropt=kr′+Kikr∑nkisα∗n−isαn,where Rσopt and kropt are the revised parameter values of the motor, while KiRσ and Kikr are the integral coefficients. Moreover, Rσ and kr terms of usαk and usβk expressions are identical, so the method based on the α-axis adjustment is also applicable to the β-axis.


## 3.3.1. Investigating the Influence of Parameter ErrorLσ on Static Error

Assuming that there is an errorLσ in the current predictive control, Lσ′ and Lσ are defined as the motor inductance parameter in the controller and the actual motor inductance parameter, respectively. Then, the parameter error is defined as the difference between actual parameter and parameter in the controller. Substituting Lδ′ for Lσ into equation (14) yields the following expression:(15)usα∗k=Lσ′Tsisα∗k+1+Rσ−Lσ′Tsisαk−krTrψrαk−krωrkψrβk,usβ∗k=Lσ′Tsisβ∗k+1+Rσ−Lσ′Tsisβk−krTrψrβk+krωrkψrαk.Since the expression forα and β axes is similar, parameters on one axis are analysed. For example, the superscript ∗ on α axis is a given value. Since usαk=usα∗k, equation (16) can be simplified based on equations (14) and (15):(16)isαk+1=Lσ′Lσisα∗k+1+Lσ−Lσ′Lσisαk.Convert equation (16) to Z-discrete domain transfer function:(17)isαzisα∗z=Lσ′zLσz−1−Lσ′/Lσ.The characteristic root of the system obtained from equation (17) can be expressed as z=1−Lσ′/Lσ. The sufficient and necessary condition for the stability of a discrete-time control system is that the poles of the system should be in the unit circle of the z-plane.(18)−1<1−Lσ′Lσ<1.Equation (18) indicates that the stability condition of the system is 0<Lσ′<2Lσ. Generally, the error of parameters Lσ is within 2 times, so the system stability is ensured.If the deviation ofL leads to the static error between the actual current isαk and the current command isα∗k, it is assumed that(19)Δisαk+1=isα∗k+1−isαk+1.Substituting equation (19) into (16) yields the following:(20)Δisαk+1=Lσ−Lσ′Lσ′isαk+1−isαk.This expression indicates that the parameterLσ has low impact on the static error. Moreover, as the sampling period Ts reduces or as the expression isαk+1−isαk approaches 0, static error decreases further.


## 3.3.2. Investigating the Influence of Parameter ErrorRσ on Static Error

Assuming that there is an errorR in the current predictive control, Rσ′ and Rσ are defined as the parameter in the controller and the actual parameter, respectively. When usαk=usα∗k, the following expression can be obtained:(21)ik+1sa=isα∗k+1+TsLσRσ′−Rσiksa.Convert (21) to Z-discrete domain transfer function:(22)isαzisα∗z=LσzLσz−Ts/LσRσ′−Rσ.According to the stability criterion of the discrete domain system, the system is stable when the poles of the system are in the unit circle of thez-plane. It is found that the system is stable when the condition Rσ−Lσ/Ts<Rσ′<Rσ+Lσ/T is satisfied.Substituting equation (19) into (21), the following expression can be obtained:(23)Δik+1sa=TsLσRσ−Rσ′iksa.This expression indicates thatΔisak+1 is in direct proportion to the deviation Rσ. When isαk approaches 0, the motor is in no-load operation so that Δisak+1 is close to 0. In other words, when the motor runs in no-load condition, even if there is a deviation in the current isα, it is not caused by Rσ.On the one hand, whenisα>0, for positive parameter error (i.e., Rσ−Rσ′>0), i<saisα∗, while for negative parameter error (i.e., Rσ−Rσ′<0), i>saisα∗.On the other hand, whenisα<0, the parameter error and current static error are opposite to those when isα>0. These are summarized in Table 1.Table 1
Rσ parameter error and current error.
isaRσ−Rσ′>0Rσ−Rσ′<0isa>0isa<isα∗isa>isα∗isa<0isa>isα∗isa<isα∗


## 3.3.3. Investigating the Influence of Parameter Errorkr on Static Error

To this end,kr′ and kr are defined as the parameter in the controller and the actual parameter, respectively. These parameters can be mathematically expressed as follows:(24)Δisαk+1=TsLσkr′−krωrkψrβk+TsTrLσkr−kr′ψrαk.It can be seen from the above equation that parameters are defined on theψrαandψrβ coordinate axes so that the parameter error kr−kr′ leads to the static error isα. On the ψrα axis, the current static error is in direct proportion to the parameter error kr, while it is inversely proportional to the parameter error on ψrβ axis. It is observed that as the motor speed increases, the rotor angular speed ωr increases so that the same size deviation kr leads to current static error.Based on the foregoing analysis, the parameter errors ofRσ and kr result in the static error between the given value and the actual value of the current. When the motor runs in the no-load condition, the current static error isα is caused by the deviation kr, which is independent of Rσ. Since static error isα increases with the increase of ωr, the motor runs at the rated speed in the no-load condition and kr parameter of the predictive controller is adjusted by the static error of isα. When parameter kr converges to the true value of the motor and the motor runs at a constant load, isα will have current static error, which originates from the deviation of parameter Rσ. The most direct way to eliminate the static error in the feedback control system is to add the error integral. In the present study, the static error of isα is applied to adjust the control parameters. This can be mathematically expressed as follows:(25)Rσopt=Rσ′+KiRσ∑nkisα∗n−isαn,kropt=kr′+Kikr∑nkisα∗n−isαn,where Rσopt and kropt are the revised parameter values of the motor, while KiRσ and Kikr are the integral coefficients. Moreover, Rσ and kr terms of usαk and usβk expressions are identical, so the method based on the α-axis adjustment is also applicable to the β-axis.


## 3.4. Principle of the Three-Vector Optimization

In order to obtain better steady-state performance, the three-vector control strategy was proposed. This strategy virtualizes six alternative voltage vectors online, while conventional schemes utilize eight basic voltage vectors. Therefore, the effective range system control is remarkably expanded in the three-vector control strategy. Figure2 indicates that the alternative voltage vector is synthesized by three adjacent voltage vectors.Figure 2
Voltage vector chart.In Figure2, u0−u7 denote eight basic voltage vectors, while uv1−uv6 are six virtual voltage vectors, where uv1 is synthesized by two components t1/Tsu1 and t2/Tsu2. It should be indicated that t1 and t2 denote the optimal duration of the first and second voltage vectors uopt1 and uopt2, respectively. Assuming that t0 is the optimal time for the zero voltage vector, the output selected vector is(26)uopt=t1Tsuopt1+t2Tsuopt2+t0Tsuopt0.According to the sine rule of the included angle betweenuv1 and u1, the state retention time of each vector can be obtained as follows:(27)Ts=t1+t2+t0.Figure2 indicates that the single-vector MPC provides the majority of limited voltage vectors. Meanwhile, only one of eight basic voltage vectors with fixed direction and amplitude can be selected. In the duty ratio method, the zero vector and effective vector are adopted to adjust the magnitude of the expected voltage vector. However, directions of these vectors are still fixed. The extended double-vector method can not only adjust the direction of the expected voltage vector but also change the magnitude of the expected voltage vector. The proposed three-vector method constructs six groups of candidate voltage vectors with adjustable amplitude and direction. These vectors cover the entire vector selection area and expand the feasible range of the MPC. Based on the aforementioned analysis, the diagram of the three-vector optimization induction motor MPCC for the current static error correction can be obtained. Figure 3 illustrates the obtained results.Figure 3
Three-vector optimization induction motor MPCC of current static error correction.


## 3.5. Vector Time Optimization

In order to perform the persistent time optimization, the voltage vector is divided into the real part and imaginary part in accordance with the components under the stationary coordinates. Assuming thatuopt1 denotes the first effective voltage vector output, the coordinate slope of real and imaginary axes is defined as S1α and S1β, respectively. Similarly, coordinate slope of the second effective voltage vector and the zero vector is defined as S2α and S2β and S0α and S0β, respectively. According to equation (13), the current can be predicted at k+2th time step. When only one vector is applied, slopes of factors can be obtained through substituting equation (13) into (28).(28)S1α=αk+2opt1−αk+1Ts,S1β=βk+2opt1−βk+1Ts,S2α=αk+2opt2−αk+1Ts,S2β=βk+2opt2−βk+1Ts,S0α=αk+2opt0−αk+1Ts,S0β=βk+2opt0−βk+1Ts.When the first voltage vectoruopt1 is applied, the current parameters at αk+2th time step can be presented by αk+2opt1 and βk+2opt1. Moreover, when the first voltage vector uopt2 is applied, the current parameters at k+2 time step can be expressed byαk+2opt2 and βk+2opt2. Finally, when the zero vector uopt0 is applied, current parameters at αk+2th time step can be presented by αk+2opt0 and βk+2opt0.When three basic voltage vectors are applied for a certain period of time during one control cycle, the coordinate coefficients in the next control cycle can be predicted as follows:(29)αk+2=αk+1+S1αt1+S2αt2+S0αt0,βk+2=βk+1+S1βt1+S2βt2+S0βt0.In order to perform the dead-beat tracking, the tracking error of coordinate coefficient atk+1 must be 0, so the following assumption can be made in this regard:(30)α∗=αk+2,β∗=βk+2.Equations (27)–(30) can be combined to derive durations of voltage vectors as the following:(31)t1=Δαk+1S0β−S2β+Δβk+1S2α−S0αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α+TsS2βS0α−S0βS2αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α,t2=Δαk+1S1β−S0β+Δβk+1S0α−S1αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α+TsS0βS1α−S1βS0αS2βS0α+S0βS1α+S1βS2α−S2βS1α−S0βS2α−S1βS0α,t0=Ts−t1−t2.where Δαk+1 and Δβk+1 are the sampling time error at k+1 under the change at variable coordinate. Since t1∈0,Ts, t2∈0,Ts, and t0∈0,Ts, the early and the late vectors can be defined as Tx and Ty, respectively, where t1+t2+t3=Ts. When the condition is not met, the duration should be revised as follows:(32)t1=TxTx+Ty×Ts,t2=TyTx+Ty×Ts,t0=0.The process of the proposed current prediction-based three-vector voltage optimization system for the induction motor with current static error correction can be summarized as follows:(i)
Measure rotor speedωr, stator current isα, and dc-link Udc voltage in current sampling period.(ii)
Estimatei⟶sk+1 and ψ⟶rk+1 according to (7) and (8) based on the voltage vector u⟶sk determined in the previous control period and then calculate isαk+1 and isβk+1.(iii)
Correction of static current error based on equation (25).(iv)
Predictαk+2 and βk+2 by (13), calculate the durations t1, t2, and t0 by (31), and correct them by (32).(v)
Substituteαk+2 and βk+2 into (12); the corresponding combination vector is obtained by minimizing the cost function.


## 4. Experimental Results

To verify the feasibility of the three-vector voltage optimization current predictive control proposed in this paper in induction motor, a dSPACE DS1104-based controller unit is used to constitute an integrated back-to-back controller platform for induction motor drives. The photographic view shown in Figure4 depicts the universal experimental platform.Figure 4
View of experimental platform.The motor parameters are shown in Table2. To distinguish the control strategy, the traditional single-vector MPCC method is MPCC-I, without current static error correction, and the three-vector MPCC strategy of current static error correction proposed in this paper is MPCC-II. The sampling frequency of MPCC-I is set to 10 kHz, while the sampling frequency of MPCC-II is 8 kHz to show its superiority.Table 2
Motor parameters.
ParameterSymbolValueRotor inductanceLr0.4034HMutual inductanceLm0.395HStator inductanceLs0.4043HRotor resistanceRr2.444ΩStator resistanceRs3.4ΩNumber of pole pairsρ2Moment of inertiaJ0.005kg/mIn order to better analyse the effect of the integral coefficient on eliminating the static error, the stator current response on the dq shaft is investigated through the experiment. As shown in the MPCC-II strategy in Figure5, the rotating speed of the motor is 150 rpm, while the rated speed is 400 rpm at 1 s and it declines to 150 rpm at 2 s. From top to bottom, the correction without static error, static error coefficient Kikr=0.5, and the current response diagram on dq-axis when KiRσ = 0.5, 1, and 5 are presented in Figure 5.Figure 5
Dynamic response to the speed variation: (a) dq-axis current of MPCC-II with no current static error correction; (b) dq-axis current of MPCC-II with integral factor ofKikr=0.5 and KiRσ=0.5; (c) dq-axis current of MPCC-II with integral factor of Kikr=0.5 and KiRσ=1; (d) dq-axis current of MPCC-II with integral factor of Kikr=0.5 and KiRσ=5.
(a)(b)(c)(d)Figure5 indicates that the static error between the current command id∗ and the actual current id is very small, and variations of the integral coefficient have low impact on the static error correction. When given speed suddenly changes, as KiRσ increases, the pulse of actual current id and iq increases too. Moreover, the convergence deteriorates as the integral coefficient increases. In the case of no current static error correction, static error between the current command iq∗ and the actual current iq is remarkable. When Kikr=KiRσ=0.5, the corrective effect on static error between the current command iq∗ and the actual current iq is the most satisfying effect and it is approximately zero.The same set of experiments is based onKiRσ=0.5, and the current response diagram on the dq-axis is almost the same as that for the previous group with Kikr=0.5, 1, and 5. It is assumed that the best static error correction is obtained when Kikr=KiRσ=0.5.In order to evaluate the performance of the current static error correction whenKikr=KiRσ=0.5, the dynamic response of the motor from 800 rpm to 1000 rpm and from 1000 rpm to 800 rpm is investigated in Figures 6 and 7, respectively. Former results prove that the integral factor has a remarkable impact on the current static error. Figure 8 shows dynamic responses for both methods. From top to bottom, distributions of the rotor speed, rotor flux, electromagnetic torque, and the stator current are presented. It is observed that when the motor speed increases, the integral coefficient still has an effect on the current static error correction. The current static difference reduces the efficiency. Therefore, the static error correction can effectively improve the dynamic response of the system in the same control strategy.Figure 6
Dynamic response to the speed variation: (a) dq-axis current of MPCC-II with no current static error correction; (b) dq-axis current of MPCC-II with integral factor ofKikr=0.5 and KiRσ=0.5.
(a)(b)Figure 7
Dynamic responses for both methods: (a) dq-axis current of MPCC-II with no current static error correction; (b) dq-axis current of MPCC-II with integral factor ofKikr=0.5 and KiRσ=0.5.
(a)(b)Figure 8
Dynamic response to the variation in load: (a) dq-axis current of MPCC-II with no current static error correction; (b) dq-axis current of MPCC-II with integral factor ofKikr=0.5 and KiRσ=0.5.
(a)(b)Considering the load effect on the control method, sudden load and sudden load-reduction experiments are performed. The motor speed is set to 800 rpm, and the load torque increases from 0 to 2 N·m and then it drops to 0 N·m. Figure8 illustrates the experimental results. From top to bottom, the distributions of the response of the current on the dq-axis, stator current, speed, and torque are presented. In the case of added and removed load, the static error correction is superior in the MPCC-II with the integral coefficient to that without the integral coefficient. Moreover, its static error is approximately zero. The experiment demonstrates that adjusting the static error coefficient has a significant effect on the current static error correction. When the integral coefficient is selected in MPCC-II, the current static error should be reduced as far as possible. The previous analysis is complemented with the experimental tests to study the influence of the parameter error on the variation of the motor speed and load. For the induction motor in this study, Kikr=0.5 and KiRσ=0.5 are selected as the most appropriate integral coefficients after multiple experiments.Figure9 shows the dynamic response from 150 rpm to 400 rpm in both methods. From top to bottom, the distribution of the rotor speed, rotor flux, electromagnetic torque, and stator current is presented. Figure 10 shows the magnification effect. Moreover, Figure 11 shows the current response diagram on dq-axis. In both methods, the speed rapidly increases from 150 rpm to 400 rpm, and the rotor flux is almost constant during the process, indicating that the proposed MPCC-II strategy can perform the decoupling control on the rotor flux and torque, and the current static error is also relatively small and remains stable in case of no large starting current. The experimental results shown in Figure 10 suggest that the MPCC- II has lower torque and flux ripple.Figure 9
Simulation starting from 150 rpm to 400 rpm for (a) MPCC-I and (b) MPCC-II.
(a)(b)Figure 10
Experimental results: (a) MPCC-I; (b) MPCC-II.
(a)(b)Figure 11
Current simulation starting from 150 rpm to 400 rpm for (a) MPCC-I and (b) MPCC-II.
(a)(b)Based on the influences of the coaxiality and internal coefficient of friction in the manufacturing process of two motors, no load is equivalent to a certain load. Therefore, the electromagnetic torque in the steady state in the experimental waveform is always not zero.The number of voltage vectors, the number of objective functions, and the width of prediction affect the complexity of the algorithm. In the present study, the objective function has 2 subfunctions. Moreover, the prediction width and the conventional prediction width are 2 step and 1 step, respectively. The conventional method requires 8 times to select the target function corresponding to 8 switch vectors and only 6 times to select the proposed synthesized three vectors. It is observed that the selection times can be effectively reduced by using the synthesized three vectors for the optimization. Moreover, Table3 shows that despite the low frequency, the dynamic performance of MPCC-II is more reasonable in comparison with the MPCC-I.Table 3
Comparison of proposed MPCC-II with MPCC-I.
FeatureMPCC-IMPCC-IISampling freq.10 kHz8 kHzTHD15.1%–17.7%12.4%–14.2%Model calculation86Dynamic responseAverageMoreCurrent static errorMoreLess


## 5. Conclusion

In the implementation of the conventional MPCC, applying only one voltage vector in each control cycle leads to great torque and flux pulse in the speed changes, thereby limiting the practicality of the conventional MPCC. In the present study, the current static error correction method is proposed, which is based on the parameter error analysis of the predictive model. Moreover, the modified three-vector algorithm is introduced to improve the steady-state performance, which extends the effective range of the system control set significantly. Furthermore, the three-vector current predictive control scheme proposed for the current static error correction is verified through experiments, which performs the decoupling control on torque and rotor flux, has the advantage of high dynamic response of the current predictive control, and eliminates the current static error due to the inconsistent model parameter of the controller motor.



---

*Source: 3740837-2020-08-29.xml*