光储微电网混合储能系统的控制策略

VIP光储微电网混合储能系统的控制策略
随着社会生产力的不断提高,对不可再生资源的大量消耗,人们已经意识到发展可再生能源的重要性,因此微电网技术作为再生能源利用的有效形式被快速发展。蓄电池容量无限大是传统光储微电网混合储能系统控制策略一种理想形式,但实际上蓄电池的容量是有限度的,传统控制策略在蓄电池剩余电量达到阖值时将无法正常使用,由此提出了光储微电网混合储能系统的新型控制策略,又结合实际情况,对开关进行了改进,利用开关与二极管并联,使其拥有四种工作状态,当储能元件剩余电量达到阈值时,可自动恢复电量降低成本,提高并输出电池电能质量。
开通可读全文 ·1.7k 人阅读
最低0.47元/天 解锁文章

摘要:随着社会生产力的不断提高,对不可再生资源的大量消耗,人们已经意识到发展可再生能源的重要性,因此微电网技术作为再生能源利用的有效形式被快速发展。蓄电池容量无限大是传统光储微电网混合储能系统控制策略一种理想形式,但实际上蓄电池的容量是有限度的,传统控制策略在蓄电池剩余电量达到阖值时将无法正常使用,由此提出了光储微电网混合储能系统的新型控制策略,又结合实际情况,对开关进行了改进,利用开关与二极管并联,使其拥有四种工作状态,当储能元件剩余电量达到阈值时,可自动恢复电量降低成本,提高并输出电池电能质量。

关键词:光储微电网;控制策略;开关优化

0、前言

在微电网运行过程中,光储能系统可以使系统中的能量进行缓冲,是微电网运行中不可缺少的环节,由于经济原因光储能设备的配置不应太高,在选择储能系统容量与额定功率时要结合实际情况,选用合适的设备配置,提高微电网安全经济的运行。目前市场上储能功率容量大小,没有统一的规定,这是由于混合储系统中储能介质之间功率分配及容量优化所导致的,因此需要对此进行深入的研究,笔者在独立微电网到并网微电网,从单一储能到混合储能,做了较为立体的研究,在开关优化方面也做了一些相关的介绍,并得到了一些有意义的结论。

1、光储微电网混合储能系统

独立型微电网:结合仿真实验,在满足供电可靠的前提下,弃置部分过剩能量可以使得所需的储能容量维持在较低水平,克服了传统的储能容量在运行中逐渐增加的缺陷。如何减小储能容量,通过实验发现选用光伏发电院与风力发电混合比例可以达到。通过提高微电网发电充裕度,可以降低微电网对储能的需求,并对光伏发电和风力发电的优比例混合产生影响。

储能系统与微电网:等效微电网的调度效果是利用储能系统补偿,可再生能源发电预测性误差所产生的,它是针对可再生能源发电系统中微电网与储能系统配合发电的运行机制。通过分析,可再生能源发电预测误差的概率分布,运用区间估计和概率理论的方法大致获得储能系统的容量和功率,在此基础上可以预测储能配置与准确性的关系,能够进一步得出微电网中储能分散配置与集中配置对储存能量的影响,通过实验结果可以得出,充分利用各个装置的可用容量减小微电网系统的容量,从这一角度而言,集中配置好于分散配置。

能装置分析:通过科学实验比较以锂电池为代表的能量型储能装置和超级电容为代表的功率型储能装置,在平滑能量波动方面的特性,得出结果表明功率型储能装置可以平滑短时功率波动,但对常识功率波动表现不佳,能量型储能装置可以平滑,小浮动功率波动,特别在平滑常识波动过洞中能发挥其优势,却难以适应大幅波动情况。

混合储能系统分析:考虑到单一功率型和能量型储存装置在平滑功率时的波动局限性,可以将两者有机的结合到一起组成混合储能系统,从而发挥其各自长处,通过控制理论功率优化分配法,可以降低混合系统的总成本。通过运用遗传算法使各储能间的充放电功率约束荷电状态,满足平滑目标的柔性约束,达到混合系统优配置。通过实验仿真结果表明,功率优化分配方法可以充分发挥两种介质的优点,了解的状态设定的范围内并有效的减少能量的储能充电次数,并在柔性约束优化问题中,采用遗传算法求解,能够使用优化问题收敛至优解。另外通过仿真结果表明适当的放松充电次数,可以有效的减少混合储能系统的容量与功率,可以结合实际成本,进行混合储能的系统配。

储能元件保护开关优化:在故障发生或极端天气的情况下,原件的保护开关发挥着重要作用,为防止储能元件过充与过放,在储能元件soc达到阈值时将其从电网断开。传统的保护开关只有断开和闭合的功能。这就使开关在断开后,需要独立的充放电路,将储能元件soc恢复到正常水平,才能在接入电网;其过程非常繁琐,并且成本也很高,针对这种情况,笔者对保护电路进行改造,通过两个开关,两个二极管并联组成,使保护电路形成四种不同的工作状态,当储能元件Soc到达上限时,一个开关导通,一个开关断开,储能原件只放电,并且防止原件同时自动恢复电量独立放电电路,从而降低成本,soc下线时同里,改进保护开关结合上文中的改进控制策略就可以实现储能原件恢复电量的同时,平抑光伏输入功率波动平滑,并网输出功率,提高并网电能质量。

2、光储微电网混合储能系统发展展望

在对独立性微电网储能系统控制策略研究时,从储能容量小方向进行研究的,仿真结果表明储能放电效率对光伏风电优化比例及储能容量存在一定的影响,具体产生的原因,本文中没有进一步讨论。

在比较能量型储能与功率型储能在平华可再生能源功率波动方面性能差异时,只是在投资成本相同的前提下额定容量和额定功率,这之间未考虑想用速度方面的影响。另外,不同的储能戒指成本也不是随着额定容量和额定功率现金增长的因素,也未能考虑。

3、Acrel-2000MG微电网能量管理系统概述

3.1概述

Acrel-2000MG微电网能量管理系统,是我司根据新型电力系统下微电网监控系统与微电网能量管理系统的要求,总结国内外的研究和生产的经验,专门研制出的企业微电网能量管理系统。本系统满足光伏系统、风力发电、储能系统以及充电桩的接入,全天候进行数据采集分析,直接监视光伏、风能、储能系统、充电桩运行状态及健康状况,是一个集监控系统、能量管理为一体的管理系统。该系统在安全稳定的基础上以经济优化运行为目标,促进可再生能源应用,提高电网运行稳定性、补偿负荷波动;有效实现用户侧的需求管理、消除昼夜峰谷差、平滑负荷,提高电力设备运行效率、降低供电成本。为企业微电网能量管理提供安全、可靠、经济运行提供了全新的解决方案。

微电网能量管理系统应采用分层分布式结构,整个能量管理系统在物理上分为三个层:设备层、网络通信层和站控层。站级通信网络采用标准以太网及TCP/IP通信协议,物理媒介可以为光纤、网线、屏蔽双绞线等。系统支持ModbusRTU、ModbusTCP、CDT、IEC60870-5-101、IEC60870-5-103、IEC60870-5-104、MQTT等通信规约。

3.2技术标准

本方案遵循的标准有:

本技术规范书提供的

VIP 光储充综合新能源储能系统研究笔记 电力储能技术在电力系统中发挥着关键作用,促进了电力系统的灵活性和可再生能源的大规模应用。在不同的应用场景下,储能技术以其多样性和适应性,为电力系统的平稳运行和未来能源转型提供了有力支持。 开通可读全文·3.6k 阅读·11 点赞·48 收藏 阅读全文

相关推荐

Python实战:5分钟搞定N-CMAPSS航空发动机数据集解析(附完整代码)

本文提供了一份针对N-CMAPSS航空发动机数据集的快速解析实战指南。通过Python的h5py和Pandas库,详细演示了如何高效读取HDF5格式文件、理解数据结构、提取关键特征(如传感器数据与剩余使用寿命RUL),并整合为可用于预测性维护分析的DataFrame,帮助研究者和工程师快速上手这一重要的工业时序数据集。

weixin_29083373的博客 274

DeepSeek安装教程

两分钟讲述deepseek正确安装教程

weixin_45906703的博客 1655

从触觉到视觉:GelSight传感器的工作原理与实战应用指南

本文深入解析了GelSight光学触觉传感器的核心工作原理,它通过将物理接触转化为视觉图像,为机器人提供了高精度的触觉感知。文章详细介绍了其在工业微观缺陷检测、机器人灵巧操作等领域的实战应用,并提供了从系统搭建到算法开发的完整指南,帮助工程师将这一前沿技术落地于实际项目。

solidity8miner的博客 928

实例讲解Simulink CAN通讯丢失故障判定模型搭建及仿真测试验证方法

本文通过ABS通讯丢失故障触发、判定条件Simulink模型的搭建和仿真的讲解,介绍了一种控制器CAN通讯丢失故障判定的方法和建模方法,希望能给相关技术人员带来一定参考和帮助。

qq_43011586的博客 3678

PointNet/PointNet++模型调参实战:如何用PyTorch让你的点云分割精度再涨5个点?

本文深入探讨了PointNet/PointNet++模型在点云分割中的调参技巧,通过PyTorch实现精度提升5个点的实战方法。重点分析了点云密度自适应策略、感受野与细节保留的平衡,以及训练加速与稳定性技巧,适用于电力巡检、自动驾驶等场景的激光点云数据处理。

weixin_30836759的博客 470

手把手教你学simulink(13.2)--构建一个单相并网逆变器Simulink仿真模型

基于Simulink的单相并网逆变器项目的详细仿真实例。这个项目将重点放在逆变器的详细建模、最大功率点跟踪(MPPT)控制策略、并网控制和仿真分析上。我们将使用MATLAB/Simulink来构建整个系统,并通过具体的代码和模块来实现各个功能。

MHD0815的博客 539

silero-vad 训练自己的数据

silero-vad 训练自己的数据

jacke121的专栏 812

【图像增强】论文精读:Correlation Matching Transformation Transformers for UHD Image Restoration(UHDformer)

论文题目:Correlation Matching Transformation Transformers for UHD Image Restoration —— 用于UHD图像恢复的相关匹配变换变压器AAAI 2024!本文提出了一种用于超高清(UHD)图像恢复的通用变压器UHDformer。UHDformer包含两个学习空间:(a) 高分辨率空间中的学习,(b)低分辨率空间中的学习。前者学习多层次的高分辨率特征,融合低层特征,重建残差图像,后者从高分辨率特征中学习更多的代表性特征,以促进更好的恢复。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 278

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 简析新能源电动汽车充电桩的设计与优化
下一篇: 安科瑞能耗管理云平台在高校建筑中的应用开发

双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —
安科瑞-胡冠楠
博客等级 码龄2年 2322粉丝 337原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值