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