阮承治,李 琦,曾東梅,楊 君,李 青,吳函汀
(武夷學(xué)院 機(jī)電工程學(xué)院,福建 武夷山 354300)
我國是人口大國,人民的生命和財產(chǎn)安全是國家和諧安穩(wěn)的根基。隨著城市的不斷發(fā)展,人們工作生活相對集中,識別住房火災(zāi)隱患,配置防火滅火系統(tǒng),切實做到有備無患是現(xiàn)代生活的重要需求[1-2]。智能化煙霧報警控制系統(tǒng)從無到有,從簡單到復(fù)雜,對減少人民財產(chǎn)損失與維護(hù)國家穩(wěn)定和諧具有重大意義和實用價值[3-4]。因此,設(shè)計一款以STM32單片機(jī)為核心控制器的智能化煙霧報警控制系統(tǒng)顯得尤為重要。
目前市場上主流的智能安防裝置以檢測環(huán)境煙霧、溫度的功能為主,功能相對單一,且無實時與用戶建立遠(yuǎn)程數(shù)據(jù)傳輸?shù)墓δ躘5],缺乏與之配套的適用于智能安防的實時監(jiān)測功能[6]。為解決上述問題,本控制系統(tǒng)綜合運用工業(yè)無線GSM移動串口通訊模塊及單片機(jī)控制技術(shù),克服傳統(tǒng)的固定座機(jī)和寬帶網(wǎng)絡(luò)有線距離的數(shù)據(jù)傳輸模式的局限性,可實現(xiàn)超遠(yuǎn)距離靈活的智能化自動報警與控制。
本設(shè)計是基于STM32單片機(jī)為控制器的智能化煙霧報警系統(tǒng),并通過GSM通訊模塊實現(xiàn)自動報警。該控制器的電源供電模塊通過AC降壓,并通過整流、濾波及穩(wěn)壓為控制系統(tǒng)供電;控制系統(tǒng)通過傳感器檢測煙霧、溫度及紅外信息,若出現(xiàn)險情,即將報警信息通過GSM模塊發(fā)送到用戶手機(jī);單片機(jī)控制模塊由掉電存儲、GSM通訊、顯示電路、煙霧檢測、測溫模塊、繼電器控制和獨立按鍵模塊等子模塊構(gòu)成。系統(tǒng)總體設(shè)計方案如圖1所示。

圖1 系統(tǒng)總體設(shè)計
本系統(tǒng)的設(shè)計是以STM32單片機(jī)為主控系統(tǒng),該主控系統(tǒng)是由單片機(jī)最小系統(tǒng)、獨立按鍵、GSM通訊、顯示模塊、煙霧檢測、測溫模塊和繼電器控制電路等子模塊構(gòu)成。
該最小系統(tǒng)主要是由復(fù)位電路、串口下載電路等構(gòu)成,并由DC電路接口提供直流電源支持單片機(jī)的正常運行[7]。本設(shè)計中單片機(jī)最小系統(tǒng)如圖2所示。

圖2 單片機(jī)最小系統(tǒng)
根據(jù)設(shè)計的單片機(jī)最小系統(tǒng),RST引腳接收到兩個機(jī)器周期以上的高電平信號,STM32單片機(jī)實現(xiàn)復(fù)位功能。本設(shè)計采用的是單片機(jī)內(nèi)部晶振,按鈕復(fù)位電路。
2.2.1 掉電存儲電路
本系統(tǒng)掉電存儲電路中AT24C04芯片A0,A1,A2默認(rèn)接低電平,通過AT24C04數(shù)據(jù)手冊可查找IIC通信地址0x40[8]。當(dāng)有多個存儲芯片AT24C04的IIC器件同時通信時,只需更改A0、A1和A2對應(yīng)的高低電平即可尋址該模塊,掉電存儲電路如圖3所示。

圖3 掉電存儲電路
2.2.2 通訊模塊電路
GSM通訊模塊如圖4所示,該模塊與單片機(jī)采用串口通信方式。由于GSM模塊需要較大的電流,一般不可以直接使用單片機(jī)系統(tǒng)供電,否則會造成通信連接失敗的情況。因本系統(tǒng)有獨立設(shè)計5V電源模塊,故可直接為GSM供電。

圖4 GSM通信模塊
2.2.3 煙霧檢測模塊
單片機(jī)系統(tǒng)通過煙霧檢測模塊能自動實時監(jiān)測當(dāng)前環(huán)境的煙霧濃度,程序采用模擬輸出的算法在LCD顯示屏上顯示實時煙霧數(shù)據(jù),煙霧模塊模擬輸出引腳與STM32單片機(jī)SMOKE引腳相連接。煙霧檢測模塊如圖5所示。

圖5 煙霧檢測模塊
2.2.4 溫度檢測模塊
DS18B20是單總線數(shù)字溫度計芯片,溫度測量范圍從-55℃至+125℃[9]。DS18B20使用方便,單片機(jī)和DS18B20也僅需連接一條數(shù)據(jù)線,DS18B20所需的電源為5V。與傳統(tǒng)的溫度測量方式不同,DS18B20的溫度轉(zhuǎn)換結(jié)果可直接從數(shù)據(jù)線讀出,在-10℃至+85℃測量精度可達(dá)0.5℃。因此,本設(shè)計選用DS18B20進(jìn)行溫度信號采集。溫度檢測模塊如圖6所示。

圖6 溫度檢測電路
2.2.5 顯示模塊電路
本設(shè)計要求顯示模塊需顯示2行內(nèi)容信息,每行有16個字符。本設(shè)計由于需要設(shè)置手機(jī)號碼、溫度和煙霧三個參數(shù),因此設(shè)置界面設(shè)計3行內(nèi)容。此電路通過并行連接,所需元器件少,傳輸速度快。在程序設(shè)計中對LCD1602顯示模塊每次進(jìn)行讀寫操作前,均需讀、寫檢測,以確保STA7為低電平。設(shè)計中顯示模塊電路如圖7所示。

圖7 LCD1602顯示電路
2.2.6 獨立按鍵控制電路
獨立按鍵模塊由5個按鍵組成,S1用于設(shè)置是否手動控制,可控制繼電器工作狀態(tài);S2作為選擇進(jìn)入顯示界面或者設(shè)置界面的確定按鍵;S3選擇設(shè)置界面下的手機(jī)號碼、溫度和煙霧參數(shù);S4是在設(shè)置界面中的手機(jī)號碼、溫度和煙霧的加數(shù)值;S5為設(shè)置相應(yīng)參數(shù)的減數(shù)值。獨立按鍵模塊電路如圖8所示。

圖8 獨立按鍵控制電路
本系統(tǒng)軟件設(shè)計采用的C語言編程設(shè)計,系統(tǒng)的軟件設(shè)計分為主程序和子程序設(shè)計。首先在“Main”函數(shù)中主程序會進(jìn)行一系列模塊工作的初始化,通過模塊化設(shè)計方式完成系統(tǒng)的功能實現(xiàn),模塊部分主要包括單片機(jī)最小系統(tǒng)、GSM串口模塊控制、煙霧溫度模塊控制、顯示控制、按鍵控制電路和繼電器通斷控制等。通過軟件主程序調(diào)用各模塊的子程序并初始化,即可在主程序中實現(xiàn)總體控制功能。
主程序是控制系統(tǒng)程序的主要組成部分,整個的控制系統(tǒng)的軟件功能都是通過主程序來實現(xiàn)的,主程序可通過程序初始化、調(diào)用相關(guān)子程序函數(shù)和中斷服務(wù)程序來綜合完成。主程序設(shè)計思路是首先進(jìn)行初始化,初始化過后,各個模塊開始正常工作;再判斷是否環(huán)境中有超過設(shè)定的溫度、煙霧濃度閾值;最后根據(jù)判斷發(fā)送報警短信,通知用戶當(dāng)前環(huán)境中的溫度、煙霧信息。主程序流程如圖9所示。

圖9 主程序流程圖
3.2.1 串口通信程序設(shè)計
主程序進(jìn)行初始化后便開始運行GSM模塊。首先定義各項參數(shù)以及初始化各相關(guān)模塊,調(diào)用數(shù)據(jù)處理程序,然后將數(shù)據(jù)實時存儲在寄存器中。若GSM處于工作狀態(tài),此時有誤撥電話打入,單片機(jī)通過串口發(fā)送ATH指令控制GSM模塊自動掛斷電話。若單片機(jī)監(jiān)測到溫度,煙霧濃度超過設(shè)置的閾值,單片機(jī)通過串口向GSM模塊傳輸信息并發(fā)送短信到手機(jī)實現(xiàn)遠(yuǎn)程報警。串口通信程序流程如圖10所示。

圖10 GSM串口通信程序流程圖
3.2.2 溫度檢測程序設(shè)計
控制系統(tǒng)主程序經(jīng)過初始化后,判斷是否檢測到溫度傳感器發(fā)出的溫度轉(zhuǎn)換命令和讀溫度指令,若接受到相應(yīng)指令,即調(diào)用相關(guān)的子程序并進(jìn)行數(shù)據(jù)處理,以完成溫度測量及數(shù)據(jù)顯示功能。溫度檢測流程如圖11所示。

圖11 溫度檢測程序流程圖
3.2.3 顯示程序設(shè)計
本系統(tǒng)可實現(xiàn)煤氣泄漏及火災(zāi)實時報警的功能,另外也可實時顯示溫度及煙霧濃度數(shù)據(jù)信息在LCD顯示屏上。首先初始化成功會顯示“GSM INIT”即GSM模塊工作正常,然后在設(shè)置界面顯示相應(yīng)設(shè)置信息,最后在顯示界面顯示已經(jīng)設(shè)置的參數(shù)閾值。顯示程序設(shè)計如圖12所示。

圖12 顯示程序流程圖
整個系統(tǒng)設(shè)計完成后,為測試系統(tǒng)是否符合設(shè)計要求,需要測試與分析系統(tǒng)的可靠性和穩(wěn)定性,本系統(tǒng)的調(diào)試主要包括串口通訊模塊和硬件調(diào)試與分析。
在調(diào)試GSM串口通訊模塊中,首先,通過電腦GSM調(diào)試專用工具發(fā)送AT指令給模塊實現(xiàn)通信,以此測試出廠信息。其中,可測試設(shè)備類型,設(shè)備序號等,均回顯“OK”信息,則說明GSM模塊正常工作,測試結(jié)果如圖13(a)所示。其次,測試GSM模塊能否正常發(fā)送短信功能。根據(jù)人為制造的模擬溫度煙霧濃度變化,且變化超過已經(jīng)設(shè)定的溫度煙霧濃度閾值,此時測試環(huán)境中溫度煙霧模塊與設(shè)計的系統(tǒng)測試結(jié)果一致。在此測試過程中,若GSM模塊會發(fā)送短信到設(shè)置的用戶手機(jī),則說明GSM正常發(fā)送短信,測量結(jié)果如圖13(b)所示。從測試結(jié)果看,裝置測試的數(shù)據(jù)符合設(shè)計要求。

(a)

(b)圖13 GSM模塊調(diào)試圖
根據(jù)系統(tǒng)串口通訊模塊測試,結(jié)合系統(tǒng)的硬件電路進(jìn)行總體功能調(diào)試,即驗證系統(tǒng)軟硬件綜合運行是否正常,主要包括GSM通信、溫度檢測、煙霧檢測、熱釋電傳感、按鍵模塊和顯示等。將電路板制作完成以后,需要逐一對其模塊功能進(jìn)行調(diào)試,以及對出現(xiàn)的故障進(jìn)行排除,設(shè)計與制作的系統(tǒng)實物圖如圖14所示。
調(diào)試過程中,首先對溫度模塊進(jìn)行測試,通過外部環(huán)境模擬溫度變化的情況,利用獨立按鍵將裝置調(diào)至測試溫度的模式。測試結(jié)果如圖14所示,其中溫度為26℃。經(jīng)過對照測量,此數(shù)據(jù)符合系統(tǒng)設(shè)計要求。再測試煙霧模塊,在室內(nèi)無煙霧氣體,模擬煙霧濃度變化的情況。LCD顯示屏顯示煙霧濃度的界面,從測試結(jié)果看,其中煙霧濃度為0,記錄的溫度數(shù)據(jù)符合設(shè)計要求。

圖14 實物圖
本系統(tǒng)以STM32單片機(jī)為主控制器進(jìn)行設(shè)計,實現(xiàn)了對工廠火情、家庭煤氣泄漏等進(jìn)行自動監(jiān)測并自動報警的功能。本研究中設(shè)計了系統(tǒng)的總體設(shè)計方案,并對硬件電路的掉電存儲模塊、顯示模塊、溫度和煙霧檢測模塊、通訊模塊以及獨立按鍵電路模塊進(jìn)行詳細(xì)設(shè)計與分析。通過主程序的初始化及調(diào)用相關(guān)函數(shù)實現(xiàn)控制系統(tǒng)的軟件功能,并設(shè)計了系統(tǒng)的顯示程序、溫度檢測程序、串口通信模塊程序等子程序流程圖。最后通過實驗測試與結(jié)果分析可得,該控制系統(tǒng)可實現(xiàn)實時數(shù)據(jù)采集與顯示,且可實現(xiàn)智能化遠(yuǎn)程報警功能。該系統(tǒng)的工作能基本滿足設(shè)計需求,可起到減少財產(chǎn)損失和保障生命安全的目的。