1 Introduction

The two most well-known control techniques, field-oriented control (FOC) and direct torque control (DTC), were the most widely adopted control approaches for obtaining high-dynamic-performance IM drives [1,2,3]. FOC has demonstrated its ability to achieve control objectives with low current and torque ripples. On the other hand, the existence of multiple PI controllers and the need to set their gains have increased the complexity of designing and implementing the control. Added to this is a high switching frequency which causes inverter losses. Subsequently, the DTC was developed to overcome some shortcomings of the FOC, offering a simpler control structure, a quick dynamic response and robustness to the parameter variation. However, the classical LUT-based DTC has some drawbacks among which mainly are the high torque ripples and the absence of constant switching frequency [4, 5].

An effective control approach has recently been proposed, called model predictive control (MPC), to overcome some shortcomings in classical control techniques. The main advantages of the MPC are its ability to consider different control objectives, the simple management of the model nonlinearities and control limits, as well as the easy implementation [6,7,8].

Recent works have adopted the MPC approach to avoid the shortcomings of classical LUT-based DTC of IM drives [9,10,11,12]. The proposed MP DTC approaches introduced in these works contributed in improving the dynamic performance of the drive, but the ripple content was still present, as a significant feature of the controlled variables. There are various reasons why the ripple phenomenon is present in MP DTC. The main one can be found considering the principle operation of the MP DTC itself. It chooses a voltage vector following the minimization of a cost function and applies this vector necessarily for the entire subsequent sampling period, even if, in some circumstances, this is deleterious as it can happen that the controlled quantity (i.e. the torque) is thus forced out of acceptable limits before the end of the cycle.

To this reason, others are added, among which one can be the noise in the measured signals (i.e. the stator currents) that are used by the controller.

Various attempts have been made to reduce the unwanted ripples, as for instance, dividing the sampling interval into two sections and applying two different voltage vectors in each interval [13,14,15]. This has effectively contributed in limiting the ripples. But, on the other hand, the complexity and the computation burden of the proposed control are increased and this can affect the dynamic response of the digital control, which is expected to be very fast in several industrial applications.

Moreover, most of the proposed MP DTC control approaches in different topologies of IM drives use the voltage model of the machine or the low-pass filters network for estimating the stator flux [16,17,18]. When the flux estimate applies pure integrators to stator voltages (after compensation of resistive voltage drop), the quality of the estimated signals is negatively affected by the dc drift and the missing of the initial values. Contrarily, using the low-pass filters requires a precise selection for the cut-off frequency \((\omega_{\text{c}} )\) as it is a compromise between the minimum operating frequency of the drive and the maximum amplitude allowed for dc drift.

Another problem related to the MP DTC control approach is the computation time required for the DSP microcontrollers, which depends on the formulation of the cost function. For example, the cost functions that have been used by different MP DTCs [19,20,21] used a factor by combining controlled variables (such as torque and flux) with different dynamics and units; this factor is called weighting factor (wf). The value of the wf has a crucial implication in balancing the weight and importance of each controlled variable with respect to the other, and it also has a decisive role in containing the unavoidable ripples if it is properly selected. Because of this, the value of wf must be correctly chosen, which requires an online optimization procedure for selecting the optimum value of wf, which results in a further increase of the computational burdens of the microcontroller (and even exceed the capabilities of microcontrollers).

Recent studies have considered different cost function formulas in which there are no need to use a weighting value (wf) [22,23,24,25]. The study in [22] depended on deriving a reference flux vector through analysing the relationship between the motor’s torque and the synchronous flux angle. This resulted in a cost function free of wf, as only the flux components are used. However, the main deficiency of this technique is that it depended on calculating the reference flux angle using the inverse trigonometric function which fails in estimating the angle under specific operating conditions. This is in addition to the need for estimating the rotor flux angle as well. An optimal switching mechanism was used in [22] to make the voltage selection more precise, but this resulted in increasing the computation time. The study in [23] used a new predictive form entitled as predictive voltage control, in which the stator voltage components are set as the cost function’s terms. In this study, the dq reference voltage components were calculated using the deadbeat principle. Even though the simplicity of the system was enhanced, the sensitivity to the parameters mismatch was increased.

In [24, 25], the model predictive current control (MP CC) was presented as a solution to limit the use of a weighting value. In [24], two prediction horizons were considered to predict the stator currents, which resulted in limiting the accompanied noise. But on the other hand, the calculation time was increased which amplified the inverter commutations. In [25], a hysteresis-based predictive current controller was adopted, in which only one prediction horizon was applied. The predicted currents were then used to estimate the current error model which was then used by the cost function to select the optimal voltages.

The problem of the MP CC is the prediction accuracy, as the prediction process starts with the sampled measured currents. If the sampling and measuring processes are not well performed, this will result in increasing the noise level, which is then reflected on the predicted values and thus worsening the voltage selection process which finally results in high ripples content. Improving the current prediction requires the utilization of current estimating algorithms which as a sequence increases the system complexity.

In [26], a predictive controller was proposed in which the cost function consisted of the torque and load angle errors, and thus, the flux term was eliminated. This formula depended on deriving the optimal load angle which achieves the minimum current for a given load and thus reduces the losses and enhances the efficiency. The problem of this technique was the use of an inverse trigonometric function to evaluate the load angle. This resulted in the presence of discontinuities in the estimated values under certain operating conditions.

Another aspect about IM drives is that they exhibit higher efficiency when operating at rated load [27], but under the light load operation, efficiency worsens, because of the persistency of the iron losses and part of the stator joule losses [28, 29]. This aspect can affect negatively the machine service life, and consequently, a criterion for minimizing the losses especially at light load must be adopted.

The current paper presents an effective MP FC approach for the IM drive through which it is possible to mitigate some of the MP DTC drawbacks, in particular by reducing the torque/current ripple and reducing the computational burdens of the microcontrollers. The latter results from the cost function used which does not have a weighting factor (wf) since it consists of two parts of homogeneous units and similar dynamics (flux components). The expected time to perform the calculation should be less than the time required for cost function with non-homogeneous terms (torque and flux).

Furthermore, the switching losses, for given load voltage and current, depend on the switching frequency. The switching frequency is decided by the accepted ripples in the controlled quantity (of the cost function to be minimized). A low switching frequency, for a given acceptable ripple, is obtained when the dynamics (the rate of change or derivative) of the controlled quantity is low. This is precisely the case of the MP FC strategy. The cost function is based on flux error only, which exhibits a rate of change significantly lower than that of the torque. If the torque error was included into the cost function (like in the MP DTC), even if moderated by a weighting factor wf, the switching frequency should be higher in order to control the fast dynamics of the torque.

In the proposed MP FC strategy, the flux references are obtained with the help of a PI torque controller which provides the reference of the angular slip frequency (\(\omega_{\text{sl}}^{*}\)). It is worth to mention that the PI algorithm increments the computation time. However, the main factor which affects the computational time is the computation of the cost function terms for each of the eight possible sectors of the (αβ) voltage plane. This means that the contribution of PI algorithm has not a noticeable effect on the total computational time taken by the predictive controller in the control cycle execution. The PI torque controller is part of the control loops with a dynamic significantly lower than that of the cost function control (that determines the switching frequency).

Furthermore, an effective flux estimator is proposed to enhance the flux control and reduce the flux fluctuation. Moreover, a loss minimization criterion (LMC) is proposed to enhance the drive efficiency, especially under light load operation, extending the lifetime of the IM.

The drive performance is validated by performing extensive simulation and experimental tests, through which the feasibility of the MP FC approach is proved.

The contributions of the paper can be summarized as follows:

  • The paper presents a novel predictive flux control approach for the IM drive.

  • The proposed MP FC can be used as an alternative choice to the well-known MP DTC approach with merits of reduced torque, flux and current oscillations.

  • The design and analysis of the proposed MP FC approach are presented in a simple way, which clarifies the base operation of the proposed control technique.

  • An effective flux observer is presented for enhancing the flux estimation, which contributes in restricting the fluctuations and thus improving the flux prediction procedure.

  • A loss minimization criterion is presented to minimize the iron and copper losses, especially at light loading, which improves the IM efficiency.

  • Extensive simulation and experimental tests are carried out in order to test the dynamics of the IM under the proposed MP FC and the MP DTC approaches. The test results approve the validity of the proposed MP FC to be used as a better alternate to the MP DTC.

  • The proposed MP FC can be adapted to be used by different types of alternating machines after considering the operation principle of each machine.

The article begins with the introduction of the mathematical model of IM, taking iron losses into account. Then, the proposed stator flux estimator is explained. Subsequently, the proposed MP FC approach is presented and explained in detail, and then, the proposed loss minimization criterion (LCM) is presented and systematically analysed. Finally, the complete system configuration and test results are introduced and discussed.

2 Mathematical model of IM taking iron losses into account

Figure 1 illustrates the IM model in the stationary (αβ) reference frame, denoted by the apex s for the stator and rotor quantities. This frame does not require any transformation of stator quantities (denoted by index s), while rotor quantities (index rs) are simply referred to the stator. Even if all of them remain sinusoidal at steady state operation, this model makes simpler taking to account iron losses and formulating the proposed model predictive flux control.

Fig. 1
figure 1

Model of IM in stationary (αβ) reference frame taking iron losses into account

The equations of the stator and rotor voltage balance in Fig. 1 are given in discrete forms as in (1) and (2), where k is the sampling time index:

$$\left( {\frac{{{\text{d}}\overline{\psi }_{\text{s}}^{s} }}{{{\text{d}}t}}} \right)_{k} = \overline{u}_{{{\text{s}},k}}^{s} - R_{\text{s}} \overline{i}_{{{\text{s}},k}}^{s}$$
(1)
$$\left( {\frac{{{\text{d}}\overline{\psi }_{\text{rs}}^{s} }}{{{\text{d}}t}}} \right)_{k} = - R_{\text{r}}^{'} \overline{i}_{{{\text{rs}},k}}^{s} + j\omega_{{{\text{me}},k}} \overline{\psi }_{{{\text{rs}},k}}^{s}$$
(2)

where ωme,k = pωm,k, with p = pole pairs, and ωm,k is the shaft speed. Furthermore, \(R_{\text{s}}\) and \(L_{{\sigma {\text{s}}}}\) are the stator resistance and leakage inductance, respectively; \(R_{\text{r}}^{'}\), \(L_{{\sigma {\text{r}}}}^{'}\) are the rotor resistance and leakage inductance, respectively, both referred to the stator; and \(R_{\text{fe}}\), \(L_{\text{M}}\) are the equivalent resistance representing the iron losses, and the magnetizing inductance, respectively. Motor data are reported in Table 6 in “Appendix”.

The relationships between the fluxes and currents are assumed linear (no saturation) and are given as follows:

$$\overline{\psi }_{{{\text{s}},k}}^{s} = L_{{\sigma {\text{s}}}} \overline{i}_{{{\text{s}},k}}^{s} + L_{\text{M}} \overline{i}_{{{\text{m}},k}}^{s} = L_{{\sigma {\text{s}}}} \overline{i}_{{{\text{s}},k}}^{s} + \overline{\psi }_{{{\text{m,}}k}}^{s}$$
(3)
$$\overline{\psi }_{{{\text{rs}},k}}^{s} = L_{{\sigma {\text{r}}}}^{'} \overline{i}_{{{\text{rs}},k}}^{s} + L_{\text{M}} \overline{i}_{{{\text{m}},k}}^{s} = L_{{\sigma {\text{r}}}}^{'} \overline{i}_{{{\text{rs}},k}}^{s} + \overline{\psi }_{{{\text{m}},k}}^{s}$$
(4)

where \(\overline{i}_{{{\text{m}},k}}^{s}\) and \(\overline{\psi }_{{{\text{m,}}k}}^{s}\) are the magnetizing current and magnetizing air-gap flux, respectively. In addition,

$$R_{\text{fe}} \overline{i}_{{{\text{fe}},k}}^{s} = L_{\text{M}} \frac{{{\text{d}}\overline{i}_{{{\text{m}},k}}^{s} }}{{{\text{d}}t}}$$
(5)
$$\overline{i}_{{{\text{m}},k}}^{s} + \overline{i}_{{{\text{fe}},k}}^{s} = \overline{i}_{{{\text{s}},k}}^{s} + \overline{i}_{{{\text{rs}},k}}^{s}.$$
(6)

After some manipulation of the equations, Eq. (2) can be substituted by

$$\left( {\frac{{{\text{d}}\overline{i}_{\text{s}}^{s} }}{{{\text{d}}t}}} \right)_{k} = K\left[ {\left( {\frac{{L_{{\sigma {\text{r}}}}^{'} + L_{\text{M}} }}{{L_{\text{M}} }}} \right)\overline{u}_{{{\text{s}},k}}^{s} - R\overline{i}_{{{\text{s}},k}}^{s} + R_{\text{r}}^{'} \left( {\overline{i}_{{{\text{m}},k}}^{s} + \overline{i}_{{{\text{fe}},k}}^{s} } \right) - j\omega_{{{\text{me}},k}} \overline{\psi }_{{{\text{rs}},k}}^{s} } \right]$$
(7)

where

$$K = \frac{{L_{\text{M}} }}{{L_{\text{M}} L_{{\sigma {\text{r}}}}^{'} + L_{{\sigma {\text{s}}}} \left( {L_{{\sigma {\text{r}}}}^{'} + L_{\text{M}} } \right)}}$$

and

$$R = R_{\text{s}} \left( {\frac{{L_{{\sigma {\text{r}}}}^{'} + L_{\text{M}} }}{{L_{\text{M}} }}} \right) + R_{\text{r}}^{'} .$$

Equations (1) and (7) describe well the dynamic performance of the induction motor.

The developed torque is defined by the following relation:

$$m_{k} = 1.5\,p{\text{Im}}\left( {\check{\psi}_{{{\text{s}},k}}^{s} \overline{i}_{s,k}^{s} } \right) = 1.5\,p{\text{Im}}\left( {\overline{\psi }_{{{\text{m}},k}}^{s} \check{i}_{{{\text{rs}},k}}^{s} } \right).$$
(8)

Accent ˇ is for complex conjugate. From (8), the torque derivative can be expressed by

$$\left( {\frac{{{\text{d}}m}}{{{\text{d}}t}}} \right)_{k} = 1.5\,p{\text{Im}}\left( {\frac{{{\text{d}}\check{\psi }_{{{\text{s}},k}}^{s} }}{{{\text{d}}t}}\overline{i}_{{{\text{s}},k}}^{s} + \check{\psi }_{{{\text{s}},k}}^{s} \frac{{{\text{d}}\overline{i}_{{{\text{s}},k}}^{s} }}{{{\text{d}}t}}} \right).$$
(9)

The current derivative in (9) is defined by (7), while the stator flux derivative can be expressed by (1), which allows relating the electromechanical dynamics to the applied supply stator voltage.

3 Stator flux estimation

Stator flux is not measurable and must be estimated, for example, by integrating (1). Commonly, pure integration is replaced by a low-pass filter (LPF), as shown in Fig. 2, in order to mitigate the effects of the integrator drift and the missing of the initial values. The higher the cut-off frequency (\(\omega_{\text{c}}\)), the stronger the mitigation action. However, cut-off frequency (\(\omega_{\text{c}}\)) is the minimum operating frequency of the estimator (and then of the drive). Therefore, the filter has to be designed appropriately to balance the estimation quality and low-speed operation requests.

Fig. 2
figure 2

Low-pass filter

As an attempt to avoid these shortages, the modified flux estimator shown in Fig. 3 is proposed. It incorporates an adaptive strategy for the compensation of flux deviations due to drift and initial conditions. The adaptation procedure is based on the principle that the estimated flux components (\(\widehat{\psi }_{{\alpha {\text{s}},k}} \,\& \, \widehat{\psi }_{{\beta {\text{s}},k}}\)) must be in quadrature to their corresponding back emfs (\(E_{{\alpha {\text{s}},k}} \,\& \, E_{{\beta {\text{s}},k}}\)). The adaption mechanism will be illustrated later. The figure shows that it uses a proportional–integrator (PI) regulator to adjust the estimated flux components by an additional component of amplitude given by:

$$\psi_{{{\text{s}},k}}^{\text{comp}} = \left( {k_{\text{p}} + \frac{{k_{i} }}{s}} \right)*\frac{{\widehat{\psi }_{{\alpha {\text{s}},k}} E_{{\alpha {\text{s}},k}} + \widehat{\psi }_{{\beta {\text{s}},k}} E_{{\beta {\text{s}},k}} }}{{\left| {\widehat{\overline{\psi }}_{{{\text{s}},k}} } \right|}}.$$
(10)

The principle of operation of the estimator can be described using the space vector representation of Fig. 4. From this figure, it is observed that the flux vector \(\widehat{\overline{\psi }}_{{{\text{s}},k}}\) is composed of two terms: the feed-forward term \(\overline{\psi }_{{{\text{s}},k}}^{\text{LPF}}\), which is the output of the LPF, and the feedback term \(\overline{\psi }_{{{\text{s}},k}}^{\text{FB}}\).

Fig. 3
figure 3

Proposed stator flux estimator

Fig. 4
figure 4

Space vector diagram of fluxes and back emfs

The correct phase displacement between the estimated stator flux and the back emf should be an angle ρ = 90°. However, in case of presence of a dc drift or a wrong initial value in the integrator (also if replaced by LPF), the angle ρ will not be longer 90° and a phase shift γ appears as shown in Fig. 4. It causes an error in the estimated signal which can be defined by the following expression,

$$\overline{e}_{{{\text{f}},k}} = \frac{{\widehat{\overline{\psi }}_{{{\text{s}},k}} \cdot \overline{E}_{{{\text{s}},k}} }}{{\left| {\widehat{\overline{\psi }}_{{{\text{s}},k}} } \right|}} = \frac{{\widehat{\psi }_{{\alpha {\text{s}},k}} E_{{\alpha {\text{s}},k}} + \widehat{\psi }_{{\beta {\text{s}},k}} E_{{\beta {\text{s}},k}} }}{{\left| {\widehat{\overline{\psi }}_{{{\text{s}},k}} } \right|}} = \left| {\overline{E}_{{{\text{s}},k}} } \right|\cos \widehat{\rho }.$$
(11)

From (11), a given value of \(\widehat{\rho } = \rho + \gamma\) larger than 90° (which can result from an excessive value of the feedback component, from \(\overline{\psi }_{{{\text{s}},k}}^{\text{FB}}\) to \(\overline{\psi }_{{{\text{s}},k}}^{{{\text{FB}}^{ '} }}\), as shown in Fig. 4) will result in a negative error (11) and thus the output of the PI controller reduces together with the value of the feedback term \(\overline{\psi }_{{{\text{s}},k}}^{\text{FB}}\). The decrease of the feedback vector reduces also the angle \(\widehat{\rho }\) which moves to the correct value of 90°.

Similarly, when the angle \(\widehat{\rho }\) is lower than 90°, the PI output increases due to a positive error (11). As a result, the feedback vector will increase causing an increase in the angle \(\widehat{\rho }\) which forces the estimated flux vector position towards 90° again. Thus, the proposed adaptation scheme can effectively control the orthogonality of flux and back emf vectors, allowing accurate flux estimation, free from effects of dc drift and wrong initial conditions.

4 Model predictive flux control approach

The MP FC approach is designed to control the \(\psi_{{\alpha {\text{s}}}}^{s}\)\(\psi_{{\beta {\text{s}}}}^{s}\) components of the stator flux in order to track their references \(\psi_{{\alpha {\text{s}}}}^{*}\)\(\psi_{{\beta {\text{s}}}}^{*}\). The latter are derived according to a procedure described in the next section. Therefore, the cost function used by the controller does not include any part related to the torque as in the MP DTC approach, and consequently, the cost function will not use a weight factor for managing non-homogeneous variables, characterized by different dynamics. This makes the control faster, reducing the computation time, and reduces the commutation losses as well, as the flux is a slow dynamics quantity, controllable with a low switching frequency.

For developing the MP FC, let us define a complex vector \(\overline{\delta }_{k}\), sampled at instant kTs (Ts is the sampling period) which combines the two components of stator flux normalized to the rated flux value as follows:

$$\overline{\delta }_{k} = \frac{{\psi_{{\alpha {\text{s}},k}}^{s} }}{{\psi_{{{\text{s}},n}} }} + j\frac{{\psi_{{\beta {\text{s}},k}}^{s} }}{{\psi_{{{\text{s}},n}} }}$$
(12)

where \(\psi_{{{\text{s}},n}}\) is the rated flux value. It follows that, for a given reference vector \(\delta_{k}^{*} = \frac{{\psi_{{\alpha {\text{s}},k}}^{*} }}{{\psi_{{{\text{s}},n}} }} + j\frac{{\psi_{{\beta {\text{s}},k}}^{*} }}{{\psi_{{{\text{s}},n}} }}\), the error vector can be defined by

$$\overline{e}_{k} = \overbrace {{\frac{{\psi_{{\alpha {\text{s}},k}}^{*} - \psi_{{\alpha {\text{s}},k}}^{s} }}{{\psi_{{{\text{s}},n}} }}}}^{{e_{\alpha ,k} }} + j\overbrace {{\frac{{\psi_{{\beta {\text{s}},k}}^{*} - \psi_{{\beta {\text{s}},k}}^{s} }}{{\psi_{{{\text{s}},n}} }}}}^{{e_{\beta ,k} }}.$$
(13)

The MP flux control objective is the minimization of the error amplitude

$$\left| {\overline{e}_{k} } \right| = \sqrt {\left( {e_{\alpha ,k} } \right)^{2} + \left( {e_{\beta ,k} } \right)^{2} }$$
(14)

i.e. reducing it, as much as possible, to zero.

To perform its action, the control starts comparing the predicted values of \(\psi_{{\alpha {\text{s}},k + 1}}^{s}\) and \(\psi_{{\beta {\text{s}},k + 1}}^{s}\) with their respective references and computing the predicted error at instant (k + 1)Ts by (14). In the case that the predicted error exceeds a given limit (threshold), the control checks which voltage vector, applied in (k + 1)Ts, is able to bring back the error amplitude towards zero (convergence condition).

In order to perform the voltage selection, the derivative of the error at instant (k + 1)Ts is given by

$$\frac{{{\text{d}}\left| {\overline{e}_{k + 1} } \right|}}{{{\text{d}}t}} = \frac{{{\text{d}}\sqrt {\left( {e_{\alpha ,k + 1} } \right)^{2} + \left( {e_{\beta ,k + 1} } \right)^{2} } }}{{{\text{d}}t}} = \frac{{ - e_{\alpha ,k + 1} \frac{{{\text{d}}\psi_{\alpha s,k + 1}^{s} }}{{{\text{d}}t}} - e_{\beta ,k + 1} \frac{{{\text{d}}\psi_{\beta s,k + 1}^{s} }}{{{\text{d}}t}}}}{{\left| {\overline{e}_{k + 1} } \right|}}$$
(15)

Equation (15) is evaluated for each of the eight voltage vectors delivered by the inverter, searching which of them satisfies better the convergence condition expressed by the inequality

$$\tilde{\varLambda }_{k + 1}^{i} = \left[ { - \left( {\psi_{{\alpha {\text{s}},k + 1}}^{*} - \psi_{{\alpha {\text{s}},k + 1}} } \right)\frac{{{\text{d}}\psi_{{\alpha {\text{s}},k + 1}}^{s} }}{{{\text{d}}t}} - \left( {\psi_{{\beta {\text{s}},k + 1}}^{*} - \psi_{{\beta {\text{s}},k + 1}} } \right)\frac{{{\text{d}}\psi_{{\beta {\text{s}},k + 1}}^{s} }}{{{\text{d}}t}}} \right]^{i} < 0.0$$
(16)

where i refers to the voltage vector index (0…7).

Derivatives of flux components in (16) can be obtained by (1); the required predicted values of the current in (k + 1)Ts can be approximated by its last sample, as resistive voltage drop is very smaller than the voltage vector amplitude.

4.1 Flux reference generation

A crucial step of the control procedure is the generation of the references of stator flux components \(\psi_{{\alpha {\text{s}},k + 1}}^{*}\) and \(\psi_{{\beta {\text{s}},k + 1}}^{*}\) in order to estimate the flux errors. The reference of the stator flux amplitude is delivered by the loss minimization criterion, described later. Instead, the phase is obtained starting from the slip angular frequency delivered by the PI controller of a torque control loop, as shown in Fig. 5 where, really, the feedback torque is estimated.

Fig. 5
figure 5

Torque control loop

For designing such a PI, the transfer function between slip angular frequency and torque is carried out hereafter.

Let us consider (2) written in a rotor reference frame

$$\left( {\frac{{{\text{d}}\overline{\psi }_{\text{rs}}^{r} }}{{{\text{d}}t}}} \right)_{k} = - R_{\text{r}}^{'} \overline{i}_{{{\text{rs}},k}}^{r}.$$
(17)

According to (3) and (4), which are valid in any reference frame, and neglecting iron losses (ife = 0), the rotor flux vector becomes

$$\overline{\psi }_{{{\text{rs}},k}}^{r} = \frac{{L_{\text{M}} }}{{L_{\text{s}} }}\overline{\psi }_{{{\text{s}},k}}^{r} + \left( {L^{\prime}_{\text{r}} - \frac{{L_{\text{M}}^{2} }}{{L_{\text{s}} }}} \right) \overline{i}_{{{\text{rs}},k}}^{r}$$
(18)

where \(L_{\text{s}} = L_{{\sigma {\text{s}}}} + L_{\text{M}}\) and \(L_{\text{r}}^{'} = L_{{\sigma {\text{r}}}}^{'} + L_{\text{M}}\) are the stator and rotor referred to the stator synchronous inductances, respectively.

Equation (18) can be substituted into (17) yielding the following equation

$$\frac{{L_{\text{M}} }}{{L_{\text{s}} }}\left( {\frac{{{\text{d}}\overline{\psi }_{\text{s}}^{r} }}{{{\text{d}}t}}} \right)_{k} = - R_{\text{r}}^{'} \overline{i}_{{{\text{rs}},k}}^{r} - \left( {L_{r}^{'} - \frac{{L_{\text{M}}^{2} }}{{L_{\text{s}} }}} \right) \left( {\frac{{{\text{d}}\overline{i}_{\text{rs}}^{r} }}{{{\text{d}}t}}} \right)_{k}.$$
(19)

Stator and rotor flux vectors rotate in the stationary reference frame with angular speeds \(\omega_{{{\text{s}},k}}\) and \(\omega_{{{\text{r}},k}}\), respectively, and they have a phase displacement, due to the rotor current as one can realize from (18), that is responsible of the generated motor torque, as shown in Fig. 6.

Fig. 6
figure 6

Spatial distribution of stator and rotor fluxes in stationary reference frame

In particular, the stator flux in the stationary reference frame is

$$\overline{\psi }_{{{\text{s}},k}}^{s} = \left| {\overline{\psi }_{{{\text{s}},k}}^{*} } \right|{\text{e}}^{{j\omega_{{{\text{s}},k}} t}}.$$
(20)

That becomes in the rotor reference frame

$$\overline{\psi }_{{{\text{s}},k}}^{s} = \left| {\overline{\psi }_{{{\text{s}},k}}^{*} } \right|{\text{e}}^{{j\left( {\omega_{{{\text{s}},k}} - \omega_{{{\text{me}},k}} } \right)t}} = \left| {\overline{\psi }_{{{\text{s}},k}}^{*} } \right|{\text{e}}^{{j\omega_{{{\text{sl}},k}} t}}$$
(21)

where

$$\omega_{{{\text{sl}},k}} = \omega_{{{\text{s}},k}} - \omega_{{{\text{me}},k}}$$
(22)

is the slip angular frequency.

Stator flux given by (21) can be substituted into (19); assuming that stator flux amplitude is constant (or slowly varying with the time), after derivation one obtains

$$j\omega_{{{\text{sl}},k}} \frac{{L_{\text{M}} }}{{L_{\text{s}} }}\overline{\psi }_{{{\text{s}},k}}^{s} = - R_{\text{r}}^{'} \overline{i}_{{{\text{rs}},k}}^{r} - \left( {L_{\text{r}}^{'} - \frac{{L_{\text{M}}^{ 2} }}{{L_{\text{s}} }}} \right) \left( {\frac{{{\text{d}}\overline{i}_{\text{rs}}^{r} }}{{{\text{d}}t}}} \right)_{k}$$
(23)

that, in operational form, assuming the angular slip frequency as input and the rotor current as output, can be rewritten as

$$\overline{i}_{{{\text{rs}},k}}^{r} = j\frac{{L_{\text{M}} }}{{L_{\text{s}} }}\frac{{\overline{\psi }_{s,k}^{s} }}{{R_{\text{r}}^{'} + \left( {L_{\text{r}}^{ '} - \frac{{L_{\text{M}}^{2} }}{{L_{\text{s}} }}} \right)s}}\omega_{{{\text{sl}},k}}.$$
(24)

The torque delivered by the motor is given by

$$m_{k} = \frac{3}{2}p\frac{{L_{\text{M}} }}{{L_{\text{s}} }} \text{Im} \left( {\overline{\psi }_{{{\text{s}},k}}^{s} \check{i}_{{{\text{rs}},k}}^{r} } \right).$$
(25)

At last, by combining (24) and (25) the following transfer function is obtained

$$m_{k} \left( s \right) = \frac{{k_{n} }}{{1 + T_{n} s}}\omega_{{{\text{sl}},k}} \left( s \right)$$
(26)

where \(k_{n} = 1.5p\frac{{L_{\text{M}}^{2} }}{{R_{\text{r}} L_{\text{s}}^{2} }}\left| {\overline{\psi }_{{{\text{s}},k}}^{s} } \right|^{2}\) and \(T_{n} = \frac{{\left( {L_{\text{r}}^{'} - \frac{{L_{\text{M}}^{2} }}{{L_{\text{s}} }}} \right)}}{{R_{\text{r}}^{'} }}\).

It is worth mentioning that the gain kn is the slop of the torque–slip characteristic of the motor under no load conditions at constant stator flux amplitude. Instead, Tn is the rotor transient time constant of the machine.

According to (26), the torque may be controlled by managing the angular slip command of the drive as shown in Fig. 5. From the figure, the \(\omega_{{{\text{sl}},k}}^{*} \left( s \right)\) reference can be expressed by:

$$\omega_{{{\text{sl}},k}}^{*} \left( s \right) = k_{\text{p}} \left( {1 + \frac{1}{{T_{\text{i}} s}}} \right)\left( {m_{k}^{*} \left( s \right) - m_{k} \left( s \right)} \right)$$
(27)

where kp and Ti are the proportional gain and integration time constant of the PI torque controller, respectively. The PI constants are determined through the following procedure. The closed-loop transfer function H(s) of the torque control is given as

$$H\left( s \right) = \frac{{m_{k} \left( s \right) }}{{m_{k}^{*} \left( s \right)}} = \frac{{\left( {k_{\text{p}} k_{n} /T_{n} } \right)s + \left( {k_{\text{p}} k_{n} /T_{\text{i}} T_{n} } \right)}}{{s^{2} + \left( {1/T_{n} + k_{\text{p}} k_{n} /T_{n} } \right)s + \left( {k_{\text{p}} k_{n} /T_{\text{i}} T_{n} } \right)}}.$$
(28)

For a unit-step torque reference (\(m_{k}^{*} \left( s \right) = 1/s\)), the developed torque is then

$$m_{k} \left( s \right) = \frac{{\left( {k_{\text{p}} k_{n} /T_{n} } \right)s + \left( {k_{\text{p}} k_{n} /T_{\text{i}} T_{n} } \right)}}{{s^{2} + \left( {1/T_{n} + k_{\text{p}} k_{n} /T_{n} } \right)s + \left( {k_{\text{p}} k_{n} /T_{\text{i}} T_{n} } \right)}} . \frac{1}{s}.$$
(29)

The roots of denominator in (28) (and in (29) too) must have negative real parts to ensure the system stability. One can realize from (28) that the characteristic second-order equations is:

$$s^{2} + \left( {\frac{1}{{T_{n} }} + \frac{{k_{\text{p}} k_{n} }}{{T_{n} }}} \right)s + \left( {\frac{{k_{\text{p}} k_{n} }}{{T_{\text{i}} T_{n} }}} \right) = 0.0$$
(30)

that can be expressed as

$$s^{2} + 2\zeta \omega_{n} s + \omega_{n}^{2} = 0.0$$
(31)

where \(\omega_{n}\) is the natural angular frequency and ζ is the damping ratio. By comparing (30) and (31), \(\omega_{n}\) and ζ can be determined as follows:

$$\omega_{n} = \sqrt {\frac{{k_{\text{p}} k_{n} }}{{T_{\text{i}} T_{n} }}} ,\,\,\,\,{\text{and}}\,\,\,\,\zeta = \left( {\frac{1}{{T_{n} }} + \frac{{k_{\text{p}} k_{n} }}{{T_{n} }}} \right)\sqrt {\frac{{T_{\text{i}} T_{n} }}{{4k_{\text{p}} k_{n} }}}.$$
(32)

Then, from (32), the values of \(k_{\text{p}}\) and \(T_{\text{i}}\) of torque controller is designed after the natural angular frequency \(\omega_{n}\) and the damping ratio \(\zeta\) are specified:

$$k_{\text{p}} = \frac{{2\zeta \omega_{n} T_{n} - 1}}{{k_{n} }},\,\,\,\,{\text{and}}\,\,\,\,T_{\text{i}} = \frac{{2\zeta \omega_{n} T_{n} - 1}}{{\omega_{n}^{2} T_{n} }}.$$
(33)

From the implementation point of view, after the value of \(\omega_{{{\text{sl}},k + 1}}^{*}\) is delivered at instant (k + 1)Ts, it is added to the measured mechanical speed \(\omega_{{{\text{me}},k + 1}}\) to obtain the synchronous angular frequency \(\omega_{{{\text{s}},k + 1}}^{*}\). Then, by integrating \(\omega_{{{\text{s}},k + 1}}^{*}\), the reference \(\theta_{{{\text{s}},k + 1}}^{*}\) of the stator flux vector angle is derived:

$$\theta_{{{\text{s}},k + 1}}^{*} = \int {\omega_{{{\text{s}},k + 1}}^{*} } {\text{d}}t.$$
(34)

At last, the references of the stator flux components to be used in the cost function given by (16) are determined by:

$$\psi_{{\alpha {\text{s}},k + 1}}^{*} = \left| {\overline{\psi }_{{{\text{s}},k + 1}}^{*} } \right|\cos \theta_{{{\text{s}},k + 1}}^{*}$$

and

$$\psi_{{\beta {\text{s}},k + 1}}^{*} = \left| {\overline{\psi }_{{{\text{s}},k + 1}}^{*} } \right|\sin \theta_{{{\text{s}},k + 1}}^{*}.$$
(35)

Now, the cost function (16) can be evaluated at time (k + 1)Ts and then used by the controller to select the optimal voltages.

5 Losses minimization criterion

In order to derive a criterion by which the IM losses can be minimized, the losses of the motor should be defined precisely. It is well known that the copper losses of IM constitute the major part of the IM total losses in comparison with the core losses. These two types of losses can be evaluated in the following.

5.1 Copper losses

These losses refer to Joule dissipation in the copper windings. The stator copper losses can be evaluated by:

$$P_{{{\text{sl}},k}}^{\text{Cu}} = 1.5R_{\text{s}} \left( {i_{{{\text{ds}},k}}^{2} + i_{{{\text{qs}},k}}^{2} } \right)$$
(36)

while the rotor copper losses can be estimated under steady-state operation by

$$P_{{{\text{rl}},k}}^{\text{Cu}} = 1.5R_{\text{r}} \left( {i_{{{\text{dr}},k}}^{2} + i_{{{\text{qr}},k}}^{2} } \right) = \frac{{R_{\text{r}} }}{{\left( {1 + \sigma_{\text{r}} } \right)^{2} }}\left( {\left( {i_{{{\text{mr}},k}} - i_{{{\text{ds}},k}} } \right)^{2} + i_{{{\text{qs}},k}}^{2} } \right)$$
(37)

where \(\sigma_{\text{r}} = \left( {L_{\text{r}}^{'} - L_{\text{M}} } \right) /L_{\text{M}}\) is the rotor leakage factor and \(i_{{{\text{mr}},k}} = \frac{{\psi_{{{\text{rs}},k}} }}{{L_{\text{M}} }}\) is the rotor magnetizing current. It is related to the d-axis component of stator current via the following dynamic relationship:

$$\frac{{L_{\text{r}}^{'} }}{{R_{\text{r}} }}\frac{{{\text{d}}i_{{{\text{mr,}}k}} }}{{{\text{d}}t}} + i_{{{\text{mr}},k}} = i_{ds,k}.$$
(38)

It is useful to know that under FOC operation, the developed torque can be expressed by

$$m_{k} = 1.5p\left( {1 - \sigma } \right)L_{\text{s}} i_{{{\text{mr}},k}} i_{{{\text{qs}},k}}.$$
(39)

5.2 Core losses

The stator core losses can be evaluated in terms of eddy current and magnetic hysteresis losses as

$$P_{{{\text{sl}},k}}^{\text{core}} = k_{\text{e}} f_{{{\text{s}},k}}^{2} \psi_{{{\text{m}},k}}^{2} + k_{\text{h}} f_{{{\text{s}},k}} \psi_{{{\text{m}},k}}^{2}.$$
(40)

The stator core losses can be also computed in terms of the stator core resistance \(R_{\text{fe}}\) as

$$P_{{{\text{sl}},k}}^{\text{core}} = \frac{{\omega_{{{\text{s}},k}}^{2} \psi_{{{\text{m}},k}}^{2} }}{{R_{\text{fe}} }} = \frac{{R_{\text{fs}} }}{{\left( {1 + \sigma_{\text{r}} } \right)}}\left[ {\sigma_{\text{r}} \left( {i_{{{\text{ds}},k}}^{2} + i_{{{\text{qs}},k}}^{2} } \right) + i_{{{\text{mr}},k}} i_{{{\text{ds}},k}} } \right]$$
(41)

where \(R_{\text{fs}}\) is the equivalent resistance modelling the iron losses put in series to \(L_{\text{M}}\) instead of in parallel as shown in Fig. 1.

Assuming \(R_{\text{fe}} \gg \omega_{\text{s}} L_{\text{M}}\), by means of a parallel to series transformation it results in:

$$R_{\text{sf}} = \frac{{\left( {\omega_{\text{s}} L_{\text{M}} } \right)^{2} }}{{R_{\text{fe}} }}.$$
(42)

Equation (40) can be also applied for the rotor core losses, considering, of course, the rotor (slip) frequency. Since the latter is always very small during the operation of the motor in a FOC drive, it can be realized that the rotor core losses can be neglected compared with the stator ones. Therefore, the total core losses can be assumed to be equal to the stator core losses only as

$$P_{{{\text{total,}}k}}^{\text{core}} \cong P_{{{\text{sl,}}k}}^{\text{core}}$$
(43)

From (36), (37) and (41), the total losses can be calculated as

$$P_{{{\text{total}},k}}^{\text{losses}} = P_{{{\text{sl}},k}}^{\text{cu}} + P_{{{\text{rl}},k}}^{\text{cu}} + P_{{{\text{sl}},k}}^{\text{core}}.$$
(44)

Assuming that the developed torque \(m_{k}\) tracks precisely the reference torque \(m_{k}^{*}\) and the motor is running under steady state operation, then (38) can be simplified by

$$\frac{{L_{\text{r}} }}{{R_{\text{r}} }}*0.0 + i_{{{\text{mr}},k}} = i_{{{\text{ds}},k}} = \frac{{\psi_{{{\text{r}},k}} }}{{L_{\text{m}} }}.$$
(45)

In the same manner, if the control guarantees that \(i_{{{\text{mr}},k}} = i_{{{\text{mr}},k}}^{*} = i_{{{\text{ds}},k}}^{*}\), then substituting (45) into (39) yields

$$i_{{{\text{qs}},k}}^{*} = \frac{{m_{k}^{*} }}{{1.5p\left( {1 - \sigma } \right)L_{\text{s}} i_{{{\text{mr}},k}}^{*} }} = \frac{{L_{\text{m}} m_{k}^{*} }}{{1.5p\left( {1 - \sigma } \right)L_{\text{s}} \psi_{{{\text{r}},k}}^{*} }}.$$
(46)

Now, by utilizing (45) and (46), the total losses which have to be minimized can be expressed in terms of torque and rotor flux references as follows:

$$P_{{{\text{total}},k}}^{\text{losses}} = \frac{{\left( {R_{\text{s}} + R_{\text{fs}} } \right)}}{{L_{\text{m}}^{2} }}\left( {\psi_{{{\text{r}},k}}^{ *} } \right)^{2} + \left[ {\frac{{\left[ {R_{\text{s}} + \frac{{R_{\text{r}} }}{{\left( {1 + \sigma_{\text{r}} } \right)^{2} }} + \frac{{\sigma_{\text{r}} R_{\text{fs}} }}{{\left( {1 + \sigma_{\text{r}} } \right)}}} \right]}}{{\left[ {1.5p\left( {1 - \sigma } \right)\left( {L_{\text{s}} /L_{\text{m}} } \right)} \right]^{2} }}} \right]\frac{{\left( {m_{k}^{*} } \right)^{2} }}{{\left( {\psi_{{{\text{r}},k}}^{*} } \right)^{2} }}.$$
(47)

To derive the optimal value of the rotor flux \(\psi_{{{\text{r}},k}}^{*}\) that minimizes the losses, the derivative of (47) with respect to \(\psi_{{{\text{r}},k}}^{*}\) is equated to zero and solved for \(\psi_{{{\text{r}},k}}^{*}\). The resulting optimum rotor flux reference is thus

$$\psi_{{{\text{r}},k}}^{\text{opt}} = \sqrt {\frac{{L_{\text{m}}^{2} }}{{1.5p\left( {1 - \sigma } \right)L_{\text{s}} }}\sqrt {\frac{{R_{\text{s}} + \frac{{R_{\text{r}} }}{{\left( {1 + \sigma_{\text{r}} } \right)^{2} }} + \frac{{\sigma_{\text{r}} R_{\text{sf}} }}{{\left( {1 + \sigma_{\text{r}} } \right)}}}}{{\left( {R_{\text{s}} + R_{\text{sf}} } \right)}}} } *\sqrt {\left| {m_{k}^{*} } \right|}.$$
(48)

From the IM equations defined in the rotor reference frame, and considering the stator flux components as control variables in a rotor field-oriented (RFO) operation, the following two relationships apply

$$\psi_{{{\text{ds}},k}} = \frac{{L_{\text{s}} }}{{L_{\text{m}} }}\left( {1 + \sigma \tau_{\text{r}} \frac{\text{d}}{{{\text{d}}t}}} \right)\left| {\overline{\psi }_{{{\text{r}},k}} } \right|$$
(49)
$$\psi_{{{\text{qs}},k}} = \frac{{L_{\text{r}} }}{{1.5pL_{\text{m}} }}\sigma L_{\text{s}} \frac{{m_{k} }}{{\left| {\overline{\psi }_{{{\text{r}},k}} } \right|}}$$
(50)

where \(\tau_{\text{r}} = \frac{{L_{\text{r}} }}{{R_{\text{r}} }}\) is the rotor time constant.

By combining (49) and (50), the space vector of the stator flux can be expressed by

$$\overline{\psi }_{{{\text{s}},k}} = \frac{{L_{\text{s}} }}{{L_{\text{m}} }}\left[ {\left( {1 + \sigma \tau_{\text{r}} \frac{\text{d}}{{{\text{d}}t}}} \right)\left| {\overline{\psi }_{{{\text{r}},k}} } \right| + j\frac{{\sigma L_{\text{r}} }}{{\left| {\overline{\psi }_{{{\text{r}},k}} } \right|}}\frac{1}{1.5p}} \right].$$
(51)

The modulus of \(\overline{\psi }_{{{\text{s}},k}}\) given by (51) is the optimal reference value \(\left| {\overline{\psi }_{{{\text{s}},k}}^{\text{opt}} } \right|\) of the stator flux amplitude needed by the proposed MP FC. The expression of \(\left| {\overline{\psi }_{{{\text{s}},k}}^{\text{opt}} } \right|\) is

$$\left| {\overline{\psi }_{{{\text{s}},k}}^{\text{opt}} } \right| = \sqrt {\left( {\frac{{L_{\text{s}} }}{{L_{\text{m}} }}\psi_{{{\text{r}},k}}^{\text{opt}} } \right)^{2} + \left( {\sigma L_{\text{s}} } \right)^{2} \left( {\frac{{L_{\text{r}} }}{{L_{\text{m}} }}\frac{{m_{k}^{*} }}{{1.5p\psi_{{{\text{r}},k}}^{\text{opt}} }}} \right)^{2} }$$
(52)

which completes the information required to apply (35) and then the cost function (16).

6 System layout

The complete system layout is shown in Fig. 7. Measured quantities are the speed, derived by the outputs of an incremental encoder, and stator voltages and currents. Inverter reference voltages are used, for the sake of simplicity, in place of real measurements.

Fig. 7
figure 7

System layout of proposed MP FC for IM drive

Stator voltages and currents are used by the flux estimator to predict the stator flux components \(\widehat{\psi }_{{\alpha {\text{s}},k + 1}}\) and \(\widehat{\psi }_{{\beta {\text{s}},k + 1}}\) and the corresponding predicted torque \(\widehat{m}_{k + 1}\), applying the motor modelling previously described.

The value of the reference torque \(m_{k + 1}^{*}\) is obtained through a PI speed controller, and then, it is compared with the prediction \(\widehat{m}_{k + 1}\) to get the reference slip frequency \(\omega_{{{\text{sl}},k + 1}}^{ *}\) by the PI torque controller. The angular slip is then added to the electrical angular speed of the motor to obtain the reference angular frequency \(\omega_{{{\text{s}},k + 1}}^{*}\) and then the reference flux angle \(\theta_{{{\text{s}},k + 1}}^{*}\) utilized to get the flux references \(\psi_{{\alpha {\text{s}},k + 1}}^{*}\) and \(\psi_{{\beta {\text{s}},k + 1}}^{*}\). Stator flux amplitude is delivered by the loss minimization algorithm; alternatively, stator flux amplitude can be maintained to its nominal value. The selection of the optimal voltage vector by applying cost function (16) on the basis of the reference and predicted stator flux components completes the MP FC of the IM drive.

7 Determination of computation burdens

In order to quantify the benefits of the MP FC in limiting the commutation losses, intended as number of commutation, a methodology is proposed to count the commutations performed by the inverter switches per each control cycle and for the entire operating period as well.

The counting procedure is based on the voltage vector index (i), each of them representing a specific switch state of the inverter by means of a triplet of binary digits. When a change of voltage index (i) occurs, denoting a change of inverter output voltage, the switch states are also changed. The consequent number of commutations occurred in the inverter corresponds to the number of digits changed in the two triplets that can be easily counted sampling time by sampling time.

Figure 8 illustrates the code steps which are applied to calculate the number of commutations, according to the voltage vector index monitoring as, just described.

Fig. 8
figure 8

Calculation of commutations number

The implementing flowchart of the proposed MP FC is reported in Fig. 9.

Fig. 9
figure 9

Sequence of implementation for the proposed MP FC approach

To investigate the validity of the proposed MP FC scheme, its performance is compared with the MP DTC scheme which utilizes a cost function form expressed as in Eq. (53):

$${\mathcal{C}}_{k + 1} = \left| {m_{k + 1}^{*} - \tilde{m}_{k + 1} } \right| + w_{\text{f}} \left| {\psi_{{{\text{s}},k + 1}}^{*} - \tilde{\overline{\psi }}_{{{\text{s}},k + 1}} } \right|.$$
(53)

Instead of using (16), it can be foreseen that the execution time taken by the MP DTC cost function is greater than the correspondent one of the proposed MP FC. This is even more obvious if the sequence of computation steps is examined; for example, in (53), the prediction is carried out for both the torque and flux; to calculate the torque, the flux must be preliminary evaluated, which means that the flux is calculated twice times in the MP DTC. Moreover, in case of the adaptive tuning of \(w_{\text{f}}\), an extra computational burden will be added. On the contrary, the terms used in (16) are homogeneous (flux components), and their calculations do not take long time to be performed.

A comparison in terms of commutation number in one second is presented in Table 1 which confirms the expectations. The proposed MP FC procedures (without and with LMC) are capable of limiting the switching losses by a significant reduction in the commutations number.

Table 1 Commutation number

8 Simulation results

At first, an exhaustive simulation campaign by MATLAB/Simulink software has been carried out to validate the effectiveness of the proposed MP FC approaches. The dynamic performance of the drive based on the proposed MP FC, with and without using the LMC, is compared with the dynamic performance of the MP DTC which utilized the cost function (53), extensively used in previous works [15, 16]. The test results for the MP DTC are shown in Fig. 10a. The test is carried out for a speed reference of 1500 RPM applied at time t = 0.05 s; the flux reference is kept to its nominal value equal to 1 V. A 3-N m load torque (light load case) is applied at time t = 2.5 s.

Fig. 10
figure 10

a Performance of classic MPDTC. b Performance of MP FC. c Performance of MP FC with LMC

For the second case, the IM is operated using the proposed MP FC without applying the LMC. The stator flux reference under the MP FC maintains the same flux reference. The results applying the MP FC are shown in Fig. 10b.

For the next case, the stator flux reference is delivered by the proposed LMC introduced in Sect. 5. The results are illustrated in Fig. 10c. From Fig. 10b, c, it can be realized that the ripples in the torque, flux, and current when the proposed MP FC is applied (with and without the LMC feature) are effectively lower than the corresponding values obtained with MP DTC. In addition, it can be noticed that when adopting the LMC procedure, the losses are effectively reduced during light loading and consequently the efficiency of the IM drive is improved, as clearly shown in Fig. 11. Moreover, Figs. 12 and 13 reconfirm the superiority of the MP FC over the MP DTC approach, as they point out the reduction in the current ripples at all operating conditions (with and without loading). In order to deepen the ripples behaviour, a fast Fourier transform (FFT) analysis is carried out, generating Figs. 14, 15 and 16.

Fig. 11
figure 11

IM losses for the three control procedures (W)

Fig. 12
figure 12

Stator current components during zero load period (A)

Fig. 13
figure 13

Stator current components during 3.0 N m load period (A)

Fig. 14
figure 14

Spectrum of stator current αβ components under the MP DTC control procedure

Fig. 15
figure 15

Spectrum of stator current αβ components under the MP FC control procedure

Fig. 16
figure 16

Spectrum of stator current αβ components under the MP FC + LMC control procedure

The spectra of the stator currents shown in Figs. 14, 15 and 16 give focused information on the ripple contents in the current profiles. For example, in Fig. 14 the α-component stator current spectrum shows a fundamental value of 5.866 A with a total harmonic distortion (THD) of 7.97% of the fundamental. For the β-component stator current, the spectrum gives a fundamental value of 5.765 A with a total harmonic distortion (THD) of 7.80% of the fundamental. Figure 15 illustrates the stator current FFT spectrum when applying the proposed MP FC without LMC. It can be seen that the α-component exhibits a fundamental value of 5.796 A with a THD of 2.38% of the fundamental, while the β-component presents a fundamental value of 5.957 A with a THD of 1.11% of the fundamental. The stator current spectrum under the MP FC with LMC is shown in Fig. 16 where the current α-component has a fundamental value of 4.868 A with a THD of 2.59% of the fundamental, while the β-component exhibits a fundamental value of 4.977 A with a THD of 2.7% of the fundamental. All these results confirm the effectiveness and the merits of the proposed MP FC in comparison with the classical MP DTC approach.

The obtained THD values for the previous tests can be summarized for the performed tests as illustrated in Table 2 which gives a general view on the performances of the two control procedures and confirm the superiority of the proposed MP FC (with and without the LMC) over the MP DTC approach.

Table 2 THD of stator currents as percentage of the fundamental currents (Figs. 14, 15, 16)

Further tests have been carried out to investigate dynamic performance after application of the load torque from 3 and 8 N m at times of t = 0 s and t = 3 s, respectively. The speed reference is also varied in a sequence of 0 RPM to 750 RPM to 1500 RPM at the time t = 0 s, t = 2 s and t = 4 s, respectively. The stator flux reference is kept to its nominal value of 1 V in the MP DTC and MP FC without loss minimization criterion. For the MP FC with loss minimization criterion, the flux reference is adjusted on line by the loss minimization mechanism. The obtained results are shown in Fig. 17, which shows a comparison between the three control procedures. From the figure, it can be realized that the proposed MP FC, with and without loss minimization criterion, exhibits better dynamic behaviour compared to the MP DTC. This can be observed in terms of reduced torque and flux ripples and reduced THD in the current waveforms as well. Moreover, it can be noticed that the rise time of the MP FC without loss minimization criterion is slightly lower than that of MP DTC; this is expected because of the faster generation and managing of the flux error in MP FC, while torque error has to be managed in MP DTC. However, for the MP FC with loss minimization criterion, there is a slight delay in the rise time (it can be ignored with respect to the rise time of MP DTC), and this can be attributed to the fact that the flux reference is not fixed now, but it is calculated by the LMC.

Fig. 17
figure 17

Comparison in terms of speed, torque, flux and total losses for the three control procedures under varying speed and torque conditions

The αβ components of stator current are also illustrated in Fig. 18 for the three control approaches. The figure shows that the currents exhibit with both MP FC and MP FC with LMC a total harmonic distortion lower than that with MP DTC. For the sake of confirmation, the fast Fourier transform (FFT) is applied to the current signals. Figure 19 illustrates the spectrum analysis of stator current αβ components under the MP DTC control procedure; the α-component exhibits a fundamental value of 7.781 A, with a THD of 5.69% of the fundamental, while the β-component presents a value of 7.517 A with THD of 4.82%.

Fig. 18
figure 18

Stator current component spectrums under load torque of 8 N m

Fig. 19
figure 19

Spectrum of stator current αβ components under the MP DTC control procedure

The spectrum analysis for the MP FC without LMC is shown also in Fig. 20, in which the α-component gives a fundamental value of 7.287 A with THD of 2.47%, whereas the β-component has a value of 7.355 A with a THD of 2.25% of the fundamental.

Fig. 20
figure 20

Spectrum of stator current αβ components under the MP FC control procedure

For the MP FC with LMC control approach, the spectra of stator current components are shown in Fig. 21, in which the α-component introduces a value of 7.386 A with THD of 2.22%, while the β-component shows a value of 7.264 A, and a THD of 2.53% of the fundamental.

Fig. 21
figure 21

Spectrum of stator current αβ components under the MP FC + LMC control procedure

In the same manner, the THD values for the stator currents obtained during this test are given in Table 3.

Table 3 THD of stator currents as percentage of the fundamental currents (Figs. 19, 20, 21)

The comparison between the three control procedures is also performed in terms of the number of commutations which are counted using the code illustrated in Fig. 8. The comparison data are in Table 4. The comparison confirms the suitability of MP FC, with and without LMC, for limiting the commutation losses in comparison with the MP DTC which inherently suffers by the high computational burden.

Table 4 Number of commutations

9 Experimental results

The proposed MP FC control procedure has been implemented by a dSpace 1104 control board. The experimental tests have been carried out under the same working conditions adopted in the simulation tests. Experimental results confirm the validity and effectiveness of the proposed MP FC and its superiority over the MP DTC in limiting the ripples in torque, flux and current. This appears from Fig. 22a–c. A detailed view of the speed profiles under the three control approaches is shown in Fig. 22, where it can be noticed that the speed response under the MP FC is quite faster than that of MP DTC; meanwhile, the speed response of the MP FC with LMC lags slightly that of MP DTC control approach. In addition, the effectiveness of the proposed LMC is validated through the losses reduction at light loading as shown in Fig. 23. A comparison between the stator current components for the three cases is shown in Figs. 24 and 25. Again, the validity of proposed MP FC and of the loss minimization criterion is confirmed. An FFT spectrum analysis is applied to investigate in detail the harmonic contents of the stator current waveforms, as shown in Figs. 26, 27 and 28.

Fig. 22
figure 22

a Performance of classic MP DTC. b Performance of MP FC. c Performance of MP FC with LMC

Fig. 23
figure 23

IM losses for the three control procedures (W)

Fig. 24
figure 24

Stator current components during zero load period (A)

Fig. 25
figure 25

Stator current components during 3.0 N m load period (A)

Fig. 26
figure 26

Spectrum of stator current αβ components under the MP DTC control procedure

Fig. 27
figure 27

Spectrum of stator current αβ components under the MP FC control procedure

Fig. 28
figure 28

Spectrum of stator current αβ components under the MP FC + LMC control procedure

Figure 25 shows that the α-component of stator current under the MP DTC exhibits a fundamental value of 6.108 A with a total harmonic distortion (THD) of 8.91% of the fundamental. In the same figure, the spectrum of the β-component of stator current under the MP DTC has a fundamental value of 5.611 A with a total harmonic distortion (THD) of 10.73% of the fundamental. Figure 27 illustrates the stator current FFT spectrum when applying the proposed MP FC without LMC. It can be noticed that the α-component presents a fundamental value of 5.986 A with a THD of 3.08% of the fundamental, while the β-component shows a fundamental value of 5.75112 A with a THD of 2.83% of the fundamental. The stator current spectrum under the MP FC with the LMC is illustrated in Fig. 27 in which the current α-component exhibits a fundamental value of 4.940 A with a THD of 3.19% of the fundamental, while the β-component presents a fundamental value of 4.936 A with a THD of 3.25% of the fundamental. From the obtained FFT results, the superiority of the proposed MP FC approach upon the MP DTC is confirmed. The experimental test bench is illustrated in Fig. 28, while the machine parameters are given in Table 6 in “Appendix”.

The calculated values of THD for the stator current (αβ) components are illustrated in Table 5 which confirm the effectiveness of the proposed MP FC in reducing the THD in comparison with the performance of the MP DTC.

Table 5 THD of stator currents as percentage of the fundamental currents (Figs. 26, 27, 28)

10 Conclusion

The paper presented a new model predictive control for IM drives. The proposed MP FC has the advantage of simple formulation and simple implementation. An improvement in the stator flux control is achieved by utilizing an effective stator flux estimator. Moreover, a loss minimization criterion (LMC) is introduced to limit the IM losses especially at light loading and hence improving the drive efficiency. The performance of an IM drive with the proposed MP FC is compared with that attained by the classical MP DTC approach. The comparison results confirm the effectiveness of the proposed MP FC in achieving less harmonic distortion in the control variables in addition to the minimization of the losses during the light load operation. Another contribution of the proposed MP FC is the limited switching frequency compared with that exhibited by the MP DTC approach, attained exploiting the low rate of change of flux in the MP FC with respect to the torque rate of change in the MP DTC. The results have been proved by an extensive campaign of simulation and experimental tests using MATLAB/Simulink and a dSpace 1104 fast control prototyping board.