# Direct Model-Based Predictive Torque Control with Variable Parameters for Induction Machines

Qing Chen, Yongdong Li

Department of Electrical Engineering
Tsinghua University

Beijing, China

E-mail: {qing-chen, liyd} @mail.tsinghua.edu.cn E-mail: jose.rodriguezp@uss.cl

Jose Rodriguez

Engineering Faculty
Universidad San Sebastian

Santiago, Chile

Ralph Kennel

Chair of High-Power Converter Systems
Technical University of Munich

Munich, Germany
E-mail: ralph.kennel@tum.de

**Index Terms**—«Model Predictive Control», «Torque Control», «Cost Function», «Variable Switching Point», «Induction Motor»

**Abstract**—This paper presents several direct model-based predictive torque control (D-MPTC) approaches with variable parameters for induction machines (IM). The term “variable parameters” specifically refers to the variable switching point and the variable weighting factor. Experimental results are provided to compare the strengths and limitations of each method.

## I. INTRODUCTION

Over the past decade, the direct (or finite-contol-set) model-based model predictive control (D-MPC) approach has been the subject of extensive academic research in the field of power electronics and electrical drives. However, it is important to acknowledge that D-MPC does present a number of inherent limitations:

* The change of switching state takes place at the beginning of a sampling interval, resulting in a variable switching frequency and high ripples on controlled variables;

* The design of weighting factors is intricate, particularly when two or more controlled variables are involved;

* The requisite calculation effort will increase exponentially in proportion to a linearly increasing prediction horizon or the level of converter.

In order to tackle the first problem, a method to calculate an optimal switching time point for predictive torque control (PTC) was first proposed in [1] and developed into variable switching point predictive torque control (VSP²TC) in [2]. This problem occurs in predictive current control (PCC) [3] and has been solved by a variable switching point predictive current control (VSP²CC) strategy in [4].

To tackle the second problem, a sequential model predictive control (SMPC) strategy was recently proposed in [5] and further studied in [6], in which controlled variables were calculated sequentially using two cost functions. Although this SMPC strategy is not necessary to design the weighting factor, it still needs to consider the priority of electromagnetic torque and stator flux. Neither the weighting factor design nor the priority of the controlled variables was considered in a newly proposed parallel predictive torque control (PPTC) algorithm in [7]. In addition, a parallel predictive current

control (PPCC) algorithm was proposed in [8], which used parallel cost functions to select the optimal voltage vector and eliminated the weighting factor.

With regard to the third problem, the methods mentioned above were implemented for a two-level voltage source inverter (2L-VSI) fed induction motor with two-step prediction horizon, a rapid control prototyping system based on standard PC with RTAI Linux [9] is enough for the relative small calculation effort. Therefore, the third problem will not happen and is beyond the scope of this paper.

Based on the concepts of variable switching point and variable weighting factor, the variable switching point parallel predictive torque control (VSP³TC) [10] and variable switching point parallel predictive current control (VSP³CC) [11] methods were proposed to tackle the first two drawbacks of D-MPC for IM. Besides, there are also many articles based on the concept of variable switching point or parallel cost function, which will not be listed in this paper.

The main purpose of this paper is to present the fundamental principle of direct model-based predictive torque control (D-MPTC) and D-MPTC with variable parameters for induction machines. Due to the limited scope of this paper, the experimental results can only be shown, not analyzed.

## II. PHYSICAL SYSTEM

### A. Induction Machine

The equation system for a squirrel cage induction machine in the two-phase stator coordinate system (S-System or αβ-System) and the equation of the mechanical system can be expressed as follows:

$$ 
\left.
\begin{aligned}
\vec{u}_s^S &= \vec{i}_s^S R_s + \frac{d\vec{\Psi}_s^S}{dt} \\
\vec{u}_r^S &= \vec{i}_r^S R_r + \frac{d\vec{\Psi}_r^S}{dt} - j\omega_1\vec{\Psi}_r^S = 0 \\
\vec{\Psi}_s^S &= \vec{i}_s^S L_s + \vec{i}_r^S L_m \\
\vec{\Psi}_r^S &= \vec{i}_s^S L_m + \vec{i}_r^S L_r \\
\underline{M} &= \frac{3}{2} p \vec{\Psi}_s^S \times \vec{i}_s^S \\
J \frac{d\omega_m}{dt} &= M - M_L
\end{aligned}
\right\} (1)
$$
A decomposition of all space vectors into their real and imaginary components yields the following results:

$$
\left.
\begin{aligned}
u_{s\alpha} &= i_{s\alpha} R_s + \frac{d\psi_{s\alpha}}{dt} \\
u_{s\beta} &= i_{s\beta} R_s + \frac{d\psi_{s\beta}}{dt} \\
u_{r\alpha} &= i_{r\alpha} R_r + \frac{d\psi_{r\alpha}}{dt} + \omega_l \psi_{r\beta} = 0 \\
u_{r\beta} &= i_{r\beta} R_r + \frac{d\psi_{r\beta}}{dt} - \omega_l \psi_{r\alpha} = 0 \\
\psi_{s\alpha} &= i_{s\alpha} L_s + i_{r\alpha} L_m \\
\psi_{s\beta} &= i_{s\beta} L_s + i_{r\beta} L_m \\
\psi_{r\alpha} &= i_{s\alpha} L_m + i_{r\alpha} L_r \\
\psi_{r\beta} &= i_{s\beta} L_m + i_{r\beta} L_r \\
M &= \frac{3}{2} p (\psi_{s\alpha} i_{s\beta} - \psi_{s\beta} i_{s\alpha}) \\
J \frac{d\omega_m}{dt} &= M - M_L
\end{aligned}
\right\}
\quad (2)
$$

## B. Two-Level Voltage Source Inverter

A two-level three-phase voltage source inverter (2L-VSI) is used to supply power to the induction motor. The 2L-VSI is capable of eight distinct switching states, which correspond to seven unique voltage vectors. In accordance with the definition of the space vector, the seven distinct voltage space vectors can be assigned to the eight different switching states by means of the following equation:

$$ \vec{u}_i^S = \frac{2}{3} U_d (S_a + a S_b + a^2 S_c), \quad (3) $$

where $a = e^{j120°} = -\frac{1}{2} + j\frac{\sqrt{3}}{2}$ and $i = 0, 1, \dots, 7$ is defined as the logical triple of the switching signal $S_c, S_b, S_a$. For example, $\vec{u}_6^S$ corresponds to $\vec{u}_6^S(110)$. For clarity, Table I provides a tabular representation of the corresponding values.

<table><caption>TABLE I: switching state and voltage space vector of a two-level voltage source inverter (2L-VSI)</caption><thead><tr><th rowspan="2">Space Vector<br>u&#773;<sup>S</sup><sub>i</sub> (cba)</th><th colspan="3">Switching State</th><th>u&#773;<sup>S</sup><sub>l</sub> = u<sub>sα</sub> + ju<sub>sβ</sub></th></tr><tr><th>Bridge c</th><th>Bridge b</th><th>Bridge a</th><th>u<sub>sα</sub></th><th>u<sub>sβ</sub></th></tr></thead><tbody><tr><td>u&#773;<sup>S</sup><sub>0</sub> (000)</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>u&#773;<sup>S</sup><sub>1</sub> (001)</td><td>0</td><td>0</td><td>1</td><td><sup>2</sup>&frasl;<sub>3</sub> U<sub>d</sub></td><td>0</td></tr><tr><td>u&#773;<sup>S</sup><sub>2</sub> (010)</td><td>0</td><td>1</td><td>0</td><td>-<sup>1</sup>&frasl;<sub>3</sub> U<sub>d</sub></td><td><sup>√3</sup>&frasl;<sub>3</sub> U<sub>d</sub></td></tr><tr><td>u&#773;<sup>S</sup><sub>3</sub> (011)</td><td>0</td><td>1</td><td>1</td><td><sup>1</sup>&frasl;<sub>3</sub> U<sub>d</sub></td><td><sup>√3</sup>&frasl;<sub>3</sub> U<sub>d</sub></td></tr><tr><td>u&#773;<sup>S</sup><sub>4</sub> (100)</td><td>1</td><td>0</td><td>0</td><td>-<sup>1</sup>&frasl;<sub>3</sub> U<sub>d</sub></td><td>-<sup>√3</sup>&frasl;<sub>3</sub> U<sub>d</sub></td></tr><tr><td>u&#773;<sup>S</sup><sub>5</sub> (101)</td><td>1</td><td>0</td><td>1</td><td><sup>1</sup>&frasl;<sub>3</sub> U<sub>d</sub></td><td>-<sup>√3</sup>&frasl;<sub>3</sub> U<sub>d</sub></td></tr><tr><td>u&#773;<sup>S</sup><sub>6</sub> (110)</td><td>1</td><td>1</td><td>0</td><td>-<sup>2</sup>&frasl;<sub>3</sub> U<sub>d</sub></td><td>0</td></tr><tr><td>u&#773;<sup>S</sup><sub>7</sub> (111)</td><td>1</td><td>1</td><td>1</td><td>0</td><td>0</td></tr></tbody></table>

In view of the inherent variability of the inverter switching states observed from a rotating coordinate system, it is recommended that D-MPC methods be implemented within a stator coordinate system.

# III. DIRECT MODEL-BASED PREDICTIVE TORQUE CONTROL FOR INDUCTION MACHINES

## A. Derivation of the Predictive Equations

It is necessary to note that there is a direct relationship between the mechanical angular velocity $\omega_m$ and the electrical angular velocity $\omega_l$ of the rotor with the number of pole pairs $p$, i.e. $\omega_l = p \omega_m$. The initial four subequations in (1) can be derived as follows:

$$ \tau_{\sigma} \frac{d\vec{i}_{s}^{S}}{dt} + \vec{i}_{s}^{S} = \frac{1}{r_{\sigma}} \vec{u}_{s}^{S} + \frac{k_{r}}{r_{\sigma} \tau_{r}} (1 - j\omega_{l} \tau_{r}) \vec{\Psi}_{r}^{S}, \quad (4a) $$

$$ \tau_r \frac{d\vec{\Psi}_r^S}{dt} + \vec{\Psi}_r^S = L_m \vec{i}_s^S + j\omega_l \tau_r \vec{\Psi}_r^S, \quad (4b) $$

where transient time constant $\tau_\sigma = \frac{\sigma L_s}{r_\sigma}$, total leakage factor $\sigma = 1 - \frac{L_m^2}{L_s L_r}$, effective resistance $r_\sigma = R_s + k_r^2 R_r$, rotor coupling factor $k_r = \frac{L_m}{L_r}$ and rotor time constant $\tau_r = \frac{L_r}{R_r}$.

If the equation (4a) is solved for $\frac{d\vec{i}_s^S}{dt}$, the result is

$$ \frac{d\vec{i}_s^S}{dt} = -\frac{1}{\tau_\sigma} \vec{i}_s^S + \frac{1}{r_\sigma \tau_\sigma} \left( \vec{u}_s^S + \frac{k_r}{\tau_r} \vec{\Psi}_r^S - j\omega_l k_r \vec{\Psi}_r^S \right). \quad (5) $$

If the first equation in (1) is solved for $\frac{d\vec{\Psi}_s^S}{dt}$, the result is

$$ \frac{d\vec{\Psi}_s^S}{dt} = \vec{u}_s^S - \vec{i}_s^S R_s. \quad (6) $$

In accordance with the third and fourth equations presented in (1), the rotor flux space vector $\vec{\Psi}_r^S$ can be expressed in terms of variables $\vec{\Psi}_s^S$ and $\vec{i}_s^S$:

$$ \vec{\Psi}_r^S = \frac{L_r}{L_r} \vec{\Psi}_s^S + \left( L_m - \frac{L_r L_s}{L_m} \right) \vec{i}_s^S. \quad (7) $$

Subsequently, the aforementioned equations will be discretized with the aid of the explicit Euler method:

$$ \frac{dx}{dt} = \frac{x(t+1) - x(t)}{\Delta t} = \frac{x(t+1) - x(t)}{T_s}. \quad (8) $$

If equation (8) is applied to equations (5) and (6), the prediction equation for the stator current can be obtained as follows:

$$ \vec{i}_s^S(t+1) = \left( \frac{\tau_\sigma - T_s}{\tau_\sigma} \right) \vec{i}_s^S(t) + \frac{T_s}{r_\sigma \tau_\sigma} \left( \vec{u}_s^S(t) + \frac{k_r}{\tau_r} \vec{\Psi}_r^S(t) - j\omega_l k_r \vec{\Psi}_r^S(t) \right) \quad (9) $$

and the prediction equation for the stator flux:

$$ \vec{\Psi}_s^S(t+1) = \vec{\Psi}_s^S(t) + T_s \left( \vec{u}_s^S(t) - \vec{i}_s^S(t) R_s \right). \quad (10) $$

Furthermore, the amplitude of stator flux can be expressed as:

$$ |\vec{\Psi}_s^S(t+1)| = \sqrt{\psi_{s\alpha}(t+1)^2 + \psi_{s\beta}(t+1)^2}. \quad (11) $$

The equation (7) can be discretized as follows:

$$ \vec{\Psi}_r^S(t) = \frac{L_r}{L_r} \vec{\Psi}_s^S(t) + \left( L_m - \frac{L_r L_s}{L_m} \right) \vec{i}_s^S(t). \quad (12) $$
The following generalized prediction equations at time $t + i$, where $i \in \mathbb{N}$, are derived separately for the stator current:

$$ \vec{i}_s^S(t + i) = \left( \frac{\tau_\sigma - T_s}{\tau_\sigma} \right) \vec{i}_s^S(t + i - 1) + \frac{T_s}{r_\sigma \tau_\sigma} \left( \vec{u}_s^S(t + i - 1) + \frac{k_r}{\tau_r} \vec{\Psi}_r^S(t + i - 1) - j\omega_l k_r \vec{\Psi}_r^S(t + i - 1) \right) \quad (13) $$

for the stator flux:

$$ \vec{\Psi}_s^S(t + i) = \vec{\Psi}_s^S(t + i - 1) + T_s \left( \vec{u}_s^S(t + i - 1) - \vec{i}_s^S(t + i - 1) R_s \right) \quad (14) $$

for the amplitude of stator flux:

$$ |\vec{\Psi}_s^S(t + i)| = \sqrt{\psi_{s\alpha}(t + i)^2 + \psi_{s\beta}(t + i)^2} \quad (15) $$

and for the rotor flux:

$$ \vec{\Psi}_r^S(t + i - 1) = \frac{L_r}{L_r} \vec{\Psi}_s^S(t + i - 1) + \left( L_m - \frac{L_r L_s}{L_m} \right) \vec{i}_s^S(t + i - 1) \quad (16) $$

The electromagnetic torque can be derived from the fifth equation in equation (1) in terms of the stator flux $\vec{\Psi}_s^S(t + i)$ and stator current space vector $\vec{i}_s^S(t + i)$:

$$ \underline{M}(t + i) = \frac{3}{2} p \vec{\Psi}_s^S(t + i) \times \vec{i}_s^S(t + i), \quad (17) $$

and its component form:

$$ M(t + i) = \frac{3}{2} p (\psi_{s\alpha}(t + i) i_{s\beta}(t + i) - \psi_{s\beta}(t + i) i_{s\alpha}(t + i)). \quad (18) $$

In order to obtain the $\alpha\beta$-components form of the stator current, it is necessary to employ the Clarke Transform:

$$ \begin{bmatrix} i_{s\alpha} \\ i_{s\beta} \end{bmatrix} = \frac{2}{3} \begin{bmatrix} 1 & -\frac{1}{2} & -\frac{1}{2} \\ 0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \end{bmatrix} \begin{bmatrix} i_{sa} \\ i_{sb} \\ i_{sc} \end{bmatrix}. \quad (19) $$

Provided that the sum of the three-phase currents is zero at all times (namely $i_{sa} + i_{sb} + i_{sc} = 0$), the equation (19) can be simplified to:

$$ \underline{\begin{bmatrix} i_{s\alpha} \\ i_{s\beta} \end{bmatrix}} = \underline{\begin{bmatrix} 1 & 0 \\ \frac{1}{\sqrt{3}} & \frac{2}{\sqrt{3}} \end{bmatrix}} \begin{bmatrix} i_{sa} \\ i_{sb} \end{bmatrix}. \quad (20) $$

The requisite equations have been developed to describe the dynamic behavior of a squirrel cage induction motor and a 2L-VSI acting as an actuator. Nevertheless, a cost function that can be optimized remains to be defined. This can be defined in a 2-Norm formula:

$$ J_2 = \|M^* - M(t + 2)\|_2 + \lambda \|\vec{\Psi}_s^S\| + \|\vec{\Psi}_s^S(t + 2)\|_2. \quad (21) $$

In the event that the 1-norm is employed, the cost function can be rewritten as follows:

$$ J_1 = \|M^* - M(t + 2)\|_1 + \lambda \|\vec{\Psi}_s^S\| + \|\vec{\Psi}_s^S(t + 2)\|_1, \quad (22) $$

where $M(t + 2)$ and $\vec{\Psi}_s^S(t + 2)$ are 2-step predicted values considering delay compensation [3], $\lambda$ is weighting factor.

## B. Block Diagram and Algorithm

In order to elucidate the fundamental principle of D-MPTC for induction machines, it is necessary to establish an interconnection between the various elements described in the preceding sections. As illustrated in Figure 1, the block diagram is composed of four main components:

* The mathematical model aims to provide a description of the dynamic behavior of the induction machine (IM) and the 2L-VSI;

* A constant reference preset for the amplitude of stator flux space vector $|\vec{\Psi}_s^S|^*$ and a superimposed speed control ($\omega_m$-Controller) is utilized to generate the torque reference value $M^*$;

* The optimization and evaluation component aims to determine the optimal actuating variable, which in this case is a logical triple of the switching signal $S_c S_b S_a$;

* The physical induction machine (IM) as a controlled system and a 2L-VSI as actuator, as well as the necessary sensors for measuring the phase currents $i_{sa}$, $i_{sb}$ etc.

Furthermore, the algorithm for implementing the D-MPTC of an induction machine is provided in Algorithm 1.

### Algorithm 1 Implementation of the D-MPTC for IM

1: Initialization: Parameter setting

2: Measure $i_{sa}$, $i_{sb}$

3: Calculate $\vec{i}_s^S(t)$ according to (20)

4: Measure $U_d$

5: Read $S_c S_b S_a$ and $\vec{u}_{min}^S$

6: Calculate $\vec{u}_s^S(t)$ according to (3)

7: Function Time delay compensation

8: Measure $\omega_m$

9: Generate $M^*$ with help of $\omega_m$-controller

10: Predict $\vec{i}_s^S(t + 1)$ according to (13)

11: Predict $\vec{\Psi}_s^S(t + 1)$ according to (14)

12: Predict $\vec{\Psi}_r^S(t + 1)$ according to (16)

13: Ende Function

14: Function Prediction and Optimization

15: For $i = 1$ to 8 do

16: Calculate $\vec{u}_s^S(t + 1)$ according to (3)

17: Predict $\vec{i}_s^S(t + 2)$ according to (13)

18: Predict $\vec{\Psi}_s^S(t + 2)$ according to (14)

19: Calculate $|\vec{\Psi}_s^S(t + 2)|$ according to (15), where $i = 2$

20: Calculate $M(t + 2)$ according to (18), where $i = 2$

21: Definition and optimization of the cost function (21)

22: Ende For

23: Ende Function

24: Judge and select one of $\vec{u}_0^S(000)$ and $\vec{u}_7^S(111)$

25: Search $S_c S_b S_a$ according to Table I

26: Apply $S_c S_b S_a$ and $\vec{u}_{min}^S$

27: Save $S_c S_b S_a$ and $\vec{u}_{min}^S$

28: Waiting for the next sampling cycle and repeat
<figure><img src="image_1.png" /><figcaption>Fig. 1: Block diagram of direct model-based predictive torque control (D-MPTC) for induction machines</figcaption></figure>

## IV. DIRECT MODEL-BASED PREDICTIVE TORQUE CONTROL WITH VARIABLE PARAMETERS FOR IM

This section will present an introduction to the fundamental concept of D-MPTC with variable parameters. The D-MPTC with variable parameters means not a single method, but rather a class of methods. The term “variable parameters” refers to the variable switching point and the variable weighting factor. Due to space limitations, the block diagrams and algorithms for the D-MPTC with variable parameters will not be included.

### A. D-MPTC with variable switching point (VSPD-MPTC)

The aforementioned D-MPTC method is characterized by the fact that the switching point of the manipulated variable occurs only at the beginning of a new sampling cycle. In order to optimize the control performance, this inherent characteristic should be modified; thus, the concept of a variable switching point was first introduced in [1], [2].

The fundamental principle of VSPD-MPTC is the calculation of the variable switching point. In practice, three cases can be distinguished:

* If only one controlled variable is considered, the resulting switching point is illustrated in Fig. 2 (a) or Fig. 2 (b);

* If two controlled variables are considered simultaneously, as illustrated in Fig. 2 (c);

* In the event that more than two variables are taken into consideration, the issue will become exceedingly complex and thus falls beyond the scope of this paper.

If we first assume that the gradient of the controlled variable y remains constant for a fixed manipulated variable and the

time of the variable switching point is $dT_s$. In fact, d needs to be calculated. Then, $m_1$ can be used for the gradient within the time interval $[0, dT_s]$ and $m_2$ for $(dT_s, T_s]$. The expression for the controlled variable over $[0, T_s]$ can be given by:

$$y(t) = \begin{cases} y_0 + m_1 t, & 0 \le t \le dT_s \\ y_0 + m_1 dT_s + m_2(t - dT_s), & dT_s < t \le T_s \end{cases} \quad (23)$$

There are two calculation methods for the first case illustrated in Fig. 2 (a). The first method uses the derivative of an integral function according to LANDESMANN [1]. The mean value of the squares of the control difference $(y(t) - w^*)$ over the interval $[0, T_s]$ is given by:

$$e_y = \frac{1}{T_s} \int_0^{T_s} (y(t) - w^*)^2 \, dt \\ = \frac{1}{T_s} \left( \int_0^{dT_s} (y_0 + m_1 t - w^*)^2 \, dt + \int_{dT_s}^{T_s} (y_0 + m_1 dT_s + m_2(t - dT_s) - w^*)^2 \, dt \right). \quad (24)$$

If the derivative of Eq. (24) is set to zero, the result is:

$$\frac{de_y}{dt} = 0. \quad (25)$$

The solutions to the above equation are:

$$d = 1, \quad d = \frac{2(w^* - y_0) - m_2 T_s}{(2m_1 - m_2)T_s}. \quad (26)$$
<figure><img src="image_2.png" /></figure>

<figure><img src="image_3.png" /></figure>

<figure><img src="image_4.png" /><figcaption>Fig. 2: Calculation of the variable switching point</figcaption></figure>
The second method uses simple algebraic calculations according to STOLZE [4]. By equating the variable y at time T_s with the reference variable w*:

$$y(T_s) = y_0 + m_1 dT_s + m_2(T_s - dT_s) = w^*. \quad (27)$$

The solution to the above equation is:

$$d = \frac{w^* - y_0 - m_2 T_s}{(m_1 - m_2)T_s}. \quad (28)$$

Fig. 2 (c) shows the second case in which two different controlled variables are considered simultaneously. In this case, Eq. (23) can be rewritten as follows:

$$\underline{y}(t) = \begin{cases} \underline{y}_0 + \underline{m}_1 t, & 0 \le t \le dT_s \\ \underline{y}_0 + \underline{m}_1 dT_s + \underline{m}_2(t - dT_s), & dT_s < t \le T_s \end{cases} \quad (29)$$

where

$$\underline{y}(t) = \begin{pmatrix} y_1(t) \\ y_2(t) \end{pmatrix}, \underline{y}_0 = \begin{pmatrix} y_{10} \\ y_{20} \end{pmatrix}, \underline{m}_1 = \begin{pmatrix} m_{11} \\ m_{21} \end{pmatrix}, \underline{m}_2 = \begin{pmatrix} m_{12} \\ m_{22} \end{pmatrix}.$$

Using the second method as in the first case results in two switching points t<sub>d0</sub> (right) or t<sub>d0</sub> (left) for the two variables y<sub>1</sub> and y<sub>2</sub> respectively. This means a contradiction. Therefore, the first method is to be applied as in the first case, i. e. using the derivative of an integral function over two control variables. The mean value of the squares of the control difference (y(t) - w*) over [0, T<sub>s</sub>] is

$$\begin{aligned} e_{\underline{y}} &= \frac{1}{T_s} \int_0^{T_s} (\underline{y}(t) - \underline{w}^*)^2 dt \\ &= \frac{1}{T_s} \left( \int_0^{dT_s} \left( \underline{y}_0 + \underline{m}_1 t - \underline{w}^* \right)^2 dt + \int_{dT_s}^{T_s} \left( \underline{y}_0 + \underline{m}_1 dT_s + \underline{m}_2(t - dT_s) - \underline{w}^* \right)^2 dt \right), \end{aligned} \quad (30)$$

where w* = (w*<sub>1</sub> w*<sub>2</sub>).

If the derivative of Eq. (30) is set to zero, the result is:

$$\frac{de_{\underline{y}}}{dt} = 0. \quad (31)$$

The solutions to the above equation are:

$$d = \frac{A(2w_1^* - 2y_{10} - m_{12}T_s) + B(2w_2^* - 2y_{20} - m_{22}T_s)}{A(2m_{11} - m_{12}) + B(2m_{21} - m_{22})}. \quad (32)$$

where A = m<sub>11</sub> - m<sub>12</sub>, B = m<sub>21</sub> - m<sub>22</sub>.

In the VSPD-MPTC for IM, the two controlled variables are the torque M and the stator flux space vector $\vec{\Psi}_s^S$. Therefore, the equation for calculating the variable switching point can be derived from Eqn. (26) or (32). If only the torque is considered, the result is

$$d = 1, \quad d = \frac{2(M^* - M(t)) - m_2 T_s}{(2m_1 - m_2)T_s}. \quad (33)$$

If only the stator flux space vector is considered, the result is

$$d = 1, \quad d = \frac{2(|\vec{\Psi}_s^S|^* - \vec{\Psi}_s^S(t)) - m_2 T_s}{(2m_1 - m_2)T_s}. \quad (34)$$

If the two controlled variables are considered simultaneously, the result is d = 1 and

$$d = \frac{A(2M^* - 2M(t) - m_{12}T_s) + B(2|\vec{\Psi}_s^S|^* - 2\vec{\Psi}_s^S(t) - m_{22}T_s)}{A(2m_{11} - m_{12}) + B(2m_{21} - m_{22})}. \quad (35)$$

It should be noted that the calculated values may not fall within the permissible interval [0, 1]. In such cases, d is set to zero.

## B. D-MPTC with variable weighting factor (SD-MPTC or PD-MPTC)

It should be noted that the variable weight factor presented in this paper refers to a specific situation, namely the elimination of the weight factor. How to avoid the use of weighting factors? The basic idea is to decompose the cost function (21) into two sub-functions (sub-function for the torque and sub-function for the stator flux):

$$J_{M2} = \|M^* - M(t + 2)\|_2, \quad (36a)$$

$$J_{F2} = \| |\vec{\Psi}_s^S|^* - |\vec{\Psi}_s^S(t + 2)| \|_2. \quad (36b)$$

The sequential- or parallel D-MPTC method (SD-MPTC or PD-MPTC) depends on how the two sub-functions are connected. Two variations of sequential connection and a parallel connection are shown in Fig. 3.

Based on the idea of variable weighting factor and the traditional D-MPTC method for IM, we can obtain two different methods: SD-MPTC and PD-MPTC. In general, this variable weighting factor concept can also be applied to the D-MPCC method.

## C. PD-MPTC with variable switching point (VSP2D-MPTC)

As mentioned above, variable parameters refer to two situations: the variable switching point and the variable weighting factor (more precisely, a cost function without weighting factors). It would be of interest to examine whether these two concepts can be combined in some way. Should such a combination prove feasible, it would be beneficial to ascertain whether enhanced control performance could be achieved through this combination.

The parallel direct model-based predictive torque control with variable switching point (VSP2D-MPTC) for an asynchronous machine was developed in [10]. Subsequently, the parallel direct model-based predictive current control with variable switching point (VSP2D-MPCC) for an asynchronous machine was proposed in [11]. By combining the concepts of variable switching point and parallel cost function design, the variable switching point parallel predictive torque control (VSP2D-MPTC) method was proposed and proved to solve the first two drawbacks of D-MPTC.
<figure><img src="image_5.png" /><figcaption>(a) Sequential connection: priority for the torque sub-function</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>(b) Sequential connection: priority for the stator flux sub-function</figcaption></figure>

<figure><img src="image_7.png" /><figcaption>(c) Parallel connection</figcaption></figure>

<caption>Fig. 3: Connection of the two sub-functions</caption>

## V. EXPERIMENTAL RESULTS

Fig. 4 shows the experimental setup, which consists of two 2.2 kW squirrel-cage induction motors. One motor, driven by a Danfoss VLT FC-302 3 kW inverter, is used as load motor. The working motor is driven by a modified SERVOSTAR620 14 kW inverter which provides full control of the IGBT gates. The real-time computer system of this test bench is a 1.4 GHz Pentium M CPU. The parameters of the working motor are given in Tab. II.

Five D-MPTC methods are evaluated in this study: D-MPTC, VSPD-MPTC, PD-MPTC, SD-MPTC and VSP2D-MPTC. To ensure a comprehensive comparison, two test scenarios were designed: the mechanical speed is increased from 250 rpm to 2750 rpm in steps of 250 rpm without load; the load torque is increased from 0 Nm to 7.5 Nm in steps of 0.5 Nm under 1000 rpm and 2000 rpm

The comparison results for average switching frequency and total harmonic distortion (THD) are shown in Fig. 5 and Fig. 6. Due to space limitations, a more detailed analysis cannot be provided.

<table><caption>TABLE II: Parameters for the working machine</caption><thead><tr><td>Description</td><td>Parameter</td><td>Value</td></tr></thead><tbody><tr><td>Sampling frequency</td><td>f<sub>s</sub></td><td>16 kHz</td></tr><tr><td>DC-link voltage</td><td>U<sub>d</sub></td><td>582 V</td></tr><tr><td>Stator resistance</td><td>R<sub>s</sub></td><td>2.68 Ω</td></tr><tr><td>Rotor resistance</td><td>R<sub>r</sub></td><td>2.13 Ω</td></tr><tr><td>Mutual inductance</td><td>L<sub>m</sub></td><td>275.1 mH</td></tr><tr><td>Stator self-inductance</td><td>L<sub>s</sub></td><td>283.4 mH</td></tr><tr><td>Rotor self-inductance</td><td>L<sub>r</sub></td><td>283.4 mH</td></tr><tr><td>Pole pairs</td><td>p</td><td>1.0</td></tr><tr><td>Nominal speed</td><td>ω<sub>nom</sub></td><td>2772.0 rpm</td></tr><tr><td>Nominal torque</td><td>M<sub>nom</sub></td><td>7.5 Nm</td></tr><tr><td>Inertia</td><td>J</td><td>0.005 kg·m<sup>2</sup></td></tr></tbody></table>

<figure><img src="image_8.png" /><figcaption>Fig. 4: Two-level inverter test bench</figcaption></figure>

## VI. CONCLUSION

Compared to traditional D-MPTC, PD-MPTC and SP-MPTC offer no significant performance improvements, aside from removing the need for weighting factor design. VSPD-MPTC provides enhanced performance under specific conditions but at the cost of increased switching frequency. In contrast, VSP2D-MPTC, which combines variable switching point with a parallel cost function, has proven to be an effective solution.

## REFERENCES

[1] P. Landsmann, P. Stolze and R. Kennel, "Optimal switching time calculation in Predictive Torque Control," 8th International Conference on Power Electronics - ECCE Asia, Jeju, Korea (South), 2011, pp. 923-930, doi: 10.1109/ICPE.2011.5944645.

[2] P. Karamanakos, P. Stolze, R. M. Kennel, S. Manias and H. du Toit Mouton, "Variable Switching Point Predictive Torque Control of Induction Machines," in IEEE Journal of Emerging and Selected Topics in Power Electronics, vol. 2, no. 2, pp. 285-295, June 2014, doi: 10.1109/JESTPE.2013.2296794.

[3] P. Cortes, J. Rodriguez, C. Silva and A. Flores, "Delay Compensation in Model Predictive Current Control of a Three-Phase Inverter," in IEEE Transactions on Industrial Electronics, vol. 59, no. 2, pp. 1323-1325, Feb. 2012, doi: 10.1109/TIE.2011.2157284.

[4] P.J. Stolze, "Advanced finite-set model predictive control for power electronics and electrical drives," Ph.D. dissertation, Technische Universität München, 2014.

[5] M. Norambuena, J. Rodriguez, Z. Zhang, F. Wang, C. Garcia and R. Kennel, "A Very Simple Strategy for High-Quality Performance of AC Machines Using Model Predictive Control," in IEEE Transactions on Power Electronics, vol. 34, no. 1, pp. 794-800, Jan. 2019, doi: 10.1109/TPEL.2018.2812833.
<figure><img src="image_9.png" /></figure>

<figure><img src="image_10.png" /></figure>

<figure><img src="image_11.png" /><figcaption>Fig. 5: Total harmonic distortion (THD) comparison: (a) with the change of mechanical speed from 250 rpm to 2750 rpm without load, (b) with the change of load torque from 0 Nm to 7.5 Nm under 1000 rpm, (c) with the change of load torque from 0 Nm to 7.5 Nm under 2000 rpm.</figcaption></figure>

<figure><img src="image_12.png" /></figure>

<figure><img src="image_13.png" /></figure>

<figure><img src="image_14.png" /><figcaption>Fig. 6: Average switching frequency comparison: (a) with the change of mechanical speed from 250 rpm to 2750 rpm without load, (b) with the change of load torque from 0 Nm to 7.5 Nm under 1000 rpm, (c) with the change of load torque from 0 Nm to 7.5 Nm under 2000 rpm.</figcaption></figure>

<footnote>[6] Y. Zhang, B. Zhang, H. Yang, M. Norambuena and J. Rodriguez, "Generalized Sequential Model Predictive Control of IM Drives With Field-Weakening Ability," in IEEE Transactions on Power Electronics, vol. 34, no. 9, pp. 8944-8955, Sept. 2019, doi: 10.1109/TPEL.2018.2886206.</footnote>

<footnote>[7] F. Wang, H. Xie, Q. Chen, S. A. Davari, J. Rodríguez and R. Kennel, "Parallel Predictive Torque Control for Induction Machines Without Weighting Factors," in IEEE Transactions on Power Electronics, vol. 35, no. 2, pp. 1779-1788, Feb. 2020, doi: 10.1109/TPEL.2019.2922312.</footnote>

<footnote>[8] F. Wang, K. Zuo, A. Xia, Z. Zhang, Y. Zhang and J. Rodriguez, "An Optimized Predictive Current Control for Induction Machines with A Parallel Cost Function," 2019 IEEE International Symposium on Predictive Control of Electrical Drives and Power Electronics (PRECEDE), Quanzhou, China, 2019, pp. 1-6, doi: 10.1109/PRECEDE.2019.8753226.</footnote>

<footnote>[9] P. Szczupak, "Rapid prototyping system for control of inverters and electrical drives," Ph.D. dissertation, Bergische Universität Wuppertal, Germany, 2008.</footnote>

<footnote>[10] Q. Chen, H. Xie and R. Kennel, "Variable Switching Point Parallel Predictive Torque Control (VSP3TC) for Induction Motor," 2020 IEEE International Conference on Industrial Technology (ICIT), Buenos Aires, Argentina, 2020, pp. 1112-1117, doi: 10.1109/ICIT45562.2020.9067317.</footnote>

<footnote>[11] Q. Chen and R. Kennel, "Variable Switching Point Parallel Predictive Current Control (VSP3CC) for Induction Motor," 2020 22nd European Conference on Power Electronics and Applications (EPE'20 ECCE Europe), Lyon, France, 2020, pp. 1-9, doi: 10.23919/EPE20ECCEEurope43536.2020.9215861.</footnote>