基于PIC12F675的人體探測(cè)器的設(shè)計(jì)與應(yīng)用
引 言
現(xiàn)在,很多實(shí)驗(yàn)室出于保密性、安全性等原因考慮,常常將實(shí)驗(yàn)室從內(nèi)到外隔成多個(gè)小實(shí)驗(yàn)室,當(dāng)相關(guān)人員都在聚精會(huì)神地工作時(shí),可能出現(xiàn)外面實(shí)驗(yàn)室門敞開而實(shí)驗(yàn)室內(nèi)沒(méi)人的情況,這可能導(dǎo)致不可預(yù)料的后果。為避免上述問(wèn)題,需要在類似場(chǎng)合安裝能檢測(cè)人員進(jìn)出的探測(cè)器,當(dāng)有人進(jìn)門或者出門時(shí)候能夠發(fā)出不同的語(yǔ)音信號(hào),以提示相關(guān)人員。
現(xiàn)在用于檢測(cè)人員進(jìn)出的探測(cè)器主要采用熱釋紅外傳感器。人體能夠發(fā)射10μm左右的紅外線,熱釋紅外傳感器就是靠接收這種紅外線而進(jìn)行工作的。這種探測(cè)器功耗小,隱蔽性好,價(jià)格低廉,但也具有以下缺點(diǎn):①不能判斷人員流動(dòng)方向;②探測(cè)器穿透力差,人體的紅外輻射容易被遮擋,不易被探頭接收;③探測(cè)器容易受熱源、光源、射頻輻射等干擾;④環(huán)境溫度和人體溫度接近時(shí),探測(cè)器靈敏度明顯下降,可能造成探測(cè)器短時(shí)失靈。 針對(duì)上述探測(cè)器的缺點(diǎn)和應(yīng)用場(chǎng)所的特殊性,本文提出采用紅外線技術(shù),用PIC12F675作為檢測(cè)和控制核心,設(shè)計(jì)了一款新型的人體探測(cè)系統(tǒng)。
設(shè)計(jì)思想
辦公室中人們通常的進(jìn)出門方向如圖1所示。沿著進(jìn)門的方向,安置兩組紅外線發(fā)射接收裝置:第一組紅外線發(fā)射管x與紅外線接收管x',第二組紅外線發(fā)射管y與紅外線接收管y',其中紅外線接收管x'和y'要分別正對(duì)發(fā)射管x和y。正常情況下,紅外接收管不間斷地接收來(lái)自紅外發(fā)射管的紅外光。當(dāng)有人通過(guò)發(fā)射管及接收管所構(gòu)成的警戒線,擋住了紅外線發(fā)射管,從而使接收管中斷接收發(fā)射管的紅外線信號(hào),引起進(jìn)入CPU的電平變化,CPU檢測(cè)到此變化引起中斷,將平時(shí)處于睡眠狀態(tài)的CPU喚醒,并對(duì)中斷進(jìn)行判斷,產(chǎn)生相應(yīng)的動(dòng)作。
本系統(tǒng)通過(guò)檢測(cè)x'、y'的電平變化時(shí)序?qū)崿F(xiàn)進(jìn)門和出門時(shí)發(fā)出不同的提示信號(hào),如圖2所示。當(dāng)進(jìn)門時(shí),x'先變化,y'后變化,如圖2進(jìn)門時(shí)序①所示;出門時(shí),y'先變化,x'后變化,如時(shí)序③所示。CPU通過(guò)檢測(cè)x'和y'的變化時(shí)序就可以區(qū)別是進(jìn)門還是出門,從而使語(yǔ)音芯片發(fā)出不同的聲音,起到提示作用。
硬件設(shè)計(jì)
發(fā)射部分
由于紅外發(fā)射管的發(fā)射功率一般較小,為約10mW,這導(dǎo)致紅外接收頭信號(hào)微弱。根據(jù)紅外發(fā)射管的物理特性,本系統(tǒng)用PIC12F675的7腳和6腳產(chǎn)生信號(hào),通過(guò)Q1和Q2兩個(gè)三極管,驅(qū)動(dòng)紅外線發(fā)射管(D3和D4)發(fā)射出紅外線常用的載波頻率(38kHz紅外信號(hào)),從而提高發(fā)射性能和發(fā)射距離,且使抗干擾能力大大加強(qiáng)。本文使用的38kHz載波頻率的占空比為50%。發(fā)射部分電路如圖3所示。
接收部分
如圖4所示,該系統(tǒng)接收部分利用紅外線一體化接收頭(SM0038),它能自動(dòng)完成對(duì)紅外信號(hào)的接收、放大、檢波、整形,然后輸出相應(yīng)的脈沖信號(hào)至PIC12F675的7腳和6腳,其中PIC12F675的7腳接收紅外線發(fā)射管D3的信號(hào),PIC12F675的6腳接收紅外線D4的信號(hào)。
當(dāng)沒(méi)人進(jìn)出時(shí),紅外線接收管連續(xù)不斷地接收紅外線發(fā)射管發(fā)射的38kHz信號(hào),使PIC12F675的7腳和6腳保持低電平;當(dāng)有人進(jìn)入時(shí),第一組紅外線接受管x'首先接收不到38kHz的信號(hào),PIC12F675的7腳先變?yōu)楦唠娖?,接著第二組紅外線接收管y'也無(wú)法接收到38kHz信號(hào),6腳隨后變?yōu)楦唠娖?。反之,出門時(shí),6腳先變?yōu)楦唠娖剑?腳后變?yōu)楦唠娖?。利用PIC12F675的引腳電平變化中斷功能,PIC12F675的6腳和7腳上電平發(fā)生變化產(chǎn)生中斷,CPU判斷7腳和6腳的波形以及時(shí)序,就能判斷出有人進(jìn)或出門,通過(guò)5腳(GP2)發(fā)送不同頻率的信號(hào),驅(qū)動(dòng)語(yǔ)音芯片發(fā)出不同的語(yǔ)音信號(hào)。D7是指示燈,當(dāng)系統(tǒng)上電時(shí),D7亮1s,然后熄滅,表示系統(tǒng)已正常工作。
軟件設(shè)計(jì)
紅外線發(fā)射部分的主要功能是產(chǎn)生38kHz的方波,驅(qū)動(dòng)紅外線發(fā)射管發(fā)射紅外信號(hào)。為使系統(tǒng)準(zhǔn)確可靠,發(fā)射部分的CPU必須連續(xù)不斷地工作。
對(duì)接收部分,由于接收端CPU大部分時(shí)間處于閑置狀態(tài),只有在有人進(jìn)出時(shí)才進(jìn)行相應(yīng)判斷,為了節(jié)約能量,平時(shí)CPU一直處于睡眠狀態(tài),當(dāng)有人進(jìn)出時(shí),紅外線接收管被喚醒并進(jìn)入中斷,中斷程序流程圖如圖5所示。
程序首先清空相應(yīng)的中斷標(biāo)志及其WDT,然后判斷是進(jìn)門時(shí)序還是出門時(shí)序。為了使判斷準(zhǔn)確無(wú)誤,防止干擾,每次進(jìn)行相應(yīng)判斷為真后必須加一定的延時(shí),然后重新判斷,如果經(jīng)過(guò)判斷確認(rèn)是干擾信號(hào),則直接開中斷返回。
為了防止接收端CPU由于干擾信號(hào)導(dǎo)致程序執(zhí)行路線脫離正常軌道,從而使執(zhí)行過(guò)程發(fā)生混亂,系統(tǒng)中采用WDT監(jiān)視定時(shí)器時(shí)刻監(jiān)視CPU的運(yùn)行狀態(tài)。當(dāng)CPU發(fā)生混亂時(shí),看門狗會(huì)將CPU及時(shí)"拉回"到正確運(yùn)行路線的起點(diǎn),重新開始運(yùn)行。
調(diào)試及結(jié)論
該探測(cè)器經(jīng)過(guò)軟硬件的反復(fù)調(diào)試與實(shí)驗(yàn),現(xiàn)在已經(jīng)在實(shí)驗(yàn)室、辦公室以及商店安裝使用3個(gè)月,能夠準(zhǔn)確及時(shí)地檢測(cè)人員進(jìn)出,發(fā)出不同的語(yǔ)音信號(hào),達(dá)到預(yù)想的結(jié)果。
評(píng)論