之前写过三相并网逆变器FCS-MPC的博客
👉【Simulink】基于FCS-MPC的三相并网逆变器控制(Matlab Function)
应用的对象是并网的,用一个电压源(Three-Phase Programmable Voltage Source)模拟交流电网。
本篇博客将针对非并网状态(即孤岛状态),分析带阻感负载的三相逆变器FCS-MPC控制,介绍Simulink仿真搭建过程。
FCS-MPC原理可参见 【Simulink】基于FCS-MPC的三相并网逆变器控制(Matlab Function),控制原理是相似的。
仿真原理图
整体电路图:
相位部分:
原本对于并网逆变器而言,大电网对逆变器系统提供电压和频率的支撑,为了实现输出电流与电网电压的同频同相,可将电网电压 E a b c E_{abc} Eabc 作为输入信号,通过锁相环 PLL(3ph) 实时锁定电网电压的相位 ω t \omega t ωt,并将其作为参考电流的相位。
但对于孤岛运行的电网而言,需要保证逆变器出口电压幅值和频率稳定在参考值,这时候需要人为设定参考电流的相位
ω
t
\omega t
ωt:
时间 t 可以用 Counter Free-Running 模拟,或者自己写一个累加器,用途是每个采样时间+1
ω
=
2
π
f
\omega = 2 \pi f
ω=2πf
Math Function
和并网的差不多
function [S1,S2,S3,S4,S5,S6] = fcn(Vdc, ea, eb, ia, ib, iar, ibr)
g = zeros(1,8);
L = 0.02;
R = 0.05;
T = 1/1e4;
v0 = 0;
v1 = 2/3*Vdc;
v2 = 1/3*Vdc + 1j/sqrt(3)*Vdc;
v3 = -1/3*Vdc + 1j/sqrt(3)*Vdc;
v4 = -2/3*Vdc;
v5 = -1/3*Vdc - 1j/sqrt(3)*Vdc;
v6 = 1/3*Vdc - 1j/sqrt(3)*Vdc;
v7 = 0;
v = [v0 v1 v2 v3 v4 v5 v6 v7];
states = [0 0 0; 1 0 0; 1 1 0; 0 1 0; 0 1 1; 0 0 1; 1 0 1; 1 1 1];
for i = 1: 8
v_o1 = v(i);
% 负载电流预测
ia1 = (1-T*R/L)*ia+(real(v_o1)-ea)*T/L;
ib1 = (1-T*R/L)*ib+(imag(v_o1)-eb)*T/L;
% 代价函数
g(i) = abs(iar - ia1) + abs(ibr - ib1);
end
[~,x_opt] = min(g);
% 开关矢量应用
S1 = states(x_opt,1);
S2 = states(x_opt,2);
S3 = states(x_opt,3);
S4 = ~states(x_opt,1);
S5 = ~states(x_opt,2);
S6 = ~states(x_opt,3);
仿真结果
当负载参考电流为3A时
负载电流波形:
FFT分析: