王琪明, 李懷良,2, 榮文鉦, 程亮瑋
(1.西南科技大學(xué) 國(guó)防科技學(xué)院,四川 綿陽(yáng) 621010;2.成都理工大學(xué) 地質(zhì)災(zāi)害防治與地質(zhì)環(huán)境保護(hù)國(guó)家重點(diǎn)實(shí)驗(yàn),四川 成都 610059;3.四川輕化工大學(xué),四川 自貢 643000; 4.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010)
地震勘探是鉆探前勘測(cè)石油、天然氣資源和固體資源地質(zhì)找礦的重要手段[1]。因此地震勘探設(shè)備處于重要發(fā)展地位。電源是目前野外勘探儀器設(shè)備中必不可少的核心單元。目前的野外勘探主要以傳統(tǒng)的鉛蓄電池、發(fā)電機(jī)、太陽(yáng)能等供電方式為主,供電方式繁多,未形成統(tǒng)一的標(biāo)準(zhǔn)。而且目前的電源功能較為單一,主要以單純供電為主,電源保護(hù)主要依賴(lài)電源自身的內(nèi)部或外部結(jié)構(gòu),未考慮不同使用環(huán)境下的電源保護(hù)問(wèn)題,輕則容易引起電源供電問(wèn)題,重則會(huì)對(duì)勘探設(shè)備造成損壞[2]。野外勘探工區(qū)范圍較廣,電源設(shè)備數(shù)量龐大,人工很難及時(shí)發(fā)現(xiàn)電源的異常情況,導(dǎo)致隱患排除不及時(shí),從而引發(fā)用電設(shè)備及電源故障,影響勘探效率。針對(duì)上述問(wèn)題,本文設(shè)計(jì)了一種可以實(shí)時(shí)在線監(jiān)測(cè)電源各項(xiàng)工作狀態(tài)的便攜式智能電源系統(tǒng)。
系統(tǒng)總體結(jié)構(gòu)包括電源數(shù)據(jù)采集單元、云服務(wù)器、通用分組無(wú)線業(yè)務(wù)(general packet radio service,GPRS)網(wǎng)絡(luò)、互聯(lián)網(wǎng)(Internet)和客戶(hù)端組成。電源數(shù)據(jù)采集單元主要進(jìn)行電源數(shù)據(jù)采集,包括電源溫度、電源電壓和電源位置等信息,通過(guò)GPRS網(wǎng)絡(luò)將采集到的數(shù)據(jù)信息發(fā)送至云服務(wù)器進(jìn)行數(shù)據(jù)處理與存儲(chǔ);利用WiFi和4G網(wǎng)絡(luò),客戶(hù)端可以遠(yuǎn)程訪問(wèn)云服務(wù)器獲取電源的相關(guān)信息。
電源數(shù)據(jù)采集單元主要包括電源保護(hù)單元和通信單元兩部分。電源保護(hù)單元通過(guò)外圍電路采集電源的電壓、溫度等狀態(tài)信息,通過(guò)通用同步異步收發(fā)機(jī)(universal synchronous asychronous receiver transmitter,USART)接口傳輸給通信模塊。同時(shí),通信模塊通過(guò)USART接口接收到電源的GPS定位信息之后,將定位信息和狀態(tài)信息進(jìn)行數(shù)據(jù)打包,并封裝協(xié)議幀發(fā)送至云服務(wù)器進(jìn)行數(shù)據(jù)處理。
本文主控芯片使用意法半導(dǎo)體生產(chǎn)的STM32F103[3]。電量檢測(cè)電路選用STM32F103內(nèi)部自帶的模/數(shù)轉(zhuǎn)換器(analog to digital converter,ADC),通過(guò)單片機(jī)的PA0口與上拉電阻R8和下拉電阻R10組成的分壓電路可直接對(duì)電源電量進(jìn)行檢測(cè),可由式(1)計(jì)算得出
(1)
式中Vo為測(cè)量電壓,Vi為輸入電壓。采用下拉電容C16和C18濾除雜波來(lái)確保測(cè)量精度。
溫度測(cè)量電路主要采用一種“一線總線”接口的溫度傳感器DS18B20。DS18B20的數(shù)據(jù)線與單片機(jī)的PB12引腳相連,通過(guò)上拉電阻的方式進(jìn)行數(shù)據(jù)采集。溫度采集精度為±0.5 ℃。
由于本文使用的單線圈宏發(fā)磁保持繼電器需要正負(fù)脈沖作為其打開(kāi)閉合的激發(fā)信號(hào),所以本文設(shè)計(jì)了由LTV—816和UD2—4.5NU組成的脈沖激發(fā)電路,其電路圖如圖1所示。
圖1 脈沖激發(fā)電路
系統(tǒng)對(duì)電壓精度要求比較高,因此選用LTV—816作為光耦合器。LTV—816作為信號(hào)隔離的接口器件,可以大大增加電路的可靠性,而且利用線性光耦合器可構(gòu)成光耦反饋電路,通過(guò)調(diào)節(jié)控制端電流來(lái)改變占空比,達(dá)到精密穩(wěn)壓目的。同時(shí)光耦可以完成電—光—電的轉(zhuǎn)換,從而達(dá)到輸入信號(hào)與輸出信號(hào)隔離的作用[4]。UD2—4.5NU為一個(gè)單刀雙擲開(kāi)關(guān),通過(guò)管腳3與管腳2,管腳4的閉合關(guān)斷以及管腳6與管腳5,管腳7的閉合關(guān)斷來(lái)形成一個(gè)±12 V的脈沖作為單線圈宏發(fā)磁保持繼電器的激發(fā)信號(hào),從而控制電路的充放電狀態(tài),達(dá)到電源保護(hù)的目的。
本文通信模塊選用具有4 G傳輸功能和GPS定位功能[5]的SIM808模塊[6]。電路圖如圖2所示。為了實(shí)時(shí)獲取設(shè)備位置信息,需要SIM808模塊實(shí)時(shí)處于開(kāi)機(jī)狀態(tài),所以使用R25作為下拉電阻來(lái)實(shí)現(xiàn)模塊的上電自啟動(dòng)。本模塊通過(guò)SIM_TXD串口和SIM_RXD串口實(shí)現(xiàn)與SIM卡的通信,以此獲得網(wǎng)絡(luò)支持。圖中電感R20和電阻R21采用上拉的方式為GPS天線的射頻引腳提供阻抗匹配,以保證線路阻抗和負(fù)載阻抗處于最佳傳輸狀態(tài)。
圖2 SIM808模塊電路
為使系統(tǒng)能夠穩(wěn)定運(yùn)行,高并發(fā)的服務(wù)器軟件是系統(tǒng)的重要組成部分之一,在一定程度上決定了該系統(tǒng)的根本性能。服務(wù)器采用分層式結(jié)構(gòu)進(jìn)行設(shè)計(jì),主要包括三層:硬件網(wǎng)絡(luò)接入層、API管理層和應(yīng)用(App)展示層。整體結(jié)構(gòu)圖如圖3所示。硬件網(wǎng)絡(luò)接入層主要接收來(lái)自電源數(shù)據(jù)采集單元的數(shù)據(jù)并進(jìn)行打包;API管理層主要進(jìn)行數(shù)據(jù)處理和報(bào)警系統(tǒng)管理,Redis和MYSQL進(jìn)行數(shù)據(jù)存儲(chǔ);App展示層進(jìn)行數(shù)據(jù)展示,包括實(shí)時(shí)監(jiān)控、工區(qū)與設(shè)備管理和歷史數(shù)據(jù)查詢(xún)[7]。
圖3 服務(wù)器整體結(jié)構(gòu)
硬件網(wǎng)絡(luò)接入層主要基于T-io技術(shù)框架結(jié)構(gòu)編程,以提高系統(tǒng)吞吐量。為了實(shí)現(xiàn)高負(fù)載和高并發(fā),所以采用非阻塞(NIO)的模式[8]。此模式為雙向通道,可以同時(shí)在通道上發(fā)送和讀取數(shù)據(jù),可以提高程序的執(zhí)行效率。當(dāng)啟動(dòng)框架配置之后,T-io框架數(shù)據(jù)接口訪問(wèn)設(shè)備IP,并通過(guò)TCP/IP協(xié)議將電源數(shù)據(jù)采集單元的數(shù)據(jù)進(jìn)行打包,通過(guò)Zbus消息隊(duì)列傳至API管理層。
數(shù)據(jù)總體管理結(jié)構(gòu)如圖4所示。小程序訪問(wèn)接口或Web瀏覽器訪問(wèn)接口通過(guò)數(shù)據(jù)管理接口調(diào)用Redis和MYSQL數(shù)據(jù)庫(kù)中的數(shù)據(jù)。其中MYSQL數(shù)據(jù)庫(kù)中可以存放所有數(shù)據(jù),包括報(bào)警記錄、工區(qū)設(shè)備、用戶(hù)和歷史數(shù)據(jù)等。而Redis中主要存放調(diào)用比較頻繁的一些數(shù)據(jù),包括實(shí)時(shí)數(shù)據(jù)、報(bào)警規(guī)則和用戶(hù)Session等信息。Redis為高性能的Key-value數(shù)據(jù)庫(kù),采用HashMap的方式存放數(shù)據(jù)結(jié)構(gòu)[9]。HashMap的優(yōu)勢(shì)是查找和操作的時(shí)間復(fù)雜度為0,可以減少系統(tǒng)訪問(wèn)數(shù)據(jù)庫(kù)的壓力,提高系統(tǒng)性能。
圖4 數(shù)據(jù)總體管理結(jié)構(gòu)
由于JFinal具有MVC架構(gòu),設(shè)計(jì)精巧,使用簡(jiǎn)單,遵循OCO原則,在ActiveRecord的支持下,可以是數(shù)據(jù)庫(kù)開(kāi)發(fā)到極致,所以App展示層采用JFinal為主體框架[10]。以RESTful為數(shù)據(jù)接口,RESTful在調(diào)用一個(gè)接口時(shí)可以不用考慮上下文,不用考慮當(dāng)前的狀態(tài),這就極大地降低了復(fù)雜度[11]。用Shiro安全框架來(lái)處理身份驗(yàn)證、授權(quán)、密碼以及會(huì)話管理,以保證用戶(hù)登錄信息的安全。在App展示層與API管理層利用RPC作為業(yè)務(wù)橋梁,App展示層通過(guò)Zbus消息隊(duì)列實(shí)現(xiàn)RPC來(lái)調(diào)用API管理層的接口,從而實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)展示層與業(yè)務(wù)邏輯層的分離,便于后期軟件維護(hù)升級(jí)。
為了提高用戶(hù)使用體驗(yàn)感,減少用戶(hù)手機(jī)使用內(nèi)存,本文采用了“用完即走”特性的微信小程序進(jìn)行開(kāi)發(fā),實(shí)現(xiàn)與用戶(hù)實(shí)時(shí)交互的功能。微信小程序端的設(shè)計(jì)包括數(shù)據(jù)動(dòng)態(tài)獲取和用戶(hù)交互界面的設(shè)計(jì)。通過(guò)Request請(qǐng)求以Post方法動(dòng)態(tài)向服務(wù)器請(qǐng)求數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)動(dòng)態(tài)獲取。采用框架設(shè)計(jì)的標(biāo)簽語(yǔ)言WXML,結(jié)合基礎(chǔ)組件、事件系統(tǒng),構(gòu)建出各個(gè)頁(yè)面的結(jié)構(gòu),通過(guò)樣式語(yǔ)言WXSS描述 WXML 的組件樣式,再利用JavaScript腳本通過(guò)Https協(xié)議實(shí)現(xiàn)向服務(wù)器發(fā)起請(qǐng)求,動(dòng)態(tài)獲取數(shù)據(jù)驅(qū)動(dòng)WXML進(jìn)行實(shí)時(shí)渲染。用戶(hù)交互界面通過(guò)對(duì)地圖軟件的調(diào)用,實(shí)現(xiàn)地圖信息查詢(xún)功能。功能菜單頁(yè)列出工區(qū)管理、數(shù)據(jù)查看、設(shè)備管理與報(bào)警設(shè)置四個(gè)功能。工區(qū)管理和設(shè)備管理實(shí)現(xiàn)對(duì)工區(qū)和設(shè)備的增刪查改,數(shù)據(jù)查看實(shí)現(xiàn)對(duì)歷史數(shù)據(jù)的查看,報(bào)警設(shè)置實(shí)現(xiàn)對(duì)報(bào)警規(guī)則的設(shè)置和修改。
電源在充放電過(guò)程中出現(xiàn)的過(guò)充過(guò)放情況都會(huì)導(dǎo)致電源損傷影響電源壽命。測(cè)試條件:放電時(shí)用電源(容量為100 Ah)給功率為300 W的用電設(shè)備供電,直至電源電量降至臨界值,之后用C300充電器(輸出電壓14.6 V,輸出電流10 A)對(duì)電源進(jìn)行充電。為了獲得可靠電量信息,此處軟件處理部分對(duì)ADC數(shù)據(jù)進(jìn)行10次采集并求平均值得出最后的實(shí)際電量,精度可達(dá)±0.01 V。
圖5 電量測(cè)試
放電曲線中,電源在初始階段電壓快速下降,之后進(jìn)入電源的平臺(tái)區(qū),電壓變化緩慢。在電源電量接近放完時(shí),電源負(fù)載電壓開(kāi)始急劇下降,直至達(dá)到放電截止電壓。充電曲線中,在充電初始階段由于電源處于低電量狀態(tài),所以此時(shí)充電速率較快。之后充電過(guò)程進(jìn)入平緩階段,電量變化緩慢。當(dāng)電源電量接近滿(mǎn)電狀態(tài)時(shí)電源進(jìn)入虛充狀態(tài),直至達(dá)到充電截止電壓。綜上所述,充電和放電曲線符合電源充放電特性,表明系統(tǒng)的電量監(jiān)測(cè)功能達(dá)到設(shè)計(jì)需求,且具有較高的可靠性。
客戶(hù)端的功能主要包括對(duì)電源工作狀態(tài)實(shí)時(shí)監(jiān)控和位置信息查詢(xún)。圖6為客戶(hù)端界面。
圖6 客戶(hù)端界面
在一個(gè)工區(qū)中有三條測(cè)試線,每條測(cè)試線有12個(gè)電源設(shè)備,共36個(gè)電源設(shè)備。電源的工作狀態(tài)由顏色區(qū)分可分為三種狀態(tài):綠色為工作正常,黃色為需要充電,紅色為電源故障。在客戶(hù)端可以快速定位需充電或發(fā)生故障的電源的地理位置,及時(shí)對(duì)電源進(jìn)行充電或故障維修,以保證勘探工程的順利進(jìn)行。對(duì)于GPS定位,主要采用GPS坐標(biāo)轉(zhuǎn)火星坐標(biāo)進(jìn)行定位,經(jīng)過(guò)實(shí)際測(cè)量定位精確度在5 m以?xún)?nèi),達(dá)到實(shí)際定位需求。
本文設(shè)計(jì)實(shí)現(xiàn)了一種基于物聯(lián)網(wǎng)的智能電源監(jiān)控系統(tǒng)。系統(tǒng)由電源數(shù)據(jù)采集單元、云服務(wù)器和客戶(hù)端組成。電源數(shù)據(jù)采集單元采集數(shù)據(jù)之后通過(guò)GPRS網(wǎng)絡(luò)傳輸至云服務(wù)器,實(shí)現(xiàn)對(duì)數(shù)據(jù)的處理與存儲(chǔ),客戶(hù)端以Post方法動(dòng)態(tài)向服務(wù)器請(qǐng)求數(shù)據(jù),使電源數(shù)據(jù)達(dá)到界面化顯示的效果,實(shí)現(xiàn)了對(duì)電源工作狀態(tài)的實(shí)時(shí)監(jiān)控和位置跟蹤。最終,本系統(tǒng)實(shí)現(xiàn)了對(duì)電源狀態(tài)的實(shí)時(shí)遠(yuǎn)程監(jiān)控、電源位置信息追蹤和電源特性分析。相較于傳統(tǒng)電源提高了電源的使用壽命和安全性。通過(guò)對(duì)定位信息的獲取減少了電源的人為損耗,在地震勘探中具有很大的實(shí)際應(yīng)用價(jià)值。