应用的对象是并网的,用一个电压源(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 模拟,当然也可以用 Repeating Sequence 实现,或者自己写一个累加器,用途是每个采样时间+1
ω = 2 π f \omega = 2 \pi fω=2πf
Matlab 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分析:
THD=3.52%