隨著石油、煤炭等傳統(tǒng)燃料的減少,可燃?xì)怏w在工業(yè)和人們的家庭生活中得到了廣泛的應(yīng)用。這些氣體雖然為人們的生產(chǎn)生活提供便利,創(chuàng)造價(jià)值,但仍需對(duì)其濃度進(jìn)行有效監(jiān)控,以防范火災(zāi)、氣體中毒等對(duì)人們生命財(cái)產(chǎn)造成的危害。
本文給出一種基于STC12C5A60S2單片機(jī)的可燃?xì)怏w報(bào)警儀的設(shè)計(jì)。硬件方面,先給出總體的設(shè)計(jì)方案,然后按功能要求對(duì)各硬件電路單元進(jìn)行分析設(shè)計(jì)。軟件方面,依據(jù)硬件的功能,設(shè)計(jì)了可燃?xì)怏w報(bào)警儀的總體方案,并介紹了各功能模塊的實(shí)現(xiàn)方法。
1基于STC12C5A60S2單片機(jī)的可燃?xì)怏w報(bào)警儀的硬件設(shè)計(jì)
1.1系統(tǒng)的結(jié)構(gòu)分析
報(bào)警儀系統(tǒng)框圖如圖1所示,系統(tǒng)以單片機(jī)STC12C5A60S2為核心,配合其他的外圍電路共同完成信號(hào)采集、濃度顯示、按鍵輸入、聲光報(bào)警等功能。
首先,氣體傳感器送來(lái)的微小電壓信號(hào)經(jīng)信號(hào)調(diào)理單元放大后,轉(zhuǎn)換成較大的電壓信號(hào)傳送給STC12C5A60S2單片機(jī);然后,在單片機(jī)進(jìn)行A/D轉(zhuǎn)換,濃度比較,線性化處理;最后,將氣體濃度送入LED顯示單元并判斷氣體濃度是否超出報(bào)警限值。
當(dāng)氣體濃度處于正常狀態(tài)時(shí),綠燈點(diǎn)亮;當(dāng)氣體濃度超出設(shè)定限值時(shí),聲光報(bào)警單元立即發(fā)出聲音報(bào)警并伴隨紅燈閃亮完成對(duì)氣體的檢測(cè)報(bào)警,同時(shí)啟動(dòng)通風(fēng)換氣設(shè)備及時(shí)加強(qiáng)通風(fēng)并利用電磁閥關(guān)閉氣體通道,使氣體濃度迅速降低到安全點(diǎn)。該系統(tǒng)還可以通過(guò)RS-232總線與上位機(jī)進(jìn)行串口通信,便于在線采集和處理數(shù)據(jù),更改報(bào)警限值等。
2系統(tǒng)硬件設(shè)計(jì)
2.1可燃?xì)怏w檢測(cè)電路
本設(shè)計(jì)采用費(fèi)加羅公司生產(chǎn)的一款氣體傳感器TGS813,該氣體傳感器對(duì)甲烷等可燃還原性氣體有很高的靈敏度。當(dāng)存在檢測(cè)氣體時(shí),傳感器的電導(dǎo)率隨氣體濃度的增加而增加。在實(shí)際應(yīng)用中,可使用簡(jiǎn)單的電橋電路即可將電導(dǎo)率的變化轉(zhuǎn)化為與該氣體濃度相對(duì)應(yīng)的電信號(hào)。然而通過(guò)電橋電路產(chǎn)生的輸出電壓信號(hào)一般比較微弱,需要做適當(dāng)?shù)恼{(diào)理才可以轉(zhuǎn)換成適合A/D轉(zhuǎn)換的電壓。
TGS813數(shù)據(jù)采集電路如圖2所示。圖中R8、R9、R10和氣敏電阻RS構(gòu)成一個(gè)電橋,實(shí)現(xiàn)電阻到電壓的轉(zhuǎn)換。運(yùn)算放大器A1A接成電壓跟隨器,和電阻R7、穩(wěn)壓管D1組成穩(wěn)壓電路,為電橋供電。電橋轉(zhuǎn)換后的輸出電壓通過(guò)LM324的另外一個(gè)運(yùn)算放電器A2A進(jìn)行放大,放大的倍數(shù)通過(guò)電阻R11進(jìn)行調(diào)節(jié),以便輸出合適的電壓供A/D轉(zhuǎn)換。
2.2主控單元電路
主控單元電路圖如圖3所示,微處理器STC12C5A60S2是一款單時(shí)鐘/機(jī)器周期的單片機(jī),是高速/低功耗/超強(qiáng)干擾的增強(qiáng)型8051單片機(jī),指令代碼完全兼容傳統(tǒng)的8051,但是速度快8~12倍。內(nèi)部自帶A/D,D/A轉(zhuǎn)換器、實(shí)時(shí)時(shí)鐘,看門狗等,減少了外圍器件的數(shù)目,降低了系統(tǒng)成本。
在圖3中,單片機(jī)的外圍連接除了基本的復(fù)位電路,還有溫度補(bǔ)償電路、串口連接電路和鍵盤電路。由于氣體傳感器TGS813的RS隨溫度變化較大,為提高系統(tǒng)精度必須對(duì)結(jié)果進(jìn)行溫度補(bǔ)償或者溫度修正。本系統(tǒng)采用溫度傳感器DS18B20采集溫度,然后用軟件方法對(duì)測(cè)量值進(jìn)行溫度修正。RS-232串口的連接,可以實(shí)現(xiàn)系統(tǒng)與PC機(jī)的通信,可從PC機(jī)下載最新的數(shù)據(jù),也可將檢測(cè)數(shù)據(jù)上傳至PC機(jī)。
鍵盤電路有模式(MODE)、加(+)、減(-)、確認(rèn)(ENTER)4個(gè)獨(dú)立的控制按鍵。按下模式鍵,表示系統(tǒng)進(jìn)入調(diào)試狀態(tài),此時(shí)可以按下+鍵或者-鍵對(duì)報(bào)警值進(jìn)行設(shè)定,設(shè)定完畢按ENTER即退出設(shè)定模式。
2.3聲光報(bào)警電路
作為可燃?xì)怏w報(bào)警儀,聲光報(bào)警部分不可缺少,本設(shè)計(jì)中的聲光報(bào)警電路包括蜂鳴器和紅、黃、綠三個(gè)LED報(bào)警指示燈。具體表現(xiàn)形式如下:
1)紅色燈點(diǎn)亮?xí)r說(shuō)明環(huán)境中的可燃?xì)怏w含量已經(jīng)超過(guò)限值,此時(shí)黃色和綠色燈熄滅,蜂鳴器發(fā)出聲音報(bào)警;
2)黃色燈點(diǎn)亮?xí)r說(shuō)明可以檢測(cè)到環(huán)境中可燃?xì)怏w的存在,但其濃度沒(méi)有達(dá)到報(bào)警限值,此時(shí)紅色和綠色燈熄滅,蜂鳴器不發(fā)聲;
3)綠色燈點(diǎn)亮?xí)r說(shuō)明傳感器沒(méi)有檢測(cè)到可燃?xì)怏w,一切正常,此時(shí)紅色和黃色熄滅,蜂鳴器不發(fā)聲;
4)當(dāng)3種顏色指示燈同時(shí)點(diǎn)亮并且蜂鳴器不發(fā)聲,表示系統(tǒng)進(jìn)入設(shè)定狀態(tài),可能是模式切換或者進(jìn)行標(biāo)定;圖4聲光報(bào)警單元聲光報(bào)警單元與單片機(jī)的連接如上圖4所示,圖中對(duì)蜂鳴器的驅(qū)動(dòng)加入一個(gè)PNP三極管,這樣不僅能使蜂鳴器的聲音更加響亮,并且三極管基極電路保證了只有在單片機(jī)輸出為低電平時(shí),蜂鳴器才會(huì)發(fā)聲,避免了誤報(bào)警的發(fā)生。
3軟件設(shè)計(jì)
3.1軟件設(shè)計(jì)思想
軟件設(shè)計(jì)解決的主要問(wèn)題是氣體濃度信號(hào)的A/D轉(zhuǎn)換,數(shù)字濾波、溫度補(bǔ)償、線性化處理、濃度顯示、按鍵設(shè)置以及聲光報(bào)警等。由于功能較多,故采用模塊化結(jié)構(gòu)設(shè)計(jì),每個(gè)模塊只負(fù)責(zé)單獨(dú)的一項(xiàng)功能,便于后期的調(diào)試和編譯。
3.2主程序設(shè)計(jì)
系統(tǒng)主程序流程圖如圖5所示。
3.3主程序初始化設(shè)計(jì)
傳感器預(yù)熱后,程序開(kāi)始初始化,這部分主要實(shí)現(xiàn)I/O口輸入輸出狀態(tài)的設(shè)定、寄存器初始化、中斷使能等功能。
3.4數(shù)字濾波子程序設(shè)計(jì)
氣體傳感器在對(duì)氣體濃度采樣時(shí)會(huì)遇到尖脈沖干擾的現(xiàn)象,需要對(duì)數(shù)據(jù)進(jìn)行數(shù)字濾波,具體的方式為:先對(duì)N個(gè)采樣數(shù)據(jù)進(jìn)行比較,去掉其中的最大值和最小值,然后計(jì)算余下N-2個(gè)數(shù)據(jù)的算術(shù)平均值,最后將算術(shù)平均值送至寄存器。本文中N取10,即調(diào)用A/D轉(zhuǎn)換連續(xù)進(jìn)行10次采樣。
3.5按鍵及聲光報(bào)警子程序設(shè)計(jì)
本設(shè)計(jì)采用查詢式按鍵結(jié)構(gòu),定時(shí)對(duì)按鍵進(jìn)行掃描,實(shí)現(xiàn)對(duì)按鍵的動(dòng)態(tài)監(jiān)控。
聲光報(bào)警是在氣體濃度超過(guò)設(shè)定值時(shí),該裝置被啟動(dòng),以提示操作人員采取安全措施或者自動(dòng)控制相關(guān)安全裝置。為防止誤報(bào),在程序設(shè)計(jì)上要對(duì)氣體濃度進(jìn)行快速重復(fù)檢測(cè)和延時(shí)報(bào)警,從而判斷出是管道中氣體的泄漏還是由于打開(kāi)閥門產(chǎn)生的暫時(shí)氣體微量散失。
4結(jié)束語(yǔ)
本系統(tǒng)采用高性能、集成化的STC12C5A60S2單片機(jī)作為核心器件,設(shè)計(jì)了適合工業(yè)和小型場(chǎng)合使用的可燃?xì)怏w報(bào)警儀。在設(shè)計(jì)中充分利用其高速數(shù)據(jù)處理能力和豐富的片內(nèi)外設(shè),實(shí)現(xiàn)了儀器的小型化、智能化。在軟件的設(shè)計(jì)中,采用中位值平均數(shù)字濾波算法,對(duì)A/D轉(zhuǎn)換后的數(shù)字信號(hào)進(jìn)行濾波處理,最大限度地排除現(xiàn)場(chǎng)干擾,降低可燃?xì)怏w報(bào)警器的誤報(bào)概率,提高了儀器的精確度。
評(píng)論