李建杰,楊延寧,2,孫宇航,杜永星
(1.延安大學(xué) 物理與電子信息學(xué)院,陜西 延安 716000;2.南昌理工學(xué)院,江西 南昌 330044)
目前,安全防護(hù)技術(shù)越來(lái)越先進(jìn),特別是道路交通、商場(chǎng)超市等公共場(chǎng)所設(shè)置了大量的監(jiān)控,人們的安全感越來(lái)越高。相對(duì)而言,家庭的防盜基本上還是停留在防盜門(mén)和防盜網(wǎng)的較低層次上。由于工作忙碌,單位和住所距離較遠(yuǎn),家庭遠(yuǎn)程防盜的需求越來(lái)越高。而傳統(tǒng)的防盜門(mén)和防盜網(wǎng)雖然能阻止一定盜竊行為的發(fā)生,但它們?cè)诜阑鹬械膯?wèn)題越來(lái)越多。因此,家庭防盜報(bào)警器的安裝變得尤為重要。文中設(shè)計(jì)了一款符合市場(chǎng)需求的高性能、低價(jià)格的遠(yuǎn)程防盜報(bào)警器,用戶手機(jī)可通過(guò)GSM 網(wǎng)絡(luò)接收?qǐng)?bào)警信息,對(duì)遠(yuǎn)程防盜技術(shù)領(lǐng)域有較大的促進(jìn)作用[1-2]。
遠(yuǎn)程防盜報(bào)警系統(tǒng)設(shè)計(jì)方框圖如圖1 所示。外圍電路以單片機(jī)STM32F103C8T6 為主控器,包括熱釋電紅外傳感器、蜂鳴器報(bào)警模塊、GSM 模塊以及電源模塊等。熱釋電紅外傳感器負(fù)責(zé)監(jiān)測(cè)紅外輻射的變化,進(jìn)行防盜監(jiān)測(cè),出現(xiàn)被盜情況時(shí),由單片機(jī)控制蜂鳴器報(bào)警模塊發(fā)出警報(bào),用戶手機(jī)通過(guò)GSM 模塊接收?qǐng)?bào)警信息。
圖1 系統(tǒng)總體方框圖
系統(tǒng)硬件電路原理圖如圖2 所示。硬件電路包括手機(jī)通信模塊(GSM)、電源接口電路、人體傳感器(熱釋電紅外傳感器)電路、蜂鳴器報(bào)警電路、MCU以及按鍵電路等。
圖2 硬件電路原理圖
熱釋電紅外傳感器又稱人體紅外傳感器,是一種將紅外熱信號(hào)轉(zhuǎn)換為電信號(hào)的器件,其內(nèi)部原理圖如圖3 所示。從圖3 可以看到,其本質(zhì)上就是在一個(gè)場(chǎng)效應(yīng)管基礎(chǔ)上給柵極g 接入一個(gè)探頭,探頭內(nèi)由壓電陶瓷電介質(zhì)制作。探頭檢測(cè)到10 μm 左右的紅外線時(shí)就將紅外信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào)。壓電材料接收紅外輻射后溫度升高,將失去其表面電荷,這就是熱釋電概念的由來(lái)[3-4]。這些失去的電荷通過(guò)放大器放大而轉(zhuǎn)換為電壓輸出。恰好人體在37°左右的溫度時(shí)會(huì)發(fā)出波長(zhǎng)為10 μm 左右的紅外線,因此,稱之為人體傳感器[5-8]。
圖3 熱釋電紅外傳感器原理圖
GSM 模塊采用SIM800C 通信模塊,具有短信發(fā)送、語(yǔ)音通話、GPRS 數(shù)據(jù)傳輸?shù)葦?shù)據(jù)通信功能,其性能穩(wěn)定,外觀小巧,性價(jià)比高[9]。用戶首先將自己的手機(jī)與防盜系統(tǒng)通信端口綁定,以便能夠接收GSM網(wǎng)絡(luò)的盜竊信息,實(shí)時(shí)提醒用戶正在發(fā)生的情況。SIM800C 共有40 個(gè)引腳,通過(guò)一個(gè)ZIF(Zero Insertion Force)連接器引出[10]。SIM800C 引腳圖如圖4 所示。
圖4 SIM800C 引腳圖
在防盜報(bào)警器設(shè)計(jì)中,選用了蜂鳴器報(bào)警,通過(guò)外接一個(gè)9012的三極管作為驅(qū)動(dòng),起到電路報(bào)警開(kāi)關(guān)的作用,三極管9012 的發(fā)射極接到供電端,電壓為高電平3.3 V,基極接收來(lái)自單片機(jī)的控制端29腳PB10。當(dāng)傳感器未檢測(cè)到有人入侵時(shí),單片機(jī)控制端PB10輸出高電平,三極管9012處于截止?fàn)顟B(tài),蜂鳴器不響,同時(shí),單片機(jī)15腳PA1輸出低電平,D2綠色發(fā)光二極管發(fā)光,表示沒(méi)有被盜。當(dāng)傳感器檢測(cè)到有人入侵時(shí),單片機(jī)控制端PB10 輸出低電平,三極管9012 就進(jìn)入飽和導(dǎo)通狀態(tài),進(jìn)而驅(qū)動(dòng)蜂鳴器發(fā)出響聲[11],同時(shí),單片機(jī)20腳PA4 輸出高低脈沖,D1 紅色發(fā)光二極管閃爍,表示現(xiàn)場(chǎng)處于被盜狀態(tài)。蜂鳴器報(bào)警電路圖如圖5所示。
圖5 蜂鳴器報(bào)警電路圖
報(bào)警器設(shè)計(jì)中選用的單片機(jī)是STM32F103C8T6,其采用LQFP44 封裝。該單片機(jī)相比其他產(chǎn)品具有更高性價(jià)比。STM32F103C8T6 最小系統(tǒng)板原理圖如圖6 所示。
圖6 STM32F103C8T6最小系統(tǒng)板原理圖
最小系統(tǒng)電路有STM32F103C8T6 單片機(jī)芯片和時(shí)鐘電路,時(shí)鐘電路由一個(gè)8 MHz 晶振和兩個(gè)30 pF 電容串聯(lián)接入時(shí)鐘輸入腳[12-13]。
BOOT 引腳可以選擇不同的啟動(dòng)模式,如表1 所示,通過(guò)BOOT0 和BOOT1 腳的電平組態(tài)可以控制啟動(dòng)模式[14]。
表1 STM32啟動(dòng)模式表
復(fù)位電路:系統(tǒng)工作前需要進(jìn)行復(fù)位,通過(guò)足夠的時(shí)間進(jìn)行初始化,需要在NRST 腳(單片機(jī)的第7腳)保持低電平信號(hào),芯片正常工作[15]。
在用戶按下布防鍵后,經(jīng)過(guò)15 s 倒計(jì)時(shí),系統(tǒng)開(kāi)始進(jìn)入工作狀態(tài),熱釋電紅外傳感器一旦監(jiān)測(cè)到人體(竊賊)信號(hào),就將信號(hào)傳遞給單片機(jī)進(jìn)行程序處理,單片機(jī)輸出信號(hào),驅(qū)動(dòng)蜂鳴器報(bào)警和發(fā)光二極管閃爍,并通過(guò)GSM 模塊向手機(jī)發(fā)送報(bào)警信息,通過(guò)軟件設(shè)計(jì)保證發(fā)光二極管的閃爍和蜂鳴器警報(bào)同步。如果沒(méi)有人取消報(bào)警,程序?qū)?huì)持續(xù)循環(huán)進(jìn)行報(bào)警工作。系統(tǒng)還設(shè)置了手動(dòng)報(bào)警按鍵,突發(fā)情況下通過(guò)手動(dòng)按鍵也能達(dá)到報(bào)警效果。主程序流程圖如圖7 所示。
圖7 主程序流程圖
系統(tǒng)的硬件調(diào)試步驟如下:
1)在上電之前,對(duì)照電路圖檢查硬件電路,進(jìn)行逐個(gè)排查,檢查是否有多線、少線和引腳短路、開(kāi)路等現(xiàn)象。
2)檢查單片機(jī)及各硬件模塊供電是否正常,電源電壓是否穩(wěn)定。
3)通電后檢查單片機(jī)外設(shè)電路是否可以正常工作,特別檢查熱釋電紅外傳感器等部件是否正常工作。在燒入程序后檢查復(fù)位功能和程序燒寫(xiě)是否正常。
4)用萬(wàn)用表和示波器按照信號(hào)流動(dòng)的方向測(cè)量電路的連通性。
電路調(diào)試是一個(gè)循環(huán)往復(fù)的過(guò)程,需要通過(guò)檢測(cè)-調(diào)試-檢測(cè)-調(diào)試的過(guò)程來(lái)提高硬件電路的性能,減小系統(tǒng)誤差,達(dá)到系統(tǒng)的設(shè)計(jì)要求。
在確認(rèn)硬件電路調(diào)試無(wú)誤后,再對(duì)系統(tǒng)軟件進(jìn)行調(diào)試。編程語(yǔ)言采用C 語(yǔ)言,軟件平臺(tái)采用Keil5。軟件部分的調(diào)試主要是檢測(cè)硬件部分與編寫(xiě)的軟件程序是否匹配,確認(rèn)是否可以達(dá)到設(shè)計(jì)要求。
1)首先檢測(cè)各模塊初始化配置是否正常,比如熱釋電紅外傳感器的引腳配置以及STM32F103C8T6的GPIO 配置是否正常。
2)檢查各模塊的數(shù)據(jù)是否可以接收和發(fā)送,比如,熱釋電紅外傳感器是否可以將采集到的溫度數(shù)據(jù)經(jīng)單片機(jī)處理后發(fā)送給報(bào)警電路,確保信息傳輸?shù)倪B通性和準(zhǔn)確性,防止出現(xiàn)亂碼傳輸現(xiàn)象。
3)用仿真CPU 來(lái)模擬執(zhí)行程序,在沒(méi)有正式上機(jī)之前,可以采用MDK 自帶的在線仿真器來(lái)調(diào)試程序。在線仿真調(diào)試能使程序的執(zhí)行速度提高,但程序執(zhí)行完后如果出現(xiàn)錯(cuò)誤,不容易找出具體出錯(cuò)的行。如果采取單行程序執(zhí)行,當(dāng)程序執(zhí)行到某一行并出現(xiàn)錯(cuò)誤時(shí),可以容易發(fā)現(xiàn)錯(cuò)誤之處,但當(dāng)程序運(yùn)行量很大時(shí),就會(huì)大大降低效率。有些程序中的變量需要達(dá)到某一個(gè)值時(shí)才能被執(zhí)行到,因此,單行調(diào)試就很難執(zhí)行整個(gè)程序。
基于上面仿真調(diào)試遇到的問(wèn)題,主要的解決方法就是在進(jìn)行程序調(diào)試時(shí)設(shè)置斷點(diǎn),斷點(diǎn)設(shè)置好以后開(kāi)始不間斷地全速運(yùn)行程序。當(dāng)執(zhí)行到斷點(diǎn)行時(shí)程序就會(huì)自動(dòng)停止,通過(guò)觀察變量和相關(guān)寄存器的值就可以確定錯(cuò)誤之處,此方法方便快捷,可以提高編程效率。
該文設(shè)計(jì)的基于SIM800C 通信模塊的遠(yuǎn)程防盜報(bào)警器,當(dāng)熱釋電紅外傳感器檢測(cè)到有人在檢測(cè)區(qū)域內(nèi)移動(dòng)時(shí),系統(tǒng)進(jìn)入報(bào)警模式,微控制器接收信號(hào)處理后發(fā)送報(bào)警控制信號(hào),驅(qū)動(dòng)聲光報(bào)警電路開(kāi)始報(bào)警,同時(shí),微控制器通過(guò)GSM 向預(yù)先綁定的用戶手機(jī)發(fā)送報(bào)警信息,使得用戶及時(shí)獲知被盜警情。經(jīng)調(diào)試,其符合設(shè)計(jì)要求。該報(bào)警器功能還可以進(jìn)一步拓寬,可在紅外報(bào)警的基礎(chǔ)上增加煙霧溫度報(bào)警、紅外遙控等功能[16]。