考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序

发布时间:2022-09-22 16:30

考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序
参考文献:
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第1张图片
摘要 :规模间歇电源并网引起的电网频率问题,导致对引入储能辅助调频的研究越发迫切。提出一种考虑储能电池参与一次调频技术经济模型的容量配置方法。阐述了储能电池功率和容量设计的通用方法; 通过分析储能电池在调频运行过程中的成本和效益,基于全寿命周期理论,运用净现值法结合仿真模型构建储能电池参与一次调频的技术经济模型; 设计了一种储能电池参与一次调频的充放电策略,在此基础上,考虑受风电出力波动影响的电网综合负荷,从与之对应的电网频率信号波动特性出发,在确定的电网调频及储能电池运行要求约束下,得出调频效果最优、经济性最优以及两者综合最优目标下的储能电池容量配置方案。仿真结果表明了该方法的合理性及有效性。本研究有助于推动储能电池在辅助调频服务上的示范与工程化应用。
关键词: 储能电池 一次调频 成本—效益 容量配置

1 储能功率和容量设计的通用方法
1.1 额定功率设计
假设调频时段和起始时刻分别为 T 和 t0,储能电池的额定功率为 Prated,且充电为正,放电为负。假定在调频 T 时段内,第 i 时刻储能的功率指令为 PiE,配置的 Prated( MW) 应能吸收或补充 PiE在 T 内出现的最大过剩/缺额功率,充电为正,放电为负。其中,计算方法为
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第2张图片
1.2 额定容量设计
假设储能电池的额定容量为 Erated,根据额定功率Prated,可得到储能电池的实时功率序列,然后按如下方法设计 Erated。引入储能荷电状态 QSOC,第 k 时刻储能的荷电状态 QSOC ,k为
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第3张图片
2 面向一次调频的储能容量配置
2. 1 基于一次调频效果最优的储能容量配置
区域互联电网的一次调频储备通常在千兆瓦级以上,频率稳定性较好。而位于偏远地区或岛屿等地区的电网,风光资源一般较为丰富,由于风光发电出力及负荷的波动,导致频率稳定性较差。故以含风电的孤网为背景,设计了考虑储能参与一次调频的充放电策略,基于此形成了相应的储能容量配置流程。

2.2 储能参与一次调频的充放电策略
在满足储能调频运行要求的前提下,为最小化储能的配置容量,可在电网频率偏差处于调频死区范围内时,控制储能进行额外的充、放电动作。引入变量QSOC,low和 QSOC,high,分别表示储能荷电状态 QSOC的较低值和较 高 值,且 QSOC,min ≤ QSOC,low < QSOC,ref < QSOC,high ≤QSOC,max,并实时采集电网在第 i 时刻的频率偏差信号Δfi,设计出储能参与一次调频的充放电策略如下:
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第4张图片
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第5张图片
2.3 目标函数:
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第6张图片
2.4 流程图
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第7张图片
3 算例
基于含储能的区域电网调频动态模型,考虑含风电出力的综合负荷扰动,以一次调频效果最优为目标进行储能容量配置。
参数如下:
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第8张图片
频率偏差:
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第9张图片

4 matlab运行结果
1)优化迭代曲线
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第10张图片
2)初始频率偏差
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第11张图片
3)优化后频率偏差
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第12张图片
4)储能功率
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第13张图片
5)数据结果
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第14张图片
考虑储能电池参与一次调频技术经济模型的容量配置方法matlab程序_第15张图片
5 matlab程序
1)主函数

%% 储能调频 
% 粒子群算法版 

%%  变量定义如下:
% 决策变量:% 较高, 较低, 购电,售电,最大值
% x=[soc_h, soc_l, P_b,P_s,P_m]; 

clc;
clear;
close all;

%% 算法参数
parameter;

nVar=5;              % Number of Decision Variables
VarMin=[ones(1,2)*soc_min, ones(1,1)*0, ...
                 ones(1,1)*0, ones(1,1)*0]; % Lower Bound of Variables
VarMax=[ones(1,2)*soc_max, ones(1,1)*P_max, ...
                 ones(1,1)*P_max, ones(1,1)*P_max]; % Upper Bound of Variables
MaxIt=30;      % Maximum Number of Iterations
nPop=10;        % Population Size (Swarm Size)

%% 计算
[ bestPosition, fitValue ] = ...
PSOFUN( @fun_objective,nVar,VarMin,VarMax,MaxIt,nPop );
x=bestPosition;

[fun,g,Pt,ft,Q_soc] = fun_jieguo(x);
disp('输出结果')
disp('J1  Qsoc,high  Qsoc,low   P,buy  P,sell  P,rated  Qsoc,rms   E,rated')
fun;
%% 各个决策变量的含义 
soc_h = x(1)  ;    % 较高
soc_l = x(2)   ;   % 较低
P_b = x(3)  ;     % 购电
P_s = x(4)   ;    % 售电
P_m = fix(x(5));        % 最大值
E_b=0.32*P_m ;    %储能容量
Q_soc;
J1=fun 
Qsoc_high=soc_h 
Qsoc_low=soc_l  
P_buy=P_b 
P_sell=P_s  
P_rated=P_m  
Qsoc_rms=Q_soc 
E_rated=E_b
%% 画图
figure
plot(u1)
title('优化前频率偏差')
xlabel('时间 / s')
ylabel('频率偏差/ Hz')
legend('频率偏差')

figure
plot(ft)
title('优化后频率偏差')
xlabel('时间 / s')
ylabel('频率偏差 / Hz')
legend('频率偏差')

figure
plot(-Pt)
title('储能出力')
xlabel('时间 / s')
ylabel('出力 / MW')
legend('储能出力')


。。。。。。。。。略

完整程序转链接:https://mp.weixin.qq.com/s?__biz=Mzg4MTc1MjE2Mg==&mid=2247484276&idx=1&sn=f617993031ca7999bc574b2520d571c0&chksm=cf606279f817eb6f41eda35a75d19a7b844c4ad914357d118fa972cbc97a1042b44e3cee2f65&payreadticket=HG2-6ByagC8N7Wj6c1EloxwgMFmTNhK4_rsuVWOU9ZkZrrPtYYAFBI_vDWJRhlj7iEVT_20#rd

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号