楊陽陽,崔永俊,侯鈺龍
(中北大學(xué)儀器與電子學(xué)院,儀器科學(xué)與動態(tài)測試教育部重點實驗室,電子測試技術(shù)國防科技重點實驗室,山西太原 030051)
隨著我國橋梁建造技術(shù)的快速發(fā)展,高橋墩,跨度大的懸索橋越來越多。尤其是在偏遠(yuǎn)山區(qū)和海灣地區(qū),由于地理環(huán)境的因素,橋址所在區(qū)域風(fēng)速風(fēng)向無法預(yù)知,風(fēng)對橋梁的影響非常大[1]。雖然懸索橋都是經(jīng)過科學(xué)的計算和仿真之后才建成的,但是風(fēng)的變化有時候無法預(yù)知。因此,對懸索橋的風(fēng)速風(fēng)向監(jiān)測是很有必要的。目前市場上的風(fēng)速風(fēng)向儀能夠有效地測量出風(fēng)速和風(fēng)向。但是存在測量精度低、誤差大的問題,尤其是對山區(qū)和海灣區(qū)域所在的懸索橋,普通的風(fēng)速風(fēng)向儀不能及時準(zhǔn)確測量研判,導(dǎo)致安全事故發(fā)生。因此,設(shè)計一款基于超聲波換能器和高精度時間測量芯片MS1022的風(fēng)速風(fēng)向測量系統(tǒng),獲得高精度的風(fēng)速風(fēng)向數(shù)據(jù),對懸索橋的安全性和行車安全及時準(zhǔn)確研判具有重大意義。
超聲波測風(fēng)速風(fēng)向的基本原理是時差法。4個超聲波換能器二維正交分布,STM32控制切換收發(fā)模式,可分別獲得超聲波換能器在順風(fēng)和逆風(fēng)狀態(tài)下的接收情況。在順風(fēng)情況下,超聲波速度與風(fēng)速疊加,導(dǎo)致傳播速率加快。在逆風(fēng)情況下,超聲波速度與風(fēng)速相抵,導(dǎo)致傳播速率的減緩[2]。固定相對2個超聲波換能器之間的距離L,根據(jù)超聲波在順風(fēng)和逆風(fēng)狀態(tài)下傳播速率的不同,可知順風(fēng)和逆風(fēng)傳播時間不同[3]。測量原理示意圖如圖1所示。其中,v表示風(fēng)速,c表示聲速。
超聲波在順風(fēng)中傳播速度為c+v,逆風(fēng)中傳播速度c-v,得到順風(fēng)中傳播時間:
(1)
和逆風(fēng)中傳播時間:
(2)
由此可得在東西方向的風(fēng)速為
(3)
同理可得南北方向的風(fēng)速為
(4)
式中:tsn為從南到北測量的時間;tns為從北到南測量的時間。
因此,可得風(fēng)速為
(5)
風(fēng)向為:
(6)
超聲波風(fēng)速風(fēng)向系統(tǒng)主要包含微控制器最小系統(tǒng)、收發(fā)一體式超聲波換能器及其驅(qū)動電路、高精度時間測量模塊、LoRa無線收發(fā)模塊、電源供電模塊以及上位機(jī)。信號發(fā)射端超聲波換能器發(fā)送脈沖,信號接收端超聲波換能器接收回波信號,利用MS1022測量中間的飛行時間。反推計算出風(fēng)速和風(fēng)向,將數(shù)據(jù)通過LoRa無線收發(fā)模塊發(fā)送給上位機(jī),在上位機(jī)上實時顯示,系統(tǒng)框圖如圖2所示。
圖2 系統(tǒng)框圖
超聲波換能器接收的回波信號是一個高頻的mV級弱信號,為了準(zhǔn)確測量,需要對超聲波換能器的回波信號進(jìn)行濾波、放大等信號調(diào)理,經(jīng)過調(diào)整后的回波信號作為輸入信號傳輸?shù)組S1022高精度時間測量模塊進(jìn)行時間差的精確測量。系統(tǒng)濾除雜波可以選用低成本、高速度、軌到軌運算放大器芯片AD8052,芯片內(nèi)部由2個獨立的運算放大器組成,外接相應(yīng)的電阻電容組成負(fù)反饋二階帶通濾波器[4]。負(fù)反饋二階帶通濾波器如圖3所示。
圖3 負(fù)反饋二階帶通濾波器
濾波結(jié)束用AD8310進(jìn)行對數(shù)放大,AD8310具有很高的增益和帶寬。在很寬的頻率范圍內(nèi),對輸入的信號很敏感,AD8310的信號輸入方式通常是單端輸入。INLO與地面串聯(lián)電容,輸入信號通過與INHI串聯(lián)的另一個電容耦合進(jìn)來。與INLO和INHI串連的2個電容應(yīng)具有相同的值,以減少啟動瞬變。放大電路如圖4所示。
圖4 放大電路
高精度時間測量電路由MS1022高精度時間數(shù)字轉(zhuǎn)換芯片及其外圍電路組成,可以計算出超聲波在空氣中的飛行時間。系統(tǒng)中使用2片MS1022芯片,一片測量東西方向,一片測量南北方向,2對超聲波換能器垂直正交。風(fēng)速風(fēng)向測量裝置相對的2個換能器之間的距離很短,所以超聲波從發(fā)送到接收的時間很短,MS1022是一款高精度的時間測量芯片,測量精度能夠達(dá)到19 ps。單片機(jī)控制1個MS1022產(chǎn)生2 MHz的脈沖信號通過FIRE_UP和FIRE_DOWN分別驅(qū)動相對的2個225 kHz的超聲波換能器。32.768 kHz的石英晶體連接在CIN和COUT引腳上作基準(zhǔn)時鐘,4 MHz的陶瓷晶振連接在XIN和XOUT引腳上作校準(zhǔn)時鐘,使計時更加精準(zhǔn)。MS1022通過SPI總線與STM32進(jìn)行通信。每個MS1022高精度時鐘芯片與STM32共有7根線相連,4根用作SPI的數(shù)據(jù)通訊,INTN用來控制中斷的開啟與關(guān)閉,可以讀取狀態(tài)寄存器的數(shù)據(jù)用來判斷數(shù)據(jù)是否溢出。單片機(jī)產(chǎn)生Start信號控制FIRE_UP和FIRE_DOWN驅(qū)動超聲波換能器。RSTN控制測量芯片的復(fù)位[5-8]。高精度時間測量電路如圖5所示。
圖5 高精度時間測量電路
LoRa無線傳輸技術(shù)是基于SX1278擴(kuò)頻芯片的遠(yuǎn)距離無線傳輸技術(shù),具有遠(yuǎn)距離、低功耗特點,屬于LPWAN通信技術(shù)。LoRa無線傳輸技術(shù)有透明傳輸、定向傳輸和廣播與數(shù)據(jù)監(jiān)聽等傳輸方式。對于橋梁上的風(fēng)速風(fēng)向數(shù)據(jù)傳輸,選擇點對點的透明傳輸方式,快速準(zhǔn)確、高效地將數(shù)據(jù)傳輸?shù)缴衔粰C(jī),實現(xiàn)遠(yuǎn)程實時監(jiān)控[9]。
穩(wěn)定的電源是系統(tǒng)高效運行的關(guān)鍵,系統(tǒng)中有3種不同的電源類型,超聲波換能器使用的是12 V電源供電,MS1022高精度時間測量單元和LoRa無線傳輸單元使用5 V供電,STM32單片機(jī)使用3.3 V供電。系統(tǒng)外接220 V交流電經(jīng)過反激式開關(guān)電源轉(zhuǎn)成12 V/1 A的直流電源,12 V電源經(jīng)過MP1584芯片(BUCK電路)轉(zhuǎn)成5 V/1 A的直流電源,5 V電源經(jīng)過HT7333芯片(LDO電路)轉(zhuǎn)成3.3 V/500 mA的電源,滿足整個系統(tǒng)的電源需要。
系統(tǒng)的軟件設(shè)計主要實現(xiàn)STM32對MS1022芯片的控制,并將MS1022測得的數(shù)據(jù)通過LoRa無線模塊傳輸給上位機(jī)進(jìn)行處理顯示。系統(tǒng)軟件主流程圖如圖6所示。
圖6 系統(tǒng)軟件主流程圖
系統(tǒng)上電之后,開始配置寄存器,單片機(jī)發(fā)送0x50,開始進(jìn)行時鐘的校準(zhǔn),校準(zhǔn)完成之后開始測量,單片機(jī)發(fā)送0x03觸發(fā)MS1022產(chǎn)生脈沖信號,控制超聲波換能器開始工作。開啟中斷模式,利用MS1022第一檢波功能,EN_START端口使能Start信號,當(dāng)接收到Start信號時開始計時,當(dāng)接收到Stop信號時,完成一次時間間隔的測量。INTN被拉低,STM32根據(jù)INTN端口的數(shù)據(jù)變化發(fā)送0xB4讀取MS1022狀態(tài)。進(jìn)而可以判斷數(shù)據(jù)是否溢出。判斷沒有溢出,STM32發(fā)送0xB3指令直接讀取時間間隔數(shù)據(jù)并存儲到寄存器。至此,一次測量完成。循環(huán)測量時間間隔,利用滑動窗口濾波算法對數(shù)據(jù)進(jìn)行處理,獲得更加精確的有效時間[10-12]。采集完時間之后根據(jù)章節(jié)1.1的原理公式反推出風(fēng)速風(fēng)向的數(shù)據(jù)信息。時間測量程序設(shè)計流程圖如圖7所示。
圖7 時間測量程序設(shè)計流程圖
為了獲得更高精度的時間差值,只有硬件的濾波是不行的,還需要通過軟件濾波算法。超聲波采集的時間非???,滑動窗口濾波善于對變化快的信號進(jìn)行濾波?;瑒哟翱趯挾鹊拇笮∮绊憺V波算法對系統(tǒng)的適用性。窗口過小,會丟失有效數(shù)據(jù),窗口過大,增加了無效數(shù)據(jù)對測量的影響。經(jīng)系統(tǒng)測試驗證,設(shè)置滑動窗口寬度為6,能達(dá)到最佳濾波效果。將MS1022讀取的時間差利用冒泡排序法從小到大排序,刪除多余的無效值。將采集到的6個數(shù)據(jù)取平均值,將平均值作為測量的最佳估計值。在計算下一次最佳估計值之前,將新測量的數(shù)據(jù)放入最左邊,并將最右邊的舊數(shù)據(jù)丟棄[13]。遵循“先進(jìn)先出”原則,數(shù)據(jù)從左向右依次遞推,相當(dāng)于滑動窗口的操作。再取算數(shù)平均運算,獲得新的濾波結(jié)果。滑動窗口濾波算法示意圖如圖8所示。
圖8 滑動窗口濾波算法示意圖
為了在電腦上顯示獲取的數(shù)據(jù),利用LabVIEW進(jìn)行上位機(jī)程序設(shè)計,利用VISA函數(shù)編寫I/O接口程序,把單片機(jī)采集的數(shù)據(jù)與電腦通過LoRa無線傳輸連接起來。設(shè)置基本的交互界面,實時顯示風(fēng)速風(fēng)向。將風(fēng)速風(fēng)向數(shù)據(jù)放在同一個sprintf函數(shù)中打包發(fā)送至上位機(jī),通過LabVIEW自帶的字符串截取函數(shù)截取風(fēng)速、風(fēng)向分別顯示。上位機(jī)設(shè)計了電子羅盤,可直觀地判別風(fēng)向方位。
風(fēng)速風(fēng)向測量實驗中將系統(tǒng)樣機(jī)安裝角度與地面平行,將系統(tǒng)樣機(jī)測試數(shù)據(jù)與WindMaster Pro風(fēng)速風(fēng)向儀測試數(shù)據(jù)進(jìn)行對比,WindMaster Pro風(fēng)速量程為0~65 m/s,風(fēng)向量程為0~359°,風(fēng)速的分辨率為0.01 m/s,角度的分辨率為0.1°,具有標(biāo)準(zhǔn)參照價值。將數(shù)據(jù)通過LoRa無線模塊上傳至上位機(jī),圖9為上位機(jī)接收顯示界面。將上位機(jī)讀取的數(shù)據(jù)進(jìn)行保存分析,風(fēng)速和風(fēng)向的測量數(shù)據(jù)如表1和表2所示。
表1 135°方位角下風(fēng)速測量數(shù)據(jù)表 m/s
表2 18 m/s風(fēng)速下風(fēng)向測量數(shù)據(jù)表 (°)
從數(shù)據(jù)可以分析出,系統(tǒng)樣機(jī)在低風(fēng)速時測量風(fēng)速略有較大偏差,在中高風(fēng)速時基本可以準(zhǔn)確地測量出實際風(fēng)速,偏差較小。其次可以從數(shù)據(jù)看出,該系統(tǒng)測量風(fēng)速的絕對誤差小于0.1 m/s,風(fēng)向角誤差非常小。
為了實現(xiàn)懸索橋上風(fēng)速風(fēng)向的測量,解決現(xiàn)有測量裝置精度低、誤差大等問題,設(shè)計基于時差法的高精度超聲波風(fēng)速風(fēng)向測量系統(tǒng)。系統(tǒng)選用了最小時差測量分辨率為19 ps的MS1022芯片,準(zhǔn)確地測量到風(fēng)速風(fēng)向信息,并通過LoRa技術(shù)傳輸?shù)缴衔粰C(jī),實現(xiàn)遠(yuǎn)程監(jiān)控。實驗結(jié)果表明,系統(tǒng)風(fēng)速測量誤差在±0.1 m/s以內(nèi),風(fēng)向測量偏差不超過0.8°。達(dá)到了數(shù)字風(fēng)速儀的行業(yè)標(biāo)準(zhǔn),能夠準(zhǔn)確地監(jiān)測懸索橋的風(fēng)速風(fēng)向,為懸索橋安全和行車安全提供了安全監(jiān)測的保障。