Sequential model predictive direct speed control of PMSM
Lukáš Pancurák, Krisztián Horváth, Karol Kyslan

TL;DR
This paper introduces an improved control strategy for permanent magnet synchronous motors that reduces instability and improves performance.
Contribution
An enhanced sequential direct speed predictive control method is proposed and experimentally validated for PMSM drives.
Findings
The original sequential direct speed control shows good dynamic performance but causes instability and current ripples.
The enhanced method effectively suppresses instabilities and improves speed response.
Experimental validation was conducted using a 1.1 kW PMSM and the OP 5600 platform.
Abstract
Finite control set model predictive control (FCS-MPC) has emerged as a powerful strategy for permanent magnet synchronous motor (PMSM) drives. However, its performance strongly depends on appropriately chosen weighting factors, which directly affect control quality and, in some cases, may even lead to instability. Despite the crucial role of weighting factors, there is no systematic or generally accepted procedure for selecting their values, which limits the robustness and practical applicability of conventional FCS-MPC methods. To overcome this limitation, this paper presents the experimental validation of a sequential direct speed predictive control strategy for PMSM. The individual cost functions are evaluated sequentially, thereby tuning is simplified and weighting factors are reduced. Experimental results show that the original version of sequential direct speed control, as…
Genes, proteins, chemicals, diseases, species, mutations and cell lines named across the full text — each resolved to its canonical identifier and authoritative record.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9- —Scientific Grant Agency of the Ministry of Education, Science, Research and Sport of the Slovak Republic and Slovak Academy of Sciences (VEGA)
- —EU NextGenerationEU Recovery and Resilience Plan for Slovakia
- —University Research Fellowship Program of the Ministry for Culture and Innovation from the source of the National Research, Development and Innovation Fund
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMultilevel Inverters and Converters · Sensorless Control of Electric Motors · Microgrid Control and Optimization
Introduction
Permanent Magnet Synchronous Motors (PMSMs) are widely used in industrial applications due to their high efficiency, power and torque density, and dynamic performance. The most commonly used control method for PMSM is Field-Oriented Control (FOC), which relies on Proportional-Integral (PI) controllers in a cascade structure. However, PI control is fundamentally a linear approach applied to a nonlinear system, which can lead to performance limitations, particularly under transient conditions^1^. Direct Torque Control (DTC) has emerged as a solution to some of the limitations of FOC, while maintaining a simple control structure and improving dynamic performance^2,3^. However, this method still uses a PI controller in the outer loop for speed control. Certain limitations, such as restricted transient-state performance and torque fluctuations at low speed, persist due to the cascaded structure of this method^4^.
In recent years, Model Predictive Control (MPC) has gained attention as a promising alternative to traditional control methods, and has been widely applied in power electronics, drive systems, and power & energy applications^5–13^. In MPC, a system model is used to predict future states that are used to minimize cost function and select optimal control actions^5^. Different control objectives within the cost function are adjusted using weighting factors to fine-tune the performance of the controller^6^. Considering that MPC is an optimal and nonlinear control method^7^, it enables multi-objective control within a single control loop, eliminating the need for a cascaded structure and outer loop PI controllers. Simplicity, intuitive design, easy implementation, and seamless inclusion of constraints and nonlinearities without drawbacks, are among the many advantages of MPC. From the perspective of control objectives, one common approach to designing an MPC controller is to use it as a replacement for the inner-loop controller in traditional schemes. Examples of such implementations include predictive current, torque, or flux control schemes that retain a conventional outer-loop PI speed controller^8–10^, as well as more advanced variants, such as predictive control combined with nonlinear extended state observers, which mitigates steady-state current harmonics and improves control accuracy^14,15^. Advanced MPC scheme that incorporates the DC-link voltage as an explicit constraint in the cost function to suppress voltage oscillations in a film-capacitor-based PMSM drive was proposed in^16^. The inclusion of the voltage constraint provides effective system damping with reduced control set range. Although a faster dynamic response is achieved, the approach still retains the inherent drawbacks of a cascaded control structure and the use of a PI controller.
Multiple different methods were proposed to replace the outer-loop PI controllers with a different type of controllers, such as a deadbeat predictive controller with multi-timescale optimization as speed controller^11^ or sliding-mode controller^12^. As a further step toward simplifying the control architecture a Direct Speed Predictive Control (DSPC) emerged^1,17–19^ which completely eliminates the need for the outer-loop speed controller. This approach enables DSPC to achieve a cascade-free control structure, thereby simplifying the overall controller design. However, DSPC methods typically rely on weighting factors to balance multiple control objectives within the cost function, as a solution to multiobjective optimization problem (MOOP). The selection of these weighting factors is often empirical, time-consuming, and does not guarantee optimal control across different operating conditions. Some of the proposed solutions are either revolving around eliminating the weighting factors or adjusting them based on operating conditions^20^. This includes the use of two distinct cost functions, one for the transient state and another for the steady state^21^, or the implementation of more complex techniques, such as lexicographic optimization to solve the MOOP^22^. Another approach avoids weighting factors altogether by decoupling the control objectives, handled by a two-level hysteresis-based predictive controller^23^. Although these methods offer partial solutions to the issues outlined above, they often add complexity, increase computational burden, or may not be extended to direct speed control.
Another approach to address the issue of elimination of weighting factors is Sequential Predictive Control (S-PC), which evaluates control objectives in a stepwise manner, reducing the candidate switching states iteratively until the optimal voltage vector is selected^24–31^. Although the S-PC is a relatively recent method, it has already been widely adopted, although primarily for torque and flux control, while still using a PI controller for the outer-loop speed regulation. Despite this, it has already demonstrated promising results when compared to conventional methods that use traditional cost functions. This approach simplifies controller design while maintaining controller performance. However, as mentioned in multiple studies, challenges have emerged regarding the prioritization of the cost functions. In other words, determining which control objective should be addressed first is critical, as an incorrect choice can lead to controller instability^25,27^. Overall, this approach shows improved control performance, however, it still retains inherent drawbacks due to the cascade structure with a PI speed controller in the outer loop. Just very recently simulation study of Sequential Direct Speed Predictive Control (S-DSPC) has emerged^32^. This method eliminates weighting factors while taking advantage of the sliding manifold proposed in^18^, essentially helping speed error to converge faster, resulting in improved dynamic performance.
However, it should be noted that sequential evaluation inherently sacrifices global optimality, as decisions at earlier stages restrict the solution space for subsequent objectives, as analyzed in^33^. Nevertheless, such methods remain attractive for research, since they offer potential advantages, such as elimination of weighting factors, simplified implementation and a flexibility in design of additional control objectives^31^.
The motivation of this work is to overcome the practical challenges that currently limit the applicability of sequential direct speed predictive control in PMSM drives. Conventional DSPC requires tuning of multiple weighting factors, while sequential DSPC avoids weighting factors but has so far only been studied in simulation. This creates a need for experimental validation of sequential direct speed predictive control and to assess its performance. The main contributions of this paper can be summarized as follows:
- To the best of the authors’ knowledge, the first experimental validation of original sequential direct speed predictive control (S-DSPC): The method is validated by laboratory experiments with 1.1 kW PMSM drive, thus extending previous simulation-only study^32^.
- Comparison with conventional DSPC: Experimental results show that S-DSPC achieves promising dynamics with simpler tuning, but may suffer from instability and current distortions.
- Proposal of an enhanced S-DSPC (ES-DSPC): By modifying the cost function with a speed-scaling term and refining the sequence of objective evaluation, the enhanced method eliminates instabilities, supports larger sliding manifold constants, and improves the speed dynamic response. The THD values obtained are, however, relatively high. This is an inherent limitation of the presented method, as it was not primarily explicitly optimized for harmonic reduction.
The paper is structured as follows. First, the mathematical model of the permanent magnet synchronous machine (PMSM) is presented, together with the discrete-time predictive model used for state prediction and the sliding-mode load-torque observer employed for disturbance estimation. Next, the conventional direct speed predictive control (DSPC) strategy is reviewed to establish a reference framework. This is followed by a comprehensive description of the proposed sequential DSPC scheme and its enhanced variant, including the formulation of the cost functions, the sequential objective evaluation procedure, and the overall control algorithm. Subsequently, simulation results comparing the conventional DSPC and the enhanced sequential DSPC methods are presented and analyzed using multiple quantitative performance metrics. The experimental setup is then described in detail, and the experimental results are provided to validate the proposed control approach under practical operating conditions. Finally, the paper concludes with a summary of the main findings and discusses directions for future research.
Mathematical models of PMSM and inverter
Model of surface-mounted PMSM
The continuous time model of surface-mounted PMSM (SM-PMSM) in synchronous rotating reference frame can be expressed as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{di_d}{dt}&= \frac{1}{L_s}(u_d - R_s i_d + \psi _q\omega _e), \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{di_q}{dt}&= \frac{1}{L_s}(u_q - R_s i_q - \psi _d\omega _e), \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{d\omega }{dt}&= \frac{1}{J}(T_e - T_L - B\omega ), \end{aligned}$$\end{document}where:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \psi _d&= L_si_d + \psi _{pm}, \\ \psi _q&= L_si_q. \end{aligned}$$\end{document}Since for surface-mounted PMSM the reluctance remains the same along both the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d$$\end{document} -axis and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$q$$\end{document} -axis, resulting in identical inductances ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L_q = L_d = L_s$$\end{document} ), the torque can be expressed as:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} T_e = \frac{3}{2}p\psi _{pm}i_q, \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_d$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_q$$\end{document} are the d- and q-axis voltages [V], \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_d$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_q$$\end{document} are the d- and q-axis currents [A], \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _e$$\end{document} is the electrical angular velocity [rad/s] ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _e = p\omega$$\end{document} ), \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega$$\end{document} is the mechanical angular velocity [rad/s], p is the rotor pole pairs, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\psi _d$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\psi _q$$\end{document} are the d- and q-axis components of the stator flux vector [Wb], \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\psi _{pm}$$\end{document} is the permanent magnet flux linkage [Wb], \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_s$$\end{document} is the stator resistance [ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Omega$$\end{document} ], \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L_s$$\end{document} is the stator inductance [H], \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$T_e$$\end{document} is the electrical torque [Nm]; \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$T_L$$\end{document} is the load torque [Nm], B is a linear viscous friction coefficient [Nms/rad] and J is the total inertia recalculated on the motor side [ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$kg m^2$$\end{document} ].
Inverter model
A two-level voltage source inverter (2L-VSI) is used to generate stator voltage from DC line voltage. The switches in each phase operate in complementary manner, with states represented by \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_a$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_b$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_c$$\end{document} , determining the output voltage:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} v_s = \frac{2}{3}V_{dc}(S_a + S_be^{\frac{j2\pi }{3}} + S_ce^{\frac{j4\pi }{3}}), \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$V_{dc}$$\end{document} is DC link voltage. The 2L-VSI generates eight discrete voltage vectors: six active vectors ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_1 - u_6$$\end{document} ) and two zero vectors ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_0$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_7$$\end{document} ). The vector magnitudes and their corresponding switching states are presented in Table 1.
Predictive model of PMSM
To implement the model-predictive controller, future values of the machine’s current, speed, and torque must be predicted. These predictions are obtained from the discrete-time model of the PMSM. Mechanical equations (3) and (4) are discretized using a second-order Taylor series expansion, while the current equations (1) and (2) are discretized using a first-order Taylor series expansion. Second-order discretization is necessary for the mechanical equations to ensure that the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d,q$$\end{document} voltages explicitly appear in the resulting discrete equations. This yields the following discrete model of PMSM:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} i_d^p(k+1)&= a_1i_d(k)+a_2\omega (k)i_q(k) + a_3u_{di}(k), \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} i_q^p(k+1)&= a_1i_q(k)-a_2\omega (k)i_d(k) - a_4\omega (k) + a_3u_{qi}(k), \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \omega ^p(k+1)&= a_5 \omega (k) + a_6 i_q (k) + a_7 \hat{T}_L(k) + a_8 \omega (k) i_d(k) + a_9 u_{qi}(k) , \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} T_e^p(k+1)&= \frac{3}{2}p\psi _{pm} i_q^p(k+1), \end{aligned}$$\end{document}Table 1. Possible Switching States and Generated Voltage Vectors of Two-Level Voltage-Source Inverter.Switching StateVoltage Vector \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_a$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_b$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S_c$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_\alpha$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_\beta$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_0$$\end{document} 00000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_1$$\end{document} 100 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$2V_{dc}/3$$\end{document} 0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_2$$\end{document} 110 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\sqrt{3}V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_3$$\end{document} 010 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\sqrt{3}V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_4$$\end{document} 011 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-2V_{dc}/3$$\end{document} 0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_5$$\end{document} 001 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-\sqrt{3}V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_6$$\end{document} 101 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-\sqrt{3}V_{dc}/3$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_7$$\end{document} 11100
where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_{di}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_{qi}$$\end{document} represent the voltages corresponding to all possible switching states, as listed in Tab. 1, and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\hat{T}_L$$\end{document} is the estimated value of the load torque, which is discussed in more detail in the following subsection. The constants \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$a_1$$\end{document} - \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$a_9$$\end{document} represent model parameters and are calculated as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_1&= 1 - \frac{T_s R_s}{L_s}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_2&= T_s p, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_3&= \frac{T_s}{L_s}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_4&= \frac{T_s \psi _{pm} p }{L_s}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_5&= 1 - \frac{T_s B}{J} - \frac{a_{10}\psi _{pm} p T_s^2}{2J} + \frac{a_{11} B T_s^2}{2}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_6&= \frac{3T_s p \psi _{pm}}{2J} - \frac{a_{10}R_s T_s^2}{2J} - \frac{a_{11}3p \psi _{pm} T_s^2 }{4}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_7&= - \frac{T_s}{J} + \frac{a_{11}T_s^2}{2}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_8&= - \frac{a_{10}pL_s T_s^2}{2J}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_9&= \frac{a_{10}T_s^2}{2J}, \end{aligned}$$\end{document}where
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_{10}&= \frac{3p\psi _{pm}}{2L_s}, \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} a_{11}&= \frac{B}{J^2}, \end{aligned}$$\end{document}and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$T_s$$\end{document} is the sampling time. The coefficients (10)-(18) are utilized in the discrete model equations (6)-(8) for predicting the machine states. The robustness of this discrete predictive model against parameter variations was verified in^34^, where the same predictor equations were applied within a sequential direct speed predictive control scheme. The study confirmed that the controller remained stable under variations in stator resistance, inductance, inertia, and flux, thereby validating the applicability of the model.
Sliding-mode load torque observer
As evident from (8), the accurate operation of the predictive model relies on knowing the value of the load torque. Since this information is typically not available or measurable, the load torque must be observed. Several methods can be applicable for load torque observation, including the Luenberger observer^35^, Kalman filter^4,19^, or sliding-mode observers^36,37^. The primary goal in selecting a specific type of load torque observer was to preserve the simplicity of the control structure while ensuring that control performance was not adversely affected. Based on the literature^36,37^, where the sliding-mode observer was paired with the predictive controller, it was determined that the sliding-mode observer offers the best compromise due to its relatively simple design and low computational requirements combined with robust behavior. Therefore, the sliding mode load torque observer (SMLTO) was implemented to estimate the load torque in this paper, based on mechanical variables of PMSM. The SMLTO is derived from the torque equation (4) and motion equation of PMSM, resulting in the state space equation describing the mechanical part of PMSM:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \begin{bmatrix} \dot{\omega } \\ \dot{T}_L \end{bmatrix} = \begin{bmatrix} -\frac{B}{J} & -\frac{1}{J} \\ 0 & 0 \end{bmatrix} \begin{bmatrix} \omega \\ T_L \end{bmatrix} + \begin{bmatrix} \frac{3p\psi _{pm}}{2J} \\ 0 \end{bmatrix} i_q. \end{aligned}$$\end{document}Based on state-space model given by (21), after substituting the motor variables into the general sliding mode observer equation, the discrete SMLTO takes the following form:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \begin{bmatrix} \hat{\omega }(k+1) \\ \hat{T}_L(k+1) \end{bmatrix} = \begin{bmatrix} 1 -\frac{B T_s}{J} & -\frac{T_s}{J} \\ 0 & 1 \end{bmatrix} \begin{bmatrix} \hat{\omega }(k) \\ \hat{T}_L(k) \end{bmatrix} + \begin{bmatrix} \frac{3p\Psi _{PM} T_s}{2J} \\ 0 \end{bmatrix} i_q(k) + \begin{bmatrix} 1 \\ m \end{bmatrix} \xi \Big (\omega (k) - \hat{\omega }(k) \Big ), \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\hat{\omega }$$\end{document} is estimated mechanical speed, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\hat{T}_L$$\end{document} is estimated load torque, m is a feedback gain of the SMLTO and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\xi$$\end{document} is the sliding mode control function of the speed estimation error. The feedback gain must be negative ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$m < 0$$\end{document} ) to ensure that estimation error will converge to zero^38^. The estimated load torque \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\hat{T}_L$$\end{document} is then fed into the control algorithm of sequential model predictive control.
Conventional direct speed predictive control
This section describes the conventional direct speed predictive control of PMSM shown here as it will serve as a reference for comparison with our proposed sequential MPC method. The finite control set MPC (FCS-MPC) controller was designed, similar to the one previously published in^19^. However, in practical implementation of the predictive control, finite computation time must also be taken into account. It introduces a delay between state measurement and the application of the selected switching vector, due to the time required to compute predictions and evaluate the optimization algorithm. If this delay is not considered, the control action is based on outdated system information, which degrades dynamic response and increases current ripple. To achieve better controller performance, computational delay compensation, using two-step prediction compensation (TSC), was implemented, in the way described in^19,39^. The TSC approach compensates for this effect by predicting the system state two sampling steps ahead: the first step accounts for the computational time, while the application of the switching states is moved to the beginning of the next sampling interval. This aligns the prediction with the actual actuation instant, leading to improved prediction accuracy.
Optimization criterion for this control method can be defined by following cost function:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} J&= \underbrace{\lambda _\omega \big (\omega ^*(k)-\omega ^p(k+2)\big )^2}_a + \underbrace{\lambda _{i_d} \big (i_d^P(k+2)\big )^2}_b + \underbrace{\lambda _{i_q} \big (i_q^*(k+2) - i_q^p(k+2)\big )^2}_c + \underbrace{f\big (i_d^p(k+2),i_q^p(k+2)\big )}_d, \end{aligned}$$\end{document}where reference values are denoted by superscript “*”, and predicted values by “p” superscript. The control objectives described by each term of the cost functions can be summarized as follows:
- ensures tracking of the speed reference \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega ^*$$\end{document} ,
- ensures a maximum torque-per-ampere optimization,
- ensures a tracking of torque generating current \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_q^*$$\end{document} ,
- provides a limitation maximal current, where terms a, b and c are weighted by weighting factors \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda _\omega$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda _{i_d}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda _{i_q}$$\end{document} , respectively. The nonlinear function, described by term d, for limiting the amplitude of the stator current vectors, is defined as:
where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_s^p$$\end{document} is vector of current magnitude and is calculated as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_s = \sqrt{{i_d^p}^2 + {i_q^p}^2}$$\end{document} . For clarity, the overcurrent protection (24) (term d) will be denoted as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_{oc}^p$$\end{document} in the remainder of the paper. The resulting DSPC control algorithm consists of the following steps:
- measurement of phase currents and angular position,
- application of selected switching states to the inverter.
- calculation of controlled variables ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_d^p, i_q^p, \omega ^p$$\end{document} ) for the next sampling instant \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$t_{k+1}$$\end{document} , based on just applied voltage vectors \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_d(k)$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_{q}(k)$$\end{document}
- estimation of mechanical load torque \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\hat{T}_{L}$$\end{document} using SMO,
- prediction of controlled variables ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_d^p, i_q^p, \omega ^p$$\end{document} ), using estimated values, for the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$t_{k+2}$$\end{document} sampling instant, for all possible inverter switching states, given by voltage vectors \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_{di}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$u_{qi}$$\end{document} ,
- evaluation of the cost function J for each prediction,
- selection of optimal actuation,
Detailed description of conventional DSPC can be found in^18,19^.
Sequential direct speed predictive control
Sequential DSPC
Compared to the conventional DSPC described in the previous section, which relies on a single cost function consisting of multiple control objectives, S-DSPC evaluates a series of cost functions, each dedicated to a specific control objective. These cost functions are processed sequentially. In each step, the worst-performing voltage vector candidates are eliminated based on the predicted and reference values relative to the given control objective. This progressive elimination of suboptimal candidate vectors, and consequently the reduced number of required predictions, provides an opportunity to simplify the algorithm. As each sequence considers only a single control objective, there is no need for the weighting factors to be implemented, eliminating the need for weight tuning. This is especially advantageous given the absence of a universally applicable method for weight tuning.
The following cost functions, as proposed in^32^, were formulated for experimental verification with TSC implemented:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} J_{\omega }&= \big (\omega ^*(k) - \omega ^p(k+2)\big )^2 + i_{oc}^p(k+2), \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} J_{i_d}&= \big (i_d^p(k+2)\big )^2 + i_{oc}^p(k+2), \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} J_{T_e}&= \mid S \mid + i_{oc}^p(k+2). \end{aligned}$$\end{document}The proposed control scheme is shown in Fig. 1. The cost functions are evaluated iteratively. At each stage, the candidate set is reduced to about half its size, starting from seven vectors and narrowing down to the final voltage vector. Given that inertia, and therefore the mechanical time constant is significantly higher than the electrical time constant, it was determined that the most effective approach is to first evaluate the cost function \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_{\omega }$$\end{document} and select the four vectors with the lowest error values. The selected vectors are then evaluated in the next sequence using the cost function \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_{i_d}$$\end{document} , for maximum torque per ampere ratio. The two vectors with the lowest error values are then selected to proceed to the following sequence. Note, that it is necessary to calculate \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_d$$\end{document} current predictions only for four selected vectors, as three vectors were already eliminated in the previous sequence. In the final sequence, the optimal voltage vector is selected based on the cost function (27), where optimal torque control is the primary selection criterion. The choice of the elimination sequence (7 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\rightarrow$$\end{document} 4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\rightarrow$$\end{document} 2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\rightarrow$$\end{document} 1) was not arbitrary. Based on the different time scales of the mechanical and electrical dynamics, the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$J_\omega$$\end{document} cost function was prioritized in the elimination process. Also, through systematic testing of various alternative patterns, we found that only this configuration consistently ensured reliable operation, whereas other combinations resulted in slower dynamics, infeasible real-time implementation, or even a failure of the algorithm.Fig. 1. Control diagram of proposed sequential DSPC.
Instead of the conventional torque control term, a sliding manifold, as proposed in^18^, was implemented to improve speed control performance. The sliding manifold term \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S$$\end{document} is defined as a function of speed and torque error as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} S = ce_\omega - e_{T_e}, \end{aligned}$$\end{document}where
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} e_\omega&= \omega ^*(k) - \omega ^p(k+2), \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} e_{T_e}&= T_e^p(k+2) - \hat{T}_L(k). \end{aligned}$$\end{document}The MPC can naturally drive error terms in the cost function to approach zero. However, the convergence rate of the sliding manifold term is much faster than that of the speed error term. As a result, the sliding manifold term \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S$$\end{document} , described in (28) converges to zero faster when the speed changes. This is because \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$S$$\end{document} is a linear combination of the speed error (29) and torque error (30), as proposed in^18^. The parameter \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c$$\end{document} shapes the structure of the sliding manifold rather than balancing multiple objectives. In this formulation, the sliding-manifold term addresses a single objective related to torque dynamics, while \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c$$\end{document} merely adjusts the dynamic coupling and adds an additional degree of freedom for adjusting the transient response. This parameter should be selected according to the difference between the mechanical and electrical time constant. The resulting value should be greater than zero. A higher value leads to a faster dynamic response but also increases fluctuations in the measured values.
Enhanced sequential DSPC
The experimental verification of S-DSPC, described in the previous subsection, revealed issues with controller instability and significant current ripples, particularly for increased sliding manifold constant c. To mitigate these effects, the coefficient c for S-DSPC had to be reduced significantly, which constrained achievable dynamic performance of the controller, by limiting the speed of error convergence and slowing the transient response.
Upon investigating potential solutions, we found that controlling \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d$$\end{document} -axis current \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_d$$\end{document} in the first term improves the overall performance. As a result, the cost function was modified as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \begin{aligned} J_{\omega }&= \big (\omega ^*(k) - \omega ^p(k+2)\big )^2 + \frac{|\omega ^*|}{\omega _n}\big (i_d^p(k+2)\big )^2 + i_{oc}^p(k+2), \\ J_{i_d}&= \big (i_d^p(k+2)\big )^2 + i_{oc}^p(k+2), \\ J_{T_e}&= \mid S \mid + i_{oc}^p(k+2). \end{aligned} \end{aligned}$$\end{document}In the first cost function, the term \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\tfrac{|\omega ^*|}{\omega _n}$$\end{document} represents the speed scaling factor, where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _n$$\end{document} is the nominal speed of the motor in [rad/s]. Speed scaling factor adjusts the weighting of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_d$$\end{document} current to ensure that the control objective dynamically adapts to changes in the reference speed. To provide a clear understanding of the finalized implementation of the S-DSPC control scheme, the sequential cost function evaluation and candidate vector selection procedure is summarized in the Algorithm (1).
Algorithm 1Pseudo-algorithm of Enhanced Sequential DSPC (ES-DSPC).
Simulation results
Both ES-DSPC and C-DSPC methods were simulated in MATLAB/Simulink using a Simscape-based PMSM model, with the inverter transistors represented as ideal semiconductor switches. The sampling time was set to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$25~\mu$$\end{document} s and the fundamental sample time to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$1~\mu$$\end{document} s. The simulation results for a step change of the speed reference to the nominal value, followed by a step application of the nominal load torque, are presented in Fig. 2. To enable a fair comparison, both methods were tuned to achieve identical rise times, and the remaining performance metrics were subsequently compared. In both methods, the same SMLTO with cutoff frequency 400 Hz and sigmoid-based switching function was used for load-torque estimation. Performance metrics were evaluated, and the final results are reported in Table 2.Fig. 2. Simulation results, comparison of C-DSPC (top row figures) and ES-DSPC (bottom row figures) for rated load.Table 2. Selected metrics for simulation comparison of FCS-MPC and ES-DSPC method.MethodRise time [ms]Speed RMSE [rpm]Current THD [%] \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\text{ i}_{\text{ q } - \text{ ripple,rms }}$$\end{document} [%]C-DSPC5511.314.489.97ES-DSPC5514.214.0212.12
The speed RMSE indicates that the C-DSPC achieves a lower tracking error (11.3 rpm) compared to the ES-DSPC (14.2 rpm). This suggests that, under the selected tuning, the ES-DSPC slightly compromises speed tracking accuracy in steady state. The increase in RMSE can be attributed to the additional decision constraints introduced by the sequential evaluation, which limit the available voltage vectors in each sampling interval. It should be emphasized that the speed RMSE can be further reduced by appropriate retuning of both controllers or by augmenting the cost function with an integral term.
The current harmonic distortion is marginally improved when using ES-DSPC. The total harmonic distortion of the stator current is reduced from 14.48 % for C-DSPC to 14.02 % for ES-DSPC. Although the improvement is modest, it indicates that the ES-DSPC can be competitive. A similar trend can be observed in the torque–producing current ripple. The value of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_{q-RMS}$$\end{document} ripple increases from 9.97 % in C-DSPC to 12.12 % in ES-DSPC. This increase reflects a trade–off introduced by the enhanced sequential prediction strategy: while harmonic content is similar, the reduced flexibility in vector selection leads to a higher ripple in the torque–generating current component.
The primary objective is to investigate whether a comparable and competitive control performance can be achieved with a reduced number of weighting coefficients in the cost function, thereby simplifying the tuning process. The simulation results confirm that this objective is met. Despite the reduced tuning dimensionality, the ES-DSPC preserves identical dynamic performance in terms of rise time and achieves current harmonic distortion comparable to the conventional C-DSPC.
Experimental results
In this section, the performance of the proposed sequential DSPC method, along with its enhanced version, was analyzed under various operating conditions and compared against conventional DSPC. The experimental setup consisted of the OPAL-RT OP5600 used as rapid control prototyping controller, interfaced using RT-LAB 11.3.6 software. The control algorithms were developed and executed using MATLAB/Simulink R2017a. The experimental platform included a 1.16-kW PMSM by TG Drives, driven by the INFINEON EVAL-M1-IM818-A development board. The system operated at a sampling frequency of 40 kHz. An induction motor, driven through industrial frequency converter Siemens Sinamics G120, and parametrized via Siemens Starter V5.6 HF2 software was used as a load machine. The rotor position of the PMSM was measured using an incremental encoder with 1024 pulses per revolution. This configuration enables comprehensive validation of the control strategies under a variety of operating conditions. Key performance indicators, including steady-state accuracy, dynamic response, and total harmonic distortion (THD), were evaluated based on measured data. The experimental setup is shown in Fig. 3, and its parameters used for validation of all methods are listed in Tab. 3.Fig. 3. Experimental test bench, (1) OP 5600 rapid control prototyping controller, (2) load induction machine, (3) PMSM machine, (4) VSI INFINEON development kit, (5) loading industrial inverter, (6) PC for control of loading.
The conventional DSPC with empirically selected weighting factors was used as a performance reference for the proposed method. Fig. 4 shows the experimental results obtained using the conventional method, showing the measured speed, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$q$$\end{document} -axis and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d$$\end{document} -axis currents, and spectral analysis. The speed reference is set to 80% of the nominal value, with a steep ramp-up and ramp-down of 250 ms. The dynamic response to a step load torque of 7 Nm can be observed in the speed and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$q$$\end{document} -axis current, highlighting effective transient performance.
Relatively high current ripples and a total harmonic distortion (THD) of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$18.43\%$$\end{document} can be observed in Fig. 4. While the obtained THD value is relatively high, it is a consequence of the inherent properties of direct speed control structure evaluating speed and current within single objective function.Table 3. Parameters of PMSM, type TGN3-0480-30-560 T1B, and predictive algorithm.SymbolQuantityValue \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$V_{DC}$$\end{document} DC link voltage560 V \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$P_n$$\end{document} nominal power1162 W \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_n$$\end{document} [rpm]nominal speed3000 rpm**p [-]pole pairs5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\psi _{pm}$$\end{document} permanent magnet flux linkage0.2267 Wb**Jmotor inertia0.00095 kgm \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^2$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_{2ph}$$\end{document} phase resistance7.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Omega$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$L_{2ph}$$\end{document} phase inductance22.7 mH \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$T_s$$\end{document} sampling time25 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} smfeedback gain of SMLTO−80
Fig. 4. Experimental results, conventional DSPC with weighting factors \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda _\omega = 9$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda _{i_d} = 1$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda _{i_q} = 1$$\end{document} .
Experimental validation of S-DSPC
The performance of S-DSPC was evaluated and compared under various operating conditions and with different values of the sliding manifold constant. The original S-DSPC implementation exhibited occasional instabilities and pronounced current ripple, as shown in Fig. 5, while their occurrence is largely independent of the selected value of the sliding manifold constant. In practice, it was not possible to operate this method with sliding manifold constant values above \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c>0.5$$\end{document} , since higher values consistently led to unstable behavior. This limitation prevented further increase of c and restricted the achievable dynamic performance of the controller. Conversely, reducing c does not improve the performance of the controller enough to eliminate instabilities completely. Due to the instabilities of S-DSPC, it was not possible to achieve stable operation at higher speeds under the same load torque. Therefore, experiments were limited to 40% of the nominal speed.
Nevertheless, the experiments indicate that the sequential control principle itself is viable, as the controller is capable of regulating speed and responding to load disturbances, although with poor robustness and significant current ripple. This observation suggests that the main limitation lies in the original formulation rather than in the sequential concept itself, which motivated the development of the Enhanced S-DSPC approach, whose experimental results are presented in the following subsection.Fig. 5. Experimental results, original sequential DSPC with sliding manifold constant \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c = 0.1$$\end{document} .
Experimental validation of Enhanced S-DSPC
Results of the enhanced version of sequential control can be observed in Fig. 6. To investigate the effect of the sliding-manifold term on both dynamic and steady-state performance, fast ramp changes in the reference speed and step load torque variations were applied for different values of the coefficient c. The values of c can now be raised, increasing the convergence of speed error and improve dynamic performance as intended. Instabilities were effectively eliminated, and as a result, current ripples were reduced compared to previous S-DSPC method. Notably, increasing c enhances the dynamic performance at the expense of increased current distortion. As expected, the improved dynamic performance comes at the cost of increased \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$q$$\end{document} -axis current peaks during loading and transient states.
Fig. 6 also illustrates improvement in the phase currents compared to the S-DSPC method. This is also confirmed in Fig. 7 showing spectral analysis of the phase currents under different values of constant c. Instabilities were eliminated and comparative values of THD with the conventional DSPC method were obtained. Table 4 summarizes the performance in experimental verification of the ES-DSPC method for different values of the sliding manifold constant c. For low values of the sliding manifold constant ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c = 0.2$$\end{document} ), the controller exhibits the highest speed RMSE under both unloaded and loaded conditions, indicating limited corrective action of the sliding-mode-based term and reduced capability to reject load disturbances. In contrast, this setting results in the lowest current total harmonic distortion (THD) and the smallest ripple in the torque-producing current \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_q$$\end{document} , reflecting smoother current waveforms and less aggressive switching behavior.Fig. 6. Experimental results, ES-DSPC ramp startup and loading for different sliding-manifold constants c.Fig. 7. Spectral analysis for different values of c from Fig. 6.Table 4. Selected metrics for experimental comparison of ES-DSPC method for different values of sliding manifold constant c for experimental results from Fig. 6.ValueSpeed RMSE - No load [rpm]Speed RMSE - Loaded [rpm]Current THD [%] \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\text{ i}_{\text{ q } - \text{ ripple,rms }}$$\end{document} [%]c = 0.221.2834.3314.8815.79c = 0.810.6423.7116.4420.04c = 3.27.7422.5719.6223.41
Increasing c to 0.8 significantly reduces speed RMSE under both operating conditions, demonstrating improved speed error suppression and enhanced robustness against load torque variations. This improvement is accompanied by a moderate increase in current THD and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$i_q$$\end{document} ripple, which can be attributed to more active control intervention.
For the highest tested value ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$c = 3.2$$\end{document} ), the controller achieves the lowest speed RMSE, particularly in the unloaded case, confirming that larger values of c accelerate speed convergence and strengthen disturbance rejection. However, this benefit comes at the expense of degraded current quality, as evidenced by the highest THD and current ripple.
The experimental results indicate that the sliding-manifold constant c fundamentally governs the compromise between speed-tracking accuracy and current quality in the ES-DSPC method. An intermediate range of c achieves an optimal balance, substantially reducing speed error while keeping current ripple and THD within acceptable limits. Decreasing c beyond this range does not lead to further meaningful THD reduction, limiting the practical benefits of this method.
To further evaluate the transient performance of the proposed ES-DSPC, additional experiments in Fig. 8 were conducted using a fast ramp speed reversal with a transition time of 100 ms. At the time instant, the rotor speed \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{act}$$\end{document} is reversed from 1200 rpm to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-1200$$\end{document} rpm without load. It can be observed that increasing c leads to more accurate tracking of the speed reference during the transient, confirming the improved dynamic behavior of the controller.Fig. 8. Experimental results, ES-DSPC speed reversal for different values of c.
Conclusion
This paper investigated a sequential direct speed predictive control strategy for PMSM drives and analyzed its practical applicability. An enhanced formulation of the method was introduced to address stability and performance limitations observed in the baseline sequential approach. The study highlighted both the potential and the current limitations of sequential predictive control when applied to direct speed control. While the enhanced formulation improves operational robustness and enables simple controller tuning, a trade-off between the dynamic performance and the current ripple remains a key challenge. The findings indicate that, although sequential direct speed predictive control is a promising alternative to the conventional FCS-MPC approaches, further development is required to reduce distortion of the currents. This is especially important for higher-power systems, where requirements for current THD are very strict.
Future research will therefore focus on systematic THD reduction strategies and stability analysis. It is anticipated that further performance improvements could be achieved by extending the proposed control formulation with an additional degree of freedom; such as incorporating an integral term within the predictive control structure. A systematic investigation of this approach is left for future work. To the authors’ knowledge, this work represents an early experimental exploration of sequential direct speed predictive control for PMSM drives. Without significant improvements of sequential strategy, the benefits of proposed sequential direct speed control cannot outweigh performance of other predictive control strategies.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Wang, F., Zhang, Z., Mei, X., Rodríguez, J. & Kennel, R. Advanced control strategies of induction machine: Field oriented control, direct torque control and model predictive control. Energies 11, 10.3390/en 11010120 (2018).
- 2Rodriguez, J. & Cortes, P. Model Predictive Control, vol. 1, chap. 3, 31–39 (John Wiley & Sons, 2012).
- 3M, D., Samithas, D., Kumar B, P. & Shitharth. Experimental analysis of enhanced finite set model predictive control and direct torque control in SRM drives for torque ripple reduction. Scientific Reports 14, 10.1038/s 41598-024-65202-1 (2024).10.1038/s 41598-024-65202-1PMC 1126337539039123 · doi ↗ · pubmed ↗
- 4Zhou, W., Song, Z., Xiao, X., Guo, Y. & Mo, Y. Sliding mode speed control for PMSM based on model predictive current. Electronics 13, 10.3390/electronics 13132561 (2024).
- 5Gao, X., Abdelrahem, M., Hackl, C. M., Zhang, Z. & Kennel, R. Direct predictive speed control with a sliding manifold term for PMSM drives. IEEE Trans. Emerg. Sel. Topics Power Electron.8, 1258–1267, 10.1109/JESTPE.2019.2923285 (2020).
- 6Pancurák, L., Jure, T. & Kyslan, K. Finite control set model predictive direct speed control of PMSM. In EDPE, 2023 International Conference on Electrical Drives and Power Electronics, 396–401, 10.1109/EDPE 58625.2023.10274055 (2023).
- 7Shahid, M. et al. Optimal weighting factor design based on entropy technique in finite control set model predictive torque control for electric drive applications. Scientific Reports 14, 10.1038/s 41598-024-63694-5 (2024).10.1038/s 41598-024-63694-5PMC 1115027338834768 · doi ↗ · pubmed ↗
- 8Abu-Rub, H., Malinowski, M. & Al-Haddad, K. Model Predictive Speed Control of Electrical Machines, vol. 1, chap. 19, 608–629 (Wiley-IEEE Press, 2014).
