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

上次写了一篇【Simulink】基于FCS-MPC的三相并网逆变器控制(Matlab Function),控制部分用 Matlab Function 写的,因实验室一般用 Stateflow,所以这篇把 Matlab Function 改成 Stateflow.

1. 控制原理

电路原理图:
在这里插入图片描述

直流电压源与三相桥式逆变器相连,经过RL滤波器并网。

三相桥式逆变器包含6个IGBT,由于同相上下臂的IGBT不能同时导通,因此总共有 2 3 = 8 2^3=8 23=8 种状态,且有两个状态计算得到的电流预测值相同,即代价函数相同。

FCS-MPC 步骤:
⭐️ 步骤1:根据系统结构建立合适的系统模型。
⭐️ 步骤2:采集系统三相电流、电网电压值。
⭐️ 步骤3:根据系统模型建立离散化预测函数,预测变换器输出电流或并网功率。
⭐️ 步骤4:建立合适的代价函数,将8种开关状态依次带入代价函数。
⭐️ 步骤5:通过枚举的方式选择使代价函数最小的矢量所对应的开关状态进行下一控制周期的控制。

状态0:
c o s t 0 = a b s ( i α ( k + 1 ) − i α r e f ) + a b s ( i β ( k + 1 ) − i β r e f ) = a b s ( ( 1 − R ∗ T s / L ) ∗ i α ( k ) + T s / L ∗ ( 0 − e α ( k ) ) − i r α ) + a b s ( ( 1 − R ∗ T s / L ) ∗ i β ( k ) + T s / L ∗ ( 0 − e β ( k ) ) − i r β ) : cost0=abs(iα(k+1)-iαref)+abs(iβ(k+1)-iβref)=abs((1-R*Ts/L)*iα(k)+Ts/L*(0-eα(k))-irα)+abs((1-R*Ts/L)*iβ(k)+Ts/L*(0-eβ(k))-irβ): cost0=abs(iα(k+1)iαref)+abs(iβ(k+1)iβref)=abs((1RTs/L)iα(k)+Ts/L(0eα(k))irα)+abs((1RTs/L)iβ(k)+Ts/L(0eβ(k))irβ):

状态1:
c o s t 1 = a b s ( i α ( k + 1 ) − i α r e f ) + a b s ( i β ( k + 1 ) − i β r e f ) = a b s ( ( 1 − R ∗ T s / L ) ∗ i α ( k ) + T s / L ∗ ( − U d c / 3 − e α ( k ) ) − i r α ) + a b s ( ( 1 − R ∗ T s / L ) ∗ i β ( k ) + T s / L ∗ ( − U d c / s q r t ( 3 ) − e β ( k ) ) − i r β ) : cost1=abs(iα(k+1)-iαref)+abs(iβ(k+1)-iβref)=abs((1-R*Ts/L)*iα(k)+Ts/L*(-Udc/3-eα(k))-irα)+abs((1-R*Ts/L)*iβ(k)+Ts/L*(-Udc/sqrt(3)-eβ(k))-irβ): cost1=abs(iα(k+1)iαref)+abs(iβ(k+1)iβref)=abs((1RTs/L)iα(k)+Ts/L(Udc/3eα(k))irα)+abs((1RTs/L)iβ(k)+Ts/L(Udc/sqrt(3)eβ(k))irβ):

状态2:
c o s t 2 = a b s ( i α ( k + 1 ) − i α r e f ) + a b s ( i β ( k + 1 ) − i β r e f ) = a b s ( ( 1 − R ∗ T s / L ) ∗ i α ( k ) + T s / L ∗ ( − U d c / 3 − e α ( k ) ) − i r α ) + a b s ( ( 1 − R ∗ T s / L ) ∗ i β ( k ) + T s / L ∗ ( U d c / s q r t ( 3 ) − e β ( k ) ) − i r β ) : cost2=abs(iα(k+1)-iαref)+abs(iβ(k+1)-iβref)=abs((1-R*Ts/L)*iα(k)+Ts/L*(-Udc/3-eα(k))-irα)+abs((1-R*Ts/L)*iβ(k)+Ts/L*(Udc/sqrt(3)-eβ(k))-irβ): cost2=abs(iα(k+1)iαref)+abs(iβ(k+1)iβref)=abs((1RTs/L)iα(k)+Ts/L(Udc/3eα(k))irα)+abs((1RTs/L)iβ(k)+Ts/L(Udc/sqrt(3)eβ(k))irβ):

状态3:
c o s t 3 = a b s ( i α ( k + 1 ) − i α r e f ) + a b s ( i β ( k + 1 ) − i β r e f ) = a b s ( ( 1 − R ∗ T s / L ) ∗ i α ( k ) + T s / L ∗ ( − 2 ∗ U d c / 3 − e α ( k ) ) − i r α ) + a b s ( ( 1 − R ∗ T s / L ) ∗ i β ( k ) + T s / L ∗ ( 0 − e β ( k ) ) − i r β ) : cost3=abs(iα(k+1)-iαref)+abs(iβ(k+1)-iβref)=abs((1-R*Ts/L)*iα(k)+Ts/L*(-2*Udc/3-eα(k))-irα)+abs((1-R*Ts/L)*iβ(k)+Ts/L*(0-eβ(k))-irβ): cost3=abs(iα(k+1)iαref)+abs(iβ(k+1)iβref)=abs((1RTs/L)iα(k)+Ts/L(2Udc/3eα(k))irα)+abs((1RTs/L)iβ(k)+Ts/L(0eβ(k))irβ):

状态4:
c o s t 4 = a b s ( i α ( k + 1 ) − i α r e f ) + a b s ( i β ( k + 1 ) − i β r e f ) = a b s ( ( 1 − R ∗ T s / L ) ∗ i α ( k ) + T s / L ∗ ( 2 ∗ U d c / 3 − e α ( k ) ) − i r α ) + a b s ( ( 1 − R ∗ T s / L ) ∗ i β ( k ) + T s / L ∗ ( 0 − e β ( k ) ) − i r β ) : cost4=abs(iα(k+1)-iαref)+abs(iβ(k+1)-iβref)=abs((1-R*Ts/L)*iα(k)+Ts/L*(2*Udc/3-eα(k))-irα)+abs((1-R*Ts/L)*iβ(k)+Ts/L*(0-eβ(k))-irβ): cost4=abs(iα(k+1)iαref)+abs(iβ(k+1)iβref)=abs((1RTs/L)iα(k)+Ts/L(2Udc/3eα(k))irα)+abs((1RTs/L)iβ(k)+Ts/L(0eβ(k))irβ):

状态5:
c o s t 5 = a b s ( i α ( k + 1 ) − i α r e f ) + a b s ( i β ( k + 1 ) − i β r e f ) = a b s ( ( 1 − R ∗ T s / L ) ∗ i α ( k ) + T s / L ∗ ( U d c / 3 − e α ( k ) ) − i r α ) + a b s ( ( 1 − R ∗ T s / L ) ∗ i β ( k ) + T s / L ∗ ( − U d c / s q r t ( 3 ) − e β ( k ) ) − i r β ) : cost5=abs(iα(k+1)-iαref)+abs(iβ(k+1)-iβref)=abs((1-R*Ts/L)*iα(k)+Ts/L*(Udc/3-eα(k))-irα)+abs((1-R*Ts/L)*iβ(k)+Ts/L*(-Udc/sqrt(3)-eβ(k))-irβ): cost5=abs(iα(k+1)iαref)+abs(iβ(k+1)iβref)=abs((1RTs/L)iα(k)+Ts/L(Udc/3eα(k))irα)+abs((1RTs/L)iβ(k)+Ts/L(Udc/sqrt(3)eβ(k))irβ):

状态6:
c o s t 6 = a b s ( i α ( k + 1 ) − i α r e f ) + a b s ( i β ( k + 1 ) − i β r e f ) = a b s ( ( 1 − R ∗ T s / L ) ∗ i α ( k ) + T s / L ∗ ( U d c / 3 − e α ( k ) ) − i r α ) + a b s ( ( 1 − R ∗ T s / L ) ∗ i β ( k ) + T s / L ∗ ( U d c / s q r t ( 3 ) − e β ( k ) ) − i r β ) : cost6=abs(iα(k+1)-iαref)+abs(iβ(k+1)-iβref)=abs((1-R*Ts/L)*iα(k)+Ts/L*(Udc/3-eα(k))-irα)+abs((1-R*Ts/L)*iβ(k)+Ts/L*(Udc/sqrt(3)-eβ(k))-irβ): cost6=abs(iα(k+1)iαref)+abs(iβ(k+1)iβref)=abs((1RTs/L)iα(k)+Ts/L(Udc/3eα(k))irα)+abs((1RTs/L)iβ(k)+Ts/L(Udc/sqrt(3)eβ(k))irβ):

2. 主电路

在这里插入图片描述

250V直流电压源与三相桥式逆变器相连,经过RL滤波器并网。

3. 控制电路

在这里插入图片描述

Clark变换

在这里插入图片描述

Stateflow

在这里插入图片描述

记得要在模型管理器定义变量

4. 运行结果

当参考电流幅值为 6A 时:

在这里插入图片描述

当参考电流幅值为 6A→3A 时:

在这里插入图片描述

可以看到,和采用 Matlab Function 编写代码的效果是一样的。

资源下载

下载链接

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Simulink是一种可视化建模和仿真软件,用于设计和实现各种控制系统。三相并网逆变器是一种用于将直流电能转换为交流电能并与电网同步的装置。解耦PI控制器是一种用于解耦三相并网逆变器控制系统的传统控制方法。 对于三相并网逆变器,其控制系统通常包括两个环节:内部电流环和外部电压环。内部电流环用于控制逆变器输入电流的波形,而外部电压环用于控制逆变器输出电压的波形。为了减小内外环之间的耦合,可以引入解耦PI控制器。 解耦PI控制器的参数设计包括两个步骤:首先是求取逆变器的耦合矩阵,然后根据耦合矩阵设计解耦PI控制器的参数。 通过建立逆变器的数学模型,可以求取其耦合矩阵。耦合矩阵描述了内部电流环和外部电压环之间的耦合关系。然后,在得到耦合矩阵后,可以通过设计解耦PI控制器的参数来降低这种耦合。 解耦PI控制器的参数设计通常采用频率响应法。具体地,可以根据逆变器的频率响应特性来确定解耦PI控制器的增益和相位的设计方法。通过调整PI参数,可以使内部电流环和外部电压环之间的耦合最小化,从而实现更好的控制性能和稳定性。 总之,Simulink是一种用于建模和仿真控制系统的工具,在设计三相并网逆变器的解耦PI控制器参数时,需要通过求取耦合矩阵和设计相应的PI参数来实现解耦和优化控制性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不雨_亦潇潇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值