#### Abstract

Model predictive control (MPC) is a powerful tool for the control of permanent magnet synchronous motors. However, conventional MPC permits using a single voltage vector during one control interval. This results in higher current distortions and large torque ripples. Sensitivity to control parameters is another issue associated with conventional MPC. The duty cycle suggests using an active vector and a null vector during one sampling interval. The method needs excessive computational and prediction effort. Furthermore, a necessary zero vector as the second vector might not give the optimal results. To overcome the problems of computational burden, this paper proposes that a reference voltage vector can be calculated and used to determine the voltage vector to be used for the next interval. This reduces the computational effort to a minimum. Furthermore, it is proposed that the second vector can either be active or null. To overcome the problem of parameter dependence, an electromotive force is calculated on basis of previous values. Simulations have been carried out to verify the efficacy of the proposed method.

#### 1. Introduction

Permanent magnet synchronous machines are recently grasping more attraction in industrial applications such as robots, electric vehicles, and numerical control machines due to several advantages in terms of high torque density, low volume, and efficiency over a wide speed range [1–7]. Among various control schemes for high-performance control of PMSM-based systems, field-oriented control (FOC) and direct torque control (DTC) [8–10] have developed as better control strategies. FOC has exhibited fast dynamic response and decent steady-state performance [11, 12]. Nevertheless, it demands fine-tuning of internal loop and axis transformation. Furthermore, FOC combined with space vector pulse width modulation (SVPWM) increases calculation process time. Direct torque control has emerged as another control strategy that uses measured current to estimate the magnetic flux and torque to calculate voltage command. It does not need the inner current loop and pulse width modulation [13]. DTC has a simple structure and achieves a very high quick response [14]. However, it is quite difficult to estimate the torque and magnetic flux precisely [15]. Also, it usually results in higher current harmonics and torque ripples with a variable switching pattern. Some research work has also been done in the field of iterative learning controller [16–18]. Several other modifications and improvements have been suggested in the literature to overcome FOC and DTC drawbacks [19–21].

In recent years, model predictive control, also known as MPC, has emerged as an improved alternative to previous techniques for control of PMSM as well as power converters [22–24]. MPC is an optimization-based methodology, and based on a system’s internal model, it calculates control action for the next interval by minimizing the difference between the reference value and projected value. MPC has a simple control architecture with quick response and parameter robustness [22, 25–27]. As compared to FOC, MPC promises a quicker dynamic response. Compared to DTC, vector selection for the next interval in MPC is comparatively more precise [24, 28]. Model predictive control can be used as a torque control or as a current control scheme. The former is called model predictive torque control (MPTC) [29–31], and the latter is known as model predictive current control (MPCC) scheme [32–38]. MPTC has shown improved enactments in terms of current harmonics and torque ripples compared to DTC [39–43]. However, for obtaining torque and flux values and tuning weighting factors, MPTC requires an observer or estimator.

MPCC is easy to implement due to the fact that the only control variable, that is, current, can be measured without an estimator or observer [35, 44]. Its fast response and the unpretentious principle have made it a promising strategy for high-performance current control of PMSM drive systems. MPCC is a current control strategy that can be implemented easily compared to MPTC, which requires an estimator or observer. Also, it does not require any weighing factor as the current is the only control variable. Therefore, MPCC provides a more straightforward solution as compared to MPTC.

Model predictive control depends on the system model for future prediction. Therefore, it needs an accurate representation of the system model. Some of the motor parameters such as motor inductance and resistance vary during the motor operation due to changing temperature. This results in a mismatch of these parameters, and the accurate representation of the system model is compromised. In order to overcome this problem, some methods have been implemented in the literature to minimize the dependence on motor parameters. A current difference technique is proposed in literature [45, 46] which is independent of system parameters. In order to make the system robust against system parameters, the study in [47] proposes an ultralocal technique that utilizes the inputs and outputs of the system only. To identify system parameters, the study in [48] suggests a recursive least square algorithm. Without the need for detailed system parameters, accurate prediction is possible. The back electromotive force (back emf) of the system can be evaluated based on previous emf values as suggested in the literature [32, 33].

Furthermore, in order to get the minimal cost function, conventional MPC has to predict as many current values as the inverter's switching states [40]. Usually, the MPC drive system is fed from a three-phase two-level voltage source inverter (2LVSI). It means there are a total of eight possible switching states, that is, six active vector states and two zero vector states. Consequently, the controller has to check for all eight states one by one. This complicates the situation for systems with a higher number of phases or when using a three-level inverter. Furthermore, the application of only one vector during one control interval fails to achieve minimum current error between the reference and the predicted value [41]. To overcome this difficulty, the idea of using more than one vector has been presented in the literature [39, 40]. The concept of the duty cycle has been presented in literature [36, 40, 41]. The basic concept is to utilize multiple voltage vectors during one control interval. The conventional duty-cycle method allows one active and a corresponding zero vector with less switching frequency during one control interval. Selection of the active vector is made by the tedious one-by-one check. The application of a zero vector decreases the error between predicted and reference values [49]. Even though this method significantly improves the steady-state performance of the concerned system, current error may be minimized by exploring the horizon for selecting a second vector rather than using a zero vector necessarily, which needs additional research [36].

In order to overcome the difficulties of the conventional model predictive control method, this paper has proposed some improvements. This paper uses an alpha-beta coordinate system for calculation in order to avoid dq-axes transformation. To reduce the dependence on system parameters, back emf can be calculated from previous emf values which are calculated from current values. An average of previous emf values can be used to calculate emf for the active control period. Secondly, an improvement in the duty-cycle approach has been proposed which focuses on generating a reference voltage vector for selecting the first optimal vector. The paper proposes that the active vector nearest to the reference voltage vector must be selected as the first vector. The second vector can either be an active voltage vector or a zero vector depending on which one generates the minimum cost function. A very simple but effective approach for duty calculation has been used which suggests that can be calculated from the cost functions of selected voltage vectors. The proposed method is compared with conventional MPC and conventional duty-cycle MPC. The effectiveness of the proposed method is confirmed by simulation results.

The paper is organized as follows: Section 2 covers the mathematical model of PMSM and its discrete model. The conventional model predictive control strategy is also covered in this section. Section 3 discusses the proposed MPC, which includes emf calculation, reference voltage generation, and selection of the first optimal vector and second vector. This section also discusses the duty calculation. Section 4 includes simulation verification of the proposed strategy by comparing results with conventional methods. Lastly, Section 5 presents the conclusion based on simulation results. References are added at the end of this paper.

#### 2. Preliminaries

##### 2.1. Mathematical Representation of PMSM

The following assumptions must be taken into consideration for a simplified analysis: magnetic hysteresis losses as well as eddy currents are very insignificant; hence, they can be neglected, clogging torque and magnetic saturation is negligible, and back emf is sinusoidal. In order to avoid tedious coordinate transformation, *αβ*-stationary axis is used in this paper. The model of a surface-mounted PMSM in stationary reference frame can be represented aswhere *V*_{s} () is the stator voltage, *i*_{s} (*A*) is the stator current, *ψ*_{s} (Wb) is the equivalent active flux, *R*_{s} (Ohm) is resistance, and *L*_{s} (H) is the inductance.where *e* () represents back emf.where *ψ*_{f} is the permanent magnet flux linkages.where *ω*_{r} (rad/s) is rotor speed.where *T*_{e} (Nm) is electromagnetic torque and *P* represents the number of poles.

##### 2.2. Discrete-Time Model

For a sampling interval *T*_{s}, the voltages and calculated currents for the *k*th interval can be used to predict load currents for the next sampling interval.

By rearranging (2), we get

d*i*/d*t* can be estimated aswhere *T*_{s} represents one control period.

Replacing in (6), and rearranging the equation, the predicted load current for the next interval can be represented as

Estimation of *emf* requires a troublesome process. Theoretically, (2) can be used to approximate *emf*, but it is not as simple as it seems due to variations in machine parameters with increasing temperature and saturation. Therefore, the objective is to minimize the dependence on machine parameters [37].

The *emf* can also be approximated using an observer. Conversely, *emf* values are pretty low at a standstill or low speeds, making it difficult for the observer to estimate the *emf* effectively. Due to its computational time, an observer might estimate inaccurately during the transient intervals. Therefore, the following adjustments must be made in the theoretical model to estimate *emf* with the least dependence on machine parameters. The mechanical speed of the machine can be considered constant for a few control intervals as the machine time constant is much higher as compared to the electromagnetic time constant. Stator current *i*_{s}(*k*) can be replaced by the following equation to represent its variation during one sampling interval:

By replacing these values in (8), *emf* can be estimated as

Similarly, for consecutive intervals,

The back *emf* is considered constant for a few intervals as the *emf* frequency is significantly less as compared to the sampling frequency. Therefore, it is proposed that the *emf* value remains considerably consistent during a control interval [33]. However, it reduces the tolerance for variations in inductance. As stated in [50], taking the mean of two to four consecutive *emf* estimations increases the system’s stability against varying inductance. The results show that the system shows stability against variations in the inductance values. Therefore, this paper proposes using two *emf* values from the previous consecutive intervals and taking the mean to estimate *emf* for the current interval.

##### 2.3. Model Predictive Control

The conventional MPC with single-vector selection and one-step delay compensation selects the optimum voltage vector from cost function minimization. The cost function is expressed aswhere *i*_{s}(ref) is the current reference is the stationary frame. As PMSM is fed by a two-level VSI, there are a total of eight switching states with six active and two zero voltage vectors. It means that the cost function has to be calculated for a total of seven times during each control interval. Additionally, the use of only one voltage vector during a single control interval results in enhanced current harmonic distortions and greater steady-state torque ripples.

#### 3. Proposed MPC

The block diagram of the proposed MPC is represented in Figure 1. The tedious dq-axes transformation is avoided, and the *αβ*-coordinate system has been employed. The proposed method is based on the fact that not all the switching state vectors are needed to predict and select the optimal control variable. A reference voltage vector can be used to predict future voltage vectors. Moreover, as utilizing a single voltage vector during one sampling interval might result in torque ripples, more than one nonzero voltage vector can be used through one control period. This paper suggests that the second vector can either be an active voltage vector or a zero vector depending on whichever produces the least cost function.

##### 3.1. Reference Voltage Generation

The conventional MPC checks all the voltage vectors one by one to find the optimal vector. The ultimate goal is to minimize the current error in the cost function (14). Theoretically, it can be minimized to a zero value. Based on this statement, a reference voltage vector can be generated from (13) by replacing *i*_{s}(*k*+1) with *i*_{s}(ref). A voltage reference vector is calculated from the current values of the present (*k*_{th}) control period.

##### 3.2. Vector Selection

Once the reference voltage is generated, the next stage is to find the first optimal vector, which minimizes the cost function. A two-level VSI has six active and two zero vectors. Therefore, the inverter control plane can be divided into six equal segments, and the six active voltage vectors are located at the extremes of each segment. The angle information of reference voltage determines its location on the inverter control plane. The reference vector lies on one of the six sectors. The segment where reference voltage lies corresponds to the closest voltage vector on one of the sides of that segment as the optimal vector during the next control interval. For example, if the reference voltage vector lies in *S*_{1}, as shown in Figure 2, the closest voltage vector is . Obviously, exhibits the least error towards reference voltage. Hence, it will generate the optimal vector for the next interval. The application of only the first voltage vector makes it the conventional duty-cycle MPC.

The reference voltage vector lies between two active vectors on the inverter plane. The one closest to the reference voltage ensures minimal error. This vector must be selected as the first voltage vector for the next control interval. The voltage vector on the other boundary of the same sector will be the one that will generate the minimum error among the remaining five active vectors as this is closest to the reference among those five. This method proposes that the second vector can either be this vector or a null vector. Taking the same example, the reference voltage lies in sector *S*_{1}. is already determined as the first vector. The second vector can either be or a null vector. The selection between these two candidates is based on which one generates the least error, that is, minimizing the cost function. If generates the lower cost function, it will be used as the second vector during the next interval; otherwise, a null vector will be selected. The method is handy in terms of lesser calculations. There is no need to check all the vectors one by one to search for optimal results. The first vector is selected instantly once the reference voltage is generated. A little calculation is needed when it comes to selecting a second vector. A cost function is generated only twice during one control period, and the one that minimizes the cost function will be the second vector.

##### 3.3. Duty Calculation

The best voltage vectors to be used in the next sampling interval are selected based on the angle of the reference voltage vector, that is, the location of the reference voltage vector. The voltage vectors nearer to the reference voltage vector will automatically generate the lowest cost function values. Hence, the burden to calculate the cost function of all vectors can be avoided. The duty calculation for the vectors involved for the next intervals is calculated on the basis of the fact that the action time of a vector is in inverse proportion to the cost function it produces. The higher the cost function, the lower will be the vector’s action time.

The duty cycles for the selected vectors can be defined aswhere represents the cost function of the corresponding voltage vector. *K* is a constant, and it can be derived aswhere *n* = (1,2).

As two vectors are to be selected, their duty can be calculated aswhere symbolizes either the adjacent active vector or the zero vector for the first method.where and are cost functions of and . *K* is a constant, and it can be expressed as

The above equations can be simplified as

Or simply can be derived from (18).

The final cost function can be expressed as

#### 4. Simulation Study

To explore the performance of PMSM considering the suggested control strategy, simulation work is carried out in MATLAB/Simulink environment. The nominal parameters of the PMSM used in the simulation work are shown in Table 1. The sampling frequency for simulations is kept at 20 kHz. The following assumptions have been taken into consideration: saturation in flux linkages is neglected, and emf is considered sinusoidal. The value of id is kept at zero. Simulation results of the proposed MPC strategy are compared with conventional MPC and conventional duty-cycle MPC strategy which considers one active and one null vector during a control interval.

The first test condition is the steady state in which the motor is running at 75% of nominal speed at 50% of constant rated load for a duration of 0.4 s. The simulation results are presented in Figure 3 which shows stator phase “a” current Ia (*A*) and q-axis Iq (*A*) for (a) conventional MPC, (b) conventional duty-cycle MPC, and (c) proposed MPC. It can be seen in Figure 3 that the q-axis current is showing much distortion for the conventional MPC method. These distortions are reduced for conventional duty-cycle MPC and further reduced for the proposed strategy.

**(a)**

**(b)**

**(c)**

Figure 4 shows simulation results for the case of changing load. The test condition is that the motor is running at 100% rated speed. The load torque is initially zero. Full load torque of 7.15 Nm is suddenly applied at 0.2 s. The motor speed reduces in small amounts, but a quick increase in electromagnetic torque causes the motor to regain its speed to the designated value of 1500 rpm momentarily. Figure 4(a) shows simulation results for conventional MPC, Figure 4(b) shows simulation results for conventional duty-cycle MPC, and Figure 4(c) shows simulation results for proposed MPC. The first channel in each part shows phase “a” current waveform. Load torque is shown in the second channel while the third channel shows the q-axis current. The motor response is almost similar in all these methods. However, as shown in the curves, the response in the proposed method has shown considerably improved steady-state performance in the form of reduced current harmonics and reduced torque ripples. The waveforms are smooth for the proposed MPC method.

**(a)**

**(b)**

**(c)**

The dynamic case scenario of accelerating the motor from zero speed to 50% of the rated speed at 0 s and then to 100% of the rated speed at 0.2 s is represented in Figure 5. A constant load torque of 3 Nm is applied during the whole simulation time. Figure 5(a) shows simulation results for conventional MPC, Figure 5(b) shows simulation results for conventional duty-cycle MPC, and Figure 5(c) shows simulation results for proposed MPC. The first channel in each part shows actual and reference speeds. The phase “a” current is shown in the second channel while the third channel shows the q-axis current. The conventional duty-cycle MPC shows more persistent results as compared to conventional MPC, but the problems of ripples and large current distortions are still present. The proposed MPC method has shown its effectiveness in reducing current distortions and also suppresses harmonics.

**(a)**

**(b)**

**(c)**

Next, the simulation results for motor speed reversal are represented in Figure 6. The motor is first accelerated to 1000 rpm, and then, at 0.2 s, the speed is reversed from 1000 rpm to -1000 rpm. The simulation results for conventional MPC, conventional duty-cycle MPC, and the proposed strategy are presented in Figure 6. It can be observed that the improved MPC strategy has effectively eliminated steady-state error completely. Furthermore, it has reduced the current distortion and torque ripple. Hence, the proposed scheme can ensure the dynamic performance of the control system.

**(a)**

**(b)**

**(c)**

Figure 7 shows stator phase “a” current for (a) conventional MPC, (b) conventional duty-cycle MPC, and (c) proposed MPC when the motor is operating at a low speed of 100 rpm. The proposed method has shown better results in terms of reduced current distortions.

**(a)**

**(b)**

**(c)**

#### 5. Conclusion

In conventional MPC for motor control, the voltage vector that minimizes the cost function is selected and used for the next interval. The drawback of conventional MPC includes its dependence on system parameters for future predictions and the tedious process of checking all the voltage vectors one by one. The other problem is that conventional MPC utilizes only one voltage vector during one complete interval. This leads to higher steady-state torque ripples and more current distortions. The concept of the duty cycle adds an additional vector during one control interval. This paper proposes an approach to overcome these problems. In order to minimize the dependence on system parameters, the back emf can be calculated from the current values. This method further suggests that the second vector can also be an active vector. To overcome the computational burden, this paper proposes that instead of checking all the vector states one by one, the vectors for the next sampling interval can be directly selected by generating a reference voltage and checking its location on the voltage vector plane. Simulations have been carried out for the proposed method, and the results have been compared with conventional MPC and conventional duty-cycle MPC. The proposed method has shown promising results for the steady state as well as dynamic response.

#### Data Availability

The data are available and are mathematical-based simulations. The data can be provided upon request to the corresponding author.

#### Conflicts of Interest

The authors declare that they have no conflicts of interest.