






摘 要: 基于控制器STM32,設計一款以時差法測量管道流量的超聲波流量計,為了提高環境適應性和流量測量精度,時差測量采用基于BP神經網絡濾波的廣義互相關時延估計算法。該算法通過對多個具有特定統計規律的預濾波器的組合優化來對混合噪聲進行濾波,其具有自學習調整能力,能夠適應動態變化的環境。主要介紹流量測量基本原理、硬件結構以及軟件設計,最后通過多種環境下的測試和結果分析,證明了該流量計適應性強、精確度高。
關鍵詞: STM32; 神經網絡; 時差法; 廣義互相關算法
中圖分類號: TN926?34; TP311 文獻標識碼: A 文章編號: 1004?373X(2016)16?0006?04
Abstract: A ultrasonic flowmeter taking time?difference method for pipe flow measurement was designed based on the controller STM32. In order to improve the environmental suitability and flow measurement accuracy, the generalized cross?correlation time?delay estimation algorithm based on the BP neural network filtering is applied to time?difference detection. The algorithm filters the mixed noise by combining and optimizing the multiple filters with specific statistical characteristics, has self?learning and self?adjusting ability, and is able to adapt to the dynamic changing environment. The basic principles of the flow measurement, hardware structure and software design are mainly introduced in this paper. The strong adaptability and high accuracy of the flowmeter were proved through test in a variety of environment and the result analysis.
Keywords: STM32; neural network; time?difference method; generalized cross?correlation algorithm
流量的精確測量對提高人們的生活質量、企業的生產效率,對節約型社會的建立都有著非常重要的意義。超聲波流量計由于非接觸性、無壓力損失、適用性強和便于安裝維護等特點,近幾年受到人們越來越多的重視。但實際工況環境多是混合噪聲環境,流量計容易受多種噪聲和各種干擾的影響而導致測量精度降低,因此對混合噪聲的處理仍然是提高流量計精確度面臨的一個問題[1?3]。針對上述情況,將廣義互相關時延估計算法與神經網絡濾波原理結合起來,設計了一種對管道流量進行測量的超聲波流量計。其將多個具有特定統計規律的濾波器進行組合優化形成預濾波器, 用預濾波器來對現場的混合環境噪聲進行濾波,動態地調整預濾波器的相關參數,直到得到的互相關函數峰值達到最優,即得到明顯、突出的相關峰。這大大提高了時差測量的精度。該超聲波流量計因其高精度、快速性、強適應性,便于在各種場所中推廣使用。
1 時差法流量測量原理
圖1為超聲波流量計的時差法測量原理[1]。超聲換能器A,B分別安裝在管道兩外側,他們不但能發射超聲波,同時也能接收超聲波。換能器A和B之間的距離為[L]。首先由微控制器STM32發出驅動脈沖到達A和B,兩超聲波換能器使A處于發射狀態,B處于接收狀態,則超聲波由換能器A以角度[θ]發射進入管道,最終由換能器B獲得順流超聲波信號;而逆流超聲波信號的獲取,只要通過微控制器STM32切換兩換能器A和B的收發狀態即可實現。容易知道逆流超聲波傳播時間[tB]大于順流超聲波傳播時間[tA]。
假設[v]是流體流速,[c]是超聲波在靜水中的速度,超聲波的順流傳播時間和逆流傳播時間分別為:
2 神經網絡濾波原理
神經網絡預濾波器是通過神經網絡對多種模型濾波器進行優化,通過得到的互相關函數峰值的大小動態地調整預濾波器各權函數的權值[4]。圖2是神經網絡濾波原理圖。
在采樣過程中為防止因環境噪聲的干擾而導致的相關峰被噪聲峰淹沒。通常采用廣義互相關算法,即在不同環境下采用不同形式的加權函數銳化峰值,這相當于在頻域進行濾波處理,使相關函數的峰值更加尖銳。常用的加權方式有ROTH加權、SCOT權函數、PHAT加權、最大似然(ML)權函數等。但是,廣義互相關算法對噪聲等干擾的先驗信息依賴性強,而實際環境中多是特征信息未知的隨機環境噪聲且噪聲多變。針對這種情況,本文提出了用BP神經網絡對多加權方式進行網絡訓練的方法,同時運用多種加權進行時延估計。該算法先進入學習期,此時各個計算單元的狀態不變,4個權函數上的權值通過自學習不斷變化調整;進入工作期后,此時各權值是不變的,而計算單元變化,直到達到穩定狀態。這種改進的時延估計算法弱化了對環境噪聲先驗信息的依賴性,提高了對環境的適應性[5]。設[x1t]和[x2t]分別是換能器接收到的超聲波順、逆流信號,圖3是基于BP神經網絡的廣義互相關時延估計算法原理圖。
3 系統硬件設計
圖4是系統整體結構框圖,該系統由STM32控制器、超聲波信號發射和接收模塊、收發切換模塊、高速數據采集模塊和人機接口模塊等[6?9]構成。
3.1 主控制器
本設計選用的主控制器是基于CortexTM? M4為內核的STM32F405,工作頻率能夠達到168 MHz,同時STM32F405微控制器集成了單周期的DSP指令和FPU并行計算功能,運算能力被大大提高,能夠完成部分更復雜的系統控制。
3.2 功率放大電路設計
由于單片機輸出脈沖無法直接驅動超聲波換能器,設計了如圖5所示的功率放大電路,Q2和Q3組成推挽輸出,為了防止2N5551管誤導通,R1與C1組成一階低通濾波。
3.3 切換電路設計
設計中采用的超聲換能器是發射?接收一體化的,當一個發射狀態時,另一個必須處于接收狀態。對比于機械開關,模擬開關有速度快、功耗低、無機械觸點、使用壽命長和控制方便等優勢。故采用模擬開關 MAX4633 作為切換器件實現兩個換能器之間發射、接收電路的切換。如表1,圖6所示,MAX4633采用18 V雙電源供電,如果S0=1,S1=0,其內部結構COM2和NO2接通,NC4和COM4接通,COM1和NO1斷開,COM3和NC3斷開,此時換能器B接收信號,換能器A發射信號;反之如果 S0=0,S1=1,其內部結構COM2和NO2斷開,NC4和COM4斷開,COM1和NO1接通,COM3和NC3接通,此時換能器A接收信號,換能器B發射信號。
4 系統軟件設計
圖7為系統軟件設計流程圖。軟件系統首先是對各功能模塊進行初始化,包括時鐘、PWM通道、ADC通道及I/O口等設置。完成初始化后,STM32發射超聲波驅動脈沖,發射換能器在該驅動脈沖作用下發出超聲波信號;該順流信號被接收換能器接收后進行A/D轉換;再進入DMA中斷服務程序,判斷5次測量是否完畢,若未完成則繼續測量,若完成則讀取全部測量數據。隨后,對收發換能器模塊進行切換,重復上述運行過程,完成對逆流超聲波信號的采集。待順流、逆流超聲波信號都被采集后,進入定時器中斷,在定時器中斷服務程序中完成對數據的基于BP神經網絡的廣義互相關計算和峰值檢測等,最后將獲得的流速在LCD上實時顯示。
5 檢測環境及數據
為了方便測量,該超聲波流量計被設計成了M1 型外夾式,如表2所示是其相關參數指標值。由居民樓供暖管道流量測量實驗來進行流量準確度驗證。如圖8所示,該供暖管道由一條主管道和兩條分支管道組成。
圖8中,主管道直徑為65 mm,左邊的支路管道的直徑為30 mm,右邊的支路管道直徑為50 mm。通過測量主管道和兩個分支管道中的暖水流速,然后將它們與實際流速進行對比,來驗證該流量計的精度和實用性。
設計中借助于多次測量然后求取平均值的方法來避免偶然性,進而進一步提高系統精度。該設計連續5次采集管道暖水流速,除去最大流速和最小流速兩個數據后,將余下的三個測量流速值求平均作為當前流速。如表3所示。
圖9為主管道的超聲波信號數據波形。圖9中上部曲線波形是順流回波信號,下部曲線波形是逆流回波信號。另外,將逆流信號與順流信號進行比較,逆流信號有一定的延時。
6 結 語
本文在測量時差時將廣義互相關時延估計算法與BP神經網絡相結合,通過預濾波器的自學習尋優,一定程度上增強了廣義互相關算法對混合動態噪聲環境的適應性。由居民樓供暖管道流量測量數據知,該超聲波流量計測得的流速與實際暖水流速十分接近,相對誤差都小于1%,所以可以認為該流量計在精確度和實用性方面達到了設計的基本要求。
參考文獻
[1] 趙鑫,金寧德,王化祥.相關流量測量技術發展[J].化工自動化及儀表,2005,32(1):1?6.
[2] 姜勇.時差法超聲波流量計設計與研發[D].杭州:浙江大學,2006.
[3] 蘭純純.時差法超聲波流量計的研究[D].重慶:重慶大學,2006.
[4] 祖麗楠,吳秀謙.一種基于神經網絡濾波的廣義互相關時延估計方法的設計[J].化工自動化及儀表,2012,39(8):1023?1025.
[5] VOUTSAS K, ADAMY J. A biologically inspired spiking neural network for sound source lateralization [J]. IEEE transactions on neural networks, 2007, 18(6): 1795?1799.
[6] 高正中,譚沖,趙聯成,等.基于TDC?GP22高精度低功耗超聲波熱量表的設計[J].電子技術應用,2015,41(7):61?63.
[7] 張興紅,張慧,王先全,等.基于ARM的超聲波流量計A/D轉換電路設計[J].自動化與儀表,2010,25(11):18?21.
[8] 曹茂永,王霞,郁道銀.高噪聲背景下超聲信號數字處理技術研究[J].儀器儀表學報,2002,23(2):200?202.
[9] 楊震.基于超聲波時差法管道流量計積分算法及實驗研究[D].西安:西安理工大學,2006.