繆世坤 趙霄浚 周衡毅 浙江廣廈建設(shè)職業(yè)技術(shù)學(xué)院信息與控制工程學(xué)院
隨著我國(guó)經(jīng)濟(jì)的發(fā)展,各種新型材料被廣泛應(yīng)用于各個(gè)生產(chǎn)及生活領(lǐng)域。作為一種新生事物,人民群眾對(duì)這些新型材料的材質(zhì)特點(diǎn)和性能目前尚未完全了解及掌握,這就使得我國(guó)的火災(zāi)事故顯現(xiàn)出頻繁化,嚴(yán)重化的趨勢(shì)。據(jù)統(tǒng)計(jì),我國(guó)的火災(zāi)事故每年約發(fā)生10萬(wàn)起,造成10億多元的直接損失。
預(yù)防對(duì)抗火災(zāi)的經(jīng)驗(yàn)證明,發(fā)現(xiàn)的越早,越容易將火災(zāi)撲滅于萌芽階段。因此,溫度報(bào)警器就成為了火災(zāi)預(yù)防的一個(gè)重要手段。但是現(xiàn)行的大多數(shù)溫度報(bào)警器的報(bào)警機(jī)制,依然是傳統(tǒng)的檢測(cè)-對(duì)比-報(bào)警機(jī)制:在投入使用之前為其設(shè)置一個(gè)固定的報(bào)警溫度,投入使用后,溫度報(bào)警器的傳感器不斷檢測(cè)當(dāng)前溫度并與設(shè)置好的報(bào)警溫度對(duì)比,當(dāng)檢測(cè)到的溫度到達(dá)或超過(guò)預(yù)先設(shè)置的報(bào)警溫度時(shí),才發(fā)出警報(bào)。而此時(shí)火災(zāi)常常已經(jīng)形成一段時(shí)間,難以再迅速撲滅。如果想使這一類(lèi)型的溫度報(bào)警器實(shí)現(xiàn)提前預(yù)警,唯一的方法就是將報(bào)警溫度設(shè)置得較低,而這又會(huì)使得溫度報(bào)警器經(jīng)常誤動(dòng)作,不僅使得相關(guān)人員疲于奔命,還會(huì)把真正的火災(zāi)報(bào)警信息淹沒(méi)于無(wú)數(shù)的虛假報(bào)警信息之中。
作為目前全球最流行的開(kāi)源硬件單片機(jī)電子設(shè)計(jì)平臺(tái),Arduino的硬件部分包括一塊ATmega328芯片,可用于SPI通信的ICSP編程接口以及相關(guān)電路。軟件部分則包括一個(gè)標(biāo)準(zhǔn)的程序編譯器(IDE)和程序下載燒錄器,使用類(lèi)似C語(yǔ)言的Processing/Wiring開(kāi)發(fā)環(huán)境[1]。Arduino具有相當(dāng)突出的特色:Arduino的硬件原理圖、電路圖、IDE文件和核心庫(kù)文件都是開(kāi)源的,擁有眾多的外圍模塊,方便與溫度傳感器等電子組件進(jìn)行連接,也可以通過(guò)編程實(shí)現(xiàn)對(duì)測(cè)量信號(hào)的實(shí)時(shí)處理及對(duì)傳感器的操作,除此之外,在成本、耗電量、以及數(shù)據(jù)傳輸速率方面也擁有不可忽視的優(yōu)勢(shì)。
在火災(zāi)發(fā)生形成的過(guò)程中,一般包括以下五個(gè)階段:潛伏、陰燃、明火燃燒、著火區(qū)擴(kuò)大以及火災(zāi)形成五個(gè)階段。在火災(zāi)的初期,最明顯的表現(xiàn)就是周?chē)h(huán)境溫度的迅速上升,這也是傳統(tǒng)溫度報(bào)警器的報(bào)警依據(jù)。但是,在實(shí)際使用過(guò)程中,種種其他原因,例如電壓波動(dòng)和外界干擾等,會(huì)產(chǎn)生檢測(cè)數(shù)據(jù)的數(shù)據(jù)波動(dòng),同樣也會(huì)引起溫度傳感器測(cè)得的數(shù)值迅速上升。
因此,就需要設(shè)計(jì)一種智能報(bào)警器,一方面能夠檢測(cè)出溫度迅速上升的趨勢(shì),另一方面又能避免因?yàn)閿?shù)據(jù)波動(dòng)而產(chǎn)生的溫度誤報(bào)警。通過(guò)對(duì)溫度傳感器檢測(cè)數(shù)據(jù)的分析可知,這種由其他原因產(chǎn)生的溫度檢測(cè)數(shù)值的迅速上升,并不會(huì)維持很長(zhǎng)時(shí)間,絕大多數(shù)溫度檢測(cè)數(shù)值在一秒鐘內(nèi)就會(huì)迅速下降。
由此,設(shè)計(jì)智能溫度報(bào)警器內(nèi)部邏輯如下:不斷將現(xiàn)在的溫度與上一秒的溫度進(jìn)行比較,如果發(fā)現(xiàn)溫度有突然上升的趨勢(shì),則提高溫度傳感器采集速率,判斷是數(shù)據(jù)波動(dòng)還是真實(shí)溫度上升變化,如果確實(shí)為真實(shí)溫度上升變化,則立刻發(fā)出警報(bào);如果只是其他原因?qū)е碌臄?shù)據(jù)波動(dòng),則將溫度傳感器采集速率切換為一般狀態(tài)。
該智能溫度報(bào)警器內(nèi)部邏輯實(shí)現(xiàn)流程如下圖

圖1 智能溫度報(bào)警器內(nèi)部邏輯流程圖
溫度檢測(cè)傳感器有很多種類(lèi)型,其中LM35DZ是其中常用的一個(gè)型號(hào),其檢測(cè)范圍為0~100℃,工作電流133μA,檢測(cè)精度0.5℃,能夠基本滿(mǎn)足溫度報(bào)警器的要求,Arduion有14個(gè)數(shù)字輸入/輸出端口,6個(gè)模擬輸入端口,由于LM35DZ輸出為模擬信號(hào),故將其連接到Arduino的A0口。整體智能溫度報(bào)警器,設(shè)計(jì)硬件電路原理圖如下。

圖2 智能溫度報(bào)警器電路原理圖
通過(guò)對(duì)智能報(bào)警器內(nèi)部邏輯流程圖的分析,將其功能分解為兩個(gè)函數(shù):首先是為對(duì)比函數(shù),功能為實(shí)現(xiàn)前后兩個(gè)溫度傳感器測(cè)量數(shù)據(jù)間的對(duì)比,判斷溫度是否有突然變化;其次是驗(yàn)證函數(shù),當(dāng)接收到溫度突然變化信號(hào)時(shí),提高溫度采樣頻率并傳遞給對(duì)比函數(shù),驗(yàn)證是否為其他原因?qū)е碌臄?shù)據(jù)波動(dòng)。
程序設(shè)計(jì)代碼如下:
int LM35 = A0;
int LED = 2;
void setup() {
Serial.begin(9600);
}
void loop() {
float temp0 = (5.0*analogRead(LM35)*100.0)/1024;
delay(1000);
float temp1 = (5.0*analogRead(LM35)*100.0)/1024;
delay(1000);
if(temp1-temp0>=1.0)
{
float temp0 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
float temp1 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
float temp2 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
float temp3 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
float temp4 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
float temp5 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
float temp6 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
float temp7 = (5.0*analogRead(LM35)*100.0)/1024;
delay(100);
if(temp7>temp6&temp6>temp5&temp5>temp4&temp4>temp3&temp3>temp2&temp2>temp1&temp1>temp0)
{digitalWrite(LED,HIGH);}
}
}
本文利用Arduino的種種優(yōu)勢(shì),采用軟件編程的方式實(shí)現(xiàn)了溫度報(bào)警器的智能檢測(cè)報(bào)警。整個(gè)設(shè)計(jì)電路簡(jiǎn)單,成本低廉,靈敏度高。該溫度報(bào)警器的智能功能不僅適用于火災(zāi)報(bào)警,同樣適用于其他需要保持溫度恒定的場(chǎng)合,例如大棚,倉(cāng)庫(kù),生產(chǎn)車(chē)間等。同時(shí),由于Arduino的高度擴(kuò)展性,只需要接入其他擴(kuò)展模塊,本智能報(bào)警器同樣可以用于檢測(cè)濕度、速度及加速度、光照等,可以說(shuō)具有非常大的應(yīng)用范圍。