在电网上使用的储能系统模拟(simulink)

news2024/9/30 1:40:20

目录

1 概述

2 配电系统

3 动态负载模型

4 光伏电场和TMY3数据

5 储能系统 (ESS)

6 案例

7 仿真结果

 8 Simulink&Matlab代码实现


1 概述

(1)目标展示了SimPowerSystems在不到一分钟的模拟时间内,以相量模式模拟电路和控制系统的能力。

(2)说明与能量存储系统(ESS)相关的概念。

(3)演示如何使用公共太阳能数据时间序列(TMY3文件)以及如何创建典型的负荷分布。
(4)提供一种工具,帮助确定用于配电电力系统的通用ESS的适当额定值(功率和容量)。

2 配电系统

该示例的电网代表典型配电系统。它由一个等效于为 25 kV 配电变电站供电的 120 kV 输电系统组成。几条馈线连接到变电站的 25 kV 母线。其中一个为拥有光伏电场和储能系统的社区供电。连接在 25 kV 母线上的接地变压器提供中性点,并在单相故障期间限制正常相的过电压。其零序阻抗是电网正序阻抗值的三倍。由于Powergui块的Phasor解决方案,即使模拟周期为一年,也可以在很短的时间内模拟这个网格。如果只对电路中所有电压和电流的幅度和相位的变化感兴趣,则相量解决方案是理想的算法。您不需要求解由 R、L 和 C 元素相互作用产生的所有微分方程(状态空间模型)。相反,可以求解一组更简单的与电压和电流相量相关的代数方程。这就是相量求解方法在特定指定频率(本例中为 60 Hz)下所做的事情。


3 动态负载模型

动态负载模型实现了一个基于负载曲线的三相三线动态负载。 负载所吸收的有功功率P和无功功率Q随着正序电压V和负载曲线数据的变化而变化。P和Q的变化情况如下:

P=P_LoadProfile*(V/Vo)^np & Q=Q_LoadProfile*(V/Vo)^nq

负荷曲线是以小时为单位的每日负荷曲线。 它们被存储在LoadProfile_Datasets.mat文件中。 对于每个负荷曲线,用户指定夏季和冬季数据。提供了两套配置文件。Build_LoadProfile_Datasets.m MATLAB脚本可以帮助用户创建额外的负荷曲线。

4 光伏电场和TMY3数据

TMY3数据块将TMY3太阳辐照度数据转换为电能。该电源信号被馈送到光伏电场模块,该模块将电源信号转换为电流。TMY3是来自1961-1990年和1991-2005年国家太阳辐射数据库(NSRDB)档案的典型气象年(TMY)数据集的数据文件。
这些文件包含一年内太阳辐射和气象要素的每小时值。这些文件由NREL的电气系统中心在太阳能资源表征项目下制作,该项目由美国能源部能源效率和可再生能源办公室资助和监督。
用户可以从242个站点位置中选择一个用于太阳时间序列数据。用户可以选择全局水平辐照度(GHI)或直接法线辐照度(DNI)作为模拟要使用的辐照度值。
所有位置的辐照度值存储在StationData_NEW.mat文件中,该文件在遮罩初始化时自动加载。


5 储能系统 (ESS)

储能系统模块包含以下组件: - 控制系统 - 不可用监视器 - 储能计算器 - SPS 功率电流模型和 240/600V 升压变压器。在白天的任何给定时间,控制系统都会确定来自 ESS 的所需功率,以将功率保持在电网允许的最大功率的指定值以下。该电源信号被馈送到连接到 240/600V 升压变压器的电源电流模块。尽管对于电池储能系统 (BESS),建模 ESS 的额定功率和容量分别以 kW 和 kWh 为单位指定,但该 ESS 可以代表多种类型的储能系统,例如飞轮、压缩空气、超级电容器、抽水蓄能,超导磁。


6 案例

显然,与储能系统和智能电网有关的众多应用可以使用SimPowerSystem模型进行研究和验证,比如这个ESS演示。应用可以是多种多样的,如金融能源套利、缓解线路拥堵、设备延迟、太阳能平滑、旋转储备、电压支持等。在我们的案例中,我们选择了一个简单的场景来说明这个演示的一个用途。目的是确定连接到600V社区电力系统的ESS设备的适当尺寸(功率和容量),以防止社区购买超过与电力公司约定的电力。基于给定的负载情况、光伏电站的输出、ESS的额定功率和容量,模拟将给出一整年的不可用的数量。 这种规模的研究可以在各地进行。


7 仿真结果

下图显示两天结果,其中 ESS 控制系统确定 ESS 所需的功率,以避免超过电网允许的最大功率(本模拟为 1000 kW)

(1) 在第 91 天,ESS 无法提供必要的电力,而社区别无选择从电网购买更多电力。

(2) 在第 92 天,ESS 输出足以避免超过允许的最大功率。

下图显示了第 126 天(5 月 6 日)18 时 03 分巴士 B4 故障引起的瞬态放大图。 Phasor 解决方案在编程的故障定时产生了毫秒精度的仿真结果。

                           

 8 Simulink&Matlab代码实现

部分代码:

% 使用以下脚本,您可以定义附加负载配置文件。
% 这些负载配置文件将保存在文件“LoadProfile_Datasets.mat”中。
% 配置文件将被动态负载块使用:
%“住宅负荷”。
%
% ===================================================
%             典型负荷曲线
% ===================================================
%
% 格式。
% 第1列:一天中的小时
% 第2列=典型的夏季负荷,占Pnom_Load的百分比
% 第3列=典型的冬季负荷,占Pnom_Load的百分比

DataSet1=[
       1  24  27      
       2  19  26
       3  16  24
       4  17  27
       5  20  35
       6  30  39
       7  40  48
       8  46  56
       9  52  61
      10  57  63
      11  62  67
      12  65  66
      13  68  60
      14  71  46
      15  80  38
      16  84  34
      17  87  33
      18  87  37
      19  85  44
      20  72  48
      21  67  44
      22  60  37
      23  52  31
      24  40  29 ];
  %
  % DataSet2 (Northeast USA)
DataSet2=[
       1  26  30      
       2  23  30
       3  22  30
       4  21  31
       5  22  32
       6  26  34
       7  30  47
       8  36  56
       9  40  61
      10  40  61
      11  41  51
      12  42  40
      13  43  36
      14  45  34
      15  46  33
      16  49  35
      17  52  37
      18  52  40
      19  52  40
      20  51  39
      21  47  37
      22  42  35
      23  39  34
      24  34  32 ];
  %
  LoadProfile_Data(:,:,1)=DataSet1;
  LoadProfile_Data(:,:,2)=DataSet2;
  BP1=[1:24]';
  BP2=[1:3];
  BP3=[1:2];
  %
  clear DataSet1 DataSet2
  save LoadProfile_Datasets

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

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

相关文章

对话顶立欧雅纳特丨传统制造企业的“人货场”重构该从何入手?

链条长、客单价高、标准化程度低、交付周期长......作为传统制造行业中颇具代表性的领域,家居建材一直被视为“距离互联网最远”行业之一,平均仅有10%的数字化率,行业整体的数字化转型相对滞后。随着外部环境的变动与行业生态的发展&#xff…

RK3588平台开发系列讲解(AUDIO篇)Android音频调试--tiny-alsa 工具

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、工具介绍二、工具的使用2.1 tinyplay2.1 tinycap2.3 tinymix2.4 tinypcminfo沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍Android下audio调试工具tiny-alsa的使用方法。 一、工具介绍 RK平台…

FFT学习笔记(快速傅里叶变换)

用途 快速傅里叶变换(Fast Fourier Transformation,简称FFT) 一般用来加速多项式乘法。求两个nnn次多项式相乘,朴素算法需要O(n2)O(n^2)O(n2),但FFT只需要O(nlog⁡n)O(n\log n)O(nlogn)就能解决。 多项式 系数表示法…

基于java的扫雷游戏的设计-计算机毕业设计

项目介绍 扫雷游戏的基本功能:点击鼠标左键于未知区域,如果未知区域有雷,游戏停止,显示所有的地雷。如果没雷,则显示周围雷数,如果周围没雷,则再查看周围八个区域是否有雷直到有雷为止并显示,玩家需要尽快找出雷区中的所有不是地雷的方块,而不许踩到地雷…

jsp+ssh+mysql实现的Java web学生考勤管理系统源码附带视频指导运行教程

今天给大家演示的是一款由jspsshmysql实现的Java web学生考勤管理系统,其中struts版本是struts2。本系统实现了管理员、学生、教师三个角色的功能,其中管理员可以管理基本信息,如班级信息、课程信息、用户信息、课程表等。教师可以管理自己班…

mongodb实现请求日志存储

引言 最近学习了mongodb,想实际应用到项目中,就先简单实现了一个存储请求日志的功能; 为什么使用mongodb存储日志,主要是因为日志数据量大、低价值、写入频繁,并且对事务要求不高,使用传统的关系型数据库…

Java强软弱虚引用和ThreadLocal工作原理(二)

1. 前言 读本篇文章之前,请移步到上一篇文章Java强软弱虚引用和ThreadLocal工作原理(一)_broadview_java的博客-CSDN博客 我们继续来讲一下java的强软弱引用在Android开发中的使用,并深入理解一下ThreadLocal的原理 2. 强软弱引…

Pro3:js实现放大镜效果

在我们平时见到很多购物网站都会有放大镜效果的出现,当我们将鼠标放在一个商品图片的上面,就会在旁边出现对应的放大效果。 实现步骤 实现原理是非常简单的,实际上是两张图片,一张原图和一张更大尺寸的图片。一开始通过css样式…

MessageFormat的具体使用(格式化消息)

文章目录1. 前言2. 先说结论3. 在结论上补充其他更加特殊情况1. 数字类型可以使用#字符来确认精度2. 数组类型转化需要注意3. 输出特殊字符4. 如何判断一个String是否有替换位4. 粗略原理1. 前言 在工作中发现接口的返回报文,大部分公司通常都会封装一层&#xff0c…

2022-LCLR-DIFFDOCK: DIFFUSION STEPS, TWISTS, AND TURNS FOR MOLECULAR DOCKING

2022-LCLR-DIFFDOCK: DIFFUSION STEPS, TWISTS, AND TURNS FOR MOLECULAR DOCKING Paper: https://arxiv.org/abs/2210.01776 Code: https://github.com/gcorso/DiffDock 预测小分子配体与蛋白质的结合结构(称为分子对接)是药物设计的关键。最近的深度学习方法将对接视为一个回…

GB/T 20984-2022《信息安全技术 信息安全风险评估方法》解读

前言 近年来,信息安全风险评估工作逐步在国家基础信息网络及重要行业信息系统中普遍推行,信息安全风险评估是信息安全保障工作的基础和重要环节,日前, GB/T 20984-2022 《信息安全技术 信息安全风险评估方法》发布,将…

oracle学习篇(四)

oracle学习篇(四) 1 PL/SQL异常处理 1.1 预定义异常 1.1.1 内容 oracle里面已经存在的异常 如果是自定义异常,一般写的编号是20000-20999之间1.1.2 处理异常语法 exceptionwhen 异常类型1 then输出异常类型信息1;when 异常信息2 then输出异常类型信息2;--以上都…

MR案例:学生排序(单字段排序、多字段排序)

文章目录一、提出任务二、完成任务(一)准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录(二)实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建学生实体类5、创建学生映射器类5、创建学生归并器类6…

JS中操作<select>标签选的值

JS中操作<select>标签选的值 <select>标签是一种表单控件&#xff0c;用来创建下拉列表。在<select> 标签内可用 <option> 标签定义下拉列表中的可用选项。下面给出一个基本下拉列表示例&#xff1a; <!DOCTYPE html> <html lang"zh&q…

Codeforces Round #838 (Div. 2)

A. Divide and Conquer 题目链接&#xff1a;Problem - A - Codeforces 样例输入&#xff1a; 4 4 1 1 1 1 2 7 4 3 1 2 4 1 15样例输出&#xff1a; 0 2 1 4题意&#xff1a;一个数组是好的当且仅当所有的元素和是一个偶数&#xff0c;现在给我们一个初始数组&#xff0c;我…

Android---组件化

1、单体应用 所有代码写在一个工程里。不同业务写到各自模块&#xff0c;以包名来区分。 弊端 1、无论包名做的再好&#xff0c;随着项目扩大&#xff0c;项目失去层次感&#xff0c;接受吃力。 2、报名作为约束&#xff0c;太弱了。一不注意就会出现不同业务之间之间相互调…

【算法数据结构专题】「限流算法专项」带你认识常用的限流算法的技术指南(分析篇)

限流 限流的目的是通过对并发访问/请求进行限速&#xff0c;或者对一个时间窗口内的请求进行限速来保护系统&#xff0c;一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理 限流一词常用于计算机网络之中&#xff0c;定义如下&#xff1a; In computer networks, rate l…

接口测试(七)—— 参数化、数据库操作类封、接口自动化框架

目录 一、接口自动化测试框架 1、目录结构 二、封装iHRM登录 1、普通方式实现 2、登录接口对象层 3、登录接口测试用例层 4、封装断言方法 三、参数化 1、回顾UnitTest参数化 1.1 原始案例 1.2 参数化实现 1.3 从json文件读取 2、登录接口参数化 2.1 组织数据文…

java8流操作之不常用但是很好用的隐藏api

前言 1、一些普通的方式就不再多说了&#xff0c;这里主要说一些不常用的&#xff0c;但是作用很大的api方式 2、如果想要细致了解可以参考 JAVA8的流操作&#xff0c;十分推荐 一、flatMap 1、这个api主要是用来推平流的&#xff0c;和map不一致&#xff0c;map是对象到对…

Python基础(十六):函数的初步认识

文章目录 函数的初步认识 一、函数的作用 二、函数的使用步骤 1、定义函数 2、调用函数 3、快速体验 三、函数的参数作用 四、函数的返回值作用 1、应用 五、函数的说明文档 1、语法 2、快速体验 3、函数嵌套调用 七、函数应用 1、打印图形 2、函数计算 八、总…