【Simulink】基于FCS-MPC的单相并网逆变器电流控制(Matlab Function)

简介: 【Simulink】基于FCS-MPC的单相并网逆变器电流控制(Matlab Function)

之前写过【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}=0uab=0

一般情况下不会出现S1和S3同时导通,或者S2和S4同时导通的情况。

根据基尔霍夫定律,可得:

L d i / d t + R i = u a b − e L di/dt+Ri=u_{ab}-eLdi/dt+Ri=uabe

以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控制原理可参见我之前的博客,控制流程基本类似。

  1. 测量 i(k) 和 e(k);
  2. 计算4种开关状态对应的电流预测值;
  3. 把电流预测值代入代价函数;
  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/Li(k+1)=(1TsR/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

相关文章
|
16小时前
|
数据可视化 算法
MATLAB Simulink 交交变流电路性能研究
MATLAB Simulink 交交变流电路性能研究
9 2
|
16小时前
|
数据可视化 算法
MATLAB Simulink 直流斩波电路性能研究
MATLAB Simulink 直流斩波电路性能研究
12 1
|
16小时前
|
数据可视化 算法
MATLAB Simulink 逆变电路性能研究
MATLAB Simulink 逆变电路性能研究
9 1
|
16小时前
|
数据可视化 算法
MATLAB Simulink 三相整流电路性能研究
MATLAB Simulink 三相整流电路性能研究
9 1
|
16小时前
|
数据可视化 算法
MATLAB Simulink 单相桥式整流电路性能研究
MATLAB Simulink 单相桥式整流电路性能研究
7 2
|
16小时前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
16小时前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
16小时前
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
16小时前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
16小时前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)

热门文章

最新文章