夏曙光,嚴達利,李申予,鄭子朝
(1.天津師范大學物理與材料科學學院,天津 300387;2.河北工業大學化學工程學院,天津 300401)
重工業的發展使得環境污染日益嚴重,大氣污染造成的危害已經引起了廣泛重視,人們對于居住環境和空氣質量的要求不斷提高,因此,對有害氣體的檢測和控制非常重要[1-2].氣敏傳感器對于環境保護和安全監督起著極其重要的作用,它可以檢測氣體的種類、成分和濃度等指標[3].氣敏傳感器可以將被測氣體的濃度轉換為與其成一定關系的電量輸出,利用各種氣體的物理性能和化學性能將環境中被測氣體的變化過程轉化為相對容易處理的電信號.氣敏傳感器的種類包括半導體氣敏傳感器、電化學氣體傳感器、紅外線氣體傳感器、固體電解質氣體傳感器和熱導式氣體傳感器等[4-5].
目前市場上使用較多的是半導體氣敏傳感器,在過去幾十年里,半導體氣敏傳感器由于高靈敏度、低成本、易集成等優點引起了人們的廣泛關注.同時,半導體氣敏傳感器還存在選擇性和濕度依賴性等一些目前難以解決的問題.多孔硅(PS)是一種在硅片表面腐蝕形成的孔徑尺寸可控且具有一定孔隙率的多孔性結構材料,因其具有極大的表面積、良好的發光性能和與硅基技術的兼容性而引起了極大關注[6-12].利用多孔硅可以制成表面電阻式氣敏傳感器,多孔硅在接觸氣體的時候,其表面與氣體產生化學反應,導致其電阻值發生變化[9-12],利用電阻值的變化可以檢測出氣體的成分和濃度.氣敏傳感器的性能常用靈敏度、選擇性、響應/恢復時間、穩定性和壽命來表征[13].
本文采用Arduino 單片機結合LabVIEW 圖形化編程語言設計制作了一套多孔硅氣敏傳感器響應時間測試系統,該系統組裝簡單、操作方便、成本低,并且可與計算機實時通信,導出數據和相關指標變化曲線的圖像.
系統由氣體注入室、硬件電路、下位機(Arduino板)和上位機4 部分組成.氣體注入室由400mm×400 mm ×400 mm 的有機玻璃制成,其一側裝有可移動門,方便放置樣品和排氣,氣室內部安裝加熱板、探針和風扇,外部接有排氣泵.中間部分的硬件電路由穩壓源、可調電阻箱和氣敏傳感器構成.下位機采用Arduino Uno R3 型單片機,Arduino 板與計算機相連,并通過數據接口連接外部電子裝置,如熱敏傳感器、光敏傳感器、發光二極管和麥克風等,直接用計算機可對Arduino單片機編碼進行控制,也可脫離計算機進行獨立控制.上位機是一臺裝有LabVIEW 軟件的電腦,它通過數據線與Arduino 板進行通信,對Arduino 板傳輸的數據進行分析處理,將相關數值顯示在前面板上,并根據數據繪制出相應的波形圖,以反映傳感器電阻的變化趨勢.系統的整體框架如圖1 所示.

圖1 系統的整體框架Fig.1 Overall framework of the system
用一個可變電阻箱(阻值為R)與氣敏傳感器(阻值為RS)串聯組成一個閉合回路,輸入一個直流穩恒電壓U0,在可變電阻箱兩端加一個電壓信號的采集裝置(Arduino 板),用來記錄變化的電壓值[14],采集到的電壓信號記為U,電路原理如圖2 所示.根據歐姆定律,多孔硅氣敏傳感器阻值的計算公式為RS=(U0-U)R/U.氣敏傳感器的阻值經過上位機的接收處理可以繪制出其隨時間變化的曲線圖像.

圖2 電路原理圖Fig.2 Circuit principle diagram
LabVIEW 與 Arduino 的連接方式有 LabVIEW Interface for Arduino、串口控制方式、無線串口方式和Ethernet 方式等,本系統程序采用LabVIEW Interface for Arduino 的方式,這種方式需要使用VISA 插件實現串口編程,這種方式的優點在于LabVIEW 軟件內置有數十個NI 公司開發的庫函數方便使用.LabVIEW程序的前面板如圖3 所示.

圖3 LabVIEW 前面板Fig.3 Front panel of LabVIEW
前面板上設置了5 個按鍵,分別為模擬輸入引腳(pin selection)、采樣速率(sampling rate)、串口號(serial port number)、氣體種類(gas species)和開關鍵(switch).首先通過模擬輸入引腳選擇Arduino 板上面的輸入信號源,選擇下位機對應的串口號,并輸入注入的氣體種類,然后點擊LabVIEW 程序菜單欄的“運行”按鍵,程序開始運行,開關鍵用來控制數據采集的開始和停止.
LabVIEW 程序框圖如圖4 所示.框圖表面上類似于計算機程序流程圖,與文本編程語言中的文本行相對應,是實際的可執行代碼.LabVIEW 程序框圖的組件包括節點(nodes)、端子(terminals)和連線(wires).節點是程序中的功能模塊和函數,端子是這些模塊、函數與其他模塊、函數交換數據的端口,相當于C 程序中函數的參數,連線用來表示數據的傳遞方式[15].
LabVIEW 程序主要包括采樣速率(sampling rate)模塊、模擬管腳(analog pins)模塊、VISA 串口號(serial port number)模塊、初始化(initialization)模塊、采樣(sampling)模塊、連續采樣(continuous sampling)模塊、公式模塊(formula)、波形圖表(waveform chart)生成模塊、錯誤數據(error)模塊、布爾變量(Boer)和氣體種類(gas species)選項.首先通過選擇串口號與Arduino Uno 板建立連接,然后通過模擬輸入引腳(A0~A5)進行數據采樣,利用While 循環不斷調用函數節點達到連續采樣的目的.程序采集的是圖2 中電阻箱的電壓,該電壓值記為X1,一路經過公式X1=X1輸出到波形圖表(定值電阻分壓隨時間的變化),另一路經過公式RS=(4-X1)R/X1,將計算結果顯示在波形圖表上(氣敏電阻隨時間的變化),即完成一次采集,使用While循環進行連續采樣,直到給計算機一個指令,程序停止采樣.LabVIEW 程序流程圖如圖5 所示.

圖4 LabVIEW 程序框圖Fig.4 Program chart of LabVIEW

圖5 LabVIEW 程序流程圖Fig.5 Flow chart of LabVIEW
以實驗室制備的一種多孔硅氣敏傳感器(n 型)為例,測試它在不同濃度NH3和NO2氣體下的響應/恢復時間.首先將下位機(Arduino 板)、硬件電路、氣體注入室、上位機按照圖1 連接起來,電路檢查無誤后,打開設計好的LabVIEW 程序,運行程序,點擊“開關”進行數據采集.待氣敏傳感器的阻值達到穩定時,注入0.64 mL NH3(對應體積分數為0.001%),觀察采集電壓及電阻的變化,待其數值趨于平穩,且示數不再發生變化時,開始放氣,放氣過程中圖像和示數會再一次發生變化,待其不再發生變化時,再次注入1.28 mL NH3(對應體積分數為0.002%).依照上述步驟再次注入3.20 mL NH3(對應體積分數為0.005%).待實驗結束,將得到的數據導出至Excel 中,使用Origin 處理數據,計算得到響應/恢復時間,也可將測得的簡化圖像直接導出.圖6 為將原始數據導入Origin 處理得到的氣敏電阻阻值隨時間變化的曲線.表1為氣敏傳感器在不同濃度NH3下的響應和恢復時間.

圖6 多孔硅氣敏傳感器阻值在不同NH3 濃度下隨時間變化的曲線Fig.6 Curve of resistance value of porous silicon gas sensor over time at different NH3 concentrations

表1 多孔硅氣敏傳感器對不同NH3 濃度的響應、恢復時間Tab.1 Response and recovery time of porous silicon gas sensor at different NH3 concentrations
關于NO2氣體的實驗步驟與NH3相同,依次注入 0.64、1.28、3.20 mL NO2.圖 7 為將原始數據導入Origin 處理得到的氣敏電阻阻值隨時間變化的曲線.表2 為氣敏傳感器在不同濃度NO2下的響應和恢復時間.

圖7 多孔硅氣敏傳感器阻值在不同NO2 濃度下隨時間變化的曲線Fig.7 Curve of resistance value of porous silicon gas sensor over time at different NO2 concentrations

表2 多孔硅氣敏傳感器對不同NO2 濃度的響應、恢復時間Tab.2 Response and recovery time of porous silicon gas sensor at different NO2 concentrations
以上關于2 種氣體的測試結果顯示,對于不同的氣體濃度,多孔硅氣敏傳感器的阻值發生了不同變化,設計的系統完成了氣敏數據的采集,這為今后其他氣體的測試及相關性能指標的處理打下良好基礎.
采用Arduino 下位機與LabVIEW 語言相結合設計了一套多孔硅氣敏傳感器測試系統.該系統界面簡潔,電路系統易組裝、性能穩定,操作方法簡單,可導出數據至剪切板或相關處理軟件.雖然Arduino 單片機的ADC 精度不夠理想,但系統可以實現低速、低成本的氣敏數據采集,具有一定的實用價值和應用前景.