李書婷
(商洛學(xué)院 電子信息與電氣工程學(xué)院,商洛726000)
隨著改革開放以來,人們生活水平的提高,現(xiàn)在人們對自己房屋的裝修也是變得要求越來越高,裝修房屋的樣式也是變得多樣化。但是在進行對房屋的裝修后,一些非環(huán)保的裝飾材料會陸續(xù)向新房間釋放有毒氣體,如果新房裝修后不經(jīng)過處理和檢測就居住,這些氣體就會損壞居住者的身體健康。因此在房屋居住前需要對房間中的氣體濃度進行檢測[1]。經(jīng)過相關(guān)調(diào)查分析,新裝修房間中的有毒氣體主要是甲醛、笨系物等有毒物質(zhì),在這些物質(zhì)中,甲醛對人們的健康是最具有危害性的。國家質(zhì)量規(guī)定,在一級建筑物中的甲醛濃度含量是0.08 mg/m3,在二類建筑物中是0.10 mg/m3,并且當(dāng)甲醛的濃度達到0.10 mg/m3值時,對人們的健康將具有非常明顯的傷害[2]。
目前在對甲醛濃度進行測量時,國內(nèi)采用的方法主要是通過實驗室分析方法[3],利用這個方法檢測的主要儀器多為國外的大型儀器[4],進行檢測的周期比較長[5-8],并且檢測的結(jié)果容易受到環(huán)境的影響,花費的成本比較高[8-10]。本文針對這一現(xiàn)象,提出了一種便攜式甲醛濃度檢測儀的設(shè)計,通過利用單片機和壓片式氣敏傳感器將檢測的濃度結(jié)果快速顯示出來,并且當(dāng)濃度達到一定的值時會發(fā)出警報,不僅方便使用,并且成本低廉。
本著便攜、方便和價格低廉這3 個要求,本文設(shè)計了一款由氣體采集轉(zhuǎn)換電路、控制電路、顯示電路、報警電路及電源電路五部分構(gòu)成的甲醛濃度檢測儀。其系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure diagram
室內(nèi)含有甲醛氣體時,傳感器采集甲醛氣體,將采集到的甲醛氣體傳送給單片機,單片機將傳送來的氣體進行濃度分析,設(shè)置報警閾值,當(dāng)濃度達到這個閾值的時候,將會發(fā)出報警信號,引起人們的注意,提示人們采取相應(yīng)的措施。
作為甲醛濃度檢測儀首先要對甲醛氣體進行采集和轉(zhuǎn)換成電信號,A/D 轉(zhuǎn)換器的作用就是把模擬量轉(zhuǎn)換為數(shù)字量,傳遞到單片機中,以便于單片機進行數(shù)據(jù)處理,作為甲醛濃度檢測儀,甲醛傳感器是必然需要的一個器件。本文采用片式的半導(dǎo)體氣敏傳感器,其對于甲醛、一氧化碳、酒精以及氨氣等污染氣體具有非常強的靈敏性,其在工作時需要的電流小,具有響應(yīng)時間短、體積小、壽命長等優(yōu)點。
本文采用AT89C52 單片機作為控制芯片。AT89C52是一種具有低電壓的8 位單片機,具有40 個引腳,且電路簡單、體積小、成本低。
系統(tǒng)采用共陽極數(shù)碼管作為顯示電路,采用動態(tài)掃描顯示方式顯示。如圖2所示。
圖2 共陽極二極管Fig.2 Common anode diode
采用NPN 三極管驅(qū)動蜂鳴器作為報警裝置。蜂鳴器主要分為壓電式和電磁式蜂鳴器。電磁式蜂鳴器的原理是利用電磁線圈進行發(fā)聲,通過電磁線圈周圍產(chǎn)生一系列的磁場推動振動膜進行發(fā)聲,本設(shè)計采用的就是電磁蜂鳴器。在單片機中I/O 引腳的輸出電流是非常小的,很難驅(qū)動蜂鳴器發(fā)聲,需要外加一個電路增加電流。在程序中通過對不同的波形頻率的改變就能夠?qū)ζ淇刂埔粽{(diào),產(chǎn)生不同的聲音和音色。
因為設(shè)計的甲醛檢測儀要求便攜,系統(tǒng)的運行不需要很大電壓和電流,所以電源電路采用2 節(jié)1.5 V 干電池供電。
為了能夠使系統(tǒng)的設(shè)計更加清晰,方便出現(xiàn)問題時進行調(diào)試,程序?qū)⒚總€部分進行分別劃分,對于整體系統(tǒng)的優(yōu)化非常方便。一個應(yīng)用系統(tǒng)能夠滿足其功能的要求,需要的是硬件的保障,必須需要有合理的軟件設(shè)計作為支撐[11],特別是在現(xiàn)在大部分的硬件工作都是利用軟件編程實現(xiàn)??紤]內(nèi)部豐富的資源設(shè)計,采用C 語言進行編程。在這個系統(tǒng)中分為主控程序以及延時子程序等部分,其中核心的是主控程序[12],負(fù)責(zé)控制整個系統(tǒng)的運轉(zhuǎn)。
系統(tǒng)軟件的設(shè)計主要采用的是模塊化設(shè)計,其中包含的模塊有主控模塊、顯示模塊、語音模塊以及數(shù)據(jù)處理模塊。系統(tǒng)在運行前,需要先進行初始化,然后通過串口接收數(shù)據(jù),將甲醛的濃度顯示出來,當(dāng)濃度值超過設(shè)定的閾值時,將會觸發(fā)報警模塊報警,引起人們的注意,采取相應(yīng)的處理措施,主流程如圖3所示。
系統(tǒng)在進行工作時,單片機控制顯示器顯示當(dāng)前濃度,顯示模塊子程序流程如圖4所示。
圖3 主流程Fig.3 Main flow chart
圖4 顯示模塊流程Fig.4 Display module flow chart
本系統(tǒng)的設(shè)計中,利用Keil 軟件實現(xiàn)編程,根據(jù)系統(tǒng)的需要,查閱相關(guān)資料后利用C 語言實現(xiàn)系統(tǒng)設(shè)計,將其加入到Keil 的文件庫中,在進行軟件的編程過程中,出現(xiàn)一些錯誤進行調(diào)試是不可避免的,最終將這些錯誤進行解決,達到程序的正確。
Keil 軟件是一個兼容單片機的C 語言系統(tǒng),其在功能、結(jié)構(gòu)等方面有著非常大的優(yōu)點。Keil 軟件提供一系列功能:C 編譯器、 庫管理以及仿真調(diào)試等。Protues 是一家英國公司研發(fā)的EDA 工具軟件,它是目前市場上最好的仿真單片機的軟件,其在國內(nèi)受到單片機開發(fā)者的廣泛應(yīng)用。
采用Keil 軟件與Proteus 軟件進行聯(lián)合調(diào)試,從而實現(xiàn)甲醛濃度的測量設(shè)計仿真。在調(diào)試的過程中,打開Proteus 實例(但不運行它),然后在調(diào)試菜單上選擇“使用遠程調(diào)試設(shè)備”選項,能夠保證Keil與Proteus 軟件進行相應(yīng)的通信。在點擊運行狀態(tài)下,可以得到不同濃度的仿真結(jié)果,當(dāng)濃度高于閾值時,將會發(fā)出信號驅(qū)動蜂鳴器進行報警,如圖5所示。測量時,若濃度是在正常范圍內(nèi),將不會觸發(fā)報警系統(tǒng),如圖6所示。
圖5 高濃度仿真圖Fig.5 Simulation diagram of high concentration
圖6 正常濃度仿真圖Fig.6 Simulation diagram of normal concentration
分別利用自制測試儀與市場購買的測試儀對普通室外空間、宿舍、放置過一段時間的房間、剛刷過油漆的房間、新裝修的房間進行實際測試,結(jié)果如表1所示。
表1 自制測試儀與市場購買的測試儀的測試結(jié)果Tab.1 Test results of self-made testers and testers purchased in the market
對比自制測試儀與市場購買的測試儀的測試結(jié)果發(fā)現(xiàn),自制測量儀的精準(zhǔn)度比市場上更加精準(zhǔn),達到了預(yù)期目標(biāo),但是在測量大單位數(shù)據(jù)時仍有不足,在以后的設(shè)計中還需完善設(shè)計。
本文設(shè)計的甲醛濃度檢測儀具有效率高、成本低等優(yōu)點,并且出現(xiàn)故障時易于維護。在實際測量過程中響應(yīng)的時間比較短,精度較高。當(dāng)濃度超過一定的閾值,對人們的健康產(chǎn)生威脅時,將會發(fā)聲報警,引起人們的注意,采取相應(yīng)的措施,該設(shè)計具一定的實際應(yīng)用價值。