之前写过【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Matlab Function)以及【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Stateflow),控制对象都是三相逆变器,本篇博客将研究单相逆变器。
1. 单相并网逆变器拓扑
在单相逆变器中,当开关管S1和S4导通、S2和S3关断,
u
a
b
=
U
d
c
u_{ab}=U_{dc}
uab=Udc;
当开关管S2和S3导通、S1和S4关断,
u
a
b
=
−
U
d
c
u_{ab}=-U_{dc}
uab=−Udc;
当开关管S1和S2导通、S3和S4关断,或者S1和S2关断、S3和S4导通,
u
a
b
=
0
u_{ab}=0
uab=0;
一般情况下不会出现S1和S3同时导通,或者S2和S4同时导通的情况。
根据基尔霍夫定律,可得:
L
d
i
/
d
t
+
R
i
=
u
a
b
−
e
L di/dt+Ri=u_{ab}-e
Ldi/dt+Ri=uab−e
以T为采样周期,前向差分离散化,可得:
u
a
b
(
k
)
=
(
i
r
e
f
(
k
+
1
)
−
i
(
k
)
)
∗
L
/
T
+
R
i
(
k
)
+
e
(
k
)
u_{ab}(k)=(i_{ref}(k+1)-i(k))*L/T+Ri(k)+e(k)
uab(k)=(iref(k+1)−i(k))∗L/T+Ri(k)+e(k)
2. FCS-MPC原理
FCS-MPC控制原理可参见我之前的博客,控制流程基本类似。
- 测量 i(k) 和 e(k);
- 计算4种开关状态对应的电流预测值;
- 把电流预测值代入代价函数;
- 取使代价函数最小的开关状态,作用于下一控制周期。
预测电流公式:
i
(
k
+
1
)
=
(
1
−
T
s
∗
R
/
L
)
∗
i
(
k
)
+
(
u
(
k
)
−
e
(
k
)
)
∗
T
s
/
L
i(k+1)=(1-Ts*R/L)*i(k)+(u(k)-e(k))*Ts/L
i(k+1)=(1−Ts∗R/L)∗i(k)+(u(k)−e(k))∗Ts/L
3. Simulink仿真原理图
单相桥式逆变器包含4个IGBT,总共有 4 种状态,其中有两个状态计算得到的电流预测值相同,即代价函数相同。
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];
% 这里可以省去v3,因为v1=v3
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);
5. 仿真结果
负载参考电流幅值为5A时,负载电流波形:
从上图可见,预测值基本能跟踪参考值。
资源下载:
单相逆变FCS-MPC
参考
Po Li, Xiaoxiao Huo, and Feng Guo, “Total Harmonic Distortion Reduction Method of Improved Finite Control Set Model Predictive Control for Single-Phase Inverter with Twisted Parameter”, 2023 5th International Conference on Power and Energy Technology (ICPET 2023)