基于nRF905的低功耗油井?dāng)?shù)據(jù)采集系統(tǒng)
摘要: 本文介紹了一種基于nRF905的低功耗油井?dāng)?shù)據(jù)采集系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)。
關(guān)鍵詞: nRF905無線收發(fā)器; C8051F; 低功耗; 頻分多址;USB
引言
油田油井?dāng)?shù)量多且分布范圍由幾十至上百平方公里,分布比較零散,一些注水,注汽井現(xiàn)場沒有電源,沒有專人值班。目前大多采用人工巡井方式,由工人定時(shí)檢查設(shè)備運(yùn)行情況并記錄采油數(shù)據(jù)。以前使用的儀表操作繁瑣,需要關(guān)閉閥門安裝傳感器,測量完畢后還要卸下傳感器以免丟失,工人勞動(dòng)強(qiáng)度大,影響設(shè)采油數(shù)據(jù)的準(zhǔn)確性。
本系統(tǒng)基于nRF905無線收發(fā)器的數(shù)據(jù)采集,現(xiàn)場智能變送器由電池供電,功耗低,無需外部供電可持續(xù)工作一年以上。另外變送器經(jīng)過特殊防盜設(shè)計(jì),無專用工具無法拆下。工人通過手持式數(shù)據(jù)采集器甚至不用停車,在50M范圍內(nèi)就可以接收到變送器的信息并顯示在液晶顯示器上,測量結(jié)束后自動(dòng)存儲。數(shù)據(jù)超出正常范圍時(shí),會告警提示。管理計(jì)算機(jī)通過手持式數(shù)據(jù)采集器的USB接口讀取存儲的測量數(shù)據(jù)并存入數(shù)據(jù)庫。數(shù)據(jù)采集系統(tǒng)框圖示于圖1。
圖1 數(shù)據(jù)采集系統(tǒng)框圖
硬件設(shè)計(jì)
智能變送器硬件選擇了支持低功耗工作模式的C8051F350單片機(jī)和nRF905射頻模塊,使用32768Hz的低頻晶振,采用1節(jié)5號鋰電池供電。圖2為智能變送器的框圖。
圖2 智能變送器框圖
手持式數(shù)據(jù)采集器硬件選擇了支持低功耗工作模式帶有USB接口的C8051F340單片機(jī)、nRF905射頻模塊、存儲器、實(shí)時(shí)時(shí)鐘、充電電路等,使用32 768 Hz的低頻晶振,采用可充電的260mAH鋰電池供電。圖3為手持式數(shù)據(jù)采集器的框圖。
圖3 手持式數(shù)據(jù)采集器框圖
C8051F350是Silabs公司的一款精確混合信號單片機(jī),片內(nèi)有8通道24bit的S-D型ADC,128倍PGA,電流型DAC,VREF等模擬外設(shè),可以方便地和溫度壓力等傳感器直接連接。使用電流型DAC對傳感器進(jìn)行激勵(lì),傳感器的輸出信號經(jīng)片內(nèi)128倍PGA放大后進(jìn)行A/D轉(zhuǎn)換,無需額外的信號調(diào)理電路。片內(nèi)8K FLASH,可在線編程和改寫,傳感器的標(biāo)定參數(shù)可以在FLASH中存儲,節(jié)省片外存儲器。
C8051F340是Silabs公司生產(chǎn)的一款帶USB2.0接口的單片機(jī),支持全速(12Mbps)和低速(1.5Mbps)模式;帶專門的1KByte USB 緩沖存儲器;集成USB收發(fā)器,無需外部電阻。64K Flash程序存儲器,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ī);可以簡化軟件設(shè)計(jì)和硬件成本。使用非常方便;內(nèi)建空閑模式 與關(guān)機(jī)模式,易于實(shí)現(xiàn)節(jié)能。nRF905適用于無線數(shù)據(jù)通信、汽車、遙感勘測等諸多領(lǐng)域。天線的設(shè)計(jì)是整個(gè)系統(tǒng)設(shè)計(jì)的一個(gè)重要的環(huán)節(jié),nRF905支持使用PCB環(huán)行差分天線,可以節(jié)省空間,降低生產(chǎn)成本。應(yīng)用原理圖見圖4。
圖4 nRF905與MCU的電路原理圖
手持式數(shù)據(jù)采集器硬件還包括片外存儲器和實(shí)時(shí)時(shí)鐘電路,片外存儲器選用Microchip公司的24AA系列,I2C接口,最低工作電壓1.8V,待機(jī)電流1mA。實(shí)時(shí)時(shí)鐘選用NXP公司的PCF8563T,I2C接口,最低工作電壓1.0V,最低工作電流0.25mA。非常適合電池供電的低功耗應(yīng)用。
手持式數(shù)據(jù)采集采用專用的鋰離子充電管理芯片來對電池進(jìn)行充電管理,在USB接口連接后自動(dòng)進(jìn)行充電,軟件上添加電池電壓監(jiān)測模塊來避免充電時(shí)間過長。
軟件設(shè)計(jì)
軟件是在Keil uVision2 下,使用C語言開發(fā)的。C8051F系列有硬件SPI接口,簡化了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ì)相對復(fù)雜,除nRF905的驅(qū)動(dòng)程序外,還要編寫USB驅(qū)動(dòng)程序,液晶顯示驅(qū)動(dòng)程序,按鍵驅(qū)動(dòng)模塊,時(shí)鐘模塊,電池電壓檢測模塊、PCA定時(shí)模塊,數(shù)據(jù)讀寫模塊,文件系統(tǒng)(數(shù)據(jù)的存儲,壓縮,查找等功能模塊),命令解釋模塊等供主程序調(diào)用。主程序是一個(gè)事件驅(qū)動(dòng)為主的任務(wù)調(diào)度程序,按照預(yù)先設(shè)定優(yōu)先級來執(zhí)行各模塊。沒有事件發(fā)生時(shí)主程序切換到低速節(jié)電模式,除實(shí)時(shí)時(shí)鐘外關(guān)閉其他的功能模塊,消耗很低的電流直到有外部事件喚醒。可喚醒主程序的外部事件有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ī)模式。此時(shí)只有電池電壓檢測模塊和實(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)場智能變送器的測量數(shù)據(jù)并自動(dòng)存儲。存儲內(nèi)容包括測量時(shí)間,變送器序列號,測試數(shù)據(jù),變送器狀態(tài)等信息。每天的測試數(shù)據(jù)形成一個(gè)文件,即可在本機(jī)查詢,也可通過USB接口傳給管理計(jì)算機(jī)進(jìn)行分析和存儲。
管理計(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ī)對手持式數(shù)據(jù)采集器之間的串口通信。具體包括: 初始化并驅(qū)動(dòng)其開始工作,主動(dòng)搜索從USB器件,完成鏈接,并將指令執(zhí)行狀態(tài)及搜索到的設(shè)備地址顯示出來;控制與從USB器件的通信,對接收到 的數(shù)據(jù)進(jìn)行處理,實(shí)時(shí)刷新數(shù)據(jù),顯示溫度、濕度、壓力傳感器的測量結(jié)果。利用其他控件實(shí)現(xiàn)對無線智能傳感器數(shù)據(jù)的分析、顯示和操作。
每一臺智能變送器都有一個(gè)唯一的序列號,在管理計(jì)算機(jī)的數(shù)據(jù)庫中有相應(yīng)變送器的詳細(xì)信息,如變送器類型、生產(chǎn)時(shí)間、安裝時(shí)間、安裝地點(diǎn)、量程、維修記錄等。提供根據(jù)序列號查詢歷史數(shù)據(jù),曲線等功能。
每一臺手持式數(shù)據(jù)采集器同樣有一個(gè)唯一的序列號,采集器可以讀取多臺智能變送器的測量數(shù)據(jù),管理者可以根據(jù)采集數(shù)據(jù)中的變送器序列號和采集時(shí)間來考核操作者的工作。
結(jié)語
筆者設(shè)計(jì)的基于nRF905的低功耗油井?dāng)?shù)據(jù)采集系統(tǒng)具有安裝簡單,系統(tǒng)投資少,可擴(kuò)展性強(qiáng),使用和維護(hù)的費(fèi)用低等優(yōu)點(diǎn)。大大提高了數(shù)據(jù)采集的效率和可靠性,實(shí)現(xiàn)了參數(shù)測量的自動(dòng)化。在有條件的地方還可以結(jié)合其他如GPRS,Internet等技術(shù)實(shí)現(xiàn)無需人員參與的全自動(dòng)測量。目前該系統(tǒng)在大慶油田的注水井壓力測量、燃?xì)夤艿缐毫y量等多個(gè)場所得到了具體的應(yīng)用,系統(tǒng)工作可靠穩(wěn)定。
參考文獻(xiàn):
1. C8051F350數(shù)據(jù)手冊,http://www.xhl.com.cn
2. C8051F340數(shù)據(jù)手冊,http://www.xhl.com.cn
3. NRF905數(shù)據(jù)手冊,http://www.freqchina.com
評論