袁青松,高琳琳,姚建紅,周 瑋
(常熟理工學(xué)院 汽車工程學(xué)院,江蘇 常熟 215500)
生活水平的不斷提高,使人們出行時(shí)對車輛的依賴程度越來越高,隨之引發(fā)的交通事故也越來越頻繁,尤其是學(xué)校這類短時(shí)間內(nèi)人流量大的場所,一旦發(fā)生事故,就將給國家和人民帶來重大的經(jīng)濟(jì)損失和情感傷害. 為了從根本上遏制車輛超載,保證行車安全,本文設(shè)計(jì)了一種校車超載檢測裝置[1]. 該系統(tǒng)以STM32型單片機(jī)為控制芯片,以超聲波傳感器作為信息采集端,并基于C語言編寫控制程序. 通過對上車以及下車人數(shù)的檢測及綜合判斷,一旦發(fā)現(xiàn)車輛超載,則立即向車輛CPU發(fā)出指令禁止車輛啟動(dòng)[2]. 該系統(tǒng)體積小、成本低、調(diào)節(jié)方式簡單方便,能夠準(zhǔn)確檢測車內(nèi)實(shí)際人數(shù),相對于傳統(tǒng)的車輛超載檢測更加簡潔方便[3],實(shí)用價(jià)值高.
圖1 系統(tǒng)結(jié)構(gòu)圖
系統(tǒng)整體設(shè)計(jì)如圖1所示. 車輛超載檢測裝置以STM32單片機(jī)為控制核心,超聲波傳感器將上下車輛的人數(shù)數(shù)據(jù)采集后傳遞給單片機(jī),經(jīng)過STM32單片機(jī)的運(yùn)算處理后計(jì)算出車內(nèi)實(shí)際人數(shù),并與設(shè)定好的額定人數(shù)相比較,判斷出車輛是否超載[4]. 其中STM32單片機(jī)相當(dāng)于電腦CPU,負(fù)責(zé)接收各傳感器發(fā)來的數(shù)據(jù),并對接收的數(shù)據(jù)進(jìn)行綜合判斷. 然后通過CAN通訊模塊向車輛CPU發(fā)送指令,控制車輛的啟動(dòng),同時(shí)將數(shù)據(jù)顯示在顯示屏上. 本系統(tǒng)設(shè)計(jì)包含3部分:第一部分為信號采集電路,獲取上下車的人數(shù);第二部分為控制系統(tǒng),進(jìn)行數(shù)據(jù)的處理和運(yùn)算,并控制車輛的啟動(dòng);第三部分為顯示模塊,顯示控制模塊的結(jié)構(gòu),方便使用人員查看.
綜合考慮選用芯片的性能、價(jià)格以及適用范圍后,本系統(tǒng)選用了型號為STM32F103ZET6的單片機(jī).這款單片機(jī)的性能良好,其總線寬度有32位,工作頻率最高可達(dá)72 MHz,運(yùn)算速度以及數(shù)據(jù)處理速度都非???,完全能夠滿足校車超載系統(tǒng)對數(shù)據(jù)快速處理的要求. 同時(shí)該款STM32芯片擁有極大的運(yùn)算空間,可以方便多路數(shù)據(jù)同時(shí)采集和處理,也方便后期的調(diào)試. 單片機(jī)上的CAN通道方便與車載CPU連接.
電源模塊關(guān)乎整個(gè)系統(tǒng)能否正常工作. 電路中各模塊對所需電壓都有嚴(yán)格要求,整個(gè)系統(tǒng)的單片機(jī)及其他各模塊所需要的電壓均為3.3 V或5 V,故在電路設(shè)計(jì)中選用LM1117IMP-5.0與LM1117IMP-3.3兩種芯片,以使整個(gè)電路系統(tǒng)中的電壓穩(wěn)定在3.3 V和5 V之下. 其中為了減小電壓降要先將高伏電壓轉(zhuǎn)為5 V,然后再轉(zhuǎn)為3 V. 具體電路如圖2、圖3所示.
OLED顯示屏是超載檢測系統(tǒng)中不可缺少的一個(gè)模塊. 在整個(gè)超載檢測系統(tǒng)調(diào)試中,可以通過OLED上人數(shù)的變化判斷系統(tǒng)是否工作,同時(shí)也可以在調(diào)試檢測系統(tǒng)時(shí)提示超聲波傳感器的工作狀態(tài). 除此之外,可將上車人數(shù)顯示在OLED上,以便使用人員在使用時(shí)直接通過OLED屏清點(diǎn)車內(nèi)人數(shù),減少了使用人員的工作量,其設(shè)計(jì)電路如圖4所示.
信息采集模塊在本系統(tǒng)中起到眼睛的作用,不論是單片機(jī)還是其他模塊的工作都基于信息采集模塊采集的數(shù)據(jù). 所以該模塊傳感器的選擇十分重要. 在比較了紅外傳感器和超聲波傳感器的優(yōu)劣后,本系統(tǒng)選用兩個(gè)超聲波傳感器作為信息采集模塊,其中一個(gè)用于采集上車人數(shù),另一個(gè)則用于采集下車人數(shù),兩個(gè)傳感器同時(shí)工作為單片機(jī)提供實(shí)時(shí)數(shù)據(jù). 其電路如圖5所示.
本系統(tǒng)需要將單片機(jī)的處理結(jié)果發(fā)送給汽車CPU以達(dá)到控制車輛啟動(dòng)的目的,故設(shè)置CAN通訊模塊. CAN通訊模塊由STM32單片機(jī)的CAN通道端口和CAN總線收發(fā)器兩部分組成. 在CAN通訊模塊中,STM32單片機(jī)主要負(fù)責(zé)CAN通訊協(xié)議的配置以及對報(bào)文數(shù)據(jù)的打包、拆分、校驗(yàn),并且與車輛主控單元ECU建立連接. 其中CAN收發(fā)器選用TJA1050型號的芯片,用來實(shí)現(xiàn)CAN控制器和CAN總線的硬件連接. 之所以選用TJA1050,是因?yàn)槠渌查g抗干擾能力強(qiáng),還可以降低射頻干擾便于數(shù)據(jù)傳輸,同時(shí)該芯片數(shù)據(jù)傳輸速率可以達(dá)到1 MBaud,完全滿足本系統(tǒng)需求. CAN通訊模塊的電路圖如圖6所示.
繼電器在本系統(tǒng)中起到執(zhí)行器的作用,方便整個(gè)系統(tǒng)的演示. 在系統(tǒng)里繼電器將續(xù)接一個(gè)小燈,當(dāng)車輛內(nèi)人數(shù)超載時(shí)單片機(jī)控制繼電器工作,小燈點(diǎn)亮. 反之,車內(nèi)未超載時(shí)小燈則不亮,其電路如圖7所示.
獨(dú)立鍵盤在本系統(tǒng)中起到復(fù)位、清除的作用,可用鍵盤控制清除單片機(jī)中的無用數(shù)據(jù),減輕單片機(jī)的工作負(fù)擔(dān). 同時(shí),當(dāng)系統(tǒng)出現(xiàn)故障后,也可以通過復(fù)位鍵還原系統(tǒng). 其電路如圖8所示.
圖2 5 V穩(wěn)壓電路
圖3 3.3 V穩(wěn)壓電路
圖4 OLED顯示電路
圖5 信息采集模塊電路
圖6 CAN通訊模塊電路
控制模塊主要由人數(shù)采集電路、單片機(jī)最小系統(tǒng)機(jī)組成. 單片機(jī)選用最小系統(tǒng)板,直接與PCB板接觸便可使用. 人數(shù)采集的工作則由超聲波傳感器完成,所選用超聲波傳感器可將采集到的人數(shù)信息傳遞給單片機(jī),然后經(jīng)單片機(jī)對數(shù)據(jù)進(jìn)行處理,最終確定車輛內(nèi)實(shí)際人數(shù),執(zhí)行相關(guān)決策.
圖7 繼電器控制電路電氣結(jié)構(gòu)圖
車輛超載檢測裝置控制程序由數(shù)據(jù)采集和處理執(zhí)行兩部分組成. 數(shù)據(jù)采集包括:上車人數(shù)和下車人數(shù)的采集. 處理執(zhí)行包括:數(shù)據(jù)的處理與比較、通訊數(shù)據(jù)傳輸、繼電器控制. 具體執(zhí)行流程為:數(shù)據(jù)采集模塊用于獲取相關(guān)數(shù)據(jù),單片機(jī)接收數(shù)據(jù)后對數(shù)據(jù)進(jìn)行處理計(jì)算出實(shí)際人數(shù),與設(shè)定值進(jìn)行比較判斷車載狀態(tài),單片機(jī)根據(jù)車載狀態(tài)向車輛CPU發(fā)送指令,控制車輛啟動(dòng),如圖9所示.
圖9 主控程序流程圖
為檢驗(yàn)設(shè)計(jì)效果,本系統(tǒng)專門用實(shí)驗(yàn)板焊接了整個(gè)系統(tǒng)電路,如圖10所示. 同時(shí)以Keil5編程軟件編寫程序,然后將預(yù)編譯成功程序燒錄至單片機(jī)中. 在進(jìn)行系統(tǒng)[5]檢測時(shí),可以直接通過OLED顯示屏顯示檢測結(jié)果.測試結(jié)果如下:當(dāng)車輛載客人數(shù)正常未超載時(shí),OLED顯示如圖11界面所示;當(dāng)車輛超載時(shí),則車輛將無法啟動(dòng),OLED顯示如圖12界面所示.
圖8 獨(dú)立按鍵電路
基于STM32設(shè)計(jì)的車輛超載檢測裝置能夠?qū)崿F(xiàn)車內(nèi)人數(shù)實(shí)時(shí)檢測,可改變傳統(tǒng)檢查車輛超載的方式. 通過車輛超載檢測裝置檢測更方便,效果更明顯,可減少人為因素導(dǎo)致的超載現(xiàn)象,大大提高了車輛在載客方面的規(guī)范性,提高行車安全.
圖10 系統(tǒng)實(shí)驗(yàn)板
圖11 車輛正常
圖12 車輛超載