Real-Time implementation of a direct model predictive control algorithm on an industrial control platform
Salminen, Tuukka (2023)
Salminen, Tuukka
2023
Sähkötekniikan DI-ohjelma - Master's Programme in Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-05-17
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202305035056
https://urn.fi/URN:NBN:fi:tuni-202305035056
Tiivistelmä
In recent years, model predictive control (MPC) has been an increasingly researched subject in power electronics. Its ability to handle complex dynamics of higher-order systems, apply constraints on the state, input, and output variables, and simultaneously control multiple control objectives within a single control cycle makes it well suited to power electronics. The challenge of real-time implementation of model predictive control algorithms stems from its high computational burden. The algorithm should be able to solve the optimization problem within tens of microseconds to ensure good performance.
This thesis presents and implements a direct MPC control scheme for a grid-connected two-level voltage source converter with an LCL filter on industrial control hardware. The control objective of the algorithm is to control currents and voltages in the LCL filter simultaneously. Due to control hardware limitations, the LCL filter's grid-side current and capacitor voltage is estimated using an observer. The feasible set of switch positions the MPC considers was reduced through sector identification due to the high computational burden. The results are validated using hardware-in-loop real-time simulations.
The controller shows good tracking of state references during steady state. MPC with a single-step horizon could handle the MPC algorithm's computational burden within a 50\(\mu s\) time window. Two-step horizon MPC could not reach the desired execution time and required more time to enumerate through feasible switch positions. The results show that reducing the feasible set of considered switch positions affects the execution time of the algorithm considerably with horizons larger than one. MPC (eng. model predictive control) on yhä enemmän tutkittu aihe tehoelektroniikkaan liittyvässä käytössä viime vuosien aikana. Sen kyky hallita korkeamman asteen järjestelmien dynamiikkaa, rajoittaa tila-, sisääntulo- ja ulostulomuuttujia sekä hallita useita ohjaustavoitteita yhden ohjausjakson aikana tekevät siitä hyvin soveltuvan tehoelektroniikan laitteisiin. MPC:n reaaliaikaisen käyttöönoton haaste on sen huomattavan suuri laskentakuorma. Algoritmin tulisi kyetä ratkaisemaan optimointiongelma kymmenissä mikrosekunteissa taatakseen hyvän suorituskyvyn.
Tässä työssä esitetään ja toteutetaan suora MPC-säätöalgoritmi kaksitasoiselle LCL-suodattimen kautta verkkoon kiinnitetylle teolliselle ohjausalustalle. Algoritmin ohjaustavoitteena on LCL-suodattimen virtojen ja jännitteiden samanaikainen ohjaus. Ohjausalustan rajoitteiden vuoksi LCL suodattimen verkon puoleinen virta ja kondensaattorin jännite on estimoitu laskennallisella arvioinnilla. Laskentatehon rajoittamiseksi algoritmin harkitsemia kytkinohjeita vähennetään sektoritunnistuksella. Tulokset validoidaan hardware-in-the-loop reaaliaikaisella simulaatiolla.
Ohjausalgoritmi onnistuu seuraamaan tilareferenssejä vakaassa tilassa. Yhden aikajakson horisontin MPC onnistui ylläpitämään algoritmin laskenta-ajan alle 50\(\mu s\) aikaikkunassa. Kahden aikajakson horisontin MPC ei pystynyt saavuttamaan haluttua laskenta-aikaa, ja vaati enemmän laskenta-aikaa läpikäymään kaikki mahdolliset kytkinohjeet. Tulokset osoittavat, että mahdollisten kytkinohjeiden rajoittaminen vaikuttaa algoritmin laskenta-aikaan huomattavasti, kun ennustushorisontin pituus on enemmän kuin yksi.
This thesis presents and implements a direct MPC control scheme for a grid-connected two-level voltage source converter with an LCL filter on industrial control hardware. The control objective of the algorithm is to control currents and voltages in the LCL filter simultaneously. Due to control hardware limitations, the LCL filter's grid-side current and capacitor voltage is estimated using an observer. The feasible set of switch positions the MPC considers was reduced through sector identification due to the high computational burden. The results are validated using hardware-in-loop real-time simulations.
The controller shows good tracking of state references during steady state. MPC with a single-step horizon could handle the MPC algorithm's computational burden within a 50\(\mu s\) time window. Two-step horizon MPC could not reach the desired execution time and required more time to enumerate through feasible switch positions. The results show that reducing the feasible set of considered switch positions affects the execution time of the algorithm considerably with horizons larger than one.
Tässä työssä esitetään ja toteutetaan suora MPC-säätöalgoritmi kaksitasoiselle LCL-suodattimen kautta verkkoon kiinnitetylle teolliselle ohjausalustalle. Algoritmin ohjaustavoitteena on LCL-suodattimen virtojen ja jännitteiden samanaikainen ohjaus. Ohjausalustan rajoitteiden vuoksi LCL suodattimen verkon puoleinen virta ja kondensaattorin jännite on estimoitu laskennallisella arvioinnilla. Laskentatehon rajoittamiseksi algoritmin harkitsemia kytkinohjeita vähennetään sektoritunnistuksella. Tulokset validoidaan hardware-in-the-loop reaaliaikaisella simulaatiolla.
Ohjausalgoritmi onnistuu seuraamaan tilareferenssejä vakaassa tilassa. Yhden aikajakson horisontin MPC onnistui ylläpitämään algoritmin laskenta-ajan alle 50\(\mu s\) aikaikkunassa. Kahden aikajakson horisontin MPC ei pystynyt saavuttamaan haluttua laskenta-aikaa, ja vaati enemmän laskenta-aikaa läpikäymään kaikki mahdolliset kytkinohjeet. Tulokset osoittavat, että mahdollisten kytkinohjeiden rajoittaminen vaikuttaa algoritmin laskenta-aikaan huomattavasti, kun ennustushorisontin pituus on enemmän kuin yksi.