劉昌明,時(shí) 朵,黃躍文,劉亞翔,張 乾
(1.武漢科技大學(xué)冶金裝備及其控制教育部重點(diǎn)實(shí)驗(yàn)室,湖北武漢 430081;2.武漢科技大學(xué)機(jī)械傳動(dòng)與制造工程湖北省重點(diǎn)實(shí)驗(yàn)室,湖北武漢 430081;3.長(zhǎng)江科學(xué)院工程安全與災(zāi)害防治研究所,湖北武漢 430010)
由于對(duì)大壩、邊坡、基坑等內(nèi)部縱深處變形監(jiān)測(cè)的不到位,容易引發(fā)潰壩、滑坡、基坑坍塌等事故,為減少事故的發(fā)生,對(duì)其進(jìn)行內(nèi)部縱深處變形安全監(jiān)測(cè)十分必要。李心一[1]提出研制多點(diǎn)固定測(cè)斜儀;任桂香[2]等采用固定式電子堤防測(cè)斜儀實(shí)現(xiàn)對(duì)大壩的變形監(jiān)測(cè);程遠(yuǎn)超[3]等設(shè)計(jì)了高精度測(cè)斜儀。但以上方法存在共性問題,即測(cè)斜儀之間采用的均為RS-485或RS-232總線串接方式,此種數(shù)據(jù)連接方式具有可靠性低,應(yīng)用不靈活,通信誤碼率高等問題[4];并且監(jiān)測(cè)結(jié)果也只能在PC端查看,未設(shè)置移動(dòng)端的監(jiān)測(cè)方式,降低了監(jiān)測(cè)的靈活性與實(shí)時(shí)性。為解決上述問題,本文研究開發(fā)的數(shù)據(jù)采集系統(tǒng)采用基于CAN總線的通訊方式,并以此為基礎(chǔ)設(shè)計(jì)了固定測(cè)斜儀,對(duì)大壩、邊坡、基坑等進(jìn)行內(nèi)部縱深處變形監(jiān)測(cè),CAN總線增設(shè)了防雷功能,使其在雷雨天氣具備更強(qiáng)的抗干擾能力;設(shè)計(jì)了數(shù)據(jù)采集單元,對(duì)數(shù)據(jù)進(jìn)行采集、存儲(chǔ)和遠(yuǎn)程通訊,并增加了藍(lán)牙通訊模塊,實(shí)現(xiàn)移動(dòng)監(jiān)測(cè);搭建了監(jiān)測(cè)結(jié)果的顯示界面,使監(jiān)測(cè)結(jié)果查看更方便、直觀[5-6]。
基于CAN總線的數(shù)據(jù)采集系統(tǒng)由固定測(cè)斜儀、數(shù)據(jù)采集單元和監(jiān)控服務(wù)器構(gòu)成。本系統(tǒng)將一定數(shù)量的固定測(cè)斜儀根據(jù)工程需要組成不定長(zhǎng)度的鏈?zhǔn)浇Y(jié)構(gòu)安裝到監(jiān)測(cè)對(duì)象中,監(jiān)測(cè)內(nèi)部縱深處變形,再通過CAN總線的通訊方式將固定測(cè)斜儀監(jiān)測(cè)到的數(shù)據(jù)傳送到數(shù)據(jù)采集單元,進(jìn)而通過無線傳輸?shù)姆绞綄⑻幚砗玫臄?shù)據(jù)上傳至監(jiān)控服務(wù)器,PC端、移動(dòng)端可隨時(shí)通過發(fā)送指令實(shí)時(shí)查看監(jiān)測(cè)結(jié)果。實(shí)現(xiàn)對(duì)大壩、邊坡、基坑等內(nèi)部縱深處變形的自動(dòng)化遠(yuǎn)程監(jiān)測(cè),及時(shí)的對(duì)事故的發(fā)生采取補(bǔ)救措施和預(yù)防。數(shù)據(jù)采集系統(tǒng)整體示意圖如圖1所示。
圖1 數(shù)據(jù)采集系統(tǒng)整體示意圖
其中固定式測(cè)斜儀由高精度傾角傳感器、24位A/D轉(zhuǎn)換芯片、STM32F103微處理器組成。傾角傳感器采集內(nèi)部縱深處變形數(shù)據(jù)并將其轉(zhuǎn)換為模擬的電壓值,通過24位A/D轉(zhuǎn)換芯片把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),STM32F103微處理器對(duì)數(shù)字信號(hào)進(jìn)行濾波和計(jì)算,最終由CAN通訊接口將采集的數(shù)據(jù)傳輸至數(shù)據(jù)采集單元。
數(shù)據(jù)采集單元的硬件選用STM32F407VET6作為主控模塊微控制器,CAN總線接口ADM3051芯片以及以太網(wǎng)W5500芯片控制器作為網(wǎng)絡(luò)接口模塊,藍(lán)牙模塊選用TICC2540芯片的HM-11,存儲(chǔ)模塊則用W25Q128JV芯片。由CAN總線串行作為固定測(cè)斜儀部分的傳感器接入點(diǎn),獲取傳感器節(jié)點(diǎn)數(shù)據(jù)并存儲(chǔ),通過以太網(wǎng)或者無線的方式上傳至監(jiān)控服務(wù)器;移動(dòng)端可通過藍(lán)牙連接實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)查看。
監(jiān)控服務(wù)器實(shí)現(xiàn)將實(shí)時(shí)上傳的數(shù)據(jù)進(jìn)行存儲(chǔ)、分析、處理、可視化等功能。
固定測(cè)斜儀電路設(shè)計(jì)分為電源模塊、測(cè)量模塊、主控模塊和通訊模塊。電源模塊為其他模塊供電;測(cè)量模塊則通過傳感器獲取實(shí)時(shí)數(shù)據(jù),經(jīng)主控模塊處理,由通信模塊將數(shù)據(jù)傳至數(shù)據(jù)采集單元,如圖2所示。
圖2 固定測(cè)斜儀整體框圖
電源是保障系統(tǒng)平穩(wěn)運(yùn)行的基礎(chǔ),由于整體電路中涉及到模擬電路采樣,并且整體工作電流不大,為避免高頻開關(guān)信號(hào)對(duì)模擬信號(hào)采集的干擾,未使用DC-DC電路進(jìn)行電壓轉(zhuǎn)換,電源采用三級(jí)降壓設(shè)計(jì),支持外部供電電壓為12~26 V,配合自恢復(fù)保險(xiǎn)絲,鉭電容等,保證電源質(zhì)量穩(wěn)定。第1級(jí)電路降壓至9 V,第2級(jí)電路降壓至5 V,為傳感器芯片和基準(zhǔn)電壓芯片供電,第3級(jí)電路降壓至3.3 V為微控制器、24位A/D轉(zhuǎn)換芯片和CAN總線通訊芯片等供電。電源模塊電路原理圖如圖3所示。
圖3 電源模塊原理圖
測(cè)量模塊主要由兩個(gè)單軸傾角傳感器SCA103T-D04和24位A/D轉(zhuǎn)換芯片構(gòu)成。傾角傳感器量程達(dá)±15°,具有溫度自補(bǔ)償功能,同時(shí)有SPI數(shù)字和模擬信號(hào)雙輸出模式,數(shù)字輸出分辨率可達(dá)0.009°。傾角傳感器工作原理是內(nèi)置三層平行硅片,當(dāng)傳感器發(fā)生偏轉(zhuǎn),致使中間層硅片偏離原始位置,改變了極板間的間距從而引起電容變化,使電容兩端的輸出電壓改變,最終通過計(jì)算將電壓變化量轉(zhuǎn)化為角度偏移量,實(shí)現(xiàn)角度測(cè)量。
為測(cè)得電容兩端電壓變化量,設(shè)計(jì)了電壓測(cè)量電路,如圖4所示,由高精度電壓基準(zhǔn)芯片和24位A/D芯片構(gòu)成。電壓基準(zhǔn)芯片選用高精度低溫漂的ADR45系列電壓基準(zhǔn)芯片,根據(jù)測(cè)量電壓范圍需要選擇4 V基準(zhǔn)電壓。24位A/D芯片選用ADS1247,該芯片能夠提供四路單端模擬信號(hào)輸入和兩路差分模擬信號(hào)輸入,使用兩路差分采樣方式獲取傳感器輸出的模擬電壓信號(hào)。該芯片的采樣速度快,穩(wěn)定性好,能夠很好的滿足使用需要。
圖4 測(cè)量模塊電路原理圖
測(cè)量模塊在監(jiān)測(cè)數(shù)據(jù)時(shí),通過主控模塊的微控制器向ADS1247的SPI端口發(fā)送RDATA命令字,將返回的電壓值進(jìn)行反余弦計(jì)算得到變形角度值,為消除隨機(jī)噪聲給讀數(shù)帶來的干擾,預(yù)測(cè)出準(zhǔn)確數(shù)值,將角度值送入卡爾曼濾波器進(jìn)行濾波處理。
考慮到卡爾曼濾波器在連續(xù)系統(tǒng)中的理想效果,以及對(duì)數(shù)據(jù)采集單元下發(fā)的讀數(shù)指令做出快速響應(yīng),整個(gè)讀取數(shù)據(jù)的過程重復(fù)不間斷運(yùn)行,保證濾波器的輸出值實(shí)時(shí)且準(zhǔn)確。
主控模塊選用STM32F103CBT6微控制器,如圖5所示,運(yùn)用RC振蕩器作為內(nèi)部時(shí)鐘信號(hào),無需外部提供晶振,運(yùn)行頻率為8 MHz,并啟用內(nèi)部看門狗模塊保障程序正常運(yùn)行。因STM32F103系列單片機(jī)具備內(nèi)部FLASH自編程功能可以在程序運(yùn)行時(shí)對(duì)內(nèi)部未使用的FLASH單元進(jìn)行自編程,將運(yùn)行參數(shù),校準(zhǔn)參數(shù),靜態(tài)信息等寫入FLASH中進(jìn)行保存,免除了擴(kuò)展外部FLASH或EEPROM。
圖5 主控模塊原理圖
通訊模塊原理圖如圖6所示,采用CAN總線接口電路,使用TJA1050T芯片作為接口轉(zhuǎn)換芯片,并附加保險(xiǎn)絲和TVS管對(duì)CAN通訊接口進(jìn)行保護(hù)。
圖6 通訊模塊原理圖
在通訊采用CAN總線的情況下,為提高通訊效率,固定測(cè)斜儀與數(shù)據(jù)采集單元之間的通信協(xié)議采用modbus總線協(xié)議,modbus總線協(xié)議具有幀格式簡(jiǎn)單、緊湊、用戶使用簡(jiǎn)單的優(yōu)點(diǎn)。特別是固定測(cè)斜儀與數(shù)據(jù)采集單元之間使用CAN總線通信,CAN總線的每個(gè)通信幀字節(jié)數(shù)限制在6字節(jié)以內(nèi),而modbus協(xié)議的緊湊特點(diǎn)能夠適應(yīng)這個(gè)限制,最大化的提高通信效率。
數(shù)據(jù)采集單元是整個(gè)系統(tǒng)中的重要部分,直接影響著系統(tǒng)的穩(wěn)定性以及可靠性。良好的設(shè)計(jì)能夠保證數(shù)據(jù)傳輸?shù)馁|(zhì)量。
數(shù)據(jù)采集單元的主控制器選用STM32F407VET6微處理器,采用LQFP的封裝方式,可靠性高,封裝體積小,工作頻率高達(dá)168 MHz。具備較好的性能和各種外設(shè)資源,包括CAN、RTC、I2S、I2C、SPI、USB、UART、USART等。自帶512KB Flash閃存。
設(shè)置實(shí)時(shí)時(shí)鐘RTC,其具有獨(dú)立的BCD定時(shí)/計(jì)數(shù)器。自帶一個(gè)時(shí)鐘日歷、兩個(gè)可編程的鬧鐘中斷和一個(gè)有中斷能力的周期性可編程的喚醒標(biāo)志。
外部存儲(chǔ)器使用128 M位空間大小的W25Q128JV串行閃存。W25Q128JV有4 096個(gè)可擦除扇區(qū)和256個(gè)可擦除塊。W25Q128JV提供標(biāo)準(zhǔn)串行外設(shè)接口SPI。支持自身的SPI時(shí)鐘頻率高達(dá)133 MHz。
CAN總線的物理層收發(fā)器選用ADM3051。該芯片能夠以高達(dá)1 Mbps的數(shù)據(jù)速率運(yùn)行。且芯片具備熱關(guān)斷和限流功能,可預(yù)防12 V總線供電系統(tǒng)中總線與地或電源端之間的輸出出現(xiàn)短路情況。
嵌入式以太網(wǎng)控制器W5500芯片是一個(gè)硬連接的TCP/IP。提供了與嵌入式系統(tǒng)更簡(jiǎn)單的互聯(lián)網(wǎng)連接。使用嵌入式TCP/IP堆棧、10/100以太網(wǎng)MAC和PHY的單芯片,實(shí)現(xiàn)互聯(lián)網(wǎng)連接。
藍(lán)牙模塊HM-11系列的采用TICC2540芯片,支持AT命令,調(diào)制方式為GFSK,工作頻率2.4 GHz傳輸數(shù)據(jù)無字節(jié)限制,傳輸速率可達(dá)6Kbps,具有相對(duì)傳輸距離遠(yuǎn),超低功耗,體積小等優(yōu)點(diǎn)。
軟件部分每個(gè)模塊在單獨(dú)的文件內(nèi)編寫和測(cè)試,在主函數(shù)中調(diào)用子模塊功能函數(shù)。同時(shí),開啟了看門狗定時(shí)器,在程序運(yùn)行出現(xiàn)意外故障時(shí)會(huì)產(chǎn)生超時(shí)復(fù)位,保證了采集功能的連續(xù)正常使用,數(shù)據(jù)采集單元軟件設(shè)計(jì)如圖7所示。
圖7 數(shù)據(jù)采集單元軟件模塊示意圖
初始化模塊:設(shè)置處理器內(nèi)部和外圍芯片寄存器使得系統(tǒng)能按初始狀態(tài)開始工作,包括設(shè)置時(shí)鐘寄存器、GPIO寄存器、看門狗寄存器、UART寄存器、CAN寄存器、SPI寄存器等;
定時(shí)策略模塊:根據(jù)儲(chǔ)存模塊內(nèi)的定時(shí)采集時(shí)間間隔策略,在實(shí)時(shí)時(shí)鐘RTC中設(shè)置鬧鐘中斷,在中斷回調(diào)函數(shù)中調(diào)用固定式測(cè)斜儀數(shù)據(jù)讀取指令;
儲(chǔ)存模塊:存儲(chǔ)定時(shí)采集時(shí)間間隔策略和包含時(shí)間標(biāo)簽的采集數(shù)據(jù),提供通過時(shí)間范圍查詢歷史數(shù)據(jù)的功能;
CAN通訊模塊:通信協(xié)議采用的是CAN總線標(biāo)準(zhǔn)幀協(xié)議進(jìn)行通訊,允許多個(gè)設(shè)備連接在同一個(gè)網(wǎng)絡(luò)上進(jìn)行通信。由CAN通信模塊向固定式測(cè)斜儀發(fā)送讀取數(shù)據(jù)命令,對(duì)固定式測(cè)斜儀的回應(yīng)進(jìn)行解析;
協(xié)議解析:解析和打包Modbus協(xié)議幀;
以太網(wǎng)模塊:接收解析PC端下發(fā)的通信指令,打包數(shù)據(jù)向PC端返回通訊指令。
藍(lán)牙模塊:包含藍(lán)牙初始化程序,串口中斷接受程序。藍(lán)牙模塊初始化后進(jìn)入待機(jī)狀態(tài),然后移動(dòng)端APP控制程序搜索到可連接藍(lán)牙設(shè)備,在移動(dòng)端選擇該藍(lán)牙進(jìn)行配對(duì)后,開始數(shù)據(jù)傳輸,實(shí)現(xiàn)移動(dòng)監(jiān)測(cè)。
監(jiān)控服務(wù)器主要功能包含數(shù)據(jù)同步、數(shù)據(jù)分析、數(shù)據(jù)可視化以及人機(jī)交互等。
監(jiān)控服務(wù)器使用B/S架構(gòu)開發(fā),打開瀏覽器即可使用,這種架構(gòu)具有維護(hù)方便、分布性廣、開發(fā)相對(duì)簡(jiǎn)單且共享性較強(qiáng)等優(yōu)點(diǎn)。監(jiān)控服務(wù)器數(shù)據(jù)處理流程如圖8所示。
圖8 數(shù)據(jù)處理流程圖
后端使用node.js開發(fā)平臺(tái)和sqlite數(shù)據(jù)庫(kù)。數(shù)據(jù)采集界面如圖9所示,數(shù)據(jù)采集單元由TCP方式連接到服務(wù)器的后端程序,主要功能如下:
數(shù)據(jù)存儲(chǔ):實(shí)現(xiàn)ORM功能,抽象出數(shù)據(jù)模型,方便程序調(diào)用數(shù)據(jù);
數(shù)據(jù)分析:包括異常值處理、多點(diǎn)采集儀聯(lián)合計(jì)算、可視化數(shù)據(jù)預(yù)生成等;
設(shè)備管理:采集儀設(shè)備的在線狀態(tài)記錄和設(shè)備配置管理功能。
前端程序使用Vue.js框架開發(fā),具有易用靈活高效的特點(diǎn),實(shí)現(xiàn)人機(jī)交互和數(shù)據(jù)直觀顯示。
圖9 數(shù)據(jù)采集界面示意圖
本文基于CAN總線通訊方式設(shè)計(jì)了一套固定測(cè)斜儀,系統(tǒng)集成了數(shù)據(jù)采集單元以及監(jiān)控服務(wù)器,針對(duì)大壩、邊坡、基坑等的內(nèi)部縱深處變形進(jìn)行監(jiān)測(cè),實(shí)現(xiàn)了內(nèi)部縱深處變形的自動(dòng)化監(jiān)測(cè),有效提高了數(shù)據(jù)傳輸?shù)目煽啃?,穩(wěn)定性以及通訊抗干擾能力;同時(shí)實(shí)現(xiàn)了監(jiān)測(cè)結(jié)果的移動(dòng)監(jiān)測(cè),兼具預(yù)警預(yù)報(bào)功能,完善了基體內(nèi)部縱深處的監(jiān)測(cè)手段,能夠及時(shí)準(zhǔn)確地預(yù)測(cè)潰壩、滑坡以及基坑坍塌等事故的發(fā)生。