Model Predictive Control of Boost Converter
Summary
TLDR本视频详细讲解了如何为Boost转换器设计模型预测控制(MPC)系统,重点是输入电流或输出电压控制。通过介绍系统参数、导出转换器的微分方程,视频逐步引导观众理解有限控制集模型预测控制和Boost转换器的基础知识。控制变量为电感电流,使用Euler前向方法进行预测。视频还深入分析了Boost转换器的电路模型,并根据开关状态推导出电感电流的导数方程。接着,通过Matlab Simulink演示了模型预测控制的编码过程,包括预测函数的编写、成本函数的确定以及最小化误差的策略。此外,还探讨了如何通过调整成本函数减少开关频率,以及如何利用PI控制器间接控制输出电压,最后通过动态调节PI控制器参数以优化系统性能。
Takeaways
- 🔌 设计了一个用于Boost转换器的模型预测控制(MPC),专注于输入电流或输出电压的控制。
- 📈 引入了系统参数和转换器的导数方程,这是理解和设计MPC的基础。
- 🛠️ 讨论了有限控制集模型预测控制的概念,并将其应用于Boost转换器,以电感电流作为控制变量。
- 🔢 使用Euler前向方法对控制变量进行预测,提供了预测功能的数学表达式。
- ⚙️ 分析了Boost转换器的电路模型,强调了开关状态对电路分析的重要性,并导出了两个可能的开关状态下的电感电压函数。
- 📊 提出了成本函数(误差函数),用于评估电感电流的预测值与参考值之间的偏差。
- 🔍 通过最小化成本函数来寻找最优开关状态,这是MPC策略的核心。
- 💻 展示了如何在Matlab Simulink中实现MPC,包括预测函数和最小化误差的过程。
- 🎛️ 引入了一个新的成本函数来控制开关频率,通过调整权重因子来平衡系统性能与开关频率。
- 🔋 展示了如何设计输出电压控制,包括PI控制器的应用以产生电感电流参考,从而间接控制输出电压。
- 📝 讨论了PI控制器参数的手动调整过程,以及如何通过实验确定这些参数以优化系统的动态响应。
Q & A
什么是模型预测控制?
-模型预测控制(MPC)是一种先进的控制策略,用于实时调节复杂系统的性能。通过对系统未来行为的预测,以及通过优化控制输入来最小化某个成本函数,MPC能够有效地控制系统输出。
为什么在设计升压转换器时选择使用模型预测控制?
-模型预测控制能够提供对升压转换器的精确控制,尤其是在处理输入电流或输出电压控制时。通过预测和优化控制变量(如电感电流),MPC能够提高转换器的性能和效率。
在模型预测控制中,成本函数的作用是什么?
-在模型预测控制中,成本函数用于衡量系统当前状态与期望状态之间的偏差。通过最小化成本函数,控制策略能够确定最优的控制动作,以达到期望的系统性能。
使用欧拉前向法有什么优势?
-使用欧拉前向法可以简化对控制变量(如电感电流)未来值的预测,该方法通过当前状态的导数估计未来状态,适用于实时控制系统中的近似计算,提高了计算效率。
升压转换器有哪些可能的开关状态?
-升压转换器有两种可能的开关状态:开(S=1)和关(S=0)。这两种状态改变了电路图,从而影响电感电压和电流的计算。
什么是电感电流的预测函数,并且它是如何派生的?
-电感电流的预测函数基于电感电流的导数以及系统参数(如采样时间和电感电流的当前测量值)计算电感电流的未来值。该函数通过将电感电流的导数方程整合进预测模型来派生。
在MPC中如何实现开关状态的优化选择?
-在MPC中,通过计算每个可能的开关状态下的成本函数值,并选择使成本函数最小化的开关状态,实现对开关状态的优化选择。这涉及到评估所有可能状态下的预测误差,并选择误差最小的状态。
为什么要在成本函数中添加对开关频率的考虑?
-在成本函数中添加对开关频率的考虑,可以控制升压转换器的开关频率,从而减少开关损耗和电磁干扰。通过调节开关频率,可以优化转换器的性能和效率。
PI控制器在输出电压控制中的作用是什么?
-PI控制器在输出电压控制中用于生成基于输出电压误差的电感电流参考值。通过调整PI控制器的参数,可以优化系统的动态响应,实现对输出电压的精确控制。
为什么要手动调节PI控制器参数,而不使用自动化方法?
-作者选择手动调节PI控制器参数,可能是因为手动调节可以根据具体应用和系统动态特性进行更精细的控制。虽然自动化方法可以简化调节过程,但在某些情况下,手动调节能够提供更高的灵活性和性能优化。
Outlines
🔌 提升变换器的模型预测控制设计概述
本段介绍了设计提升变换器的模型预测控制(MPC)的基本步骤。首先,强调了设计MPC的必要性,即为了对输入电流或输出电压进行控制。接着,提到了设计过程需要系统参数、变换器的导数方程,以及如何通过有限控制集模型预测控制来实现。详细解释了如何使用欧拉前向法对控制变量(电感电流)进行预测,包括如何根据开关状态分析变换器的行为,并导出了电感电流的预测方程。
🔄 模型预测控制的实现和系统变量定义
在这一部分中,详细介绍了模型预测控制(MPC)的实现步骤,包括预测函数的编写、系统变量的定义(如采样时间、电感和电感内阻),以及如何根据可能的开关状态来评估这个函数。通过使用循环遍历所有可能的开关状态,介绍了如何计算每种状态下的预测电感电流,并进一步说明了如何通过比较这些预测值与参考值之间的误差来选择最优的开关状态,从而实现对电感电流的控制。
🔍 最小化误差和优化开关状态的选择
本段深入探讨了如何通过最小化误差函数来优化开关状态的选择。首先定义了一个初始的高误差值,然后通过比较不同开关状态下的预测误差来逐步找到最小误差,从而确定最优的开关状态。这个过程包括了如何根据误差函数的结果来动态调整开关状态,以实现对电感电流的精确控制,并通过模拟实验验证了控制算法的有效性。
🛠️ 控制策略的改进与开关频率的调节
这一段讨论了通过引入一个额外的成本函数来改进控制策略,以降低开关频率并优化系统性能。详细说明了如何通过比较当前和之前的开关状态来调整开关频率,以及如何通过调整权重因子来平衡误差最小化和开关频率降低之间的关系。此外,展示了通过调整权重因子来观察开关频率变化的效果,并指出了调节开关频率以满足不同应用需求的重要性。
📉 输出电压控制设计与PI控制器的应用
介绍了输出电压控制设计的过程,特别是如何使用PI控制器根据输出电压误差生成电感电流的参考值。详细讨论了PI控制器参数的选择和调整,以及如何通过对输出电压和电感电流的参考值进行实时调整来达到所需的控制目标。同时,也提到了如何通过调整PI控制器的参数来优化系统的动态响应,以及如何通过实验验证控制策略的有效性。
🔄 动态响应优化与PI控制器参数调整
本段重点介绍了通过调整PI控制器参数来优化系统的动态响应,特别是如何通过实验来找到最佳的参数设置,以减少超调和提高系统的稳定性。详细描述了调整过程中观察到的系统行为变化,包括输出电压和电感电流的变化,以及如何通过细致的参数调整来达到更好的控制效果。
🎓 结论与感谢
在最后一段中,作者总结了视频的主要内容,包括模型预测控制(MPC)的设计和实现过程,以及通过调整控制参数来优化系统性能的重要性。同时,向观众表示了感谢,鼓励他们应用这些知识来解决实际问题,并提供了进一步学习和研究的建议。
Mindmap
Keywords
💡模型预测控制
💡Boost转换器
💡电感电流
💡误差函数
💡欧拉前向法
💡开关状态
💡采样时间
💡最小化误差
💡PI控制器
💡切换频率
Highlights
Introduction to model predictive control for boost converters.
Discussion on system parameters and derivation of the converter's equation.
Explanation of finite control set model predictive control.
Detailing the control variable as inductor current in boost converters.
Use of Euler's method for predicting control variable.
Analysis of boost converter circuit depending on switching state.
Derivation of inductor current's derivative equation from circuit functions.
Integration of predictive function into Matlab Simulink for modeling.
Design of the predictive function for inductor current.
Setting up system variables for the predictive control model.
Minimization process in model predictive control to find optimum switching state.
Introduction to cost function in model predictive control.
Dynamic response analysis of the controller to changes in reference current.
Adjustment of switching frequency to improve controller performance.
Design of output voltage control using PI controller in model predictive control.
Tuning of PI controller parameters to achieve desired output voltage response.
Transcripts
foreign
in this video I will show the design of
model predictive control for Boost
converter
here the conventional boost converter
we have to design a model predictive
control for
input current or output voltage control
of push converter
so first we need system parameters we
need a derivative equation of the
converter
I'll try to talk about about finite
control set model predictive control and
boost converter
our control variable is inductor current
so input currents of the
[Music]
post converter and we need the error
function or cost function in the model
predictive control here this is the
inductor current reference it is a
constant value
so it is DC quantity and this is the
predicted value of the inductor current
uh we need the prediction of the control
variable here we can use Euler's forward
method for approximation
Define it here
we need this part of the equation so the
final equation is this
here IL is the measured value of the
inductor currents we will measure it and
TS is the sampling time of the control
algorithm and this is the derivative of
the control variable so the derivative
of inductor current
so now we need the red part of the
equation we have to analyze the Boost
converter
the circuit model of the post converter
here
we can analyze the Boost converter
depending on the switching State because
the the series Vision State change the
circuit diagram
so we have two possible switching States
as can be one or zero so as can be on
positioned or off position
here the circuit diagram for uh s
1
in this case the inductor voltage is
equal to difference between input
voltage and voltage drop on RL RL is the
internal resistance of the inductor
so we can get such a function for
inductor voltage so ldi ldi DT is equal
to the difference between these two
volume and also when s is off positioned
we can get such a circuit diagram and uh
the
inductor voltage is equal to this
equation
okay now we have
these two functions we can put as
for S is equal to 1 when s is on
position it
the equation will be effective when is s
is of position of the equation will be
effective on the total system so we can
get the uh derivative of inductor
current by combining these two equations
and we have such a function uh for the
derivative of the control variable
then we can put this derivative equation
into the prediction function and finally
we can get such a function for the
for prediction of the in inductor
current
okay now we can design
it in the uh
Matlab simulink
this is our
prediction function
and we need
laptop function
below
I will write code for the model
predictive control
name is NPC boost
this is the output variable we need the
switching
[Music]
State for the output and
we will write
the input of this below
so first we can write the predictive
function
like
here
IL K1
and
[Music]
be in
1 minus s
and plus
I
okay now we have to Define system
variables this is the sampling time 10
microseconds
and one
Milli Henry inductor and the resistance
of the inductor is 0.2 ohm
and we have to measure inductor currents
input voltage
output voltage
okay
so
the equation is dependent on the
savaging state
but to evaluate this function
we have to use these two options here
if s can be 1 and S can be zero I am
defining the series impossible switching
States
Vector here
B1 and 0.
and instead of using uh the actual
switching State we have to try it we
have the related depending on the
possible switching state
I'm defining and
here and I will put this function into a
for Loop and
starts one and end
to
okay
now this is our predictive function and
we have to put one more
okay
this is our prediction function
here
we can obtain the predicted value of the
inductor current with this equation
then I'm returning back to the cost
function
the cost function is G is equal to
inductor current reference difference
between inductor current reference and
the predicted value
G absolute error
IL ref minus
ilk1
yeah
okay now we have to know the reference
of the inductor current
now we obtain the
cost function
this is our cost function
and the control methods Works depending
on
finding the minimum error
in the steady state the error
should be zero
in a real application it will not be
zero but it the errors will turn around
to zero
so it means that we have to find which
option options are here
which options gives less error so
I will write the minimization part
here we are calculating
the error in in the cost function
and if the calculated error is less than
Optimum
G
uh
we can determine depending on the list
less error by using such a minimization
here
and
of is equal to
n and g o will be equal to
G
okay
we have to Define initial value of jio I
am defining a big value for G of 1 A6
so why I am defining such a big value
for example when the surging State
when the for Loop evaluates the one and
is
here
will be 1 and we will get a cost value
it will be less than one E6
okay the control algorithm will
determine the first Optimum value
depending on switch one then in the
second option the second option is uh
zero it will be zero then it will get it
will give a different value here
as a result of cost function the control
method the minimization part will check
this
which option so when servicing State
when switching state is one the error
for example one amps
after the switching state
we are calculating the second option
then if we get less error than 1 amps
one amp
the result will be two so the optimum
sevision state will be 2 as a result of
such evaluation and we can generate the
uh
signal depending on this
Evolution
and here
the optimum switching state is
determined here I am putting it into the
result function but we have to Define
the initial value of the
and we can write one it is not important
because
the equations will evaluate the function
and it will get we will get some result
depending on this
okay now I'm returning back to uh
simonink
we have to put
required measured and reference
variables
and we
this is the reference
and
at the output of the
model predictive control we will get the
switching State directly
we will not use any modulation strategy
it will generate directly saving
position and we can put
some logic to here
to convert this Boolean type
okay it seems ready we can run the
software
okay
yes it is regulated to reference
five amps
here
the red one is the reference of the
inductor current defined here and W1 is
the measured value of the inductor
current and
this is the output voltage and this is
the blue one is the input voltage
okay now we can change the
in Dr current reference
but before I want to change
time scale
okay we can check the dynamic response
of the controller
okay here the reference current is
changed from 5 amps to 10 amps
it is directly increasing to 10 amps
but here we can analyze
yeah
the results show that
on the solution frequency is very high
the solution frequency is equal to half
of the sampling time
the sample frequency half of the
sampling preferencing so it is not
acceptable for many applications and the
accuracy of the controller
[Music]
may not good in such implementation so
we need to
we need to reduce the switching
frequency to get proper operation
to do this we need a
one more
[Music]
cost function
to reduce the sewaging frequency we can
change it
Gil
and we can Define one of
cost function for the Civil engine state
now I will Define then I will explain
this is our new
the previous value
the switch in the cost function
calculates the difference between the
evolution
State and the
actual civilian state so
as a result of such a cost function we
will get one or zero
n minus 1.
because of ABS the result of GSW will be
equal to 0 or
1. defining such a
cost function will change the uh with a
low amount so it means that for example
up the current errors reached for
example 5.6 amp it allows to keep the
solution position
at the previous value
if the error will reach out of the bond
Define Bond I will show defined Bond
it will allow to change the surging
position
in that case in that case the solution
frequency will reduce because for
example if the serving states start here
up to here the civilian State cannot be
changed after here it can change so it
will
it will change depending on the defined
value now we need the total cost
function to minimize the error we can
write the total cost function here
[Music]
Gil Plus
saving and we need to awaiting Factor
here the waiting Factor
adjust the weight of the jsw on the
total cost function
we can select any value there and it
will be effective on the
on the Savior frequency
but now we need one more variable here
as old is equal to
as the previous volume it will be
previous value and
as old will store the
[Music]
as while you're here so we need
persistent
variable
assault and if
foreign
we can return back to uh
simulink we have to Define weight and
Factor
okay first I'm defining zero it means
that the
second post variable will not effective
on the system then I will change and we
will observe the value
thank you
okay now waiting factor is zero and the
switching frequency
is the same as
previous
so it is equal to half of sampling time
we can Define any value here to here but
it will change the inductor current
Ripple here for example first I will try
0.5
at this point it is changed to 0.5
yes
now we can see that the solution
frequency is changed
because the period is larger than
this part
so we can control the
switching frequency here
now we can try some different value
for example zero point three
okay
the inductor current triple is reduced
it means that sewaging frequency is
higher than this part
and a solution frequency is less than
this part okay
we can adjust it and I have a solution
about this
it is published in one of our papers I
don't want to talk about more this if
you want to control switching frequency
you can check the the analysis in the
in our paper
now I would like to show the output
voltage control design of output voltage
control
and
I will indirectly control the output
voltage so I will put a pi controller to
generate inductor current reference
depending on the output voltage error
okay
this is PID controller
it discrete time and pi and you can
enter the
[Music]
KP and Ki value
and
also I'd like to talk about the
Pi controller the selection of Pi
controller parameters I am tuning
manually I'm not using any methods you
can find any method in the literature
you can check but I am not using
with the methods
and we need the error between output
voltage and its reference
and
we have to compare it
this is way out and
can define v ref
and we can select 48
volt
okay now such a control method the pi
controller will generate a reference
current and the model predictive control
will provide the inductor current
voltage interactor current
in the output side
so I would like to put
one more variable to here
if
okay
we will tune the pi controllers first I
want to check the result
okay
the red one is the reference of input
output voltage
so it is regulated its reference
the inductor current reference is around
4 amps
it's about 4 amps and we can change for
example 60 volt
we can check the transition time
foreign
results
but when I'm tuning the controller
[Music]
I will put a pulse
generator
I will create a step a change
into
24
Plus 36.
so it means that the output voltage
reference will change between 36 and 60
volts
[Music]
and now we can run it again we will turn
this value and we have to change the
time range
okay
this is not uh
it seems not good we have to increase
the dynamic response of the
pi controller
you can increase it
for example
to any
yes it is better than before we can
increase it
we have to increase it up to show up to
see uh opposite overshot
for example
100 we can try yes
bullshits in both inductor current and
also in the output voltage so we can
select the radius and the volume
we can try 90
we have our should
okay
we have small
I think this is
good but we can reduce it
okay and we can slightly increase it
yes
and I would write 80 again
thank you
in the inductor current we have still
overshoot and undershoot
but
here there is no too much overshoot and
undershoot
if the result is enough
[Music]
for you you can use these value as
defined here
okay thank you so much for watching my
videos
Browse More Related Video
Three-Phase Virtual Synchronous Generator (VSG) Double Loop Control In MATLAB/Simulink
Introduction To SCADA System
🔶Mejora Tu SEÑAL RSSI en Tu DRON FPV🔶Prueba y Comparativa Modulo Externo | Super G Nano, BetaFPV
UI Toolkit Runtime Data Binding and Logic
Use any texture and animations for Unity's Line Renderer
БТГ. Как поймать эффект при настройке. Сергей Алексеев
5.0 / 5 (0 votes)