【Simulink】采用延时补偿的三相并网逆变器FCS-MPC

简介: 【Simulink】采用延时补偿的三相并网逆变器FCS-MPC


上一篇博客介绍了FCS-MPC的基本操作,并且以三相并网逆变器为控制对象进行了Simulink仿真。

但实际仿真中没有考虑补偿延时。本篇博客将讨论为什么要考虑延时并进行补偿,最后对此仿真验证。

1. 传统FCS-MPC

模型预测电流控制步骤:

1)测量负载电流;

2) 针对所有可能的开关状态预测下一采样时刻的负载电流;

3) 评估每个预测的成本函数;

4) 选择使代价函数最小化的切换状态;

5) 应用新的开关状态。

对于三相并网逆变器,代价函数为:

g i = ∣ i α ∗ ( k + 1 ) − i α p ( k + 1 ) ∣ + ∣ i β ∗ ( k + 1 ) − i β p ( k + 1 ) ∣ g_i = |i_\alpha^*(k+1)-i_\alpha^p(k+1)|+|i_\beta^*(k+1)-i_\beta^p(k+1)|gi=iα(k+1)iαp(k+1)+iβ(k+1)iβp(k+1)

g i g_igi 的下标 i 代表开关状态顺序(1-8),i α ∗ i_\alpha^*iαi β ∗ i_\beta^*iβ 的下标 α , β \alpha,\betaαβ 为三相负载电流的 α , β \alpha,\betaαβ 分量(经过Clarke变换),上标 * 表示参考值,上标 p 表示预测值。

2. 为什么要考虑延时补偿?

图源:《Delay Compensation in Model Predictive Current Control of a Three-Phase Inverter》

a. 无延迟:计算时间为零(理想情况下):

在 k 时刻测量电流,并且立即计算并应用最佳开关状态,在 k+1 时刻达到使误差最小化的切换状态。

(图中 k 到 k+1 时刻共有3条 i β p i_\beta^piβp,其中最上面的一条离 i β p i_\beta^piβp (水平直线)最近,所以选择最上面的 i β p i_\beta^piβp 对应的开关状态,在 k+1 时刻应用)

b. 有延迟且无补偿:计算时间长(实际情况):

如果计算时间比采样时间长,则在测量电流的瞬间与应用新开关状态的瞬间之间会有延迟。在这两个瞬间之间的间隔期间,将继续应用先前的切换状态。根据 k 处的测量值选择的电压矢量将在 k+1 之后继续应用,从而使负载电流远离参考值。由于该延迟,负载电流将围绕其参考值振荡,从而增加电流纹波。

c. 带延迟和补偿:计算时间长(实际情况):

使用在 k 时刻处测量的电流 i(k)施加的开关状态x_opt估计在 k+1 时刻处的负载电流的值,并以在 k+1 时刻处估计的负载电流的值预测 k+2 时刻的负载电流,对应的开关状态在 k+1 ~ k+2 时刻应用。

控制算法被修改如下:

1) 负载电流的测量;

2) 切换状态的应用(在前一个间隔中计算);

3) 考虑所施加的开关状态,估计在时间 k+1 处的电流值;

4) 针对所有可能的开关状态预测下一个采样时刻 k+2 的负载电流;

5) 对每个预测的成本函数进行评估;

6) 选择使成本函数最小化的切换状态。

代价函数从

g i = ∣ i α ∗ ( k + 1 ) − i α p ( k + 1 ) ∣ + ∣ i β ∗ ( k + 1 ) − i β p ( k + 1 ) ∣ g_i = |i_\alpha^*(k+1)-i_\alpha^p(k+1)|+|i_\beta^*(k+1)-i_\beta^p(k+1)|gi=iα(k+1)iαp(k+1)+iβ(k+1)iβp(k+1)

变成

g i = ∣ i α ∗ ( k + 2 ) − i α p ( k + 2 ) ∣ + ∣ i β ∗ ( k + 2 ) − i β p ( k + 2 ) ∣ g_i = |i_\alpha^*(k+2)-i_\alpha^p(k+2)|+|i_\beta^*(k+2)-i_\beta^p(k+2)|gi=iα(k+2)iαp(k+2)+iβ(k+2)iβp(k+2)

以此预测电流 i α p ( k + 1 ) , i β p ( k + 1 ) i_\alpha^p(k+1), i_\beta^p(k+1)iαp(k+1),iβp(k+1)

3. 仿真

原理图

注意开关信号作用前加了延时模块,模拟一拍延时的情况。

Matlab Function代码

未加延时补偿:

function [S1,S2,S3] = fcn(Vdc, ea, eb, ia, ib, iar, ibr, R, L, Ts)
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]; 
g = zeros(1,8); 
ik_ref = iar + 1j*ibr; 
ik = ia + 1j*ib; 
ek = ea + 1j*eb;
for i = 1:8 
    ik1 = (1 - R*Ts/L)*ik + Ts/L*(v(i)-ek); 
    g(i) = abs(real(ik_ref - ik1)) + abs(imag(ik_ref - ik1)); 
end 
[~,x_opt] = min(g);  
S1 = logical(states(x_opt,1)); 
S2 = logical(states(x_opt,2)); 
S3 = logical(states(x_opt,3));

加延时补偿:

function [S1,S2,S3] = fcn(Vdc, ea, eb, ia, ib, iar, ibr, R, L, Ts)
persistent x_opt 
if isempty(x_opt) 
    x_opt = 1; 
end
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]; 
g = zeros(1,8); 
ik_ref = iar + 1j*ibr; 
ik = ia + 1j*ib; 
ek = ea + 1j*eb;
ik1 = (1 - R*Ts/L)*ik + Ts/L*(v(x_opt)-ek); 
for i = 1:8 
    ik2 = (1 - R*Ts/L)*ik1 + Ts/L*(v(i)-ek); 
    g(i) = abs(real(ik_ref - ik2)) + abs(imag(ik_ref - ik2)); 
end 
[~,x_opt] = min(g);  
S1 = logical(states(x_opt,1)); 
S2 = logical(states(x_opt,2)); 
S3 = logical(states(x_opt,3));

仿真结果

未加延时补偿负载电流:

负载电流THD:

加延时补偿负载电流:

负载电流THD:

THD降低了,从原来的4.63%降到1.95%

4. 拓展

有的论文提到需要对电流参考值和电网电压进行估计(前文因变化不大而忽略),可用矢量角的方法进行估计,估计之后THD降低0.1%左右。

资源下载

仿真文件资源下载

参考:

[1] 郑文帅. 三相并网逆变器有限控制集模型预测控制研究[D].辽宁工程技术大学,2021.DOI:10.27210/d.cnki.glnju.2021.000395.

[2] 赵昱诚.并网逆变器模型预测电流控制策略研究[D].辽宁工程技术大学,2022.DOI:10.27210/d.cnki.glnju.2022.000484

[3] P. C, J. R, C. S, et al. Delay Compensation in Model Predictive Current Control of a Three-Phase Inverter[J]. IEEE Transactions on Industrial Electronics, 2012,59(2): 1323-1325.

[4] 对同一个三相逆变器使用FCS-MPC的延迟补偿的两种方法

[5] 朱守玉. 基于事件触发机制的并网逆变器模型预测电流控制[D]. 西安理工大学电气工程;电力电子与电力传动, 2021.

相关文章
|
机器学习/深度学习 传感器 算法
【太阳能多电平逆变器】采用SPWM技术的太阳能供电多电平逆变器研究(simulink)
【太阳能多电平逆变器】采用SPWM技术的太阳能供电多电平逆变器研究(simulink)
|
1月前
|
算法 流计算
基于MPPT的太阳能光伏电池simulink性能仿真,对比扰动观察法,增量电导法,恒定电压法
本课题在Simulink中实现基于MPPT的太阳能光伏电池,并对比了扰动观察法、增量电导法和恒定电压法三种MPPT方法。通过系统仿真,展示了不同算法下的性能差异。使用MATLAB 2022a版本进行建模和仿真。MPPT技术通过实时调整光伏系统的工作点,使其始终工作在最大功率点附近,从而最大化输出功率。扰动观察法、增量电导法和恒定电压法分别通过不同的机制实现这一目标。
|
2月前
|
算法
基于PSO优化的MPPT最大功率跟踪光伏发电系统simulink仿真
本课题在Simulink中构建了基于粒子群优化(PSO)的最大功率点跟踪(MPPT)光伏发电系统,包括光伏模块、MPPT模块、PSO优化模块及电路模块。PSO模块采用Matlab编程并在Simulink中调用。系统通过优化算法在复杂环境下实现高效MPPT。仿真结果显示该系统具有良好的性能。版本:MATLAB2022a。
|
3月前
|
算法 芯片
基于MPPT最大功率跟踪算法的光伏并网发电系统simulink仿真
本项目采用Simulink仿真构建基于MPPT的最大功率跟踪光伏并网发电系统,自行建立PV模型而非使用内置模块。系统包含MPPT控制器、PI控制器、锁相环及逆变器等,实现光伏阵列在各种条件下高效运行于最大功率点。仿真结果显示光伏并网输出的电流(Ipv)、电压(Upv)及功率(Ppv)波形。通过闭环控制,系统持续调整以维持最佳功率输出,有效提升光伏系统的整体效能和环境适应性。
|
6月前
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Stateflow)
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Stateflow)
|
6月前
|
Web App开发 Shell
【Simulink】基于双矢量MPC的三相并网逆变器电流控制(调制模型预测控制)
【Simulink】基于双矢量MPC的三相并网逆变器电流控制(调制模型预测控制)
|
6月前
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Matlab Function)
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Matlab Function)
|
6月前
【Simulink】基于FCS-MPC的单相并网逆变器电流控制(Matlab Function)
【Simulink】基于FCS-MPC的单相并网逆变器电流控制(Matlab Function)
|
6月前
【Simulink】基于FCS-MPC的带阻感负载的三相逆变器电流控制(Matlab Function)
【Simulink】基于FCS-MPC的带阻感负载的三相逆变器电流控制(Matlab Function)
|
6月前
【Simulink】基于无差拍的三相L型滤波并网逆变器电流控制
【Simulink】基于无差拍的三相L型滤波并网逆变器电流控制