之前写过【Simulink】基于FCS-MPC的三相并网逆变器控制(Matlab Function)以及 【Simulink】基于FCS-MPC的三相并网逆变器控制(Stateflow),控制对象都是三相逆变器,本篇博客将研究单相逆变器。
FCS-MPC控制原理可参见我之前的博客,控制流程基本类似。
仿真原理图
单相桥式逆变器包含4个IGBT,由于同相上下臂的IGBT不能同时导通,因此总共有 2 2 = 4 2^2=4 22=4 种状态,且有两个状态计算得到的电流预测值相同,即代价函数相同。
Matlab Function
function [S1, S2, S3, S4] = fcn(R, L, Ts, i, Udc, Ug, ir)
g = zeros(1,4);
v0 = Udc;
v1 = 0;
v2 = -Udc;
v3 = 0;
v = [v0 v1 v2 v3];
states = [1 0 0 1; 1 1 0 0; 0 1 1 0; 0 0 1 1];
for j = 1: 4
i1 = (1-Ts*R/L)*i+(v(j)-Ug)*Ts/L;
g(j) = abs(ir - i1);
end
[~,x_opt] = min(g);
S1 = states(x_opt,1);
S2 = states(x_opt,2);
S3 = states(x_opt,3);
S4 = states(x_opt,4);
仿真结果
负载参考电流为5A时,负载电流波形: