張益原,楊少星,郭龍輝,孫慧心,付留原
(黃河科技學(xué)院,河南鄭州,450063)
隨著物流行業(yè)的快速發(fā)展,貨車(chē)在運(yùn)輸業(yè)起著至關(guān)重要的作用,由于貨車(chē)運(yùn)輸過(guò)程中油箱外置,導(dǎo)致一些不法分子在貨車(chē)車(chē)主??啃菹r(shí),惡意破壞油箱盜取汽油。尤其是長(zhǎng)途貨車(chē)被盜的情況更為嚴(yán)重,大量貨車(chē)司機(jī)晚上為了防止汽油被盜,睡在油箱旁邊成為普遍現(xiàn)象。在這個(gè)網(wǎng)絡(luò)信息發(fā)達(dá)的時(shí)代,我們結(jié)合需求設(shè)計(jì)了一款具有低成本、可靠性高的智能油箱防盜系統(tǒng),為貨車(chē)車(chē)主解決此問(wèn)題。
本系統(tǒng)的硬件電路設(shè)計(jì)主要由STM32 主控系統(tǒng)、加速度檢測(cè)電路、震動(dòng)檢測(cè)電路、報(bào)警電路、WiFi 電路等組成,原理框圖如圖1 所示。其工作原理是通過(guò)加速度傳感器檢測(cè)貨車(chē)是否停止,當(dāng)檢測(cè)到貨車(chē)停車(chē)后立即通電,再經(jīng)震動(dòng)傳感器檢測(cè)油箱外殼是否有持續(xù)震動(dòng)或劇烈震動(dòng),當(dāng)檢測(cè)到油箱遭有持續(xù)震動(dòng)或劇烈震動(dòng)時(shí),蜂鳴器和手機(jī)APP 同時(shí)報(bào)警,告知車(chē)主??赏ㄟ^(guò)手機(jī)APP 實(shí)時(shí)查看監(jiān)控畫(huà)面,也可通過(guò)云端查看回放,為警方提供證據(jù)。
圖1 系統(tǒng)硬件框圖
圖2 為STM32F103C8T6 單片機(jī)的最小系統(tǒng)。與51 系列單片機(jī)相比,STM32F103C8T6 中單獨(dú)設(shè)計(jì)的結(jié)構(gòu)內(nèi)核和強(qiáng)大的外圍設(shè)備使其具備了低損耗、低功率、效率高的特點(diǎn),其結(jié)構(gòu):基本輸入輸出口、定時(shí)器、串行通信口、外部中斷口、備份數(shù)據(jù)、看門(mén)狗(獨(dú)立窗口)、傳輸數(shù)據(jù)、單芯片內(nèi)閃存編程、將讀取數(shù)據(jù)寫(xiě)入外部SRAM、外部單芯片控制等[1],結(jié)構(gòu)簡(jiǎn)單、使用工具方便、功能強(qiáng)大。其核心:ARM32 位Cortex-M3CPU,最大運(yùn)算頻段為72MHz 或1.25DMIPS/MHz,并具有片內(nèi)集成的32-512KB 閃存和6-64KB SRAM內(nèi)存,擁有超強(qiáng)的儲(chǔ)存功能,在休眠、停機(jī)和待機(jī)模式下,通過(guò)VBAT 為RTC 和備份的輔助寄存器提供電源[2]。在STM32MPU 中的主要供電方式包括:VDD 引腳為主要的電源引腳,可為所有芯片的數(shù)字電路進(jìn)行供電,供應(yīng)電壓為2.0~3.6V。自動(dòng)化變頻器、復(fù)位系統(tǒng)、RC 振蕩器和鎖相環(huán)等的模擬單元,則由VSSA 和VDDA 供應(yīng)2.0~3.6V 電壓,要注意VDDA 和VSS 在選擇ADC 時(shí)需要依次連接到VDD和VSS,且VDD 不得低于2.4V。當(dāng)VDD 關(guān)閉時(shí),就需要將電源(通過(guò)內(nèi)部電源開(kāi)關(guān))通向RTC、外部的32MHz 振蕩器電路和備份輔助寄存器。綜上所述,STM32 具有運(yùn)行速度快、功耗低等特性,因此選擇STM32 系列單片機(jī)作為主控處理器,控制核心電路。
圖2 STM32 單片機(jī)最小系統(tǒng)
圖3 為加速度檢測(cè)電路,在整個(gè)系統(tǒng)中,加速度電路是系統(tǒng)運(yùn)行關(guān)鍵的第一步,只有測(cè)的貨車(chē)整體加速度為零時(shí),系統(tǒng)的第一道開(kāi)關(guān)才被打開(kāi),致使震動(dòng)電路通電,ADXL345開(kāi)始工作。本設(shè)計(jì)采用ADXL345 加速度電路,該電路為多晶硅表面微加工結(jié)構(gòu),置于晶圓頂部,目的是在加速度時(shí)提供阻力。由于加速度使慣性質(zhì)量偏轉(zhuǎn)和差分電容不均勻化,且傳感器輸出的振幅和加速度成正比,因此利用相敏解調(diào)確定加速度的振幅和極性,得到貨車(chē)的加速度[3]。它不但能夠檢測(cè)靜態(tài)加速度,還能夠檢測(cè)汽車(chē)運(yùn)動(dòng)和撞擊所產(chǎn)生的動(dòng)態(tài)加速度,動(dòng)靜結(jié)合,使得ADXL345 加速度模組可更為精確的檢測(cè)貨車(chē)行與停時(shí)的加速度。
圖3 加速度檢測(cè)電路
圖4 為震動(dòng)檢測(cè)電路,本設(shè)計(jì)中選用的SW-18015P 震動(dòng)感應(yīng)器,是油箱防盜系統(tǒng)中最關(guān)鍵的模塊,SW-18015P是密封彈簧式、無(wú)方向性的振動(dòng)傳感器接觸開(kāi)關(guān),無(wú)論在任意方位、任一角度,都可以觸動(dòng)此開(kāi)關(guān)。無(wú)論犯罪分子在任何方位、任何形式去盜取汽油,只要震動(dòng)就會(huì)觸發(fā)開(kāi)關(guān),發(fā)出警報(bào)。利用程序編程對(duì)開(kāi)關(guān)設(shè)定,當(dāng)開(kāi)關(guān)在靜態(tài)、無(wú)觸碰的狀況時(shí),SW-18015P 即為開(kāi)路或OFF 狀態(tài),當(dāng)受外力作用觸碰超過(guò)設(shè)定的電流閾值時(shí),導(dǎo)電引腳便會(huì)瞬間導(dǎo)通,使SW-18015P 開(kāi)關(guān)呈瞬間ON 狀態(tài)。該模組電源引腳的連接方式如下:VCC 為外接3.3V 或5V 供電(可以直接與單片機(jī)的3.3V 或者5V 相連),GND 外接電源負(fù)極,DO 為小板的數(shù)字量輸出端口(0 或1)。通過(guò)SW-18015P 震動(dòng)傳感器精確安全地檢測(cè)油箱的震動(dòng)情況,以此作為判斷油箱安全重要的依據(jù)。如若油箱受到震動(dòng)的頻率超過(guò)閾值,報(bào)警裝置將立即啟動(dòng),同時(shí)會(huì)通過(guò)無(wú)線模組將油箱情況發(fā)送至手機(jī)APP,發(fā)出警報(bào)提示車(chē)主。
圖4 震動(dòng)檢測(cè)電路
圖5 中為鳴聲器報(bào)警電路,該電路由一個(gè)2k 電阻、一個(gè)NPN三極管和一只鳴聲器所構(gòu)成,結(jié)構(gòu)簡(jiǎn)單,為此系統(tǒng)提供警示的功能。該模塊通過(guò)晶體三極管來(lái)控制電壓的通斷,實(shí)現(xiàn)開(kāi)關(guān)的作用。將三極管的基極與1k 電阻相連接,從而限制基極的電流;將晶體三極管的集電極連接到蜂鳴器的一端,再將蜂鳴器的另一端連接到VCC,使三極管的發(fā)射極直接接地[4]。當(dāng)I/O 端口為低電量時(shí),電流從晶體三極管集電極到發(fā)射極上流過(guò),此時(shí)晶體三極管保持著工作狀態(tài),電路為通路,蜂鳴器能夠正常工作,并產(chǎn)生警報(bào)。當(dāng)I/O 端口為高電量,由于電壓不能通過(guò)晶體的集電極流入發(fā)射極,因此晶體三極管不能保持工作狀態(tài),電路處在斷開(kāi)狀態(tài),蜂鳴器不能正常工作,也無(wú)法發(fā)出報(bào)警。
圖5 蜂鳴器報(bào)警電路
圖6 為WiFi 電路,作為硬件電路與手機(jī)APP 建立聯(lián)系的主要樞紐,本設(shè)計(jì)中采用了ESP8266-01S 串口WiFi 模塊,該電路是一個(gè)低功率的UART-WiFi 透?jìng)髂=M,能夠直接將使用者的物理設(shè)備連接在WiFi 和無(wú)線網(wǎng)絡(luò)上,以便完成與網(wǎng)絡(luò)及局域網(wǎng)之間的通訊,從而實(shí)現(xiàn)網(wǎng)絡(luò)功能[5],其中最重要的一步就是TCP/IP 傳輸層協(xié)議的接入,使通訊各方都要實(shí)施TCP/IP 協(xié)定,實(shí)施后,僅需要其中任何一方的目標(biāo)IP位置和端口號(hào)就可以相互連接,而連接一經(jīng)成立即可實(shí)現(xiàn)雙方同時(shí)收發(fā)信號(hào)進(jìn)行通信。
圖6 WiFi 模塊
圖7 為攝像模塊部分電路圖,攝像模塊在系統(tǒng)中起著記錄油箱安全情況的作用,攝像模塊硬件由鏡頭、圖像傳感器、數(shù)字信號(hào)處理芯片、圖像解析度/分辨率、SENSOR[6],經(jīng)過(guò)一系列轉(zhuǎn)換,生成攝像畫(huà)面,并通過(guò)WiFi 將實(shí)時(shí)畫(huà)面?zhèn)鬏斨潦謾C(jī)。結(jié)合本項(xiàng)目,當(dāng)油箱受到安全威脅發(fā)出警報(bào)時(shí),可以通過(guò)手機(jī)APP 實(shí)時(shí)查看油箱的安全情況。
圖7 攝像模塊
首先用APP 建立一個(gè)TCP 服務(wù)器,在協(xié)議類型處選擇TCP Server 協(xié)議,本機(jī)IP 地址一般會(huì)默認(rèn)自動(dòng)填入本機(jī)IP,也可以自己修改IP,并將端口號(hào)設(shè)置成小于65536 的一個(gè)沒(méi)有使用的端口號(hào),再通過(guò)ESP8266-01S 建立關(guān)傳輸系,打開(kāi)手機(jī)WiFi,點(diǎn)擊連接。通過(guò)程序的編譯指定特定數(shù)字表示命令語(yǔ)句,然后在APP 的輸入框中輸入特定的數(shù)字,點(diǎn)擊發(fā)送,硬件便可收到來(lái)自APP 的指令信息并執(zhí)行,同時(shí)手機(jī)APP 接收并顯示反饋信息。
硬件所測(cè)數(shù)據(jù)通過(guò)ESP8266-01S 將數(shù)據(jù)傳輸至手機(jī)APP,如圖8 所示。首先要對(duì)無(wú)線傳輸模塊中AP 模式下的服務(wù)進(jìn)行配置,然后手機(jī)作為T(mén)CP 客戶端與無(wú)線傳輸模塊進(jìn)行連接,當(dāng)震動(dòng)傳感器工作時(shí),電路整體處于工作狀態(tài),通過(guò)單片機(jī)設(shè)定的程序控制無(wú)線傳輸模組將警報(bào)數(shù)據(jù)至手機(jī)APP,提醒貨車(chē)車(chē)主,查看油箱的安全狀況。
圖8 手機(jī)APP
本設(shè)計(jì)通過(guò)ADXL345 傳感器檢測(cè)模組檢測(cè)車(chē)輛是否停止,再通過(guò)SW-18015P 震動(dòng)傳感器檢測(cè)油箱是否震動(dòng),如果車(chē)輛停止時(shí)且油箱震動(dòng),在設(shè)定時(shí)間內(nèi)沒(méi)有手動(dòng)取消報(bào)警功能,那么系統(tǒng)將會(huì)認(rèn)為油箱被盜,將會(huì)嚴(yán)格按照程序的要求執(zhí)行接下來(lái)的指令,蜂鳴器發(fā)生警報(bào),同時(shí)通過(guò)ESP8266-01S 模組將被盜信息傳輸至車(chē)主手機(jī),以此來(lái)實(shí)現(xiàn)報(bào)警功能。其中主程序流程圖如圖9 所示。
圖9 主程序 流程圖
圖10 為ADXL345 傳感器檢測(cè)模組軟件設(shè)計(jì),初始化并配置加速度傳感器模組,由三軸加速度計(jì)采樣,讀取加速度數(shù)據(jù)并處理,判斷加速度是否為零,若加速度不為零,繼續(xù)循環(huán),若加速度為零,數(shù)據(jù)輸出。
圖10 加速度傳感器流程圖
圖11 為SW-18015P 震動(dòng)傳感器檢測(cè)模組軟件設(shè)計(jì),初始化并配置震動(dòng)傳感器模組,由SW-18015P 開(kāi)關(guān)采樣,讀取采樣數(shù)據(jù),判斷是否超過(guò)設(shè)定閾值,若不超過(guò)閾值,繼續(xù)循環(huán),若超過(guò)閾值,數(shù)據(jù)輸出。
圖11 震動(dòng)傳感器流程圖
系統(tǒng)測(cè)試最關(guān)鍵的步驟是對(duì)軟硬件結(jié)合的整體測(cè)試,經(jīng)過(guò)測(cè)試,查漏補(bǔ)缺,以便修改或改進(jìn)方案,在測(cè)試的過(guò)程中一定要保持軟硬件正常工作,逐一測(cè)試硬件各個(gè)接口的電位,均無(wú)問(wèn)題之后,開(kāi)始調(diào)試程序和APP 是否成功連接。確保整個(gè)控制系統(tǒng)的總體功能良好后,再對(duì)整個(gè)系統(tǒng)進(jìn)行綜合調(diào)試[7]。對(duì)系統(tǒng)整體能力進(jìn)行測(cè)試時(shí),主要對(duì)以下四個(gè)方面進(jìn)行檢測(cè):當(dāng)油箱受到持續(xù)震動(dòng)和劇烈震動(dòng)時(shí),蜂鳴器是否會(huì)發(fā)出警報(bào);手機(jī)APP 是否會(huì)接收到被盜信息;手機(jī)APP 是否可以實(shí)時(shí)查看油箱畫(huà)面;手機(jī)APP 能否控制整個(gè)系統(tǒng)如表1 所示。
表1 監(jiān)測(cè)數(shù)據(jù)
針對(duì)貨車(chē)運(yùn)輸過(guò)程中油箱外置,導(dǎo)致一些不法分子在貨車(chē)車(chē)主??啃菹r(shí),惡意破壞油箱盜取汽油問(wèn)題,將該系統(tǒng)設(shè)計(jì)在油箱蓋內(nèi),以實(shí)現(xiàn)保護(hù)油箱安全的設(shè)計(jì)目的。油箱外殼有持續(xù)震動(dòng)和強(qiáng)烈震動(dòng)時(shí),報(bào)警裝置和手機(jī)同時(shí)報(bào)警,通知車(chē)主,同時(shí)攝像頭記錄偷油者的犯罪過(guò)程。本系統(tǒng)解決了貨車(chē)停止時(shí),系統(tǒng)自動(dòng)啟動(dòng)問(wèn)題、攝像頭畫(huà)面的儲(chǔ)存問(wèn)題、油箱發(fā)生震動(dòng)自動(dòng)報(bào)警問(wèn)題、手機(jī)APP 如何接收?qǐng)?bào)警信息和實(shí)時(shí)查看監(jiān)控畫(huà)面問(wèn)題。本系統(tǒng)造價(jià)低且系統(tǒng)穩(wěn)定,預(yù)計(jì)能在油箱行業(yè)中得到廣泛地運(yùn)用。