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

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

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

传统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_i gi 的下标 i 代表开关状态顺序(1-8), i α ∗ i_\alpha^* iα i β ∗ i_\beta^* iβ 的下标 α , β \alpha,\beta αβ 为三相负载电流的 α , β \alpha,\beta αβ 分量(经过Clarke变换),上标 * 表示参考值,上标 p 表示预测值。

为什么要考虑延时补偿?

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

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

在这里插入图片描述

在 k 时刻测量电流,并且立即计算并应用最佳开关状态,在 k+1 时刻达到使误差最小化的切换状态。
(图中 k 到 k+1 时刻共有3条 i β p i_\beta^p iβp,其中最上面的一条离 i β p i_\beta^p iβp (水平直线)最近,所以选择最上面的 i β p i_\beta^p iβ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)

仿真

原理图

在这里插入图片描述

Matlab Function代码

function [S1,S2,S3,S4,S5,S6] = fcn(Vdc, ea, eb, ia, ib, iar, ibr)

g = zeros(1,8);
L = 0.02;
R = 0.05;
T = 1/1e4;

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]; 

persistent x_opt 
if isempty(x_opt)
    x_opt = 1; 
end 
S1 = states(x_opt,1); 
S2 = states(x_opt,2); 
S3 = states(x_opt,3); 
S4 = ~states(x_opt,1); 
S5 = ~states(x_opt,2); 
S6 = ~states(x_opt,3); 

% 负载电流估算
ia1 = (1-T*R/L)*ia+(real(v(x_opt))-ea)*T/L;
ib1 = (1-T*R/L)*ib+(imag(v(x_opt))-eb)*T/L;

for i = 1: 8
    v_o1 = v(i); 
    % 负载电流预测
    ia2 = (1-T*R/L)*ia1+(real(v_o1)-ea)*T/L;
    ib2 = (1-T*R/L)*ib1+(imag(v_o1)-eb)*T/L;
    
    % 代价函数
    g(i) = abs(iar - ia2) + abs(ibr - ib2);
end   

[~,x_opt] = min(g); 

仿真结果

负载电流
在这里插入图片描述

THD降低了一点点,从原来的4.07%降到3.99%,三相的不明显,对于单相的比较明显

遗留问题:
有的论文提到需要对电流参考值和电网电压进行估计,我用了矢量角的方法进行估计后THD反而增大了,很奇怪。

参考:

[1] 郑文帅. 三相并网逆变器有限控制集模型预测控制研究[D].辽宁工程技术大学,2021.DOI:10.27210/d.cnki.glnju.2021.000395.
[2] 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.
[3] 对同一个三相逆变器使用FCS-MPC的延迟补偿的两种方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/16621.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java数据结构】顺序表、队列、栈、链表、哈希表

顺序表 定义 存放数据使用数组但是可以编写一些额外的操作来强化为线性表&#xff0c;底层依然采用顺序存储实现的线性表&#xff0c;称为顺序表 代码实现 创建类型 先定义一个新的类型 public class ArrayList<E> {int capacity 10; //顺序表的最大容量int size …

【Java笔试强训 6】

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔&#x1f93a;&#x1f93a;&#x1f93a; 目录 一、选择题 二、编程题 &#x1f525;不要二 …

基于微信小程序的垃圾分类系统的研究与实现(附源码和教程)

1. 简介 本文介绍的事基于微信小程序的垃圾分类系统&#xff0c;主要实现的功能有登录、注册、垃圾分类查询、垃圾预约回收、垃圾分类功能。 2.系统设计与实现 本章节是论文的重点&#xff0c;基于上一章介绍的总体设计框架的搭建&#xff0c;详细对小程序的页面布局、流程设…

Photoshop如何使用选区之实例演示?

文章目录 0.引言1.利用快速选择工具抠图2.制作网店产品优惠券3.利用选区改变眼睛颜色4.抠取复杂的花束5.制作丁达尔光照效果6.利用选区调整图像局部颜色 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对PS进行了学习&#xff0c;本文通过《Photoshop2021入门教程》及…

MySQL基础

目标&#xff1a; 掌握MySQL的安装&#xff0c;登录&#xff0c;基础操作 掌握DDL语句 掌握DML语句 掌握DQL语句 1、数据库相关概念 以前我们做系统&#xff0c;数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果&#xff0c;当然文件存储…

Mysql为json字段创建索引的两种方式

目录 一、前言二、通过虚拟列添加索引&#xff08;Secondary Indexes and Generated Columns&#xff09;三、多值索引&#xff08;Using multi-valued Indexes&#xff09;四、官网地址 一、前言 JSON 数据类型是在mysql5.7版本后新增的&#xff0c;同 TEXT&#xff0c;BLOB …

【社区图书馆】二、LED子系统——硬件驱动层

个人主页&#xff1a;董哥聊技术 我是董哥&#xff0c;嵌入式领域新星创作者 创作理念&#xff1a;专注分享高质量嵌入式文章&#xff0c;让大家读有所得&#xff01; 文章目录 1、gpio_led_probe分析1.1 相关数据结构1.1.1 gpio_led_platform_data1.1.2 gpio_leds_priv 1.2 实…

【论文代码阅读】LORA: LOW-RANK ADAPTATION OF LARGE LAN- GUAGE MODELS

最近很多工作好像都绕不开lora&#xff0c;无论是sd还是llm.... 1. 背景 问题&#xff1a;大模型重新训练所有模型参数的完全微调变得不太可行。lora在做什么 我们提出了低秩自适应&#xff0c;即LoRA&#xff0c;它冻结预先训练的模型权重&#xff0c;并将可训练的秩分解矩…

【Redis—哨兵机制】

概念 当进行主从复制时&#xff0c;如果主节点挂掉了&#xff0c;那么没有主节点来服务客户端的写操作请求了&#xff0c;也没有主节点给从节点进行数据同步了。此时需要进行主从切换&#xff08;主从节点故障转移&#xff09;&#xff0c;Redis在 2.8 版本以后提供的哨兵&…

C++标准库 --- 动态内存 (Primer C++ 第五版 · 阅读笔记)

C标准库 --动态内存 (Primer C 第五版 阅读笔记&#xff09; 第12章 动态内存------(持续更新)12.1、动态内存与智能指针12.1.1、shared_ptr类12.1.2、直接管理内存12.1.3、shared_ptr和new结合使用12.1.4、智能指针和异常12.1.5、unique_ptr12.1.6、weak_ptr 12.2、动态数组1…

抓马,互联网惊现AI鬼城:上万个AI发帖聊天,互相嗨聊,人类被禁言

近日又有一个社区迷惑走红 上万个AI发帖聊天&#xff0c;人类不得入内&#xff1f; 据红星新闻报道 近日&#xff0c;一个名为Chirper的AI网络社区突然爆火 上万个AI聊天机器人在其中 激烈地聊天、互动、分享 社区主页右上角明确写着&#xff1a; “这是一个人工智能的社交…

【五一创作】( 字符串) 409. 最长回文串 ——【Leetcode每日一题】

❓ 409. 最长回文串 难度&#xff1a;简单 给定一个包含大写字母和小写字母的字符串 s &#xff0c;返回 通过这些字母构造成的 最长的回文串 。 在构造过程中&#xff0c;请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。 示例 1: 输入:s “abccccdd”…

蒙蒂霍尔悖论

贝叶斯与频率主义对蒙蒂霍尔问题的解 在定义概率时&#xff0c;通常有两种思想流派&#xff1a;贝叶斯主义和频率主义。前者将概率视为我们对事件发生的信念程度&#xff0c;而后者则将其视为事件发生的相对频率。这篇文章介绍了使用贝叶斯和频率主义方法来解决著名的蒙蒂霍尔问…

IDEA Java 第一个mybatis入门程序

文章目录 准备mysql 开始新建maven项目maven添加引用mybatis配置文件工具类创建实例类添加mappermappermapper.xml 测试类 发现问题org.apache.ibatis.binding.BindingException: Type interface com.cpyy.mapper.UserMapper is not known to the MapperRegistry.The error may…

chatGPT国内可用镜像源地址

chatGPT国内可用镜像源地址 彷丶徨丶 关注 IP属地: 湖北 0.811 2023.03.15 16:02:16 字数 1,152 阅读 249,582 如果你正在尝试访问Chatgpt网站&#xff0c;但由于某些原因无法访问该网站&#xff0c;那么你可以尝试使用Chatgpt的国内镜像网站。以下是一些Chatgpt国内镜像网站的…

【MYSQL】数据类型和约束

目录 数据类型 1.数值类型 1.1.位--类型bit(M) 1.2. 整数类型--tinyint&#xff0c;smallint&#xff0c;int&#xff0c;bigint 1.3.小数类型--float、decimal 2.字符类型--char、varchar 3.日期类型--datetime、timestamp 4.string类型--enum和set mysql的约束 1.空…

【人工智能】— 不确定性、先验概率/后验概率、概率密度、贝叶斯法则、朴素贝叶斯 、最大似然估计

【人工智能】— 不确定性 不确定性不确定性与理性决策基本概率符号先验概率(无条件概率)/后验概率(条件概率)随机变量概率密度联合概率分布公理完全联合分布概率演算独立性 贝叶斯法则例1例2 使用贝叶斯规则&#xff1a;合并证据朴素贝叶斯最大似然估计小结 不确定性 不确定性与…

PCIe物理层详细总结-PCIE专题知识(一)

目录 一、简介二、PCIe物理层结构及功能2.1 PCIe端对端连接方式2.2 PCIe组成2.2.1 逻辑层(Logic)1 发送逻辑2 接收逻辑 2.2.2 电气层(Electrical)1 物理层-电气(Physical Layer Electrical)2 数据传送----差分方式 2.2.3 PLP介绍 三、其他相关链接1、PCI总线及发展历程总结2、P…

mockjs学习笔记

文章目录 一、什么是mockjs二、安装mockj项目安装mock 三、mock语法生成字符串生成文本生成标题和句子生成段落生成数字生成自增id生成姓名-地址-身份证随机生成图片生成时间 mock拦截请求定义get请求定义post请求 四、实现新闻管理案例获取数据添加新闻删除新闻 一、什么是moc…

最优化方法Python计算:一元函数搜索算法——二分法

设一元目标函数 f ( x ) f(x) f(x)在区间 [ a 0 , b 0 ] ⊆ R [a_0,b_0]\subseteq\text{R} [a0​,b0​]⊆R&#xff08;其长度记为 λ \lambda λ&#xff09;上为单峰函数&#xff0c;且在 ( a 0 , b 0 ) (a_0,b_0) (a0​,b0​)内连续可导&#xff0c;即其导函数 f ′ ( x ) f…