基于FPGA的高精度失真度测量仪

2022-11-10 07:48莫燕斌岑立航龙妹朱柏旭戴汉桥张忠傲林桂安
电子测试 2022年18期
关键词:谐波峰值频率

莫燕斌,岑立航,龙妹,朱柏旭,戴汉桥,张忠傲,林桂安

(玉林师范学院物理与电信工程学院,广西玉林,537000)

0 引言

随着非线性电力设备的广泛应用,谐波对非线性电力设备的影响备受关注。谐波对电力设备的影响不仅使得设备的发热量剧增,同时也可导致设备的稳定性、可靠性也随之降低。因此,对谐波的测量与监测,以保障电力设备的稳定运转很有必要性。国内外研究者在这方面取得了丰硕的研究成果。文献[1]和文献[4]中分别采用DSP处理器及嵌入式处理器进行谐波的数据采集与分析,虽能获得较好的效果,但是存在测量精度不够精确且价格昂贵的问题。本文利用快速傅立叶变换,基于FPGA和STM32F429微处理器设计了一款高精度、成本较低、运算速度快的失真度测量仪,对信号的峰值、频率和失真度参数进行测量,并获得了很好的测量精度,对维护非线性电力设备有着重要意义。

1 总体设计方案

本设计主要由FPGA信号采集控制器电路、STM32F429数据处理器电路、跟随器电路、模数转换器电路、峰值转换电路、比较器电路、DDS模块电路所组成,如图1所示。本设计具有高速并行处理能力的FPGA控制器与高性能STM32F429共同配合对整个系统进行核心控制,其中模数转换电路采用WM8978模数转换模块进行对外部信号进行采集,该模块可对输入信号进行增益处理失真也较小,保证了输入信号的准确采集,电压比较器通过将电压跟随器输出的信号与地电压进行比较,得到方波信号,然后送至STM32F429数据处理器中进行频率的测量。峰值检测本质上是将输入信号的峰值转换成对应输出电压的变换电路,本系统中采用的是由NE5532运放和外部电路组成的峰值检测模块;信号通过该峰值检测后,输出信号与STM32F429的ADC端口相连进行模数转换;DDS模块采用AD9854DDS信号发生模块实现;然后再通过计算与分析,将过被测信号的各谐波分量,谐波失真,频率参数等通过液晶显示出来,是一种相对便携且精度较高的失真度测量装置。

图1 系统结构设计框图

系统利用跟随器电路将待测信号隔离,防止后级的信号处理影响到待测信号而造成最终测得数据存在较大误差。跟随器电路输出信号后,使用模数转换电路、峰值转换电路、比较器电路处理信号,FPGA控制器与STM32F429控制器进行对待测信号采集各种信息。信号信息采集完成再使用DDS模块电路进行一个信号反馈,使自动系统根据不同的输入信号进行调整,保证采集结果的准确度。

2 系统硬件设计

系统的硬件电路主要包括以下模块:FPGA信号采集控制器电路、STM32F429数据处理器电路模块、WM8978模数转换模块、峰值转换模块、AD9854DDS模块、电压比较器模块、跟随器模块、显示模块。下面将介绍模数转换、峰值转换、电压比较模块、AD9854DDS模块。

2.1 WM8978模数转换模块

在本系统中,模数转换模块的转换器件使用的是深圳普中科技有限公司生产的8位高精度串行AD芯片WM8978。该芯片可对输入信号可控增益处理,在信号过大或者过小时,可对信号进行衰减或增益。而且该芯片信噪比高达93dB,总谐波失真仅0.008%,保证了准确的对待测信号的采集。该芯片通过I2C协议进行对信号的输入、ADC采集位数、滤波等参数进行配置。在本设计中,为了减少干扰,仅配置使用该芯片的右声道的信号采集功能。WM8978模块原理图如图2所示。

图2 WM8978模块原理图

2.2 峰值转换模块

在本设计中使用到的峰值检测模块,由NE5532运放与外部电路所组成,如图3所示。峰值转换模块的工作原理是利用电容(C1)进行保持信号的峰值与二极管(D1、D2)将信号进行变换,当后续信号峰值大于前面的信号时,电路中的电容充电,后级跟随输出该峰值电压,而后,输出至STM32F429的ADC端口相连进行模数转换。

图3 信号峰值检测模块原理图

2.3 电压比较器模块

在本系统中使用的过零比较器由NE5532运放与外部电路所组成。比较器的作用是将跟随器输出的信号与对地电压(0V)进行比较,得到一个方波信号。过零比较器电路中输入信号首先经过电容C2进行隔直处理,以避免信号中有直流成分。比较器输出之后再经过隔直处理以及检波电路,防止STM32因输入负压而导致永久性的损害。最后经过跟随器电路输出以及一个低通滤波器之后,连接STM32F429的PWM端口进行信号的频率测量。电压比较器模块原理图如图4所示。

图4 电压比较器模块原理图

2.4 AD9854DDS模块

在本设计中,DDS模块采用康威科技公司的生产的12位高进度的AD9854模块,AD9854模块使用DAC将波形存储器中的转换为模拟波形,模拟波形经过滤波器后,变得平滑,在STM32F429处理器的控制下,产生特定频率的脉冲信号提供给WM8979模块用作信号采集的时钟脉冲。由于只使用到AD9854模块产生特定脉冲信号,故将其余信号输出端口舍去,优化电路结构,AD9854DDS电路图如图5所示。

图5 AD9854DDS模块原理图

3 系统软件设计

3.1 系统总体框架

本系统通过FPGA+STM32F429双核心架构,实现测试信号的测量、数据的处理、数据结果的呈现。采用FPGA处理器控制WM8978模块实现对测试信号进行128点采样,将其所包含的特征信号送入FFT IP中进行快速傅里叶变换运算,将时域转换为频域,在完成频谱显示的同时将运算结果发送到STM32F429处理器,在STM32F429处理器中完成对数据的处理以及测试信号的峰值、频率信息采集,在TFT液晶中显示结果。

3.2 FFT谐波数据接收程序设计与计算

FFT谐波数据处理流程图6所示。STM32共接收64组FPGA发送来的FFT数据,第一个点为0Hz对应点,在本设计中,记基波频率为LH,则设定的频域间隔:

图6 FFT谐波数据处理流程图

F=LH/4

不同信号由于相对应的谐波份量不同,因此在经过放大电路的时候都会产生一定量的失真。将谐波总量与基波成分之比定义为非线性失真系数,用符号D表示,即

其中U1,U2,…,Un表示基波。

n次谐波分量的计算公式:

3.3 信号峰值、频率采集程序设计与计算

通过STM32F429的ADC采集峰值电压,由于ADC的分辨率为12bit,所以最小的电压分辨率为:

在ADC采集完成之后产生ADC中断,利用ADC中断进行数据处理,将其转换为具体的电压值。

在频率采集完成的时候,系统也会产生一个中断用来计算频率信息。在上升沿时采集频率信息,频率周期为10MHz,即采样计数周期为100ms,所以采集的信号的频率为:

Freq=10000000/(number 3-number 1)

其中number1表示上一周期的上升沿,number3表示下一周期的上升沿。

4 测量结果

4.1 频率测量数据

频率测量数据如表1所示,其中信号参数频率由ATTEN ATF20BB输出,从表中可看出,当测试信号频率在100Hz-3600Hz范围内时,测得信号频率数据误差在±0.02Hz左右,数据结果较为准确。

表1 信号频率测量表

4.2 电压测量数据

电压检测如表2所示,从表中可看出,测量数据总体误差在±10mV以内,数据结果较为准确。

表2 电压测量数据表

4 0.600 0.608 0.008 1.3 5 0.800 0.805 0.005 0.625

4.3 失真度测量数据

从ATTEN ATF20BB信号发生器得到正弦波、方波和三角波的失真度测量值分别为0.014%、39.05%、11.75%,对比表3的测量数据,失真度的测量值与标准值之间的误差为±0.05%。

表3 失真度测量数据表

5 结论

本文设计了一个基于FPGA的高精度失真度测量仪,该系统经测试运行后,各参数测试模块均正常工作,且该系统相对传统的失真度测量仪,具有较高的精确度,电路结构大大简化,可靠性得到增强,成本较低,能较好的满足对信号的失真度测量的需求。

猜你喜欢
谐波峰值频率
犊牛生长发育对成年奶牛高峰奶产量和峰值日的影响
关于电力电网中产生谐波的分析探讨
对称和不对称分子谐波辐射与其结构的内在关系
处理器频率天梯
振动与频率
配电网中谐波源识别方法比较
云南省民用汽车保有量峰值预测
一类非线性离散动力系统的频率收敛性
概率与频率