張慧穎,陳佰權(quán)
(1.吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022;2.中核檢修有限公司,浙江 臺州 317100)
隨著車輛的日益增多,由于駕車者對道路事故處置經(jīng)驗不足、事故檢測設(shè)施缺乏、救援不及時等原因,目前我國道路交通事故死亡人數(shù)居世界第一,而且交通事故居高不下,全國道路交通安全形勢嚴(yán)峻。全國平均每天發(fā)生大小交通事故577起,每年的交通事故數(shù)量在25萬起左右,更是給國家?guī)砹?0億元左右的損失,無數(shù)的家庭受毀于交通事故[1-2],其中有高于20%的交通事故屬于“二次事故”。因為高速公路是高指標(biāo)線形的全封閉道路,當(dāng)車輛在車道上發(fā)生故障或者發(fā)生一次事故后,沒有及時放置安全警示標(biāo)識,司機通常對側(cè)向以及前方的突發(fā)障礙預(yù)計不足而且沒能及時發(fā)現(xiàn)前方事故,后方車輛由于車速過快導(dǎo)致了剎車不及時與前面車輛相撞發(fā)生了二次事故[3-5]。本文研發(fā)了一套高速路預(yù)防二次事故的裝置。當(dāng)整個系統(tǒng)建立后,事故發(fā)生時,后續(xù)的車輛能夠提前預(yù)知前方道路狀況,及時減速行駛或采取緊急行動,從而避免二次事故的發(fā)生,為高速行駛的車輛提供一定的安全保障。
系統(tǒng)以STM32單片機為核心,分為事故檢測裝置和警示燈報警裝置。事故檢測裝置被固定在車輛內(nèi)部(駕駛員可以接觸到的位置,且不妨礙駕駛),警示燈報警裝置放置在高速路中央的隔離帶上,每隔50 m放置1個。硬件設(shè)計采用模塊化方案,將各個模塊進行有機的整合[6-8],系統(tǒng)設(shè)計框圖如圖1所示。
(a)事故檢測裝置設(shè)計框圖
事故檢測裝置放置在汽車內(nèi),該裝置通過GPS模塊檢測高速路上車輛的速度,當(dāng)汽車車速為0時,該裝置就認定汽車發(fā)生了事故或故障。同時將警報信息轉(zhuǎn)化成相應(yīng)的命令通過433 MHz無線串口通信模塊傳輸?shù)礁浇木緹粞b置和其他車輛內(nèi)的事故檢測裝置,警示燈和其他車輛的事故檢測裝置就會做出反應(yīng)。
當(dāng)警示燈接收到事故檢測裝置發(fā)送來的事故位置信息后,MCU根據(jù)警示燈的位置和事故地點的位置,計算出兩者間的距離。當(dāng)該距離小于安全距離(300 m)時,警示燈就會閃爍,從而提醒后續(xù)車輛減速并慢行,很大程度避免二次事故的發(fā)生。
系統(tǒng)設(shè)計時,事故檢測裝置以STM32F407VET6作為核心,而警示燈報警裝置則由STM32F103C8T6及相應(yīng)的外圍電路構(gòu)成。事故檢測裝置包括:STM32F4最小系統(tǒng)、GPS定位電路、語音報警電路、TFT屏顯電路、433 MHz無線通信電路、FLASH字庫存儲電路、獨立按鍵及電源電路。警示燈報警裝置包括:STM32F1最小系統(tǒng)、GPS定位電路、LED報警燈驅(qū)動電路及太陽能供電電路。
GPS接收機主要由GPS接收機天線單元、GPS接收機主機單元、電源三部分組成。當(dāng)GPS定位成功后,1引腳會不停的發(fā)出1個周期可調(diào)的脈沖波。事故檢測裝置的MCU通過串口3與GPS模塊通訊,進行數(shù)據(jù)讀取,而警示燈報警裝置的MCU則通過串口2與GPS模塊進行通信[9-10]。GPS定位電路如圖2所示。
(a)事故檢測裝置GPS模塊連接
(b)警示燈報警裝置GPS模塊連接
采用433 MHz無線模塊完成設(shè)計,MD0和MD1為模式控制引腳(極弱上拉)。設(shè)計中采用該模塊的一般模式(MD0=0,MD1=0),RXD為該模塊的TTL串口輸入端,應(yīng)連接到外部MCU的 TXD輸出引腳;TXD則為該模塊的TTL 串口輸出端,應(yīng)連接到外部 MCU的RXD 輸入引腳。AUX用于指示該模塊的工作狀態(tài),可用于用戶喚醒外部 MCU[11]。該無線模塊與MCU的連接如圖3所示。
(a) 事故檢測裝置無線串口連接電路(b) 警示燈裝置無線串口連接電路
圖3 無線數(shù)據(jù)通信電路
按鍵由6個普通按鍵(KEY1~KEY6)和一個鈕子開關(guān)(S1)組成。用戶可根據(jù)固定的按鍵來設(shè)置報警狀況。一、二級警報為紅色警報;三級警報為黃色警報。駕駛員注意到紅色警報需要立即將車速減到40 km/h以下。按鍵功能如下:KEY1。一級警報,發(fā)生嚴(yán)重交通事故,道路堵塞;KEY2。二級警報,有故障車輛停于道路中間,道路不通暢;KEY3。二級警報,有團霧出現(xiàn);KEY4。三級警報,提示應(yīng)急車道停有車輛;KEY5。確認鍵,按下相應(yīng)的警報后需要再次按下確認鍵,警報信息才能夠發(fā)送;KEY6。當(dāng)事故消除后,在警報地點附近可以按下此按鍵消除警報;S1。用于選擇事故檢測裝置的普通模式和高速駕駛模式(鈕子開關(guān)的2引腳與MCU的PC13相連,該引腳的模式為上拉輸入)。
當(dāng)警示燈報警裝置接收到警報信號時,且警報地點距離警示燈報警裝置小于300 m,警示燈就會閃爍(紅色警報兩路燈快閃,黃色警報一路燈慢閃)。設(shè)計中,LED采用并聯(lián)連接方式,該電路對電壓要求較小。報警燈電路如圖4所示。
圖4 警示燈裝置燈光報警電路
為方便設(shè)備使用,警示燈報警裝置采用太陽能供電方式。該供電系統(tǒng)由太陽能電池板(12 V/5 W)、5 V穩(wěn)壓模塊(DC-DC)、鋰電池充放電模塊及3.7 V鋰電池組成。當(dāng)太陽能板的輸出電壓在穩(wěn)壓模塊的輸入電壓范圍(5 ~18 V)內(nèi)時,穩(wěn)壓模塊輸出電壓會保持在5 V,電能就會通過鋰電池充放模塊傳遞給鋰電池和警示燈報警裝置,同時鋰電池也會給警示燈報警裝置提供電能[12]。電路圖如圖5所示。
圖5 警示燈太陽能充放電電路
系統(tǒng)采用DC-5 V供電,單片機采用3 V直流電壓供電。設(shè)計中采用AMS1117完成3.3 V電源電路設(shè)計,采用JQ8400-FL語音模塊完成語音播報電路設(shè)計,通訊方式采用串口通信,芯片的RX和TX端口與接單片機串口3的TXD和RXD相接;SPK-和SPK+輸出口與揚聲器的正、負輸入端相接。TFT屏顯方案采用STM32F4的FSMC總線對液晶屏進行操作,通過這種方式可以有效提高顯示效率。液晶屏命令控制采用SPI通信方式,數(shù)據(jù)寬度為16 bit,字庫存儲電路采用W25Q16完成設(shè)計,通過MCU讀取TF內(nèi)的字庫并將這些字庫加載進FLASH芯片中。該字庫是用上位機軟件在電腦上直接生成的文件,電路如圖6所示。
圖6 FLASH存儲電路
為了便于系統(tǒng)間通信,仿照GPS導(dǎo)航設(shè)備統(tǒng)一的RTCM標(biāo)準(zhǔn)協(xié)議建立了一套簡易的通信協(xié)議[13]。具體格式如表1所示。
表1 高速公路警報標(biāo)準(zhǔn)通信協(xié)議表
通信協(xié)議采用ASCII碼定義通信語句。該協(xié)議語句的數(shù)據(jù)格式如下:“$”為語句起始標(biāo)志;“,”為域分隔符;“*”為每一段的結(jié)束標(biāo)志。通信實例如下:
“$HWWRES,1,2,* ”
(1)警報編號(6位數(shù)字);
(2)警報等級(“111”一級警報,嚴(yán)重事故;“101”二級警報,有團霧;“010”二級警報,中間車道停有故障車輛;“001”三級警報,應(yīng)急車道停有車輛);
“$HWWADR,3,4,5,6,*”
(3)緯度數(shù)值(“0°~90°”小數(shù)點后保留4位);
(4)南北緯(“N”北緯;“S”南緯);
(5)經(jīng)度數(shù)值(“0°~180°”小數(shù)點后保留4位);
(6)東西經(jīng)(“E”東經(jīng);“W”西經(jīng))。
“$HWWCLE,7,*”
(7)警報編號(6位數(shù)字),和1相同。
說明:只有事故檢測裝置在警報發(fā)生地點附近,警報解除命令才能發(fā)送成功。
事故檢測裝置上電后,首先對串口、FLSH、LCD進行初始化。其中無線模塊串口通訊的波特率為115 200,所以與之相連的串口1波特率也設(shè)置為115 200;GPS模塊的通訊波特率已經(jīng)通過上位機軟件u-center設(shè)置為38 400,所以與其相連的串口3波特率設(shè)置為38 400;語音播報芯片串口的波特率為9 600,則對應(yīng)的單片機的串口2的波特率設(shè)置為9 600。串口初始化完成后,將無線模塊設(shè)置為一般模式(MD0=0,MD1=0)。主程序流程如圖7所示。
GPS數(shù)據(jù)存儲在GPS_DAT數(shù)組變量中,該數(shù)據(jù)是從USARTx_RX_BUF中復(fù)制的字符串信息。子程序首先解析GPGSV,該信息中包含衛(wèi)星總數(shù)、衛(wèi)星編號、衛(wèi)星仰角、衛(wèi)星方位角以及衛(wèi)星信噪比等信息;接著解析GNGGA代碼段,包含衛(wèi)星定位狀態(tài)、用于定位的衛(wèi)星總數(shù)以及海拔高度等信息[14]。流程如圖8所示。
GNGGA代碼段解析完成后,然后對GNRMC代碼段進行解析,這段代碼最為重要,包括:經(jīng)緯度、RTC日期;最后對GNVTG代碼段進行解析,得到其中的地面速率。地面速率是用來判斷警報發(fā)生的最重要信息。在得到每個數(shù)據(jù)后,程序都將相應(yīng)的字符串?dāng)?shù)據(jù)轉(zhuǎn)化為數(shù)值信息并保存在相應(yīng)的結(jié)構(gòu)體變量中,等待程序調(diào)用。
圖7 整體設(shè)計流程
圖8 GPS數(shù)據(jù)解析子程序流程圖
由于地球是不規(guī)則的橢球體,利用兩點經(jīng)緯度信息計算兩點的距離S(m)是系統(tǒng)難點。為提高計算的精度減小誤差,系統(tǒng)采用成熟計算方法。其中自身經(jīng)度緯度A_La、A_Lo都通過GPS模塊得到,而目標(biāo)的經(jīng)緯度數(shù)據(jù)則通過無線模塊接收。緯度平均1°的長度Lo_E的定義:每隔1°的維度線之間的平均距離,這個數(shù)值約為111 km。相同緯度所在位置1°徑向長度La_E的定義:同一緯度上,每隔1°的經(jīng)線間的弧長。這意味著不同緯度下La_E的大小是不同的[15]。這個數(shù)值通過查表可以得到,最后利用兩點的距離公式得到S(m)。流程如圖9所示。
圖9 距離計算子程序流程圖
首先將指示燈裝置啟動后放置在跑道內(nèi)側(cè),然后將事故檢測裝置打開固定在自行車上。當(dāng)車輛速度保持在15 km/h,開啟高速路模式,待裝置定位成功后,無警報提示。當(dāng)車輛靜止后裝置開始提示是否有緊急情況發(fā)生,按照提示操作后,警示燈開始閃爍報警。表2中的S1指鈕子開關(guān);KEY1~6指1~6號獨立按鍵。在靜態(tài)模擬測試模式下,實驗結(jié)果見表2。
表2 模式切換測試表(事故檢測裝置和警示燈報警裝置處
經(jīng)過多次測試,系統(tǒng)功能能夠正常執(zhí)行,實驗表明,該系統(tǒng)基本能夠達到設(shè)計要求。為了驗證系統(tǒng)的可行性,不僅除了進行室內(nèi)調(diào)試,還進行了室外實驗。但是,由于場地及工具的限制,沒有進行遠距離的數(shù)據(jù)測量及高速路上的實際應(yīng)用情況測試。事故檢測裝置和警示燈報警裝置實物如圖10所示。
(a) 事故檢測(b) 警示燈報警
圖10 裝置實物圖
對經(jīng)緯度距離計算精度多次測試,測量的兩點距離的最大誤差不超過4 m,完全符合設(shè)計要求;完成無線通信測試,系統(tǒng)丟包率小于1%,設(shè)計合理。
基于高速公路交通事故分析調(diào)查,總結(jié)出高速公路二次事故的誘因,提出二次事故的預(yù)防對策。采用STM32F4單片機作為事故檢測裝置的主控制芯片,采用STM32F1單片機作為警示燈報警裝置的主控芯片,結(jié)合GPS定位和無線傳輸技術(shù)完成系統(tǒng)的構(gòu)建。經(jīng)過現(xiàn)場模擬測試,對系統(tǒng)性能進行驗證,系統(tǒng)各項指標(biāo)正常,設(shè)計合理,能夠有效對前方路況進行預(yù)警,減少高速公路二次事故的發(fā)生。由于本系統(tǒng)完全自主設(shè)計,難免有所不足,很多功能在以后工作中加以完善。