陳家敏,顧捷
(1.云南機電職業技術學院,云南昆明,650201;2.云南交通職業技術學院,云南昆明,650500)
高樓火災逐漸成為了城市中最為危險因素,火災安全成為了一個重要問題[1]。為了能夠及時發現和通報火災,讓人們提前知道可能會發生火災,減少和防止火災危害,提前做好各種預防或撲救措施,因此家居煙霧檢測系統顯得極為重要,該系統能夠在第一時間檢測家居環境中煙霧濃度、溫度等,發現異常啟動聲光報警,從而有效減少火災造成的損失。
本系統由STC90C52單片機為核心,由煙霧檢測模塊、溫度檢測模塊、聲光報警模塊、按鍵模塊和LCD顯示模塊組成。煙霧檢測模塊和溫度檢測模塊分別通過煙霧傳感器、溫度傳感器實時檢測家居環境煙霧、溫度,STC90C52單片機為主控制器,讀取煙霧傳感器、溫度傳感器檢測數據,并與閾值進行比較,若檢測數據高于閾值,單片機啟動聲光報警模塊,蜂鳴器發生、LED燈閃爍,發出報警。按鍵模塊用于設置閾值,解除報警等。LCD模塊用于顯示實時檢測的煙霧值和溫度值[2-3],如系統收到上位機主控制器模塊傳送當前采集煙霧數據和溫度數據的指令,系統通過串行口將煙霧數據和溫度數據傳送給上位機主控制器。系統框圖如圖1所示。

圖1 煙霧檢測系統框圖
STC90C52系列單片機是宏晶科技推出的一款高速、低功耗、超強抗干擾的單片機,指令代碼完全兼容傳統的8051單片機,12時鐘/機器周期和6時鐘/機器周期任意選擇,并且內部集成了MAX810專用復位電路。STC90C52系列單片機具有成本低、性能高的特點,支持ISP(在系統編程)及IAP(在應用編程)技術。使用ISP技術可不需要編程器,而直接在用戶系統板上燒錄用戶程序,修改調試非常方便。利用IAP技術能將內部部分專用Flash當作EEPROM使用,實現停電后保存數據的功能,擦寫次數為100000次以上,可省去外接EEPROM。STC90C52單片機最小系統由電源、晶振和復位電路構成。STC90C52需要5V的直流供電系統,可使用USB口輸出的5V直流直接供電;晶振電路為單片機系統提供基準時鐘信號,單片機內部所有的工作都是以這個時鐘信號為步調基準來進行工作的。STC90C52單片機的18腳和19腳是晶振引腳,本系統中接了一個11.0592M的晶振(它每秒鐘振蕩11,059,200次),外加兩個20pF的電容,電容的作用是幫助晶振起振,并維持振蕩信號的穩定;復位電路,就是利用它把電路恢復到起始狀態。單片機的復位有上電復位和按鈕手動復位兩種[4]。
MQ-2型煙霧傳感器常用做家庭和工廠的氣體泄漏監測裝置中,適用于液化氣、苯、烷、酒精、氫氣、煙霧等的探測。準確來說MQ-2是一個多種氣體探測器。MQ-2的探測范圍極其廣泛,它對天然氣、液化石油氣等煙霧有很高的靈敏度,尤其對烷類煙霧更為敏感,具有良好的抗干擾性,可準確排除有刺激性非可燃性煙霧的干擾信息。它具有靈敏度高、響應快、穩定性好、壽命長、驅動電路簡單等特點。
MQ-2型煙霧傳感器屬于二氧化錫半導體氣敏材料,屬于表面離子式N型半導體。當處于200-300攝氏度時,二氧化錫吸附空氣中的氧,形成氧的負離子吸附,使半導體中的電子密度減少,從而使其電阻值增加。當與煙霧接觸時,如果晶粒間界處的勢壘收到煙霧的調至而變化,就會引起表面導電率的變化。利用這一點就可以獲得煙霧存在的信息,煙霧的濃度越大,導電率越大,輸出電阻越低,則輸出的模擬信號越大[5]。
MQ-2常用的電路有兩種,一種使用采用比較器電路監控,另一種為ADC電路檢測。本設計中采用ADC電路檢測,將MQ-2型煙霧傳感器采集的模擬電壓信號經ADC0832轉化為數字信號,進而轉化為精確的煙霧濃度值,MQ-2煙霧傳感器信號采集電路如圖2所示。實現對MQ-2煙霧濃度的采集,只需實現ADC0832采集函數便可完成信號的采集。但通過ADC0832采集到的信號只為原始信號,要轉換為實際的煙霧濃度,還需要根據MQ-2的特性進行校正和公式轉換,最終得到實際的濃度值。

圖2 MQ-2煙霧傳感器信號采集電路
環境溫度檢測使用DS18B20單線數字溫度傳感器,DS18B20與單片機微處理器連接時僅需要一條口線,即可實現單片機與DS18B20的雙向通訊。這種單總線接口方式具有經濟性好,抗干擾能力強,適合于惡劣環境的現場溫度測量,使用方便等優點。設計中DS18B20引腳1GND接地,引腳3VCC與電源相連,引腳2為數據線,與單片機I/O口相連,實現溫度傳感器與單片機之間的雙向通訊,進行環境溫度數據的采集[1]。
LCD顯示模塊用于顯示采集到的煙霧傳感器數據和溫度傳感器數據,本設計中的煙霧檢測系統作為家居環境中的一個采集節點,需要顯示的內容不多,所以采用LCD1602液晶顯示器即可滿足顯示需求。LCD1602液晶顯示器是廣泛使用的一種字符型液晶顯示模塊。它是由字符型液晶顯示屏(LCD)、控制驅動主電路HD44780及其擴展驅動電路HD44100,以及少量電阻、電容元件和結構件等裝配在PCB板上而組成。LCD1602液晶顯示器顯示容量為16×2個字符;芯片工作電壓 :4.5-5.5V;工作電流 :2.0mA(5.0V)。它有 3個控制引腳RS(寄存器選擇端)、R/W(讀/寫信號線)、E(使能端)和8個數據引腳D0-D7,本設計中8個數據引腳接在單片機的同一個I/O(P0口)上,方便軟件程序編寫;該系統只需要向LCD1602中寫入煙霧傳感器數據和溫度傳感器數據,即只需要寫的操作,可將R/W(讀/寫信號線)直接接低電平,而使能端E直接接高電平,保證1602顯示器能夠正常工作。
聲光報警模塊由LED燈、蜂鳴器、晶體管構成。當系統煙霧傳感器檢測到液化氣、丙烷、氫氣等可燃氣體濃度過高時[6],單片機將驅動蜂鳴器發聲、LED燈閃爍,做出聲光報警,以提示用戶當前室內可燃性氣體濃度或溫度過高。本系統設置兩個功能按鍵,一個用來設置煙霧傳感器和溫度傳感器的閾值,另一個用來做解除報警,使系統恢復正常工作狀態。
系統軟件程序設計使用C語言編程,采用keil uvision4編輯器。系統上電后進行單片機初始化,煙霧傳感器、溫度傳感器采集相應環境煙霧數據和溫度值,判斷是否超過上限值,若超過上限值則啟動聲光報警,在LCD模塊指定位置顯示當前采集煙霧數據和溫度值,檢測系統是否收到上位機主控制器模塊傳送當前采集煙霧數據和溫度數據的指令,如接收到指令則將當前采集的煙霧數據和溫度值通過單片機串行口傳送給主控制器模塊。系統軟件設計的主程序流程圖如圖3所示。

圖3 煙霧檢測系統主程序流程圖
本系統的測試包括硬件測試和軟件測試。實驗中,系統上電后,可使用按鍵K1進行煙霧、溫度數據閾值設定,系統以60秒為一個周期,分別采集煙霧傳感器和溫度傳感器數據,采集結束,判斷是否超過設定閾值,并在LCD1602上進行煙霧數據和溫度數據的顯示。圖4為系統采集的近20小時的家庭溫度數據。

圖4 室內溫度數據