熊 洁,林 琳,胡赛纯
电网扰动信号频谱分析仪设计
熊洁,林琳,胡赛纯
(湖南城市学院,湖南益阳 413000)
针对当前电网中大量电能质量信号需要进行频谱分析的问题,本文基于FFT算法,利用Atmega 128L单片机大容量flash存储器、高速数据处理能力以及AD转换器,LCD12864液晶显示屏、结合串口通信模块,设计了一款电网扰动信号频谱分析仪,进行了实际测试,结果表明该分析仪功耗低,性价比高,实用性较强,可用于电网质量实时监测时进行频谱分析。
频谱分析仪;Atmega 128L单片机;快速傅里叶变换
由于电网中大量电力电子器件等非线性负荷的使用,给基于微处理器、微计算机的自动控制设备的正常运行带来了极大危害[1[[2]。为了有效改善电网质量,就必须及时了解电网电能质量信息。对电网进行实时监测并进行频谱分析,是了解电网质量信息的一条重要途径[3]。而频谱分析仪就是一种测试电网扰动信号的重要设备。本文设计了一款频谱分析仪,该种频谱分析仪利用Atmega 128L最小系统、MAX232芯片及装有AVR Studio 4软件的PC机进行频谱分析仪系统设计。利用Atmega 128L单片机大容量flash存储器和高速数据处理能力,直接用FFT算法进行谱分析和信号的实时处理。功耗比较低,性价比比较高,可用于电网质量的实时监测以及对低于64Hz的信号进行频谱分析,具有很强的实用意义[4][5]。
这种频谱分析仪采用数字方法直接由模拟/数字转换器(ADC)对输入信号取样,再经FFT处理后获得频谱分布图。采用快速傅里叶变换使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。被测信号被分解成分立的频率分量,达到与传统频谱分析仪同样的结果[6]。
而快速傅里叶变换(FFT),是离散傅里叶变换的快速算法,它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。
在FFT运算中,旋转因子
即
求正弦和余弦数值计算量是很大的。在FFT程序开始前预先计算出,,存放在数组中,作为旋转因子表,在程序执行过程中,直接查表得到所需旋转因子值,不再计算。实际中,序列一般为实序列,即,所以该系统只对实序列进行DFT变换[7-8]。
一个电网扰动信号源,经A/D采样之后,就变成了数字信号。采样定理告诉我们,采样频率要大于信号频率的两倍。利用单片机的ADC隔一定时间采一次样,并将其存入相应数组中。然后做一个正弦表和余弦表,通过查表求出旋转因子,再进行FFT变换,得到FFT的实部与虚部,也分别存入相应数组,之后,用平方根计算出对应的模值。假设采样频率为Fs,采样点数为N,做FFT之后,某一点n(n从1开始)表示的频率为:;该点的模值除以N/2就是对应该频率下的信号的幅度,对于直流信号是除以N。最后通过LCD12864显示和MAX232串口发送给PC机进行分析。该设计的总体框图如图1所示,系统整体电路由主控制电路、信号调理、A/D转换、SRAM存储器、串口通信电路、LCD12864显示电路和电源电路等几大块组成。
图1 系统总体框图
3.1 主控制电路的设计
主控制电路由芯片Atmega 128L、复位电路、时钟晶振电路等组成。主控制电路如图2所示。
图2 主控制电路
3.2 串口通信电路的设计
串口通信电路,用于单片机与计算机通信,如图3所示。
3.3 LCD12864显示电路的设计
LCD12864液晶屏,由128*64点组成。设计时,采用128点作为横坐标,64点作为纵坐标,且1点代表1Hz。当进行DFT分析后,将分析结果幅度通过划线显示于液晶屏。如图4所示。
图3 MAX232串口通信电路
图4 LCD12864显示电路
3.4 电源电路的设计
电源模块采用线性电源,采用常用美国国家半导体公司生产的集成三端稳压器。LM7805是正5V电源输出的线性直流稳压电源。在设计时使用了大电容滤波,纹波系数小,性能优良可靠,完全满足系统的要求。电源模块电路如图5所示。
图5 5V直流稳压电源
图6 DIT–FFT运算程序框图
5.1 输入直流信号测试
输入5.0V直流信号,液晶屏上显示,如图7所示。可以看到零频率点幅值最大,其他频率点振幅几乎为零。说明DFT变换是正确的。
图7 直流信号频谱图
为了能够定量分析幅度谱,通过单片机的串口将128点采样数据和频谱的幅度发送给计算机,再通过串口调试助手显示出来,如图8所示,该图中,“START”表示采样开始,“END”表示采样结束。128个坐标表示完成频谱分析计算的结果。
图8 输入直流信号128点频谱分析数据
对于AD采样,可以看到128个十六进制0XFF(相当于十进制255),将其换算成实际值,,与输入5V直流接近,则采样结果正确。对于坐标数据,可以看到只有零频率点幅值最大,其余频率点的幅值相对于零频可以忽略,说明输入信号只有直流成分。零频点幅值为0X01F0(相当于十进制496),则实际值为,由于编程时考虑单片机不适合做浮点运算,所以全部计算均采用定点,并且单片机使用的AD转换器精度不足8位,这些都会造成精度损失。因此,实际计算值3.875V与输入信号5V相比较,可以认为结果是正确的,即验证了DFT算法的正确性。
5.2 输入方波信号测试
由信号源输入峰峰值9.0V、频率10Hz方波信号,通过液晶屏显示其幅度谱,如图9所示。
图9 方波信号频谱图
可以看到幅度谱约以64Hz对称分布,因此,只要分析正频率部分(0~64之间)即可。0Hz值时有幅度,则该信号有直流分量;如果将0~64幅度值用光滑的曲线连接起来,可以看到其包络接近于,与周期方波幅度谱接近,说明FFT变换是正确的。
通过单片机的串口将128点采样数据以及和频谱幅度发送给计算机,同样可以通过串口调试助手显示出来。
对于AD采样结果,由于只能对0~5V进行转换,所以输入方波的负电压则转换为0,这就是上述结论出现直流分量的原因。根据采样值可知,该信号为方波,且峰峰值为4.6V,与实际值4.5V接近,则采样结果正确。
综合以上分析可知,由于采用定点计算、AD转换精度不足7位,造成精度损失,引起的误差是可以接受的,证明了该假设矩形脉冲函数的拟合是成立的;通过交直流信号的幅度谱分析,根据绝对误差的值,在精度要求不是很高的情况下,用该系统分析信号的幅度谱是可行的。
表1 数据分析
针对现有电网电能质量问题,以Atmega 128L芯片为控制核心,采用FFT算法。设计了一款电网扰动信号频谱分析仪,进行了实际检测,达到了较好的效果。该频谱分析仪信号处理及时。功耗较低,性价比较高,能较好的运用于电网电能质量检测时扰动信号的频谱分析。由于在实际设计与制作中较为粗糙,所测结果与实际值存在一些误差,这将是下一步要重点解决的问题。
[1]李加升,戴瑜兴,黄文清.电能质量扰动及其在线监测装置的设计[J]. 电力系统保护与控制,2008,36(18):69-72
[2]高西全,丁玉美.数字信号处理(第三版)[M].西安:西安电子科技大学出版社,2008,8.
[3]刘泉,江雪梅.信号与系统[M].北京:高等教育出版社,2006,2.
[4]郭刚,李钊,李建军,等.基于Atmega 64L的128点实时FFT[J].无线电工程,2011,3:53-55.
[5]武晓春.实序列的FFT算法及应用[J].自动化与仪器仪表,2010,5:81-82.
[6]陈东云. Atmega128单片机原理与开发指导[M].北京:机械工业出版社,2006.
[7]李加升,黄文清,戴瑜兴.基于自定义阈值函数的小波去噪算法[J].电力系统保护与控制,2008,36(19):21-24
[8]张志涌,杨祖樱,等.MATLAB R2010a教程[M].北京:北京航天航空大学出版社,2010,8.
Design of the disturbance signal spectrum analyzer
(Hunan City University, Yiyang Hunan 413000)
In view of the current power grid requires a lot of power quality signal spectrum analysis of the problems, this article is based on FFT algorithm, using the large capacity flash memory Atmega 128 l MCU, high-speed data processing ability and AD converter, LCD12864 LCD display, serial communication module, designed a grid disturbance signal spectrum analyzer, the results show that the analyzer, low power consumption, can be used in the power grid quality real time monitoring for frequency spectrum analysis.
spectrum analyzer; Atmega 128L single-chip microcomputer; FFT
(责任编辑:廖建勇)
TM935.21
A
10.3969/j.issn.1672-7304.2016.06.018
1672–7304(2016)06–0040–04
熊洁(1979-),男,湖南益阳人,讲师,研究方向:电路与系统。