基于BP神经网络的光伏并网配电网距离保护II段自适应整定方法
2026/9/18 1:55:14 网站建设 项目流程

简介:针对大规模光伏电站并网改变配电网拓扑与短路电流、导致原有距离保护整定失准的难题,这份PDF文献系统提出一种基于BP神经网络的等效阻抗建模方法,并据此设计自适应距离保护策略,适读于电力系统继电保护、新能源并网及智能电网方向的工程师和研究人员。文中重点分析光伏电站出力波动对分支系数及保护测量阻抗的影响,指出传统曲线拟合建立阻抗-功率关系模型的精度局限,改用BP神经网络学习历史数据,构建光伏电站输出功率与等效阻抗的动态映射,进而实现保护定值的实时自适应调整,最后结合实际光伏电站算例验证了方法的正确性与实用性,为分布式电源并网保护整定提供参考。资源为单篇PDF论文,压缩包共1个文件,大小约924KB,便于离线研读。目前已有88人浏览学习。

1. 光伏出力每时每刻都在变,距离保护定值怎么跟得上

分布式光伏大量接入 110 kV 配电网之后,电网调度和继保整定遇到的最棘手问题之一,是距离保护 II 段的测量阻抗不再只由故障距离决定,还被光伏电站的实时出力“拖着走”。光伏逆变器输出的短路电流随光照强度、温度、逆变器投退状态持续波动,等效阻抗从清晨到正午可能差出 5 倍以上。这样一来,按照传统固定整定值配置的距离保护 II 段,在光伏大发时段灵敏度下降,在光伏出力低谷时段又可能越级误动——两条路都危险。

这篇论文的核心思路是把 BP 神经网络当作一个非线性拟合器,用光伏电站输出功率作为输入,等效阻抗作为输出,训练出一个能跟随出力变化的动态模型。然后把这个模型代入距离保护 II 段的分支系数公式,得到自适应整定值。事情的关键在于:分支系数怎么从理论公式落到可编程的整定逻辑里,神经网络模型的输入输出怎么设计,以及训练出来的模型在工程上够不够用。下面逐一拆开讲。

2. 为什么光伏一接入,距离保护 II 段就会“看不准”故障距离

2.1 助增电流如何改变保护安装处的测量阻抗

距离保护的基本原理是:保护安装处的测量电压除以测量电流,得到一个与故障距离近似成正比的阻抗值,再与整定阻抗比较。对于图 1 所示的辐射状配电网,S 为系统电源,G 为光伏电站,T 为变压器,线路 AB、BC 各配置一套距离保护装置。K 点发生短路故障时,保护 1 测到的 A 相电压可以表示为:

[ U_{1A}=Z_{AB1}(I_{1A}+3KI_{10})+Z_{BK1}(I_{2A}+3KI_{20})+U_{KA} ]

这里 K 是零序电流补偿系数,(K=(Z_0-Z_1)/3Z_1),(Z_{AB1}) 是线路 AB 正序阻抗,(Z_{BK1}) 是母线 B 到故障点 K 的正序阻抗。关键在下半部分:保护 1 测到的电流是 (I_{1A}+3KI_{10}),但光伏电站提供的短路电流 (I_{GA}=I_{2A}-I_{1A}) 同时注入了故障支路。这导致测量阻抗变成:

[ Z_k = Z_{AB1} + K_f Z_{BK1} ]

(K_f) 就是分支系数。当光伏电站没有接入时,(K_f=1),测量阻抗与故障距离严格成正比;光伏接入后,(K_f) 大于 1,保护感知到的阻抗比实际距离偏大,如果不修正整定值,II 段保护范围就会被压缩。

2.2 分支系数计算的工程瓶颈在于光伏等效阻抗不恒定

进一步推导可以得到接地故障和相间故障两种场景下,分支系数与配电网阻抗参数的关系:

[ K_{f(1)} = \frac{X_{G1}+X_{T1}+X_{S1}+X_{AB1}}{X_{G1}+X_{T1}} ]

[ K_{f(1,1)} = \frac{X_{G1}+X_{T1}+X_{S1}+X_{AB1}}{X_{G1}+X_{T1}} ]

两种故障形式的分支系数表达式结构一致,区别在于代入的序分量边界条件不同。(X_{T1}) 是变压器正序阻抗,(X_{S1}) 是系统正序阻抗,这两个是固定值;(X_{AB1}) 是线路 AB 正序阻抗,由线路长度和单位阻抗决定。唯一不确定的是 (X_{G1})——光伏电站等效正序阻抗。

问题就出在这里:光伏电站不是同步机,它的等效阻抗不能用固定的次暂态电抗来刻画,而是取决于逆变器控制策略、MPPT 工作点、光照强度和出力水平。同一个电站,9 点钟的等效阻抗可能是 1700 Ω,到下午 3 点出力达到 9.83 MW 时阻抗可能降到 300 Ω 出头。如果把 (X_{G1}) 按最大值整定,II 段保护在光伏大发时灵敏度不够;按最小值整定,出力低谷时又可能超越下一级线路的保护范围。曲线拟合法的做法是先测一组功率-阻抗数据对,再用指数函数去逼近,但光伏系统的非线性强,单一函数形式很难在全功率段保持精度。

2.3 工程上需要的数据与参数准备

要复现整套自适应整定逻辑,需要准备以下参数。这里以论文中的实际光伏电站为例:额定功率 10 MW,20 组 500 kW 逆变器并联,直流侧 415 V,经变压器升压至 110 kV;系统阻抗 (X_{S1}=X_{S2}=15 Ω);变压器 T 阻抗 (X_{T1}=X_{T2}=10 Ω),(X_{T0}=30 Ω);线路 AB、BC 各 50 km,单位阻抗 (Z_1=Z_2=0.4 Ω/km),(Z_0=1.2 Ω/km)。

其中一组逆变器直流侧和交流侧的实测数据如下表所示,这些数据随后会被整理成神经网络训练集和测试集。

时刻直流电压/V直流电流/A交流 AB 相电压/V交流 A 相电流/A有功功率/kW
9:00523.1173.5322.7160.288.8
11:00515.5272.6322.8243.2134.5
13:00533.1516.3323.0484.4269.6
15:00506.0928.7327.0870.0491.4
17:00527.1552.2323.3511.0284.5
19:00528.1386.2323.3357.0199.1
21:00515.5272.6322.8243.2134.5

值得注意的是,直流电压基本稳定在 500~560 V 之间,变化幅度很小;而直流电流从 170 A 爬到 920 A,变化超过 5 倍。这说明光伏等效阻抗的变化主要由电流侧驱动,电压近似恒定。因此在建立神经网络模型时,用输出功率(或者对应当前的直流电流)作为输入特征是合理的。

3. 用 BP 神经网络拟合光伏等效阻抗:模型设计、训练与对比

3.1 为什么选 BP 而不是指数拟合或查表法

曲线拟合法(参考文献[8]的做法)提前预设了函数形式:(Z_{eq}=a \cdot e^{bP}+c) 或者类似结构,然后用最小二乘法求系数。缺点是当电站包含多个逆变器、且局部阴影导致出力曲线不规则时,指数函数无法同时拟合高功率段的陡降和低功率段的平缓。查表法虽然不需要预设函数,但数据点是离散的,整定值在相邻功率点之间跳变,可能引起保护定值的不连续切换。

BP 神经网络属于多层前馈网络,通过隐藏层的非线性激活函数组合,理论上可以逼近任意连续函数。这里网络结构分三层:输入层接收光伏输出功率(1 个节点),隐藏层 4 个节点,输出层输出等效阻抗(1 个节点)。隐藏层激活函数用 Sigmoid,输出层用线性函数,这样输出范围不受限制——等效阻抗跨度从 300 Ω 到 1700 Ω,如果用 Sigmoid 做输出,需要先做归一化,增加反变换误差。

3.2 样本划分与隐藏层节点数确定

训练样本来自某一天从 9:00 到 21:00 的实测数据,共 11 组整点记录。数据划分规则是:70% 用于训练,15% 用于验证,15% 用于测试。隐藏层节点数按经验公式试凑:

[ m = \sqrt{n + l} + \alpha ]

其中 (n) 是输入节点数(1),(l) 是输出节点数(1),(\alpha) 是 1~10 之间的调节常数。逐个尝试 (m=2,3,4,5),用验证集误差作为评价标准。这里最终确定 (m=4),隐含层的权重更新公式为:

[ \Delta \omega_{ij} = -\eta \frac{\partial \varepsilon}{\partial \omega_{ij}} ]

其中 (\eta) 为学习速率,(\varepsilon = \frac{1}{2}\sum_{j=1}^{l}(y_j - y_j')^2) 为实际输出与期望输出之间的均方误差。训练迭代采用 Levenberg-Marquardt 算法,相比标准梯度下降,LM 算法在样本量不大的情况下收敛更快,且不容易陷入局部极小点。

3.3 用 MATLAB 复现训练流程

MATLAB 环境下可以用 Neural Net Fitting 工具箱(nftool)图形化完成,也可以用脚本方式复现。核心训练代码如下:

% 光伏输出功率作为输入特征 P = [1.781, 2.081, 2.691, 3.531, 5.391, 8.611, 9.831, ... 7.371, 5.691, 4.561, 3.981, 2.691, 1.841]'; % 等效阻抗作为期望输出(单位:欧姆) Z = [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]'; % 构建前馈BP神经网络:1个输入节点,4个隐藏层节点,1个输出节点 net = feedforwardnet(4, 'trainlm'); % 隐藏层使用Sigmoid传递函数,输出层使用线性传递函数 net.layers{1}.transferFcn = 'logsig'; net.layers{2}.transferFcn = 'purelin'; % 数据划分:训练集70%,验证集15%,测试集15% net.divideParam.trainRatio = 0.70; net.divideParam.valRatio = 0.15; net.divideParam.testRatio = 0.15; % 训练网络 [net, tr] = train(net, P', Z'); % 预测并输出回归值与均方误差 Z_pred = net(P'); R = corrcoef(Z, Z_pred); mse_value = mean((Z - Z_pred').^2); fprintf('回归值 R = %.4f\n', R(1,2)); fprintf('均方误差 MSE = %.2f\n', mse_value);

这段代码里有几个关键参数需要解释:

  • feedforwardnet(4, 'trainlm')表示创建一个带 4 个隐藏层节点的前馈网络,训练函数指定为trainlm,对应 Levenberg-Marquardt 算法。如果换成traingd就是标准梯度下降,收敛速度会慢很多。
  • logsig将隐藏层输出压缩到 (0,1) 区间,适合处理非线性映射;输出层purelin保持线性输出,不限制阻抗值的范围。
  • trainRatio/valRatio/testRatio三个字段控制训练、验证、测试集的比例。验证集用于防止过拟合(训练过程中监控验证误差,连续上升则提前停止),测试集用于评估最终模型的泛化能力。

训练完成后会得到两个关键指标:MSE 为 219,回归值 R 为 0.998。R 值接近 1 说明网络输出与实际阻抗高度相关,拟合效果明显优于指数函数模型。

3.4 神经网络模型与指数函数模型的实测对比

论文对比了两种模型在全天 13 个采样点的预测阻抗值,核心数据对比如下:

时刻有功功率/MW实测阻抗/Ω指数拟合模型/Ω神经网络模型/Ω
9:001.7811766.961941.211768.81
10:002.0811517.551652.931501.17
13:005.391597.18618.44612.03
14:008.611347.77381.71362.67
15:009.831323.18333.24330.15
16:007.371446.13447.98426.18
20:002.6911131.141265.761138.15

指数拟合模型在功率低于 3 MW 时误差偏大,10:00 时刻误差达到 135 Ω,相对误差接近 9%;而神经网络模型的误差控制在 20 Ω 以内。原因是 BP 网络通过多个 Sigmoid 节点的加权组合,能够形成分段逼近能力——低功率段用一组权重拟合,高功率段切换到另一组权重主导的输出,相当于把非线性曲线切成多段后各自逼近。指数函数只有一个曲率参数,无法同时照顾两端的弯曲程度。把相同数据代入功率-阻抗特性曲线图观察,神经网络曲线在 1~4 MW 区间贴合实测值,而指数曲线在该区间明显上凸。

4. 从等效阻抗到自适应定值:整定公式、灵敏度校核与容量边界

4.1 自适应整定表达式的推导思路

距离保护 I 段按照本线路全长的 80% 左右整定,保护范围不伸出本线路,光伏电站的助增电流不会引起 I 段误动,因此只需要对 II 段重新整定。II 段的整定原则是与相邻线路 BC 段的 I 段配合,即:

[ Z_{set.1}^{II} = K_{rel}^{II}(Z_{AB} + K_f \cdot Z_{set.2}^{I}) ]

其中 (K_{rel}^{II}) 是可靠系数,取 0.8;(Z_{set.2}^{I}) 是 BC 段距离保护 I 段定值:

[ Z_{set.2}^{I} = K_{rel}^{I} Z_{BC} = 0.8 \times 0.4 \times 50 = 16 \ \Omega ]

(K_f) 的值由上一章训练好的神经网络模型决定:输入当前光伏输出功率 P,得到等效阻抗 (X_{G1}),再代入分支系数公式得到实时的 (K_f)。整个过程可以串联成一条计算链:

[ P \xrightarrow{BP\ 神经网络} X_{G1} \xrightarrow{分支系数公式} K_f \xrightarrow{配合公式} Z_{set.1}^{II} ]

这个计算链在保护定值整定软件里实现时,常见做法是先把训练好的网络权重导出为一组矩阵参数,固化在整定计算模块中,而不是在保护装置里跑神经网络推理。因为配电网保护定值不需要毫秒级刷新,每 15 分钟根据光伏电站上传的实时出力刷新一次即可。

4.2 按功率分段刷新整定值的操作流程

实际工程中按以下步骤实施自适应整定:

  1. 从光伏电站监控系统获取当前总有功功率 P,采样周期建议与逆变器数据上送周期一致(通常为 1~5 分钟)。
  2. 将 P 输入训练好的 BP 神经网络模型,得到等效阻抗 (X_{G1})。输入前需要做与训练时相同的预处理,包括量纲统一和归一化参数保持一致。
  3. 将 (X_{G1}) 代入分支系数公式,计算当前出力的 (K_f) 值。
  4. 将 (K_f) 代入 II 段整定配合表达式,计算 (Z_{set.1}^{II})。
  5. 校验灵敏度:(K_{sen} = Z_{set.1}^{II} / Z_{AB} \geq 1.25),不满足时调整配合系数或与上级保护重新配合。
  6. 将新定值下发至保护装置,记录定值变更日志。

计算过程可以通过简单的脚本批量完成。以功率从 2 MW 增长到 10 MW 为例,假设某组数据计算得到 (K_f) 从 1.022 增加到 1.107,则对应的 II 段整定值和灵敏度如下:

光伏出力/MW分支系数 (K_f)II 段整定值/Ω灵敏度
21.02229.081.454
41.04229.331.467
61.06429.621.481
81.08929.941.497
101.10730.171.509

从表中可以看到,系统阻抗只有 15 Ω 时,光伏出力变化引起的 (K_f) 变化只有 0.08 左右,整定值变化幅度约 1 Ω,灵敏度始终大于 1.25。这是因为系统容量远大于光伏容量,光伏提供的短路电流在总短路电流中占比小,分支系数被“稀释”了。

4.3 系统容量降低后的边界行为

如果把系统阻抗从 15 Ω 拉大到 150 Ω(相当于系统短路容量大幅下降),光伏电站的相对贡献变大,分支系数变化幅度显著增加:

光伏出力/MW分支系数 (K_f)II 段整定值/Ω灵敏度
21.10730.171.509
41.20231.381.569
61.31232.791.640
81.43134.311.716
101.52235.481.774

此时 (K_f) 从 1.107 涨到 1.522,变化幅度接近 0.4,整定值相差超过 5 Ω。如果仍然按固定值整定,在 10 MW 出力时测量阻抗偏大,保护范围可能缩到线路全长的 60% 以下,II 段将失去对线路末端故障的灵敏度。这个对比说明一个问题:自适应整定的必要性不取决于光伏电站的绝对容量,而取决于光伏容量与系统短路容量的比值。比值越大,分支系数波动越剧烈,自适应修正越有价值。

5. 落地时容易被忽略的几个工程细节

5.1 样本更新策略决定模型的长期有效性

光伏电站在运行几年后,组件衰减、逆变器更换、容配比调整都会导致功率-阻抗特性漂移。训练好的 BP 模型如果一直不更新,预测误差会随设备老化逐渐增大。工程上建议每季度做一次模型校准:用最近 30 天的运行数据重新训练,或者用迁移学习的方式,以原模型权重作为初始值,用新数据做少量迭代微调。相比从零训练,迁移学习在样本量较少时更稳定。实施时需要注意,新旧模型的切换必须在保护定值区

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询