閆尉深,劉 威,劉家俊,李志達(dá)
(1.河北省高速公路延崇籌建處,河北張家口 075400;2.長(zhǎng)安大學(xué)信息工程學(xué)院,陜西西安 710064)
近年來城市交通壓力日益增長(zhǎng),不可避免要新建城市道路[1],綜合考慮各方面,城市隧道建設(shè)得到推進(jìn),其安全運(yùn)營(yíng)對(duì)保障交通順暢有重大意義[2]。然而每逢夏季,因?yàn)樗淼婪e水過深造成市民人身和財(cái)產(chǎn)安全受到損害的事件屢見不鮮[3]。
天氣惡劣且積水過深的情況下,司機(jī)極易忽視隧道前的涉水線標(biāo)志。同時(shí),相關(guān)部門無法掌握隧道內(nèi)積水情況,從而迅速做出排澇、疏散交通等應(yīng)對(duì)措施。目前,國(guó)內(nèi)多數(shù)城市安裝的隧道積水監(jiān)測(cè)系統(tǒng)在時(shí)效性、經(jīng)濟(jì)性上仍有待提升,故對(duì)隧道積水實(shí)時(shí)、精準(zhǔn)地深度監(jiān)測(cè)成為亟待解決的問題[4]。
隧道積水深度的遠(yuǎn)程監(jiān)測(cè)對(duì)于交通事故的發(fā)生具有重要防范意義。該系統(tǒng)通過前端超聲波液位計(jì)[5]將水深這一物理量轉(zhuǎn)換為電信號(hào),經(jīng)過簡(jiǎn)單處理后傳輸給后級(jí)主控芯片做進(jìn)一步處理,把模擬量轉(zhuǎn)換為數(shù)字量,之后利用集成的無線通信模塊完成數(shù)據(jù)傳輸??紤]到陰雨天氣情況下較為密閉的隧道內(nèi)網(wǎng)絡(luò)信號(hào)質(zhì)量不穩(wěn)定問題,以及LoRa 技術(shù)的遠(yuǎn)距離、低功耗、低成本、可靠性高等特性[6],可以同時(shí)兼顧更長(zhǎng)的隧道距離和更低的功耗,系統(tǒng)選用LoRa 模塊作為第一步無線傳輸,再將隧道外部的接收端LoRa 與4G 通信模塊進(jìn)行集成,將信息傳輸?shù)娇刂浦行?,接著由相關(guān)部門利用廣播電臺(tái)發(fā)出警示信息,同時(shí)隧道遠(yuǎn)處的可變情報(bào)板上會(huì)提供行車建議,搭建完備的城市隧道積水遠(yuǎn)程監(jiān)控系統(tǒng)。系統(tǒng)總體方案設(shè)計(jì)圖如圖1 所示,超聲波液位計(jì)輸出電流信號(hào),經(jīng)過簡(jiǎn)單信號(hào)處理轉(zhuǎn)換為電壓信號(hào),然后傳輸給后一級(jí)。主控芯片選用TI 設(shè)計(jì)生產(chǎn)的MSP430 系列單片機(jī),芯片內(nèi)集成的ADC 模塊完成模數(shù)轉(zhuǎn)換后,利用串口與無線通信模塊進(jìn)行信息交換。
圖1 系統(tǒng)總體方案設(shè)計(jì)圖
目前市面上進(jìn)行液位測(cè)量時(shí),根據(jù)測(cè)量應(yīng)用需求的不同和測(cè)量原理的差異性,主要有浮力式、電容式、激光式液位傳感器等。隨著超聲波技術(shù)的發(fā)展,超聲波液位測(cè)量方法得到了普遍的應(yīng)用。相較于其他測(cè)量技術(shù),其最大特性為無需接觸介質(zhì)就能滿足大部分測(cè)量環(huán)境要求,且對(duì)待測(cè)環(huán)境影響較小[7],同時(shí)避免了壓力式、浮力式等傳統(tǒng)測(cè)量方式可能出現(xiàn)的纏繞、堵塞、介質(zhì)腐蝕、維護(hù)不便等不足。就隧道積水監(jiān)測(cè)這一應(yīng)用而言,考慮到大部分時(shí)間下隧道內(nèi)出現(xiàn)積水的可能性極低,該系統(tǒng)選擇超聲波液位測(cè)量方法。
超聲波液位計(jì)采用四線制輸出接口,分別為電源正、電源負(fù)、輸出正以及輸出負(fù),將聲信號(hào)轉(zhuǎn)換為4~20 mA 的電流信號(hào)。在實(shí)際使用過程中,通常將電源負(fù)和輸出負(fù)短接。測(cè)量原理圖如圖2 所示。
圖2 測(cè)量原理圖
傳感器安裝在隧道內(nèi)最低處的正上方,探頭產(chǎn)生超聲脈沖波,通過媒介傳遞到被測(cè)液面,然后被反射回傳感器,利用式(1)可以計(jì)算出液位高度:
其中,h為液面實(shí)際高度,H表示探頭端面到底部的總高度,L表示探頭端面到液面的距離(超聲波傳輸距離的一半),v表示超聲波傳輸速度,t表示超聲波傳播時(shí)間[8]。
監(jiān)測(cè)系統(tǒng)的電路正常運(yùn)行需要使用到3 種不同的電壓:24 V、5 V、3.3 V,其中24 V 用于對(duì)超聲波液位計(jì)供電,可直接采用外部變壓器對(duì)市電進(jìn)行轉(zhuǎn)換。5 V 電源需要由24 V 使用電源轉(zhuǎn)換芯片完成,芯片EUP3484/3A 可以在寬輸入電壓范圍4.5~30 V內(nèi)穩(wěn)定工作,通過外部反饋電阻可以很容易實(shí)現(xiàn)0.925~20 V 的輸出電壓,輸出電流為3 A。用反饋電阻驅(qū)動(dòng)反饋分壓器,反饋電壓閾值為0.925 V。輸出電壓如式(2):
其中,R1、R2均為反饋電阻,令R1=10 kΩ,R2=44.2 kΩ,經(jīng)計(jì)算得Vout=5.013 5 V。同時(shí)接入自恢復(fù)保險(xiǎn)絲實(shí)現(xiàn)過流電路保護(hù),過載后自動(dòng)切斷電源,待裝置降溫后,保險(xiǎn)絲恢復(fù)如初,從而實(shí)現(xiàn)循環(huán)使用。然后選用芯片LM1117-3.3 V[9]將5 V 電壓轉(zhuǎn)換為3.3 V,這款芯片只需要使用極少數(shù)的濾波電容就可以正常工作,使用簡(jiǎn)單。
超聲液位計(jì)輸出的電流信號(hào)需要經(jīng)過預(yù)處理轉(zhuǎn)變?yōu)殡妷盒盘?hào)后才可以傳輸給后級(jí)電路完成進(jìn)一步處理。系統(tǒng)選用的LM324 放大芯片是一種比較典型的四運(yùn)放集成芯片,此外其支持寬電壓范圍輸入,對(duì)電源要求不高,價(jià)格低廉[10]。該部分電路原理圖如圖3 所示。
圖3 信號(hào)調(diào)理部分電路圖
該電路中,LM324 芯片采用單電源供電方式,對(duì)負(fù)電源端進(jìn)行接地處理。圖中I+為傳感器信號(hào)輸出正極,I-為傳感器信號(hào)輸出負(fù)極,VO表示經(jīng)過運(yùn)放處理后的輸出。輸出電流信號(hào)后,傳感器并聯(lián)兩個(gè)200 Ω的電阻R1和R2,等價(jià)于直接連接一個(gè)100 Ω電阻,但阻值會(huì)變得更加精確,在電阻上會(huì)產(chǎn)生0.4~2 V的電壓差,又根據(jù)虛短虛斷原理可以得出式(3):
其 中R3、R4、R5、R6均取10 kΩ,可以得到VO在0.4~2 V 范圍內(nèi),單片機(jī)內(nèi)的ADC 模塊基準(zhǔn)電壓選用2.5 V,可以將VO傳送給ADC 模塊進(jìn)行處理。
系統(tǒng)主控芯片選用TI 公司的16 位MSP430F149單片機(jī),其具有低電壓、超低功耗、雙串口數(shù)據(jù)通信和自帶12 位A/D 轉(zhuǎn)換模塊等特點(diǎn)[11]。芯片使用多路ADC 通道中的其中一路,用于對(duì)完成運(yùn)放處理后的輸出信號(hào)采樣以及由模擬量到數(shù)字量的轉(zhuǎn)換;串口0 與用于無線通信的LoRa 模塊數(shù)據(jù)收發(fā)引腳相連,串口1 與4G 模塊的數(shù)據(jù)收發(fā)引腳相連,實(shí)現(xiàn)與上位機(jī)軟件的遠(yuǎn)程數(shù)據(jù)通信,解析指令并做出相應(yīng)的響應(yīng)[12]。
無線通信技術(shù)按照傳輸距離劃分,可分為長(zhǎng)距離無線廣域網(wǎng)技術(shù)(GPRS、LoRa、4G)和短距離無線局域網(wǎng)技術(shù)(WiFi、ZigBee)[13]。在隧道環(huán)境中,由于橫截面積小、空間有限且密閉等特征,工作在2.4/5G頻段的無線通信技術(shù)因?yàn)轭l率較高、波長(zhǎng)較短,在隧道中應(yīng)用衰減會(huì)比較大,并且功耗也較高,電池壽命短[14]。在低頻無線技術(shù)中,LoRa 相較其他傳輸技術(shù)而言,最大特點(diǎn)是實(shí)現(xiàn)了低功耗和遠(yuǎn)距離傳輸?shù)慕y(tǒng)一,且不必依靠基站就能實(shí)現(xiàn)遠(yuǎn)距離傳輸。該技術(shù)采用點(diǎn)對(duì)點(diǎn)的傳輸方式,可以實(shí)現(xiàn)傳感器信號(hào)的無線傳輸,硬件實(shí)現(xiàn)簡(jiǎn)單,只需連接電源、地和數(shù)據(jù)收發(fā)引腳即可。同時(shí)該模塊有多種工作模式可供選擇,不用時(shí)工作在省電工作狀態(tài),達(dá)到低功耗的目的。
LoRa 接收端與4G 模塊結(jié)合使用,實(shí)現(xiàn)高速?gòu)V域通信。該系統(tǒng)的數(shù)據(jù)傳輸過程中,無需處理數(shù)據(jù),并且相對(duì)數(shù)據(jù)的私密性更關(guān)注傳輸質(zhì)量,故采用4G 模塊的網(wǎng)絡(luò)透?jìng)髂J?,?shí)現(xiàn)遠(yuǎn)程上位機(jī)指令的接收與應(yīng)答指令的上傳功能。因此該系統(tǒng)采用LoRa 發(fā)送模塊、遠(yuǎn)程LoRa 接收中繼模塊和4G 通信模塊的組合模式,實(shí)現(xiàn)遠(yuǎn)程可靠通信。
該系統(tǒng)下位機(jī)設(shè)計(jì)采用模塊化設(shè)計(jì)的思想[15],選用MSP430F149 為主控芯片,利用IAR 軟件和C 語(yǔ)言進(jìn)行設(shè)計(jì),對(duì)前端信息采集設(shè)備采集到的數(shù)據(jù)作模數(shù)轉(zhuǎn)換,利用串口與無線模塊通信實(shí)現(xiàn)I/O 口與LCD 顯示設(shè)備的連接。主控程序包括定時(shí)器、ADC、串口等模塊初始化以及指令解析,程序設(shè)計(jì)圖如圖4所示。
圖4 程序設(shè)計(jì)圖
系統(tǒng)供電后執(zhí)行初始化程序,打開全局中斷。利用定時(shí)器間隔固定時(shí)間對(duì)采集到的積水深度做模數(shù)轉(zhuǎn)換,然后將信息通過串口由LoRa 發(fā)送端無線傳輸?shù)剿淼劳獠?,隧道外部的LoRa 接收端將數(shù)據(jù)交給中繼板的主控芯片,處理后由與I/O 口相連的可變情報(bào)板實(shí)時(shí)顯示積水深度數(shù)據(jù)及不同的通行建議。同時(shí)信息由串口利用4G 模塊發(fā)送到上位機(jī)進(jìn)行顯示,上位機(jī)也可以設(shè)置積水?dāng)?shù)據(jù)更新時(shí)間,針對(duì)不同的降雨天氣間隔不同時(shí)間顯示。
一般單片機(jī)串口接收程序只能完成一個(gè)接一個(gè)字符的傳輸,或者進(jìn)一步規(guī)定接收的數(shù)據(jù)長(zhǎng)度來判斷數(shù)據(jù)是否接收完畢。該系統(tǒng)中硬件設(shè)備與上位機(jī)客戶端之間的無線通信由不同的指令來完成,不同指令對(duì)應(yīng)的數(shù)據(jù)長(zhǎng)度也有所不同,因此正確的串口數(shù)據(jù)收發(fā)程序設(shè)計(jì)起到了重要作用。對(duì)此,在特定波特率的傳輸條件下,串口接收數(shù)據(jù)的同時(shí)啟動(dòng)定時(shí)器,在規(guī)定時(shí)間內(nèi)完成數(shù)據(jù)的接收,每完成一次接收便復(fù)位定時(shí)值,保證定時(shí)器不會(huì)溢出,定時(shí)器的超時(shí)值可以設(shè)定為接收一幀數(shù)據(jù)所需時(shí)間的1.5 倍。如此,當(dāng)定時(shí)器超時(shí)的情況下,就意味著串口停止接收數(shù)據(jù),設(shè)定一個(gè)標(biāo)志位,之后交給通信處理函數(shù)處理,串口數(shù)據(jù)接收判定如圖5 所示。
圖5 串口數(shù)據(jù)接收判定
程序設(shè)計(jì)流程如下:在串口接收中斷服務(wù)函數(shù)中使能定時(shí)器,一旦開始接收數(shù)據(jù),定時(shí)器開始計(jì)時(shí),計(jì)數(shù)到設(shè)定值時(shí),定時(shí)器中斷標(biāo)志位自動(dòng)置位,另外設(shè)定接收標(biāo)志位為1,數(shù)據(jù)接收完成之后,定時(shí)器關(guān)閉,重新設(shè)置定時(shí)值,等待下一次數(shù)據(jù)接收。
將編寫完成的單片機(jī)程序燒錄到開發(fā)板內(nèi),利用串口轉(zhuǎn)USB 設(shè)備和串口調(diào)試助手測(cè)試程序中數(shù)據(jù)收發(fā)的實(shí)現(xiàn)情況。理論上,發(fā)送采集當(dāng)前積水深度的指令“AA 55 00 05 FF 55 AA”,其中“AA 55”和“55 AA”作為判斷指令的開始和結(jié)束使用,00 05 表示當(dāng)前硬件設(shè)備地址,“FF”用于控制后接繼電器的通斷,之后會(huì)接收到一條形如“AA 55 00 05 FF xx xx 55 AA”的指令,“xx xx”即為當(dāng)前深度的十六進(jìn)制表示。首先將該十六進(jìn)制轉(zhuǎn)為十進(jìn)制,再結(jié)合ADC 的基準(zhǔn)電壓與位數(shù)即可反推出當(dāng)前積水深度。
上位機(jī)軟件由管理部門進(jìn)行管理維護(hù),方便實(shí)時(shí)了解隧道內(nèi)積水情況并迅速做出應(yīng)對(duì)。根據(jù)指令傳輸協(xié)議編寫一個(gè)可運(yùn)行在Windows 操作系統(tǒng)上、帶UI 的人機(jī)交互應(yīng)用程序,實(shí)現(xiàn)對(duì)現(xiàn)場(chǎng)數(shù)據(jù)采集設(shè)備的統(tǒng)一監(jiān)控管理。系統(tǒng)采用TCP/IP 協(xié)議[16],通過Python 開發(fā)語(yǔ)言完成軟件設(shè)計(jì),利用PyQt 創(chuàng)建GUI,完成軟件可視化,易上手操作,再將開發(fā)好的腳本通過Pyinstaller 打包成一個(gè)可執(zhí)行文件,方便軟件在不同上位機(jī)之間移植。
通過上位機(jī)端的IP 和端口號(hào)可使傳感器與服務(wù)器連接,輸入不同的傳感器地址管理相應(yīng)硬件設(shè)備,可以實(shí)現(xiàn)當(dāng)前積水深度查詢,可以自動(dòng)地間隔固定時(shí)間上傳數(shù)據(jù),也可以通過點(diǎn)擊對(duì)應(yīng)按鈕實(shí)時(shí)查詢。硬件傳輸?shù)臄?shù)據(jù)只是經(jīng)過了模數(shù)轉(zhuǎn)換,未作進(jìn)一步處理,因此需要在上位機(jī)中利用傳感器量程與ADC 的基準(zhǔn)電壓在電路中的數(shù)學(xué)關(guān)系,將數(shù)據(jù)解析為實(shí)際的積水深度,然后顯示到界面上。上位機(jī)軟件采用分模塊方法設(shè)計(jì),軟件設(shè)計(jì)框圖如圖6 所示。
圖6 軟件設(shè)計(jì)框圖
模擬實(shí)驗(yàn)在最大程度還原隧道真實(shí)情景的條件下進(jìn)行,將超聲波液位儀懸在一個(gè)水桶的正上方,然后與電路板連接,放置在4G 信號(hào)較差的環(huán)境內(nèi),外部相隔較遠(yuǎn)的距離安放中繼板,與一塊液晶顯示屏相連。最后操作人員遠(yuǎn)程打開上位機(jī)客戶端,通過點(diǎn)擊對(duì)應(yīng)按鈕觀察顯示屏上的數(shù)據(jù)變化即可。由于上位機(jī)所處的網(wǎng)絡(luò)屬于局域網(wǎng),需要對(duì)電路板上的4G 模塊按照一定步驟進(jìn)行IP 和端口號(hào)配置,實(shí)現(xiàn)軟硬件信息之間的無線通信。
改變水桶內(nèi)的水量,觀察上位機(jī)顯示的信息,對(duì)二者進(jìn)行比對(duì),可以得出系統(tǒng)正常運(yùn)行的結(jié)論,同時(shí)在測(cè)試時(shí)間內(nèi),系統(tǒng)可持續(xù)穩(wěn)定工作。
該文針對(duì)雷雨季節(jié)或其他突發(fā)情況下出現(xiàn)隧道積水的時(shí)候,采用前端數(shù)據(jù)采集加后臺(tái)信息顯示的形式,設(shè)計(jì)了一種基于MSP430F149 主控芯片的數(shù)據(jù)采集、處理、傳輸設(shè)備。得益于超聲波液位計(jì)的采集原理,設(shè)備安裝方便,可維修性強(qiáng),同時(shí),LoRa 與4G通信模塊的結(jié)合完美解決了信號(hào)屏蔽與傳輸距離的問題,保障了信息在硬件與后臺(tái)之間的傳遞。
對(duì)于給司機(jī)提示的行車建議,系統(tǒng)目前給出信息電子屏、交通廣播這兩種形式。除此,還可以考慮將行駛建議上傳到電子地圖,可以更好地避免意外發(fā)生。該系統(tǒng)的低成本、高可靠性,使其可廣泛應(yīng)用于各種需要實(shí)時(shí)監(jiān)管實(shí)地狀況的情景。