【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

相关文章
|
4月前
|
传感器 机器学习/深度学习 数据采集
四旋翼飞行器及电机动力学研究(Matlab代码、Simulink仿真实现)
四旋翼飞行器及电机动力学研究(Matlab代码、Simulink仿真实现)
226 2
|
4月前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
635 5
|
4月前
|
算法 新能源 测试技术
基于PID控制器和电流控制器的电池充电比较研究(Matlab代码实现)
基于PID控制器和电流控制器的电池充电比较研究(Matlab代码实现)
188 3
|
4月前
|
机器学习/深度学习 算法 算法框架/工具
【利用母船和牵引风箬在飞行中回收微型飞行器(MAVs)的方法】使用高斯原理推导了电缆-风箬系统的动力学模型(Matlab、Simulink仿真实现)
【利用母船和牵引风箬在飞行中回收微型飞行器(MAVs)的方法】使用高斯原理推导了电缆-风箬系统的动力学模型(Matlab、Simulink仿真实现)
328 5
|
4月前
|
传感器 人工智能 算法
【无人机协同】基于matlab simulink无人机-无人车协同工业环境中物体搬运研究(Matlab代码实现)
【无人机协同】基于matlab simulink无人机-无人车协同工业环境中物体搬运研究(Matlab代码实现)
187 2
|
4月前
|
传感器 机器学习/深度学习 算法
基于PID优化和矢量控制装置的四旋翼无人机(Matlab&Simulink实现)
基于PID优化和矢量控制装置的四旋翼无人机(Matlab&Simulink实现)
409 0
|
3月前
|
机器学习/深度学习 算法 机器人
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
【水下图像增强融合算法】基于融合的水下图像与视频增强研究(Matlab代码实现)
395 0
|
3月前
|
算法 定位技术 计算机视觉
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
【水下图像增强】基于波长补偿与去雾的水下图像增强研究(Matlab代码实现)
178 0
|
3月前
|
算法 机器人 计算机视觉
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
【图像处理】水下图像增强的颜色平衡与融合技术研究(Matlab代码实现)
148 0
|
3月前
|
新能源 Java Go
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
【EI复现】参与调峰的储能系统配置方案及经济性分析(Matlab代码实现)
147 0

热门文章

最新文章