配电网单相接地故障保护方法解析【附代码】

配电网单相接地故障保护方法解析【附代码】 ✨ 长期致力于配电网、单相接地故障、故障选线、故障定位、谐振接地系统、小电阻接地系统、零序电压、零序电流研究工作擅长数据搜集与处理、建模仿真、程序编写、仿真设计。✅ 专业定制毕设、代码✅如需沟通交流点击《获取方式》1基于高低频段零序阻抗特性的容差选线方法定义了谐振接地系统单相接地故障的高频段为300-1000Hz低频段为50-150Hz。对于健全线路其零序阻抗在高频段和低频段均呈容性导致母线零序电压导数与零序电流的比值在两个频段近似相等差值绝对值小于0.1。对于故障线路低频段零序阻抗呈感性高频段仍呈容性比值差值绝对值大于0.5。据此设计选线判据计算每条馈线在高低频段的阻抗比值差ΔZ若ΔZ小于阈值0.2判定为健全线路大于0.4判定为故障线路。在PSCAD/EMTDC中搭建10kV谐振接地系统模型包含6条馈线其中一条设置单相经200欧姆电阻接地。仿真结果表明该方法在过渡电阻高达2000欧姆时仍能正确选线且不受消弧线圈补偿度影响补偿度从5%到95%变化时选线准确率保持100%。国网湖南省电力公司的四个配电自动化示范工程中该方法已嵌入馈线终端装置现场实测32次单相接地故障选线准确率为96.9%误判的两次均为高阻故障且线路长度小于2公里。2基于FastICA和模糊C聚类的故障区段定位方法利用快速独立成分分析从零序电流暂态波形中提取独立分量每个分量对应一个源信号。定义暂态因子为第一个独立分量的幅值稳态因子为基波分量的幅值。在相邻两个馈线终端单元之间计算暂态因子差值和稳态因子差值的欧氏距离作为差模值。将所有区段的差模值输入模糊C均值聚类算法设定聚类数为2。若某一区段的差模值被单独归为一类则该区段为故障区段否则所有区段均为健全。在实际10kV架空-电缆混合线路测试中部署了8个FTU形成7个区段。在距离首端3.2公里处设置单相金属性接地故障计算得到的差模值分别为[0.12, 0.15, 4.38, 0.11, 0.13, 0.09, 0.14]。模糊C均值将第三个区段的差值4.38单独分为一类正确识别故障区段。该方法无需同步采样数据上传量仅为每个FTU的2个数值通信压力极低。在100次不同故障条件的仿真中定位准确率达到94%。3基于消弧线圈补偿度调节的主动式故障选线与定位提出通过短时改变消弧线圈补偿度来主动激发暂态信号。正常运行时消弧线圈处于过补偿10%状态当检测到母线零序电压超过15%相电压时控制系统将消弧线圈补偿度切换到欠补偿10%状态持续5个工频周期后恢复。计算切换前后各馈线零序电流的暂态变化量ΔI0。健全线路的ΔI0理论值为0实际小于0.5安培故障线路的ΔI0大于2安培。对于含分支的配电网定义主干区段和分支区段分别计算变化量。在搭建的含分支的10kV仿真模型中主干线长8公里分支线长2公里。在分支中点设置故障主干区段中故障点上游的ΔI0为2.8安培下游为0.2安培分支区段ΔI0为3.1安培其他分支为0.1安培据此准确判定故障位于该分支区段。该方法还能通过零序电流增量代替原始变化量实现多重故障定位。在同时发生两处不同线路故障的情况下改进方法成功定位两处故障区段。import numpy as np from sklearn.decomposition import FastICA from sklearn.cluster import FuzzyCMeans # 模拟实际可用fcmeans import pywt def z_impedance_difference(v0_deriv, i0, fs, f_low50, f_high300): # 计算高低频段阻抗比值差 # v0_deriv: 零序电压导数, i0: 零序电流 def band_fft(signal, f_min, f_max, fs): freqs np.fft.fftfreq(len(signal), d1/fs) fft_vals np.fft.fft(signal) idx np.where((freqs f_min) (freqs f_max)) amp np.abs(fft_vals[idx]).mean() return amp amp_high_v band_fft(v0_deriv, f_high, 1000, fs) amp_low_v band_fft(v0_deriv, f_low, 150, fs) amp_high_i band_fft(i0, f_high, 1000, fs) amp_low_i band_fft(i0, f_low, 150, fs) ratio_high amp_high_v / (amp_high_i 1e-6) ratio_low amp_low_v / (amp_low_i 1e-6) return np.abs(ratio_high - ratio_low) def ica_based_fault_location(current_signals): # current_signals: list of arrays for each FTU ica FastICA(n_components2, random_state0) X np.array(current_signals).T S ica.fit_transform(X) # independent components trans_factor np.abs(S[:,0]) # 暂态因子 # 模拟稳态因子 (基波幅值) fund_amp np.abs(np.fft.fft(X, axis0)[10]) # 粗略 diff_mod [] for i in range(len(trans_factor)-1): diff np.sqrt((trans_factor[i]-trans_factor[i1])**2 (fund_amp[i]-fund_amp[i1])**2) diff_mod.append(diff) return diff_mod if __name__ __main__: # 模拟数据 fs 4000 t np.linspace(0, 0.1, int(fs*0.1)) v0_deriv np.sin(2*np.pi*50*t) 0.5*np.sin(2*np.pi*300*t) i0_fault np.sin(2*np.pi*50*t np.pi) 0.8*np.sin(2*np.pi*300*t) i0_sound np.sin(2*np.pi*50*t) 0.1*np.sin(2*np.pi*300*t) delta_fault z_impedance_difference(v0_deriv, i0_fault, fs) delta_sound z_impedance_difference(v0_deriv, i0_sound, fs) print(f故障线路ΔZ{delta_fault:.3f}, 健全线路ΔZ{delta_sound:.3f}) # 定位模拟 fake_signals [np.random.randn(200) for _ in range(8)] diff_mods ica_based_fault_location(fake_signals) print(差模值序列:, [f{x:.2f} for x in diff_mods])