Direct flux and current vector control for induction motor drives using model predictive control theory

: The study presents the direct flux and current vector control of an induction motor (IM) drive, which is a relatively newer and promising control strategy, through the use of model predictive control (MPC) techniques. The results highlight that the fast flux control nature of direct flux control strategy is further enhanced by MPC. Predictive control is applied in two of its variants, namely the finite control set and modulated MPC, and the advantages and limitations of the two are underlined. This work also highlights, through experimental results, the importance of prioritising the flux part of the cost function which is particularly significant in the case of an IM drive. The performance of the MPC-based approach is compared with the proportional–integral controller, which also prioritises the flux control loop, under various operating regions of the drive such as in the flux-weakening regime. Simulations show the performance expected with different control strategies which is then verified through experiments.

Some of the most salient features of MPC include high dynamic performance, straightforward treatment of constraints imposed by actuator limits, simplifying multivariable control, permitting easier inclusion of non-linearities in the model, adaptability for fitting bespoke applications, ease of implementation and extension. These advantages, on the other hand, do incur a cost in terms of greater computational power requirements [5], when compared with traditional control strategies such as linear controllers. Furthermore, the performance expected of the control depends heavily on the quality and accuracy of the plant model. In power electronics, the predictive control, due to its close resemblance with hysteresis control, requires variable switching frequency operation that, at times, entails greater ripple in controlled variables' waveforms. By applying some mathematical simplifications and by limiting the control and/or prediction horizons, some of the shortcomings of predictive control-based strategies can be removed, of course at the expense of slightly deteriorating control performance.
In the field of power electronics, the applications of MPC, according to the literature [8], deal in the following main areas: grid-connected converters, power converters supplying R-L loads, inverters with L-C output filters, and high performance motor drives. Predictive torque control (PTC) [10,11,14,15], predictive current control (PCC) [14], predictive flux control [12], and predictive speed control [16] have seen very successful implementation of MPC for variable speed drives employing induction machines. The applications of MPC in induction motor (IM) drives also extend to sensorless [15,17,18] and fault tolerant drives [13]. The MPC is not limited to three-phase applications only but has been extended to include multiphase IM drives as well [13].
The literature is replete with works dealing with MPC applications in electric drives with [10][11][12]14] being closely related to what is investigated in this paper. In [10], PTC of a multilevel-inverter-fed IM drive is presented. The use of multilevel converter minimises the torque and flux ripple inherent to direct stator variable control strategies that do not benefit from the integrator smoothening effect offered by proportional-integral (PI) regulators. Nevertheless, a greater hardware complexity in case of multilevel converters cannot be ignored. In a modified implementation of MPC [11], torque and flux control is achieved by active vectors' duty cycle that guarantees operation under fixed switching frequency. The duties of active voltage vectors are optimised through deadbeat control of motor torque. In this work, as in other similar strategies of predictive torque and flux control, the weighting factor to assign correct priority to torque and flux control requires extensive simulations and experimental validation. The work of [12] that deals with stator flux's control using MPC is a follow-up of [11] and uses the same duty cycle optimisation, which is called switching instant optimisation, for flux control.
An experimental performance comparison of PTC and PCC is reported in [14] demonstrating that the torque and current predictive control can have similar transient response generally and null steady-state error in open-loop torque control mode. The study, however, shows that PTC results in lower ripple than that obtained with PCC. Furthermore, the torque predictive control is observed to have degraded performance in case of errors in the magnetising inductance of the machine while the current predictive control is prone to performance reduction due to stator resistance detuning. This paper proposes, and experimentally validates, MPC application of direct flux vector control (DFVC) [20][21][22] of IM drives. DFVC combines the advantages of direct flux and torque control [23] and fast current vector control (CVC). With respect to the past work on DFVC, this paper uses MPC instead of PI controllers, which require extensive tuning. This paper also discusses prioritising of flux control loop in PI-based implementation of DFVC and how this can be achieved in MPC implementation proposed here. The experimental results highlight the consequences of not prioritising flux control loop, which is critical in IM drives in which the magnetisation must be produced by stator current. This paper experimentally proves the performance of MPC in flux-weakening region, not explored previously in the literature. The authors believe that the DFVC control's full potential can be realised through MPC implementation. According to the authors' best knowledge, the DFVC's implementation through MPC is not found in the literature and this paper will lead to more research on DFVC. This paper is arranged as follows: Section 2 briefly describes the concept of direct flux and CVC (DFCVC) and the state equations for the control are derived, in Section 3 the MPC is formulated for DFCVC, Section 4 discusses the implementation details of MPC-DFCVC, in Section 5 simulation and experimental results for predictive DFCVC are presented, discussed, and a comparison with linear controller-based approach is made, and finally, Section 6 concludes this paper.

IM model for DFCVC
As the objective of DFCVC is to allow direct control of stator flux, the control strategy is based on the stator flux-oriented frame. The direct axis (d s -axis) of the reference frame is aligned with the stator flux vector (λ) as shown in Fig. 1a. Other frames shown are the stator stationary frame (α, β), the rotor mechanical frame (d m , q m ), and the rotor flux frame (d, q). The dynamic equations of an induction machine in stator flux-oriented frame (d s , q s ) are v¯d qs = R s i¯d qs + dλ¯d qs dt + j ω + dδ dt λ¯d qs (1) where R s represents the stator resistance, ω is the synchronous speed (rad/s), and δ is the torque or load angle (radians), while v¯d qs , i¯d qs , and λ¯d qs are the stator voltage, current, and flux vectors, respectively. In (1), the subscript 's' refers to the stator fluxoriented reference frame for which the flux vector can be defined as The stator and rotor flux linkages of an IM are related to each other and to stator current as per (3) and (4).
In (α, β) frame In (d m , q m ) frame here k r = L m /L r is the rotor coupling factor with L m and L r being the magnetising and rotor inductance, respectively, is the total leakage factor given by = 1-L m ·L m /L s /L r with L s being the total stator inductance; finally, r defined as r = L r /R r is the rotor time constant with R r as the rotor resistance. Equations (3) and (4) are the basis for the IM flux observer.
The instantaneous electromagnetic torque is given by where i qs is the q s -axis component of the vector i¯d qs . Transforming (1) to canonical state-space notation, after substituting (2), yields It can be readily observed from (6) that there are no delay elements in the flux state (d s -axis), and therefore the flux dynamics solely depend on the d s -axis control action, i.e. the voltage command. Thus, a fast flux control can be achieved by acting on v ds . For the other state variable δ in (6), it is clear that the control of δ through the voltage command applied along the q s -axis is not completely decoupled from flux with λ appearing in the denominator of control action. This coupling not only complicates the control scheme but also renders the control design (in case of linear controllers) a bit more involved. Besides, the torque (5) suggests having the q s -axis current as the other state variable for a more direct control over torque. With some mathematical passages, it is possible to transform the second state equation to get i qs as the other state variable; a detailed derivation is given in [24], here the final expression is reported for brevity where R′ = R s + R r ·L s /L r , ω slip is the slip speed (rad/s), and ω m is the rotor mechanical speed (rad/s). The new state-space model is then given by (8) dλ dt

Problem formulation for MPC
The continuous-time state equations of (8) are first converted to discrete-time equivalents using Euler's approximation for the derivative terms as Here, k denotes sampling instant with each instant separated from the next by T s (the sample time for discretisation).
Equations (9) and (10) can be used as one-step-ahead predictors for the state variables (λ and i qs ). However, to mitigate the delay between command generation and its effective realisation [25] recommends two-step-ahead prediction of the states. In the case of DFCVC under investigation, one state is the stator flux (λ) which is given by the flux observer that already serves as a one-step-ahead predictor, because the flux observer's inputs are the voltage commands applied at previous switching instant and the stator current at previous sampling instant, if switching is not synchronised with sampling. Therefore, (9) is shifted one-step forward in time. Two-step-ahead prediction of [25] is used only for the current (i qs ) state variable, using (11) It can be noted from (10) and (11) that i ds is maintained the same for the two predictors of i qs , this is due to the fact that i ds is not a state variable of the system and it can only be measured at instant k but cannot be predicted for instant k + 1 for use in (11). One way to predict i ds for instant k + 1 is to use the induction machine equations in rotor field-oriented frame to obtain i d (k + 1) in (d, q) reference frame of Fig. 1a and transform it to (d s , q s ) reference frame and get i ds (k + 1); however, this results in additional computational burden in terms of reference frame transformations of flux, current, and voltage vectors. Maintaining i ds (k) also in (11) leads to a small error in i qs (k + 2). Fig. 1b gives the sequence in which (9)-(11) are applied for state estimation.
The problem formulation concludes with the definition of cost function (g c ) to be minimised to achieve predictive control. It is given in terms of reference and predicted magnitudes of the state variables (λ and i qs ) given in (12) The superscript '*' is used for imposed reference and 'p' stands for predicted value. To assign equal weight to the two dimensionally different state variables, the per-unit values are used as a rather simplistic way of dealing with a complex problem. Then, the coefficient k λ (k λ > 0) is included in the flux part to modify the weight assigned to the flux part of the cost function. The cost function (12) is analogous to the one used in [26] with the difference that torque is replaced by i qs as the q s -axis current is the second state variable in DFVC. Also, the stator flux is not in the stationary coordinates as in [26] but in stator field-oriented coordinates, which is the basis of DFCVC used here. For torque and flux predictive control found in the literature, the tuning of weights assigned to each variable is still a matter of research and no empirical tuning method exists to date [11,19,27,28]. The coefficient k λ here is chosen based on the guidelines from [26] and in the experimental results section the impact of k λ on flux loop's performance is highlighted. A further insight into correct coefficient selection is needed that may be carried out in a future work.
Comparing to the PI-controller-based implementation of DFVC [20,22], the role of k λ has another dimension that must be highlighted here. As the maximum phase voltage that can be applied is fixed by the available dc-link voltage, the PI-based DFCVC must decide on priority to be assigned to flux and current control. By computing the control action for d s -axis first, and assigning the rest of the available voltage to the q s -axis regulator, the flux controller is automatically given priority. However, as the cost function (12) evaluates flux and current errors at the same time, the only way to assign greater importance to flux part of the cost function is to set k λ > 1 and this is effectively proven through experimental results shown in a latter section.
The process flowchart of Fig. 1c gives the sequence of operations for direct flux and current vector predictive control of an induction machine. When the cost function is evaluated for all the possible voltage vectors, the vector that corresponds to minimum value of cost function (g c−min ) is applied. With a threephase, two-level inverter the possible switch combinations are eight: six active vectors and two zero vectors. As the zero vectors are redundant, the cost function is evaluated for only one of the zero vectors for a total of seven combinations in Fig. 1c to reduce the computation time per execution cycle.

Finite control set MPC
In its standard form, the MPC does not need a pulse width modulation (PWM) or space vector modulator (SVM) to apply the optimum voltage vector generated by Fig. 1c. The optimal voltage vector is applied through the closure of inverter switches in one of the seven possible combinations; this implementation is termed the finite control set (FCS) MPC. The FCS-MPC inherently has a variable switching frequency that may be less than the modulatorbased control implementations but may also exceed depending on the connected machine. For instance, for high-power machines, with low inductance, the FCS-MPC may require a very high switching frequency that might not be available due to hardware limitations, to reduce the ripple in controlled variables. If the switching frequency has an upper limit and the FCS-MPC tends to apply the entire dc-link voltage to the machine for a given (long) switching period, the result can be an overcurrent trip. However, in cases where the machine inductance is compatible with the dc-link voltage, the FCS-MPC can result in reduced switching frequency. Therefore, the variable switching frequency of FCS-MPC should not be overstated as a disadvantage without looking at the average switching frequency with FCS-MPC. The average switching frequency can be significantly lower than the fixed commutation rate usually used with the modulator-based command generation. The FCS-MPC's performance can be compared with modulatorbased control schemes by analysing the average switching frequency.

MPC using a modulator
In cases where the switching frequency is limited and needs to be kept constant, the optimal voltage vector can equally be generated at the machine terminals through PWM or SVM modulation techniques. The flowchart of Fig. 1c for state estimation and cost function minimisation remains valid and the voltage vector corresponding to g c−min is passed onto a modulator that generates the desired voltage at machine terminals. The modulator ensures the switching frequency remains constant and its use brings an added benefit for the control strategy under investigation. With the modulator, it is possible to limit the d s -axis voltage during flux transients to keep i ds , and hence the total phase current, under the inverter ratings because d s -axis current is not one of the state variables in DFCVC control scheme [see (8)]. For fast flux reference tracking, the control action would require the entire available phase voltage to be applied along the d s -axis (8 To explain in detail the principle of modulated MPC presented here, reference is made to Fig. 2c. The vertices of the hexagon represent the six active voltage vectors that the inverter can generate at the machine terminals (that are applied in case FCS-MPC is used). As has been said above, the modulated version of MPC is used here to have a limit on v ds , which is important to keep i ds within the inverter ratings for low impedance machines. This limit is applied without displacing the optimum voltage vector, given by the flowchart of Fig. 1c, from one of the active directions, for instance vector OM in Fig. 2c. The duty cycle is calculated for this vector as OM divided by OB and a zero vector is applied for the remaining time of the switching period. It might be argued that this strategy is similar to deadbeat control but there is a significant difference between limiting the voltage vector and applying the deadbeat control. For instance, the deadbeat control can produce reference voltage anywhere inside the sector (e.g. vector OD in the first sector), the modulation algorithm then has to compute the corresponding duty cycles for components D A (along OA) and D B (along OB) as shown. Clearly, this gives a better control over the controlled variables; however, it must be noted that deadbeat control is more sensitive to parameter detuning compared with MPC. Furthermore, the deadbeat control is not the focus of this paper. Fig. 2a gives the block diagram for the implementation of DFCVC strategy through MPC. The block diagram shows a speedcontrolled drive but it can equally be used for torque control mode. The output of the MPC block is in terms of switching signals for pure FCS-MPC or it is PWM or SVM modulated in case the modulated alternative of MPC is used. In the block named (λ, i qs ) = f(v dc , ω m , T*) are included the operating point dependent functions such as flux-weakening, maximum torque per ampere (MTPA), and MT per volt characteristics of the machine defined as per [21,22]. The output of this block consists of the reference flux and the q s -axis reference current. Fig. 2b shows the details of flux observer and field orientation block, where DT stands for deadtime compensation block and g is the flux observer's crossover frequency (in rad/s) between stator and rotor equation-based estimations. The implementation of flux observer is based on (3) and (4)

Simulation results
The DFCVC scheme using MPC strategy is first verified in simulation using MATLAB Simulink with a non-linear IM model that includes magnetic saturation effects. The data about the induction machine used in simulation and for experiments is given in Table 1. In simulation, the conditions of the drive and machine used in experiments are reflected as much as possible to allow direct comparison between simulation and experimental results. However, the mechanical system in simulations is kept ideal, i.e. only the induction machine's inertia is used disregarding the unknown load inertia and other mechanical losses such as viscous friction are not modelled. This ideality does cause some differences between simulation and experiments in terms of torque and the q saxis current. In Fig. 3a, the flux control is shown with the machine being excited in a ramp to limit the excitation current. The upper plot shows the reference and actual flux, whereas the lower plot gives the resulting d s -axis current. Note that i ds is not controlled directly.
At the end of fluxing period, a fast speed ramp is applied as shown in Fig. 3b (top) for which the q s -axis current is shown in the lower plot of Fig. 3b. Fig. 3c presents the value of cost function at the end of each sampling and execution cycle and the optimum switching states output by the controller.
Further simulation results such as control performance (i) with and without modulator, (ii) under different values of k λ (12) and (iii) comparison with PI-based implementation are not presented for brevity. These comparisons are presented in the experimental results section. The simulation results serve only as proof of concept.

Experimental results
The experiments are performed on an 8.2 kW ABB high dynamic performance delta-connected IM whose detailed parameters are given in Table 1. The rotor mechanical position is obtained through a 17 bit absolute encoder. The control is executed on Texas Instruments' TMS320C6713 floating point digital signal processor and the gating signals for inverter switches are sent over a fibreoptic link. The power converter is a Semitrans Stack from Semikron with insulated-gate bipolar transistor inverter switches rated at 50 A, 1200 V. The measurement sampling frequency is 20 kHz in all cases and the switching frequency is 10 kHz when a modulator is used for MPC and PI regulators. The load torque is applied through a permanent magnet synchronous machine. The photograph of the overall experimental setup is given in Fig. 4c.
The operation sequence is the same as presented in simulation results, i.e. the machine is magnetised through a ramp flux reference and then the speed control mode is activated and load torque is applied in a step.
In Fig. 5a, the flux control performance of DFCVC with FCS-MPC is shown along with the d s -axis current required to magnetise the machine. Figs. 5b and c show flux response for MPC with a modulator and PI-based implementation, respectively. In Figs. 5b and c, it can be observed that the MPC strategy does achieve flux control performance comparable with PI-based implementation   Fig. 5a and with a modulator Fig. 5b; however, the cost paid is in terms of unclean d s -axis current. Using a modulator reduces noise in the d s -axis current compared with FCS even when v ds is not limited.
With the machine magnetised to rated flux, the speed control mode is enabled with a ramp reference speed. Figs. 6a-c give speed control performance of the drive with FCS-MPC, MPC with modulator, and PI regulators, respectively. The load disturbance rejection capability is also demonstrated by applying a step load  The cost function minimisation performance of FCS-MPC is compared with the MPC implementation with a modulator in the entire operation regime, i.e. magnetising (Figs. 5a and b), acceleration, and load application (Figs. 6a and b). The comparison is given in Fig. 7b. It is evident that the modulator-based MPC has a better cost function minimisation capability than FCS-MPC.
Next, the effect of the weighting factor k λ of (12) on the performance of flux loop is analysed during operation. Fig. 7a, second plot, shows the disturbance seen by the flux loop when the speed ramp is applied with k λ set to 1, i.e. the flux and current are given equal priority in the cost function minimisation. The third plot in Fig. 7a corresponds to k λ = 10. The negative implication of unity weighting factor for flux is also seen in the speed response (first plot in Fig. 7a), which is slightly degraded in acceleration phase due to flux disturbance. Therefore, in case of induction machines where the magnetising flux is generated by the stator current, it is imperative to use k λ > 1.
To give a complete panorama of the performance of DFCVC with MPC, it is tested under varying flux set points. The best regime to observe control performance with constantly changing flux reference is the flux-weakening region of drive operation. To enforce the flux-weakening region of operation, the dc-link voltage is reduced to about 20% of its nominal value and the machine is accelerated beyond the base speed (defined as the operating speed at rated flux with a given maximum phase voltage). The results are shown in Fig. 7c where the machine is operated in flux-weakening region and a speed reversal command is issued. As the rotor slows down, the drive comes out of flux-weakening region and the reference flux increases to initial set point and then decreases as a function of speed as the base speed is exceeded. The actual machine flux follows the reference flux quite well as is evident in Fig. 7c. It should be noted that λ lim is calculated from the steadystate q s -axis (7) according to (13) where V qsmax is the maximum q s -axis voltage after subtracting (vectorially) the d s -axis voltage from the available phase voltage, λ rated is the rated flux of the test machine, and sgn is the sign function. The sign of ω m is used to appropriately consider the voltage drop of stator resistance in generating and motoring modes. The resistive drop and the term containing L s can be neglected owing to their small magnitude but are included for exactness. According to the authors' best knowledge, the analysis presented in Figs. 7a and c and supported by experimental results are not found in the literature on predictive control applications to IM drives even for traditional vector control implementations.
A further comparison is in terms of phase currents drawn with the three implementations of DFCVC as shown in Fig. 4a. It is clear that the FCS strategy of MPC that applies the entire dc-link voltage across the machine terminals has the worst current waveform while the PI regulators based implementation has the cleanest phase current waveform. MPC using a modulator has a current waveform somewhere in the middle. The drawback of FCS-MPC in terms of more root-mean-square current, and therefore greater copper losses are effectively circumvented by the modulator-based MPC. The advantage of the latter over the PI controllers is that the controller tuning is excluded that requires accurate machine parameters.
Finally, it is important to consider the resources required by the optimisation-based control algorithms due to the limited time available between successive interrupts of digital signal processors commonly used for drive applications. The elapsed time is measured for the execution of the flowchart of Fig. 1c and is compared with the time needed for control output computation required by PI regulators. The execution time is measured using a digital output of the control board and measuring the pulse duty cycle as a percentage of the sampling time (i.e. 50 μs) as shown in Fig. 4b  the PI-based approach, the time is decisively short (6.4 μs) as the flowchart of Fig. 1c, which is executed seven times in one execution cycle, is excluded. Nevertheless, the MPC-based DFCVC is compatible, with regard to execution time, with lowcost microcontrollers commonly used in drive applications.

Conclusions
This paper has presented DFCVC of an induction machine using MPC-based approach. Two implementations of MPC are examined, the FCS and modulator-based MPC. The advantages of using a modulator over FCS-MPC are highlighted and experimentally verified. The experimental results also highlight the importance of assigning higher weighting factor to flux control part in cost function minimisation, especially in case of induction machines. The control performance is examined for variable flux reference in flux-weakening region of operation.
As MPC is presented as an alternative to linear controller-based DFCVC of induction machines, a comparison between MPC and PI regulators is carried out experimentally. While the FCS-MPC results in stator current with rich harmonic content that negatively influences the drive performance and efficiency, the modulatorbased MPC gives a stator current comparable with PI regulators. However, MPC does have an advantage over PI controllers in that the controller tuning is not necessary with MPC.
Future work in this direction may focus on optimisation of weighting factors for flux and current in cost function. MTPA operation of IM drives can be evaluated through MPC-based DFCVC.