引 言
油田油井?dāng)?shù)目多且分布范圍由幾十至上百平方公里,分布比較零散,一些注水,注汽井現(xiàn)場(chǎng)沒有電源,沒有專人值班。目前大多采用人工巡井方式,由工人定時(shí)檢查設(shè)備運(yùn)行情況并記錄采油數(shù)據(jù)。以前使用的儀表操縱繁瑣,需要封閉閥門安裝傳感器,丈量完畢后還要卸下傳感器以免丟失,工人勞動(dòng)強(qiáng)度大,影響設(shè)采油數(shù)據(jù)的正確性。
本系統(tǒng)基于nRF905無線收發(fā)器的數(shù)據(jù)采集,現(xiàn)場(chǎng)智能變送器由電池供電,功耗低,無需外部供電可持續(xù)工作一年以上。另外變送器經(jīng)過特殊防盜設(shè)計(jì),無專用工具無法拆下。工人通過手持式數(shù)據(jù)采集器甚至不用停車,在50M范圍內(nèi)就可以接收到變送器的信息并顯示在液晶顯示器上,丈量結(jié)束后自動(dòng)存儲(chǔ)。數(shù)據(jù)超出正常范圍時(shí),會(huì)告警提示。治理計(jì)算機(jī)通過手持式數(shù)據(jù)采集器的USB接口讀取存儲(chǔ)的丈量數(shù)據(jù)并存進(jìn)數(shù)據(jù)庫。數(shù)據(jù)采集系統(tǒng)框圖示于圖1。
硬件設(shè)計(jì)
智能變送器硬件選擇了支持低功耗工作模式的C8051F350單片機(jī)和nRF905射頻模塊,使用32768Hz的低頻晶振,采用1節(jié)5號(hào)鋰電池供電。圖2為智能變送器的框圖。
手持式數(shù)據(jù)采集器硬件選擇了支持低功耗工作模式帶有USB接口的C8051F340單片機(jī)、nRF905射頻模塊、存儲(chǔ)器、實(shí)時(shí)時(shí)鐘、充電電路等,使用32 768 Hz的低頻晶振,采用可充電的260mAH鋰電池供電。圖3為手持式數(shù)據(jù)采集器的框圖。
C8051F350是Silabs公司的一款精確混合信號(hào)單片機(jī),片內(nèi)有8通道24bit的S-D型ADC,128倍PGA,電流型DAC,VREF等模擬外設(shè),可以方便地和溫度壓力等傳感器直接連接。使用電流型DAC對(duì)傳感器進(jìn)行激勵(lì),傳感器的輸出信號(hào)經(jīng)片內(nèi)128倍PGA放大后進(jìn)行A/D轉(zhuǎn)換,無需額外的信號(hào)調(diào)理電路。片內(nèi)8K FLASH,可在線編程和改寫,傳感器的標(biāo)定參數(shù)可以在FLASH中存儲(chǔ),節(jié)省片外存儲(chǔ)器。
C8051F340是Silabs公司生產(chǎn)的一款帶USB2.0接口的單片機(jī),支持全速(12Mbps)和低速(1.5Mbps)模式;帶專門的1KByte USB 緩沖存儲(chǔ)器;集成USB收發(fā)器,無需外部電阻。64K Flash程序存儲(chǔ)器,4352Byte數(shù)據(jù)RAM;供電電壓2.7~5.25V,可以直接由USB接口供電。處理速度可以達(dá)到48MIPS,能夠滿足手持式數(shù)據(jù)采集器的要求。
nRF905是挪威Nordic VLSI公司的單片射頻收發(fā)器,低電壓工作,功耗非常低,工作于433/868/915MHz三個(gè)ISM頻段,在每個(gè)頻段內(nèi)支持多個(gè)頻道且頻道之間的轉(zhuǎn)換時(shí)間小于650 ms。利用這個(gè)特性使用頻分多址的方法無需復(fù)雜協(xié)議即可實(shí)現(xiàn)多個(gè)傳感器共同工作而不互相干擾。ShockBurst工作模式能自動(dòng)處理字頭和CRC(循環(huán)冗余碼校驗(yàn))。通過SPI串口與單片機(jī)通訊,無需使用功能更強(qiáng)的單片機(jī);可以簡(jiǎn)化軟件設(shè)計(jì)和硬件本錢。使用非常方便;內(nèi)建空閑模式 與關(guān)機(jī)模式,易于實(shí)現(xiàn)節(jié)能。nRF905適用于無線數(shù)據(jù)通訊、汽車、遠(yuǎn)感勘測(cè)等諸多領(lǐng)域。天線的設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的一個(gè)重要的環(huán)節(jié),nRF905支持使用PCB環(huán)行差分天線,可以節(jié)省空間,降低生產(chǎn)本錢。應(yīng)用原理圖見圖4。
手持式數(shù)據(jù)采集器硬件還包括片外存儲(chǔ)器和實(shí)時(shí)時(shí)鐘電路,片外存儲(chǔ)器選用Microchip公司的24AA系列,I2C接口,最低工作電壓1.8V,待機(jī)電流1mA。實(shí)時(shí)時(shí)鐘選用NXP公司的PCF8563T,I2C接口,最低工作電壓1.0V,最低工作電流0.25mA。非常適合電池供電的低功耗應(yīng)用。
手持式數(shù)據(jù)采集采用專用的鋰離子充電治理芯片來對(duì)電池進(jìn)行充電治理,在USB接口連接后自動(dòng)進(jìn)行充電,軟件上添加電池電壓監(jiān)測(cè)模塊來避免充電時(shí)間過長。
軟件設(shè)計(jì)
軟件是在Keil uVision2 下,使用C語言開發(fā)的。C8051F系列有硬件SPI接口,簡(jiǎn)化了nRF905的驅(qū)動(dòng)程序的編寫。nRF905的驅(qū)動(dòng)程序包括初始化,數(shù)據(jù)包的讀寫,頻道設(shè)置,功率設(shè)置等通用函數(shù)。調(diào)試完成后封裝成函數(shù)庫,供智能變送器和手持式數(shù)據(jù)采集器調(diào)用。
智能變送器軟件
智能變送器的軟件除nRF905的驅(qū)動(dòng)程序外,還有A/D轉(zhuǎn)換模塊,傳感器標(biāo)定模塊,定時(shí)喚醒模塊及主函數(shù)組成。上電后,主函數(shù)高速運(yùn)行,進(jìn)行初始化,A/D采樣,控制nRF905發(fā)送采集數(shù)據(jù),然后切換到低速節(jié)電模式運(yùn)行,休眠一段時(shí)間后喚醒重復(fù)上述過程。工作時(shí)間和休眠時(shí)間的比值為1:100,均勻電流50mA左右,使用2100mAH的電池理論上可以使用4.7年。
手持式數(shù)據(jù)采集器軟件
手持式數(shù)據(jù)采集器的軟件設(shè)計(jì)相對(duì)復(fù)雜,除nRF905的驅(qū)動(dòng)程序外,還要編寫USB驅(qū)動(dòng)程序,液晶顯示驅(qū)動(dòng)程序,按鍵驅(qū)動(dòng)模塊,時(shí)鐘模塊,電池電壓檢測(cè)模塊、PCA定時(shí)模塊,數(shù)據(jù)讀寫模塊,文件系統(tǒng)(數(shù)據(jù)的存儲(chǔ),壓縮,查找等功能模塊),命令解釋模塊等供主程序調(diào)用。主程序是一個(gè)事件驅(qū)動(dòng)為主的任務(wù)調(diào)度程序,按照預(yù)先設(shè)定優(yōu)先級(jí)來執(zhí)行各模塊。沒有事件發(fā)生時(shí)主程序切換到低速節(jié)電模式,除實(shí)時(shí)時(shí)鐘外封閉其他的功能模塊,消耗很低的電流直到有外部事件喚醒。可喚醒主程序的外部事件有USB接口連接或斷開、按鍵事件、定時(shí)器事件等。假如是USB接口連接事件喚醒,單片機(jī)以最高速度運(yùn)行(48MHz)主程序執(zhí)行USB驅(qū)動(dòng)的初始化及連接任務(wù),與主機(jī)進(jìn)行連接,根據(jù)主機(jī)發(fā)送的命令來完成預(yù)定的功能。超過規(guī)定時(shí)間沒有與主機(jī)的數(shù)據(jù)通訊,主程序自動(dòng)進(jìn)進(jìn)待機(jī)模式。此時(shí)只有電池電壓檢測(cè)模塊和實(shí)時(shí)時(shí)鐘模塊工作直到發(fā)生USB斷開事件,此時(shí)主程序?qū)⑿遁dUSB驅(qū)動(dòng)程序,斷開與主機(jī)的連接。
軟件設(shè)計(jì)支持在運(yùn)行中更改nRF905的頻道,以便在一個(gè)工作區(qū)域內(nèi)(通訊半徑,50~100M)支持多個(gè)智能傳感器共同工作。根據(jù)設(shè)定頻率依次讀取現(xiàn)場(chǎng)智能變送器的丈量數(shù)據(jù)并自動(dòng)存儲(chǔ)。存儲(chǔ)內(nèi)容包括丈量時(shí)間,變送器序列號(hào),測(cè)試數(shù)據(jù),變送器狀態(tài)等信息。天天的測(cè)試數(shù)據(jù)形成一個(gè)文件,即可在本機(jī)查詢,也可通過USB接口傳給治理計(jì)算機(jī)進(jìn)行分析和存儲(chǔ)。
治理計(jì)算機(jī)處理軟件
為了治理采集數(shù)據(jù),需要在主機(jī)上建立良好的人機(jī)交互界面。采用Visual Basic(VB)來設(shè)計(jì)人機(jī)界面,開發(fā)應(yīng)用程序。將USB驅(qū)動(dòng)控件和指令封裝在函數(shù)中,實(shí)現(xiàn)PC機(jī)對(duì)手持式數(shù)據(jù)采集器之間的串口通訊。具體包括: 初始化并驅(qū)動(dòng)其開始工作,主動(dòng)搜索從USB器件,完成鏈接,并將指令執(zhí)行狀態(tài)及搜索到的設(shè)備地址顯示出來;控制與從USB器件的通訊,對(duì)接收到 的數(shù)據(jù)進(jìn)行處理,實(shí)時(shí)刷新數(shù)據(jù),顯示溫度、濕度、壓力傳感器的丈量結(jié)果。利用其他控件實(shí)現(xiàn)對(duì)無線智能傳感器數(shù)據(jù)的分析、顯示和操縱。
每一臺(tái)智能變送器都有一個(gè)唯一的序列號(hào),在治理計(jì)算機(jī)的數(shù)據(jù)庫中有相應(yīng)變送器的具體信息,如變送器類型、生產(chǎn)時(shí)間、安裝時(shí)間、安裝地點(diǎn)、量程、維修記錄等。提供根據(jù)序列號(hào)查詢歷史數(shù)據(jù),曲線等功能。
&nb