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