張 迎,劉樹臣,任寧寧
(山東商業(yè)職業(yè)技術(shù)學(xué)院,山東 濟(jì)南 250103)
據(jù)公安部交管局統(tǒng)計,截至2020年6月底,全國汽車保有量達(dá)2.7億輛。汽車給人們的生活帶來了越來越多的便利,同時人們也需要對汽車的行車狀態(tài)實時關(guān)注和定期維護(hù),否則,汽車可能會出現(xiàn)不可預(yù)知的異常,給車主帶來損失和不便。
為了保障車輛的正常行駛,不同品牌的汽車均設(shè)計了警告電路,當(dāng)某系統(tǒng)出現(xiàn)異常時,會以警告燈的形式顯示在儀表板上,便于及時發(fā)現(xiàn)維修。然而對于停放后的車輛的狀態(tài)卻不能很好地監(jiān)控反饋。以某合資品牌某地區(qū)的汽車故障維修類型進(jìn)行統(tǒng)計分析,各類故障的統(tǒng)計比例如圖1所示。
圖1 某合資品牌維修統(tǒng)計比例
從圖1中可以看到,停放汽車的故障主要有汽車電瓶電量低造成無法啟動、停放的車輛被外物碰撞或刮蹭、線路老化車輛自燃及部分輪胎故障等,約占維修統(tǒng)計數(shù)的一半以上,因此,停放車輛的安全實時監(jiān)控非常有必要。當(dāng)前,停放車輛的監(jiān)控形式主要以汽車行駛記錄儀為主,而記錄儀也只能拍攝車輛振動時的正面圖像,一段時間后該圖像還會被自動覆蓋,全面性、時效性非常受限。
針對市場現(xiàn)狀及需求,本文設(shè)計了一種停放車輛的安全實時監(jiān)控系統(tǒng),有效地實現(xiàn)對蓄電池電瓶電壓、車輛碰撞、是否自燃進(jìn)行實時監(jiān)控并及時通知車主,避免出現(xiàn)車輛虧電無法啟動、碰撞后逃逸等情況,實時預(yù)防減少不必要的麻煩和損失。
本系統(tǒng)實現(xiàn)對汽車停放狀態(tài)下有可能出現(xiàn)的汽車蓄電池異常、汽車刮蹭碰撞、自燃等情況,進(jìn)行實時監(jiān)控預(yù)警,監(jiān)控的數(shù)據(jù)信息由中央處理器MCU進(jìn)行分析處理,并通過通訊模塊發(fā)送給車主進(jìn)行預(yù)警,如圖2所示。
圖2 總體設(shè)計框圖
實現(xiàn)車輛狀態(tài)和車主間的通訊有兩種不同的方式,4G網(wǎng)絡(luò)下的無線數(shù)據(jù)傳輸及短信息方式。4G無限網(wǎng)絡(luò)具有傳輸速率快、大數(shù)據(jù)量傳輸?shù)忍攸c,但需架設(shè)單獨服務(wù)器,投入成本高、實現(xiàn)復(fù)雜,不適合本系統(tǒng)。短信息通訊方式傳輸數(shù)據(jù)小、成本低廉、實現(xiàn)方便、部署簡單;本系統(tǒng)正常監(jiān)控時,也只是在監(jiān)控數(shù)據(jù)異常時才進(jìn)行短信息通訊,傳輸頻次很低、信息內(nèi)容較小,較符合本系統(tǒng)所需的通訊方式。通訊方式如圖3所示。
圖3 短信息通訊路徑
相對于傳統(tǒng)單片機(jī),ARM處理器價格同樣不高,但它主頻更高、外設(shè)和資源更豐富,以STM32為例,Cortex-M3內(nèi)核,最高工作頻率72MHz,同樣具備開發(fā)簡單、快速開發(fā)的優(yōu)點,結(jié)合系統(tǒng)功能、兼顧成本功耗,本系統(tǒng)采用STM32系列作為系統(tǒng)MCU。
根據(jù)系統(tǒng)設(shè)計的功能,硬件部分包括中央處理器MCU、停放車輛安全監(jiān)控模塊、短消息通訊模塊及電源電路[1]。
STM32系列單片機(jī)是由意法半導(dǎo)體公司開發(fā)的內(nèi)核為Cortex-M3的應(yīng)用型MCU[2],由于其擁有強(qiáng)可操作性和高性能的特點,在MCU市場上極受歡迎。STM32包含增強(qiáng)型、基本型、互聯(lián)型三個系列,STM32F103RB屬于增強(qiáng)型MCU,功耗低,僅有35mA,最高工作頻率72MHz,另外STM32F103RB資源豐富,擁有256KB的FLASH,3個SPI接口、5個串口、3個12位ADC、48個通用IO接口等。
由于系統(tǒng)需要控制多個模塊,需要的接口較多,為了穩(wěn)定有效地控制外圍電路,采用STM32F103RB作為系統(tǒng)MCU[3]。
正常情況下,車輛處于靜止?fàn)顟B(tài),而當(dāng)車輛被碰撞時,車輛會發(fā)生振動,故采用振動傳感器模塊實現(xiàn)碰撞的實時監(jiān)測[4]。
本系統(tǒng)采用震動傳感器模塊SW-18010P,如圖4所示,SW-18010P的內(nèi)部是一個電阻應(yīng)變片,當(dāng)振動達(dá)到一定程度后,電阻應(yīng)變片阻值改變,從而改變輸出電壓,超過域值后實現(xiàn)報警,SW-18010P通過GPIO與MCU進(jìn)行連接,采用中斷方式進(jìn)行工作。
圖4 震動傳感器模塊SW-18010P
溫度傳感器模塊用于監(jiān)測判斷車輛是否發(fā)生了自燃,正常情況下車內(nèi)最高溫度在夏天可以達(dá)到60-70攝氏度,系統(tǒng)將溫度預(yù)警值設(shè)置為80攝氏度,如果高于此溫度,可判定車輛高溫異常,可能發(fā)生了自燃。溫度傳感器模塊采用DS18B20測溫模塊,如圖5所示,DS18B20測溫模塊是美國DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器,測溫范圍-50度~+200度,內(nèi)配存儲器,掉電后數(shù)據(jù)不會消失。DS18B20與MCU通過通用的I/O接口連接,由MCU的ADC端口進(jìn)行數(shù)據(jù)采集和監(jiān)測。
圖5 DS18B20測溫模塊
汽車停放后,仍會有部分用電器在工作耗電,正常情況下耗電不大,但隨著車輛一些功能部件的老化,電阻變大,耗電增多,俗稱“漏電”。漏電不僅會降低蓄電池的正常使用壽命,還可能會使車輛無法啟動,特別是冬天這種現(xiàn)象更加明顯。
為解決上述問題,系統(tǒng)設(shè)置蓄電池監(jiān)測單元對蓄電池的電壓進(jìn)行實時監(jiān)測,汽車蓄電池正常使用時的電壓大約為11.5V-13.5V,當(dāng)?shù)陀?1.5V時,屬于欠壓狀態(tài),需要及時充電,當(dāng)?shù)陀?0.6V時,會損壞蓄電池且影響車輛正常啟動,當(dāng)?shù)陀谠撾妷簳r進(jìn)行電壓預(yù)警。
蓄電池電壓被蓄電池監(jiān)測單元中設(shè)置的電阻分壓后,連接到MCU的ADC端口,由MCU對電瓶電壓進(jìn)行監(jiān)測[5]。
GSM通訊模塊通過UART與MCU相連。MCU控制GSM模塊將汽車碰撞、電壓預(yù)警、溫度預(yù)警信息以短消息的方式發(fā)送到車主手機(jī),及時提醒車主??紤]到價格、體積、性能等因素,模塊采用SIMCOM公司的SIM900模塊如圖6所示。SIM900模塊采用標(biāo)準(zhǔn)AT指令控制工作方式,實現(xiàn)發(fā)送短信和語音通話。
圖6 SIM900模塊
為了降低功耗,系統(tǒng)設(shè)定了停用模式和定時RTC喚醒工作方式,喚醒觸發(fā)后,進(jìn)行一次系統(tǒng)監(jiān)測[6]。同時,報警功能也進(jìn)行了重復(fù)報警的設(shè)置,如短信發(fā)出后,車主未作處理,將重復(fù)短信報警,時間間隔為1小時。如圖7所示。
圖7 主程序流程圖
系統(tǒng)在RTC喚醒或中斷喚醒后進(jìn)入蓄電池電壓監(jiān)測程序,系統(tǒng)通過ADC計數(shù)多次采樣取平均測量值[7],判斷蓄電池電壓是否正常。如圖8所示。
圖8 蓄電池電壓監(jiān)測程序流程圖
系統(tǒng)在RTC喚醒或中斷喚醒后進(jìn)入車內(nèi)溫度監(jiān)測程序,系統(tǒng)通過ADC計數(shù)多次采樣取平均測量值,判斷車內(nèi)溫度是否正常。如圖9所示。
圖9 車內(nèi)溫度監(jiān)測程序流程圖
碰撞監(jiān)測程序和主程序同時完成初始化,程序在中斷進(jìn)入時開始執(zhí)行,當(dāng)車輛停放后,一旦發(fā)生碰撞刮蹭,震動模塊將觸發(fā)中斷。如圖10所示。
圖10 碰撞監(jiān)測程序流程圖
STM32F103通過AT指令控制SIM900模塊讀取車主手機(jī)號碼和發(fā)送短信,為了降低系統(tǒng)功耗,當(dāng)短信發(fā)送完成后,應(yīng)及時將SIM900設(shè)置進(jìn)入睡眠模式。如圖11所示。
圖11 通訊子程序設(shè)計流程圖
為了有效地對停放車輛進(jìn)行安全監(jiān)控,本文提出了一種停放車輛的安全預(yù)警系統(tǒng),填補(bǔ)了市場空白;同時兼顧市場、成本等因素,對本系統(tǒng)的硬件和軟件進(jìn)行了設(shè)計開發(fā),為后續(xù)進(jìn)一步的開發(fā)應(yīng)用提供了方向依據(jù)。