虚拟同步发电机_测量虚拟同步发电机惯量与阻尼系数的新方法

华北电力大学分布式储能与微网河北省重点实验室的研究人员颜湘武、王俣珂、贾焦心、王德胜、张波,在2019年第7期《电工技术学报》上撰文(论文标题为“基于非线性最小二乘曲线拟合的虚拟同步发电机惯量与阻尼系数测量方法”)指出,虚拟同步发电机(VSG)技术是解决经由电力电子变流器并网的新能源发电渗透率逐渐提高下系统惯性与阻尼减小问题的有效手段。

目前的VSG研究多侧重于技术的优化与改进,少有特性测量方面的研究成果。在实际的VSG应用中也通常是使用惯性时间常数综合表征系统转动惯量J与阻尼系数D,这种表征方式中转动惯量与阻尼系数耦合,无法明确各参数的具体数值。

为了解决该问题,基于非线性最小二乘曲线拟合法,分析了发电系统在离网、并网不同运行工况与阻尼状态的时域单位阶跃响应函数。定性介绍了一种利用动态响应指标测量J、D的方法。实际测量方法以曲线拟合法为基础,借鉴了一种用于同步发电机转动惯量测量的甩负荷实验,结合并网功率阶跃实验,得到了一种可以自验证的综合测量方法。最后通过多组不同参数与工况的仿真与实验验证了该方法的有效性。

ff8d287906d6e4953616771365bec146.png

电力电子变流器是新能源接入电网的重要方式之一,随着新能源发电在电网中占比的不断提高,传统并网逆变器缺乏惯性和阻尼的问题与电网惯性支撑、一次调频需求之间的矛盾也日渐突出。在这样的背景下,虚拟同步发电机(Virtual Synchronous Generator, VSG)技术在近几年受到了学术界与工业界的广泛关注,其被认为是解决这一问题的有效方法。

《虚拟同步发电机技术导则》是虚拟同步发电机技术领域的统领性标准,规定了VSG技术的界定,明确VSG是通过模拟同步发电机组的机电暂态特性,使采用变流器的电源具有同步发电机组的一次调频、一次调压、转动惯量与阻尼响应等外特性的技术。使用了VSG技术的并网逆变器可以具有与传统同步发电机类似的运行特点,即可参与电网的运行与调节,与传统同步电源共同维护电网的稳定运行。

目前,大部分与VSG技术相关的文献着眼于这种解决方案在逆变器上的应用与优化。文献[7]提出了一种VSG控制模式,以解决现有控制策略在电网频率波动时无法协调恒功率控制与惯量、阻尼支撑之间关系的问题。文献[8]对两种不同的VSG控制策略在实际应用中的优缺点进行了总结与对比,并提出了功率深度利用和光储协调优化控制策略。

文献[9]针对微电网惯性低、易受负荷波动致使频率偏差过大的问题,提出了基于VSG的二次调频方法,对频率实现了无差控制。文献[10]对多能互补微网的特性进行了研究,提出了一种可以实现微网灵活组网的VSG控制策略。文献[11]提出了一种满足微网孤岛/并网切换的VSG控制策略,同时提出了一种基于控制器状态跟随的适应微网并网运行特性的并行切换方法。

文献[12]提出一种基于虚拟同步发电机运行的逆变器并联控制方法,使不同额定功率逆变器并联运行时,功率分配和空载环流抑制满足需求。文献[13]提出了一种基于同步发电机机电暂态模型的新型微电网逆变电源,其功率控制器和电压频率控制器使得该逆变电源具有功率控制和调频调压双重功能。

将VSG技术引入逆变器控制策略,使得分布式电源也具有了与同步发电机相似的惯性与阻尼,可以像同步发电机一样在系统频率变化时为系统提供惯性支撑,减缓一次调频响应前系统频率的变化[14]。然而受控制算法中一些非线性部分及PI调节器的影响,逆变器实际输出的转动惯量和阻尼可能与给定值有一定的偏差,这将会影响到分布式电源的实际外特性,进而影响惯性支撑的效果。

针对目前VSG研究主要集中于技术应用,而忽略了对使用VSG技术后逆变器实际特性进行测量的情况,文献[15]提出了一种基于VSG二阶非线性模型以及在工作点处线性化的方法,对功率响应向量进行最小二乘拟合求解矩阵系数,进而对设备实际输出的惯性和阻尼进行辨识。

文献[16]提出了一种基于发电机负载电压阶跃实验的转动惯量仿真辨识方法,并对甩负荷实验测量转动惯量的方法进行了介绍。文献[18]研究了双馈型风电场等效虚拟惯性时间常数HeqWF的定量表征方法,得到了风电场等效虚拟惯性时间常数的计算方法。

中国电科院于2016年牵头制订了光伏和风电VSG技术标准——《单元式光伏虚拟同步发电机技术要求和试验方法》和《风电机组虚拟同步发电机技术要求和试验方法》,并对有功调频、无功调压、虚拟惯性控制、阻尼控制等给出相关规定。

本文针对采用VSG技术的逆变器,提出了一种基于非线性最小二乘曲线拟合的转动惯量J与阻尼系数D的测量方法,并通过将两种实验方法综合的方式规避了同步功率取值不准确对于参数测量的影响。利用仿真与实验的结果对所提方法进行了验证,证明了测量方法的有效性,为VSG外特性测量提供了一种新的方法。

42a1f3a0d1318a46711de9fdf6a6ab71.png

图1 VSG主电路结构

0168a3f4efa3b8f6ac8b8d15d9a1aaa6.png

图7 测量流程

结论

本文介绍了虚拟同步发电机控制的基本原理,并基于非线性最小二乘曲线拟合的方法,对并网与离网运行下的VSG进行了建模分析,得到了不同运行工况与阻尼状态下的数学模型和时域响应函数。定性分析了利用动态响应指标求解转动惯量与阻尼系数的方法。提出了结合甩负荷实验与并网加载实验的综合测量方法,并通过多组仿真波形与实验数据验证了所提测量方法的有效性。

本文所提出的方法对于响应波形因滤波与控制产生的延迟问题,目前需要根据曲线拟合误差最小值所对应的采样点对所需拟合数据的起始位置进行手动修正。如何在不影响波形特点的情况下避免随机波动与噪声对拟合效果的影响以及消除数据延迟,仍有待进一步研究。

进一步阅读,请点击下方链接,访问期刊官方网站,可下载全文PDF版。

「链接」

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

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

相关文章

SpringBoot整合阿里云OSS上传文件

一、需求分析 文件上传是一个非常常见的功能,就是通过IO流将文件写到另外一个地方,这个地方可以是项目下的某个文件夹里,或者是本地电脑某个盘下面,还可以是云服务OSS里面,这里就是我要讲到的OSS,我写的是…

js 原型以及原型链

原型编程的基本规则: 所有的数据都是对象要得到一个对象,不是通过实例化类,而是找到一个对象作为原型并克隆它对象会记住它的原型如果对象无法相应某个请求,它会把这个请求委托给它自己的原型 直接上图 一、继续说说构造函数 …

SpringBoot整合阿里云OSS文件上传、下载、查看、删除

SpringBoot整合阿里云OSS文件上传、下载、查看、删除 该项目源码地址:https://github.com/ggb2312/springboot-integration-examples (其中包含SpringBoot和其他常用技术的整合,配套源码以及笔记。基于最新的 SpringBoot2.1,欢迎各…

SpringBoot整合oss实现文件的上传,查看,删除,下载

springboot整合oss实现文件的上传,查看,删除,下载 1.什么是对象存储 OSS? 答:阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低…

minio实现文件上传下载和删除功能

前言 之前用到文件上传功能,在这里做个学习记录。使用minio实现,后面会记录使用fastdfs和阿里云的oss实现文件上传以及他们的比较(oss根据流量收费)。minio的中文文档:https://docs.min.io/cn/ minio安装 首先查询d…

Spring Boot配置MinIO(实现文件上传、下载、删除)

1 MinIO MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小&#xff…

Stream中toMap引发NullPointerException____Stream的执行流程

Stream中toMap引发NullPointerException 1、引发NullPointerException的代码如下&#xff1a; List<SelfSettlementCardInfoDto> selfSettlementCardInfoDtos selfCardAdapterManager.listSelfSettlementCardInfoDtoByCardIds(queryDto.getPartnerId(), cardIds, false…

Map集合使用get方法返回null抛出空指针异常问题

Map集合使用get方法空指针异常问题 前言 1.Map里面只能存放对象&#xff0c;不能存放基本类型&#xff0c;例如int&#xff0c;需要使用Integer 2.Map集合取出时&#xff0c;如果变量声明了类型&#xff0c;会先进行拆箱&#xff0c;再进行转换。 空指针问题 如图&#xff…

java各map中存放null值

java中各map中是否可以存储null值情况

Java 8————Collectors中的中的joining 方法和mapping方法

先定义好后面做示例要用的数据&#xff1a; List<User> listUser new ArrayList<>(); listUser.add(new User("李白", 20, true)); listUser.add(new User("杜甫", 40, true)); listUser.add(new User("李清照", 18, false)); lis…

编译器说 Lambda 表达式中的变量必须是 final 的,我偏不信

偶尔&#xff0c;我们需要在 Lambda 表达式中修改变量的值&#xff0c;但如果直接尝试修改的话&#xff0c;编译器不会视而不见听而不闻&#xff0c;它会警告我们说&#xff1a;“variable used in lambda expression should be final or effectively final”。 这个问题发生的…

pandas series取值_【小学生级】pandas入门到精通备查表——AI未来系列3

在未来面前&#xff0c;每个人都是学生江海升月明&#xff0c;天涯共此时&#xff0c;关注江时&#xff01;引子篇为AI未来系列第三篇&#xff0c;中阶部分开始。pandas的数据分析功能比excel强太多&#xff0c;基本上学会pandas&#xff0c;走遍天下都不怕。这是我的备查字典&…

instanceof 和 对象转型

一、instanceof 判断某个对象是否属于某个类 father1 instanceof Father; // true// 如果有子类继承父类的话 son instanceof Father; // true二、对象转型 子转父 > 自动转&#xff08;向下转型&#xff09; 父转子 > 强转&#xff08;向上转型&#xff09; 三、Obj…

从lambda表达式看final关键字

Variable used in lambda expression should be final or effectively final 想必大家在开发java程序的时候应该经常见到。 这是因为在lambda的匿名表达式里需要传入final的对象&#xff0c;那么这是为什么呢&#xff1f; 因为lambda是匿名表达式&#xff0c;它是在新开的一个…

lambda表达式或者匿名函数中为什么要求外部变量为final

1、参考博客 关于Lambda表达式里面修改外部变量问题JDK8之前&#xff0c;匿名内部类访问的局部变量为什么必须要用final修饰 2、匿名内部类 在jdk7之前&#xff0c;匿名内部类访问外部类的局部变量时&#xff0c;那么这个局部变量必须用final修饰符修饰&#xff0c;如下图1所…

你知道Java中final和static修饰的变量是在什么时候赋值的吗?

开始 一位朋友在群里问了这样一个问题&#xff1a; 本着乐于助人的想法&#xff0c;我当时给出的回答&#xff1a; 后来我总觉得哪里不对劲&#xff0c;仔细翻阅了《Java虚拟机规范》和《深入理解Java虚拟机》这一部分的内容&#xff0c;害&#xff01;发现自己理解的有问题。…

获取元素大小和位置的方式

一、直接获取元素样式属性值 – element.style.width console.log(div.style.width); // 500px console.log(parseInt(div.style.width)); // 500 console.log(typeof (div.style.width)); // string二、Offset 偏移量 offsetWidth width padding border offsetHeight he…

normalize函数_Pandas 数据处理(一) —— 几个简单函数掌握!

对于 Pandas&#xff0c; 接触过 Python 数据处理的小伙伴们都应该挺熟悉的&#xff0c;做数据处理不可或缺的一个程序包&#xff0c;最大的特点高效&#xff0c;本篇文章将通过案例介绍一下 Pandas 的一些基础使用&#xff01;1&#xff0c;读入数据大部分数据都可以用 read_c…

Java Collections.emptyList() 方法的使用及注意事项

Java Collections.emptyList方法的使用及注意事项 一、emptyList() 作用&#xff1a;返回一个空的List&#xff08;使用前提是不会再对返回的list进行增加和删除操作&#xff09;&#xff1b;好处&#xff1a; 1. new ArrayList()创建时有初始大小&#xff0c;占用内存&#…

Java集合工具类的一些坑,Arrays.asList()、Collection.toArray()...

Arrays.asList() 使用指南 最近使用Arrays.asList()遇到了一些坑&#xff0c;然后在网上看到这篇文章&#xff1a;Java Array to List Examples 感觉挺不错的&#xff0c;但是还不是特别全面。所以&#xff0c;自己对于这块小知识点进行了简单的总结。 简介 Arrays.asList()…