基于LPC1114的加窗差值FFT算法的谐波检测设计 下载本文

内容发布更新时间 : 2024/6/17 14:10:13星期一 下面是文章的全部内容请认真阅读。

龙源期刊网 http://www.qikan.com.cn

基于LPC1114的加窗差值FFT算法的谐波检测设计

作者:杜力 吕海英

来源:《电脑知识与技术》2013年第05期

摘要:该文设计了基于LPC1114的谐波检测系统。利用芯片内置的A/D转换器对电压和电流信号进行高精度采样,根据加窗插值FFT算法对采样的数据进行分析,得到电压和电流信号的基波相位差以及各次谐波的幅值和频率。实验结果表明,本设计具有硬件实现简单、检测精度高等优点。

关键词:加窗差值;FFT;谐波分析

中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2013)05-1163-03 电能像普通的商品一样也存在质量的问题,称之为电能质量[1]。在电力系统发展的早期,由于供电能力有限,人们更多关注的是供电量。随着社会的发展和人类的进步,各种高精度的仪器设备被广泛的应用于社会的各大领域,人们对电能质量的要求越来越高。随着电网规模日趋庞大,所加载的负荷日益繁杂,尤其是电力电子技术等非线性负荷和各种冲击性负荷,使得电网中出现诸如电压波动、频率偏差、波形畸变、电压闪变、三相不平衡等电能质量问题。严重的电能质量问题将对电气设备的正常工作、电气测量仪器的准确计量、电力线路附近通讯设备的正常通讯等造成重大的影响。其中,谐波是电能质量问题中的重要参数之一。 本文以NXP的芯片LPC1114为核心对谐波检测进行研究。经过简单的硬件电路,利用芯片内置的A/D转换器对电网中的电压和电流进行高精度的采样,采用快速、高精度的算法对采样数据进行处理,实现对谐波的实时检测。 1 谐波检测总体方案设计

根据国家规定的电能质量相关标准,对谐波检测系统进行了设计、开发,系统框图如图1所示。通过电压互感器和电流互感器,将电网中大电压和大电流变成小信号,经过调理电路将信号变成芯片可以采集的0~3.3V的电压和电流信号。对调理后的信号进行采样,利用加窗插值快速傅里叶算法(FFT)[2]对信号进行分析,得到基波电流和基波电压的相位差以及电压和电流各次谐波的幅值和频率。 图1 系统框图 2 硬件设计

2.1 LPC1114的简单介绍

龙源期刊网 http://www.qikan.com.cn

LPC1114是基于ARM Cortex-M0的微处理器,可用于高集成度和低功耗的嵌入式应用。ARM Cortex-M0是第二代内核,它提供了一个简单的指令集,可以实现确定性行为。ARM Cortex-M0的工作频率高达50MHz,内置有嵌套向量中断控制器(NVIC)。LPC1114具有32kB的Flash、8kB的数据存储器。可以通过片内Bootloader软件来实现在系统中编程(ISP)和在应用中编程(LAP)。UART可产生小数波特率,带有内部FIFO,支持RS-485/EIA-485,具有moderm控制。有两个SSP控制器,具有FIFO和多协议功能。I2C总线接口支持全部I2C总线规范和Fast-mode Plus 模式,数据速率高达1Mbit/s,具有多地址识别和监控模式。多达42个通用I/O(GPIO)引脚,上拉/下拉电阻可配置。引脚具有20mA的高电流驱动能力,2个I2C总线引脚在Fast-mode Plus 模式下具有20mA的高电流汲入能力,4个通用定时器/计数器,共有4个捕获输入和13个比较输出,拥有看门狗定时器(WDT)和系统节拍定时器。集成的PMU(Power Management Unit)在睡眠、深度睡眠和深度掉电模式下自动调节内部稳压器,将功耗降至最低。10位ADC,在8个引脚之间实现输入多路复用,GPIO引脚可以用作边沿和电平触发的中断源,带分频器的时钟输出功能可以反映主振荡器时钟、IRC时钟、CPU时钟或看门狗时钟。处理器通过一个高达13个功能引脚的专用起始逻辑从深度睡眠模式中唤醒,掉电检测有4个中断阈值和1个强制复位阈值,晶体振荡器的工作范围为1MHz~25MHz ,12MHz内部RC振荡器可调节到1%的精度,可以选择用作一个系统时钟。PLL允许CPU无需使用高频晶体而工作在最大CPU速率下,时钟可以由主振荡器内部RC振荡器或看门狗振荡器提供。 2.2 电压和电流互感器

本文中使用的电压互感器型号为TV1013-1M(2mA/2mA),电流互感器型号为TA0913-1M(5A/2.5mA)。电压互感器在使用的时候需要在一次侧串联一个合适的电阻,将电网的电压变成2mA左右的电流信号,以满足电压互感器的参数要求。在使用电流互感器前,应将电网中的大电流变成5A左右的电流,以满足电流互感器的参数要求。 2.3 信号调理电路

经过互感器后的电压和电流信号是一个正弦波信号,其幅值有正有负。LPC1114只能采到正半周的幅值,对于负半周芯片采样值为零。为了能够实现对信号完整的采样,以电压信号调理电路为例,设计出了图2所示的信号调理电路。

以检测线电压为例,电网的线电压有效值是380V,在一次侧串联200K?左右的电阻,将电压变成2mA左右的电流信号,在互感器的二次侧将得到一个幅值大小相同的电流信号。互感器二次侧得到的电流信号经过一个采样电阻将其变为1~1.5V的电压。采样电阻必须选用电流采样专用的电阻,要求精度高、温漂小。该调理电路中主要的元器件是LM358,LM358是一块集成了两个运算放大器的芯片。其中一个运放构成直流调理电路,给电压信号提供可靠地直流偏置,另外一个运放起到消除信号中共模干扰的作用,以提高系统工作的可靠性。经过该调理电路后,将得到直流偏置约1伏的正弦波信号,其幅值将在0~3.3V之间变化,满足芯片的采样要求。

龙源期刊网 http://www.qikan.com.cn

图2 电压信号调理电路 2.4 信号采样

使用LPC1114自带的A/D转换器对信号进行采样。LPC1114自带了10位逐次逼近式模数转换器,在8个管脚间实现输入多路复用,10位转换时间大于等于2.44us,测量范围为0~3.3V。当信号的幅值为负时芯片采到的值为0V,信号的幅值超过3.3V时,芯片采到的值为3.3V。 3 软件设计 3.1 改进的FFT

软件设计采用Keil uVision V4.20为开发平台,使用C语言进行开发。FFT是现在检测谐波及分析电能质量最常用的算法,是离散傅里叶算法(DFT)的改进。传统的DFT算法计算量大、处理速度慢,不利于实际的应用,FFT极大地提高了数据的处理速度。但是FFT仍然存在频谱泄露和栅栏效应的问题,其中频谱泄露和栅栏效应又可分别称之为长范围泄露和短范围泄露。频谱的泄露主要是由于信号的截断取样造成的,而栅栏效应是由于采样的频率与信号的实际频率不一致所造成的。如果不对FFT算法进行改进,则检测的结果将出现比较大的偏差。

在本文中采用的是加窗插值FFT算法[3-5],加窗是为了克服频谱泄露的影响,插值是为了尽可能的减小栅栏效应。其数据流图如图3所示。首先对A/D采样的数据进行加窗处理,然后对处理后的数据进行FFT变换,最后将得到的数据运用插值算法进行迭代修正,得到电压和电流的基波及各次谐波的幅值和频率以及基波电压和基波电流的相位差。 图3 加窗插值FFT算法数据流图 3.2 软件的整体设计

软件的设计分为三个模块:数据采样模块、加窗插值FFT算法模块、电能参数计算模块。其中加窗插值FFT算法模块是最重要的部分,整体的程序流程如图4所示。 图4 程序整体流程 4 结果分析

为了便于进行结果分析,在这里只对电压信号的基波及各次谐波的幅值和频率进行对比研究。通过信号发生器,输出了基波及2~16次谐波幅值和频率的信号,具体检测结果如表1所示。