吳哲 黃浩釗 馮燁
收稿日期:2023-04-26
基金項(xiàng)目:校級(jí)中青年項(xiàng)目(2023KY-12)
DOI:10.19850/j.cnki.2096-4706.2023.22.036
摘? 要:文章設(shè)計(jì)一種檢測(cè)室內(nèi)一氧化碳濃度的檢測(cè)儀器。使用STM32F103C8T6開發(fā)板作為主控芯片,實(shí)時(shí)檢測(cè)待測(cè)室內(nèi)一氧化碳的濃度,當(dāng)一氧化碳濃度超出閾值時(shí),系統(tǒng)自動(dòng)警報(bào),并啟動(dòng)排風(fēng)扇對(duì)待測(cè)室內(nèi)的空氣進(jìn)行更換,以減少室內(nèi)空氣中一氧化碳的濃度,避免人體一氧化碳中毒,并且,排風(fēng)扇的出口端設(shè)有環(huán)保模塊,環(huán)保模塊用于對(duì)排風(fēng)扇排出的一氧化碳?xì)怏w進(jìn)行轉(zhuǎn)化或封存,以減少對(duì)室外環(huán)境的污染。實(shí)驗(yàn)結(jié)果表明,當(dāng)室內(nèi)一氧化碳濃度超出閾值時(shí),蜂鳴器報(bào)警,排風(fēng)扇自動(dòng)換氣,一氧化碳濃度快速下降。該文設(shè)計(jì)的產(chǎn)品功能可靠,并且攜帶方便,可以進(jìn)行推廣應(yīng)用。
關(guān)鍵詞:STM32F103C8T6;一氧化碳濃度;自動(dòng)報(bào)警;環(huán)保模塊
中圖分類號(hào):TP277? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):2096-4706(2023)22-0165-04
Design of Carbon Monoxide Detection and Indoor Ventilation System Based on STM32
WU Zhe, HUANG Haozhao, FENG Ye
(Xi'an Traffic Engineering Institute, Xi'an? 710300, China)
Abstract: This paper designs a detection instrument for detecting indoor carbon monoxide concentration. Using the STM32F103C8T6 development board as the main control chip to detect the concentration of carbon monoxide in the room to be tested in real-time. When the concentration of carbon monoxide exceeds the threshold, the system automatically alarms and starts the exhaust fan to replace the air in the room to reduce the concentration of carbon monoxide in the indoor air and avoid carbon monoxide poisoning in the human body. Moreover, the outlet end of the exhaust fan is equipped with an environmental protection module, which is used to convert or store the carbon monoxide gas discharged by the exhaust fan, reducing pollution to the outdoor environment. Experimental results show, when the indoor carbon monoxide concentration exceeds the threshold, the buzzer will alarm, the exhaust fan will automatically change air, and the carbon monoxide concentration will rapidly decrease. In summary, the product designed in this paper has reliable functionality and convenient to carry, which can be used as a promotional product.
Keywords: STM32F103C8T6; carbon monoxide concentration; automatic alarm; environmental protection module
0? 引? 言
近年來,隨著工農(nóng)業(yè)的發(fā)展和技術(shù)的不斷進(jìn)步,潛在的安全問題越來越多,例如:在工廠中,一些易燃有毒氣體泄漏后與某些成分發(fā)生化學(xué)反應(yīng)產(chǎn)生一氧化碳等有毒氣體;在農(nóng)村,秸稈、煤球、柴火等的不充分燃燒都會(huì)產(chǎn)生一氧化碳等有毒氣體[1-5];在城市,燃?xì)?、煤氣熱水器安裝使用不當(dāng)或使用不合格設(shè)備會(huì)導(dǎo)致管道漏氣、開關(guān)不僅而產(chǎn)生一氧化碳等有毒氣體。實(shí)際中,一氧化碳無色、無臭、無味[6-8],且具有毒性,能使人出現(xiàn)不同程度的中毒癥狀,危害人體的腦、心、肝、腎、肺及其他組織,甚至電擊樣死亡,人吸入最低致死濃度為0.5%(5分鐘)。另外,由于發(fā)生一氧化碳中毒事件的隱蔽性和普遍性,迫切需要一種檢測(cè)室內(nèi)一氧化碳濃度的檢測(cè)儀器[9,10]。
1? 系統(tǒng)總體方案的設(shè)計(jì)
系統(tǒng)整體框圖如圖1所示。系統(tǒng)使用MQ-7傳感器模塊探頭實(shí)時(shí)獲取測(cè)量場(chǎng)所空氣中一氧化碳的濃度,使用STM32C8T6單片機(jī)作為主控,獲取MQ-7傳感器數(shù)據(jù),當(dāng)MQ-7傳感器檢測(cè)的一氧化碳濃度數(shù)據(jù)超過預(yù)設(shè)閾值時(shí),STM32C8T6單片機(jī)控制聲光報(bào)警模塊報(bào)警,同時(shí),控制排風(fēng)扇進(jìn)行工作,排風(fēng)扇的排風(fēng)量隨著一氧化碳的濃度自動(dòng)調(diào)節(jié)。其中,聲光報(bào)警模塊包括蜂鳴器和LED燈光,當(dāng)MQ-7傳感器檢測(cè)的一氧化碳濃度數(shù)據(jù)超過預(yù)設(shè)閾值時(shí),蜂鳴器發(fā)出聲響,LED燈光閃爍。
另外,STM32C8T6單片機(jī)通過遠(yuǎn)程控制模塊與電子設(shè)備(例如:手機(jī)、平板電腦等)連接,單片機(jī)將MQ-7傳感器實(shí)時(shí)檢測(cè)的結(jié)果通過遠(yuǎn)程控制模塊發(fā)給電子設(shè)備,以便檢測(cè)人員隨時(shí)隨地查看,其中,控制模塊為藍(lán)牙模塊、WIFE模塊或USB模塊。
環(huán)保模塊:若待測(cè)室的體積較小,如家庭室內(nèi)、農(nóng)用大棚等,環(huán)保模塊為集氣加熱模塊,集氣加熱模塊包括集氣管,集氣管外套有加熱套,且與排風(fēng)扇連接。當(dāng)排風(fēng)扇排出的氣體經(jīng)過集氣管時(shí),單片機(jī)控制加熱套對(duì)集氣管加熱,使集氣管內(nèi)的氣體與集氣器內(nèi)的催化劑(例如氧化銅)進(jìn)行反應(yīng),催化劑將一氧化碳吸收后產(chǎn)生二氧化碳排出室外,以減少一氧化碳?xì)怏w對(duì)環(huán)境造成污染。
若待測(cè)室的體積較大,如工廠,環(huán)保模塊為碳捕集模塊,碳捕集模塊主要由煙氣預(yù)處理系統(tǒng)、吸收再生系統(tǒng)、壓縮干燥系統(tǒng)、制冷液化系統(tǒng)等組成,用于對(duì)排氣扇排出的氣體進(jìn)行封存,以進(jìn)行回收利用。例如碳捕集模塊回收的一氧化碳?xì)怏w可加工成石灰等對(duì)環(huán)境沒有危害的氣體。
2? 聲光報(bào)警模塊的設(shè)計(jì)
聲光報(bào)警模塊具有五種狀態(tài),以提示當(dāng)前環(huán)境內(nèi)一氧化碳的濃度和產(chǎn)品的工作狀態(tài):
1)LED燈光每隔30秒閃爍一次,無聲音警報(bào),表示當(dāng)前環(huán)境內(nèi)無一氧化碳或一氧化碳濃度低于閾值,對(duì)人體無害,并且表示設(shè)備工作正常。
2)燈光每隔5秒閃爍一次,同時(shí)伴隨有蜂鳴器報(bào)警,表示當(dāng)前環(huán)境內(nèi)已經(jīng)有一定濃度的一氧化碳,但該濃度的一氧化碳對(duì)人體無危害或者危害較低,用于提示用戶迅速反應(yīng)以及尋找一氧化碳的產(chǎn)生來源,以進(jìn)行防治。
3)LED燈光每隔2秒閃爍一次,同時(shí)伴隨有蜂鳴器報(bào)警,表示當(dāng)前環(huán)境內(nèi)已經(jīng)有較高濃度的一氧化碳,此濃度的一氧化碳已經(jīng)對(duì)人體造成一定的傷害,用于提示用戶撤離至空曠區(qū)域或者迅速尋找一氧化碳來源。
4)LED燈光每隔0.5秒閃爍一次,同時(shí)伴隨有蜂鳴器報(bào)警,表示當(dāng)前環(huán)境內(nèi)已經(jīng)有極高濃度的一氧化碳,此濃度的一氧化碳已經(jīng)可以對(duì)人體造成嚴(yán)重的損害,提示用戶立即撤離至空曠的地區(qū)。
5)LED燈光常亮,無聲音警報(bào),表示設(shè)備工作異常,請(qǐng)立即檢查產(chǎn)品。
如圖2所示,示出了產(chǎn)品核心部分的實(shí)物,該實(shí)物包括STM32C8T6單片機(jī)、聲光報(bào)警模塊、MQ-7傳感器和排風(fēng)扇。開關(guān)按鈕用于系統(tǒng)的開啟,開機(jī)后,主控系統(tǒng)進(jìn)入預(yù)熱,大概一分鐘左右,預(yù)熱過程中,會(huì)發(fā)出提示聲,預(yù)熱結(jié)束后,產(chǎn)品開始正常運(yùn)行,排風(fēng)扇狀態(tài)為自動(dòng)運(yùn)轉(zhuǎn);一氧化碳值在穩(wěn)定狀態(tài)下通常為1。其中,顯示屏為OLED顯示屏,其實(shí)時(shí)顯示當(dāng)前環(huán)境的一氧化碳濃度和排風(fēng)扇狀態(tài)。對(duì)于排風(fēng)扇轉(zhuǎn)速手動(dòng)控制按鈕,該實(shí)物設(shè)計(jì)了三個(gè)檔位,如高速檔、中速檔和低速檔,除了上述單片機(jī)控制排風(fēng)扇的轉(zhuǎn)速外,檢測(cè)人員也可以手動(dòng)按壓該按鈕調(diào)節(jié)排風(fēng)扇的轉(zhuǎn)速。
聲光報(bào)警模塊的工作原理為:?jiǎn)纹瑱C(jī)實(shí)時(shí)從MQ-7傳感器獲取當(dāng)前環(huán)境內(nèi)的一氧化碳濃度,并對(duì)預(yù)設(shè)時(shí)間段內(nèi)的數(shù)據(jù)進(jìn)行平均計(jì)算,以避免傳感器瞬間輸出的異常數(shù)值,影響系統(tǒng)穩(wěn)定性;然后,根據(jù)計(jì)算出的數(shù)值判斷檢測(cè)的一氧化碳的濃度屬于哪種狀態(tài),同時(shí)控制電機(jī)驅(qū)動(dòng)排風(fēng)扇開啟,并控制排風(fēng)扇轉(zhuǎn)速。OLED顯示屏?xí)?shí)時(shí)顯示當(dāng)前空氣中的一氧化碳濃度、排風(fēng)扇轉(zhuǎn)速及其工作方式。
本產(chǎn)品中使用的蜂鳴器是有源蜂鳴器,此類蜂鳴器控制簡(jiǎn)單,內(nèi)部自帶有起振源,只需要通入5 V電壓,便可發(fā)出蜂鳴聲。蜂鳴器每次發(fā)聲0.5秒,聲音清脆明亮,有很好的警示作用,其在產(chǎn)品中有以下3種狀態(tài):
1)蜂鳴器每隔5秒進(jìn)行一次報(bào)警,表示在當(dāng)前空氣中檢測(cè)到一氧化碳,但濃度較低。
2)蜂鳴器每隔2秒進(jìn)行一次報(bào)警,表示在當(dāng)前空氣中一氧化碳濃度較高,需要人員立即撤離現(xiàn)場(chǎng)。
3)蜂鳴器每隔1秒進(jìn)行一次報(bào)警,表示當(dāng)前空氣中一氧化碳濃度極高,會(huì)對(duì)在場(chǎng)的人員迅速造成嚴(yán)重危害,屬于最高級(jí)別的報(bào)警。
3? 系統(tǒng)軟件的設(shè)計(jì)
本系統(tǒng)使用的是STM32F103C8T6芯片,使用標(biāo)準(zhǔn)庫編程,程序開發(fā)平臺(tái)為Keil 5,使用的編程語言為C語言。
3.1? 主程序設(shè)計(jì)
主程序是程序運(yùn)行的主循環(huán)程序,是整個(gè)程序的核心,其他的外圍庫函數(shù)程序都是圍繞主程序運(yùn)行,為主程序提供服務(wù)的,并且,定義了一套程序運(yùn)行的最終目的和表達(dá)方式。
產(chǎn)品核心部分代碼的主程序分為以下幾部分:
1)頭文件:定義了主程序所有所需的庫函數(shù)頭文件,只有在此處定義了頭文件,所編寫的庫函數(shù)才能正常運(yùn)行和被引用。
2)變量定義:此處定義了主程序中所有需要用到的變量。
3)主程序初始化:在初始化中定義了需要初始化運(yùn)行的函數(shù),某些封裝的函數(shù)只有初始化后才能運(yùn)行。
4)主循環(huán)函數(shù):此處的代碼就是對(duì)程序目的的直接定義,此處的代碼會(huì)被反復(fù)循環(huán)執(zhí)行。
3.2? 編程邏輯
編程邏輯步驟如下所示:
1)代碼初始化,包括GPIO端口初始化、中斷初始化、DMA初始化、ADC采集初始化、定時(shí)器初始化、PWM初始化以及串口初始化,使用延時(shí)函數(shù),以等待設(shè)備運(yùn)行穩(wěn)定,其中,GPIO表示開發(fā)板引腳,ADC表示模擬電壓轉(zhuǎn)換數(shù)字電壓,DMA表示數(shù)據(jù)直連傳輸功能,無須CPU參與,定時(shí)器類似于CPU內(nèi)部的一個(gè)秒表,每到設(shè)定的值就會(huì)發(fā)送一個(gè)信號(hào),延時(shí)函數(shù)采用同樣原理,PWM與定時(shí)器原理類似,通過調(diào)節(jié)相同時(shí)間內(nèi)高電平的占空比,達(dá)到控制排風(fēng)扇轉(zhuǎn)速的目的,串口表示通過串口芯片,可與電腦進(jìn)行有線通行,常用于數(shù)據(jù)監(jiān)視,故障排查。
2)代碼中使用ADC自動(dòng)采集傳感器數(shù)據(jù),使用DMA自動(dòng)傳輸數(shù)據(jù),此過程無須處理器內(nèi)核參與,極大節(jié)約處理器性能。
3)程序讀取通過DMA傳輸?shù)絻?nèi)存的數(shù)據(jù),通過OLED顯示屏直接顯示出來,同時(shí),LED控制程序?qū)ψx取到的數(shù)據(jù)進(jìn)行判斷,決定進(jìn)入何種狀態(tài)。
4)定時(shí)器中斷函數(shù)每隔0.5秒產(chǎn)生一個(gè)中斷標(biāo)記,LED控制程序通過將狀態(tài)判斷結(jié)果和中斷標(biāo)記數(shù)進(jìn)行判斷,從而控制報(bào)警狀態(tài)。
5)PWM控制函數(shù)也通過讀取傳感器數(shù)據(jù),產(chǎn)生不同的PMA占空比,從而控制排風(fēng)扇轉(zhuǎn)速。
6)按鍵使用外部中斷函數(shù)控制,檢測(cè)到按鍵按下后,實(shí)現(xiàn)按鍵控制排風(fēng)扇轉(zhuǎn)速和啟??刂?。
注:以上編程邏輯代表產(chǎn)品核心部分的代碼編寫。
3.3? 數(shù)據(jù)判斷邏輯
以農(nóng)戶家庭采用煤球取暖為例,放置煤球取暖設(shè)備的房子面積在12~20 m2,一氧化碳濃度數(shù)據(jù)(x)判斷邏輯如下:
0<x≤24,一氧化碳濃度在安全范圍內(nèi),LED燈光30秒閃爍一次,蜂鳴器無報(bào)警。
24<x≤50,一氧化碳濃度超過最低安全閾值,對(duì)人體無危害或者危害較低,LED燈光5秒閃爍一次,同時(shí)蜂蜜器伴隨報(bào)警。
50<x≤240,一氧化碳濃度對(duì)人體有較大危害,LED燈光2秒閃爍一次,同時(shí)蜂蜜器伴隨報(bào)警。
240<x≤9 999,一氧化碳濃度對(duì)人體有極大危害,LED燈光0.5秒閃爍一次,同時(shí)蜂蜜器伴隨報(bào)警。
x = 0,傳感器狀態(tài)異常,需檢查傳感器或系統(tǒng),LED燈光常亮,蜂蜜器無報(bào)警聲。
4? 產(chǎn)品實(shí)驗(yàn)
如圖3所示,為產(chǎn)品實(shí)物部分外殼的三維視圖,其使用SolidWorks三維軟件進(jìn)行設(shè)計(jì),整體簡(jiǎn)潔大方,內(nèi)部緊湊。該外殼采用一體化設(shè)計(jì),減少了加工難度;且可直接使用3D打印機(jī)進(jìn)行無支撐打印,生產(chǎn)方便;外殼蓋與外殼之間未使用螺絲固定,方便實(shí)時(shí)拆卸查看內(nèi)部結(jié)構(gòu),以及檢修內(nèi)部。
圖3? 外殼的三維視圖
如圖4所示,產(chǎn)品開啟后(稱為初始狀態(tài)),室內(nèi)的一氧化碳濃度為0.014‰;在排風(fēng)口附近將打火機(jī)點(diǎn)燃(稱為氣體燃燒狀態(tài)),打火機(jī)燃燒釋放一氧化碳?xì)怏w,5秒左右之后,如圖5所示,一氧化碳濃度上升為7.732‰;由于排風(fēng)扇為自動(dòng)狀態(tài),其可進(jìn)行自動(dòng)換氣,經(jīng)過大約50秒后(稱為換氣狀態(tài)),如圖6所示,一氧化碳濃度下降為0.046‰。
5? 結(jié)? 論
近年來,我國衛(wèi)生、環(huán)保、建筑各部門陸續(xù)出臺(tái)了一系列有關(guān)室內(nèi)環(huán)境空氣污染控制和室內(nèi)空氣質(zhì)量的標(biāo)準(zhǔn)或規(guī)定。對(duì)該規(guī)定,本設(shè)計(jì)的主要優(yōu)點(diǎn)如下:
1)使用STM32開發(fā)板,功能強(qiáng)大,可配置“看門狗”程序放置死機(jī)、系統(tǒng)崩潰等各種情況。對(duì)數(shù)據(jù)處理能力強(qiáng),可根據(jù)實(shí)際需求調(diào)整數(shù)據(jù)的刷新率??蓴U(kuò)展能力強(qiáng),作為主機(jī)設(shè)備,后期還可加裝其他各種功能和模塊,例如添加溫濕度傳感器,添加控制舵機(jī),添加繼電器,等等。作為從機(jī),可作為一路信號(hào)采集設(shè)備,可通過串口、IIC協(xié)議、SPI協(xié)議、RS485協(xié)議、CAN協(xié)議等,將數(shù)據(jù)實(shí)時(shí)發(fā)送至主機(jī)或者其他設(shè)備。開發(fā)較為簡(jiǎn)單,調(diào)試方便。
2)使用大功率電機(jī)驅(qū)動(dòng)板,電機(jī)驅(qū)動(dòng)板具有3~18 V寬電壓輸入能力,3 A大電流輸出能力,可帶動(dòng)大功率的電機(jī)或風(fēng)扇,且可同時(shí)控制4路電機(jī)或風(fēng)扇??墒褂酶哳l的PWM信號(hào),電機(jī)調(diào)速時(shí)脈動(dòng)小,噪音低。
3)使用OLED屏幕實(shí)時(shí)顯示一氧化碳濃度和風(fēng)扇狀態(tài),更加直觀明了,且屏幕刷新率高,分辨率高,延時(shí)低,體積小,并且自發(fā)光,環(huán)境適應(yīng)性好,無論白天黑夜都可看得清楚。
4)使用LED燈和蜂鳴器作為聲光報(bào)警器,提示能力強(qiáng),且可替換為其他的各類模塊,拓展性好。
5)對(duì)于已做出實(shí)物的核心部分,體積小巧,攜帶方便、功能可靠,外觀簡(jiǎn)潔大方,美觀實(shí)用,可作為家庭內(nèi)部、農(nóng)家大棚內(nèi)等一氧化碳濃度的探測(cè)器,并且,價(jià)格實(shí)惠,上述實(shí)物的價(jià)錢約為150元,具有非常廣泛的使用前景。
參考文獻(xiàn):
[1] 余明高,孟牒,路長(zhǎng),等.不同熱輻射強(qiáng)度下秸稈燃燒特性實(shí)驗(yàn)研究 [J].火災(zāi)科學(xué),2010,19(4):212-216.
[2] 何新華.如何預(yù)防一氧化碳中毒 [J].健康向?qū)В?021,27(2):36-37.
[3] 趙宜靜,鄭嶸,楊敏娟,等.2015—2018年上海市浦東新區(qū)非職業(yè)性一氧化碳中毒流行病學(xué)分析 [J].環(huán)境與健康雜志,2020,37(2):152-154.
[4] 周貴珍,崔志偉,俞太念,等.2013—2015年上海市嘉定區(qū)非職業(yè)性一氧化碳中毒流行病學(xué)特征分析 [J].健康教育與健康促進(jìn),2018,13(6):546-548.
[5] 張亞英,王月華,黃惠敏.2007年上海市楊浦區(qū)非職業(yè)性一氧化碳中毒原因分析 [J].環(huán)境與職業(yè)醫(yī)學(xué),2010,27(2):103-105.
[6] 李瑞福.基于單片機(jī)AT89C51的一氧化碳濃度檢測(cè)儀設(shè)計(jì) [J].軟件,2015,36(9):106-108.
[7] 李翼飛,馬鵬飛.基于單片機(jī)的礦用一氧化碳檢測(cè)系統(tǒng)的設(shè)計(jì) [J].傳感器世界,2013,19(9):18-21.
[8] 劉忠富,游國棟,于為民.新型低功耗CO檢測(cè)系統(tǒng)的研制 [J].自動(dòng)化儀表,2008(10):60-63.
[9] 趙穎.論生活垃圾焚燒余熱鍋爐設(shè)計(jì) [J].能源研究與管理,2011(3):45-47.
[10] 李瑞福.基于單片機(jī)AT89C51的一氧化碳濃度檢測(cè)儀設(shè)計(jì) [J].軟件,2015,36(9):106-108.
作者簡(jiǎn)介:吳哲(1989.11—),女,漢族,陜西咸陽人,講師,碩士研究生,研究方向:機(jī)械設(shè)計(jì)、機(jī)電產(chǎn)品創(chuàng)新設(shè)計(jì)。