记录一下学习MPC过程及其simulink仿真
两电平逆变器拓扑结构
由于公式编辑的限制,具体两电平逆变器数学模型可根据参考文献(底部)进行学习。
两电平逆变器开关矢量
预测电流控制框图
实施控制算法的流程图
搭建的simulink仿真
图中上半部分为主电路,下半部分为控制电路
具体 matlab代码
如下所示。
function [Sa,Sb,Sc] = fcn(i_ref,i_meas,R, L, Ts, states, v)
%在k-1时刻的最优向量和测量电流
persistent x_old i_old
if isempty(x_old)
x_old=1;
end
if isempty(i_old)
i_old=0+1j*0;
end
%初始化
g = zeros(1,8);
%
ik_ref=i_ref(1)+1j*i_ref(2);
ik=i_meas(1)+1j*i_meas(2);
e=v(x_old)-L/Ts*ik-(R-L/Ts)*i_old;%反电动势
i_old=ik;%存储测量电流到下一次采样时间
for i=1:8
ik1=(1-R*Ts/L)*ik+Ts/L*(v(i)-e);
g(i)=abs(real(ik_ref-ik1))+abs(imag(ik_ref-ik1));
end
[~,x_opt] = min(g);
x_old=x_opt;
Sa=states(x_opt,1);
Sb=states(x_opt,2);
Sc=states(x_opt,3);
网侧电流波形
参考文献:Predictive Current Control of a Voltage Source Inverter