張福生,于 峰,張 歡
(中國空間技術(shù)研究院 載人航天總體部,北京 100094)
隨著航天科技的迅速發(fā)展,我國載人航天器類型不斷增多,其規(guī)模和功率呈明顯上升趨勢,與之配套的地面測試設(shè)備往往具有功率大、散熱要求高、環(huán)境控制要求高等特點[1-2]。在航天領(lǐng)域,測試技術(shù)水平很大程度上決定了型號性能的整體水平[3],測試結(jié)果的定量、定性驗證對設(shè)計起到了很大的促進作用,而地面設(shè)備穩(wěn)定工作是精確測試開展的前提,因此需要進一步加強對設(shè)備環(huán)境參數(shù)的有效監(jiān)測。
目前,對于地面設(shè)備的溫度、濕度等環(huán)境參數(shù)的檢測主要使用通用溫濕度計測量、人工記錄的方式開展。測試點只能設(shè)置在視線可及位置,因而不能反映設(shè)備內(nèi)部如功率二極管等關(guān)鍵發(fā)熱元器件的真實環(huán)境,不利于設(shè)備工作狀態(tài)的趨勢判讀;當(dāng)發(fā)生極端燒灼現(xiàn)象時只能靠感官去判讀;具有主觀性,且存在著數(shù)據(jù)記錄實時性差,狀態(tài)記錄時間顆粒度大,無分析預(yù)警及閉環(huán)控制的缺點。本文提出了一種基于STC89C5X系列單片機和Arduino單元的遠程環(huán)境參數(shù)監(jiān)視系統(tǒng)設(shè)計方法[4-5],該系統(tǒng)能夠?qū)囟?、濕度、煙霧濃度等常用環(huán)境參數(shù)進行自動檢測、數(shù)據(jù)回傳、越限報警,且可以通過GSM消息形式遠程預(yù)警[6],從而實現(xiàn)設(shè)備內(nèi)部關(guān)鍵器件環(huán)境的自動、精細監(jiān)視,從環(huán)境參數(shù)角度對航天器綜合測試起到有效反饋作用。
溫濕度等環(huán)境參數(shù)具有緩變的特征,對數(shù)據(jù)處理速度要求不高。系統(tǒng)選用基于單片機的解決方案,在滿足數(shù)據(jù)處理要求的前提下,可有效縮減系統(tǒng)規(guī)模和開發(fā)周期,并降低成本[7-9]。系統(tǒng)由傳感器單元、單片機處理單元、GSM消息發(fā)送單元、主控計算機、用戶客戶端5個部分組成,可實現(xiàn)8路溫度、濕度、煙霧濃度參數(shù)的同步實時監(jiān)測;用戶通過網(wǎng)絡(luò)從主控計算機訂閱數(shù)據(jù)。系統(tǒng)設(shè)計框架與各部分的通信關(guān)系如圖1所示。
圖1 環(huán)境參數(shù)監(jiān)視系統(tǒng)框架圖Fig. 1 Structure of the environmental parameter monitoring system
系統(tǒng)各模塊功能如下:
1)傳感器單元。采集環(huán)境溫度、濕度、煙霧以及越限的報警指示;傳感器端設(shè)固定卡,通過15 m電纜與處理單元連接,可根據(jù)用戶需求固定在包括設(shè)備內(nèi)部在內(nèi)的敏感測點[10-11]。
2)單片機處理單元(含網(wǎng)絡(luò)模塊)。驅(qū)動8路傳感器單元,并接收傳感器單元數(shù)據(jù);驅(qū)動傳感器單元發(fā)出報警指示提示用戶;將數(shù)據(jù)通過串口協(xié)議和TCP/IP協(xié)議發(fā)送給主控計算機單元;如果數(shù)據(jù)越限,則驅(qū)動GSM短信發(fā)送單元發(fā)送短信消息。為便于系統(tǒng)調(diào)試和在網(wǎng)絡(luò)故障狀態(tài)下能夠繼續(xù)進行監(jiān)測,設(shè)計了LCD模塊將數(shù)據(jù)實時顯示在本地LCD1602液晶屏上[12-13]。
3)GSM短信發(fā)送單元。通過參數(shù)越限后向用戶發(fā)送短信預(yù)警提示實現(xiàn)遠程監(jiān)視,可增加系統(tǒng)的可靠性,使報警信息在無人監(jiān)視的情況下也可通知到用戶。本模塊作為系統(tǒng)可選模塊,能夠在管理允許的情況下配置進系統(tǒng),實現(xiàn)系統(tǒng)無人監(jiān)視運行。
4)主控計算機單元。接收單片機處理單元(含網(wǎng)絡(luò)模塊)的數(shù)據(jù),并顯示在主控計算機顯示器上,同時轉(zhuǎn)發(fā)至用戶客戶端單元,如果數(shù)據(jù)越限,則進行顏色、聲音報警。
5)用戶客戶端單元。通過TCP/IP協(xié)議訂閱主控計算機單元發(fā)送的數(shù)據(jù),并顯示在客戶端計算機的顯示器上,具有曲線監(jiān)視功能——如果數(shù)據(jù)越限,則進行顏色、聲音報警。
溫濕度傳感器使用AM2302,該傳感器為數(shù)字式傳感器,其溫度測量精度為±0.2 ℃、濕度測量精度為±2%。煙霧濃度采集功能采用MQ2傳感器,該傳感器輸出為模擬量,可探測煙霧顆粒物占空氣比重范圍10-5~10-2mg/L。
傳感器單元設(shè)計外圍信號調(diào)理電路,實現(xiàn)采集信號的初步處理和越限報警。電路設(shè)計中使用78L05作為穩(wěn)壓芯片,利用555定時器,分別制作2個記憶電路,用于溫度、濕度與煙霧傳感器的越限報警指示,一旦采集數(shù)值越限,將點亮電路中的發(fā)光二極管。選用LM393作電壓比較器,用于判斷煙霧傳感器輸出的模擬電壓是否越限:越限則輸出高電平,否則輸出低電平。
基于單片機處理單元的可靠性與擴展性,同時兼顧傳輸速率與測試網(wǎng)絡(luò)的匹配,系統(tǒng)采用51單片機與Arduino單元結(jié)合的方式實現(xiàn)數(shù)據(jù)處理與網(wǎng)絡(luò)傳輸[14]。
單片機采集單元的處理器采用STC89C5X系列單片機;液晶顯示采用LCD1602;3塊8路模擬開關(guān)芯片采用CD4051芯片,其中1塊用于采集8路溫濕度信息、另1塊用于采集8路煙霧濃度信息、最后1塊為傳輸溫濕度越限報警信號(高電平報警、低電平正常);A/D信號轉(zhuǎn)換芯片采用ADC0832,該芯片與采集煙霧濃度信息的CD4051相連接,將煙霧傳感器采集的模擬量轉(zhuǎn)換為數(shù)字量;與計算機串口通信采用MAX232芯片;配8個RJ11接口,分別與CD4051相連接,最多可以外接8個傳感器單元。
STC89C5X系列單片機內(nèi)部程序共有6個模塊,程序工作流程如圖2所示。
圖2 單片機程序工作流程Fig. 2 Programming process of the micro controller unit
1)LCD模塊
該模塊有LCD初始化函數(shù)、LCD寫數(shù)據(jù)函數(shù)、LCD寫命令函數(shù)、LCD檢測函數(shù)、LCD延時函數(shù)、LCD位置顯示函數(shù)、正常顯示界面函數(shù)、報錯顯示界面函數(shù)共8個函數(shù)。
2)CD4051模塊
該模塊包含1個函數(shù),用于驅(qū)動CD4051芯片,使其可以導(dǎo)通需要選擇的某一路模擬開關(guān)。
3)ADC0832模塊
該模塊有ACD0832延時函數(shù)和驅(qū)動ADC0832工作函數(shù)2個函數(shù)。
4)ADC2302模塊
該模塊有讀傳感器函數(shù)、讀單個字節(jié)函數(shù)、顯示溫度函數(shù)、顯示濕度函數(shù)、串口發(fā)送函數(shù)、校驗失敗函數(shù)、清空數(shù)據(jù)函數(shù)、傳感器延時函數(shù)共8個函數(shù)。
5)GSM模塊
該模塊包含1個函數(shù),為AT初始化函數(shù),發(fā)送AT指令控制GSM模塊進行短信發(fā)送。
6)串口輸出模塊
該模塊有串口初始化函數(shù)、串口輸出單個函數(shù),串口輸出字符串函數(shù)共3個函數(shù)。
7)網(wǎng)絡(luò)模塊
采用數(shù)據(jù)傳輸速率高的Arduino開發(fā)板和Arduino庫函數(shù)進行開發(fā),就像是在對一個類似于物理的計算平臺進行相應(yīng)的連線,所用函數(shù)在龐大的資源庫中調(diào)用即可[15-16]。網(wǎng)絡(luò)模塊程序流程見圖3。
圖3 網(wǎng)絡(luò)模塊程序流程Fig. 3 Program process of network module
采用TC35I芯片進行短信的發(fā)送,選擇主板型號為GTM900C的GSM短信發(fā)送模塊,通過RS232串行接口與單片機處理單元連接。
主控計算機可使用地面測試系統(tǒng)中的普通PC機實現(xiàn),配置串口和2塊以上網(wǎng)卡。主控軟件界面如圖4所示,可對傳感器測量結(jié)果進行實時顯示,并顯示網(wǎng)絡(luò)、串口通信信息。
圖4 上位機軟件主界面Fig. 4 Host software control panel
主控計算機單元軟件采用Visual Studio MFC開發(fā),工作流程如圖5所示,其主要功能如下:
1)主界面功能:包括串口數(shù)據(jù)接收、停止選擇,網(wǎng)絡(luò)數(shù)據(jù)接收、停止選擇,網(wǎng)絡(luò)設(shè)置選擇,數(shù)據(jù)的顯示。2)串口接收功能:接收單片機處理單元通過串口發(fā)送的信息。該功能使用開源的CSerialPort實現(xiàn)。3)網(wǎng)絡(luò)接收功能:使用SOCKET接收網(wǎng)絡(luò)中的數(shù)據(jù),由異步SOCKET編程實現(xiàn)。4)網(wǎng)絡(luò)發(fā)送功能:使用SOCKET向網(wǎng)絡(luò)中發(fā)送數(shù)據(jù),由異步SOCKET編程實現(xiàn)。5)配置文件讀取功能:讀取配置文件,為網(wǎng)絡(luò)發(fā)送與接收功能提供默認信息;配置文件采用XML文件形式,使用TinyXml進行XML文件解析。6)日志生成功能:將接收到的溫度、濕度、煙霧濃度信息存入日志中,以供查看。該功能采用CFile類實現(xiàn)。7)數(shù)據(jù)處理功能:將接收到的數(shù)據(jù)解碼處理,當(dāng)數(shù)據(jù)越限時發(fā)出報警顯示提示用戶,同時具有報警解除功能。
用戶客戶端單元軟件同樣采用Visual Studio MFC開發(fā),具有網(wǎng)絡(luò)接收、顯示、日志生成、數(shù)據(jù)處理、讀取配置文件等功能,設(shè)計方法同主控軟件。程序讀取配置文件,接收采集數(shù)據(jù),然后經(jīng)處理生成日志,并用于生成測試曲線進行趨勢判讀??蛻舳塑浖缑嫒鐖D6所示,用戶通過連接主控機進行傳感器數(shù)據(jù)訂閱及實時觀測。
圖6 客戶端單元軟件界面Fig. 6 Client software control panel
溫濕度和煙霧濃度的測量精度以及傳感器響應(yīng)時間如表1所示。
表1 環(huán)境參數(shù)監(jiān)視系統(tǒng)工作指標Table 1 Specifications of environmental parameter monitoring system
為驗證系統(tǒng)性能,分別開展了溫度、濕度、煙霧濃度監(jiān)視與報警試驗。試驗初始環(huán)境溫度為21.7 ℃,相對濕度32.1%,煙霧含量為0 mg/L;分別設(shè)置各參數(shù)報警閾值為30.0 ℃、75.0%RH、10-3mg/L。試驗結(jié)果表明,當(dāng)傳感器靠近激勵源后,系統(tǒng)采集與數(shù)據(jù)回傳正常,濕度和煙感實施激勵后立即觸發(fā)報警,溫度參數(shù)經(jīng)過一段溫升過程后成功觸發(fā)報警,并分別完成短消息發(fā)送。
針對載人航天器地面測試設(shè)備環(huán)境參數(shù)監(jiān)視要求,基于STC89C5X系列單片機和Arduino單元,提出了一種小型化的遠程參數(shù)監(jiān)視系統(tǒng)設(shè)計。該系統(tǒng)可以實現(xiàn)溫度、濕度、煙霧濃度的同步實時監(jiān)測,可以對設(shè)備內(nèi)部敏感測點進行監(jiān)測,具有測點分布靈活、數(shù)據(jù)連續(xù)可追溯、系統(tǒng)體積小、性價比高的特點。
這種基于單片機的遠程環(huán)境參數(shù)監(jiān)視系統(tǒng)具有良好的移植性,系統(tǒng)支持標準模擬量及數(shù)字量傳感器接入,支持TCP/IP設(shè)備接入,具備多路采集功能。不僅可用于地面設(shè)備環(huán)境測試與集成,也可以擴展至對航天器不同設(shè)備所處環(huán)境的溫濕度測量。無線傳輸模塊為后續(xù)推動自動化測試和測試模式的轉(zhuǎn)型進行了技術(shù)積累,便于在機房等噪聲干擾較大的環(huán)境或人力難以到達的檢測點進行遠程監(jiān)視與反饋,對降低人力要求和提高測試自動化程度有很大作用。
(References)
[1]周建平. 我國空間站工程總體構(gòu)想[J]. 載人航天,2013, 19(2): 1-10 Zhou Jianping. Chinese space station project overall vision[J]. Manned Spaceflight, 2013, 19(2): 1-10
[2]李廷中, 王蓓蓓, 周新順. 航天器電源系統(tǒng)大功率智能配電技術(shù)[J]. 航天器環(huán)境工程, 2011, 28(6): 511-515 Li Tingzhong, Wang Beibei, Zhou Xinshun. Intelligent power distribution for spacecraft large capacity power system[J]. Spacecraft Environment Engineering, 2011,28(6): 511-515
[3]張黎明, 孫寧 于慧亮, 等.基于PXI的衛(wèi)星綜合測試系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機測量與控制, 2008, 16(1):27-29 Zhang Liming, Sun Ning, Yu Huiliang, et al. Design and implementation of satellite synthesis test system based on PXI[J]. Computer Measurement and Control, 2008,16(1): 27-29
[4]楊繼志, 郭敬. Arduino的互動產(chǎn)品平臺創(chuàng)新設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用, 2012, 12(2): 39-41 Yang Jizhi, Guo Jing. Arduino-based interactive product innovation[J]. Microcontrollers & Embedded Systems,2012, 12(2): 39-41
[5]蔡睿妍. Arduino的互動產(chǎn)品平臺創(chuàng)新設(shè)計[J]. 電子設(shè)計工程, 2012, 20(16): 155-157 Cai Ruiyan. Principle and application of Arduino[J].Electronic Design Engineering, 2012, 20(16): 155-157
[6]楊洋, 沈小青, 柏永斌. 基于 AVR和以太網(wǎng)的遠程環(huán)境監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機測量與控制, 2013,21(2): 418-420 Yang Yang, Shen Xiaoqing, Bo Yongbin. Design of tele-measurement and control system of environment based on AVR and internet[J]. Computer Measurement and Control, 2013, 21(2): 418-420
[7]申強, 楊登紅, 李東光. 基于MSP430單片機的彈道解算方法研究與實現(xiàn)[J]. 北京理工大學(xué)學(xué)報, 2011, 31(2):140-143 Shen Qiang, Yang Denghong, Li Dongguang. Trajectroy calculation method based on MPS430 MCU and its implementation[J]. Transactions of Beijing Institute of Technology, 2011, 31(2): 140-143
[8]代杰, 樊瑜瑾, 張學(xué)麗, 等. 基于單片機的光電編碼器位置檢測系統(tǒng)設(shè)計[J]. 計算機測量與控制, 2011, 19(1):17-19 Dai Jie, Fan Yujin, Zhang Xueli, et al. Design of photoelectric encoder position measuring system based on single-chip[J]. Computer Measurement and Control,2011, 19(1): 17-19
[9]戴光武, 都洪基, 賈磊, 等. 基于 P89LPC952單片機的電動機保護裝置研究[J]. 電力系統(tǒng)保護與控制,2009, 37(2): 73-79 Dai Guangwu, Du Hongji, Jia Lei, et al. Motor protection equipment research based on P89LPC952 microcontroller[J]. Power System Protection and Control, 2009, 37(2): 73-79
[10]奚建榮. 基于 51單片機的多點溫度控制系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù), 2009, 32(2): 186-188 Xi Jianrong. Multi-point temperature control system based on 51 single chip computer[J]. Modern Electronics Technique, 2009, 32(2): 186-188
[11]張菁. 單片機溫度控制系統(tǒng)方案的研究[J]. 上海交通大學(xué)學(xué)報, 2007, 41(1): 142-144 Zhang Jing. Study on single chip processor temperature control system[J]. Journal of Shanghai Jiaotong University, 2007, 41(1): 142-144
[12]陳享成, 耿長青. 基于單片機的LCD顯示終端設(shè)計[J].電力自動化設(shè)備, 2007, 27(9): 110-112 Chen Xiangcheng, Di Changqing. LCD terminal design based on single chip[J]. Electric Power Automation Equipment, 2007, 27(9): 110-112
[13]王海霞, 武一. 基于SOPC的LCD顯示模塊的設(shè)計與實現(xiàn)[J]. 液晶與顯示, 2012, 27(4): 508-513 Wang Haixia, Wu Yi. Design and implementation of LCD module based on SOPC[J]. Chinese Journal of Liquid Crystals and Displays, 2012, 27(4): 508-513
[14]賓俊, 艾芳芳, 劉念, 等. 基于Arduino和Python搭建的實時在線 pH測量平臺[J]. 計算機與應(yīng)用化學(xué),2013, 30(1): 48-52 Bin Jun, Ai Fangfang, Liu Nian, et al. Instantaneous and online pH measuring platform based on Arduino and Python[J]. Computers and Applied Chemistry, 2013,30(1): 48-52
[15]紀欣然. 基于Arduino開發(fā)環(huán)境的智能尋光小車設(shè)計[J].現(xiàn)代電子技術(shù), 2012, 35(15): 161-163 Ji Xinran. Design of intelligent light-seeking car based on Arduino IDE[J]. Modern Electronics Technique,2012, 35(15): 161-163
[16]崔才豪, 張玉華, 楊樹財. 利用Arduino控制板的光引導(dǎo)運動小車設(shè)計[J]. 自動化儀表, 2011, 32(9): 5-11 Cui Caihao, Zhang Yuhua, Yang Shucai. Design of the light-guided car by using Arduino control board[J].Process Automation Instrumentation, 2011, 32(9): 5-11