ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

基于BP神经网络的光伏并网距离保护自适应整定方法

基于BP神经网络的光伏并网距离保护自适应整定方法 简介这份PDF针对大规模光伏电站并网后配电网距离保护面临的整定难题适合电力系统继电保护研究人员、配电网规划与运维工程师以及关注分布式电源接入影响的电气专业学生。内容围绕光伏电站等效阻抗随出力动态变化、导致分支系数难以准确计算这一核心问题提出基于BP神经网络的自适应距离保护策略先建立输出功率与等效阻抗的映射模型再据此实时调整保护定值并通过实际算例对比验证了方法的正确性与工程实用性。全包仅1个文件为924KB的PDF学术论文源自《电工电气》2020年第4期附带中英文摘要、关键词、引言、问题分析及建模验证过程便于直接研读。该资源已有88人学习对理解新能源并网保护整定、神经网络在电力系统中的应用均有不错的参考价值。1. 光伏并网后距离保护为什么失灵BP神经网络自适应保护的解题思路光伏电站并入110kV配电网后原本结构简单的单电源辐射状网络变成多电源网络距离保护装置测到的“位置感”被彻底搅乱。故障发生在下一级线路BC段时光伏电站提供的助增电流会让保护1的测量阻抗整体抬高II段保护范围随之缩小严重时该动的不动。这篇论文不改造保护硬件而是用BP神经网络先建立光伏电站等效阻抗与输出功率的映射关系再代入分支系数公式完成距离保护II段的自适应整定。整条链路从逆变器实测数据、网络训练到整定值与灵敏度校核都有实例支撑适合继保整定人员、分布式电源接入评估的人参考。2. 分支系数光伏电站如何搅动距离保护的测量阻抗2.1 助增电流导致的测量阻抗失真先看论文给出的实际电网结构系统电源S经线路AB接到母线B线路BC继续向负荷供电光伏电站G通过35/110kV变压器T在母线B并入线路AB、BC分别配置距离保护装置1和2。正常运行时保护1的测量阻抗等于负荷阻抗当K点发生短路时保护安装处测到的电压和电流是系统电源贡献和光伏电站贡献的叠加。单相接地场景下保护1的A相测量阻抗可以写成Zk U1A / (I1A 3KI10) ZAB1 ZBK1 * [1 (IGA 3K(I20 - I10)) / (I1A 3KI10)] ZAB1 Kf(1) * ZBK1其中U1A是保护1处的A相电压I1A是A相电流I10是零序电流K是零序电流补偿系数按K(Z0-Z1)/3Z1计算ZAB1、ZBK1分别是AB段和BK段的正序阻抗IGA是光伏电站提供的A相短路电流Kf(1)是单相接地故障时的分支系数。如果没有光伏电站参与IGA0且I20I10Kf(1)1测量阻抗等于ZAB1加上按距离线性增长的ZBK1保护看到的阻抗与短路距离严格成正比。相间故障的推导更直接。以BC相短路为例测得的阻抗为Zk (U1B - U1C) / (I1B - I1C) ZAB1 ZBK1 * [1 (IGB - IGC) / (I1B - I1C)] ZAB1 Kf(1,1) * ZBK1Kf(1,1)是相间故障的分支系数。无论接地还是相间故障光伏提供的短路电流方向都和系统电源一致属于助增方向所以Kf大于1测量阻抗偏大保护会把故障点看得比实际距离更远。工程上距离保护II段按“本线路末端或下一级线路首端故障”来配合整定。一旦Kf不是固定值整定计算就不能只取一个常数。传统做法是按最大运行方式取分支系数上限但光伏出力波动大固定取值要么让保护范围过大越出配合区段要么灵敏度不足。这是自适应距离保护要解决的核心矛盾也是整定人员拿到这类项目时最先要算清楚的一笔账。2.2 接地与相间故障的分支系数表达式论文把分支系数进一步化简成正序阻抗参数的关系。单相接地故障时Kf(1) (XG1 XT1 XS1 XAB1) / (XG1 XT1)其中XG1是光伏电站等效正序阻抗XT1是变压器正序阻抗该实例中取10ΩXS1是系统正序阻抗15ΩXAB1是线路AB的正序阻抗该实例50km、每公里0.4Ω合计20Ω。相间故障时利用边界条件I10I200、I11-I12、I21-I22最终化简得到Kf(1,1) (XG1 XT1 XS1 XAB1) / (XG1 XT1)形式完全一样。这说明在这个网络结构下接地和相间故障的分支系数计算共用同一套参数路径只是故障边界条件不同导致推导路径不同。XT1、XS1、XAB1都是固定值唯一的变化量就是XG1。看这个公式就能理解变化趋势XG1在分母和分子中同时出现分母项是XG1XT1分子项是XG1XT1XS1XAB1。光伏出力增大时XG1减小分子分母同时减小但分母减小的相对幅度更大所以Kf增大。也就是说光伏出力越猛分支系数越大测量阻抗被抬得越厉害。若系统阻抗XS1也变大系统容量变小Kf对XG1的敏感度更高光伏出力扰动对保护范围的影响更明显后面表4的弱系统数据会印证这一点。2.3 曲线拟合法为什么不精确参考文献[8]的做法是直接测量逆变器直流侧和交流侧的电压电流计算光伏电站等值阻抗再用曲线拟合法建立等值阻抗与发电量的指数函数模型。听起来合理但问题是预设了函数形式。光伏逆变器的控制策略、MPPT追踪、无功限制都会影响等效阻抗与功率关系的形态不是一条光滑指数曲线能完全覆盖的。对比数据能直观看到差距9:00附近1.78MW时实测阻抗1766.96Ω曲线拟合模型给出1941.21Ω偏差约174Ω相对误差接近10%这个偏差折算到保护II段范围上可能导致区段边界偏移5%以上。BP神经网络不需要预设函数形式理论上可逼近任意连续映射这正是用它替换曲线拟合的核心动机。从数据建模的角度看这里本质是用一个万能逼近器替代一个固定模板函数拟合能力更强、适用区间更宽。3. BP神经网络等效阻抗建模数据准备、网络结构与训练参数3.1 输入输出设计为什么只用输出功率一个输入量论文用新疆某10MW光伏电站的实际逆变器数据做建模。单组逆变器额定500kW20组并联。从论文表1的实测数据能看到一天内的变化规律9:00时直流电压523.1V、直流电流173.5A、有功功率88.8kW到15:00时直流电压506.0V、直流电流928.7A、有功功率491.4kW。直流电压基本稳定在500570V之间直流电流从173A一路爬到928A再回落有功功率跟随电流走。这里有个关键观察电压变化对功率的影响远小于电流而功率又是调度端最容易获取的量。把输出功率作为唯一输入、等效阻抗作为期望输出输入输出各1个神经元网络结构极简。后续无论从SCADA取数据还是从逆变器监测平台拿数据都只关心有功功率一个量工程接入成本很低。如果把直流电流、光照强度等都塞进去网络复杂度和数据需求量都会上升对保护整定这件事来说收益有限。3.2 隐藏层节点数与数据划分试凑法的起点和边界隐藏层节点数用经验公式m n l α来确定n1、l1α为110之间的调节常数。论文经过试凑最终选了4个节点。这个节点数量对单输入单输出的阻抗映射来说是合理的。节点太少拟合能力不足节点太多会把测量噪声也学进去。我一般会从α1开始往上试同时盯住验证集误差——如果训练误差持续下降但验证误差开始回升说明已经过拟合该往回退。数据划分方面论文用了70%训练、15%验证、15%测试。13个整点采样点中大约9个训练、2个验证、2个测试。样本量不大所以训练过程要特别小心不能把验证集和测试集混着用。# 按时间顺序划分训练集、验证集、测试集 import numpy as np # 有功功率MW和等效阻抗Ω的13个采样点 P np.array([1.78, 2.08, 2.69, 3.53, 5.39, 8.61, 9.83, 7.37, 5.69, 4.56, 3.98, 2.69, 1.84]) Z np.array([1766.96, 1517.55, 1131.14, 959.01, 597.18, 347.77, 323.18, 446.13, 558.54, 744.72, 797.42, 1131.14, 1714.27]) n len(P) train_end int(n * 0.7) # 前70%做训练 val_end int(n * 0.85) # 15%做验证最后15%做测试 x_train, y_train P[:train_end], Z[:train_end] x_val, y_val P[train_end:val_end], Z[train_end:val_end] x_test, y_test P[val_end:], Z[val_end:] print(f训练样本{len(x_train)}个验证样本{len(x_val)}个测试样本{len(x_test)}个)这里必须按时间顺序切分而不是随机切分。光伏出力有强时间相关性随机切分会把同一天的相邻样本同时分进训练集和测试集测试结果会虚高失去验证意义。注意不要直接调用train_test_split做随机切分光伏出力数据是时间序列必须先排序再切。3.3 训练参数与优化器为什么要用Levenberg-Marquardt论文隐藏层用Sigmoid函数输出层用线性函数。Sigmoid负责引入非线性让网络能拟合阻抗与功率的弯曲关系输出层用线性激活是为了让输出值域不受限制阻抗可以从300Ω到1800Ω任意输出。如果输出层也用Sigmoid输出被压到01区间还得再做反归一化徒增麻烦。训练用Levenberg-Marquardt迭代方法在MATLAB里对应trainlm。LM属于二阶优化算法结合了高斯-牛顿法和梯度下降法的优点在中小规模网络上收敛速度远快于标准反向传播。论文给出的权值更新式是Δωij -η * ∂ε / ∂ωij ε 1/2 * Σ(yj - yj)²其中y是网络实际输出y是期望输出η是学习速率。BP网络的基本过程是输入功率前向算出阻抗和实测阻抗比对得到误差误差从输出层反向传播逐层修正权重。LM算法在这个基础上的改进是用雅可比矩阵近似二阶梯度信息动态调整步长。对13个样本、1-4-1结构这样的小网络几百次迭代以内就能收敛不需要GPU也不用设置复杂的学习率策略。更稳妥的复现方案是用Keras或PyTorch搭同样的结构用Adam优化器替代LM。论文用的是MATLAB的trainlm用常见深度学习框架复现时Adam在收敛速度上稍有差异但最终拟合精度在这个小数据集上差别不大。# Keras复现1-4-1结构的BP网络 from tensorflow import keras from tensorflow.keras import layers model keras.Sequential([ # 隐藏层4个神经元Sigmoid激活 layers.Dense(4, activationsigmoid, input_shape(1,), namehidden), # 输出层1个神经元线性激活 layers.Dense(1, activationlinear, nameoutput) ]) model.compile(optimizeradam, lossmse) # 样本量小epochs设800并用早停防过拟合 model.fit(x_train, y_train, validation_data(x_val, y_val), epochs800, batch_size4, verbose0)训练完成后把验证集误差最小的那一次权重保存下来作为最终模型而不要直接保存最后一次迭代的权重。小数据量场景下最后一次迭代往往已经过拟合。3.4 逆变器并联等效从单组实测到整站阻抗论文建模时先用一组逆变器的实测数据训练再把20组逆变器并联后的整体阻抗作为整站模型。并联等效在戴维南等效阻抗的语境下是单组逆变器等效阻抗除以20。这里要注意的是必须先算出单组逆变器含变压器阻抗的等效值再除以并联数。变压器阻抗XT1在物理上位于逆变器出口和110kV母线之间每一路都要串联变压器阻抗再并联。我在实际复现中习惯先核算单组阻抗的量级。论文表2里9:00时单组等效阻抗约1766Ω20组并联后约88Ω再叠加变压器和系统阻抗后进入分支系数公式。如果不做并联折算直接套用单组阻抗Kf会被严重低估。论文并没有把这个并联过程单独画出来但它隐含在“20组逆变器并联”这个前提里做整定计算时绕不开。4. 模型训练与验证均方差219与回归值0.998背后的细节4.1 误差指标怎么读论文训练后给出两个关键数字均方差219回归值0.998。均方差单位是Ω²开根号后约14.8Ω。这个绝对误差在阻抗从323Ω到1766Ω的动态范围内相对误差约0.8%到4.6%。对距离保护II段整定来说阻抗偏差15Ω对应到保护范围上的偏差大约0.75%4%在可靠系数0.8的裕度内完全可接受。回归值0.998是网络输出与实测阻抗之间的线性相关系数R。R越接近1说明网络输出和实测值在整体趋势上高度一致。但R不反映局部误差一个点在低功率段差很多、其他点都准R照样可能很高。所以评估这个模型时不能只看R还要逐个样本看相对误差分布。从机器学习的角度看这是一维回归问题评价指标应该以绝对误差分布为主R只能做参考。4.2 逐点对比的细节论文表2给出了13个采样点的实测阻抗、曲线拟合模型输出和BP网络输出。几个典型点值得展开。时间有功功率/MW实测阻抗/Ω曲线拟合/Ω神经网络/Ω9:001.781766.961941.211768.8115:009.83323.18333.24330.1519:003.98797.42845.07800.359:00这个点最能说明问题——低功率段是曲线拟合的盲区指数函数在低端斜率预测错误BP网络却能很好地贴合实测值。15:00高功率段两者都接近实测但BP网络更近。19:00中功率段曲线拟合偏差约6%BP不到0.4%。整体来看BP网络在大部分位置上的绝对误差都低于曲线拟合尤其低功率段优势明显。误差最大的点出现在12:00附近3.53MW实测959.01ΩBP输出882.98Ω偏差约76Ω相对误差8%。这个点属于个别偏离不改变整体结论但它提示了一个坑从单组逆变器数据折算到整站阻抗时逆变器之间的出力不均会带来额外误差。做整定校核时如果直接拿整站阻抗套单组模型最容易翻车。4.3 分支系数模型的差异把BP网络输出的XG1代进分支系数公式可以得到分支系数随输出功率的变化曲线。论文对比了参考文献[8]的线性简化模型和BP神经网络模型2MW附近两者接近功率超过6MW后线性模型的偏差越来越明显。这和阻抗曲线的特征一致低功率段阻抗变化平缓线性近似还能用高功率段阻抗与功率曲线的斜率变化大线性模型跟不上。对保护整定来说分支系数差0.02II段整定值就差约0.2Ω看起来不多但如果系统阻抗按弱系统取150Ω同样的功率变化会让Kf从1.107变到1.522整定值从30.17Ω变到35.48Ω这个差距足以影响保护范围和相邻线路的配合。5. 避坑指南光伏阻抗建模与距离保护整定的五个典型问题5.1 样本点分布不均低功率段拟合精度差现象训练出的模型在3MW以下区间输出抖动大个别点相对误差超过5%。原因表1的实测数据从9:00到21:00中午和下午样本多早晚样本少13个点里功率低于2.7MW的只有4个低功率段数据稀疏BP网络在这里学不到足够信息。解决采集数据时按功率区间而不是按固定时间间隔采样。光照变化快的时段上午9点到11点、下午16点到18点加密采样比如每15分钟记录一次。如果历史数据已经固定可以对稀疏区间做物理约束插值但不要用密集区间随机过采样那样会破坏时间相关性。5.2 隐藏层节点数试凑的玄学现象节点数从4改成8训练集误差继续下降但验证集误差反而上升。原因网络容量超过问题复杂度开始把个别测量点的噪声当成规律学进去。13个样本配8个节点的隐藏层参数量已经接近样本量过拟合风险很高。解决把α从1试到10画出验证集MSE随节点数的变化曲线取验证误差最低且训练误差没有明显回升的节点数。更好的做法是同时看训练误差和验证误差的比值如果训练误差只有验证误差的1/3甚至更小就说明模型已经在“背”数据要减节点或加大数据量。5.3 并联合并时漏掉变压器阻抗现象用单组逆变器的等效阻抗算Kf代入公式得到的分支系数比论文表3的实际值小。原因混淆了逆变器出口阻抗和并网点PCC看进去的等值阻抗。正确做法是先把变压器阻抗XT1加到每一路再并联。论文的分支系数公式中XG1指的就是含变压器的正序等值阻抗。解决计算时严格按公式口径走。单组等效阻抗先加XT1再除以并联路数如果20组逆变器型号一致、出力均衡并联后的整体XG1单组XG1/20。这个细节决定Kf的准确性直接影响II段整定值的分布区间。注意公式里的XG1是含变压器阻抗的正序等效阻抗不是逆变器出口的测量阻抗。并网阻抗建模时最容易栽在这。5.4 训练集与验证集的切分方式现象随机切分训练集和验证集验证集误差很低但泛化到另一天的新数据时误差明显变大。原因光伏出力数据有时间自相关性随机切分导致相邻时刻的相似样本同时出现在训练集和验证集中验证结果虚高。解决按时间顺序切分。论文的13个点前9个做训练中间2个做验证最后2个做测试。如果数据跨多天要按天切分而不是按点切分保证验证集覆盖不同天气工况。5.5 回归值高不代表输出物理正确现象R0.998MSE219但把模型外推到2MW以下时阻抗出现非物理的上升拐点。原因BP网络本质是一个插值器训练数据范围只覆盖1.789.83MW超出这个区间的外推没有约束Sigmoid隐藏层在输入边界附近会进入饱和区。解决部署前先做物理校验。光伏等效阻抗XG1应该随输出功率增大而单调减小如果网络输出在某个区间违反这个规律说明数据不足或网络结构不合适。另外整定计算时最好把模型的适用功率区间标出来保护装置在该区间外保持上一轮定值不做外推更新。6. 自适应整定落地定值计算、灵敏度校核与三个进阶习惯6.1 距离保护II段整定公式的参数选择距离保护I段定值不受光伏影响因为I段按本线路全长的80%整定故障发生在本线路范围内时助增电流对测量阻抗的干扰不足以改变“区内”的判定结果。需要自适应的是II段。II段按与相邻线路BC段的I段配合整定Zset.II1 Krel.II * (ZAB Kf * Zset.I2)Krel.II取0.8ZAB20ΩZset.I216Ω。Kf来自BP网络模型。论文表3给出了不同出力下的整定值和灵敏度光伏功率/MW分支系数KfII段整定值/Ω灵敏度21.02229.081.4541.04229.331.4761.06429.621.4881.08929.941.50101.10730.171.51光伏出力越大II段保护范围越大但始终保持在配合范围内灵敏度全部高于1.25的要求。6.2 灵敏度校核弱系统下的边界表现灵敏度要求Ksen Zset.II1 / ZAB ≥ 1.25。当系统阻抗取150Ω模拟弱系统时分支系数对光伏出力更敏感光伏功率/MW分支系数KfII段整定值/Ω灵敏度21.10730.171.5141.20231.381.5761.31232.791.6481.43134.311.71101.52235.481.77弱系统下分支系数从1.107变到1.522整定值从30.17Ω变到35.48Ω如果还用固定整定值光伏出力波动可能让II段在最大运行方式下越出配合范围在最小运行方式下灵敏度不足。自适应整定的价值在这个场景里最明显。6.3 工程化落地的三个建议一是数据更新机制。BP网络模型要随着逆变器运行数据累积定期重训我一般建议每天入库新的功率-阻抗样本每月做一次增量训练权重变更后先离线回放过去三个月的故障录波确认无误再下装到保护装置。二是模型固化。现场保护装置通常不具备跑神经网络的环境可以把训练好的权值固化为查表模型或分段多项式按0.1MW分辨率把输出功率到Kf的映射算好存成定值表。装置实时读取有功功率查表输出Kf刷新II段定值计算量远小于在线跑网络。三是校核流程。定值变更前必须用整定公式重新算一遍灵敏度并和相邻线路保护的本轮定值做配合校核。从那以后我每次拿到新的光伏出力数据都强制走一遍“先看散点分布、再训练、再物理校验、最后查表固化”的流程把论文里的这整套思路变成保护定值单上的白纸黑字。希望帮到你。本文还有配套的精品资源点击获取
返回列表