莫燕斌,岑立航,龍妹,朱柏旭,戴漢橋,張忠傲,林桂安
(玉林師范學院物理與電信工程學院,廣西玉林,537000)
隨著非線性電力設備的廣泛應用,諧波對非線性電力設備的影響備受關注。諧波對電力設備的影響不僅使得設備的發熱量劇增,同時也可導致設備的穩定性、可靠性也隨之降低。因此,對諧波的測量與監測,以保障電力設備的穩定運轉很有必要性。國內外研究者在這方面取得了豐碩的研究成果。文獻[1]和文獻[4]中分別采用DSP處理器及嵌入式處理器進行諧波的數據采集與分析,雖能獲得較好的效果,但是存在測量精度不夠精確且價格昂貴的問題。本文利用快速傅立葉變換,基于FPGA和STM32F429微處理器設計了一款高精度、成本較低、運算速度快的失真度測量儀,對信號的峰值、頻率和失真度參數進行測量,并獲得了很好的測量精度,對維護非線性電力設備有著重要意義。
本設計主要由FPGA信號采集控制器電路、STM32F429數據處理器電路、跟隨器電路、模數轉換器電路、峰值轉換電路、比較器電路、DDS模塊電路所組成,如圖1所示。本設計具有高速并行處理能力的FPGA控制器與高性能STM32F429共同配合對整個系統進行核心控制,其中模數轉換電路采用WM8978模數轉換模塊進行對外部信號進行采集,該模塊可對輸入信號進行增益處理失真也較小,保證了輸入信號的準確采集,電壓比較器通過將電壓跟隨器輸出的信號與地電壓進行比較,得到方波信號,然后送至STM32F429數據處理器中進行頻率的測量。峰值檢測本質上是將輸入信號的峰值轉換成對應輸出電壓的變換電路,本系統中采用的是由NE5532運放和外部電路組成的峰值檢測模塊;信號通過該峰值檢測后,輸出信號與STM32F429的ADC端口相連進行模數轉換;DDS模塊采用AD9854DDS信號發生模塊實現;然后再通過計算與分析,將過被測信號的各諧波分量,諧波失真,頻率參數等通過液晶顯示出來,是一種相對便攜且精度較高的失真度測量裝置。

圖1 系統結構設計框圖
系統利用跟隨器電路將待測信號隔離,防止后級的信號處理影響到待測信號而造成最終測得數據存在較大誤差。跟隨器電路輸出信號后,使用模數轉換電路、峰值轉換電路、比較器電路處理信號,FPGA控制器與STM32F429控制器進行對待測信號采集各種信息。信號信息采集完成再使用DDS模塊電路進行一個信號反饋,使自動系統根據不同的輸入信號進行調整,保證采集結果的準確度。
系統的硬件電路主要包括以下模塊:FPGA信號采集控制器電路、STM32F429數據處理器電路模塊、WM8978模數轉換模塊、峰值轉換模塊、AD9854DDS模塊、電壓比較器模塊、跟隨器模塊、顯示模塊。下面將介紹模數轉換、峰值轉換、電壓比較模塊、AD9854DDS模塊。
在本系統中,模數轉換模塊的轉換器件使用的是深圳普中科技有限公司生產的8位高精度串行AD芯片WM8978。該芯片可對輸入信號可控增益處理,在信號過大或者過小時,可對信號進行衰減或增益。而且該芯片信噪比高達93dB,總諧波失真僅0.008%,保證了準確的對待測信號的采集。該芯片通過I2C協議進行對信號的輸入、ADC采集位數、濾波等參數進行配置。在本設計中,為了減少干擾,僅配置使用該芯片的右聲道的信號采集功能。WM8978模塊原理圖如圖2所示。

圖2 WM8978模塊原理圖
在本設計中使用到的峰值檢測模塊,由NE5532運放與外部電路所組成,如圖3所示。峰值轉換模塊的工作原理是利用電容(C1)進行保持信號的峰值與二極管(D1、D2)將信號進行變換,當后續信號峰值大于前面的信號時,電路中的電容充電,后級跟隨輸出該峰值電壓,而后,輸出至STM32F429的ADC端口相連進行模數轉換。

圖3 信號峰值檢測模塊原理圖
在本系統中使用的過零比較器由NE5532運放與外部電路所組成。比較器的作用是將跟隨器輸出的信號與對地電壓(0V)進行比較,得到一個方波信號。過零比較器電路中輸入信號首先經過電容C2進行隔直處理,以避免信號中有直流成分。比較器輸出之后再經過隔直處理以及檢波電路,防止STM32因輸入負壓而導致永久性的損害。最后經過跟隨器電路輸出以及一個低通濾波器之后,連接STM32F429的PWM端口進行信號的頻率測量。電壓比較器模塊原理圖如圖4所示。

圖4 電壓比較器模塊原理圖
在本設計中,DDS模塊采用康威科技公司的生產的12位高進度的AD9854模塊,AD9854模塊使用DAC將波形存儲器中的轉換為模擬波形,模擬波形經過濾波器后,變得平滑,在STM32F429處理器的控制下,產生特定頻率的脈沖信號提供給WM8979模塊用作信號采集的時鐘脈沖。由于只使用到AD9854模塊產生特定脈沖信號,故將其余信號輸出端口舍去,優化電路結構,AD9854DDS電路圖如圖5所示。

圖5 AD9854DDS模塊原理圖
本系統通過FPGA+STM32F429雙核心架構,實現測試信號的測量、數據的處理、數據結果的呈現。采用FPGA處理器控制WM8978模塊實現對測試信號進行128點采樣,將其所包含的特征信號送入FFT IP中進行快速傅里葉變換運算,將時域轉換為頻域,在完成頻譜顯示的同時將運算結果發送到STM32F429處理器,在STM32F429處理器中完成對數據的處理以及測試信號的峰值、頻率信息采集,在TFT液晶中顯示結果。
FFT諧波數據處理流程圖6所示。STM32共接收64組FPGA發送來的FFT數據,第一個點為0Hz對應點,在本設計中,記基波頻率為LH,則設定的頻域間隔:

圖6 FFT諧波數據處理流程圖
F=LH/4
不同信號由于相對應的諧波份量不同,因此在經過放大電路的時候都會產生一定量的失真。將諧波總量與基波成分之比定義為非線性失真系數,用符號D表示,即

其中U1,U2,…,Un表示基波。
n次諧波分量的計算公式:

通過STM32F429的ADC采集峰值電壓,由于ADC的分辨率為12bit,所以最小的電壓分辨率為:

在ADC采集完成之后產生ADC中斷,利用ADC中斷進行數據處理,將其轉換為具體的電壓值。
在頻率采集完成的時候,系統也會產生一個中斷用來計算頻率信息。在上升沿時采集頻率信息,頻率周期為10MHz,即采樣計數周期為100ms,所以采集的信號的頻率為:
Freq=10000000/(number 3-number 1)
其中number1表示上一周期的上升沿,number3表示下一周期的上升沿。
頻率測量數據如表1所示,其中信號參數頻率由ATTEN ATF20BB輸出,從表中可看出,當測試信號頻率在100Hz-3600Hz范圍內時,測得信號頻率數據誤差在±0.02Hz左右,數據結果較為準確。

表1 信號頻率測量表
電壓檢測如表2所示,從表中可看出,測量數據總體誤差在±10mV以內,數據結果較為準確。

表2 電壓測量數據表

4 0.600 0.608 0.008 1.3 5 0.800 0.805 0.005 0.625
從ATTEN ATF20BB信號發生器得到正弦波、方波和三角波的失真度測量值分別為0.014%、39.05%、11.75%,對比表3的測量數據,失真度的測量值與標準值之間的誤差為±0.05%。

表3 失真度測量數據表
本文設計了一個基于FPGA的高精度失真度測量儀,該系統經測試運行后,各參數測試模塊均正常工作,且該系統相對傳統的失真度測量儀,具有較高的精確度,電路結構大大簡化,可靠性得到增強,成本較低,能較好的滿足對信號的失真度測量的需求。