刘欢,沈阳,曹洪奎

(1.辽宁工业大学 电子与信息工程学院,辽宁锦州,121000;2.辽宁工业大学 理学院,辽宁锦州,121000)

0 引言

总谐波失真作为信号的重要参数被广泛应用于音频、无线电和电力系统的测量和测试中。目前普遍应用的以基波抑制法为原理的THD 测量仪,由于受到基波抑制网络的限制,会导致较大的测量误差。因此,设计一种可以精确测量THD 等各项指标的低频信号失真度测量仪具有十分重要的现实意义。目前,用于失真度测量的仪器种类繁多,大多数失真度计的设计方法都采用基波消去法或频谱分析法(快速傅里叶变换法)。两种方法都有各自的优点,但以基波消去法为原理做成的失真度计精度不高,只能达到一般仪器的精度的5%,快速傅里叶变换虽然这种方法的准确度很高但其抗干扰能力较差,现场应用效果不理想。失真度测量仪用途广泛,大量使用在在音频和低频设备或系统中,例如麦克风、音响。电力系统中,理想供电采用纯正弦交流电,但由于谐波干扰等影响,电力系统也需要测试信号的失真度。失真度计除了用于上述领域外,在电子产品的生产和测试中也起着极其重要的作用。当今正处通信电子时代,通信电子技术飞速发展,在通信系统的实现和电子产品的设计过程中,应用了越来越多的先进技术。为此,对在设计、生产和检测中都起着重要作用的失真度计的性能和精度要求也越来越高。

本论文采用一种基于FFT 的谐波分析方法来设计一种低频信号失真度测量仪。研究被测电压信号偏离正弦波的程度,完成对被测电压信号的频率、幅值、波形和THD 值等参数进行采集、分析和显示等功能。编制系统软件实现信号采集、FFT 运算、THD 计算和幅值计算等功能程序。

1 系统总体方案

本文设计的低频信号失真度测量仪,主要由主控电路、信号调理电路、频率测量电路、OLED 显示电路、按键电路和电源电路这六部分构成。系结构框图如图1 所示。

图1 低频信号失真度测量仪结构框图

系统以STM32 微控制器为核心,其中频率测量电路将被测信号转换为脉冲信号,经STM32 微控制器处理后可得到被测信号的频率。信号调理电路将被测信号由双极性转化为可由微控制器采集的单极性信号,通过STM32 微控制器自带的12 位ADC 和DMA 完成信号的高速采集,得到的数据由STM32 微控制器进行FFT 运算并分析得到各点模值,再由频率得到基波和各次谐波幅值。根据THD 的定义取7次谐波进行THD 运算得到被测信号的THD 值。系统通过OLED 显示模块实时显示被测信号的THD 值、波形、频率和峰峰值等信息。

2 系统硬件设计

■2.1 主控制器电路设计

系统采用ST 公司的STM32F103VET6 微控制器,该微控制器内部包含三个独立ADC 通道、2 个DMA 控制器、3个USART 接口、2 个I2C 接口以及多达37 个通用IO 口等等,运行频率高达72MHz,片上资源丰富,存储空间大,串口资源丰富。功耗很低,数据处理极快并且支持在线编程与数据仿真。

ST 公司的32 位微控制器STM32F103VET6 其内部集成的12 位高速ADC 加DMA。STM32F103VET6微控制器内部具有512K 的FLSAH 存储芯片、三个独立ADC 通道和2 个DMA,可以说,STM32 微控制器的ADC 是一个非常强大且灵活的外设,它不仅有着大量的通道,同时具备良好的精度。STM32 微控制器的ADC 属于SAR 型(逐次逼近型),在多个通道同时转换的场合下常采用ADC+DMA 实现软件编程,可以大大提高系统运行效率。

■2.2 信号调理电路设计

信号调理电路将被测信号由双极性转化为可由微控制器采集的单极性信号,该信号由STM32 微控制器自带的12位高速AD 采样,采样得到的数据由STM32 微控制器进行FFT 运算并分析,即可得到各点模值,再由频率得到基波和各次谐波幅值。根据THD 的定义取7 次谐波进行THD 运算得到被测信号的THD 值。

由于被测输入信号为双极性信号,单片机A/D 采集信号只能采集0V 以上的单极性信号,可采用求和电路实现双极性向单极性的转换,将被测输入信号加上一个由ADR1581 提供精确的1.25 V 输出电压之后抬升到0V 以上供单片机采集。信号调理电路图如图2 所示。

图2 信号调理电路图

■2.3 频率测量电路设计

频率测量电路的主要作用是产生与被测信号频率、相位一致的脉冲信号,利用STM32 微控制器自带的通用定时器定时捕获该脉冲信号的上升沿,设置CNT 以1MHz 进行计数,然后定时器定时捕获该脉冲信号的下降沿,两者相减就是被测信号的脉冲宽度,单片机经过处理后可得到被测信号的频率。

采用比较器芯片LM393 对被测信号进行过零比较,主要作用是产生与被测信号频率、相位一致的脉冲信号。频率测量电路图如图3 所示,LM358 输出与被测信号频率、相位一致的脉冲信号给到STM32 微控制器的PA0 引脚,由STM32 微控制器采集并处理后得到被测信号的频率值。

图3 频率测量电路图

■2.4 显示电路设计

本设计显示屏采用0.96 寸的OLED 显示模块,此款显示模块分辨率128×64,具有自发光的特性,无需背光,只要有电流通过时,OLED 显示屏就会发光,而且OLED 显示屏幕可视角度大,并且功耗极低。

■2.5 电源电路设计

选用的LM2576 降压开关稳压器是美国国家半导体公司生产的单片集成电路,主要作用就是为了给低频信号失真度测量仪各电路中的不同的芯片提供适合的供电电压。LM2576 芯片内部包含52kHz 振荡器、1.23V 基准稳压电路,同时输出开关包括逐周期电流限制,以及可以在故障条件下进行全保护的热关断功能。

3 系统软件设计

本系统采用了一种基于FFT 的谐波分析方法,相比于传统低频信号失真度测量仪,此方法精度更高。系统分两路对信号进行频率测量和信号采集,一路是通过比较器将被测信号转换为脉冲信号进行频率测量,通过定时器捕获第一次上升沿和下降沿得到脉冲宽度,进而计算频率;根据采样定理,对另一路进行谐波分析,通过STM32 微控制器自带的12 位ADC 和DMA 完成信号的高速采集,得到的数据由STM32 微控制器进行FFT 运算并分析得到各采样点模值。通过频率和采样频率得到基波和3、5、7 次谐波幅值,根据THD 的定义进行运算得到被测信号的THD 值。

信号采集程序设计是系统程序运行中最为关键的部分。通过ADC 采样被测信号并进行FFT 运算分析。采用ADC+DMA+定时器触发的方式,由定时器定时触发AD转换,通过DMA 将采集的数据会直接被存储在用户自定义的内存单元中,当每次采集完1024 个点的采样数据后,才会被再一次传输到用户自定义内存单元。信号采集分析转换程序流程图如图4 所示。

图4 信号采集分析程序流程图

信号经过模数转换器之后进行FFT 运算,这里系统对运算数据采用倒位序输入,正序输出的方式,对蝶形运算单元采取顺序调用方式,可以采用64 点、256 点和1024 点三种不同的FFT 运算,本设计选用的STM32VET6 内部包含512K 的FLSAH 存储芯片,存储空间完全满足要求,在不考虑耗时的情况下,采样点越多FFT 运算越准确,所以采用1024 点。

获取ADC 采样结果和FFT 分析的程序代码如下:

4 系统测试

低频信号失真度测量仪可以测量频率范围在20Hz~1kHz 不同波形的被测信号,选用1024 点FFT 运算,分辨率为10Hz,根据THD 的定义公式进行THD 运算采集7 次谐波幅值就可以得到被测信号的THD 值。系统测试图如图5 和图6 所示。

图5 信号参数测量图

图6 系统THD 与波形显示测试

从不同波形的被测信号选取两端最高最低的频率和中间三个频率点的THD 测量结果为比较依据,列出如表1 所示。

表1 THD功能测试分析结果

如表1 所示,显示的是使用低频信号失真度测量仪测量的THD 值和理论计算值之间的对比,根据测试结果分析显示,被测信号THD 值测试和理论值的误差均小于3%,且THD 测量稳定,符合设计要求。

5 结论

根据对各功能测试结果分析,本系统装置可以测量任意波形、频率范围在20Hz~1kHz 信号的THD 值,通过按键电路控制OLED 显示电路实时显示被测信号的频率、峰峰值、波形和THD 值等信息,测量误差小于3%,各部分功能均达到指标,能够很好地实现显示被测信号偏移正弦波的程度。