孫冬嬌+徐高威+劉恒
摘 要: 針對當前工廠倉庫火災(zāi)事故頻繁發(fā)生,設(shè)計了一種工廠倉庫火災(zāi)預(yù)警系統(tǒng)。該系統(tǒng)由火災(zāi)檢測模塊與中心接收模塊組成,火災(zāi)檢測模塊利用以STM32為控制核心的智能小車在工廠倉庫“巡邏”,通過加裝OV7670圖像傳感器檢測火焰,一旦發(fā)現(xiàn)火災(zāi)事故發(fā)生,立即無線發(fā)送預(yù)警信息,信息由中心接收模塊接收后通過RS 232串口傳送給PC機,PC機采取相應(yīng)救災(zāi)措施。實際測試表明,本系統(tǒng)發(fā)出預(yù)警信息的成功率高,近100%,零誤判,時間短。
關(guān)鍵詞: 火災(zāi)預(yù)警; STM32F407; OV7670; NRF905
中圖分類號: TN911?34 文獻標識碼: A 文章編號: 1004?373X(2014)07?0098?03
Design of warehouse fire warning system in factories
SUN Dong?jiao1,2, XU Gao?wei1, LIU Heng1,2
(1. College of Electronic&Information Engineering, Nanjing University of Information&Technology, Nanjing 210044, China;
2. Jiangsu Key Laboratory of Meteorological Observation and Information Processing, Nanjing 210044, China)
Abstract: A factory warehouse fire system was designed for the frequent occurrence of the factory warehouse fire accidents. This system is composed of fire detection module and central receiver module. The fire detection module takes STM32 microprocessor as master control of the smart car patrolling around the factory warehouse to detect flame by OV7670 image sensor and send the warning information by wireless RF system when discovering fire accident. The central receiver module receives the information and transmits it to PC through RS 232 serial port to adopt the corresponding relief measures. The practical testing result indicates that the system has a nearly 100% success rate in sending warning information.
Keywords: fire warning; STM32F407; OV7670; NRF905
0 引 言
現(xiàn)代工廠倉庫儲存量大、集中,且大部分是可燃易燃物品、極易發(fā)生火災(zāi)。為了保證倉庫中物品以及周邊人員的安全,火災(zāi)預(yù)警和撲救的及時性亟待解決。
在此提出一種利用CMOS圖像傳感器檢測火焰,以智能小車作為系統(tǒng)載體的工廠倉庫火災(zāi)預(yù)警系統(tǒng)。本文將從硬件和軟件方面介紹工廠倉庫火災(zāi)預(yù)警系統(tǒng)的具體設(shè)計方案,并且通過實驗驗證了系統(tǒng)穩(wěn)定可靠,能實時檢測火災(zāi)發(fā)生,及時發(fā)出火災(zāi)預(yù)警信息,與傳統(tǒng)火災(zāi)檢測技術(shù)相比,利用CMOS圖像傳感器檢測火災(zāi),大大提高了火災(zāi)預(yù)警的準確性與及時性,有效降低火災(zāi)危害,利用小車代替人“巡邏”,節(jié)約了人力資源,有較好的應(yīng)用前景。
1 系統(tǒng)設(shè)計與工作原理
本設(shè)計的火災(zāi)檢測模塊以STM32F407作為控制和檢測核心,利用OV7670圖像傳感器檢測火源,利用PWM(脈寬調(diào)制)技術(shù)控制智能車行駛、轉(zhuǎn)向,檢測到火源后,立即通過NRF905無線發(fā)送模塊發(fā)送火災(zāi)信息,同時通過VS1003b MP3模塊語音播報預(yù)警信息。
中心接收模塊由NRF905無線接收模塊接收后通過RS 232串口發(fā)送給PC機,PC機立即向消防部門發(fā)出火災(zāi)信息,并啟動固定消防設(shè)施,如二氧化碳滅火系統(tǒng)、自動噴水系統(tǒng)等,在火勢尚未蔓延前實施撲救。系統(tǒng)框圖如圖1所示。
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)主控模塊
智能滅火小車采用ST公司的STM32F407處理器,其特點為:32位ARM Cortex?M4F RISC內(nèi)核;低功耗,最高工作頻率為168 MHz;片內(nèi)具有1 024 KB可編程FLASH;(192+4) KB片內(nèi)SRAM數(shù)據(jù)存儲器;集成了單周期DSP指令和FPU(Floating Point Unit,浮點單元),提升了計算能力,可以進行一些復雜的計算和控制。
圖1 系統(tǒng)框圖
2.2 火焰檢測模塊
火焰檢測模塊是本設(shè)計中最為重要的部分,在復雜的外界環(huán)境中準確的檢測出火焰是技術(shù)難點,主要由圖像采集、火焰識別兩部分組成。
2.2.1 圖像采集部分
圖像采集使用OV公司生產(chǎn)的一顆1/6寸的CMOS VGA圖像傳感器OV7670,該傳感器體積小、工作電壓低、提供單片VGA攝像頭和影像處理器的所有功能。通過SCCB總線控制,可以輸出整幀、子采樣、取窗口等方式的各種分辨率為8位的影像數(shù)據(jù)。
OV7670的像素時鐘(PCLK)最高可達24 MHz,STM32F407的I/O口直接抓取,是非常困難的,也十分占耗CPU資源。所以,本設(shè)計并不是采取直接抓取來自O(shè)V7670的數(shù)據(jù),而是通過FIFO芯片讀取,F(xiàn)IFO芯片用于暫存圖像數(shù)據(jù),解決OV7670與STM32速率不匹配的問題。攝像頭采集的數(shù)據(jù)經(jīng)FIFO暫存后被STM32讀取,不再需要單片機具有高速I/O,也不會過度耗費CPU資源。采集到的圖像存儲后待后續(xù)處理時讀取。
2.2.2 火焰識別部分
為準確識別出火焰,本設(shè)計主要從火焰的形狀與顏色兩方面考慮。
火焰形狀識別主要依據(jù)描述火焰形狀的有關(guān)特征,比如:矩特征、曲率特征等。為得到圖像中的火焰形狀,系統(tǒng)對采集部分得到的圖像每隔一段時間進行處理,處理方法采用圖像處理中的邊緣檢測方法。在圖像中,邊緣是指圖像中對象的邊界,即反映圖像中像素值劇烈變化的曲線,邊緣的確定與提取對于整個圖像場景的識別與理解是非常重要的,它能勾勒出目標物體的輪廓,將目標與背景區(qū)分開來,在本設(shè)計中就可以利用邊緣檢測技術(shù)描繪出火焰的形狀、大小、位置等信息。
但只根據(jù)火焰的形狀特征判斷檢測到火焰,不僅造成算法相對復雜,且誤判率較高。這里仍從火焰的顏色特征對火焰進行檢測?;鹧鎱^(qū)域的顏色一般介于紅黃之間,火焰顏色識別是基于RGB顏色模式的,RGB顏色模式認為所有的顏色是通過對紅(R)、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,且有如下結(jié)論:當R≥G≥B時,能夠說明該顏色是紅黃色的。以此為依據(jù),設(shè)定顏色閾值,將滿足條件的像素提取出來,達到一定范圍即可判斷火災(zāi)發(fā)生。
利用火焰的形狀與顏色特征兩者相結(jié)合,大大提高了火焰檢測的可靠性。
2.3 電機驅(qū)動模塊
本設(shè)計的小車的電機驅(qū)動模塊采用L298N控制芯片。電機驅(qū)動原理圖如圖2所示。這里使用STM32引腳產(chǎn)生PWM信號分別對左側(cè)和右側(cè)的電機轉(zhuǎn)速進行調(diào)節(jié)。此模塊可以控制滅火小車前進、后退,同時還可以通過控制小車左右兩側(cè)車輪的轉(zhuǎn)速不同實現(xiàn)小車轉(zhuǎn)向,使系統(tǒng)能夠在倉庫中按既定路線“巡邏”。
圖2 電機驅(qū)動原理圖
2.4 語音播報模塊
為了能夠?qū)崟r語音播報系統(tǒng)目前的工作狀態(tài),本設(shè)計采用VS1003b作為聲音源的解碼芯片,使語音播報具有多種長時間的聲音輸出,不但具備清晰的播放功能,而且可以通過普通喇叭實現(xiàn)語音擴音功能。首先將語音片段如“檢測火源”、“發(fā)現(xiàn)火源”等存入SD卡中,實際運用時根據(jù)系統(tǒng)當前所處的工作狀態(tài),由主控芯片STM32F407通過串行外設(shè)總線接口SPI與VS1003b進行通信,VS1003b解碼SD卡中的相應(yīng)語音片段,播報系統(tǒng)當前工作狀態(tài),很大程度上提升了系統(tǒng)的交互能力,若周圍有倉庫管理人員在,聽到語音片段播報火災(zāi)信息也可在火勢尚小時及時撲救。
3 系統(tǒng)軟件設(shè)計
3.1 總體軟件流程
該系統(tǒng)軟件部分主要包括火災(zāi)檢測模塊的軟件設(shè)計以及中心接收模塊的軟件設(shè)計?;馂?zāi)檢測模塊系統(tǒng)初始化后,由圖像傳感器識別倉庫路邊標志物使小車按既定路線在倉庫中“巡邏”,一旦發(fā)現(xiàn)火源,通過無線模塊立即發(fā)送預(yù)警信息,并語音播報火災(zāi)信息。中心接收模塊接收到火災(zāi)信息后,通過RS 232串口將火災(zāi)信息傳送給PC機,PC機通過專門火災(zāi)預(yù)警系統(tǒng)將預(yù)警信息發(fā)送給相關(guān)部門。軟件實現(xiàn)流程如圖3,圖4所示。3.2 邊緣檢測算法分析
圖像邊緣檢測技術(shù)是目標識別領(lǐng)域十分重要的基礎(chǔ),本設(shè)計采用目前比較常見的CANNY邊緣檢測算法,CANNY邊緣檢測算法實現(xiàn)主要為如下幾步:
(1) 對圖像進行灰度化;
(2) 對圖像進行高斯濾波;
(3) 用一階偏導的有限差分求梯度的幅值和方向;
(4) 對梯度幅值進行非極大值抑制;
(5) 用雙閾值算法檢測和連接邊緣。
圖3 火災(zāi)檢測模塊流程圖 圖4 中心接收模塊流程圖
4 實驗結(jié)果
實驗過程中,以蠟燭模擬火源,在確保倉庫安全的前提下,在倉庫A,B,C,D四個區(qū)域分別擺放一只蠟燭,將火災(zāi)監(jiān)測模塊與中心接收模塊上電,并打開用C++編寫的“火災(zāi)預(yù)警系統(tǒng)”上位機軟件,觀測系統(tǒng)能否識別出火焰并發(fā)出預(yù)警信息。實驗結(jié)果如圖5所示。
圖5 預(yù)警系統(tǒng)顯示
為了進一步測試該系統(tǒng)的準確性與及時性,主要測試內(nèi)容包括:預(yù)警信息發(fā)送成功率、預(yù)警信息誤報次數(shù)、預(yù)警信息發(fā)布平均耗時。在倉庫A、B、C、D四個區(qū)域隨機放置蠟燭,小車從倉庫隨機位置出發(fā),觀察系統(tǒng)的準確性與及時性。具體測試結(jié)果見表1。
實驗結(jié)果表明,在實驗場地的各個區(qū)域共計200次的實驗中,該系統(tǒng)能夠準確檢測到火災(zāi)并發(fā)出預(yù)警信息,成功率接近100%,誤報次數(shù)為0。從蠟燭被擺放到試驗場地,平均耗時約為1 min。實驗測量數(shù)據(jù)可以證明該系統(tǒng)的及時性與準確性很好。
表1 實驗結(jié)果
[\&A\&B\&C\&D\&試驗次數(shù)\&50\&50\&50\&50\&成功預(yù)警次數(shù)\&49\&50\&50\&49\&誤報次數(shù)\&1\&0\&0\&1\&平均耗時 /s\&55\&63\&71\&58\&成功率 /%\&98\&100\&100\&98\&]
5 結(jié) 語
本設(shè)計經(jīng)過開發(fā)、調(diào)試,最終達到預(yù)期效果。設(shè)計采用高性能、低功耗的ARM Cortex?M4內(nèi)核STM32處理器,能夠迅速采集并處理傳感器數(shù)據(jù),并發(fā)出相應(yīng)的預(yù)警信息。該設(shè)計較傳統(tǒng)火災(zāi)檢測技術(shù)有較大改進,改進之處在于設(shè)計主要采用OV7670圖像傳感器識別火焰,與傳統(tǒng)火災(zāi)預(yù)警技術(shù)相比,由于感煙檢測、感溫檢測和感火焰檢測等采用的傳感器性能與現(xiàn)場環(huán)境變化會直接影響識別、檢測的可靠性和準確性,存在較大缺陷,本設(shè)計采用OV7670圖像傳感器,在實際運用中,有效提高了設(shè)計的及時性與準確性。但是,系統(tǒng)設(shè)計仍有部分問題需要改進,如何更快的發(fā)出火災(zāi)預(yù)警信息,保證火災(zāi)預(yù)警100%成功等等,在后續(xù)研究中將努力提升系統(tǒng)性能。
參考文獻
[1] 張飛飛,楊雪松,高愛宇.基于STM32的智能滅火機器人設(shè)計[J].甘肅科技,2013,29(12):14?15.
[2] 王明明,王志霖,袁昊,等.基于MSP430的實用糧倉溫濕度檢測系統(tǒng)[J].現(xiàn)代電子技術(shù),2012,35(2):10?12.
[3] 潘方.RS 232串口通信在PC機與單片機通信中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(13):70?71.
[4] 楊博,冒曉莉,葛益嫻.基于MSP430的遠程無線體溫測量系統(tǒng)[J].電子設(shè)計工程,2011,21(16):70?71.
[5] 李茜,杜剛,魏利卓,等.智能滅火機器人的控制系統(tǒng)設(shè)計與實現(xiàn)[J].遼寧工業(yè)大學學報:自然科學版,2012,32(4):228?230.
[6] 李德明,韓劍,江國強.基于OV7670的圖像及顯示系統(tǒng)設(shè)計[J].儀器儀表學報,2010,31(8):30?32.
[7] 黃智偉,于紅利,寧志剛,等.基于STM32F417的圖像采集系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012,10(8):48?50.
[8] 何敏.基于MSP430微處理器的低功耗無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計[J].現(xiàn)代計算機,2012(19):55?57.
[9] 梁森.自動檢測與轉(zhuǎn)換技術(shù)[M].北京:機械工業(yè)出版社,2006.
[10] 肖宏偉.Visual C++開發(fā)答疑[M].北京:人民郵電出版社,2003.
OV7670的像素時鐘(PCLK)最高可達24 MHz,STM32F407的I/O口直接抓取,是非常困難的,也十分占耗CPU資源。所以,本設(shè)計并不是采取直接抓取來自O(shè)V7670的數(shù)據(jù),而是通過FIFO芯片讀取,F(xiàn)IFO芯片用于暫存圖像數(shù)據(jù),解決OV7670與STM32速率不匹配的問題。攝像頭采集的數(shù)據(jù)經(jīng)FIFO暫存后被STM32讀取,不再需要單片機具有高速I/O,也不會過度耗費CPU資源。采集到的圖像存儲后待后續(xù)處理時讀取。
2.2.2 火焰識別部分
為準確識別出火焰,本設(shè)計主要從火焰的形狀與顏色兩方面考慮。
火焰形狀識別主要依據(jù)描述火焰形狀的有關(guān)特征,比如:矩特征、曲率特征等。為得到圖像中的火焰形狀,系統(tǒng)對采集部分得到的圖像每隔一段時間進行處理,處理方法采用圖像處理中的邊緣檢測方法。在圖像中,邊緣是指圖像中對象的邊界,即反映圖像中像素值劇烈變化的曲線,邊緣的確定與提取對于整個圖像場景的識別與理解是非常重要的,它能勾勒出目標物體的輪廓,將目標與背景區(qū)分開來,在本設(shè)計中就可以利用邊緣檢測技術(shù)描繪出火焰的形狀、大小、位置等信息。
但只根據(jù)火焰的形狀特征判斷檢測到火焰,不僅造成算法相對復雜,且誤判率較高。這里仍從火焰的顏色特征對火焰進行檢測?;鹧鎱^(qū)域的顏色一般介于紅黃之間,火焰顏色識別是基于RGB顏色模式的,RGB顏色模式認為所有的顏色是通過對紅(R)、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,且有如下結(jié)論:當R≥G≥B時,能夠說明該顏色是紅黃色的。以此為依據(jù),設(shè)定顏色閾值,將滿足條件的像素提取出來,達到一定范圍即可判斷火災(zāi)發(fā)生。
利用火焰的形狀與顏色特征兩者相結(jié)合,大大提高了火焰檢測的可靠性。
2.3 電機驅(qū)動模塊
本設(shè)計的小車的電機驅(qū)動模塊采用L298N控制芯片。電機驅(qū)動原理圖如圖2所示。這里使用STM32引腳產(chǎn)生PWM信號分別對左側(cè)和右側(cè)的電機轉(zhuǎn)速進行調(diào)節(jié)。此模塊可以控制滅火小車前進、后退,同時還可以通過控制小車左右兩側(cè)車輪的轉(zhuǎn)速不同實現(xiàn)小車轉(zhuǎn)向,使系統(tǒng)能夠在倉庫中按既定路線“巡邏”。
圖2 電機驅(qū)動原理圖
2.4 語音播報模塊
為了能夠?qū)崟r語音播報系統(tǒng)目前的工作狀態(tài),本設(shè)計采用VS1003b作為聲音源的解碼芯片,使語音播報具有多種長時間的聲音輸出,不但具備清晰的播放功能,而且可以通過普通喇叭實現(xiàn)語音擴音功能。首先將語音片段如“檢測火源”、“發(fā)現(xiàn)火源”等存入SD卡中,實際運用時根據(jù)系統(tǒng)當前所處的工作狀態(tài),由主控芯片STM32F407通過串行外設(shè)總線接口SPI與VS1003b進行通信,VS1003b解碼SD卡中的相應(yīng)語音片段,播報系統(tǒng)當前工作狀態(tài),很大程度上提升了系統(tǒng)的交互能力,若周圍有倉庫管理人員在,聽到語音片段播報火災(zāi)信息也可在火勢尚小時及時撲救。
3 系統(tǒng)軟件設(shè)計
3.1 總體軟件流程
該系統(tǒng)軟件部分主要包括火災(zāi)檢測模塊的軟件設(shè)計以及中心接收模塊的軟件設(shè)計?;馂?zāi)檢測模塊系統(tǒng)初始化后,由圖像傳感器識別倉庫路邊標志物使小車按既定路線在倉庫中“巡邏”,一旦發(fā)現(xiàn)火源,通過無線模塊立即發(fā)送預(yù)警信息,并語音播報火災(zāi)信息。中心接收模塊接收到火災(zāi)信息后,通過RS 232串口將火災(zāi)信息傳送給PC機,PC機通過專門火災(zāi)預(yù)警系統(tǒng)將預(yù)警信息發(fā)送給相關(guān)部門。軟件實現(xiàn)流程如圖3,圖4所示。3.2 邊緣檢測算法分析
圖像邊緣檢測技術(shù)是目標識別領(lǐng)域十分重要的基礎(chǔ),本設(shè)計采用目前比較常見的CANNY邊緣檢測算法,CANNY邊緣檢測算法實現(xiàn)主要為如下幾步:
(1) 對圖像進行灰度化;
(2) 對圖像進行高斯濾波;
(3) 用一階偏導的有限差分求梯度的幅值和方向;
(4) 對梯度幅值進行非極大值抑制;
(5) 用雙閾值算法檢測和連接邊緣。
圖3 火災(zāi)檢測模塊流程圖 圖4 中心接收模塊流程圖
4 實驗結(jié)果
實驗過程中,以蠟燭模擬火源,在確保倉庫安全的前提下,在倉庫A,B,C,D四個區(qū)域分別擺放一只蠟燭,將火災(zāi)監(jiān)測模塊與中心接收模塊上電,并打開用C++編寫的“火災(zāi)預(yù)警系統(tǒng)”上位機軟件,觀測系統(tǒng)能否識別出火焰并發(fā)出預(yù)警信息。實驗結(jié)果如圖5所示。
圖5 預(yù)警系統(tǒng)顯示
為了進一步測試該系統(tǒng)的準確性與及時性,主要測試內(nèi)容包括:預(yù)警信息發(fā)送成功率、預(yù)警信息誤報次數(shù)、預(yù)警信息發(fā)布平均耗時。在倉庫A、B、C、D四個區(qū)域隨機放置蠟燭,小車從倉庫隨機位置出發(fā),觀察系統(tǒng)的準確性與及時性。具體測試結(jié)果見表1。
實驗結(jié)果表明,在實驗場地的各個區(qū)域共計200次的實驗中,該系統(tǒng)能夠準確檢測到火災(zāi)并發(fā)出預(yù)警信息,成功率接近100%,誤報次數(shù)為0。從蠟燭被擺放到試驗場地,平均耗時約為1 min。實驗測量數(shù)據(jù)可以證明該系統(tǒng)的及時性與準確性很好。
表1 實驗結(jié)果
[\&A\&B\&C\&D\&試驗次數(shù)\&50\&50\&50\&50\&成功預(yù)警次數(shù)\&49\&50\&50\&49\&誤報次數(shù)\&1\&0\&0\&1\&平均耗時 /s\&55\&63\&71\&58\&成功率 /%\&98\&100\&100\&98\&]
5 結(jié) 語
本設(shè)計經(jīng)過開發(fā)、調(diào)試,最終達到預(yù)期效果。設(shè)計采用高性能、低功耗的ARM Cortex?M4內(nèi)核STM32處理器,能夠迅速采集并處理傳感器數(shù)據(jù),并發(fā)出相應(yīng)的預(yù)警信息。該設(shè)計較傳統(tǒng)火災(zāi)檢測技術(shù)有較大改進,改進之處在于設(shè)計主要采用OV7670圖像傳感器識別火焰,與傳統(tǒng)火災(zāi)預(yù)警技術(shù)相比,由于感煙檢測、感溫檢測和感火焰檢測等采用的傳感器性能與現(xiàn)場環(huán)境變化會直接影響識別、檢測的可靠性和準確性,存在較大缺陷,本設(shè)計采用OV7670圖像傳感器,在實際運用中,有效提高了設(shè)計的及時性與準確性。但是,系統(tǒng)設(shè)計仍有部分問題需要改進,如何更快的發(fā)出火災(zāi)預(yù)警信息,保證火災(zāi)預(yù)警100%成功等等,在后續(xù)研究中將努力提升系統(tǒng)性能。
參考文獻
[1] 張飛飛,楊雪松,高愛宇.基于STM32的智能滅火機器人設(shè)計[J].甘肅科技,2013,29(12):14?15.
[2] 王明明,王志霖,袁昊,等.基于MSP430的實用糧倉溫濕度檢測系統(tǒng)[J].現(xiàn)代電子技術(shù),2012,35(2):10?12.
[3] 潘方.RS 232串口通信在PC機與單片機通信中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(13):70?71.
[4] 楊博,冒曉莉,葛益嫻.基于MSP430的遠程無線體溫測量系統(tǒng)[J].電子設(shè)計工程,2011,21(16):70?71.
[5] 李茜,杜剛,魏利卓,等.智能滅火機器人的控制系統(tǒng)設(shè)計與實現(xiàn)[J].遼寧工業(yè)大學學報:自然科學版,2012,32(4):228?230.
[6] 李德明,韓劍,江國強.基于OV7670的圖像及顯示系統(tǒng)設(shè)計[J].儀器儀表學報,2010,31(8):30?32.
[7] 黃智偉,于紅利,寧志剛,等.基于STM32F417的圖像采集系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012,10(8):48?50.
[8] 何敏.基于MSP430微處理器的低功耗無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計[J].現(xiàn)代計算機,2012(19):55?57.
[9] 梁森.自動檢測與轉(zhuǎn)換技術(shù)[M].北京:機械工業(yè)出版社,2006.
[10] 肖宏偉.Visual C++開發(fā)答疑[M].北京:人民郵電出版社,2003.
OV7670的像素時鐘(PCLK)最高可達24 MHz,STM32F407的I/O口直接抓取,是非常困難的,也十分占耗CPU資源。所以,本設(shè)計并不是采取直接抓取來自O(shè)V7670的數(shù)據(jù),而是通過FIFO芯片讀取,F(xiàn)IFO芯片用于暫存圖像數(shù)據(jù),解決OV7670與STM32速率不匹配的問題。攝像頭采集的數(shù)據(jù)經(jīng)FIFO暫存后被STM32讀取,不再需要單片機具有高速I/O,也不會過度耗費CPU資源。采集到的圖像存儲后待后續(xù)處理時讀取。
2.2.2 火焰識別部分
為準確識別出火焰,本設(shè)計主要從火焰的形狀與顏色兩方面考慮。
火焰形狀識別主要依據(jù)描述火焰形狀的有關(guān)特征,比如:矩特征、曲率特征等。為得到圖像中的火焰形狀,系統(tǒng)對采集部分得到的圖像每隔一段時間進行處理,處理方法采用圖像處理中的邊緣檢測方法。在圖像中,邊緣是指圖像中對象的邊界,即反映圖像中像素值劇烈變化的曲線,邊緣的確定與提取對于整個圖像場景的識別與理解是非常重要的,它能勾勒出目標物體的輪廓,將目標與背景區(qū)分開來,在本設(shè)計中就可以利用邊緣檢測技術(shù)描繪出火焰的形狀、大小、位置等信息。
但只根據(jù)火焰的形狀特征判斷檢測到火焰,不僅造成算法相對復雜,且誤判率較高。這里仍從火焰的顏色特征對火焰進行檢測?;鹧鎱^(qū)域的顏色一般介于紅黃之間,火焰顏色識別是基于RGB顏色模式的,RGB顏色模式認為所有的顏色是通過對紅(R)、綠(G)、藍(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,且有如下結(jié)論:當R≥G≥B時,能夠說明該顏色是紅黃色的。以此為依據(jù),設(shè)定顏色閾值,將滿足條件的像素提取出來,達到一定范圍即可判斷火災(zāi)發(fā)生。
利用火焰的形狀與顏色特征兩者相結(jié)合,大大提高了火焰檢測的可靠性。
2.3 電機驅(qū)動模塊
本設(shè)計的小車的電機驅(qū)動模塊采用L298N控制芯片。電機驅(qū)動原理圖如圖2所示。這里使用STM32引腳產(chǎn)生PWM信號分別對左側(cè)和右側(cè)的電機轉(zhuǎn)速進行調(diào)節(jié)。此模塊可以控制滅火小車前進、后退,同時還可以通過控制小車左右兩側(cè)車輪的轉(zhuǎn)速不同實現(xiàn)小車轉(zhuǎn)向,使系統(tǒng)能夠在倉庫中按既定路線“巡邏”。
圖2 電機驅(qū)動原理圖
2.4 語音播報模塊
為了能夠?qū)崟r語音播報系統(tǒng)目前的工作狀態(tài),本設(shè)計采用VS1003b作為聲音源的解碼芯片,使語音播報具有多種長時間的聲音輸出,不但具備清晰的播放功能,而且可以通過普通喇叭實現(xiàn)語音擴音功能。首先將語音片段如“檢測火源”、“發(fā)現(xiàn)火源”等存入SD卡中,實際運用時根據(jù)系統(tǒng)當前所處的工作狀態(tài),由主控芯片STM32F407通過串行外設(shè)總線接口SPI與VS1003b進行通信,VS1003b解碼SD卡中的相應(yīng)語音片段,播報系統(tǒng)當前工作狀態(tài),很大程度上提升了系統(tǒng)的交互能力,若周圍有倉庫管理人員在,聽到語音片段播報火災(zāi)信息也可在火勢尚小時及時撲救。
3 系統(tǒng)軟件設(shè)計
3.1 總體軟件流程
該系統(tǒng)軟件部分主要包括火災(zāi)檢測模塊的軟件設(shè)計以及中心接收模塊的軟件設(shè)計。火災(zāi)檢測模塊系統(tǒng)初始化后,由圖像傳感器識別倉庫路邊標志物使小車按既定路線在倉庫中“巡邏”,一旦發(fā)現(xiàn)火源,通過無線模塊立即發(fā)送預(yù)警信息,并語音播報火災(zāi)信息。中心接收模塊接收到火災(zāi)信息后,通過RS 232串口將火災(zāi)信息傳送給PC機,PC機通過專門火災(zāi)預(yù)警系統(tǒng)將預(yù)警信息發(fā)送給相關(guān)部門。軟件實現(xiàn)流程如圖3,圖4所示。3.2 邊緣檢測算法分析
圖像邊緣檢測技術(shù)是目標識別領(lǐng)域十分重要的基礎(chǔ),本設(shè)計采用目前比較常見的CANNY邊緣檢測算法,CANNY邊緣檢測算法實現(xiàn)主要為如下幾步:
(1) 對圖像進行灰度化;
(2) 對圖像進行高斯濾波;
(3) 用一階偏導的有限差分求梯度的幅值和方向;
(4) 對梯度幅值進行非極大值抑制;
(5) 用雙閾值算法檢測和連接邊緣。
圖3 火災(zāi)檢測模塊流程圖 圖4 中心接收模塊流程圖
4 實驗結(jié)果
實驗過程中,以蠟燭模擬火源,在確保倉庫安全的前提下,在倉庫A,B,C,D四個區(qū)域分別擺放一只蠟燭,將火災(zāi)監(jiān)測模塊與中心接收模塊上電,并打開用C++編寫的“火災(zāi)預(yù)警系統(tǒng)”上位機軟件,觀測系統(tǒng)能否識別出火焰并發(fā)出預(yù)警信息。實驗結(jié)果如圖5所示。
圖5 預(yù)警系統(tǒng)顯示
為了進一步測試該系統(tǒng)的準確性與及時性,主要測試內(nèi)容包括:預(yù)警信息發(fā)送成功率、預(yù)警信息誤報次數(shù)、預(yù)警信息發(fā)布平均耗時。在倉庫A、B、C、D四個區(qū)域隨機放置蠟燭,小車從倉庫隨機位置出發(fā),觀察系統(tǒng)的準確性與及時性。具體測試結(jié)果見表1。
實驗結(jié)果表明,在實驗場地的各個區(qū)域共計200次的實驗中,該系統(tǒng)能夠準確檢測到火災(zāi)并發(fā)出預(yù)警信息,成功率接近100%,誤報次數(shù)為0。從蠟燭被擺放到試驗場地,平均耗時約為1 min。實驗測量數(shù)據(jù)可以證明該系統(tǒng)的及時性與準確性很好。
表1 實驗結(jié)果
[\&A\&B\&C\&D\&試驗次數(shù)\&50\&50\&50\&50\&成功預(yù)警次數(shù)\&49\&50\&50\&49\&誤報次數(shù)\&1\&0\&0\&1\&平均耗時 /s\&55\&63\&71\&58\&成功率 /%\&98\&100\&100\&98\&]
5 結(jié) 語
本設(shè)計經(jīng)過開發(fā)、調(diào)試,最終達到預(yù)期效果。設(shè)計采用高性能、低功耗的ARM Cortex?M4內(nèi)核STM32處理器,能夠迅速采集并處理傳感器數(shù)據(jù),并發(fā)出相應(yīng)的預(yù)警信息。該設(shè)計較傳統(tǒng)火災(zāi)檢測技術(shù)有較大改進,改進之處在于設(shè)計主要采用OV7670圖像傳感器識別火焰,與傳統(tǒng)火災(zāi)預(yù)警技術(shù)相比,由于感煙檢測、感溫檢測和感火焰檢測等采用的傳感器性能與現(xiàn)場環(huán)境變化會直接影響識別、檢測的可靠性和準確性,存在較大缺陷,本設(shè)計采用OV7670圖像傳感器,在實際運用中,有效提高了設(shè)計的及時性與準確性。但是,系統(tǒng)設(shè)計仍有部分問題需要改進,如何更快的發(fā)出火災(zāi)預(yù)警信息,保證火災(zāi)預(yù)警100%成功等等,在后續(xù)研究中將努力提升系統(tǒng)性能。
參考文獻
[1] 張飛飛,楊雪松,高愛宇.基于STM32的智能滅火機器人設(shè)計[J].甘肅科技,2013,29(12):14?15.
[2] 王明明,王志霖,袁昊,等.基于MSP430的實用糧倉溫濕度檢測系統(tǒng)[J].現(xiàn)代電子技術(shù),2012,35(2):10?12.
[3] 潘方.RS 232串口通信在PC機與單片機通信中的應(yīng)用[J].現(xiàn)代電子技術(shù),2012,35(13):70?71.
[4] 楊博,冒曉莉,葛益嫻.基于MSP430的遠程無線體溫測量系統(tǒng)[J].電子設(shè)計工程,2011,21(16):70?71.
[5] 李茜,杜剛,魏利卓,等.智能滅火機器人的控制系統(tǒng)設(shè)計與實現(xiàn)[J].遼寧工業(yè)大學學報:自然科學版,2012,32(4):228?230.
[6] 李德明,韓劍,江國強.基于OV7670的圖像及顯示系統(tǒng)設(shè)計[J].儀器儀表學報,2010,31(8):30?32.
[7] 黃智偉,于紅利,寧志剛,等.基于STM32F417的圖像采集系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012,10(8):48?50.
[8] 何敏.基于MSP430微處理器的低功耗無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計[J].現(xiàn)代計算機,2012(19):55?57.
[9] 梁森.自動檢測與轉(zhuǎn)換技術(shù)[M].北京:機械工業(yè)出版社,2006.
[10] 肖宏偉.Visual C++開發(fā)答疑[M].北京:人民郵電出版社,2003.