基于自适应VSG控制的光伏混合储能构网型逆变系统MATLAB仿真模型

模型简介

此模型源侧部分采用光伏发电系统与混合储能系统(蓄电池+超级电容),并网逆变器采用虚拟同步发电机(VSG)控制,为系统提供惯量阻尼支撑。同时对VSG控制部分进行了改进,采用构造函数法对虚拟惯量及虚拟阻尼进行自适应控制,自适应方法完全复现《虚拟同步发电机转动惯量和阻尼系数协同自适应控制策略》这篇文章。整体模型架构完整,波形完美,可进一步创作!

光伏系统

光伏电池模块采用环境系数修正系数搭建,光伏MPPT控制采用扰动观察法,得到光伏电池当前条件下的最佳工作点,在变化的光照和温度环境下保持最佳工作状态运行。

混合储能系统

储能系统的设计主要用于两方面:一方面保证系统的功率平衡,第二方面是维持母线电压恒定。系统发现母线电压发生改变,将促使蓄电池和超级电容开始运行,利用其充放电来稳定母线电压。所以利用母线电压下降或者上升的现象可以得出微电网净功率波动的状态。混合储能系统的控制方法采用一阶低通滤波法制。参考文献《光伏微电网混合储能系统控制策略研究》进行搭建。

VSG自适应控制

VSG模拟同步电机的一次调频特性、转子运动方程和定子励磁调节特性,其主要控制方程可表示为:

角频率变化量与变化率表示为:

当出现扰动时,可以通过调整转动惯量 J与阻尼系数D 来抑制 与 的变化,进而抑制功频的波动。从上式可知,D 与角频率变化量 成负相关,J与角频率变化率成负相关,而且D与J的变化都会影响到角频率的变化。为了方便分析,在保持 与 为恒定值的情况下,将同步发电机的功角特性曲线和角频率振荡曲线分为4个阶段。

转动惯量的选取是由虚拟转子角速度变化量和变化率同时决定的,而阻尼系数的选取只由虚拟转子角速度变化量决定。在不同条件下,转动惯量和阻尼系数的选取原则如表所示。

自适应控制策略如下:

仿真模型主体

设置光照强度波动,用于观测蓄电池与超级电容的功率输出情况;设置逆变器功率指令变化,用于观测系统功率、频率响应情况。

输出波形

上图中,储能出力表示蓄电池+超级电容的输出功率之和,从三个部分的功率输出情况可知,系统的功率始终保持平衡,及光伏输出功率+混合储能输出功率=逆变器输出功率。

上图为蓄电池与超级电容的功率输出情况,在直流母线功率发生波动时,超级电容会迅速响应输出功率,提高了储能系统的响应速度。

上图为加入自适应控制前后的逆变系统频率,当功率指令发生变化时,频率会发生波动,由图可见,加入自适应控制策略后,频率波动大幅减少,系统暂态响应特性提升!

上图为自适应惯量、阻尼变化情况。

参考文献:

超级电容与蓄电池混合储能系统的能量管理与控制研究_王宇

光伏_混合储能直流微电网能量管理策略研究_牛浩明

光伏微电网混合储能系统控制策略研究_唐国强

基于自适应旋转惯量与阻尼的VSG并网技术研究_杨瑞平

虚拟同步发电机转动惯量和阻尼系数协同自适应控制策略_杨赟

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

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

相关文章

论文阅读(二十九):Multi-scale Interactive Network for Salient Object Detection

文章目录 Abstract1.Introduction2.Scale VariationProposed Method3.1Network Overview3.2Aggregate Interaction Module3.3 Self-Interaction Module3.4Consistency-Enhanced Loss 4.Experiments4.1Implementation Details4.2 Comparison with State-of-the-arts4.3Ablation …

【力扣】[Java版] 刷题笔记-21. 合并两个有序链表

题目: 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 解题思路 从题目和示例可以看出,应该是要循环遍历链表进行比较,然后组成新的链表。 第一种:递归…

存储过程(SQL)

1.存储过程 存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 2.MySQL存储过程创建…

PostgreSQL的前世今生

PostgreSQL的起源可以追溯到1977年的加州大学伯克利分校(UC Berkeley)的Ingres项目。该项目由著名的数据库科学家Michael Stonebraker领导,他是2015年图灵奖的获得者。以下是PostgreSQL起源的详细概述: 一、早期发展 Ingres项目…

LabVIEW换流变换器智能巡检系统

基于LabVIEW的换流变换器智能巡检系统通过自动化检测和数据分析,提高换流变换器的运行效率和可靠性,降低人工维护成本。 项目背景: 换流变压器作为电力系统的重要组成部分,其性能的可靠性直接影响到整个电网的稳定运行。然而&…

完美解决phpstudy安装后mysql无法启动

phpstudy数据库无法启动有以下几个原因。 一、自己在电脑上安装了MySQL数据库,MySQL的服务名为MySQL,这会与phpstudy的数据库的服务名发生冲突,从而造成phpstudy中的数据库无法启动,这时我们只需要将自己安装的MySQL的服务名改掉就行。 但是&#xff0…

软件测试的重要一环:「性能测试」怎么做?

性能测试是软件测试中的重要一环,今天给大家介绍性能测试及如何使用RunnerGo完成性能测试任务。 性能测试是什么? 一句话概括:不断地通过不同场景的系统表现去探究系统设计与资源消耗之间的平衡,为开发人员提供消除瓶颈所需的诊…

Ajax:表单 模板引擎

Ajax&#xff1a;表单 & 模板引擎 form 表单form 属性 Ajax操控表单事件监听阻止默认行为收集表单数据 模板引擎art-template{{}}语法原文输出条件输出循环输出过滤器 原理 form 表单 在HTML中&#xff0c;可以通过<form>创建一个表单&#xff0c;收集用户信息。而采…

基于docker 部署redis

1、拉取镜像 docker pull redis:latest如果拉取失败可以尝试下配置镜像源&#xff0c;具体参考如下&#xff0c;目前暂可以使用 Docker切换镜像源-CSDN博客 2、创建配置文件 mkdir /usr/local/redis/conf vim redis.conf bind 0.0.0.0#protected-mode no port 6379 tcp-b…

Fast Simulation of Mass-Spring Systems in Rust 论文阅读

参考资料&#xff1a; Fast Simulation of Mass-Spring Systems in Rust 论文阅读&#xff1a;Fast Simulation of Mass-Spring Systems 【论文精读】讲解刘天添2013年的fast simulation of mass spring system(Projective Dynamics最早的论文) Projective Dynamics笔记(一…

面试经典 150 题 第三周代码

【题目链接】 80. 删除有序数组中的重复项 II 【参考代码】 双指针 class Solution { public:int removeDuplicates(vector<int>& nums) {int size nums.size();if(size < 2){return size;}int slow 2, fast 2;while(fast < size){if(nums[slow-2] ! num…

【C++数学 负进制】1017. 负二进制转换|1697

本文涉及知识点 数学 LeetCode1017. 负二进制转换 给你一个整数 n &#xff0c;以二进制字符串的形式返回该整数的 负二进制&#xff08;base -2&#xff09;表示。 注意&#xff0c;除非字符串就是 “0”&#xff0c;否则返回的字符串中不能含有前导零。 示例 1&#xff1a…

可训练的YOLO距离检测

由于很多场景需要测距&#xff0c;而深度图、点云等获取、配准、融合困难&#xff0c;尝试直接在目标增加距离标注进行训练&#xff0c;理论上标注准确&#xff0c;数据集够&#xff0c;就可以实现。 目前已经跑通YOLO增加距离训练&#xff1a; 目前准度不够&#xff0c;仅将…

Flutter Image和Text图文组件实战案例

In this section, we’ll go through the process of building a user interface that showcases a product using the Text and Image widgets. We’ll follow Flutter’s best practices to ensure a clean and effective UI structure. 在本节中&#xff0c;我们将使用“Te…

JVM 实战篇(一万字)

此笔记来至于 黑马程序员 内存调优 内存溢出和内存泄漏 内存泄漏&#xff08;memory leak&#xff09;&#xff1a;在Java中如果不再使用一个对象&#xff0c;但是该对象依然在 GC ROOT 的引用链上&#xff0c;这个对象就不会被垃圾回收器回收&#xff0c;这种情况就称之为内…

鸿蒙next之导航组件跳转携带参数

官方文档推荐使用导航组件的形式进行页面管理&#xff0c;官方文档看了半天也没搞明白&#xff0c;查了各种文档才弄清楚。以下是具体实现方法&#xff1a; 在src/main/resources/base/profile下新建router_map.json文件 里边存放的是导航组件 {"routerMap" : [{&q…

从汇编角度看C/C++函数指针与函数的调用差异

函数指针本质上是一个指针变量&#xff0c;只不过这个变量保存的地址是一个函数的地址&#xff0c;那么直接调用函数和通过函数指针调用有没有区别呢&#xff1f;答案是有的&#xff0c;下面的代码是一个直接调用函数和通过指针调用函数的例子&#xff0c;使用gdb反汇编main函数…

vue开发的时候,目录名、文件名、函数名、变量名、数据库字段等命名规范

在Vue开发中&#xff0c;函数名、文件名、目录名、变量名、数据库字段名的命名规范各有其特点&#xff0c;以下是根据Vue及JavaScript的命名习惯进行的详细解答&#xff1a; 分析 目录名 通常使用kebab-case&#xff08;短横线命名法&#xff09;&#xff0c;全部小写&#x…

mac电脑设置chrome浏览器语言切换为日语英语等不生效问题

在chrome中设置了语言&#xff0c;并且已经置顶了&#xff0c;但是不生效&#xff0c;在windows上直接有设置当前语言为chrome显示语言&#xff0c;但是mac上没有。 解决办法 在系统里面有一个单独给chrome设置语言的&#xff1a; 单独给它设定成指定的语言&#xff0c;然后重…

【每日一题】LeetCode - 判断回文数

今天我们来看一道经典的回文数题目&#xff0c;给定一个整数 x &#xff0c;判断它是否是回文整数。如果 x 是一个回文数&#xff0c;则返回 true&#xff0c;否则返回 false。 回文数 是指从左往右读和从右往左读都相同的整数。例如&#xff0c;121 是回文&#xff0c;而 123 …