劉 艷,張 偉
(1.浙江大學(xué)城市學(xué)院,杭州 310015;2.浙江工商大學(xué)杭州商學(xué)院,桐廬 311500)
基于Arduino云的一氧化碳檢測報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
劉 艷1,張 偉2
(1.浙江大學(xué)城市學(xué)院,杭州 310015;2.浙江工商大學(xué)杭州商學(xué)院,桐廬 311500)
針對設(shè)施農(nóng)業(yè)溫室大棚中應(yīng)用燃?xì)馍郎乜赡艹霈F(xiàn)的燃?xì)庑孤秵栴}或者一氧化碳過量,設(shè)計(jì)了一款基于Arduino云模塊的一氧化碳檢測和報(bào)警系統(tǒng)。詳細(xì)介紹了系統(tǒng)的總體設(shè)計(jì)、硬件設(shè)計(jì)以及軟件設(shè)計(jì);利用Arduino自帶云模塊實(shí)現(xiàn)了報(bào)警信號的無線傳輸;通過實(shí)驗(yàn)對系統(tǒng)進(jìn)行了測試,能夠?qū)崿F(xiàn)一氧化碳的實(shí)時(shí)、連續(xù)、可靠檢測,測試結(jié)果證明了系統(tǒng)具有實(shí)用性和有效性。
Arduino云;一氧化碳檢測;傳感器TGS5042
現(xiàn)代設(shè)施農(nóng)業(yè)中,冬季里為了使大棚內(nèi)的溫度適合農(nóng)作物,目前應(yīng)用較多的方法是采用燒煤燒氣。當(dāng)煤、氣燃燒時(shí),會(huì)產(chǎn)生二氧化碳和其它一些雜質(zhì)氣體,當(dāng)通風(fēng)不良,氧氣不足就會(huì)產(chǎn)生一氧化碳,尤其是在封閉環(huán)境下,一氧化碳和二氧化碳濃度逐漸增加,會(huì)造成人、動(dòng)物或魚蝦等一氧化碳中毒,甚至引起爆炸,生命財(cái)產(chǎn)造成巨大的損失[1~3]。
設(shè)施農(nóng)業(yè)場地一般都設(shè)置在野外地區(qū),而且范圍較大,如果采用人工巡邏檢測一氧化碳的含量會(huì)有費(fèi)時(shí)費(fèi)力而且還不準(zhǔn)確的問題。針對以上問題,本文提出一種基于Arduino云的一氧化碳檢測報(bào)警系統(tǒng),該系統(tǒng)能自動(dòng)檢測溫室大棚中一氧化碳的含量,當(dāng)一氧化碳含量到達(dá)一定值時(shí)會(huì)自動(dòng)報(bào)警,是溫室大棚中的必要設(shè)備。Arduino云將Arduino開源體系結(jié)構(gòu)與Linux系統(tǒng)整合在一塊開發(fā)板,是Arduino家族中首個(gè)無線產(chǎn)品成員[4]。本設(shè)計(jì)采用內(nèi)置Wi-Fi功能的Arduino云控制器,給出了基于Arduino云模塊的一氧化碳檢測報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),除了能夠完成常規(guī)的一氧化碳的檢測和報(bào)警外,還能通過Arduino云中的Wi-Fi模塊將報(bào)警和一氧化碳濃度信息利用Wi-Fi通信方式[5]發(fā)送給用戶[5]。
1.1 系統(tǒng)硬件設(shè)計(jì)方案
本系統(tǒng)的硬件部分主要由一氧化碳檢測模塊、蜂鳴器報(bào)警模塊、電壓檢測模塊、LED驅(qū)動(dòng)模塊及Wi-Fi信息處理模塊組成。系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
1.2 系統(tǒng)功能
系統(tǒng)上電后,綠色狀態(tài)燈與紅色報(bào)警燈同時(shí)亮,并伴有蜂鳴器響聲。200ms后兩燈和蜂鳴器關(guān)閉,系統(tǒng)進(jìn)入工作模式。為了降低功耗,系統(tǒng)工作在低功耗模式,約800ms喚醒一次。
在一氧化碳濃度監(jiān)視狀態(tài)下,狀態(tài)燈每隔20s閃爍一次表示系統(tǒng)正常工作;每隔5s,Arduino控制器通過A/D轉(zhuǎn)化器采集運(yùn)算放大器輸出的電壓信號,計(jì)算當(dāng)前環(huán)境的一氧化碳濃度,并累計(jì)當(dāng)前濃度下持續(xù)的時(shí)間:1)當(dāng)一氧化碳濃度大于等于50ppm,小于100ppm時(shí),累加低濃度持續(xù)時(shí)間;2)當(dāng)一氧化碳濃度大于等于100ppm,小于300ppm時(shí),累加低、中濃度持續(xù)時(shí)間;3)當(dāng)一氧化碳濃度大于等于300ppm,累加低、中、高濃度持續(xù)時(shí)間。當(dāng)?shù)蜐舛葧r(shí)間達(dá)到60分鐘,或中濃度時(shí)間達(dá)10分鐘,或高濃度時(shí)間達(dá)到3分鐘,系統(tǒng)進(jìn)入報(bào)警狀態(tài)。報(bào)警狀態(tài)下,紅色報(bào)警燈以2.5Hz的頻率閃爍,蜂鳴器發(fā)出>85dB的報(bào)警聲,且通過Wi-Fi發(fā)送報(bào)警信息給大棚片區(qū)負(fù)責(zé)人,且每隔1s采集當(dāng)前環(huán)境下的一氧化碳濃度。當(dāng)一氧化碳濃度低于50ppm,并且持續(xù)1分鐘后,報(bào)警狀態(tài)停止。紅色報(bào)警燈停止閃爍,蜂鳴器停止報(bào)警,給負(fù)責(zé)人發(fā)送警報(bào)解除信息。系統(tǒng)又進(jìn)入一氧化碳濃度監(jiān)視狀態(tài)。
當(dāng)電池電壓低于3.6V時(shí),報(bào)警指示燈每隔20s閃爍一次,并伴隨蜂鳴器鳴叫一次,并通過Wi-Fi接口給用戶發(fā)送一個(gè)更換電池的提示,提醒用戶更換電池。
任何狀態(tài)下,按下測試/復(fù)位按鍵后,系統(tǒng)初始化,檢測狀態(tài)指示燈、報(bào)警指示燈以及蜂鳴器的工作狀態(tài),并初始化一氧化碳濃度檢測的持續(xù)時(shí)間。
2.1 一氧化碳檢測
一氧化碳濃度檢測采用TGS5042一氧化碳傳感器[6],該傳感器具有溫度漂移低、精度高、壽命長及對其他氣體干擾敏感性低等特性。TGS5042主要通過與一氧化碳發(fā)生化學(xué)反應(yīng)產(chǎn)生電信號來工作,電路原理如圖2所示。
圖2 一氧化碳濃度檢測電路圖
2.2 電壓檢測電路
此系統(tǒng)采用電池供電,電壓隨著電池性能的降低而逐漸減小。由于微處理器的A/D轉(zhuǎn)換器基準(zhǔn)電壓為微處理器供電電壓,為使A/D轉(zhuǎn)換的結(jié)果更加準(zhǔn)確,并在電壓降低到一定程度時(shí)提醒用戶更換電池,需要專門電路檢測電池的當(dāng)前電壓。
系統(tǒng)使用NNCD3.0DA穩(wěn)壓管生成3.0V恒定電壓,通過微處理器的A/D轉(zhuǎn)換功能,計(jì)算出當(dāng)前電池電壓,從而為一氧化碳傳感器輸出信號提供準(zhǔn)確的A/D基準(zhǔn)電壓值,并在電池電量過低時(shí)產(chǎn)生報(bào)警,電壓檢測電路如圖3所示。
圖3 電壓檢測電路圖
2.3 LED驅(qū)動(dòng)電路
系統(tǒng)狀態(tài)指示燈及報(bào)警燈采用高亮LED,驅(qū)動(dòng)電流為20mA左右。由于所采用的I/O無法提供這么大的驅(qū)動(dòng)電路,但單個(gè)引腳的灌電流卻可以達(dá)到40mA,所以選用低電平點(diǎn)亮LED驅(qū)動(dòng)電路,電路原理如圖4所示。
圖4 LED驅(qū)動(dòng)電路圖
整個(gè)系統(tǒng)的軟件設(shè)計(jì)包括:復(fù)位/測試任務(wù)、低功耗任務(wù)、中斷喚醒任務(wù)、狀態(tài)燈閃爍指示及低電壓報(bào)警指示任務(wù)、氣體濃度超限報(bào)警檢測和濃度超限報(bào)警、Wi-Fi信息傳輸和接受任務(wù)。主程序流程如圖5所示。
4.1 氣體濃度檢測和超限報(bào)警任務(wù)
圖5 主程序流程圖
系統(tǒng)上電后,每隔5s執(zhí)行氣體濃度檢測及超新報(bào)警任務(wù)。在此任務(wù)下,測試當(dāng)前環(huán)境中一氧化碳濃度,并對不同濃度持續(xù)時(shí)間進(jìn)行累加。系統(tǒng)按照EN50291歐洲或美國標(biāo)準(zhǔn)設(shè)計(jì)三種報(bào)警濃度:1)當(dāng)濃度大于等于50ppm,小于100ppm,且持續(xù)時(shí)間為60分鐘時(shí);2)當(dāng)濃度大于等于100ppm,小于300ppm且持續(xù)時(shí)間為10分鐘時(shí);3)當(dāng)濃度大于等于300ppm,且持續(xù)時(shí)間為3分鐘時(shí),執(zhí)行氣體濃度超限報(bào)警任務(wù)。在執(zhí)行報(bào)警任務(wù)時(shí),紅色報(bào)警指示燈以2.5Hz的頻率閃爍,并伴隨蜂鳴器發(fā)出大于85dB的報(bào)警聲。此任務(wù)不執(zhí)行低功耗任務(wù),直到報(bào)警任務(wù)結(jié)束,系統(tǒng)執(zhí)行低功耗任務(wù),等待再一次喚醒。流程圖如圖6~圖8所示。
4.2 指示任務(wù)
包括狀態(tài)燈閃爍以及 低電壓報(bào)警指示任務(wù)。執(zhí)行指示燈閃爍任務(wù)時(shí),系統(tǒng)每隔20s,綠色狀態(tài)指示燈亮1s,然后熄滅。當(dāng)電池電壓低于3.6V時(shí),系統(tǒng)執(zhí)行低電壓報(bào)警指示任務(wù)。在此任務(wù)下,每隔20s,紅色報(bào)警指示燈閃爍一次,并伴有蜂鳴器發(fā)出“嘟”的報(bào)警聲,提醒用戶更換電池。圖9為指示任務(wù)處理程序流程圖。
4.3 Wi-Fi通信任務(wù)
系統(tǒng)上電后給用戶發(fā)送一條信息通知用戶,報(bào)警器開始工作,在一氧化碳濃度超限時(shí)給用戶發(fā)送濃度值以及持續(xù)時(shí)間或電池電壓低時(shí)發(fā)送換電池信息給用戶。Wi-Fi通信流程如圖10所示。
圖6 一氧化碳濃度報(bào)警檢測任務(wù)處理程序流程圖
圖7 當(dāng)前一氧化碳濃度測量處理程序流程圖
圖8 氣體濃度超限報(bào)警任務(wù)處理流程圖
圖9 指示任務(wù)處理程序流程圖
當(dāng)系統(tǒng)上電后,或按下“復(fù)位/測試”按鍵后,系統(tǒng)執(zhí)行復(fù)位/測試任務(wù)。在此任務(wù)中,狀態(tài)指示燈、報(bào)警指示燈點(diǎn)亮,并伴隨蜂鳴器響聲。200ms后,系統(tǒng)結(jié)束復(fù)位/測試任務(wù),狀態(tài)指示燈、報(bào)警指示燈以及蜂鳴器關(guān)閉。
【】【】
圖10 Wi-Fi通信流程圖
低功耗任務(wù)是指系統(tǒng)執(zhí)行低功耗指令,進(jìn)入低功耗模式。此模式中,所謂外圍功能停止運(yùn)行。而中斷服務(wù)任務(wù)是系統(tǒng)在低功耗模式下運(yùn)行0.8s后,產(chǎn)生看門狗中斷,系統(tǒng)進(jìn)入中斷喚醒模式。在此模式中,根據(jù)測試時(shí)間和標(biāo)志位的值,分別選擇執(zhí)行狀態(tài)指示任務(wù)、氣體濃度測試和超限報(bào)警任務(wù)、低電壓報(bào)警任務(wù)或Wi-Fi信息傳輸任務(wù)。
為驗(yàn)證系統(tǒng)的可行性和實(shí)用性,選取了杭州市某水產(chǎn)養(yǎng)殖公司搭建的溫室大棚作為實(shí)驗(yàn)基地。該實(shí)驗(yàn)基地?fù)碛卸嘧鶞厥遥云渲幸蛔鶠槲r苗培育建立的溫室為實(shí)驗(yàn)地點(diǎn),該設(shè)施大棚面積50m2,實(shí)驗(yàn)時(shí)間為2011年10月26日。通過控制燃?xì)忉尫诺臐舛群蜁r(shí)間來檢測系統(tǒng)的有效性。實(shí)驗(yàn)顯示能夠有效的完成檢測和報(bào)警任務(wù)。
設(shè)計(jì)了一款基于Ardaino云的一氧化碳濃度檢測和報(bào)警系統(tǒng)。采用一氧化碳傳感器TGS5042來檢測一氧化碳的濃度,控制模塊利用具有Wi-Fi模塊的Ardaino微控制器。除了能夠?qū)崿F(xiàn)常規(guī)的蜂鳴報(bào)警和電池電壓檢測功能外,還能利用Ardaino自帶的云模塊實(shí)現(xiàn)實(shí)現(xiàn)報(bào)警信息、一氧化碳濃度以及低電壓信息向用戶的無線傳輸。
[1] 孫潔,李廣林.物聯(lián)網(wǎng)和云計(jì)算技術(shù)在溫室大棚控制系統(tǒng)中的應(yīng)用[J].華東理工大學(xué)學(xué)報(bào),2016,38(3):103-107.
[2] 盛平,郭洋洋,李萍萍.基于ZigBee和3G技術(shù)的設(shè)施農(nóng)業(yè)智能測控系統(tǒng)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2012,43(12):229-233.
[3] 王東,莫先.基于STM32智能家居的燃?xì)鈾z測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].重慶理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,30(4):108-115.
[4] yingcloud.新型Arduino云為物聯(lián)網(wǎng)應(yīng)用創(chuàng)建開源設(shè)計(jì)環(huán)境[EB/OL].http://blog.csdn.net/yingcloud/article/detai ls/17003869,2013-11-28/2016-11-30.
[5] 無線城市:電信級Wi-Fi網(wǎng)絡(luò)建設(shè)與運(yùn)營[M].人民郵電出版社, 2011.
[6] 高峰.Technical information for TSG5042-Technical information for carbon monoxide sensors[Z].
Design and implementation of carbon monoxide detection alarm system based on Arduino Yun
LIU Yan1, ZHANG Wei2
TP277
:B
1009-0134(2017)03-0020-05
2016-11-30
國家自然科學(xué)基金面上項(xiàng)目(61673348);浙江省杭州市農(nóng)業(yè)科研項(xiàng)目(20160432B26);大學(xué)生科研項(xiàng)目(X2016522044)
劉艷(1981 -),女,山東臨沂人,講師,工學(xué)博士,研究方向?yàn)榍度胧较到y(tǒng)設(shè)計(jì)、視覺測量與控制等。