劉岳鵬+蔡睿
摘 要:針對火箭發(fā)動機(jī)試驗過程中的參數(shù)監(jiān)測問題,提出一種采用ZigBee技術(shù)的無線監(jiān)控系統(tǒng)。發(fā)動機(jī)運行中的溫度、壓力和振動數(shù)據(jù)由傳感器節(jié)點采集,并通過搭建ZigBee無線通信網(wǎng)絡(luò)將數(shù)據(jù)傳輸?shù)街行膮f(xié)調(diào)器;協(xié)調(diào)器與上位機(jī)通過串口連接,將數(shù)據(jù)發(fā)送到計算機(jī)中;另外,采用LabVIEW設(shè)計上位機(jī)監(jiān)測軟件對數(shù)據(jù)進(jìn)行獲取,并存儲到Access數(shù)據(jù)庫中,最終實現(xiàn)對試驗參數(shù)的無線監(jiān)控任務(wù)。測試結(jié)果顯示,系統(tǒng)可以穩(wěn)定有效地測量溫度、壓力和振動信息,為后續(xù)發(fā)動機(jī)試驗搭載任務(wù)的實施奠定了基礎(chǔ)。
關(guān)鍵詞:ZigBee;無線監(jiān)控;試驗臺;LabVIEW
為確?;鸺l(fā)動機(jī)的正常工作,在系統(tǒng)測試階段需要對運行時的各類參數(shù)進(jìn)行采集和傳輸[1]。在傳統(tǒng)監(jiān)測方式中,通常需要預(yù)布大量線纜,且為了保證安全,監(jiān)控室與試驗臺通常相距100 m,甚至更遠(yuǎn)。在火箭發(fā)動機(jī)工作時,周圍環(huán)境屬于超高溫狀態(tài),需要對電纜進(jìn)行額外隔熱防護(hù)。本文提出一種采用ZigBee無線傳感器網(wǎng)絡(luò)技術(shù)對火箭發(fā)動機(jī)試驗臺進(jìn)行監(jiān)控的方法,在LabVIEW開發(fā)環(huán)境下編寫上位機(jī)監(jiān)測軟件,對發(fā)動機(jī)試驗過程中的參數(shù)進(jìn)行實時監(jiān)控,確保試驗任務(wù)順利進(jìn)行。
1 系統(tǒng)硬件設(shè)計
本系統(tǒng)的硬件設(shè)計部分主要是ZigBee無線傳感器網(wǎng)絡(luò)的搭建,其功能是實現(xiàn)對發(fā)動機(jī)運行數(shù)據(jù)的實時采集和傳輸,包括一個網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點、若干路由器和傳感器節(jié)點。
ZigBee網(wǎng)絡(luò)節(jié)點采用TI公司的CC2530芯片[2]作為網(wǎng)絡(luò)搭建和數(shù)據(jù)處理的核心。協(xié)調(diào)器節(jié)點和傳感器節(jié)點的結(jié)構(gòu)框如圖1所示,其中,協(xié)調(diào)器節(jié)點的串口模塊采用CH340芯片和USB接口實現(xiàn),并通過12864液晶屏對數(shù)據(jù)進(jìn)行實時顯示;路由器采用與協(xié)調(diào)器相同的硬件電路,但工作時僅使用CC2530芯片及其外圍模塊;傳感器節(jié)點負(fù)責(zé)參數(shù)采集,需預(yù)留足夠的IO通道與傳感器進(jìn)行連接。
2 系統(tǒng)軟件設(shè)計
2.1 ZigBee無線通信程序設(shè)計
本系統(tǒng)的ZigBee無線通信程序在IAR開發(fā)環(huán)境下編寫,以Z-Stack協(xié)議棧為基礎(chǔ)開發(fā)[3]。其為無線傳感器網(wǎng)絡(luò)的建立提供了包含物理層、MAC層和網(wǎng)絡(luò)層的底層驅(qū)動程序,開發(fā)時只需調(diào)用相應(yīng)的庫函數(shù)就可以實現(xiàn)數(shù)據(jù)通信。
中心協(xié)調(diào)器作為ZigBee網(wǎng)絡(luò)的核心,在上電后啟動和創(chuàng)建無線通信網(wǎng)絡(luò),允許其他從設(shè)備加入該網(wǎng)絡(luò),并為加入網(wǎng)絡(luò)的設(shè)備分配網(wǎng)絡(luò)地址。此后,協(xié)調(diào)器節(jié)點處于一直監(jiān)測無線信號的狀態(tài),當(dāng)檢測到數(shù)據(jù)請求時,會接收并將數(shù)據(jù)轉(zhuǎn)發(fā)至串口端。路由器節(jié)點加入網(wǎng)絡(luò)后,始終處于監(jiān)測無線信號的狀態(tài);當(dāng)檢測到有來自其他設(shè)備的數(shù)據(jù)請求命令時,則對該數(shù)據(jù)包進(jìn)行路由轉(zhuǎn)發(fā)。傳感器加入網(wǎng)絡(luò)后,則根據(jù)程序內(nèi)部已經(jīng)設(shè)定好的時間間隔周期性地對溫度和振動等進(jìn)行采集與發(fā)送,并接收協(xié)調(diào)器的控制指令實現(xiàn)控制。協(xié)調(diào)器、路由器和傳感器節(jié)點的程序流程如圖2所示。
2.2 上位機(jī)監(jiān)測軟件設(shè)計
本系統(tǒng)的上位機(jī)監(jiān)測軟件基于NI公司的LabVIEW開發(fā)平臺進(jìn)行編寫,本軟件在設(shè)計中采用模塊化設(shè)計思路,將總體結(jié)構(gòu)分成數(shù)據(jù)采集、數(shù)據(jù)顯示、數(shù)據(jù)庫訪問和數(shù)據(jù)報警4個部分。作為完整的發(fā)動機(jī)試驗臺監(jiān)控系統(tǒng),各部分模塊之間相互關(guān)聯(lián),實現(xiàn)系統(tǒng)地綜合監(jiān)控和管理。數(shù)據(jù)采集和顯示的作用是將現(xiàn)場的測試結(jié)果實時、清晰地反映給操作人員,讓其能夠隨時了解試驗現(xiàn)場的實際情況。監(jiān)測軟件工作流程如圖3所示。
2.2.1 數(shù)據(jù)采集
CC2530芯片與計算機(jī)的通信可采用串口方式,LabVIEW提供的VISA驅(qū)動程序[4],封裝了串口通信時的相關(guān)函數(shù)。在LabVIEW軟件中可以方便地在程序開發(fā)過程中調(diào)用與串口通信相關(guān)的VI節(jié)點函數(shù),從而實現(xiàn)計算機(jī)與下位機(jī)的通信。
在試驗現(xiàn)場進(jìn)行系統(tǒng)測試時,通過串口數(shù)據(jù)線將協(xié)調(diào)器與計算機(jī)連接,并按照硬件識別的串口號對VISA參數(shù)進(jìn)行設(shè)置,就可以通過串口方式快速、有效地采集試驗中的數(shù)據(jù)。
2.2.2 數(shù)據(jù)顯示
為了實現(xiàn)對試驗臺測試系統(tǒng)的綜合監(jiān)控,需要設(shè)置多組傳感器,才能全面、系統(tǒng)地反映出發(fā)動機(jī)運行的實際情況,所以建立樹型的ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),將所有傳感器節(jié)點采集的數(shù)據(jù)最終都匯聚到協(xié)調(diào)器節(jié)點處,再轉(zhuǎn)發(fā)給上位機(jī)監(jiān)測軟件。當(dāng)LabVIEW軟件接收到數(shù)據(jù)后,根據(jù)系統(tǒng)設(shè)定好的數(shù)據(jù)包格式,對數(shù)據(jù)進(jìn)行拆分和識別,提取出相應(yīng)的溫度、壓力和振動參數(shù),從而將結(jié)果通過波形圖的方式實時顯示在監(jiān)測界面上,使操作人員可以清晰地對試驗數(shù)據(jù)進(jìn)行監(jiān)測。
2.2.3 數(shù)據(jù)庫訪問
在軟件開發(fā)時,可以借助LabSQL工具包來進(jìn)行數(shù)據(jù)管理[5]。在軟件設(shè)計時,可以通過兩種方法實現(xiàn):(1)可以在Windows的控制面板中來創(chuàng)建DSN數(shù)據(jù)源,并與設(shè)計好的Access數(shù)據(jù)庫連接,但這種方法需要手動操作,比較繁瑣。(2)采用LabVIEW中與系統(tǒng)注冊表相關(guān)的函數(shù),通過導(dǎo)入注冊表的方式動態(tài)配置ODBC數(shù)據(jù)源[6],可避免手動添加數(shù)據(jù)源的麻煩。
在LabVIEW監(jiān)測軟件中要實現(xiàn)數(shù)據(jù)的存儲和查詢,只需要調(diào)用相關(guān)函數(shù),并通過SQL語句實現(xiàn)向數(shù)據(jù)庫中添加和查詢歷史數(shù)據(jù)的功能。采用INSERT INTO和SELECT語句對試驗數(shù)據(jù)進(jìn)行存儲和查詢。
2.2.4 數(shù)據(jù)報警
在系統(tǒng)監(jiān)測過程中,通過設(shè)定好溫度、壓力和振動的閾值對數(shù)據(jù)進(jìn)行實時篩選,當(dāng)采集到的傳感器數(shù)據(jù)超出閾值時,與其他傳感器的測量結(jié)果進(jìn)行聯(lián)判,分析是否為單個傳感器異常引起的誤判。若確實為發(fā)動機(jī)狀態(tài)異常,則由上位機(jī)監(jiān)測軟件發(fā)送緊急關(guān)機(jī)指令,由傳感器節(jié)點對試驗臺進(jìn)行關(guān)機(jī)處理,從而避免事故的發(fā)生。
3 系統(tǒng)測試
通過前期的開發(fā)與調(diào)試,對系統(tǒng)進(jìn)行總體功能的綜合測試。將發(fā)動機(jī)試驗臺上已搭載的振動、壓力和溫度傳感器連接到ZigBee傳感器節(jié)點,共布置5個傳感器節(jié)點和1個路由器節(jié)點。由于點火試驗時,現(xiàn)場溫度較高,且存在安全隱患,因此本文在校準(zhǔn)試驗階段進(jìn)行相關(guān)測試活動時,首先啟動ZigBee協(xié)調(diào)器節(jié)點,待無線傳感器網(wǎng)絡(luò)穩(wěn)定后,依次打開傳感器節(jié)點,此時可以在上位機(jī)監(jiān)測軟件中觀測到數(shù)據(jù)信息。此時將協(xié)調(diào)器與監(jiān)測用的筆記本電腦逐漸遠(yuǎn)離試驗臺現(xiàn)場,并同時觀察上位機(jī)中采集到的數(shù)據(jù);當(dāng)協(xié)調(diào)器距離傳感器約50 m左右時,出現(xiàn)間斷性數(shù)據(jù)丟失問題。打開路由器并置于距離傳感器40 m,發(fā)現(xiàn)傳感器的數(shù)據(jù)可以穩(wěn)定接收,且通過數(shù)據(jù)包中的地址信息看出,數(shù)據(jù)通過路由器進(jìn)行了轉(zhuǎn)發(fā),并可將穩(wěn)定傳輸距離延長到80 m左右。通過上位機(jī)軟件可以實時觀察采集到的數(shù)據(jù),并可隨時查詢歷史趨勢曲線。通過調(diào)整參數(shù)報警閾值可以模擬故障情況,測試系統(tǒng)的報警、關(guān)機(jī)功能。
4 結(jié)語
綜上所述,本文講述的試驗臺監(jiān)控系統(tǒng),能夠通過ZigBee無線傳感器網(wǎng)絡(luò)實時、有效地采集數(shù)據(jù),并通過上位機(jī)監(jiān)控軟件對結(jié)果進(jìn)行分析和處理,并實現(xiàn)數(shù)據(jù)采集、存儲、查詢、報警關(guān)機(jī)等多種功能。經(jīng)過系統(tǒng)在非試驗狀態(tài)下的搭載,驗證了無線監(jiān)測系統(tǒng)的穩(wěn)定性和可靠性。
本文的創(chuàng)新點在于:(1)提出了一種采用無線傳感器網(wǎng)絡(luò)技術(shù)對火箭發(fā)動機(jī)試驗進(jìn)行監(jiān)測的方法,避免了布線造成的問題;(2)通過LabVIEW軟件的數(shù)據(jù)庫訪問技術(shù),對試驗數(shù)據(jù)進(jìn)行匯總、存儲和處理龐大的試驗數(shù)據(jù),使試驗數(shù)據(jù)得到有效管理。
[參考文獻(xiàn)]
[1]商霖,廖選平,李璞.固體火箭發(fā)動機(jī)地面熱試車試驗研究[J].強(qiáng)度與環(huán)境,2015(6):36-44.
[2]李正明,侯佳佳,潘天紅,等.基于ZigBee與GPRS的無線水文監(jiān)測系統(tǒng)設(shè)計[J].排灌機(jī)械,2009(3):184-189.
[3]朱琎,楊占勇.基于CC2530的無線振動監(jiān)測傳感器節(jié)點設(shè)計[J].儀表技術(shù)與傳感器,2012(8):56-58,83.
[4]梁國偉,陳方泉,林祖?zhèn)?基于LabVIEW的串口數(shù)據(jù)采集的實現(xiàn)及應(yīng)用[J].現(xiàn)代機(jī)械,2009(5):57-58,72.
[5]唐亞鵬,侯媛彬.基于LabVIEW的實踐教學(xué)平臺與Access數(shù)據(jù)庫的開發(fā)[J].計算機(jī)技術(shù)與發(fā)展,2011(5):219-222.
[6]朱后,彭宇寧.在LabVIEW中動態(tài)配置ODBC數(shù)據(jù)源的方法[J].工業(yè)控制計算機(jī),2006(7):45-46.