【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

相关文章
|
6月前
|
数据可视化 算法
MATLAB Simulink 交交变流电路性能研究
MATLAB Simulink 交交变流电路性能研究
76 2
|
6月前
|
数据可视化 算法
MATLAB Simulink 单相桥式整流电路性能研究
MATLAB Simulink 单相桥式整流电路性能研究
61 2
|
6月前
|
数据可视化 算法
MATLAB Simulink 直流斩波电路性能研究
MATLAB Simulink 直流斩波电路性能研究
80 1
|
6月前
|
数据可视化 算法
MATLAB Simulink 逆变电路性能研究
MATLAB Simulink 逆变电路性能研究
48 1
|
6月前
|
数据可视化 算法
MATLAB Simulink 三相整流电路性能研究
MATLAB Simulink 三相整流电路性能研究
72 1
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
191 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
122 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
88 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)