盧 超,李鵬輝
(陜西理工學院物理系,陜西 漢中723000)
在科研實驗、礦產能源開采、家庭住所、各種動物養殖、及衛生醫療等場合經常要用到有害氣體報警系統,傳統的方法是下位機通過傳感器及AD轉換器采集到數據,然后利用無線模塊將數據傳輸給上位機。上位機再通過軟件處理后利用液晶顯示屏和語音芯片進行數據顯示及報警等功能,這種方式的缺點是,數據傳輸不穩定,傳輸距離短,因為無線模塊傳輸距離只有幾十到幾百米,受到場地的影響嚴重。設計一種傳輸網絡化、系統穩定性好、使用方便、用戶界面友好、造價低廉且測量準確的有害氣體監測儀器,基于單片機和Labview的測試系統,對被測區每個位置的有害氣體濃度情況進行網上的實時監測,一旦出現異常現象便于及時分析和處理,將會有效地提高事故的預見性和工作效率,有著重要的實際推廣價值和理論研究意義[1]。
總體結構框圖如圖1所示。系統主要包有害氣體信息采集,模擬/數字信號轉換,數據的讀取,串口數據通訊,PC機數據處理,網絡通信及報警模塊。系統的下位機部分通過傳感器將有害氣體信息采集到單片機內,進行簡單的數據處理后將數據通過串口傳送給上位機(PC)。上位機由4個獨立運行的用Labview編寫的程序組成。首先上位機通過“串口VI”完成數據的接收并將數據以波形方式顯示,并且在該程序中可以設定報警值大小,一旦達到報警值,程序前面板的指示燈便會變亮,同時通過調用“語音VI”,也可以實現語音報警功能來報警。如果想通過互聯網傳輸數據,只要在上位機上運行TCP/IP程序中的“發送VI”即可。這時,其他用戶便可通過TCP/IP程序中的“接收VI”在其PC上讀取數據,且同樣可以實現主機上的監視及報警功能。上位機在接收到數據后可以將數據進行存儲,以便對歷史數據進行分析[2-6]。

圖1 系統結構框圖
圖2是MQ-7和MQ-5傳感器的基本測試電路,需要施加2個電壓:加熱器電壓VH和測試電壓VC,其中VH用于為傳感器提供特定的工作溫度,VC用于測定與傳感器串聯的負載電阻RL上的電壓VRL。MQ-7和MQ-5傳感器具有輕微的極性,VC需用直流電源,在滿足傳感器電性能要求的前提下,VC和VH可以共用同一個電源電路[1]。

圖2 MQ-7和MQ-5采集電路
A/D采用ADC0809芯片,需提供約500 kHz的時鐘頻率,系統采用74LS74芯片對單片機的時鐘輸出端(ALE輸出的時鐘頻率為2 MHz)進行四分頻,供ADC0809使用,ADC0809的CLOCK接Q端口,IN0與IN1分別接一氧化碳傳感器和甲烷傳感器輸出端,ADC0809的OE端接高電平后打開三態數據輸出鎖存器。將輸入選擇端口即 ADDA、ADDB、ADDC中的ADDA接到單片機的P2.7端,ADDB和ADDC接地,實現對 IN0與 IN1的控制。VREF+與VREF-為參考電壓輸入端,分別接5V和地,電路如圖3所示,將轉換后的電壓值接到單片機的P1端口,實現ADC0809與單片機之間的數據通信。START與單片機P2.2相連,控制A/D轉換啟動,當轉換結束信號由低電平跳變為高電平時,EOC引腳將信號通知給單片機使其進行數據的正常讀取。

圖3 A/D轉換電路
采用MAX232芯片完成兩路TTL/RS-232電平的轉換,MAX232的9、10引腳是TTL電平端,連接單片機,11,12引腳分別接CH341芯片的TXD和RXD引腳,T1IN和 T2IN接 TTL/CMOS電平的89C51單片機的串口發送端TXD,R1OUT和R2OUT接TTL/CMOS電平的89C51單片機的串口接收端RXD,T1OUT和T2OUT可直接接PC機的RS-232串口的接收端RXD,R1IN和R2IN可直接接PC機的RS-232串口發送端 TXD,電路如圖4所示。CH341提供全速USB設備接口,兼容USB2.0,外圍器件只需要電容和晶體,電源電壓為5 V,USB接口的差分數據線對與 CH341的 UD-和 UD+直接相連[7]。
設計中單片機軟件是采用C51語言編寫,主要包括ADC0809芯片驅動及有害氣體數據采集部分和串口數據發送部分,下位機主程序流程圖見圖5所示。
數據采集軟件主要實現單片機系統對ADC0809傳感器的初始化、發送測量命令及數值的讀取,有害氣體測量時先調用ADC0809初始化子程序進行初始化,它包括復位、傳輸啟動命令。在有害氣體數據通信系統中,單片機與PC機之間的數據通信采用串口實現。系統中單片機串行口工作在模式1,即可變波特率10 bit異步收發模式。單片機工作在12 MHz時鐘時,用T1的方式2自重裝模式,設置9 600 bit/s波特率。

圖4 與上位機通信電路

圖5 下位機主程序流程圖
設計采用Labview為上位機軟件開發平臺,用G語言進行設計,主要實用VISA高級應用編程接口。VISA是虛擬儀器系統I/O接口軟件,基于自底向上結構模型的VISA創造了一個統一形式的I/O控制函數集,提供了非常強大的儀器控制功能與資源管理上位機串口。程序中由4個事件分支構成,上位機串口程序圖如圖6所示。程序執行條件選擇為:值改變。即只有點擊當前面板上的“開始運行”按鈕后才能執行該程序。在該程序中主要目的是實現VISA的自定義、數據的讀取及顯示報警功能。通過對VISA進行相應設置后進入While循環,利用VISA讀取函數讀取字符串數據。在條件結構的真分支中實現字符串與數組之間的轉換、波形顯示及報警功能。將數據保存到一個緩沖區后關閉串口[8-9]。
VISA的設置是成功讀取串口數據的關鍵,只有與下位機一致才能正確獲取下位機資源。在配置VISA時,波特率設置成9 600,字節大小為8 bit,校驗位和停止位分別設置為無校驗位及1。“保存”事件程序圖,程序執行條件選擇為:值改變。即當前面板上“保存數據”按鈕值改變時可以實現數據的保存,其保存形式為txt文件。“退出”事件分支圖,條件為“值改變”。當點擊前面板上“退出程序”按鈕后可退出該While循環,即終止串口程序運行。當前面板上“數據回放”按鈕值改變時,可以實現歷史數據的回放,而且可以通過調節前面板上“回放速度”控件調節其數據回放速度大小。
在串口讀取程序中,單片機和PC之間是以字符串的形式進行數據交流的,當要把從單片機讀取的數據以波形形式進行顯示時,就要進行相應的轉換,而且Labview中的波形顯示控件輸入的類型要求為數組形式,因而,要把讀取的字符串類型數據首先轉換為字節數組,然后再通過調用索引數組、創建數組及數組插入控件建立一個一維數組。通過調用TCP偵聽函數、寫入TCP數據函數、關閉TCP連接函數等實現數據的網絡傳送功能。程序運行前必須將打開TCP連接函數的地址設定為發送機的IP地址,且端口號也必須與發送機端口號相同。在該程序中,可以實現在其他計算機上的數據讀取及報警功能,實現數據的共享。實現語音報警功能首先要通過編程來調用波形文件,通過對其進行相應的配置后可以實現音量大小調節,當達到報警值時即可啟動該函數進行語音報警[11-12]。

圖6 上位機串口程序圖
系統調試采用模塊化調試和整體組合調試相結合的方法來進行,調試界面如圖7所示。經過模塊化的軟件仿真、硬件電路調試和組裝測試,最終實現了單片機系統的有害氣體數據采集功能、上位機串口讀取、上下限氣體濃度設定功能、聲光報警功能、TCP/IP數據網絡傳輸功能、溫濕度處理顯示功能和溫、歷史數據存儲等功能。

圖7 上位機調試界面
測試結果對比如表1所示,在相同的環境下,一共進行了10次測量,第2列和第3列為有害氣體一氧化碳和甲烷傳感器MQ-7、MQ-5輸出的模擬電壓值,第4列和第5列為精度高的成品報警儀MQ-7和MQ-5輸出模擬電壓值,第6列和第7列為相對誤差,可以看出該有害氣體測量裝置在實際工作中具有很好的效果,所采集的數據經過與相應的校準器件所得到的數據對比發現其誤差很小,一氧化碳傳感器平均誤差為0.29%,甲烷傳感器平均誤差為2.14%。

表1 測量結果對比
設計的基于虛擬儀器的有害氣體報警儀,結合Labview的數據顯示、網絡數據傳輸及報警較好地解決了數據采集精確度及傳輸距離問題。系統通訊穩定可靠,可拓寬應用于家居、隧道和大壩糧倉等領域的有害氣體監測中。
[1]趙冰若,朱瑞祥,馮春生等.室內有害氣體遠程報警系統設計[J].微計算機信息,2009,11:24-26.
[2]吳偉斌,洪添勝,朱余清等.基于虛擬儀器的果樹重疊葉片LAI實時檢測系統[J].農業工程學報,2012,04:169-174.
[3]王邦勤,徐軍明,秦會斌,鄭梁.基于虛擬儀器與總線技術的遠程多點環境參數監測系統研究[J].電子器件,2009,04:801-804.
[4]湯家華,王道德.LabVIEW在USB實時數據采集處理系統中的應用[J].電子器件,2006,02:557-560.
[5]張牧,張誠,陳才和等.基于Labview技術的光度式橢偏測厚儀的研究與設計[J].電子器件,2007,01:170-173.
[6]宋青.基于虛擬儀器技術的信號采集與分析系統的研究[J].自動化與儀器儀表,2012,01:1-2.
[7]徐輝.USB接口技術及應用常識[J].開發研究與設計技術,2007(12):1624-1625.
[8]寇雪芹,谷立臣等.基于虛擬儀器的超聲信號測量及測距研究[J].計算機工程與應用,2012,06:17-20.
[9]宋愛晶,林峰,鄧林紅.一種基于虛擬儀器的生理信號測量系統[J].傳感器與微系統,2012,01:101-103.
[10]葛李,周學才,穆效江.一種基于虛擬儀器的通用測控系統[J].制造業自動化,2012,10:45-48.
[11]全曉莉,周南權等.基于虛擬儀器技術的音頻信號采集與處理[J].儀表技術與傳感器,2012,07:32-34.
[12]戴佳,戴衛恒等.51單片機C語言應用程序設計實例講解[M].電子工業出版社,2008(12):311-317.