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

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

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
% 使用以下脚本,您可以定义附加负载配置文件。
% 这些负载配置文件将保存在文件“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


相关文章
|
机器学习/深度学习 存储 Shell
分享使用谷歌Colab 常用小tips, 玩转Google Colab
分享使用谷歌Colab 常用小tips, 玩转Google Colab
分享使用谷歌Colab 常用小tips, 玩转Google Colab
|
3月前
|
JSON 文字识别 并行计算
自动识别图片点击脚本,文字识别自动点击器, 能识别屏幕内容并自动点击
本方案采用OCR文字识别+图像匹配双模式识别技术: OCR引擎识别屏幕文字内容 OpenCV模板匹配识别图形元素 PyAutoGUI实现
|
机器学习/深度学习 人工智能 自然语言处理
全新开源通义千问Qwen3上架阿里云百炼
Qwen3是Qwen系列大型语言模型的最新成员,作为混合推理模型,其旗舰版本Qwen3-235B-A22B在代码、数学和通用能力测试中表现出色,与顶级模型DeepSeek-R1、o1、o3-mini等相比具有竞争力。小型MoE模型Qwen3-30B-A3B激活参数仅为QwQ-32B的10%,性能更优,甚至小规模模型Qwen3-4B也能匹敌Qwen2.5-72B-Instruct。Qwen3支持思考与非思考两种模式,可根据任务需求灵活调整推理深度,并支持119种语言,Qwen3在推理、工具调用及多语言处理等方面显著提升,目前已开源并在阿里云百炼平台上线,提供便捷体验。
2006 0
【Simulink】飞轮储能系统的建模与MATLAB仿真(永磁同步电机作为飞轮驱动电机)
【Simulink】飞轮储能系统的建模与MATLAB仿真(永磁同步电机作为飞轮驱动电机)
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】ECA(Efficient Channel Attention):高效通道注意 模块,降低参数量
YOLO目标检测专栏聚焦模型创新与实战,介绍了一种高效通道注意力模块(ECA),用于提升CNN性能。ECA仅用少量参数实现显著性能增益,避免了维度缩减,通过1D卷积进行局部跨通道交互。代码实现展示了一个ECA层的结构,该层在多种任务中展现优秀泛化能力,同时保持低模型复杂性。论文和代码链接分别指向arXiv与GitHub。更多详情可查阅CSDN博主shangyanaf的相关文章。
基于蓄电池和飞轮混合储能系统的SIMULINK建模与仿真
构建了基于SIMULINK的蓄电池-飞轮混合储能系统模型,重点在于飞轮模型与控制策略。仿真展示了充放电电流电压、功率波形及交流负载端的电气参数变化,揭示了系统从波动到稳定的过程。 ### 系统原理 - 混合储能系统结合了蓄电池(化学能转换)和飞轮(动能存储)的优势,提供高效快速的能量响应。 - 蓄电池通过化学反应进行能量储存和释放。 - 飞轮储能利用电动机/发电机转换动能和电能。 - 智能控制协调二者工作,适应电力系统需求,提升系统性能。 ### 混合储能原理 混合系统利用控制系统协同蓄电池和飞轮,优化充电和放电,以提高储能效率和电力系统的整体表现,预示着其未来广泛应用的潜力。
|
消息中间件 存储 中间件
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
【SpringCloud Stream消息驱动、设计思想以及整合rabbitmq消息队列案例--学习笔记】
491 0
|
存储 算法 数据中心
电力系统储能调峰、调频模型研究(Matlab代码实现)
电力系统储能调峰、调频模型研究(Matlab代码实现)
284 0
|
存储 安全 JavaScript
Spring WebSocket 认证与授权:掌控安全通道,迈向巅峰之旅!
- http和WebSocket的安全链和安全配置是完全独立的。 - SpringAuthenticationProvider根本不参与 Websocket 身份验证。 - 将要给出的示例中,身份验证不会发生在 HTTP 协商端点上,因为 JavaScript STOMP(websocket)库不会随 HTTP 请求一起发送必要的身份验证标头。 - 一旦在 CONNECT 请求上设置,用户( simpUser) 将被存储在 websocket 会话中,并且以后的消息将不再需要进行身份验证
895 1
|
新能源 调度
分布式光伏消纳的微电网群共享储能配置策略研究(Matlab代码实现)
分布式光伏消纳的微电网群共享储能配置策略研究(Matlab代码实现)
362 0