張慧穎,陳佰權
(1.吉林化工學院 信息與控制工程學院,吉林 吉林 132022;2.中核檢修有限公司,浙江 臺州 317100)
隨著車輛的日益增多,由于駕車者對道路事故處置經驗不足、事故檢測設施缺乏、救援不及時等原因,目前我國道路交通事故死亡人數居世界第一,而且交通事故居高不下,全國道路交通安全形勢嚴峻。全國平均每天發生大小交通事故577起,每年的交通事故數量在25萬起左右,更是給國家帶來了10億元左右的損失,無數的家庭受毀于交通事故[1-2],其中有高于20%的交通事故屬于“二次事故”。因為高速公路是高指標線形的全封閉道路,當車輛在車道上發生故障或者發生一次事故后,沒有及時放置安全警示標識,司機通常對側向以及前方的突發障礙預計不足而且沒能及時發現前方事故,后方車輛由于車速過快導致了剎車不及時與前面車輛相撞發生了二次事故[3-5]。本文研發了一套高速路預防二次事故的裝置。當整個系統建立后,事故發生時,后續的車輛能夠提前預知前方道路狀況,及時減速行駛或采取緊急行動,從而避免二次事故的發生,為高速行駛的車輛提供一定的安全保障。
系統以STM32單片機為核心,分為事故檢測裝置和警示燈報警裝置。事故檢測裝置被固定在車輛內部(駕駛員可以接觸到的位置,且不妨礙駕駛),警示燈報警裝置放置在高速路中央的隔離帶上,每隔50 m放置1個。硬件設計采用模塊化方案,將各個模塊進行有機的整合[6-8],系統設計框圖如圖1所示。

(a)事故檢測裝置設計框圖
事故檢測裝置放置在汽車內,該裝置通過GPS模塊檢測高速路上車輛的速度,當汽車車速為0時,該裝置就認定汽車發生了事故或故障。同時將警報信息轉化成相應的命令通過433 MHz無線串口通信模塊傳輸到附近的警示燈裝置和其他車輛內的事故檢測裝置,警示燈和其他車輛的事故檢測裝置就會做出反應。
當警示燈接收到事故檢測裝置發送來的事故位置信息后,MCU根據警示燈的位置和事故地點的位置,計算出兩者間的距離。當該距離小于安全距離(300 m)時,警示燈就會閃爍,從而提醒后續車輛減速并慢行,很大程度避免二次事故的發生。
系統設計時,事故檢測裝置以STM32F407VET6作為核心,而警示燈報警裝置則由STM32F103C8T6及相應的外圍電路構成。事故檢測裝置包括:STM32F4最小系統、GPS定位電路、語音報警電路、TFT屏顯電路、433 MHz無線通信電路、FLASH字庫存儲電路、獨立按鍵及電源電路。警示燈報警裝置包括:STM32F1最小系統、GPS定位電路、LED報警燈驅動電路及太陽能供電電路。
GPS接收機主要由GPS接收機天線單元、GPS接收機主機單元、電源三部分組成。當GPS定位成功后,1引腳會不停的發出1個周期可調的脈沖波。事故檢測裝置的MCU通過串口3與GPS模塊通訊,進行數據讀取,而警示燈報警裝置的MCU則通過串口2與GPS模塊進行通信[9-10]。GPS定位電路如圖2所示。

(a)事故檢測裝置GPS模塊連接

(b)警示燈報警裝置GPS模塊連接
采用433 MHz無線模塊完成設計,MD0和MD1為模式控制引腳(極弱上拉)。設計中采用該模塊的一般模式(MD0=0,MD1=0),RXD為該模塊的TTL串口輸入端,應連接到外部MCU的 TXD輸出引腳;TXD則為該模塊的TTL 串口輸出端,應連接到外部 MCU的RXD 輸入引腳。AUX用于指示該模塊的工作狀態,可用于用戶喚醒外部 MCU[11]。該無線模塊與MCU的連接如圖3所示。

(a) 事故檢測裝置無線串口連接電路(b) 警示燈裝置無線串口連接電路
圖3 無線數據通信電路
按鍵由6個普通按鍵(KEY1~KEY6)和一個鈕子開關(S1)組成。用戶可根據固定的按鍵來設置報警狀況。一、二級警報為紅色警報;三級警報為黃色警報。駕駛員注意到紅色警報需要立即將車速減到40 km/h以下。按鍵功能如下:KEY1。一級警報,發生嚴重交通事故,道路堵塞;KEY2。二級警報,有故障車輛停于道路中間,道路不通暢;KEY3。二級警報,有團霧出現;KEY4。三級警報,提示應急車道停有車輛;KEY5。確認鍵,按下相應的警報后需要再次按下確認鍵,警報信息才能夠發送;KEY6。當事故消除后,在警報地點附近可以按下此按鍵消除警報;S1。用于選擇事故檢測裝置的普通模式和高速駕駛模式(鈕子開關的2引腳與MCU的PC13相連,該引腳的模式為上拉輸入)。
當警示燈報警裝置接收到警報信號時,且警報地點距離警示燈報警裝置小于300 m,警示燈就會閃爍(紅色警報兩路燈快閃,黃色警報一路燈慢閃)。設計中,LED采用并聯連接方式,該電路對電壓要求較小。報警燈電路如圖4所示。

圖4 警示燈裝置燈光報警電路
為方便設備使用,警示燈報警裝置采用太陽能供電方式。該供電系統由太陽能電池板(12 V/5 W)、5 V穩壓模塊(DC-DC)、鋰電池充放電模塊及3.7 V鋰電池組成。當太陽能板的輸出電壓在穩壓模塊的輸入電壓范圍(5 ~18 V)內時,穩壓模塊輸出電壓會保持在5 V,電能就會通過鋰電池充放模塊傳遞給鋰電池和警示燈報警裝置,同時鋰電池也會給警示燈報警裝置提供電能[12]。電路圖如圖5所示。

圖5 警示燈太陽能充放電電路
系統采用DC-5 V供電,單片機采用3 V直流電壓供電。設計中采用AMS1117完成3.3 V電源電路設計,采用JQ8400-FL語音模塊完成語音播報電路設計,通訊方式采用串口通信,芯片的RX和TX端口與接單片機串口3的TXD和RXD相接;SPK-和SPK+輸出口與揚聲器的正、負輸入端相接。TFT屏顯方案采用STM32F4的FSMC總線對液晶屏進行操作,通過這種方式可以有效提高顯示效率。液晶屏命令控制采用SPI通信方式,數據寬度為16 bit,字庫存儲電路采用W25Q16完成設計,通過MCU讀取TF內的字庫并將這些字庫加載進FLASH芯片中。該字庫是用上位機軟件在電腦上直接生成的文件,電路如圖6所示。

圖6 FLASH存儲電路
為了便于系統間通信,仿照GPS導航設備統一的RTCM標準協議建立了一套簡易的通信協議[13]。具體格式如表1所示。

表1 高速公路警報標準通信協議表
通信協議采用ASCII碼定義通信語句。該協議語句的數據格式如下:“$”為語句起始標志;“,”為域分隔符;“*”為每一段的結束標志。通信實例如下:
“$HWWRES,1,2,* ”
(1)警報編號(6位數字);
(2)警報等級(“111”一級警報,嚴重事故;“101”二級警報,有團霧;“010”二級警報,中間車道停有故障車輛;“001”三級警報,應急車道停有車輛);
“$HWWADR,3,4,5,6,*”
(3)緯度數值(“0°~90°”小數點后保留4位);
(4)南北緯(“N”北緯;“S”南緯);
(5)經度數值(“0°~180°”小數點后保留4位);
(6)東西經(“E”東經;“W”西經)。
“$HWWCLE,7,*”
(7)警報編號(6位數字),和1相同。
說明:只有事故檢測裝置在警報發生地點附近,警報解除命令才能發送成功。
事故檢測裝置上電后,首先對串口、FLSH、LCD進行初始化。其中無線模塊串口通訊的波特率為115 200,所以與之相連的串口1波特率也設置為115 200;GPS模塊的通訊波特率已經通過上位機軟件u-center設置為38 400,所以與其相連的串口3波特率設置為38 400;語音播報芯片串口的波特率為9 600,則對應的單片機的串口2的波特率設置為9 600。串口初始化完成后,將無線模塊設置為一般模式(MD0=0,MD1=0)。主程序流程如圖7所示。
GPS數據存儲在GPS_DAT數組變量中,該數據是從USARTx_RX_BUF中復制的字符串信息。子程序首先解析GPGSV,該信息中包含衛星總數、衛星編號、衛星仰角、衛星方位角以及衛星信噪比等信息;接著解析GNGGA代碼段,包含衛星定位狀態、用于定位的衛星總數以及海拔高度等信息[14]。流程如圖8所示。
GNGGA代碼段解析完成后,然后對GNRMC代碼段進行解析,這段代碼最為重要,包括:經緯度、RTC日期;最后對GNVTG代碼段進行解析,得到其中的地面速率。地面速率是用來判斷警報發生的最重要信息。在得到每個數據后,程序都將相應的字符串數據轉化為數值信息并保存在相應的結構體變量中,等待程序調用。

圖7 整體設計流程

圖8 GPS數據解析子程序流程圖
由于地球是不規則的橢球體,利用兩點經緯度信息計算兩點的距離S(m)是系統難點。為提高計算的精度減小誤差,系統采用成熟計算方法。其中自身經度緯度A_La、A_Lo都通過GPS模塊得到,而目標的經緯度數據則通過無線模塊接收。緯度平均1°的長度Lo_E的定義:每隔1°的維度線之間的平均距離,這個數值約為111 km。相同緯度所在位置1°徑向長度La_E的定義:同一緯度上,每隔1°的經線間的弧長。這意味著不同緯度下La_E的大小是不同的[15]。這個數值通過查表可以得到,最后利用兩點的距離公式得到S(m)。流程如圖9所示。

圖9 距離計算子程序流程圖
首先將指示燈裝置啟動后放置在跑道內側,然后將事故檢測裝置打開固定在自行車上。當車輛速度保持在15 km/h,開啟高速路模式,待裝置定位成功后,無警報提示。當車輛靜止后裝置開始提示是否有緊急情況發生,按照提示操作后,警示燈開始閃爍報警。表2中的S1指鈕子開關;KEY1~6指1~6號獨立按鍵。在靜態模擬測試模式下,實驗結果見表2。

表2 模式切換測試表(事故檢測裝置和警示燈報警裝置處
經過多次測試,系統功能能夠正常執行,實驗表明,該系統基本能夠達到設計要求。為了驗證系統的可行性,不僅除了進行室內調試,還進行了室外實驗。但是,由于場地及工具的限制,沒有進行遠距離的數據測量及高速路上的實際應用情況測試。事故檢測裝置和警示燈報警裝置實物如圖10所示。

(a) 事故檢測(b) 警示燈報警
圖10 裝置實物圖
對經緯度距離計算精度多次測試,測量的兩點距離的最大誤差不超過4 m,完全符合設計要求;完成無線通信測試,系統丟包率小于1%,設計合理。
基于高速公路交通事故分析調查,總結出高速公路二次事故的誘因,提出二次事故的預防對策。采用STM32F4單片機作為事故檢測裝置的主控制芯片,采用STM32F1單片機作為警示燈報警裝置的主控芯片,結合GPS定位和無線傳輸技術完成系統的構建。經過現場模擬測試,對系統性能進行驗證,系統各項指標正常,設計合理,能夠有效對前方路況進行預警,減少高速公路二次事故的發生。由于本系統完全自主設計,難免有所不足,很多功能在以后工作中加以完善。