基于STM32F103的汽車遠(yuǎn)程防盜系統(tǒng)設(shè)計(jì)
引言
近幾年,汽車偷盜案件越來越多,給人們帶來巨大的經(jīng)濟(jì)損失。市場上隨之出現(xiàn)了各種各樣的汽車防盜器,本汽車防盜系統(tǒng)采用ST公司生產(chǎn)的STM32F103R6T6(以下簡稱STM32F103)單片機(jī)作為控制器,功能強(qiáng)大,實(shí)時性好。
1 系統(tǒng)結(jié)構(gòu)與功能
汽車遠(yuǎn)程防盜系統(tǒng)是基于現(xiàn)代無線通信技術(shù)設(shè)計(jì)的,可以不受距離的約束,將汽車的狀態(tài)信息直接發(fā)送到車主手機(jī),進(jìn)行一對一防盜報(bào)警,汽車遠(yuǎn)程防盜系統(tǒng)的結(jié)構(gòu)如圖1所示。
汽車防盜系統(tǒng)的信息采集模塊包括人體感應(yīng)傳感器、振動傳感器等,用來采集汽車警情信息。傳感器將采集到警情信息,傳送給微處理器處理,微處理器開始執(zhí)行報(bào)警程序。首先,發(fā)送短信到車主手機(jī);然后,報(bào)警器根據(jù)不同的警情進(jìn)行語音警告,比如有人進(jìn)入車內(nèi),報(bào)警器會發(fā)出“你已進(jìn)入車內(nèi),請你離開”的語音警報(bào)。
車主可以隨時發(fā)送指令查詢車的狀態(tài)。
防盜器設(shè)防時,系統(tǒng)控制后視鏡折疊;撤防時,控制后視鏡展開。
液晶顯示部分用來顯示車主設(shè)定的角度值。
無線遙控器用來進(jìn)行設(shè)防和撤防。
2 系統(tǒng)硬件設(shè)計(jì)
2.1 單片機(jī)最小系統(tǒng)
STM32F103最小系統(tǒng)如圖2所示,由STM32F103單片機(jī)、晶振電路、JTAG接口和復(fù)位電路組成。STM32F103增強(qiáng)型單片機(jī)基于高性能的ARM Cortex—M3(32位的RISC內(nèi)核),內(nèi)置32 KB Flash和10 KBSRAM、64個增強(qiáng)I/O端口、2個USART。STM32F103采用64引腳LQFP封裝,供電電壓為2.0~3.6 V,省電模式保證低功耗的要求,性價(jià)比高。單片機(jī)采用32.768kHz和8 MHz外部晶振,分別提供精準(zhǔn)時鐘源和工作時鐘;復(fù)位電路設(shè)計(jì)成按鍵復(fù)位和上電自動復(fù)位相結(jié)合的方式。STM32F103芯片的應(yīng)用,提高了整個系統(tǒng)的執(zhí)行效率,增強(qiáng)了系統(tǒng)穩(wěn)定性,降低了功耗和生產(chǎn)成本。
2.2 信息采集模塊
信息采集模塊主要包括人體感應(yīng)傳感器、振動傳感器和后視鏡角度采集電路。人體感應(yīng)傳感器主要檢測是否有盜車者進(jìn)入車內(nèi)行竊,數(shù)據(jù)輸出端接在單片機(jī)PC10引腳。當(dāng)汽車被撞、被砸、被晃動或者被牽動時,振動傳感器檢測相關(guān)信息,并送入單片機(jī)PB0引腳處理。
在汽車防盜系統(tǒng)中,STM32F103的PC4、PC5引腳分別接收左右兩個角度傳感器的輸入數(shù)據(jù),通過PCA、PC5引腳的A/D轉(zhuǎn)換功能,將模擬電壓量轉(zhuǎn)換為數(shù)字量在LCD1602上顯示出來。
2.3 GSM模塊
GSM模塊選用華為公司的EM310。EM310 GSM支持串行接口,通過UART接口與外界進(jìn)行串行通信,和STM32F103單片機(jī)的RXD0和TXD0引腳連接,用AT指令控制。UART支持可編程的數(shù)據(jù)寬度、可編程的數(shù)據(jù)停止位、可編程的奇偶校驗(yàn)或者沒有校驗(yàn)。最高支持115.2 kb/s、最低支持300 b/s的波特率,默認(rèn)支持9 600b/s的速率,支持波特率掉電保存。GSM模塊有標(biāo)準(zhǔn)的SIM卡接口,GSM模塊連接電路圖如圖3所示。
2.4 WT588D語音模塊
本系統(tǒng)選用具有32 Mb存儲器的WT588D語音模塊,8 kHz采樣時,錄音時間長達(dá)790 s,滿足語音提醒的要求。報(bào)警系統(tǒng)中,語音提醒需要較高分貝,為了驅(qū)動大功率的揚(yáng)聲器,輸出用DAC接功放的形式,WT588D語音模塊電路圖如圖4所示。R1和C1并聯(lián)到地接功放。功率放大器選用TDA2030,額定功率達(dá)14 W,性價(jià)比高,應(yīng)用廣泛。語音模塊與單片機(jī)的連接采用3線串口控制模式,和標(biāo)準(zhǔn)的4線SPI不同,WT588D只接收單片機(jī)發(fā)送來的數(shù)據(jù)、指令和時鐘信號,而不需要發(fā)送數(shù)據(jù)。在這種3線串口模式下,P01為DATA數(shù)據(jù)接口,P02為片選CS,P03為CLK時鐘,分別與單片機(jī)的PC7、PC8、PC6連接。模塊供電電壓為2.8~3.6 V,選用3.3 V。BUSY是忙信號輸出端,當(dāng)輸出低電平時,發(fā)光二極管亮,此時為放音狀態(tài)。WT588D模塊應(yīng)用范圍廣,幾乎可以應(yīng)用到所有的語音場所,如報(bào)站器、報(bào)警器、鬧鐘、智能家電等各種自動控制應(yīng)用。
2.5 控制模塊設(shè)計(jì)
2.5.1 油路控制電路
控制汽油噴射系統(tǒng)電源自動斷電的具體方法,是在汽油噴射系統(tǒng)的電源線上加裝常閉型汽車斷電繼電器來控制汽油噴射系統(tǒng)的供電電源。油路控制電路如圖5所示。R2、R3起到限流的作用。當(dāng)con1為高電平時,Q1導(dǎo)通,繼電器打開,從而實(shí)現(xiàn)了斷電熄火。正常情況下,con1輸出低電平時,Q1截止,繼電器閉合,汽油噴射系統(tǒng)供電電路接通。繼電器線圈由導(dǎo)通變截止時,會感應(yīng)出較大的自感電動勢,容易擊穿三極管8050。因此,在繼電器兩端反向并聯(lián)二極管IN4148,吸收該電動勢,保護(hù)三極管。
2.5.2 后視鏡控制電路
每個后視鏡采用一個步進(jìn)電機(jī)和兩個按鍵控制,步進(jìn)電機(jī)用來轉(zhuǎn)動后視鏡,兩個按鍵分別是角度增加鍵和角度減小鍵。車主根據(jù)自己的習(xí)慣,使用按鍵設(shè)定后視鏡角度。系統(tǒng)設(shè)防時,控制后視鏡折疊;撤防時,控制后視鏡展開。圖6是控制其中一個后視鏡角度的驅(qū)動電路。
芯片L298N有兩路電源,分別為工作電源和驅(qū)動電源。VSS是工作電源,電壓范圍為4.5~36 V,本系統(tǒng)選用5 V工作電壓;VS為驅(qū)動電壓,最大為36 V,要求VS最好大于VSS,設(shè)計(jì)中選用12 V。int1、int2、int3、int4為單片機(jī)控制電機(jī)的輸入端,分別對應(yīng)OUT1、OUT2、OUT3、OUT4四路輸出,輸出接四相五線式步進(jìn)電機(jī)。ISENA、ISENB是使能端,直接接入5 V邏輯電源,也就是說,兩個電機(jī)時刻都保持在使能狀態(tài)。由于我們使用的電機(jī)是線圈式的,從運(yùn)行狀態(tài)突然轉(zhuǎn)換到停止?fàn)顟B(tài)和從順時針狀態(tài)突然轉(zhuǎn)換到逆時針狀態(tài)時,會形成很大的反向電流,在電路中加入二極管的作用,就是在產(chǎn)生反向電流的時候進(jìn)行泄流,保護(hù)芯片的安全。Motorl為步進(jìn)電機(jī)提供插口。
2.6 無線遙控模塊
汽車遠(yuǎn)程防盜系統(tǒng)不需要車主近距離接觸防盜器,使用無線遙控器對系統(tǒng)設(shè)防和撤防。車主在的時候,對防盜系統(tǒng)撤防,以免造成誤判,車主離開以后,可以對車輛設(shè)防。無線遙控模塊選用臺灣普城公司生產(chǎn)的編解碼芯片PT2262/PT2272,工作電壓范圍是2.6~15 V。遙控器收發(fā)模塊如圖7所示。
發(fā)射端PT2262設(shè)置兩個按鍵S1、S2,分別對系統(tǒng)設(shè)防、撤防。按下S1時,PT2262的D0引腳輸入高電平,Dout向PT2272發(fā)射編碼;接收端PT2272對應(yīng)的D0引腳輸出低電平,單片機(jī)檢測到d0端為低電平,系統(tǒng)進(jìn)入設(shè)防狀態(tài),各模塊開始工作。PT2272的數(shù)據(jù)輸出d0、d1和單片機(jī)的PB10、PB11連接。每按下一個鍵,在同一個系統(tǒng)中,Dout會輸出相同的編碼,單片機(jī)根據(jù)檢測到的接收模塊的數(shù)據(jù)輸出引腳低電平,來實(shí)現(xiàn)用戶的設(shè)防撤防需求。
2.7 電源模塊
汽車上供電電壓為+12 V,系統(tǒng)中各模塊需要的電壓有+5 V、+3.3 V和+4 V,因此,需要通過電源轉(zhuǎn)換電路將+12 V電壓轉(zhuǎn)換為+5 V、+3.3 V和+4 V電壓。+12 V轉(zhuǎn)換為5 V選用LM2596開關(guān)電壓調(diào)節(jié)器,該調(diào)節(jié)器有固定電壓輸出和可調(diào)電壓輸出。這里選用+5 V固定電壓輸出,輸出電流高達(dá)3 A,具有過熱保護(hù)和限流保護(hù)功能。在輸出+5 V電壓的基礎(chǔ)上,利用X1117穩(wěn)壓芯片,把+5 V電壓轉(zhuǎn)為+3.3 V。X1117是一款正電壓輸出的低壓降三端線性穩(wěn)壓電路,可輸出固定電壓+1.5 V、+2.8 V、+3.3 V等,也可輸出可調(diào)電壓。X1117的輸入和輸出電壓相差不能太大,以免散熱過多而損壞器件。系統(tǒng)從+5 V電壓經(jīng)二極管IN4007降壓大約0.7 V,得到EM310模塊需要的電壓。電源電路如圖8所示。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)采用C語言編寫程序,將程序?qū)懭雴纹瑱C(jī),可進(jìn)行系統(tǒng)測試。本設(shè)計(jì)在MDK編譯環(huán)境中編寫STM32F103的源程序,經(jīng)過編譯后產(chǎn)生.hex程序代碼,用JTAG下載線將.hex文件下載到目標(biāo)單片機(jī)的Flash中。
系統(tǒng)的總體程序流程圖如圖9所示。主控制器STM32F103初始化后,系統(tǒng)檢測是否處在設(shè)防狀態(tài)。遙控器PT2262/PT2272不需要軟件編碼,只需檢測接收模塊有沒有收到設(shè)防控制。如果系統(tǒng)不是設(shè)防狀態(tài),程序執(zhí)行控制后視鏡和掃描遙控接口這樣一個循環(huán)。如果處在設(shè)防狀態(tài),則控制后視鏡閉合折疊起來,并且系統(tǒng)保持監(jiān)視人體感應(yīng)模塊、振動模塊與控制器接口,以隨時采集警情信息。如果此時車主通過短信查詢各接口狀態(tài),程序調(diào)用GSM通信程序發(fā)送各接口的狀態(tài)。如果有警情發(fā)生,通過檢測單片機(jī)接口,判斷汽車是發(fā)生了振動還是有人非法入侵。然后,根據(jù)不同的情況,調(diào)用人體感應(yīng)報(bào)警子程序或振動報(bào)警子程序,進(jìn)行相應(yīng)的處理,之后,單片機(jī)掃描遙控器接口,決定繼續(xù)設(shè)防,還是撤防。如果撤防,后視鏡展開到車主設(shè)定的角度。
結(jié)語
本文完成了基于STM32F103單片機(jī)的汽車遠(yuǎn)程防盜系統(tǒng)的總體設(shè)計(jì),并在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)的軟硬件。經(jīng)過反復(fù)試驗(yàn),系統(tǒng)基本達(dá)到了預(yù)期的要求。
萬能遙控器相關(guān)文章:萬能遙控器代碼
晶振相關(guān)文章:晶振原理 燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理
評論