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