隨著智能建筑安防系統(tǒng)要求的不斷完善和人們安全防范意識的不斷提高,室內(nèi)防盜已逐漸引起人們的注意。針對這種情況,本文設計了一種可用于室內(nèi)防盜的超聲測距報警系統(tǒng)。雖然與常用于軍事或特殊工業(yè)的雷達和激光相比,超聲波在穩(wěn)定性和度上存在一定差距,但它在某些方面也具有優(yōu)勢,如價格低廉,設計簡單,受外界環(huán)境的影響較小等。近幾年隨著微處理器的快速發(fā)展,超聲波測距裝置在其檢測精度、手段和應用范圍上都有了很大的提高,所以超聲測距的應用范圍變得更加廣泛,倒車雷達和自動導航、液位測量、機器人視覺識別和建筑安防等。本文設計的基于PIC16F877A的室內(nèi)安防超聲測距報警系統(tǒng)具有設計簡單,檢測精度高,抗*力強,隱蔽性好等特點,并且在辦公室進行了初步安裝調(diào)試,試驗結(jié)果達到了預期的目的。
1、超聲測距報警原理
*是超聲測距報警系統(tǒng)*的元器件之一,選擇合適的*對系統(tǒng)的性能有著重要的意義。目前zui常用的是壓電式超聲波傳感器,它是利用電致伸縮現(xiàn)象制成的,在壓電材料切片上施加交變電壓,使它產(chǎn)生電致伸縮振動而產(chǎn)生超聲波,同樣,當超聲波作用到壓電晶片上時使晶片伸縮,在晶片的兩個界面上便產(chǎn)生交變電荷,這種電荷被轉(zhuǎn)換成電壓并經(jīng)過放大后送到測量電路,zui終可以被記錄或顯示。
本系統(tǒng)采用的是收發(fā)分離的壓電式超聲傳感器TX40-16和RX40-16。
超聲測距的系統(tǒng)原理方法一般包括三種:相位檢測法,聲波幅值檢測法和渡越時間檢測法。本系統(tǒng)采用渡越時間檢測法,也就是我們通常所說的時間差法,即超聲波從發(fā)射到接收的時間段內(nèi)所走的距離為待測距離的2倍,所以:
其中:D--待測距離(m);c--聲波在該介質(zhì)中的速度(m/s);t--測得的時間差(s)。
由上式我們可以看出,測量誤差主要是由聲速誤差和測量時間誤差所引起的。本系統(tǒng)主要是通過軟件修正對測量時間誤差進行改善,而聲速誤差則是通過溫度補償來減小的。零度下聲速大約為331.48m/s,其他溫度下的聲速我們可以通過下式進行修正:
其中,T為當前環(huán)境溫度。
溫度與聲速對應表如表1所示。
表1溫度與聲速對應表
2、系統(tǒng)硬件設計
本設計采用Microchip公司的PIC16F877A芯片作為超聲測距系統(tǒng)的主控芯片,該芯片具有豐富的I/O口資源、可配置不同的時鐘頻率、內(nèi)置A/D轉(zhuǎn)換等優(yōu)點,強大的功能使設計更為簡單、便捷。
圖1超聲測距原理框圖
溫度傳感器采用DS18B20芯片,該傳感器具有單總線接口,±0.5℃的測量精度,使用電壓范圍寬,分辨率可調(diào),測溫范圍寬,負壓特性,數(shù)字轉(zhuǎn)換迅速等特點,應用十分簡潔方便,符合設計要求。DS18B20讀取溫度時,要關閉中斷,否則可能造成溫度讀取錯誤。系統(tǒng)硬件框圖如圖1所示。
2.1超聲波發(fā)射電路
*外加電壓的大小是決定探測距離遠近的一個重要因素。外加電壓能影響換能器內(nèi)部壓電陶瓷材料的電場強度,進而影響振膜形變量和壓電轉(zhuǎn)換效率。目前常用的一種方法是采用7404系列的反相器作為超聲發(fā)射換能器的電壓驅(qū)動芯片,盡管這種方案設計簡單,價格也很低,但它產(chǎn)生的驅(qū)動峰峰電壓較低,zui高也僅有7v左右,大大縮短了探測距離。針對這種情況,本文決定采用MAX232代替反相器,以推挽的方式來增大超聲發(fā)射換能器的發(fā)射驅(qū)動電壓,提高壓電轉(zhuǎn)換效率。通過實驗測的,MAX232可將5v左右的TTL電平轉(zhuǎn)換成9.2v左右的232電平,峰峰值可達18.5v,探測距離可達5m,占空比也近似50%,克服了探測距離近的缺點,而且其他性能指標*符合設計要求。本方案發(fā)送的超聲波以10個周期為一個序列,兩個序列之間相隔32768us,即T1定時器溢出的時間。當T1溢出時,系統(tǒng)顯示錯誤并重新發(fā)射超聲波進入到下一次測量。系統(tǒng)發(fā)射電路如圖2所示。
圖2系統(tǒng)發(fā)射電路圖
2.2超聲波接收電路
超聲波在空氣中傳播時,能量會隨著距離的增加而不斷衰減。通過實驗測得,當探測距離為1m左右時,信號能量已經(jīng)衰減到30mv左右,我們需要把這個接收到的微弱的超聲波正弦信號進行放大、濾波等處理,輸入到PIC的外部中斷口,作為接收到回波的標志。通常的設計思路是首先采用LM系列的放大器進行放大,然后經(jīng)過濾波、頻率鎖定等電路輸入到INT0產(chǎn)生中斷。該方法的優(yōu)點在于可以鎖定所需要的頻率,防止外界其他頻率的超聲波的干擾,但缺點在于集成度不高,設計和焊接比較繁瑣。為此本文采用索尼公司的CX20106A紅外遙控接收集成芯片,該芯片可用于超聲波處理電路,它集成了放大、限幅、帶通濾波、峰值檢測、整形和比較等功能,具有很高的靈敏度和抗干擾性[5].CX20106A芯片的7引腳與PIC單片機的INT0相連接,未接收到超聲波時,7引腳輸出4.1v左右的高電平,不產(chǎn)生中斷;當接收到與中心頻率40KHz相符或相近的超聲波時,便產(chǎn)生低跳變。
當檢測到有底跳變時,把*個下降沿信號輸入到INT0作為外部中斷信號,然后關閉定時器T1并讀取T1的計數(shù)值,進行下一步的時間和距離計算。接收電路圖如圖3所示,圖4為發(fā)射和接收時序圖。
圖3系統(tǒng)發(fā)射電路圖
圖4發(fā)射與接收時序圖
2.3測距報警系統(tǒng)外圍電路
系統(tǒng)的外圍電路包括電源、復位、晶振、測溫、報警、串口以及數(shù)碼管顯示電路等。
PIC16F877A可采用的時鐘頻率為4MHz~20MHz,在保證系統(tǒng)計算度的基礎上,采用了8MHz的晶振,這樣便于設定發(fā)射超聲波的數(shù)目,使超聲波中心頻率維持在40KHz.采用的DS18B20芯片可對聲速進行修正,使結(jié)果更加準確。系統(tǒng)采用蜂鳴器進行報警。串口電路可以實現(xiàn)和上位機通信。為了便于觀察,采用數(shù)碼管顯示測量的距離,PIC單片機的RD0~RD7控制數(shù)碼管的七位段選,RC1~RC3控制位選,以動態(tài)掃描的方式顯示距離。串口通信和顯示電路如圖5所示,系統(tǒng)外圍電路如圖6所示。
圖5系統(tǒng)顯示電路和串口通信電路圖
圖6超聲測距報警系統(tǒng)外圍電路
3、系統(tǒng)軟件設計
軟件設計主要包括:主程序,測溫修正聲速子程序,中斷子程序,濾波子程序,報警子程序和顯示子程序等。
系統(tǒng)開始工作后,首先完成系統(tǒng)初始化;緊接著是對聲速進行修正,得到當前溫度下的聲速;然后對定時器T1進行設置,并由PIC單片機產(chǎn)生40KHz的方波;接下來便是通過讀取T1定時器的數(shù)值來計算測距時間和測量距離;得到正確的測量距離便采用數(shù)組的方式進行記錄,數(shù)組元素個數(shù)為11,采用冒泡法進行排序,取中間值作為zui終的測量距離,以提高測距的度;下一步便是判定是否符合報警條件,如果符合條件便報警,然后通過數(shù)碼管顯示距離,不符合報警條件則直接顯示距離。在程序運行過程中,如果有中斷產(chǎn)生便跳到中斷子程序。在中斷程序中,首先判斷該中斷是外部中斷還是T1溢出中斷。如果是外部中斷,則關閉T1和外部中斷使能并計算時間和距離;如果是T1溢出中斷,則對T1進行清零,系統(tǒng)重新發(fā)射超聲波。系統(tǒng)主程序及中斷程序流程圖如圖7所示。
圖7系統(tǒng)主程序及中斷程序流程圖。
在軟件設計時,要特別注意避免在DS18B20總線讀寫或復位的過程中產(chǎn)生中斷,防止溫度讀取錯誤。
系統(tǒng)每計算完一次時間和距離時都要對定時器T1清零,否則下一次測量會造成數(shù)據(jù)不準確。
4、實驗結(jié)果及分析
本文首先對測量距離和測量結(jié)果進行了驗證和分析。發(fā)射換能器剛發(fā)射的超聲波可能會直接橫向發(fā)射到接收*,所以在發(fā)射完超聲波后進行延時,由此產(chǎn)生的盲區(qū)大約為10cm.測量結(jié)果和相對誤差如表2所示。
表2探測結(jié)果及誤差分析
由表2我們可以看出:近距離測量比較準確,但遠距離測量時較容易出現(xiàn)測量誤差。產(chǎn)生誤差的原因有很多,如聲速、空氣濕度、發(fā)射角度等,而換能器振膜的位置和電-機械信號轉(zhuǎn)換速率等誤差也是不可忽視的原因,這些誤差主要是通過多次測量不斷修改測量距離公式來進行修正的。本文測距產(chǎn)生誤差的原因主要是超聲波在傳播的過程中的衰減和丟失。
超聲波報警方式主要有兩種:一種是通過軟件設置一個閾值與測的距離進行比較,如果不符合確定的定義則報警。另一種是通過多普勒效應波形檢測,發(fā)射換能器發(fā)射超聲波后,在沒有移動物體進入被探測區(qū)域的情況下,反射回來的超聲波是等幅的;當有活動的物體進入探測區(qū)域時,反射回來的超聲波幅度不等,并且不斷變化,當接收電路檢測到變化的信號時,控制電路便驅(qū)動報警裝置進行報警。
本文首先按照*種報警思路對系統(tǒng)進行了設計。我們把測距報警系統(tǒng)安置在正對著辦公室門口的桌子上,系統(tǒng)穩(wěn)定后測的距離為188,我們設定的閾值為200,當有人進入便造成探測距離小于預設值,如果在預定的20s內(nèi)沒有取消報警設置時,系統(tǒng)便會自動報警。試驗結(jié)果表明,系統(tǒng)反應靈敏、度高,誤報率低于1%,符合設計要求。下一步工作我們可以把產(chǎn)生的報警信號通過短信的方式發(fā)送到手機客戶端或者防務人員信息端。
針對第二種報警方式,我們把CX20106A輸出電平信號變化類比為多普勒波形進行檢測。通過試驗得知:如果不間斷的發(fā)射超聲波,CX20106A芯片7引腳的輸出并不會和預期的那樣一直維持在低電平,這是由于該芯片的靈敏度不足以分辨出這么短時間的電平變化,其內(nèi)部的上拉門限會很快把輸出信號變?yōu)楦唠娖?,沒有活動物體便一直維持在低電平。因此,本系統(tǒng)便采用該種方式發(fā)送超聲波,圖8為穩(wěn)定后的輸出電平,圖9為人員進入探測區(qū)域走動造成的電平變化。
圖8接收到的電壓波形圖
圖9有活動物體進入時得到的電壓波形圖
通過長時間實驗結(jié)果觀察得知,在沒有移動物體進入探測區(qū)時,平均每小時大約有10次低電平跳變,誤報率很低,所以采用短時間間隔取樣的方式,這樣出現(xiàn)誤報為小概率事件。設定取樣間隔為2s,采用外部中斷計算產(chǎn)生低脈沖數(shù)目,如果檢測到的下降沿次數(shù)超過10次,則可以認為有移動物體,系統(tǒng)會進行報警,否則一直循環(huán)采樣比較。
5、總結(jié)
與傳統(tǒng)的超聲報警系統(tǒng)相比,本文設計的超聲測距報警系統(tǒng)不僅在精度和測量距離上有了很大的改善,而且硬件結(jié)構簡單,工作穩(wěn)定,可移植性好,應用在安防系統(tǒng)中具有很強的隱蔽性,能夠較為準確的識別闖入者并報警,達到了預期結(jié)果。同時本系統(tǒng)也存在一些不足,譬如:沒有設置手機短信報警模塊,如何和其他安防設施配合使用等,在下一步的研究工作中會著重解決這些問題。