孫 劉,朱宏輝
(武漢理工大學(xué) 物流工程學(xué)院,武漢430063)
改革開放以來,我國的公路、鐵路的隧道建設(shè)里程不斷增加。但對掌子面前方的地質(zhì)信息探測不明,導(dǎo)致嚴(yán)重地質(zhì)災(zāi)害,造成人員傷亡的事故時有發(fā)生。因此超前地質(zhì)預(yù)報工作成為隧道施工過程中必不可少的一個環(huán)節(jié)。在隧道工程中典型的物探方法有基于地震波理論的TSP(Tunnel Seismic Prediction)、TGP(Tunnel Geology Prediction)、電磁波地質(zhì)雷達(dá)(GPR)以及電法探測中的瞬變電磁法等。TSP超前預(yù)報方法是利用地震反射波原理,人工設(shè)置震源點并用炸藥激發(fā)產(chǎn)生地震波來預(yù)報掌子面前方與隧道軸線大角度相交的平直不良地質(zhì)體(斷層、節(jié)理),該方法效果較好,但操作過程比較繁瑣,數(shù)據(jù)處理結(jié)果的離散型和不確定性較大。TGP 原理與TSP 相同。電磁波地質(zhì)雷達(dá)是根據(jù)電磁波被不同介質(zhì)的反射過程中振動幅度,行走時間以及波形變化等信息的差別來判斷目標(biāo)地質(zhì)的形態(tài)和屬性。但地質(zhì)雷達(dá)主要對掌子面前20~30 m 的地質(zhì)進(jìn)行探測,探測距離較短, 且抗金屬等物質(zhì)的干擾能力差,并且數(shù)據(jù)處理比較困難。瞬變電磁法是電法探測的一種,其原理是利用不接地回線或接地源將初級脈沖磁發(fā)射到地下,并且在初級磁脈沖長的間歇期間借助線圈或接地電極來觀察二級感應(yīng)渦流場。通過研究其時間與空間的分布規(guī)律, 分析其電阻率的不同,來分析地質(zhì)形態(tài)[1]。瞬變電磁法具有分辨率高、探測深度大、信息豐富等優(yōu)點[2-3]。但電磁瞬變電磁儀的天線長度可以達(dá)到5~10 m,目前在使用中主要依靠人工操作并需要兩名工人手持線圈對擺動角度進(jìn)行控制,采集角度不精確,難以達(dá)到對不同方位探測的需求,效率低且探測精度不高,同時數(shù)據(jù)分析周期較長,難以保證實時監(jiān)測掌子面前方的地質(zhì)狀況。
本文根據(jù)隧道施工安全預(yù)警要求,并結(jié)合自動控制與物聯(lián)網(wǎng)技術(shù),設(shè)計出一種超前探水自動控制系統(tǒng)。該系統(tǒng)通過安卓客戶端發(fā)出控制指令,通過二維云臺實現(xiàn)發(fā)射線圈不同位姿的精確控制,分析主機(jī)通過USB 獲取電磁儀主機(jī)采集數(shù)據(jù),實現(xiàn)數(shù)據(jù)分析,在網(wǎng)絡(luò)環(huán)境好的條件下,分析主機(jī)可將采集數(shù)據(jù)傳送至遠(yuǎn)程服務(wù)器進(jìn)行備份。通過安卓APP 將探測分析結(jié)果展示在手機(jī)上。在實際施工現(xiàn)場對系統(tǒng)進(jìn)行一系列的測試,驗證了系統(tǒng)的穩(wěn)定性和可運(yùn)行性。通過安卓客戶端作為探測數(shù)據(jù)的查詢終端,可以顯示出掌子面前方的水質(zhì)分布狀況,從而有效地提高隧道施工監(jiān)測效果。
該探水自動檢測系統(tǒng)是在隧道安全預(yù)警小車需求的基礎(chǔ)上提出的。系統(tǒng)要求通過車載檢測儀器檢測數(shù)據(jù),并將數(shù)據(jù)傳輸至遠(yuǎn)程服務(wù)端,同時根據(jù)測量數(shù)據(jù)自動分析出測量結(jié)果并進(jìn)行預(yù)警。系統(tǒng)總體結(jié)構(gòu)主要由瞬變電磁儀主機(jī)、分析主機(jī)、桿件1,桿件2,桿件3,推桿1,推桿2,水平舵機(jī),垂直舵機(jī),左側(cè)伸縮桿,右側(cè)伸縮桿,直流電機(jī),正時皮帶以及發(fā)射線圈組成。由于在隧道施工環(huán)境中需要考慮防水需求,故該系統(tǒng)將分析主機(jī)和高頻瞬變電磁儀主機(jī)搭載在小車內(nèi)部,以提高防水等級。直流電機(jī)帶動正時皮帶以實現(xiàn)伸縮桿伸縮,減小非工作狀態(tài)所占體積。采用水平和垂直運(yùn)動舵機(jī)對發(fā)射線圈進(jìn)行位姿控制,提高不同方位探測精度??紤]到隧道環(huán)境中設(shè)備的便攜性以及操作的簡便性,使用安卓手機(jī)通過藍(lán)牙連接運(yùn)動控制裝置以發(fā)送控制指令。同時通過安卓手機(jī)對數(shù)據(jù)分析結(jié)果進(jìn)行展示。整體結(jié)構(gòu)如圖1 所示。發(fā)射線圈伸縮部分放大圖如圖2 所示。
圖1 系統(tǒng)整體結(jié)構(gòu)Fig.1 Whole architecture of system
圖2 發(fā)射線圈伸縮部分放大圖Fig.2 Enlarged drawing of telescopic part of transmitting coil
系統(tǒng)總體架構(gòu)如圖3 所示。手機(jī)通過藍(lán)牙連接發(fā)射線圈位姿控制裝置的HC-05 藍(lán)牙模塊,發(fā)出測量指令,此時STM32 通過串口啟動電磁儀主機(jī)測量程序,并控制發(fā)射線圈水平和垂直運(yùn)動,使得發(fā)射線圈擺動到合適位置。測量結(jié)束后,分析主機(jī)通過USB 讀取測量完成后的數(shù)據(jù),并通過因特網(wǎng)將數(shù)據(jù)發(fā)送至服務(wù)器端保存并備份。同時分析主機(jī)啟動自動分析程序,對探測數(shù)據(jù)進(jìn)行結(jié)果分析。分析完成后,安卓手機(jī)通過路由器可訪問分析主機(jī)中的Tomcat 服務(wù)器,通過無線局域網(wǎng)絡(luò)將探測結(jié)果顯示到手機(jī)上。
圖3 系統(tǒng)總體架構(gòu)圖Fig.3 Overall architecture of system
發(fā)射線圈位姿控制裝置的硬件系統(tǒng)框圖如圖4所示。系統(tǒng)控制芯片采用STM32F407,通過+5 V 電源對系統(tǒng)進(jìn)行供電, 系統(tǒng)通過GPIO 控制推桿和直流電機(jī)的運(yùn)動,通過RS485 串口給高頻瞬變電磁儀發(fā)出探測指令并控制水平和垂直舵機(jī)的運(yùn)動,通過無線藍(lán)牙模塊接收安卓手機(jī)客戶端發(fā)送的控制指令并返回線圈位姿狀態(tài)。
圖4 硬件系統(tǒng)框圖Fig.4 Blocks of system
RS485 串口主要是對水平和垂直運(yùn)動舵機(jī)進(jìn)行控制。水平和垂直運(yùn)動舵機(jī)選擇型號為智能佳XM540-W270-T-R,運(yùn)行電壓為12 V,最小控制角度為0.088°。采用位置控制模式,其控制方式為RS485異步串口通信。選擇STM32 開發(fā)板上的串口2 連接水平舵機(jī),水平舵機(jī)與垂直舵機(jī)之間采用JST-4P 連接線進(jìn)行連接, 水平舵機(jī)ID 為0x01, 垂直舵機(jī)ID為0x02。選擇波特率為9600,無校驗位[4]。舵機(jī)接收數(shù)據(jù)格式如圖5 所示,其中A 為報頭,B 為保留位,C 為舵機(jī)ID,D 為指令包的長度,E 為發(fā)出的命令,F(xiàn)為舵機(jī)轉(zhuǎn)動參數(shù),G 為CRC16 校驗位。
圖5 舵機(jī)接收數(shù)據(jù)格式Fig.5 Receiving data format of actuator
推桿控制模塊主要通過STM32 的GPIO 引腳控制推桿運(yùn)動。推桿的直推推力為3500 N,供電電源為直流24 V。選擇PA10,PA11,PC10,PC11 引腳和GND 連接直流電機(jī)正反轉(zhuǎn)模塊,DC POWER 端連接24 V 電源,LOAD SIDE 端連接推桿,通過PA10(PC10)引腳或PA11(PC11)引腳置高電平來對推桿進(jìn)行伸縮控制。電動推桿接線圖如圖6 所示。
圖6 電動推桿連接圖Fig.6 Connection diagram of electric push rod
直流電機(jī)主要作用是將超頻瞬變電磁儀的探測天線伸出和收回,以減小在非運(yùn)行狀態(tài)時所占的空間大小。選擇PE5 和PE6 和GND 引腳連接直流電機(jī)正反轉(zhuǎn)模塊,DC POWER 端連接1 V 電源,LOAD SIDE 端連接直流電動機(jī)。由于直流伸縮桿件具有行程限制,故通過行程開關(guān)對直流電機(jī)運(yùn)動進(jìn)行限制。當(dāng)天線伸縮桿運(yùn)行到指定位置時,行程開關(guān)斷開,觸發(fā)下降沿中斷,直流電機(jī)停止運(yùn)動。
無線藍(lán)牙模塊主要作用是接收手機(jī)客戶端發(fā)送的控制指令,實現(xiàn)遠(yuǎn)程遙控的功能。本設(shè)計采用HC-05 藍(lán)牙模塊作為無線通信器件。該模塊可以兼容5 V 或3.3 V 單片機(jī)系統(tǒng),操作簡單,功率低,且通信距離能夠達(dá)到10 m。該模塊一共有34 個引腳,工作時一共有6 個引腳被接通。表1 為各引腳接線說明。通過Android 智能手機(jī)上基于Java 語言的程序發(fā)送AT 指令, 實現(xiàn)對藍(lán)牙模塊工作模式及工作參數(shù)設(shè)置[5]。使用時將HC-05 藍(lán)牙模塊設(shè)置為主機(jī)模式,并將波特率設(shè)置為9600,1 位停止位,無校驗位。圖7 為HC-05 的電路圖。
表1 藍(lán)牙引腳接線說明Tab.1 Bluetooth pin function description
圖7 HC-05 的電路圖Fig.7 Circuit diagram of HC-05
安卓APP 主要作用是完成用戶身份認(rèn)證、控制線圈運(yùn)動、監(jiān)視線圈運(yùn)動裝置的運(yùn)行狀態(tài),以及獲取探測數(shù)據(jù)的分析結(jié)果。當(dāng)客戶端程序啟動后,開始進(jìn)行身份驗證,如驗證成功,則模塊進(jìn)入藍(lán)牙連接界面,通過查找藍(lán)牙設(shè)備與選定藍(lán)牙設(shè)備進(jìn)行配對。用戶點擊菜單欄中的已綁定按鈕查看已配對的藍(lán)牙設(shè)備,選擇HC-05 藍(lán)牙模塊進(jìn)行連接,之后手機(jī)APP 將ListView 控件隱藏, 顯示運(yùn)動操作界面,通過點擊開始運(yùn)動按鈕,發(fā)射線圈便可按指定角度進(jìn)行運(yùn)動,手機(jī)界面實時顯示運(yùn)動位置。探測完成后,可通過點擊顯示結(jié)果按鈕,將探測結(jié)果顯示在手機(jī)上。
用戶身份認(rèn)證主要通過兩個EditText 和一個Button 控件實現(xiàn)。當(dāng)用戶點擊Button 時,獲取Edit-Text 的身份以及密碼信息,并進(jìn)行驗證。當(dāng)驗證通過時,證明該用戶是設(shè)備操作人員,同時切換到藍(lán)牙通訊界面。
用戶通過身份驗證后, 打開新的Activity。在OnCreate()函數(shù)中初始化UI 界面,并且獲取藍(lán)牙狀態(tài),如藍(lán)牙打開直接進(jìn)入界面,藍(lán)牙未打開提示程序要打開藍(lán)牙,用戶可以選擇允許或拒絕。如選擇拒絕則程序結(jié)束,如選擇允許,程序繼續(xù)運(yùn)行,同時程序?qū)⒆訠luetoothAdapter.ACTION_DIS COVERY_STARTED、BluetoothAdapter.ACTION_DISCOVERY_FINISHED、BluetoothDevice.ACTION_FOUND、BluetoothAdapter.ACTION_SCAN_MODE_CHANGED、BluetoothDevice.ACTION_BOND_STATE_CHANGED 廣播接收者。通過OnCreateOptionMenu()方法創(chuàng)建手機(jī)客戶端的菜單欄,重寫onOptionsItemSelected()方法設(shè)計菜單欄功能程序。當(dāng)用戶點擊菜單欄中的“查找設(shè)備”選項時,將調(diào)用start-Discovery()方法搜索藍(lán)牙設(shè)備,當(dāng)查找到設(shè)備時安卓系統(tǒng)將回調(diào)BlueToothDevice.ACTION_FOUND 廣播接收事件并將藍(lán)牙設(shè)備添加到List<BluetoothDevice>列表中,同時通過ListView 顯示藍(lán)牙設(shè)備名稱以及MAC 地址。重寫ListView 中的OnItemClick()方法,用戶可通過單擊LIstView 中的item 選擇藍(lán)牙設(shè)備進(jìn)行配對。藍(lán)牙搜索結(jié)果界面如圖8 所示。
圖8 藍(lán)牙搜索結(jié)果Fig.8 Result of bluetooth discovery
點擊菜單中“已綁定”查看已綁定藍(lán)牙設(shè)備,重寫ListView 中OnItemClick()方法,用戶通過單擊已綁定的藍(lán)牙設(shè)備ListView 中的Item 選擇設(shè)備進(jìn)行連接, 同時調(diào)用藍(lán)牙連接程序Java 程序ChatController.getInstance().startChatWith()函數(shù)啟動該Java程序連接線程ConnectThread(),該連接線程繼承自Thread。在ConnectThread()中通過應(yīng)用遠(yuǎn)程藍(lán)牙設(shè)備device 類的createRfcommSocketToServiceRecord(UUID)方法獲取HC-05 藍(lán)牙模塊的Bluetooth-Socket 的對象,并應(yīng)用connect()方法與HC-05 藍(lán)牙模塊建立連接,藍(lán)牙設(shè)備的通信連接流程如圖5 所示。當(dāng)通信服務(wù)器端建立連接后將會返回一個連接上的Bluetoothsocket 藍(lán)牙套接字,此時監(jiān)聽程序關(guān)閉,藍(lán)牙服務(wù)器端和客戶端應(yīng)用此套接字進(jìn)行數(shù)據(jù)通信[6]。連接成功后,會隱藏ListView 控件同時顯示出運(yùn)控制界面。當(dāng)點擊運(yùn)動控制按鈕時,通過藍(lán)牙通信Java 程序中繼承自Thread 的ConnectedThread()線程管理手機(jī)與藍(lán)牙模塊之間的數(shù)據(jù)通信,應(yīng)用Bluetoothsocket 的write()方法向HC-05 藍(lán)牙模塊發(fā)送數(shù)據(jù),同時應(yīng)用read()方法一直監(jiān)聽藍(lán)牙串口數(shù)據(jù)輸入流,并將數(shù)據(jù)顯示在運(yùn)動控制界面上,實現(xiàn)運(yùn)行狀態(tài)監(jiān)測效果。藍(lán)牙通訊連接流程如圖9 所示。
圖9 藍(lán)牙通訊連接流程Fig.9 Flow chart of bluetooth communication connection
探測結(jié)果顯示主要顯示分析主機(jī)應(yīng)用探測自動分析程序分析出的圖片結(jié)果。主要由不同探測角度的視電阻率斷面扇形圖以及5 張三維效果圖組成。在分析主機(jī)端搭建Tomcat 服務(wù)器,在安卓客戶端通過Glide 圖片加載庫對圖片進(jìn)行Http 請求,獲得圖片并顯示在ImageView 上。
系統(tǒng)軟硬件模塊設(shè)計完成后,需要對系統(tǒng)機(jī)械結(jié)構(gòu)、 硬件運(yùn)行穩(wěn)定性和手機(jī)APP 功能進(jìn)行測試。硬件測試主要測試發(fā)射線圈運(yùn)動控制裝置能否正常運(yùn)行,手機(jī)APP 測試主要包括手機(jī)藍(lán)牙與HC-05模塊的通信以及探測結(jié)果顯示功能。打開手機(jī)APP,并開啟藍(lán)牙連接,點擊開始運(yùn)行按鈕,此時天線運(yùn)動,并將運(yùn)動狀態(tài)發(fā)送到手機(jī)上。如圖10 為桐梓隧道測試現(xiàn)場。圖11 為手機(jī)客戶端實時顯示界面。
圖10 桐梓隧道測試現(xiàn)場Fig.10 Test site if Tongzi tunnel
圖11 安卓手機(jī)實時顯示界面Fig.11 Real-time display interface of Android mobile
當(dāng)程序運(yùn)行完成后,推桿和天線收回。此時可以通過點擊菜單下的顯示結(jié)果按鈕, 顯示探測結(jié)果。探測部分結(jié)果如圖12 所示。
圖12 探測結(jié)果圖Fig.12 Result of detection
本文將物聯(lián)網(wǎng)技術(shù)和安卓系統(tǒng)相結(jié)合,通過分析隧道預(yù)警小車的具體需求,設(shè)計出一種超前探水自動調(diào)節(jié)系統(tǒng),通過對軟硬件模塊的設(shè)計,實現(xiàn)了隧道環(huán)境中探水?dāng)?shù)據(jù)的自動采集以及傳輸,并通過分析主機(jī)分析探測數(shù)據(jù),得出探測結(jié)果,工程技術(shù)人員可通過安卓手機(jī)查看探測結(jié)果,并進(jìn)行相應(yīng)判斷。從而能夠減少隧道施工過程中工人數(shù)量,有效地提高隧道監(jiān)測預(yù)警能力,避免發(fā)生意外事故。