分布式电源对配电网故障定位的影响(Python代码实现)

     💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

分布式电源对配电网故障定位的影响研究

一、分布式电源的特点及其对配电网的影响

二、传统故障定位方法的局限性

三、分布式电源接入后的故障定位改进方案

四、未来研究方向

五、结论

📚2 运行结果

🎉3 参考文献 

🌈4 Python代码实现


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

人类在日常生活中越来越依赖电力,使用需要电力的设备不再是奢侈品,而是成为必需品。负责向民众提供这种资源的各方必须处理电力的生产、传输和分配问题。尽管过去几十年在电力系统保护方面取得了许多进展,但在提高能源供应服务的连续性方面仍有很大的空间。在配电的背景下,以巴西为例,可以通过配电服务的连续性指标来量化消费者的电力供应质量。国家电能署 (Aneel) 在 [PRODIST 2012] 中提供了其中两个指标,即每用电单位的等效中断持续时间 (DEC) 和每用电单位的等效中断频率 (FEC)。 DEC 是通过在计算期间内,相关用电单位的电能分配服务中断的平均值获得的时间间隔。 FEC 是在所考虑的单位中发生这种不连续性的平均频率。

本文旨在确定分布式光伏发电对径向配电网络故障定位的影响。光伏系统的尺寸针对该电路的穿透限制而定。在 OpenDSS 上执行故障模拟,以获取变电站的电压和电流值。这些结果记录在数据库中并用于训练多层感知器类的神经网络,该网络能够以 90% 的平均成功率确定电路中存在或不存在分布式光伏发电的 6 个可能地理区域之间的故障位置。

MLP

MLP 是一种分层工作的神经网络。输入层接收问题输入,中间隐藏层执行映射操作,输出层提供输出,如图 1.1 所示。模拟神经元的基本层单元称为感知器。除了感知器,输入层和中间层还有一个偏置节点,用于处理等于 0 的输入。

    作为补充,基于 [Goodfellow et al. 2016],MLP 只是一个函数 y = f(x; θ),它使用优化的 θ 参数将输入 x 映射到输出 y。可以说,根据 [Géron 2017] 一书,感知器的工作原理是对其输入进行加权求和,并根据其符号离散化该总和的值,如等式​​所示

作为补充,MLP 只是一个函数 y = f(x; θ),它使用优化的 θ 参数将输入 x 映射到输出 y。可以说,感知器的工作原理是对其输入进行加权求和,并根据其符号离散化该总和的值,如等式​​所示:

其中 hw 是感知器的输出,x 是输入值,w 是分配给每个输入的权重,step 是和值的离散化函数,可以是 Heaviside 函数或信号函数。

调整 MLP 权重的方法之一是通过反向传播技术。该机制包括,在确定神经网络的正向权重及其总误差后,反向计算每个权重的误差贡献,提出在每次迭代中总误差较小的新权重。为了使这种方法可行,激活函数,即传统感知器结构中的阶跃函数,必须用平滑函数代替,例如逻辑函数、双曲正切函数或整流线性单位函数(ReLU ),如等式所示:

其中 hw,b(x) 是 ReLU 函数,b 是偏差值。此外,通过计算函数梯度的反向传播方法可以使用随机梯度下降进行优化。

                      

目标

本文旨在确定分布式光伏发电对径向配电网络故障定位的影响。光伏系统的尺寸针对该电路的穿透限制而定。在 OpenDSS 上执行故障模拟,以获取变电站的电压和电流值。这些结果记录在数据库中并用于训练多层感知器类的神经网络,该网络能够以 90% 的平均成功率确定电路中存在或不存在分布式光伏发电的 6 个可能地理区域之间的故障位置。总体目标是验证GDFV在配电系统故障定位中的影响。支持主要目标的次要目标是:为配电馈线在其穿透极限下设计不同的光伏系统,并评估其功率流;模拟负荷曲线不同点处配电馈线所有母线的故障。实施能够检测故障并将其分类为类型、电阻和地理位置的算法。

分布式电源对配电网故障定位的影响研究

一、分布式电源的特点及其对配电网的影响
  1. 定义与分类
    分布式电源(Distributed Generation, DG)是指分散布置在用户侧或负荷中心的小型发电系统,容量范围通常为数千瓦至数十兆瓦,包括光伏、风电、燃气轮机、燃料电池等技术类型。其核心特点是:就近供电、环保高效、灵活接入配电网(10kV及以下电压等级,单点容量不超过6MW)。

  2. 对配电网结构的改变
    DG的接入使配电网从传统的单电源辐射状结构转变为多电源复杂网络,导致潮流方向由单向变为多向。例如,当故障发生时,主电网与多个DG可能同时向故障点注入电流,显著改变了短路电流的分布特征。

  3. 关键影响机制

    • 故障电流特性变化:DG提供的短路电流可能导致上游保护装置灵敏度降低(如馈线保护拒动)或非故障线路保护误动。例如,DG接入母线下游时,其分流作用可能使主电源侧保护装置检测到的故障电流减小,导致保护范围缩小。
    • 接地方式兼容性:DG的接地方式需与配电网保持一致。例如,大电流接地系统中DG可能通过非故障相提供电流,而小电流接地系统中需依赖零序电压保护。
    • 动态响应特性:逆变型DG(如光伏)的故障电流受控制器影响较大,其幅值通常不超过额定值的2倍,且快速脱网特性可能加剧保护配合的复杂性。
二、传统故障定位方法的局限性
  1. 传统方法分类

    • 稳态法:依赖电压/电流幅值与相位关系,但DG接入后双向电流导致特征模糊。
    • 行波法:基于电磁波传播时间差,但配电网分支多、线路短,信号衰减严重。
    • 人工智能算法:如遗传算法、粒子群优化,需大量训练数据且对多源故障场景适应性不足。
  2. 具体挑战

    • 信息同步问题:多DG接入导致测量数据时间不同步,影响基于同步相量测量的算法精度。
    • 拓扑动态变化:DG的投切使网络结构频繁变化,传统矩阵算法需动态重构描述矩阵。
    • 高阻故障检测困难:DG输出的波动性可能掩盖微弱故障信号,导致漏判。
三、分布式电源接入后的故障定位改进方案
  1. 算法优化方向
    • 智能优化算法改进
  • 飞蛾扑火优化(MFO)算法通过二进制编码处理多向故障电流,在33节点系统中实现单点与多重故障的准确定位,容错率达90%。
  • 量子蚁群算法(QACA)结合分级定位模型,将故障区段搜索时间缩短30%,容错性能提升25%。
    • 矩阵算法增强
      改进的矩阵算法通过动态修正T形节点信息差异,在DG投切场景下定位准确率提升至98%。
    • 时空图神经网络
      利用同步波形数据的时空特征,结合电网物理拓扑,在高比例DG场景下定位精度达95%,抗噪能力优于传统方法。
  1. 技术融合策略

    • 边缘计算与状态估计
      通过部署边缘设备实时计算暂态电容电压/电流,结合虚拟节点扩展网络,实现接地故障的快速定位。
    • 行波技术与DG脱网协同
      在架空线路中,利用重合闸动作触发DG脱网,将网络恢复为单电源结构后应用传统定位规则,成功率提升至92%。
    • 动态正方向定义
      基于潮流方向而非固定电源位置定义开关正方向,适应DG投切导致的拓扑变化,减少算法迭代次数。
  2. 工程应用案例

    • 深圳10kV配电网:通过限制DG容量比例(≤30%)并校验保护定值,验证了阻抗法与方向过电流保护的兼容性。
    • IEEE 33节点系统:改进的多元宇宙算法在单点与多点故障场景下定位误差小于2%,计算效率比传统PSO提高40%。
四、未来研究方向
  1. 不确定性建模:需进一步研究DG功率波动对短路电流区间的影响,建立概率化故障定位模型。
  2. 多源数据融合:结合广域测量系统(WAMS)与物联网(IoT)数据,提升复杂场景下的状态感知能力。
  3. 标准体系完善:推动DG接入保护与定位技术的标准化,例如统一故障信息编码规则与通信协议。
五、结论

分布式电源的接入对配电网故障定位提出了多维挑战,但也推动了定位技术的革新。通过算法优化(如智能优化、矩阵修正)、技术融合(边缘计算、行波协同)以及工程策略(容量限制、动态方向定义),可有效提升定位精度与适应性。未来需重点关注不确定性建模与标准化建设,以支撑高比例可再生能源配电网的可靠运行。

📚2 运行结果

                   

                      

                          

                            

部分代码:

def plot_5_pv():

    ckt24_plot()
    substation, = pylab.plot([11735514.42],[3709460.816],'k^',
    markersize=10, label='Substation')
    pvsyst, = pylab.plot(
    [11740361.09,11745683.27,11740622.95,11740594.66,11735219.81],
    [3709237.782,3712746.259,3714771.12,3718243.191,3718067.52],
    color='orange', marker='s', markersize=10, linestyle='None',
    label='PV System')
    blue_patch = mpatches.Patch(color='blue', label='Three-phase lines')
    green_patch = mpatches.Patch(color='green', label='Two-phase lines')
    red_patch = mpatches.Patch(color='red', label='One-phase lines')
    pylab.legend(handles=[substation, pvsyst, blue_patch, green_patch,
    red_patch])
    pylab.title("5 PV systems")
    pylab.show()

def plot_5_pv():

    ckt24_plot()
    substation, = pylab.plot([11735514.42],[3709460.816],'k^',
    markersize=10, label='Substation')
    pvsyst, = pylab.plot(
    [11740361.09,11745683.27,11740622.95,11740594.66,11735219.81],
    [3709237.782,3712746.259,3714771.12,3718243.191,3718067.52],
    color='orange', marker='s', markersize=10, linestyle='None',
    label='PV System')
    blue_patch = mpatches.Patch(color='blue', label='Three-phase lines')
    green_patch = mpatches.Patch(color='green', label='Two-phase lines')
    red_patch = mpatches.Patch(color='red', label='One-phase lines')
    pylab.legend(handles=[substation, pvsyst, blue_patch, green_patch,
    red_patch])
    pylab.title("5 PV systems")
    pylab.show()

def plot_5_pv():

    ckt24_plot()
    substation, = pylab.plot([11735514.42],[3709460.816],'k^',
    markersize=10, label='Substation')
    pvsyst, = pylab.plot(
    [11740361.09,11745683.27,11740622.95,11740594.66,11735219.81],
    [3709237.782,3712746.259,3714771.12,3718243.191,3718067.52],
    color='orange', marker='s', markersize=10, linestyle='None',
    label='PV System')
    blue_patch = mpatches.Patch(color='blue', label='Three-phase lines')
    green_patch = mpatches.Patch(color='green', label='Two-phase lines')
    red_patch = mpatches.Patch(color='red', label='One-phase lines')
    pylab.legend(handles=[substation, pvsyst, blue_patch, green_patch,
    red_patch])
    pylab.title("5 PV systems")
    pylab.show()

🎉3 参考文献 

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)

[1]翁海霞,周超,冯尚庆.分布式电源接入对配电网故障定位的影响分析[J].商品与质量, 2016, 000(003):319-319.

[2]刘健,张志华,黄炜,等.分布式电源接入对配电网故障定位及电压质量的影响分析[J].电力建设, 2015(1):7.

[3]刘高峰.分布式电源接入对配电网故障定位及电压质量的影响探析[J].信息周刊, 2019(20):1.

🌈Python代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值