摘 要: 基于控制器STM32,設(shè)計一款以時差法測量管道流量的超聲波流量計,為了提高環(huán)境適應(yīng)性和流量測量精度,時差測量采用基于BP神經(jīng)網(wǎng)絡(luò)濾波的廣義互相關(guān)時延估計算法。該算法通過對多個具有特定統(tǒng)計規(guī)律的預(yù)濾波器的組合優(yōu)化來對混合噪聲進行濾波,其具有自學習調(diào)整能力,能夠適應(yīng)動態(tài)變化的環(huán)境。主要介紹流量測量基本原理、硬件結(jié)構(gòu)以及軟件設(shè)計,最后通過多種環(huán)境下的測試和結(jié)果分析,證明了該流量計適應(yīng)性強、精確度高。
關(guān)鍵詞: STM32; 神經(jīng)網(wǎng)絡(luò); 時差法; 廣義互相關(guān)算法
中圖分類號: 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
流量的精確測量對提高人們的生活質(zhì)量、企業(yè)的生產(chǎn)效率,對節(jié)約型社會的建立都有著非常重要的意義。超聲波流量計由于非接觸性、無壓力損失、適用性強和便于安裝維護等特點,近幾年受到人們越來越多的重視。但實際工況環(huán)境多是混合噪聲環(huán)境,流量計容易受多種噪聲和各種干擾的影響而導(dǎo)致測量精度降低,因此對混合噪聲的處理仍然是提高流量計精確度面臨的一個問題[1?3]。針對上述情況,將廣義互相關(guān)時延估計算法與神經(jīng)網(wǎng)絡(luò)濾波原理結(jié)合起來,設(shè)計了一種對管道流量進行測量的超聲波流量計。其將多個具有特定統(tǒng)計規(guī)律的濾波器進行組合優(yōu)化形成預(yù)濾波器, 用預(yù)濾波器來對現(xiàn)場的混合環(huán)境噪聲進行濾波,動態(tài)地調(diào)整預(yù)濾波器的相關(guān)參數(shù),直到得到的互相關(guān)函數(shù)峰值達到最優(yōu),即得到明顯、突出的相關(guān)峰。這大大提高了時差測量的精度。該超聲波流量計因其高精度、快速性、強適應(yīng)性,便于在各種場所中推廣使用。
1 時差法流量測量原理
圖1為超聲波流量計的時差法測量原理[1]。超聲換能器A,B分別安裝在管道兩外側(cè),他們不但能發(fā)射超聲波,同時也能接收超聲波。換能器A和B之間的距離為[L]。首先由微控制器STM32發(fā)出驅(qū)動脈沖到達A和B,兩超聲波換能器使A處于發(fā)射狀態(tài),B處于接收狀態(tài),則超聲波由換能器A以角度[θ]發(fā)射進入管道,最終由換能器B獲得順流超聲波信號;而逆流超聲波信號的獲取,只要通過微控制器STM32切換兩換能器A和B的收發(fā)狀態(tài)即可實現(xiàn)。容易知道逆流超聲波傳播時間[tB]大于順流超聲波傳播時間[tA]。
假設(shè)[v]是流體流速,[c]是超聲波在靜水中的速度,超聲波的順流傳播時間和逆流傳播時間分別為:
2 神經(jīng)網(wǎng)絡(luò)濾波原理
神經(jīng)網(wǎng)絡(luò)預(yù)濾波器是通過神經(jīng)網(wǎng)絡(luò)對多種模型濾波器進行優(yōu)化,通過得到的互相關(guān)函數(shù)峰值的大小動態(tài)地調(diào)整預(yù)濾波器各權(quán)函數(shù)的權(quán)值[4]。圖2是神經(jīng)網(wǎng)絡(luò)濾波原理圖。
在采樣過程中為防止因環(huán)境噪聲的干擾而導(dǎo)致的相關(guān)峰被噪聲峰淹沒。通常采用廣義互相關(guān)算法,即在不同環(huán)境下采用不同形式的加權(quán)函數(shù)銳化峰值,這相當于在頻域進行濾波處理,使相關(guān)函數(shù)的峰值更加尖銳。常用的加權(quán)方式有ROTH加權(quán)、SCOT權(quán)函數(shù)、PHAT加權(quán)、最大似然(ML)權(quán)函數(shù)等。但是,廣義互相關(guān)算法對噪聲等干擾的先驗信息依賴性強,而實際環(huán)境中多是特征信息未知的隨機環(huán)境噪聲且噪聲多變。針對這種情況,本文提出了用BP神經(jīng)網(wǎng)絡(luò)對多加權(quán)方式進行網(wǎng)絡(luò)訓練的方法,同時運用多種加權(quán)進行時延估計。該算法先進入學習期,此時各個計算單元的狀態(tài)不變,4個權(quán)函數(shù)上的權(quán)值通過自學習不斷變化調(diào)整;進入工作期后,此時各權(quán)值是不變的,而計算單元變化,直到達到穩(wěn)定狀態(tài)。這種改進的時延估計算法弱化了對環(huán)境噪聲先驗信息的依賴性,提高了對環(huán)境的適應(yīng)性[5]。設(shè)[x1t]和[x2t]分別是換能器接收到的超聲波順、逆流信號,圖3是基于BP神經(jīng)網(wǎng)絡(luò)的廣義互相關(guān)時延估計算法原理圖。
3 系統(tǒng)硬件設(shè)計
圖4是系統(tǒng)整體結(jié)構(gòu)框圖,該系統(tǒng)由STM32控制器、超聲波信號發(fā)射和接收模塊、收發(fā)切換模塊、高速數(shù)據(jù)采集模塊和人機接口模塊等[6?9]構(gòu)成。
3.1 主控制器
本設(shè)計選用的主控制器是基于CortexTM? M4為內(nèi)核的STM32F405,工作頻率能夠達到168 MHz,同時STM32F405微控制器集成了單周期的DSP指令和FPU并行計算功能,運算能力被大大提高,能夠完成部分更復(fù)雜的系統(tǒng)控制。
3.2 功率放大電路設(shè)計
由于單片機輸出脈沖無法直接驅(qū)動超聲波換能器,設(shè)計了如圖5所示的功率放大電路,Q2和Q3組成推挽輸出,為了防止2N5551管誤導(dǎo)通,R1與C1組成一階低通濾波。
3.3 切換電路設(shè)計
設(shè)計中采用的超聲換能器是發(fā)射?接收一體化的,當一個發(fā)射狀態(tài)時,另一個必須處于接收狀態(tài)。對比于機械開關(guān),模擬開關(guān)有速度快、功耗低、無機械觸點、使用壽命長和控制方便等優(yōu)勢。故采用模擬開關(guān) MAX4633 作為切換器件實現(xiàn)兩個換能器之間發(fā)射、接收電路的切換。如表1,圖6所示,MAX4633采用18 V雙電源供電,如果S0=1,S1=0,其內(nèi)部結(jié)構(gòu)COM2和NO2接通,NC4和COM4接通,COM1和NO1斷開,COM3和NC3斷開,此時換能器B接收信號,換能器A發(fā)射信號;反之如果 S0=0,S1=1,其內(nèi)部結(jié)構(gòu)COM2和NO2斷開,NC4和COM4斷開,COM1和NO1接通,COM3和NC3接通,此時換能器A接收信號,換能器B發(fā)射信號。
4 系統(tǒng)軟件設(shè)計
圖7為系統(tǒng)軟件設(shè)計流程圖。軟件系統(tǒng)首先是對各功能模塊進行初始化,包括時鐘、PWM通道、ADC通道及I/O口等設(shè)置。完成初始化后,STM32發(fā)射超聲波驅(qū)動脈沖,發(fā)射換能器在該驅(qū)動脈沖作用下發(fā)出超聲波信號;該順流信號被接收換能器接收后進行A/D轉(zhuǎn)換;再進入DMA中斷服務(wù)程序,判斷5次測量是否完畢,若未完成則繼續(xù)測量,若完成則讀取全部測量數(shù)據(jù)。隨后,對收發(fā)換能器模塊進行切換,重復(fù)上述運行過程,完成對逆流超聲波信號的采集。待順流、逆流超聲波信號都被采集后,進入定時器中斷,在定時器中斷服務(wù)程序中完成對數(shù)據(jù)的基于BP神經(jīng)網(wǎng)絡(luò)的廣義互相關(guān)計算和峰值檢測等,最后將獲得的流速在LCD上實時顯示。
5 檢測環(huán)境及數(shù)據(jù)
為了方便測量,該超聲波流量計被設(shè)計成了M1 型外夾式,如表2所示是其相關(guān)參數(shù)指標值。由居民樓供暖管道流量測量實驗來進行流量準確度驗證。如圖8所示,該供暖管道由一條主管道和兩條分支管道組成。
圖8中,主管道直徑為65 mm,左邊的支路管道的直徑為30 mm,右邊的支路管道直徑為50 mm。通過測量主管道和兩個分支管道中的暖水流速,然后將它們與實際流速進行對比,來驗證該流量計的精度和實用性。
設(shè)計中借助于多次測量然后求取平均值的方法來避免偶然性,進而進一步提高系統(tǒng)精度。該設(shè)計連續(xù)5次采集管道暖水流速,除去最大流速和最小流速兩個數(shù)據(jù)后,將余下的三個測量流速值求平均作為當前流速。如表3所示。
圖9為主管道的超聲波信號數(shù)據(jù)波形。圖9中上部曲線波形是順流回波信號,下部曲線波形是逆流回波信號。另外,將逆流信號與順流信號進行比較,逆流信號有一定的延時。
6 結(jié) 語
本文在測量時差時將廣義互相關(guān)時延估計算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,通過預(yù)濾波器的自學習尋優(yōu),一定程度上增強了廣義互相關(guān)算法對混合動態(tài)噪聲環(huán)境的適應(yīng)性。由居民樓供暖管道流量測量數(shù)據(jù)知,該超聲波流量計測得的流速與實際暖水流速十分接近,相對誤差都小于1%,所以可以認為該流量計在精確度和實用性方面達到了設(shè)計的基本要求。
參考文獻
[1] 趙鑫,金寧德,王化祥.相關(guān)流量測量技術(shù)發(fā)展[J].化工自動化及儀表,2005,32(1):1?6.
[2] 姜勇.時差法超聲波流量計設(shè)計與研發(fā)[D].杭州:浙江大學,2006.
[3] 蘭純純.時差法超聲波流量計的研究[D].重慶:重慶大學,2006.
[4] 祖麗楠,吳秀謙.一種基于神經(jīng)網(wǎng)絡(luò)濾波的廣義互相關(guān)時延估計方法的設(shè)計[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] 高正中,譚沖,趙聯(lián)成,等.基于TDC?GP22高精度低功耗超聲波熱量表的設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(7):61?63.
[7] 張興紅,張慧,王先全,等.基于ARM的超聲波流量計A/D轉(zhuǎn)換電路設(shè)計[J].自動化與儀表,2010,25(11):18?21.
[8] 曹茂永,王霞,郁道銀.高噪聲背景下超聲信號數(shù)字處理技術(shù)研究[J].儀器儀表學報,2002,23(2):200?202.
[9] 楊震.基于超聲波時差法管道流量計積分算法及實驗研究[D].西安:西安理工大學,2006.