基于STM32故障电弧检测装置的设计
2018-05-23,,,
,,,
(温州大学 物理与电子信息工程学院,浙江 温州 325000)
0 引言
楼宇的电气布线,家用电器、插座等电源线由于长时间的过负荷运行,线路老化或者不良的电气连接、线路绝缘层破损等情况,很可能引发故障电弧,致使产生电弧火花引发火灾。如何检测线路电弧故障,设计出有效的电弧故障检测装置一直以来是一个备受关注的热点话题。
实验研制的故障电弧检测装置样机主要包括三部分:电流信号采集电路,过零点检测电路和MPU计算处理单元。电弧故障检测装置以电流取样的方式,通过电流互感器将一次侧的大电流转换为二次侧的小电流,后面连接一个采样电阻将电流信号转换为电压信号,经调理电路放大,滤波后送往微处理器单元进行数字信号运算,并由串联故障电弧识别算法进行综合判断,若达到电弧故障检测装置(AFDD)的要求[1],则判断有故障电弧发生,检测装置发出报警信号。因为AFDD标准对电弧半波的个数和时间有明确的要求,所以MCU需要获得过零点的脉冲信号,用来触发AD采集并统计故障电弧中燃弧半波的个数。
1 检测原理
目前,已有很多专家学者在故障电弧诊断领域提出了多种检测故障电弧的方法[2]。比较著名的有小波分析法、频谱分析法和时域波形分析法[3-5]。小波分析法,即对电流信号进行多层小波分解,提取电弧特征[6]。频域分析法,通过对电流信号进行快速傅里叶变换(FFT),提取电流信号中的高频成分,判断是否发生电弧故障[7]。还有一些机器学习的方法检测电弧故障。比如对电流信号进行多个特征量的提取,然后采用神经网络、深度学习或支持向量基(SVM)等方法进行训练,得到判断特征与电弧故障的算法[8-9]。对于检测低压配电柜中的电弧故障,通常采用声光检测法,即对电弧电压信号和弧光信号进行检测,判断是否有电弧故障发生[10]。
实验检测装置采用了时域波形分析法。时域波形分析法,即对电流信号进行采集,提取时域波形的特征量。然后对提取的特征量分析比较,如果相比较的两个波形之间的差异超出了设定的阈值,则认为出现电弧故障。此算法基于时域波形分析,分别提取时域电流波形的幅值、波形上升率和正半周期时间宽度作为特征量。在保留最大原始有效信息的同时,针对不同负载用不同的特征量进行判别,提高了准确率,减少误判。且该方法计算量小,准确性高,易于在单片机上实现。
1.1 时域电流波形比较算法
故障电弧发生时会导致负载电流波形出现很大的波动,这种波动会使故障电弧的波形在不同周期内出现差异,因此可以根据这种差异程度判断电弧故障是否发生。图1~3分别为日光灯、开关电源和吸尘器负载在正常工作和发生电弧故障时的电流波形。
图1 日光灯负载
图2 开关电源负载
图3 吸尘器负载
通过图中的波形对比可以看出,当发生故障电弧时,其电流波形和正常工作时的电流波形相比较有明显的差异性。主要包括以下几种特征:
1)电流波形在过零处有毛刺,波形含有高频噪声;
2)电弧电流的上升率一般高于正常电流;
3)发生电弧故障时,电弧电流在过零点附近会有平肩现象;
4)电弧波形具有一定的随机性;
图1对比日光灯负载正常工作和电弧故障下的波形图可以发现,发生故障时,电流波形前后两周期不完全相同,波形出现随机性,在零点附近出现毛刺,且波形峰值的幅值增大,电流波形正半周期采样幅值差异明显,所以日光灯负载可以通过AD转换器采集电流幅值,和负载正常工作下的电流幅值作差,计算其差异值,再和设定的阈值相比较,判断是否发生电弧故障。
对于开关电源负载,发生串联电弧故障时波形在过零点附近有平肩现象,且在波形上升处出现大量毛刺,电流波形过零后上升率变大。所以对于开关电源负载,可以通过AD采集电流波形数据点,取出数据中相应的点计算波形的上升率,将计算出的波形上升率和正常工作时的上升率作差,将差值和设定的阈值相比较,判断是否发生电弧故障。
对于吸尘器负载,通过对比可以发现,发生电弧故障时,电流波形在过零处有平肩现象且波形出现毛刺。由于波形在过零点处出现平肩,过零检测电路就不会产生高电平信号,也就不会触发AD采集。负载电流波形出现平肩现象会导致高电平时间缩短,相应的AD采样时间也会缩短。在AD采样频率一致的情况下,采集到的点也会减少。所以对于吸尘器负载,可以通过采样时间宽度进行判断是否发生电弧故障。
上述3个特征量就是设计电弧故障检测装置样机的原理基础。其中电流波形幅值差异值的具体计算方法如下。
1)设每个波形正半周期采集N个点,采集3个半波的电流波形,通过比较3个波形的差异判断该波形是否属于正常波形:
△ik(j)=ik(j)-ik-1(j),j=1,2,…N,k=2,3
(1)
2)再求波形幅值之差的绝对值在一个正半周期内的平均值:
(2)
3)在STM32系统初始化结束后开始AD采样,可以得到前3个正半周期和两个值,比较两个值,若
|D1-D2|≤0.000 2
(3)
则可以判断前3个半波为负载正常工作波形,同时将第三个半波的数据保存作为初始正常波形,与接下来的波形相比较。
4)计算波形正半周期幅值的差值。
△ik(j)=i3(j)-ik(j),j=1,2,…N,k=1,2,…N
(4)
5)根据式(4)计算差值在正半周期内的平均值。
(5)
6)计算波形幅值在正半周期内的平均值。
(6)
7)最后将数值量化,计算波形正半周期幅值的差异值并将其作为一个电流波形特征量。
(7)
1.2 系统框图
图4 故障电弧检测装置系统框图
故障电弧检测装置系统框图如图4。该装置包括电流信号采集、过零检测、数据处理保存及电弧故障识别等部分。
一次侧回路的负载电流经电流互感器衰减后送往信号采集电路,通过电流取样的方式获取电压信号。调理电路对信号进行滤波和放大,然后送往单片机进行AD转换和信号处理;MCU在过零点信号的同步脉冲控制下采集电流信号波形,并进行故障电弧的检测判断,若检测到电弧故障就会发出报警信号(LED)。MCU是电路的核心运算器件,选择的MCU至少要满足以下要求: 1)时钟频率要满足计算和A/D采样的时间要求;2)内部RAM要有足够的存储空间以存储数据;3)要有DMA功能。
兼顾性价比和可靠性的综合考虑,选择了意法半导体公司的STM32F407VEZT芯片。该芯片是ST公司基于Cortex-M4内核生产的具有众多外设的MCU。通过充分利用其片上ADC、DMA、定时器和独立看门狗等资源进行设计,可以提高故障电弧检测装置的简洁性和可靠性。A/D转换器快速采集电路的电流波形信号;DMA控制器将数字信号传送至指定内存交由CPU处理;在STM32F4的平台上,电弧检测算法运算速度能达到实时性的要求。
2 故障电弧检测装置的硬件设计
检测装置的硬件部分可以实现电流信号的采集、过零检测、A/D转换和数据处理等功能。
2.1 信号采集调理电路
采样系统采集的模拟量为交流电流信号,外加调理电路的作用是把采样信号进行滤波和放大,送往STM32的A/D口进行采集和处理。电流信号采集电路如图5所示。
图5 电流信号采集电路
电流互感器选用的型号为GNCT-226A,额定电流变比5A/5 mA,R2为采样电阻,把电流信号转换为电压值输入到单片机中。运算放大器的放大倍数选定为20倍,将电压值转化成STM32的A/D口可以识别的0~3.3 V电平以内的信号。电阻R1为限流电阻,限定电路的工作电流,使电路运行在一个合适的工作状态下。
2.2 过零检测电路
根据AFDD标准对电弧半波个数和时间要求,当试验电路中发生燃弧时,在50 Hz额定频率下,电路电流大于100A时,AFDD动作判别的极限值是检测到8个燃弧半波(大电弧电流可能由地绝缘故障或并联电弧产生)。 为此MCU需获得过零点脉冲信号,作为判断统计故障电弧个数的同步脉冲。正半周期电流检测电路如图6。
图6 过零点检测电路及仿真结果
通过波形图可以发现当输入信号处于正半周期时,电路输出高电平,当信号处于负半周时,电路输出低电平。因此可以把该电路的输出信号接STM32的输入引脚PA1,当PA1采集到高电平时,AD转换器开始采样;当PA1采集到低电平时,AD转换器停止采样。所以该电路的作用是输出波形过零点信号,触发A/D采集,统计燃弧半波个数。
2.3 A/D转换电路
STM32片上拥有3个ADC,这些A/D转换器可以独立使用,也可以使用双重/三重模式(提高采样率)[10]。通过对ADC相关寄存器进行配置,可以设置它的分辨率、采样通道、转换时间等参数。试验方案使用ADC1的通道5进行采集,转换分辨率设为12位,转换时间为96个时钟周期,参考电压为3.3 V,A/D可以采集的电压幅值范围为0~3.3 V。ADC为STM32的片上资源,完全满足A/D转换的精度要求。
3 软件的设计
装置样机中的STM32检测程序用库函数编程的方式编写,库函数是由ST官方提供的建立在寄存器与用户驱动层之间的代码,向下处理与寄存器直接相关的配置,向上为用户提供配置寄存器的接口。使用库函数的方式配置STM32的寄存器,具有程序移植性好,易于阅读,开发周期短等优点。
在ADC采样程序中,为了提高CPU的利用效率,开启了STM32的片上外设DMA。DMA为CPU分担了数据转移的工作,使CPU在DMA转移数据的过程中同时进行数据运算,响应中断,提高了执行的效率。主程序流程图如图7。
图7 检测算法流程图
故障电弧检测程序:
框图7中的波形比较过程是算法的核心部分,当电路中的屏蔽负载不同时,电流时域波形所表现出的差异值也不相同。以上述3种实验负载为例,将正半周期采样时间宽度差值,波形上升率差值和正半周期电流采样幅值的差异值作为特征量,判断是否发生故障电弧。Frame1为检测判断流程,具体过程如图8。
图8 故障电弧检测判断流程
STM32系统时钟配置完成后,MCU进入正常运行模式,当过零检测电路发出高电平信号时,软件开始接收采集到的数据和定时器中断,并将采集的数据通过DMA方式送往预设内存地址。故障判断模块读取全局数据,并将每个特征值依次比较,判断是否超过阈值。若超过,故障标志位Flag加1,不符合就继续下一次判断。在进行比较时,只要满足其中任何一个特征量的预设值,故障标志位Flag加1并跳出剩下的判断条件。在每次的主循环中都会判断时间和故障标志位是否达到预设条件,若满足设定条件,则发出电弧故障报警信号,若不满足,继续下一条指令。
由图8可知,检测算法程序是通过比较两个电流波形之间的差异值来检测故障电弧是否发生,其主要特征量是电流波形正半周期时间宽度的差值是否大于阈值,波形上升率之差是否大于阈值,正半周期内的采样幅值之差是否大于阈值。
4 实验结果验证
采用C语言编程,在完成电路板焊接和软件代码移植后进行测试。判断电弧检测算法的有效性。A/D采样频率设为3 kHz,STM32在每个周期计算输出的数据结果如下。
表1 STM32的计算输出结果负载类型
△t为电流波形采样时间宽度之差;△k为电流波形的上升率之差;△value为电流波形的幅值之差。表中数据为多次采样计算后获得,每个周期的数据在表中数据的基础上略有波动。根据输出结果可以设置判断阈值△t=5,△k=0.161,△value=0.150。
表2 和对串联故障电弧的判别效果汇总负载类型
对已知负载的电弧故障检测:
进行串联电弧故障试验,实验负载分别为日光灯、吸尘器和开关电源,按照AFDD标准要求连接电路并施加额定电压,通过电弧发生器产生电弧故障。分别进行100次测试,验证电路中突然出现串联电弧故障时AFDD能否正确识别。
表3 对固定负载的电弧故障检测结果
5 结论
经实验测试验证,在模拟电弧故障试验中,当分别选用日光灯、吸尘器和开关电源为实验负载时,该基于STM32的故障电弧检测装置对电弧故障的检测具有较高的准确性,但对更多未知负载的检测需要进一步实验验证。本文的研究意义在于将软件检测算法移植到STM32平台,通过对3种屏蔽负载的实验,测试了电弧检测算法的有效性。意法半导体公司的ARM芯片STM32,带有丰富的片上外设资源,成本较低,可靠性高,可以通过编程轻松实现A/D转换,数据传输等功能,简化了硬件的设计。随着低压保护电器的不断发展,基于STM32单片机的故障电弧检测装置将会拥有广阔的应用价值和市场前景。
参考文献:
[1]GB/31143-2014[S].电弧故障保护电器(AFDD)的一般要求.
[2]施惠冬,潘东强,付 华. 电弧故障检测的分析和研究[J]. 低压电器,2013,20(4):17-20.
[3]孙 鹏,秦 猛. 采用波形比较法的串联故障电弧快速诊断技术[J].低压电器,2013(20),5-7.
[4]王盼盼,吴自然,吴桂初,等. 基于时域波形比较法的故障电弧检测算法的研究[J]. 温州大学学报(自然科学版),2016,37(4):46-53.
[5]刘晓明,徐叶飞,刘 婷. 基于电流信号短时过零率的电弧故障检测[J]. 电工技术学报,2015,30(13):125-133.
[6]赵景波,唐勇伟,张 磊. 基于改进小波变换的故障电弧检测方法的研究[J]. 电机与控制学报,2016,20(2):90-97.
[7]施惠冬,付 华,潘东强. 应用短时傅里叶变换识别串联电弧故障特征的研究[J]. 电器与能效管理技术,2014,24(6):24-29.
[8]段培永,周 夫,徐丽平. 基于HCMAC神经网络的故障电弧检测方法[J]. 低压电器,2013,20(4):17-20.
[9]王子骏,张 峰,张士文,等. 基于支持向量机的低压串联故障电弧识别方法研究[J]. 电测与仪表,2013,50(568):22-26.
[10]董爱华,吕 辉,苏 波. 低压配电箱故障电弧信号在线检测与报警系统[J]. 电测与仪表,2008,45(506):17-19.
[11]任宏斌,冷建伟. 基于STM32的交流电压检测,电子设计工程,2016,24(13):133-135.
[12]鲍洁秋. 单相串联电弧故障识别方法研究[D]. 沈阳:沈阳工业大学,2016.