【五一创作】【Simulink】基于FCS-MPC的三相并网逆变器控制(Stateflow)

news2024/11/20 9:09:56

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

原理

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

直流电压源与三相桥式逆变器相连,经过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β):

主电路

在这里插入图片描述

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

控制电路

在这里插入图片描述

Clark变换

在这里插入图片描述

Stateflow

在这里插入图片描述

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

运行结果

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

在这里插入图片描述

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

在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何批量查询快递的签收状态?

如果一次性网购大量快递,我们就得经常进入快递或网购平台查询物流,随时查看快递单号的物流状态。如果快递公司少,查询起来比较容易,但是如果快递公司很多,每次都要人工查询就是一件很麻烦的事情了。今天,小…

数据库相关知识

一.1 数据库 与Sybase不同,一个用户就对应于一个数据库。 create user CBMAIN identified by "sunline" default tablespace CBMAIN_DATA  -- 表空间 temporary tablespace CBMAIN_TEMP; -- 临时表空间 一.2 表空间 表空间由一个或多个物理文件组成&…

js使用splice方法删除数组元素可能导致的问题

splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。 JavaScript 遍历数组并通过 splice 方法删除该数组符合某些条件的元素将会导致哪些问题? 导致的问题 当使用 splice 方法从 …

QT 中的多线程之继承 Thread

文章目录 1. 概述2. UML 类的关系图3. 代码:4. 运行结果及说明5. 结语 1. 概述 任何继承于QThread的线程都是通过继承 QThread 的run函数来实现多线程的,因此,必须重写QThread的run函数,把复杂逻辑写在QThread的run函数中。然后在…

effective c++ item40-44

item40:谨慎的使用多重继承 多重继承带来的符号的歧义性 #include <iostream> #include <vector> using namespace std; class A { public:void f() { cout << "A" << endl; } }; class B { private:void f(); }; class C : public A, publ…

5.5.1哈夫曼树

知识总览&#xff1a; 概念&#xff1a; 结点的权&#xff1a;有某种现实含义的数值&#xff08;如&#xff1a;表示结点的重要性&#xff09; 结点的带权路径长度&#xff1a;从树的根到该结点的路径长度&#xff08;经过的边数&#xff09;与该结点上权值的乘积。 就比如说要…

ETL工具 - Kettle 案例,拉取网络列表数据

一、Kettle 实战案例 上篇文章对 Kettle 的查询、连接、统计、脚本算子进行了介绍&#xff0c;对 Kettle 的大部分算子都应该有了相应的了解&#xff0c;下面我们基于 Kettle 实战案例&#xff0c;拉取 CSDN 博客列表的全部数据&#xff0c;存放至 Excel 文件中。 实验之前先…

NECCS|全国大学生英语竞赛C类|词汇和语法|词汇题|21:03~21:53

词汇题 语法题 情景对话题 目录 一、词汇题 1. 基本词义辨析题 2. 同义词或近义词辨析题 3. 固定搭配 二、常见词组 一、词汇题 1. 基本词义辨析题 appropriate funds 拨款 slum- clearance programme 贫民窟清理计划 reject 拒绝接受&…

DAY 49 tomcat服务配置优化

什么是Tomcat Tomcat是Java 语言开发的&#xff0c;Tomcat 服务器是一个免费的开放源代码的Web应用服务器&#xff0c;是Apache 软件基金会的 Jakarta 项目中的一个核心项目&#xff0c;由Apache、Sun和其他一些公司及人共同开发而成。 Tomcat属于轻量级应用服务器&#xff0…

外卖项目优化-02-

文章目录 瑞吉外卖项目优化-Day02课程内容前言1. MySQL主从复制1.1 介绍1.2 搭建1.2.1 准备工作1.2.2 主库配置1.2.3 从库配置 1.3 测试 2. 读写分离案例2.1 背景介绍2.2 ShardingJDBC介绍2.3 数据库环境2.4 初始工程导入2.5 读写分离配置2.6 测试 3. 项目实现读写分离3.1 数据…

深入解析PyTorch中的基本数据结构:张量的维度、形状和数据类型

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

【LEAP模型】能源环境发展、碳排放建模预测及不确定性分析

本次内容突出与实例结合&#xff0c;紧密结合国家能源统计制度及《省级温室气体排放编制指南》&#xff0c;深入浅出地介绍针对不同级别研究对象时如何根据数据结构、可获取性、研究目的&#xff0c;构建合适的能源生产、转换、消费、温室气体排放&#xff08;以碳排放为主&…

【Spring框架全系列】Spring更简单的读取和存储对象

&#x1f4ec;&#x1f4ec;哈喽&#xff0c;大家好&#xff0c;我是小浪。上篇博客我们介绍了如何创建一个spring项目&#xff0c;并且如何的存、取对象&#xff0c;介绍了相关方法&#xff0c;那么本篇博客将接着上篇博客的内容介绍如何更加简单的读取和存储对象。 &#x1f…

从源码角度看Linux进程组和线程组

1.进程ID 线程组ID&#xff1a; 设置了CLONE_THREAD flag创建的进程(线程&#xff09;同属于同一个线程组&#xff0c;拥有同一个线程组ID(TGID)。pthread_create创建线程的时候&#xff0c;底层通过clone函数实现就指定了CLONE_THREAD参数&#xff0c;即一个进程中的各个线程…

前端搭建猜数字游戏(内附源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 功能介绍✨ 页面搭建✨ 样式设置✨ 逻辑部分✨ 完整代码 ✨ 写在前面 上周我们实通过前端基础实现了打字通&#xff0c;当然很多伙伴再评论区提出了想法&#xff0c;后续我们会考虑实现的&#xff0c;今天还是继续按照我…

架构设计-数据库篇

大家好&#xff0c;我是易安&#xff01; 之前我们讲过架构设计的一些原则&#xff0c;和架构设计的方法论&#xff0c;今天我们谈谈高性能数据库集群的设计与应用。 读写分离原理 读写分离的基本原理是将数据库读写操作分散到不同的节点上&#xff0c;下面是其基本架构图。 读…

【ansys】project may be corrupted and recovery information is available

一、问题背景 在网上找一个fluent算例打算在自己机器上运行。 打开fluent求解器&#xff0c;因为路径上有中文&#xff0c;在求解计算的时候出错了。 于是我通过任务管理器强制退出fluent和workbench程序&#xff0c;再将项目文件复制到一个没有中文的目录路径中。 重新打开…

15-2-线程-线程的创建,等待,退出

一、相关API 1. 线程创建 1. 线程创建 #include <pthread.h> int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void *), void *restrict arg);参数&#xff1a;参数1&#xff1a;&#xff08;创建的线程 的地址…

【JavaEE】TCP回写服务器简易翻译服务器(网络编程)

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 上一篇我们讲解了UDP回写服务器和简易翻译服务器&#xff0c;想了解本篇文章&#xff0c;建议先看看上篇文章&#xff0c;学起来会更容易一些~~传送门&#xff1a;(1条消息) 【JavaEE】UDP数…

创新案例|香氛新品牌观夏如何以DTC模式仅4年实现年收过亿

国产香氛品牌观夏的DTC战略&#xff0c;正是从产品创新、全渠道布局、社交电商营销等方面创新&#xff0c;实现更高效地直接触达和转化消费者。观夏作为香氛DTC品牌的创新模式值得更多国内新品牌的关注与借鉴&#xff0c;同时也能为传统品牌的DTC转型提供全球化视野的启示。 1.…