劉歡,沈陽,曹洪奎
(1.遼寧工業(yè)大學 電子與信息工程學院,遼寧錦州,121000;2.遼寧工業(yè)大學 理學院,遼寧錦州,121000)
總諧波失真作為信號的重要參數(shù)被廣泛應用于音頻、無線電和電力系統(tǒng)的測量和測試中。目前普遍應用的以基波抑制法為原理的THD 測量儀,由于受到基波抑制網(wǎng)絡(luò)的限制,會導致較大的測量誤差。因此,設(shè)計一種可以精確測量THD 等各項指標的低頻信號失真度測量儀具有十分重要的現(xiàn)實意義。目前,用于失真度測量的儀器種類繁多,大多數(shù)失真度計的設(shè)計方法都采用基波消去法或頻譜分析法(快速傅里葉變換法)。兩種方法都有各自的優(yōu)點,但以基波消去法為原理做成的失真度計精度不高,只能達到一般儀器的精度的5%,快速傅里葉變換雖然這種方法的準確度很高但其抗干擾能力較差,現(xiàn)場應用效果不理想。失真度測量儀用途廣泛,大量使用在在音頻和低頻設(shè)備或系統(tǒng)中,例如麥克風、音響。電力系統(tǒng)中,理想供電采用純正弦交流電,但由于諧波干擾等影響,電力系統(tǒng)也需要測試信號的失真度。失真度計除了用于上述領(lǐng)域外,在電子產(chǎn)品的生產(chǎn)和測試中也起著極其重要的作用。當今正處通信電子時代,通信電子技術(shù)飛速發(fā)展,在通信系統(tǒng)的實現(xiàn)和電子產(chǎn)品的設(shè)計過程中,應用了越來越多的先進技術(shù)。為此,對在設(shè)計、生產(chǎn)和檢測中都起著重要作用的失真度計的性能和精度要求也越來越高。
本論文采用一種基于FFT 的諧波分析方法來設(shè)計一種低頻信號失真度測量儀。研究被測電壓信號偏離正弦波的程度,完成對被測電壓信號的頻率、幅值、波形和THD 值等參數(shù)進行采集、分析和顯示等功能。編制系統(tǒng)軟件實現(xiàn)信號采集、FFT 運算、THD 計算和幅值計算等功能程序。
本文設(shè)計的低頻信號失真度測量儀,主要由主控電路、信號調(diào)理電路、頻率測量電路、OLED 顯示電路、按鍵電路和電源電路這六部分構(gòu)成。系結(jié)構(gòu)框圖如圖1 所示。
圖1 低頻信號失真度測量儀結(jié)構(gòu)框圖
系統(tǒng)以STM32 微控制器為核心,其中頻率測量電路將被測信號轉(zhuǎn)換為脈沖信號,經(jīng)STM32 微控制器處理后可得到被測信號的頻率。信號調(diào)理電路將被測信號由雙極性轉(zhuǎn)化為可由微控制器采集的單極性信號,通過STM32 微控制器自帶的12 位ADC 和DMA 完成信號的高速采集,得到的數(shù)據(jù)由STM32 微控制器進行FFT 運算并分析得到各點模值,再由頻率得到基波和各次諧波幅值。根據(jù)THD 的定義取7次諧波進行THD 運算得到被測信號的THD 值。系統(tǒng)通過OLED 顯示模塊實時顯示被測信號的THD 值、波形、頻率和峰峰值等信息。
系統(tǒng)采用ST 公司的STM32F103VET6 微控制器,該微控制器內(nèi)部包含三個獨立ADC 通道、2 個DMA 控制器、3個USART 接口、2 個I2C 接口以及多達37 個通用IO 口等等,運行頻率高達72MHz,片上資源豐富,存儲空間大,串口資源豐富。功耗很低,數(shù)據(jù)處理極快并且支持在線編程與數(shù)據(jù)仿真。
ST 公司的32 位微控制器STM32F103VET6 其內(nèi)部集成的12 位高速ADC 加DMA。STM32F103VET6微控制器內(nèi)部具有512K 的FLSAH 存儲芯片、三個獨立ADC 通道和2 個DMA,可以說,STM32 微控制器的ADC 是一個非常強大且靈活的外設(shè),它不僅有著大量的通道,同時具備良好的精度。STM32 微控制器的ADC 屬于SAR 型(逐次逼近型),在多個通道同時轉(zhuǎn)換的場合下常采用ADC+DMA 實現(xiàn)軟件編程,可以大大提高系統(tǒng)運行效率。
信號調(diào)理電路將被測信號由雙極性轉(zhuǎn)化為可由微控制器采集的單極性信號,該信號由STM32 微控制器自帶的12位高速AD 采樣,采樣得到的數(shù)據(jù)由STM32 微控制器進行FFT 運算并分析,即可得到各點模值,再由頻率得到基波和各次諧波幅值。根據(jù)THD 的定義取7 次諧波進行THD 運算得到被測信號的THD 值。
由于被測輸入信號為雙極性信號,單片機A/D 采集信號只能采集0V 以上的單極性信號,可采用求和電路實現(xiàn)雙極性向單極性的轉(zhuǎn)換,將被測輸入信號加上一個由ADR1581 提供精確的1.25 V 輸出電壓之后抬升到0V 以上供單片機采集。信號調(diào)理電路圖如圖2 所示。
圖2 信號調(diào)理電路圖
頻率測量電路的主要作用是產(chǎn)生與被測信號頻率、相位一致的脈沖信號,利用STM32 微控制器自帶的通用定時器定時捕獲該脈沖信號的上升沿,設(shè)置CNT 以1MHz 進行計數(shù),然后定時器定時捕獲該脈沖信號的下降沿,兩者相減就是被測信號的脈沖寬度,單片機經(jīng)過處理后可得到被測信號的頻率。
采用比較器芯片LM393 對被測信號進行過零比較,主要作用是產(chǎn)生與被測信號頻率、相位一致的脈沖信號。頻率測量電路圖如圖3 所示,LM358 輸出與被測信號頻率、相位一致的脈沖信號給到STM32 微控制器的PA0 引腳,由STM32 微控制器采集并處理后得到被測信號的頻率值。
圖3 頻率測量電路圖
本設(shè)計顯示屏采用0.96 寸的OLED 顯示模塊,此款顯示模塊分辨率128×64,具有自發(fā)光的特性,無需背光,只要有電流通過時,OLED 顯示屏就會發(fā)光,而且OLED 顯示屏幕可視角度大,并且功耗極低。
選用的LM2576 降壓開關(guān)穩(wěn)壓器是美國國家半導體公司生產(chǎn)的單片集成電路,主要作用就是為了給低頻信號失真度測量儀各電路中的不同的芯片提供適合的供電電壓。LM2576 芯片內(nèi)部包含52kHz 振蕩器、1.23V 基準穩(wěn)壓電路,同時輸出開關(guān)包括逐周期電流限制,以及可以在故障條件下進行全保護的熱關(guān)斷功能。
本系統(tǒng)采用了一種基于FFT 的諧波分析方法,相比于傳統(tǒng)低頻信號失真度測量儀,此方法精度更高。系統(tǒng)分兩路對信號進行頻率測量和信號采集,一路是通過比較器將被測信號轉(zhuǎn)換為脈沖信號進行頻率測量,通過定時器捕獲第一次上升沿和下降沿得到脈沖寬度,進而計算頻率;根據(jù)采樣定理,對另一路進行諧波分析,通過STM32 微控制器自帶的12 位ADC 和DMA 完成信號的高速采集,得到的數(shù)據(jù)由STM32 微控制器進行FFT 運算并分析得到各采樣點模值。通過頻率和采樣頻率得到基波和3、5、7 次諧波幅值,根據(jù)THD 的定義進行運算得到被測信號的THD 值。
信號采集程序設(shè)計是系統(tǒng)程序運行中最為關(guān)鍵的部分。通過ADC 采樣被測信號并進行FFT 運算分析。采用ADC+DMA+定時器觸發(fā)的方式,由定時器定時觸發(fā)AD轉(zhuǎn)換,通過DMA 將采集的數(shù)據(jù)會直接被存儲在用戶自定義的內(nèi)存單元中,當每次采集完1024 個點的采樣數(shù)據(jù)后,才會被再一次傳輸?shù)接脩糇远x內(nèi)存單元。信號采集分析轉(zhuǎn)換程序流程圖如圖4 所示。
圖4 信號采集分析程序流程圖
信號經(jīng)過模數(shù)轉(zhuǎn)換器之后進行FFT 運算,這里系統(tǒng)對運算數(shù)據(jù)采用倒位序輸入,正序輸出的方式,對蝶形運算單元采取順序調(diào)用方式,可以采用64 點、256 點和1024 點三種不同的FFT 運算,本設(shè)計選用的STM32VET6 內(nèi)部包含512K 的FLSAH 存儲芯片,存儲空間完全滿足要求,在不考慮耗時的情況下,采樣點越多FFT 運算越準確,所以采用1024 點。
獲取ADC 采樣結(jié)果和FFT 分析的程序代碼如下:
低頻信號失真度測量儀可以測量頻率范圍在20Hz~1kHz 不同波形的被測信號,選用1024 點FFT 運算,分辨率為10Hz,根據(jù)THD 的定義公式進行THD 運算采集7 次諧波幅值就可以得到被測信號的THD 值。系統(tǒng)測試圖如圖5 和圖6 所示。
圖5 信號參數(shù)測量圖
圖6 系統(tǒng)THD 與波形顯示測試
從不同波形的被測信號選取兩端最高最低的頻率和中間三個頻率點的THD 測量結(jié)果為比較依據(jù),列出如表1 所示。
表1 THD功能測試分析結(jié)果
如表1 所示,顯示的是使用低頻信號失真度測量儀測量的THD 值和理論計算值之間的對比,根據(jù)測試結(jié)果分析顯示,被測信號THD 值測試和理論值的誤差均小于3%,且THD 測量穩(wěn)定,符合設(shè)計要求。
根據(jù)對各功能測試結(jié)果分析,本系統(tǒng)裝置可以測量任意波形、頻率范圍在20Hz~1kHz 信號的THD 值,通過按鍵電路控制OLED 顯示電路實時顯示被測信號的頻率、峰峰值、波形和THD 值等信息,測量誤差小于3%,各部分功能均達到指標,能夠很好地實現(xiàn)顯示被測信號偏移正弦波的程度。