💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
参考文献:
摘 要:运行中的输电线路发生故障时,会在故障点产生向两侧传播的电流行波和电压行波。电流行波和电压行 波又统称为故障行波,故障行波会在阻抗不连续点发生折射和反射,由此可以通过采集并分析故障行波得到线路故障信息。利用相模变换对三相电流行波进行解耦,通过解耦后得到的独立模量之间的关系可以确定故障类型和故障相,再利用小波变换模极大值的方法标定行波波头,通过波头信息可以得到故障点距离。仿真结果显示,该方法能准确地确定故障类型和故障相,对故障点距离的定位也能达到很高的精度。
关键词:输电线路;行波;故障诊断;小波变换;MATLAB
输电线路是电力系统的重要组成部分,其输送距离长,跨越距离广,沿途气候及环境多变,所以发生故障的概率高,而故障处理的及时性将决定经济损失的大小,故障定位 的精确度有助于输电线路故障的抢修。目前使用在输电线路中的故障定位方法主要有阻抗法和行波法两种。阻抗法的原理是根据故障时测得的电压和电流计算出故障回路的阻抗,由于线路长度与阻抗成正比,由此可以求出故障点位置,但阻抗法易受过度电阻、线路分布电容、线路模型和运行方式等多变因素影响,所以测量精度不高[1]。输电线路实际应用更多的是行波法,它是利用故障点产生的暂态行波分析得到故障相关信息,从原理上讲,其测量精度与线路长度、结构、过度电阻无关,能达到高精度故障诊断[2]。本文通过分析故障行波及其在输电线路上的传播特性,利用MATLAB建立仿真模型,对基于行波理论的故障诊断方法进行深入研究。
一、研究背景与意义
随着电力工业的飞速发展,电网规模日益扩大,结构日益复杂,输电线路的电压等级和输电距离也在不断增加。然而,线路经过的环境更加纷繁复杂,故障次数不可避免地会增加。因此,对输电线路故障进行快速准确的判别和测距,对于保障电力系统的安全稳定运行具有重要意义。
二、输电线路故障类型
输电线路故障大致分为两类:横向故障和纵向故障。
- 横向故障:包括单相短路接地故障、两相短路接地故障、两相相间短路故障及三相短路故障。其中,单相短路接地故障的几率最大,占输电线路故障总数的80%左右;三相短路故障几率最小,约占1%~3%,且大多由单相和两相故障发展而来。
- 纵向故障:即断线故障,如一相断线、两相断线等。
此外,还有转换性故障等复杂类型。故障原因多为绝缘击穿和雷击,如绝缘子表面的闪污、闪湿,绝缘内部击穿,雷电闪络,风刮导致的线间闪络,线路通过鸟兽或树木放电等。
三、输电线路故障判别方法
故障判别主要依据故障时的电气量变化,如电流、电压、频率等。通过采集这些电气量,并进行分析计算,可以判断故障类型及故障点位置。具体方法包括阻抗法、故障分析法以及行波法等。
四、输电线路故障测距方法
1. 阻抗法
阻抗法根据工频电气量,利用故障时测量到的电流、电压量来求出故障回路的阻抗。由于线路的长度与阻抗成正比,因此可以通过构造电压平衡方程,利用分析法得到故障点与测量点之间的电抗,从而求出故障的大致位置。但阻抗法易受故障点过渡电阻和对端系统阻抗的影响,导致测距误差较大。
2. 故障分析法
故障分析法是利用故障发生时测得的电压、电流数据,经过分析计算得出故障点到测量点之间的距离。根据利用的信息和数据不同,故障分析法可分为单端测距法和双端测距法。
- 单端测距法:只使用单侧的信息和数据,采集数据方便,实现起来简单。但该方法存在缺陷,若针对双端供电的输电线路系统进行故障测距,只利用单侧信息不能消除对侧助增电流及故障点过渡电阻对系统的影响,导致输电线路故障定位结果产生较大误差甚至失效。
- 双端测距法:同时利用故障时从线路两端采集的电气量进行故障定位。该算法利用两侧电流电压推算到故障点电压相等的条件获得故障位置信息,因此从原理上不存在过渡电阻和对侧系统阻抗影响的问题。但双端测距法存在两端数据同步问题,必须同时获取线路两侧的数据。
3. 行波法
行波法的原理是:当输电线路发生故障时,会产生电压、电流的行波,行波以接近光速的速度向线路两端传播。通过测量故障发生时的电压、电流行波在线路上的传播时间,可以计算出故障的距离。行波法具有测距精度高、不受故障点过渡电阻和对端系统阻抗影响等优点,是目前输电线路故障测距的主要方法之一。
五、故障测距装置的要求
为了确保故障测距的准确性和可靠性,故障测距装置应满足以下要求:
- 准确性:衡量准确性的标准是测距误差,它可用绝对误差和相对误差表示。工程实际中希望装置的误差越小越好。
- 可靠性:包含不拒动和不误动两方面的内容。不拒动指装置在故障发生后能可靠地测定故障点的位置;不误动指装置在测距以外的任何条件下不应错误地发出测距的指示或信号。
- 经济性:装置应具有较高的性能价格比。
- 方便性:主要体现在调试和使用上,装置应自动给出测距结果,减少人的工作量。
六、结论与展望
输电线路故障判别与测距技术是保障电力系统安全稳定运行的重要手段。随着科技的不断发展,新的故障判别与测距方法将不断涌现,为电力系统的安全稳定运行提供更加有力的保障。未来,应继续加强该领域的研究,提高故障判别与测距的准确性和可靠性,为电力系统的安全稳定运行做出更大的贡献。
📚2 运行结果
2.1 A相单相接地
2.2 仿真结果
2.3 测距所需的D1分量
部分代码:
T=0:step:0.15;%总仿真0.15s,
%% 正常运行运行时三相电流波形--对应论文图5
figure(1)
plot(T,IL_A1,'linewidth',1.5)
hold on
plot(T,IL_B1,'linewidth',1.5)
hold on
plot(T,IL_C1,'linewidth',1.5)
L1=legend( '\fontname{Times New Roman}I_A',...
'\fontname{Times New Roman}I_B',...
'\fontname{Times New Roman}I_C',...
'FontSize',9.5,...
'Location','Northwest');
set(L1,'Box','off');
xlabel('t/s')
ylabel('I/A')
ylim([-150,150]);
%% 发生故障时三相电流波形---对应论文图6
figure(2)
plot(T,IL_A,'linewidth',1.5)
hold on
plot(T,IL_B,'linewidth',1.5)
hold on
plot(T,IL_C,'linewidth',1.5)
L2=legend( '\fontname{Times New Roman}I_A',...
'\fontname{Times New Roman}I_B',...
'\fontname{Times New Roman}I_C',...
'FontSize',9.5,...
'Location','Northwest');
set(L2,'Box','off');
xlabel('t/s')
ylabel('I/A')
%% 故障电流行波
figure(3)
plot(T,IL_A2,'linewidth',1.5)
hold on
plot(T,IL_B2,'linewidth',1.5)
hold on
plot(T,IL_C2,'linewidth',1.5)
L3=legend( '\fontname{Times New Roman}I_f_A',...
'\fontname{Times New Roman}I_f_B',...
'\fontname{Times New Roman}I_f_C',...
'FontSize',9.5,...
'Location','Northwest');
set(L3,'Box','off');
xlabel('t/s')
ylabel('I/A')
%% 左端故障电流行波的0、alpha、beta、gama分量--对应图7
figure(4) %图7-(a)
plot(T,IL_alpha,'linewidth',1.5)
xlabel('t/s')
ylabel('I/A')
L4=legend( '\fontname{Times New Roman}I_a_l_p_h_a',...
'FontSize',9.5,...
'Location','Northwest');
set(L4,'Box','off');
figure(5) %图7-(b)
plot(T,IL_beta,'linewidth',1.5)
xlabel('t/s')
ylabel('I/A')
L5=legend( '\fontname{Times New Roman}I_b_e_t_a',...
'FontSize',9.5,...
'Location','Northwest');
set(L5,'Box','off');
figure(6) %图7-(c)
plot(T,IL_gama,'linewidth',1.5)
xlabel('t/s')
ylabel('I/A')
L6=legend( '\fontname{Times New Roman}I_g_a_m_a',...
'FontSize',9.5,...
'Location','Northwest');
set(L6,'Box','off');
figure(7) %图7-(d)
plot(T,IL_0,'linewidth',1.5)
xlabel('t/s')
ylabel('I/A')
L7=legend( '\fontname{Times New Roman}I_0',...
'FontSize',9.5,...
'Location','Northwest');
set(L7,'Box','off');
figure(8) %把上面四个画在一起好对比
plot(T,IL_alpha,'linewidth',1.5)
hold on
plot(T,IL_beta,'linewidth',1.5)
hold on
plot(T,IL_gama,'linewidth',1.5)
hold on
plot(T,IL_0,'linewidth',1.5)
L8=legend( '\fontname{Times New Roman}I_a_l_p_h_a',...
'\fontname{Times New Roman}I_b_e_t_a',...
'\fontname{Times New Roman}I_g_a_m_a',...
'\fontname{Times New Roman}I_0',...
'FontSize',9.5,...
'Location','Northwest');
set(L8,'Box','off');
xlabel('t/s')
ylabel('I/A')
%% L端电压行波线模alpha分量重构D1到D7及残差结果
figure(9)
subplot(9,1,1)
plot(T,VL_alpha);
ylabel('原始波形')
xlim([0.049,0.054]);
subplot(9,1,2)
plot(T,DVL_alpha1);
ylabel('D1')
xlim([0.049,0.054]);
subplot(9,1,3)
plot(T,DVL_alpha2);
ylabel('D2')
xlim([0.049,0.054]);
subplot(9,1,4)
plot(T,DVL_alpha3);
ylabel('D3')
xlim([0.049,0.054]);
subplot(9,1,5)
plot(T,DVL_alpha4);
ylabel('D4')
xlim([0.049,0.054]);
subplot(9,1,6)
plot(T,DVL_alpha5);
ylabel('D5')
xlim([0.049,0.054]);
subplot(9,1,7)
plot(T,DVL_alpha6);
ylabel('D6')
xlim([0.049,0.054]);
subplot(9,1,8)
plot(T,DVL_alpha7);
ylabel('D7')
xlim([0.049,0.054]);
subplot(9,1,9)
plot(T,DVL_a7);
ylabel('残差')
xlim([0.049,0.054]);
set(gcf,'unit','centimeters','position',[10 0 16 19]);%修改图大小
%% R端电压行波线模alpha分量重构D1到D7及残差结果
figure(10)
subplot(9,1,1)
plot(T,VR_alpha);
ylabel('原始波形')
xlim([0.049,0.054]);
subplot(9,1,2)
plot(T,DVR_alpha1);
ylabel('D1')
xlim([0.049,0.054]);
subplot(9,1,3)
plot(T,DVL_alpha2);
ylabel('D2')
xlim([0.049,0.054]);
subplot(9,1,4)
plot(T,DVR_alpha3);
ylabel('D3')
xlim([0.049,0.054]);
subplot(9,1,5)
plot(T,DVR_alpha4);
ylabel('D4')
xlim([0.049,0.054]);
subplot(9,1,6)
plot(T,DVR_alpha5);
ylabel('D5')
xlim([0.049,0.054]);
subplot(9,1,7)
plot(T,DVR_alpha6);
ylabel('D6')
xlim([0.049,0.054]);
subplot(9,1,8)
plot(T,DVR_alpha7);
ylabel('D7')
xlim([0.049,0.054]);
subplot(9,1,9)
plot(T,DVR_a7);
ylabel('残差')
xlim([0.049,0.054]);
set(gcf,'unit','centimeters','position',[10 0 16 19]);%修改图大小
%% 单独画L端电压线模alpha分量重构D1
figure(11)
plot(T,DVL_alpha1,'linewidth',1.5);
ylabel('D1')
xlim([0.049,0.054]);
L11=legend( 'L端电压行波α分量重构D1结果','FontSize',9.5,'Location','Northeast');
set(L11,'Box','off');
ylim([-6000,6000]);%主要是为了图像上下对称,根据幅值自己选择合适数值
%% 单独画R端电压线模alpha分量重构D1
figure(12)
plot(T,DVR_alpha1,'linewidth',1.5);
ylabel('D1')
xlim([0.049,0.054]);
ylim([-16000,16000]);%主要是为了图像上下对称,根据幅值自己选择合适数值
L12=legend( 'R端电压行波α分量重构D1结果','FontSize',9.5,'Location','Northeast');
set(L12,'Box','off');
%% 下面画图13 14 是为了提取峰值点,每次不同故障距离,故障类型可能都需要更改d_V,n_A,n_p这三个参数
%% 一般这三个参数都是往小,调如果更改效果不好,可以根据图11 12 手动标注画
d_V=0.003;%去除误差系数
n_A=20;%取出正负20个峰值用于画图,有的时候没有那么多峰值,需要把n_A取更小
n_p=60;%每隔n_p个采样点提取一次峰值
%% 对图11提取极值单独画出
DVL_alpha1_new=Z;
M_DVL_alpha1=max(DVL_alpha1);
for i=1:m %对波形去除误差
if abs(DVL_alpha1(i))<d_V*M_DVL_alpha1 %将值小于d_V*最大值的波段视为噪声,这里处理方法比较简单,如果做到可靠合理需要仔细研究
DVL_alpha1_new(i)=0;
else
DVL_alpha1_new(i)=DVL_alpha1(i);
end
end
% 根据去除误差后的波形寻找峰值点 没必要懂,只是为了程序画图
[max_amp_VL,max_namp_VL]=findpeaks(DVL_alpha1_new,'minpeakdistance',n_p); %max_amp_VL正峰值点 max_namp_VL正峰值点对应计数点
NDVL_alpha1_new=-DVL_alpha1_new;
[min_amp_VL,min_namp_VL]=findpeaks(NDVL_alpha1_new,'minpeakdistance',n_p); %min_amp_VL负峰值点 min_namp_VL负峰值点对应计数点
pmax_amp_VL=max_amp_VL(1:n_A); pmax_namp_VL=max_namp_VL(1:n_A);
pmin_amp_VL=min_amp_VL(1:n_A); pmin_namp_VL=min_namp_VL(1:n_A);
A=pmax_amp_VL-pmin_amp_VL;%判断正和负峰值到底哪个是模极大值
for i=1:n_A
if A(i)>0
pmin_namp_VL(i)=0;%如果正峰值为模极大值,那么将负峰值对应的计数点数值置0
else
pmax_namp_VL(i)=0;%如果负峰值为模极大值,那么将正峰值对应的计数点数值置0
end
end
nt_VL=pmax_namp_VL+pmin_namp_VL;%L端所有新的模极大值对应时刻
MM_L=zeros(1,m);%用于存放模极大值及其对应时刻
for i=1:n_A
if pmax_amp_VL(i)>=pmin_amp_VL(i)
MM_L(nt_VL(i))=pmax_amp_VL(i);
else
MM_L(nt_VL(i))=-pmin_amp_VL(i);
end
end
figure(13)
plot(T,MM_L,'linewidth',1.5);
ylabel('D1')
xlim([0.049,0.054]);
ylim([-6000,6000]);%主要是为了图像上下对称,根据幅值自己选择合适数值
L13=legend( 'L端电压行波α分量重构D1并提取模极大值结果','FontSize',9.5,'Location','Northeast');
set(L13,'Box','off');
%% 对图12提取极值单独画出
DVR_alpha1_new=Z;
M_DVR_alpha1=max(DVR_alpha1);
for i=1:m %对波形去除误差
if abs(DVR_alpha1(i))<d_V*M_DVR_alpha1 %将值小于d_V*最大值的波段视为噪声,这里处理方法比较简单,如果做到可靠合理需要仔细研究
DVR_alpha1_new(i)=0;
else
DVR_alpha1_new(i)=DVR_alpha1(i);
end
end
% 根据去除误差后的波形寻找峰值点 没必要懂,只是为了程序画图
[max_amp_VR,max_namp_VR]=findpeaks(DVR_alpha1_new,'minpeakdistance',n_p);
NDVR_alpha1_new=-DVR_alpha1_new;
[min_amp_VR,min_namp_VR]=findpeaks(NDVR_alpha1_new,'minpeakdistance',n_p);
pmax_amp_VR=max_amp_VR(1:n_A); pmax_namp_VR=max_namp_VR(1:n_A);
pmin_amp_VR=min_amp_VR(1:n_A); pmin_namp_VR=min_namp_VR(1:n_A);
B=pmax_amp_VR-pmin_amp_VR;%判断正和负峰值到底哪个是模极大值
for i=1:n_A
if B(i)>0
pmin_namp_VR(i)=0;%如果正峰值为模极大值,那么将负峰值对应的计数点数值置0
else
pmax_namp_VR(i)=0;%如果负峰值为模极大值,那么将正峰值对应的计数点数值置0
end
end
nt_VR=pmax_namp_VR+pmin_namp_VR;%R端所有新的模极大值对应时刻
MM_R=zeros(1,m);%用于存放模极大值及其对应时刻
for i=1:n_A
if pmax_amp_VR(i)>=pmin_amp_VR(i)
MM_R(nt_VR(i))=pmax_amp_VR(i);
else
MM_R(nt_VR(i))=-pmin_amp_VR(i);
end
end
figure(14)
plot(T,MM_R,'linewidth',1.5);
ylabel('D1')
xlim([0.049,0.054]);
ylim([-16000,16000]);%主要是为了图像上下对称,根据幅值自己选择合适数值
L14=legend( 'R端电压行波α分量重构D1并提取模极大值结果','FontSize',9.5,'Location','Northeast');
set(L14,'Box','off');
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1]李立江,林海,王佳,等.基于行波理论的输电线路故障诊断方法研究[J].软件工程, 2022, 25(7):7.DOI:10.19644/j.cnki.issn2096-1472.2022.007.003.
🌈4 Matlab代码、Simulink仿真实现
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取