阮承治,李 琦,曾東梅,楊 君,李 青,吳函汀
(武夷學(xué)院 機(jī)電工程學(xué)院,福建 武夷山 354300)
我國(guó)是人口大國(guó),人民的生命和財(cái)產(chǎn)安全是國(guó)家和諧安穩(wěn)的根基。隨著城市的不斷發(fā)展,人們工作生活相對(duì)集中,識(shí)別住房火災(zāi)隱患,配置防火滅火系統(tǒng),切實(shí)做到有備無(wú)患是現(xiàn)代生活的重要需求[1-2]。智能化煙霧報(bào)警控制系統(tǒng)從無(wú)到有,從簡(jiǎn)單到復(fù)雜,對(duì)減少人民財(cái)產(chǎn)損失與維護(hù)國(guó)家穩(wěn)定和諧具有重大意義和實(shí)用價(jià)值[3-4]。因此,設(shè)計(jì)一款以STM32單片機(jī)為核心控制器的智能化煙霧報(bào)警控制系統(tǒng)顯得尤為重要。
目前市場(chǎng)上主流的智能安防裝置以檢測(cè)環(huán)境煙霧、溫度的功能為主,功能相對(duì)單一,且無(wú)實(shí)時(shí)與用戶建立遠(yuǎn)程數(shù)據(jù)傳輸?shù)墓δ躘5],缺乏與之配套的適用于智能安防的實(shí)時(shí)監(jiān)測(cè)功能[6]。為解決上述問(wèn)題,本控制系統(tǒng)綜合運(yùn)用工業(yè)無(wú)線GSM移動(dòng)串口通訊模塊及單片機(jī)控制技術(shù),克服傳統(tǒng)的固定座機(jī)和寬帶網(wǎng)絡(luò)有線距離的數(shù)據(jù)傳輸模式的局限性,可實(shí)現(xiàn)超遠(yuǎn)距離靈活的智能化自動(dòng)報(bào)警與控制。
本設(shè)計(jì)是基于STM32單片機(jī)為控制器的智能化煙霧報(bào)警系統(tǒng),并通過(guò)GSM通訊模塊實(shí)現(xiàn)自動(dòng)報(bào)警。該控制器的電源供電模塊通過(guò)AC降壓,并通過(guò)整流、濾波及穩(wěn)壓為控制系統(tǒng)供電;控制系統(tǒng)通過(guò)傳感器檢測(cè)煙霧、溫度及紅外信息,若出現(xiàn)險(xiǎn)情,即將報(bào)警信息通過(guò)GSM模塊發(fā)送到用戶手機(jī);單片機(jī)控制模塊由掉電存儲(chǔ)、GSM通訊、顯示電路、煙霧檢測(cè)、測(cè)溫模塊、繼電器控制和獨(dú)立按鍵模塊等子模塊構(gòu)成。系統(tǒng)總體設(shè)計(jì)方案如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)的設(shè)計(jì)是以STM32單片機(jī)為主控系統(tǒng),該主控系統(tǒng)是由單片機(jī)最小系統(tǒng)、獨(dú)立按鍵、GSM通訊、顯示模塊、煙霧檢測(cè)、測(cè)溫模塊和繼電器控制電路等子模塊構(gòu)成。
該最小系統(tǒng)主要是由復(fù)位電路、串口下載電路等構(gòu)成,并由DC電路接口提供直流電源支持單片機(jī)的正常運(yùn)行[7]。本設(shè)計(jì)中單片機(jī)最小系統(tǒng)如圖2所示。
圖2 單片機(jī)最小系統(tǒng)
根據(jù)設(shè)計(jì)的單片機(jī)最小系統(tǒng),RST引腳接收到兩個(gè)機(jī)器周期以上的高電平信號(hào),STM32單片機(jī)實(shí)現(xiàn)復(fù)位功能。本設(shè)計(jì)采用的是單片機(jī)內(nèi)部晶振,按鈕復(fù)位電路。
2.2.1 掉電存儲(chǔ)電路
本系統(tǒng)掉電存儲(chǔ)電路中AT24C04芯片A0,A1,A2默認(rèn)接低電平,通過(guò)AT24C04數(shù)據(jù)手冊(cè)可查找IIC通信地址0x40[8]。當(dāng)有多個(gè)存儲(chǔ)芯片AT24C04的IIC器件同時(shí)通信時(shí),只需更改A0、A1和A2對(duì)應(yīng)的高低電平即可尋址該模塊,掉電存儲(chǔ)電路如圖3所示。
圖3 掉電存儲(chǔ)電路
2.2.2 通訊模塊電路
GSM通訊模塊如圖4所示,該模塊與單片機(jī)采用串口通信方式。由于GSM模塊需要較大的電流,一般不可以直接使用單片機(jī)系統(tǒng)供電,否則會(huì)造成通信連接失敗的情況。因本系統(tǒng)有獨(dú)立設(shè)計(jì)5V電源模塊,故可直接為GSM供電。
圖4 GSM通信模塊
2.2.3 煙霧檢測(cè)模塊
單片機(jī)系統(tǒng)通過(guò)煙霧檢測(cè)模塊能自動(dòng)實(shí)時(shí)監(jiān)測(cè)當(dāng)前環(huán)境的煙霧濃度,程序采用模擬輸出的算法在LCD顯示屏上顯示實(shí)時(shí)煙霧數(shù)據(jù),煙霧模塊模擬輸出引腳與STM32單片機(jī)SMOKE引腳相連接。煙霧檢測(cè)模塊如圖5所示。
圖5 煙霧檢測(cè)模塊
2.2.4 溫度檢測(cè)模塊
DS18B20是單總線數(shù)字溫度計(jì)芯片,溫度測(cè)量范圍從-55℃至+125℃[9]。DS18B20使用方便,單片機(jī)和DS18B20也僅需連接一條數(shù)據(jù)線,DS18B20所需的電源為5V。與傳統(tǒng)的溫度測(cè)量方式不同,DS18B20的溫度轉(zhuǎn)換結(jié)果可直接從數(shù)據(jù)線讀出,在-10℃至+85℃測(cè)量精度可達(dá)0.5℃。因此,本設(shè)計(jì)選用DS18B20進(jìn)行溫度信號(hào)采集。溫度檢測(cè)模塊如圖6所示。
圖6 溫度檢測(cè)電路
2.2.5 顯示模塊電路
本設(shè)計(jì)要求顯示模塊需顯示2行內(nèi)容信息,每行有16個(gè)字符。本設(shè)計(jì)由于需要設(shè)置手機(jī)號(hào)碼、溫度和煙霧三個(gè)參數(shù),因此設(shè)置界面設(shè)計(jì)3行內(nèi)容。此電路通過(guò)并行連接,所需元器件少,傳輸速度快。在程序設(shè)計(jì)中對(duì)LCD1602顯示模塊每次進(jìn)行讀寫(xiě)操作前,均需讀、寫(xiě)檢測(cè),以確保STA7為低電平。設(shè)計(jì)中顯示模塊電路如圖7所示。
圖7 LCD1602顯示電路
2.2.6 獨(dú)立按鍵控制電路
獨(dú)立按鍵模塊由5個(gè)按鍵組成,S1用于設(shè)置是否手動(dòng)控制,可控制繼電器工作狀態(tài);S2作為選擇進(jìn)入顯示界面或者設(shè)置界面的確定按鍵;S3選擇設(shè)置界面下的手機(jī)號(hào)碼、溫度和煙霧參數(shù);S4是在設(shè)置界面中的手機(jī)號(hào)碼、溫度和煙霧的加數(shù)值;S5為設(shè)置相應(yīng)參數(shù)的減數(shù)值。獨(dú)立按鍵模塊電路如圖8所示。
圖8 獨(dú)立按鍵控制電路
本系統(tǒng)軟件設(shè)計(jì)采用的C語(yǔ)言編程設(shè)計(jì),系統(tǒng)的軟件設(shè)計(jì)分為主程序和子程序設(shè)計(jì)。首先在“Main”函數(shù)中主程序會(huì)進(jìn)行一系列模塊工作的初始化,通過(guò)模塊化設(shè)計(jì)方式完成系統(tǒng)的功能實(shí)現(xiàn),模塊部分主要包括單片機(jī)最小系統(tǒng)、GSM串口模塊控制、煙霧溫度模塊控制、顯示控制、按鍵控制電路和繼電器通斷控制等。通過(guò)軟件主程序調(diào)用各模塊的子程序并初始化,即可在主程序中實(shí)現(xiàn)總體控制功能。
主程序是控制系統(tǒng)程序的主要組成部分,整個(gè)的控制系統(tǒng)的軟件功能都是通過(guò)主程序來(lái)實(shí)現(xiàn)的,主程序可通過(guò)程序初始化、調(diào)用相關(guān)子程序函數(shù)和中斷服務(wù)程序來(lái)綜合完成。主程序設(shè)計(jì)思路是首先進(jìn)行初始化,初始化過(guò)后,各個(gè)模塊開(kāi)始正常工作;再判斷是否環(huán)境中有超過(guò)設(shè)定的溫度、煙霧濃度閾值;最后根據(jù)判斷發(fā)送報(bào)警短信,通知用戶當(dāng)前環(huán)境中的溫度、煙霧信息。主程序流程如圖9所示。
圖9 主程序流程圖
3.2.1 串口通信程序設(shè)計(jì)
主程序進(jìn)行初始化后便開(kāi)始運(yùn)行GSM模塊。首先定義各項(xiàng)參數(shù)以及初始化各相關(guān)模塊,調(diào)用數(shù)據(jù)處理程序,然后將數(shù)據(jù)實(shí)時(shí)存儲(chǔ)在寄存器中。若GSM處于工作狀態(tài),此時(shí)有誤撥電話打入,單片機(jī)通過(guò)串口發(fā)送ATH指令控制GSM模塊自動(dòng)掛斷電話。若單片機(jī)監(jiān)測(cè)到溫度,煙霧濃度超過(guò)設(shè)置的閾值,單片機(jī)通過(guò)串口向GSM模塊傳輸信息并發(fā)送短信到手機(jī)實(shí)現(xiàn)遠(yuǎn)程報(bào)警。串口通信程序流程如圖10所示。
圖10 GSM串口通信程序流程圖
3.2.2 溫度檢測(cè)程序設(shè)計(jì)
控制系統(tǒng)主程序經(jīng)過(guò)初始化后,判斷是否檢測(cè)到溫度傳感器發(fā)出的溫度轉(zhuǎn)換命令和讀溫度指令,若接受到相應(yīng)指令,即調(diào)用相關(guān)的子程序并進(jìn)行數(shù)據(jù)處理,以完成溫度測(cè)量及數(shù)據(jù)顯示功能。溫度檢測(cè)流程如圖11所示。
圖11 溫度檢測(cè)程序流程圖
3.2.3 顯示程序設(shè)計(jì)
本系統(tǒng)可實(shí)現(xiàn)煤氣泄漏及火災(zāi)實(shí)時(shí)報(bào)警的功能,另外也可實(shí)時(shí)顯示溫度及煙霧濃度數(shù)據(jù)信息在LCD顯示屏上。首先初始化成功會(huì)顯示“GSM INIT”即GSM模塊工作正常,然后在設(shè)置界面顯示相應(yīng)設(shè)置信息,最后在顯示界面顯示已經(jīng)設(shè)置的參數(shù)閾值。顯示程序設(shè)計(jì)如圖12所示。
圖12 顯示程序流程圖
整個(gè)系統(tǒng)設(shè)計(jì)完成后,為測(cè)試系統(tǒng)是否符合設(shè)計(jì)要求,需要測(cè)試與分析系統(tǒng)的可靠性和穩(wěn)定性,本系統(tǒng)的調(diào)試主要包括串口通訊模塊和硬件調(diào)試與分析。
在調(diào)試GSM串口通訊模塊中,首先,通過(guò)電腦GSM調(diào)試專用工具發(fā)送AT指令給模塊實(shí)現(xiàn)通信,以此測(cè)試出廠信息。其中,可測(cè)試設(shè)備類型,設(shè)備序號(hào)等,均回顯“OK”信息,則說(shuō)明GSM模塊正常工作,測(cè)試結(jié)果如圖13(a)所示。其次,測(cè)試GSM模塊能否正常發(fā)送短信功能。根據(jù)人為制造的模擬溫度煙霧濃度變化,且變化超過(guò)已經(jīng)設(shè)定的溫度煙霧濃度閾值,此時(shí)測(cè)試環(huán)境中溫度煙霧模塊與設(shè)計(jì)的系統(tǒng)測(cè)試結(jié)果一致。在此測(cè)試過(guò)程中,若GSM模塊會(huì)發(fā)送短信到設(shè)置的用戶手機(jī),則說(shuō)明GSM正常發(fā)送短信,測(cè)量結(jié)果如圖13(b)所示。從測(cè)試結(jié)果看,裝置測(cè)試的數(shù)據(jù)符合設(shè)計(jì)要求。
(a)
(b)圖13 GSM模塊調(diào)試圖
根據(jù)系統(tǒng)串口通訊模塊測(cè)試,結(jié)合系統(tǒng)的硬件電路進(jìn)行總體功能調(diào)試,即驗(yàn)證系統(tǒng)軟硬件綜合運(yùn)行是否正常,主要包括GSM通信、溫度檢測(cè)、煙霧檢測(cè)、熱釋電傳感、按鍵模塊和顯示等。將電路板制作完成以后,需要逐一對(duì)其模塊功能進(jìn)行調(diào)試,以及對(duì)出現(xiàn)的故障進(jìn)行排除,設(shè)計(jì)與制作的系統(tǒng)實(shí)物圖如圖14所示。
調(diào)試過(guò)程中,首先對(duì)溫度模塊進(jìn)行測(cè)試,通過(guò)外部環(huán)境模擬溫度變化的情況,利用獨(dú)立按鍵將裝置調(diào)至測(cè)試溫度的模式。測(cè)試結(jié)果如圖14所示,其中溫度為26℃。經(jīng)過(guò)對(duì)照測(cè)量,此數(shù)據(jù)符合系統(tǒng)設(shè)計(jì)要求。再測(cè)試煙霧模塊,在室內(nèi)無(wú)煙霧氣體,模擬煙霧濃度變化的情況。LCD顯示屏顯示煙霧濃度的界面,從測(cè)試結(jié)果看,其中煙霧濃度為0,記錄的溫度數(shù)據(jù)符合設(shè)計(jì)要求。
圖14 實(shí)物圖
本系統(tǒng)以STM32單片機(jī)為主控制器進(jìn)行設(shè)計(jì),實(shí)現(xiàn)了對(duì)工廠火情、家庭煤氣泄漏等進(jìn)行自動(dòng)監(jiān)測(cè)并自動(dòng)報(bào)警的功能。本研究中設(shè)計(jì)了系統(tǒng)的總體設(shè)計(jì)方案,并對(duì)硬件電路的掉電存儲(chǔ)模塊、顯示模塊、溫度和煙霧檢測(cè)模塊、通訊模塊以及獨(dú)立按鍵電路模塊進(jìn)行詳細(xì)設(shè)計(jì)與分析。通過(guò)主程序的初始化及調(diào)用相關(guān)函數(shù)實(shí)現(xiàn)控制系統(tǒng)的軟件功能,并設(shè)計(jì)了系統(tǒng)的顯示程序、溫度檢測(cè)程序、串口通信模塊程序等子程序流程圖。最后通過(guò)實(shí)驗(yàn)測(cè)試與結(jié)果分析可得,該控制系統(tǒng)可實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集與顯示,且可實(shí)現(xiàn)智能化遠(yuǎn)程報(bào)警功能。該系統(tǒng)的工作能基本滿足設(shè)計(jì)需求,可起到減少財(cái)產(chǎn)損失和保障生命安全的目的。