基于一致性算法的微电网分布式控制MATLAB仿真模型

关注“电气仔推送”获得资料(专享优惠)

本模型主要是基于一致性理论的自适应虚拟阻抗、二次电压补偿以及二次频率补偿,实现功率均分,保证电压以及频率稳定性。

一致性算法

分布式一致性控制主要分为两类:协调同步和跟踪同步。所谓协调同步是指将系统各个节点的某个控制目标同步到一个未规定或不可控的相同值,也称无领导者的一致性控制。跟踪同步控制是有领导者的一致性控制,其最终目的是将系统的其他各个节点的某个控制目标追踪到领导者状态,即向领导者看齐。对于本节要介绍的无功分配一致性控制采用的是无领导者的协调同步一致性控制。

分布式协同控制是通过建立稀疏通信网络的有向图实现的。将信息状态xi分配到通信节点i 上,每个节点都需要获取自身信息以及有向图上相邻节点的信息以更新其状态xi,基于连续一致性算法根据不同一致性控制采用不同更新规则。

针对协调同步问题,采用无领导者的一致性算法:

针对跟踪同步问题,采用有领导者的一致性算法:

在分析功率分配问题时,需要把系统中所有节点的状态量niQi同步到一个未规定的共同值,因此,这里采用无领导者的一致性算法。

基于一致性算法的自适应虚拟阻抗控制

为了实现无功功率按比例分配,需要把系统中所有节点的状态量niQi同步到一个未规定的共同值,是一阶线性多智能体系统的协调同步问题。

其中, UQi是一个辅助控制,根据一致性控制协议,辅助控制是根据每一台DG 的自身信息和有向图中与其相邻的DG 信息得到的,即每一台DG 的无功功率控制器将本地无功分配信息与相邻的无功分配信息进行比较得到无功不匹配。

其中,cQ 是控制增益,eQi 为同步误差,即i 节点与相邻节点的无功分配误差

aij是邻接矩阵AG的元素, AG反映了通信网络的状态,如果通信网络发生变化,则AG 也会随之变化。

无功功率分配误差通过辅助控制uQ反馈到一个比例积分(PI)控制器,得到虚拟阻抗矫正项。虚拟阻抗矫正项动态更新虚拟阻抗的值。

如果各DG 的输出无功不能按各自的额定无功成比例分配,则通过分布式通信网络获取相邻DG 的无功分配信息,以更新本地的无功分配误差按照下式自适应地调节自身的虚拟电感。

同时采用自适应虚拟电阻可对微电网系统提供一定的阻尼效果

需要注意的是,这种方法不是直接调节每个DG 的无功功率,而是将每个DG 的虚拟阻抗调整到一个值,并且使得各DG 的等效阻抗与无功功率成反比,以消除由于线路阻抗不匹配所造成的无功功率分配误差。

基于一致性算法的二次电压补偿

电压恢复二次控制是将各DG 的参考电压幅值Vfi 同步到参考值 Vfref ,属于跟踪同步问题,故uvi 是根据有领导者的跟踪同步一致性算法确定的:

而Vfref 是根据公共母线电压Vpcc 和其参考电压Vref pcc 通过一个 PI 控制器确定的。

基于一致性算法的二次频率补偿

二次频率补偿类似于二次电压补偿

cf是控制增益,wfi用来实现频率控制的跟踪误差。

由公共母线参考频率wPCC和参考电压wPCCref通过PI控制后得到wfref。

仿真主体模型:

优化控制部分:

功率输出波形:

因为自适应虚拟阻抗的加入,有功、无功都能达到均分效果。

电压补偿:

上图为没有加入二次电压补偿的公共点电压,下图为加入二次补偿后的效果。因为二次电压补偿后,公共点电压不会因为虚拟阻抗的引入而导致电压跌落,快速回复到稳定值。

频率补偿:

上图为没有加入二次频率补偿的公共点电压,下图为加入二次频率补偿后的效果。因为二次频率补偿后,频率会稳定在50Hz,增加了系统的稳定性。

参考文献:

基于一致性理论的孤岛微电网分布式控制策略研究_熊德超

微电网中分布式电源改进下垂控制研究_曾信毅

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

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

相关文章

探索无限可能:APITable免费开源多维表格与可视化数据库远程访问的魅力

APITable免费开源的多维表格与可视化数据库公网远程访问 文章目录 APITable免费开源的多维表格与可视化数据库公网远程访问前言1. 部署APITable2. cpolar的安装和注册3. 配置APITable公网访问地址4. 固定APITable公网地址 前言 vika维格表作为新一代数据生产力平台&#xff0c…

JAVA多线程(5)

JAVA多线程(5) 线程安全问题概述 卖票问题分析 单窗口卖票 一个窗口(单线程)卖100张票没有问题 单线程程序是不会出现线程安全问题的 多个窗口卖不同的票 3个窗口一起卖票,卖的票不同,也不会出现问题 多线程程序,没有访问共享数据,不会产生问题 多个窗口卖相同的票 3个窗口…

C语言:动态内存管理

目录 为什么存在动态内存分配 动态内存函数 malloc和free 示例 calloc 示例 realloc 示例 常见的动态内存错误 对NULL指针的解引用操作 对动态开辟的空间进行越界访问 对于非动态开辟内存使用free释放 使用free释放一块动态开辟内存的一部分 对同一块内存多次释…

有成效的工作

从开始上班起,听到过工作是做不完得。 大概的意思,现在的工作做完了,就会分配新的工作。所以总也做不完。 如果是做不完的,那么是不是在一个岗位上就一直干着呢。既然这个很难成立。那其实工作是可以干得完的。 一个岗位的终结&am…

MyISAM和innoDB两种引擎的对比

innoDB 3.23就有了innoDB引擎,5.5成为了默认引擎,支持外键 是一种事务型引擎,可以保证完整提交和回滚 更新、删除比较多的场景,推荐使用innoDB 不过innoDB对内存要求高,因为索引和数据存到一个表了;写操作…

PyQt(学习笔记)

学习资料来源: PyQt快速入门——b站王铭东老师 PyQt(学习笔记) Pycharm环境准备运行第一个程序QPushButtonQLabelQLineEdit调整窗口大小、位置、图标布局信号与槽PyQt引入多线程 Pycharm环境准备 新建环境——添加PyQt5模块——验证版本 如果…

手写消息队列(基于RabbitMQ)

一、什么是消息队列? 提到消息队列是否唤醒了你脑海深处的记忆?回看前面的这篇文章:《Java 多线程系列Ⅳ(单例模式阻塞式队列定时器线程池)》,其中我们在介绍阻塞队列时说过,阻塞队列最大的用途…

K-Means聚类

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 K-means聚类算法实现 技术细节 选取的数据集是sklearn.datasets里面的鸢尾花数据集,方便最后的算法评价。 根据手肘法(即根据SSE代价函数)得出最合适的k值。 此处思路是先根据E …

ZJU Beamer学习手册(二)

ZJU Beamer学习手册基于 Overleaf 的 ZJU Beamer模板 进行解读,本文则基于该模版进行进一步修改。 参考文献 首先在frame文件夹中增加reference.tex文件,文件内容如下。这段代码对参考文献的引用进行了预处理。 \usepackage[backendbiber]{biblatex} \…

最全的接口自动化测试思路和实战:【推荐】混合测试自动化框架(关键字+数据驱动)

混合测试自动化框架(关键字数据驱动) 关键字驱动或表驱动的测试框架 这个框架需要开发数据表和关键字。这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来“驱动"待测应用程序和数据的测试脚本代码,关键字驱动测试看上去与手工测…

【wp】2023第七届HECTF信息安全挑战赛 Web

伪装者 考点:http协议flask的session伪造ssrf读取文件 首先根据题目要求就行伪造HTTP 这里不多说,比较基础 然后下面得到是个登入 页面,我们输入zxk1ing 得到 说什么要白马王子 ,一眼session伪造 看到ey开头感觉是jwt 输入看看 得…

DrugMAP: molecular atlas and pharma-information of all drugs学习

DrugMAP:所有药物的分子图谱和制药信息 - PMC (nih.gov) DrugMAP: the molecular atlas and pharma-information of drugs (idrblab.net) 构建了一个描述药物分子图谱和药物信息的新数据库(DrugMAP)。它提供了>30 000种药物/候选药物的相…