基于PICl6F628A的入侵探測裝置
摘要 介紹一種來人探測裝置的原理及特點(diǎn)。該裝置基于PICl6F628A單片機(jī),采用一對收發(fā)獨(dú)立的超聲波換能器,利用多普勒效應(yīng),在一定空間內(nèi)能夠有效地探測到是否有人進(jìn)入,并且能夠輸出信號控制照明設(shè)備的開關(guān)。
關(guān)鍵詞 超聲波PIC16F628A運(yùn)動物體探測 多普勒效應(yīng)
使用超聲波可以很方便的對一定空間內(nèi)的運(yùn)動物體進(jìn)行有效的探測,具有安裝方便,探測效果好的特點(diǎn)。本文介紹一種利用超聲波多普勒效應(yīng)設(shè)計的來人探測裝置。該設(shè)計使用了PICl6F628A單片機(jī),對以往用到的超聲波探測硬件電路進(jìn)行改進(jìn),利用軟件編程對來人情況進(jìn)行有效地探測,繼而輸出控制信號控制照明裝置的開關(guān)。
1 工作原理及特點(diǎn)
當(dāng)聲源與聲波接收器之間存在有相對運(yùn)動時,聲波接收器所接收到的信號頻率將與傳播的聲波頻率有所不同,頻率差量與聲源和接收器之間的相對運(yùn)動速度有關(guān),這就是多普勒效應(yīng)造成的。本設(shè)計采用超聲波發(fā)送器和接收器均朝同方向固定不動,當(dāng)有障礙物體朝向或者遠(yuǎn)離二者運(yùn)動時,可以看作是由障礙物表面對聲波的反射效應(yīng)所形成的鏡像聲源與接收器之間存在相對運(yùn)動,同樣可以利用多普勒效應(yīng),根據(jù)接收器收到的信號來判斷是否有人在探測范圍內(nèi)移動。
該裝置同時具有超聲波發(fā)射和接收換能器,使用時安裝方便。正面最大探測距離在1~5.5 m可調(diào),可以對該空間內(nèi)運(yùn)動物體進(jìn)行有效地探測。當(dāng)探測到運(yùn)動物體之后輸出+12 V信號控制照明裝置的開關(guān)。其輸出+12 V的持續(xù)時間可以在15~1 800 s可調(diào)。
2 硬件系統(tǒng)
本裝置采用發(fā)射和接收分別獨(dú)立的超聲波換能器,硬件系統(tǒng)基本可以分為微處理器部分、發(fā)射部分和接收部分。
微處理器使用的是Microchip公司生產(chǎn)的PICl6F628A單片機(jī),其引腳如圖1所示。該單片機(jī)為精簡指令集型處理器(RISC),共有35條匯編指令,使用起來簡捷有效。PICl6F628A共有18個引腳,標(biāo)準(zhǔn)工作電壓為5 V,外接晶振最大可以達(dá)到20 MHz。其內(nèi)部資源非常豐富,含有2 KB的Flash程序存儲器、224B的數(shù)據(jù)存儲器、2個模擬比較器、1個PWM控制器、1個16位的定時器/計數(shù)器,1個8位定時器/計數(shù)器,1個8位定時器,以及上電啟動電路、掉電復(fù)位電路和看門狗電路等。PICl6F628A還能夠響應(yīng)定時器、比較器、RB端口等多種硬件中斷合理地使用這些資源可以有效簡化外圍電路,降低產(chǎn)品的成本(本設(shè)計未用的片內(nèi)資源此處沒有列出)。
發(fā)射部分電路圖如圖2所示。超聲波發(fā)射換能器采用328STl60,其中心頻率為32.81.O kHz。使用PIcl6F628A單片機(jī)的PWM控制器,由RB3端口輸出約32.8 kHz的方波信號,并通過三極管Q1和4069進(jìn)行電壓和電流的放大,從而驅(qū)動發(fā)射換能器發(fā)射出超聲波信號。其中三極管Q2是為系統(tǒng)自檢而設(shè)計的。在正常的探測過程中,RBO端口一直輸出低電平,使三極管Q2保持截止?fàn)顟B(tài),不會影響超聲波發(fā)送換能器的正常發(fā)射。
接收部分電路圖如圖3所示。超聲波接收換能器采用328SRl60,其中心頻率亦為32.8士1.0 kHz。由于接收換能器直接接收到的信號比較微弱,首先需要通過運(yùn)算放大器進(jìn)行放大。這里使用的運(yùn)算放大器型號為TLO62,為了配合后面進(jìn)行檢波,分別組成正相和反相放大電路。檢波電路實(shí)際上使用了雙向模擬開關(guān)芯片4066,利用超聲波發(fā)送的驅(qū)動信號作為檢波的參考信號,即由RB3控制4066的模擬開關(guān)的切換。當(dāng)RB3電平為高時,連通正相放大電路;當(dāng)RB3電平為低時,連通反相放大電路。這相當(dāng)于把放大之后的信號不停地乘以土1,其切換頻率和超聲波的發(fā)送頻率一樣。設(shè)該頻率為,fo,則模擬開關(guān)所產(chǎn)生的等效信號是頻率為fo,幅值為土1的方波,設(shè)之為uo。則由傅里葉級數(shù)可得uo。的表達(dá)式為:,
設(shè)接收信號為u1=Usin(2πf1t+π),設(shè)正相和反相放大電路的放大倍數(shù)為A,則通過檢波電路之后的信號u的表達(dá)式為:
其中,fo。為超聲波發(fā)送信號的頻率,θ0為其初相角,f1為接收到的超聲波信號的頻率,θ1為其初相角,U為其幅值。
由于多普勒效應(yīng),如果沒有運(yùn)動物體反射超聲波,則,fo=f1;一旦有運(yùn)動物體反射超聲波,則fo一f1≠O。雖然fo和f1都比較大,但是由人體運(yùn)動所產(chǎn)生的頻差,即,fo一fl的絕對值卻不會太大。由上面的公式推導(dǎo)結(jié)果可以看出,只要經(jīng)過一個低通RC濾波器把高頻信號濾掉,便可以得到由人體運(yùn)動所產(chǎn)生的特征信號
接著通過一個微分器對u’進(jìn)一步處理,得到變化更加明顯的波形,從而可以有效提高探測靈敏度。再通過帶通濾波器除去無用信號或者干擾信號之后,經(jīng)過比較器輸出波形送至單片機(jī)RB5端口,利用單片機(jī)的RB口中斷便可以實(shí)時處理接收到的脈沖信號。如圖3,調(diào)節(jié)R可以改變電平比較電路的比較電平,從而使該裝置的正面最大探測距離在1~5.5 m可調(diào)。
如圖4所示,利用PICl6F628A單片機(jī)RA4端口為集電極開路的結(jié)構(gòu)特點(diǎn),可直接在RA4端口加個上拉電阻,即可方便地實(shí)現(xiàn)對照明裝置的控制。PIC系列單片機(jī)端口的驅(qū)動能力非常強(qiáng),能夠直接驅(qū)動LED。當(dāng)探測到運(yùn)動物體時,單片機(jī)通過RA4端口輸出+12 V電平信號驅(qū)動照明設(shè)備,同時通過RB2端口控制LED閃亮一次。
另外,調(diào)節(jié)R3可以使+12V電平信號的持續(xù)時間在15~1800 s變化。該功能主要利用單片機(jī)內(nèi)部的兩個比較器,結(jié)合外圍RC充電電路來實(shí)現(xiàn)對:R3位置的檢測。具體過程如下:通過對單片機(jī)的控制字進(jìn)行設(shè)置,使比較器P1和P2的正相輸入端在單片機(jī)內(nèi)部連接在一起并與RA2端口相連,RA0、RAl、RA2都為輸入端口,如圖4所示。
在正常狀態(tài)下RA3為輸出端口,且輸出為低電平,此時電容Cl和比較器P1、P2處于穩(wěn)定狀態(tài)。當(dāng)需要測試R3滑動頭的位置時,RA3端口則從輸出變?yōu)檩斎耄⑶覇纹瑱C(jī)內(nèi)部的定時器開始計時。這樣一來+12 V便通過電阻R1開始對電容C1進(jìn)行充電,當(dāng)端口RA2的電平超過端口RAl時,比較器P2的輸出會發(fā)生變化,引起單片機(jī)的比較器中斷。在中斷服務(wù)程序里,讀取定時器的數(shù)值便可以計算出電阻R3滑動頭的位置。然后再把端口.RA3恢復(fù)成輸出低電平,使電容C1放電,整個電路回到初始的狀態(tài),為下一次檢測做好準(zhǔn)備。比較器P1的作用是防止比較器P2出現(xiàn)意外。當(dāng)端口RA2的電平超過端口RAl時還沒產(chǎn)生中斷的話,就由比較器P1產(chǎn)生中斷,并使電容C1停止充電,避免端口RA2和RA3的電平過高,使單片機(jī)損壞。對電阻R3的測量是為了設(shè)定照明設(shè)備的點(diǎn)亮?xí)r間,精度要求并不高,所以使用該電路進(jìn)行測量不但簡單方便成本低,而且實(shí)際當(dāng)中使用效果良好。
3 軟件編程
在硬件處理的基礎(chǔ)上,到達(dá)單片機(jī)的波形已經(jīng)比較理想了,但是并不能單純以收到脈沖信號作為探測的標(biāo)準(zhǔn),仍然需要利用軟件編程進(jìn)一步增加抗干擾性能。由于該裝置主要目的是探測人體的運(yùn)動情況,而人體稍微地一個小動作至少都能使單片機(jī)接收到幾百個ms時間的脈沖信號。為了提高可靠性,本設(shè)計對于持續(xù)時間不到100 ms的信號忽略不計。另外,如果多臺裝置同時工作,由于各種硬件誤差可能導(dǎo)致發(fā)送出來的超聲波頻率不能完全相同,當(dāng)差別比較大時會持續(xù)收到一定頻率的脈沖信號,如果不作處理,這也會影響正常的探測??紤]到在沒有人通過時,如果有干擾,且干擾源穩(wěn)定的話,單片機(jī)收到脈沖信號的頻率是基本不變的,所以,比較理想的探測機(jī)制為:根據(jù)返回頻差信號的頻率是否變化來判斷是否有人體運(yùn)動存在。
在本設(shè)計中,對連續(xù)2個100 ms時間段內(nèi)對接收到脈沖信號進(jìn)行計數(shù),如果計數(shù)值有增加,則判斷為探測成功。在計數(shù)的同時,如果1OOms內(nèi)的計數(shù)值小于5,則舍棄不計。為了在使用期間確??煽?,本裝置間隔一定時間就進(jìn)行自檢。如圖2所示,在正常的探測過程中,RBO端口一直輸出低電平,只有在需要自檢時,RB0端口才輸出一定頻率的方波,作為自檢信號。此時,超聲波信號在發(fā)射之前就已經(jīng)被自檢信號調(diào)制了,如果整個裝置工作正常,即使在沒有運(yùn)動物體反射超聲波的情況下,單片機(jī)也能接收到脈沖信號。依此便可進(jìn)行自檢,判斷自身工作是否正常。假如自檢失敗,則使LED不停閃爍以指示自身出現(xiàn)故障,并且一直輸出+12 V信號控制照明裝置常亮,避免影響行人正常通過。
4 總 結(jié)
該裝置外形如圖5所示,底部有懸掛卡口,可以方便地安裝在通道的墻壁上。頂部的靈敏度旋鈕可以調(diào)節(jié)探測的靈敏度,延時時間旋鈕可以調(diào)節(jié)來人之后照明裝置點(diǎn)亮的時間。頂部的LED能夠指示正常狀態(tài)下的探測情況以及自檢失敗時的故障。
實(shí)踐證明,該裝置不僅安裝方便,而且使用效果良好,能夠滿足多種場合下的來人探測要求。另外,該裝置探測靈敏度高,稍作調(diào)整也可以作為安防系統(tǒng)的報警裝置使用。
評論