何英昊,鄭鵬輝,李 廣,岳煒茗
(1.大連理工大學城市學院,遼寧 大連 116600;2.沈陽工業(yè)大學,遼寧 沈陽 110000;3.西安大醫(yī)集團,陜西 西安 710018)
交通燈是城市交通運行必不可少的設備,該設備通過紅、黃、綠三種顏色的燈光傳遞信息,進而控制路口的交通,使車輛安全快速通過路口[1-3]。隨著經(jīng)濟的飛速發(fā)展,道路交通問題日趨嚴重,現(xiàn)有的交通設施不能完全解決車流量壓力大的現(xiàn)實交通問題,主要表現(xiàn)為交通燈程式化,不能有效緩解擁堵;遇到緊急車輛通過時通過效率低,不能有效避免行人誤闖紅燈等[4-6]。單片機技術和傳感器技術的發(fā)展為新的十字路口智能導流控制系統(tǒng)提供了可靠設計方案,能夠優(yōu)化傳統(tǒng)式交通燈的設計弊端,讓交通燈的使用更加靈活[7-10]。本文提出一種基于STM32的十字路口智能化導流控制系統(tǒng)設計方案。該方案中的十字路口智能導流控制系統(tǒng)設置有多種模式,包括夜間模式、南北禁行模式、東西禁行模式、緊急模式,可以根據(jù)具體路況進行設置,并且能夠及時提醒行人紅綠燈變換,減少大意闖紅燈情況的發(fā)生。同時,還可以利用紅外檢測技術檢測車流量,根據(jù)車流量自動調(diào)整通行時間。當然,該方案也可手動調(diào)節(jié)各車道紅、黃、綠三種燈光的時間。
十字路口智能導流控制系統(tǒng)共包括七個模塊,分別是:主控模塊、車流量檢測模塊、語音報警模塊、LED顯示模塊、數(shù)碼管顯示模塊、按鍵模塊、電源模塊,具體如圖1所示。STM32F103C8T6單片機及最小系統(tǒng)作為十字路口智能導流控制系統(tǒng)的主控模塊,負責系統(tǒng)的調(diào)度;E18-D80NK-N型紅外光電傳感器構(gòu)成車流量檢測模塊,負責實時檢測車流量信息并傳遞到單片機,這是十字路口智能導流控制系統(tǒng)能夠根據(jù)車流量自動調(diào)節(jié)時間的基礎;WT588D語音模塊用來實現(xiàn)語音報警,當紅綠燈切換時語音報警提示行人注意安全,以此來避免行人誤闖紅燈;LED顯示模塊顯示通行狀態(tài),用紅、黃、綠三種顏色的燈光傳遞通行信號,這是紅綠燈的基本功能;數(shù)碼管顯示模塊顯示相應道路的倒計時,用來提醒燈光變化,避免車輛誤闖黃燈,減少交通事故的發(fā)生;按鍵模塊實現(xiàn)通行模式的選擇及通行時間設置,通過預先編寫的程序判斷按鍵按下的次數(shù),執(zhí)行相應的子程序,實現(xiàn)通行模式的切換及設置。

圖1 十字路口智能導流控制系統(tǒng)整體功能框圖
STM32系列微控制器是以ARMCortex_M3為內(nèi)核開發(fā)生產(chǎn)的32位微控制器,專為高性能、低成本、低功耗的嵌入式應用設計[11-13]。Cortex-M3是首款基于ARMv7-M體系結(jié)構(gòu)的32位標準處理器,具有低功耗、少門數(shù)、短中斷延遲、低調(diào)試成本等眾多優(yōu)點。所采用的STM32F103C8芯片內(nèi)部有十分豐富的外設,如2個12位模數(shù)轉(zhuǎn)換器、DMA控制器、3個16位通用定時器和2個高級定時器以及I2C、LIN等串行總線,有64 KB的FLASH和20 KB的RAM,存儲容量完全可以滿足系統(tǒng)的要求[1]。
直接獨立按鍵的設計是通過檢測按鍵端口的電位高低來判斷按鍵的狀態(tài)。將按鍵的一端接地,另一個端口接一個I/O口,程序開始運行時要把I/O置于高電平,平時按鍵無操作時I/O口保持高電平。當按鍵有操作時,I/O口置于低電平。由于單片機內(nèi)部存在的上拉電阻會使按鍵被釋放后的I/O端口保持高電平,所以本設計的程序只需要查詢這個I/O口的電平狀態(tài)就能夠得知按鍵的狀態(tài)。
獨立按鍵的軟件設計常采用查詢式結(jié)構(gòu),先逐位查詢I/O口線的輸入狀態(tài),當I/O口線輸入為低電平時,則能夠知道相應的按鍵已經(jīng)被觸發(fā),繼而按鍵再轉(zhuǎn)向功能處理。獨立按鍵的波形是按下去時保持低電平,實際上是在上升沿和下降沿的過程中,即按下和松開的微小時間內(nèi)會出現(xiàn)抖動。本文采用軟件消抖的方法來解決此問題。實現(xiàn)此方法的第一步是查詢按鍵,當出現(xiàn)低電平時即延長10 ms時間,結(jié)束后再讀取I/O的值。當讀出電平值為低電平則有按鍵按下,當為高電平時則視為干擾信號。
本設計采用四個獨立按鍵,代號分別為K1、K2、K3、K4,其中K1為時間設置按鍵,K2為時間加鍵,K3為時間減鍵,K4為模式選擇按鍵。硬件電路如圖2所示。

圖2 按鍵電路原理
E18-D80NK-N型是E18-D80NK 的升級版,是一種集發(fā)射和接收于一體的光電傳感器,相較于E18-D80NK內(nèi)部電路板和外部連線做了改動。傳感器外部接線,在末端增加了杜邦線插口,更方便用戶使用。
紅外線光電開關是利用被檢測物體對被調(diào)制的紅外光束的遮擋或反射來檢測有無被檢物體的。當被檢測物體經(jīng)過檢測區(qū)域時,紅外光電開關的輸出狀態(tài)就會翻轉(zhuǎn),以達到自動檢測目的。紅外光電開關的檢測體不限于金屬,對其他對紅外光有反射和遮擋能力的物體均能檢測。
由于E18-D80NK-N有透鏡,使得E18-D80NK-N的檢測距離能夠達到80 cm,對于不同的光,其檢測距離也不盡相同,距離最遠的是白色物體,距離最近的是黑色物體,并且可以根據(jù)需要通過旋轉(zhuǎn)尾部的電位器旋鈕調(diào)節(jié)檢測障礙物的距離。
紅外車流量檢測電路依靠兩個漫反射光電紅外感應接近開關實現(xiàn)此功能,將兩個開關分別置于東西和南北兩個方向,當有車輛經(jīng)過時,光電傳感器通過檢測不透明物體,采集到信號,車輛越多采集到的信號就越多,于是數(shù)值加1,用這種方式來監(jiān)測車流量,用以控制紅綠燈時長。
語音模塊采用的是WT588D20SS模塊[14]。圖3為該模塊的引腳。

圖3 WT588D20SS引腳
本文方案有兩組顯示電路:一組是采用四組兩位共陰極七段數(shù)碼管顯示東西和南北兩個方向的倒計時時間,如圖4所示;另一組是用紅、黃、綠三色發(fā)光二極管分別表示紅、綠、黃燈,如圖5所示。

圖4 數(shù)碼管顯示電路

圖5 LED顯示電路
方案采用C語言進行編程,程序的核心部分是紅外光電傳感器對車流量的檢測以及按鍵切換模式。程序框圖如圖6所示。

圖6 十字路口智能導流控制系統(tǒng)程序框圖
上電后系統(tǒng)開始初始化,交通燈進入基本功能,即東西方向紅燈亮25 s,黃燈亮5 s,報警模塊語音報警,南北方向綠燈亮30 s;然后南北方向紅燈亮25 s,黃燈亮5 s,報警模塊語音報警,東西方向綠燈亮30 s,之后循環(huán)運行。接下來判斷是否有按鍵按下,如果有按鍵按下則判斷K1、K2、K3、K4中的哪個按鍵按下,然后執(zhí)行相應按鍵的功能;如果沒有按鍵按下,返回繼續(xù)運行基本功能。之后判斷紅外光電傳感檢測的車流量是否到達預定車流量數(shù),沒到達的話返回繼續(xù)執(zhí)行基本功能。如果到達預定車流量閾值,相應車道延時10 s。
圖7為系統(tǒng)控制電路原理。對系統(tǒng)部分功能進行調(diào)試,結(jié)果如圖8~圖12所示,圖11是車流量過多時系統(tǒng)運轉(zhuǎn)時間加長的情況,圖12是車流量正常時系統(tǒng)正常工作的情況。

圖7 系統(tǒng)控制電路原理

圖8 全部禁行狀態(tài)

圖11 車流量多時運行情況

圖12 車流量正常時運行情況
本文提出一種基于STM32單片機的十字路口智能導流控制系統(tǒng)方案。該方案克服了傳統(tǒng)交通燈的弊端,增加了語音報警功能、車流量檢測功能、通行模式選擇以及通行時間手動調(diào)節(jié)功能,更加具備實用性和操作性,更能夠滿足實際應用需求。具體如下:
(1)十字路口智能導流控制系統(tǒng)在已有的交通規(guī)則和傳統(tǒng)的交通燈技術下繼續(xù)使用紅、綠、黃三色信號燈,分別模擬禁止、通行和安全等待信號,紅綠燈切換時間可以通過四個兩位共陰極數(shù)碼管倒計時的方式進行顯示。

圖9 東西通行、南北禁行狀態(tài)

圖10 東西禁行、南北通行狀態(tài)
(2)模式切換可以通過按鍵的形式進行操控,分別有夜間模式、緊急通行模式、南北方向通行、東西方向通行、通行時間增加和減少、系統(tǒng)復位等功能。可以按照不同的實時路況人工選擇交通模式。
(3)通過語音播報模塊來提醒行人紅綠燈切換,與傳統(tǒng)交通燈相比,避免了行人誤闖紅燈,保證了行人能夠安全通過十字路口。
(4)根據(jù)十字路口的交通規(guī)則,設置兩組紅外光電傳感器完成對車流量的實時監(jiān)測,并根據(jù)實時車流量的大小自動調(diào)整綠燈通行的時間,與傳統(tǒng)的程式化交通燈相比更具有靈活性和實用性。
(5)考慮到節(jié)能緣故,可以采用一塊太陽能板進行供電,保證交通燈在戶外用電,不會因為偏僻地方不方便供電而停用交通燈。