王曉紅++李國瑞
摘 要: 針對平交路口交通信號控制的問題設(shè)計了基于單片機的交通信號控制仿真器。仿真器的設(shè)計分系統(tǒng)硬件設(shè)計和軟件設(shè)計。硬件設(shè)計中采用STC89C55單片機為控制器,紅外光電對管用于車輛檢測模塊,通過移位寄存器SN74HC595和SN74HC164實現(xiàn)對16×16點陣的控制并配以按鍵模塊及電源模塊;軟件設(shè)計包括對各主模塊及子模塊流程圖的設(shè)計,源代碼的編寫等。最終實現(xiàn)的模擬裝置,可以利用相應按鍵實現(xiàn)對交通流自動調(diào)整、限制左轉(zhuǎn)、單向等交通控制策略的模擬。設(shè)計解決了實際中耗資大、不易模擬的難題,并在最大程度上保證交通的安全和暢通。
關(guān)鍵詞: 道路交通管理與控制; STC89C55; 仿真器; 信號燈控制
中圖分類號: TN710?34 文獻標識碼: A 文章編號: 1004?373X(2015)21?0162?05
Development of traffic signal control simulator for level crossing
WANG Xiaohong, LI Guorui
(School of Electronic and Control Engineering, Changan University, Xian 710064, China)
Abstract: According to the control problem of traffic signal for the level crossing, a traffic signal control simulator based on microcontroller was designed. The design of the simulator is consisted of hardware design and software design. In hardware design, STC89C55 microcontroller is taken as the controller, and the infrared photoelectric tube is used as the vehicle detection module. The control of 16×16 dot matrix is realized by the shifting register SN74HC595 and SN74HC164, and the key module and power module are matched. The software design includes the designs of each main module and sub modules inflow charts, and the compiling of source code. The implemented simulator can simulate the automatic adjustment, left?turning limitation, one?way passing, and other traffic control strategies of the traffic flow by the corresponding keys. The design can solve the problems of large cost and difficult to simulate in practical, and ensure the safe and unobstructed traffic at the most extent.
Keywords: road traffic management and control; STC89C55; simulator; signal light control
0 引 言
近年來,隨著政策目標的日益復雜以及交通需求的不斷增長,城市交通控制在不斷演變。城市交通控制系統(tǒng)是涵蓋城市交通數(shù)據(jù)檢測、城市交通信號燈控制以及城市交通疏導的綜合管理系統(tǒng),是城市現(xiàn)代化進程中的重要組成部分[1]。實踐證明,智能交通系統(tǒng)(Intelligent Traffic System,ITS)能夠有效地提高系統(tǒng)效率、減少交通擁擠、達到節(jié)能減排的效果[2?3]。交通信號機作為系統(tǒng)中控制算法的載體,既是交通管理、交通控制和數(shù)據(jù)挖掘的平臺,也是最有執(zhí)行力的執(zhí)行單元[4]。
早期智能交通控制研究主要采用模糊邏輯方法,并取得了較好的成效[5?7]。然而簡單的模糊處理會降低控制的精度從而導致規(guī)則難以總結(jié),采用試湊法獲取的量化因子、比例因子等參數(shù)則包含了過多的人為因素,反復的測試也造成了設(shè)計過程缺乏系統(tǒng)性。后期則主要為基于遺傳算法的研究[8],而這些方法可能造成過早收斂和進化速度較慢等現(xiàn)象。
在此基礎(chǔ)上,本文設(shè)計了一種基于單片機的平面交叉路口交通信號控制策略模擬裝置,系統(tǒng)硬件及軟件設(shè)計均采用模塊化思想,既方便硬件維修,也方便軟件調(diào)試[9]。該裝置可通過按鍵選擇演示交叉路口的交通信號控制策略,也可以通過修改程序來調(diào)整交通流的行進速度和通行時間。
1 系統(tǒng)硬件設(shè)計與分析
目前交通信號控制的設(shè)計方案較多,例如,依靠工業(yè)控制機實現(xiàn)交通信號燈控制器的設(shè)計,使用可編程控制器(Programmable Logic Controller,PLC)實現(xiàn)控制系統(tǒng)的設(shè)計以及采用FPGA半定制電路實現(xiàn)系統(tǒng)設(shè)計等[10?11]。但采用第一種方式會隨時間的推移產(chǎn)生大量的系統(tǒng)垃圾,導致系統(tǒng)運行速度及可靠性的降低;PLC則由于體系結(jié)構(gòu)封閉,設(shè)計較為死板;FPGA雖然靈活性高,但成本較高。而單片機具有設(shè)計簡單、體積較小且成本較低的優(yōu)勢,又由于STC89C55單片機處理速度、ROM和RAM等片上資源均能滿足設(shè)計要求;本文提出了利用單片機控制技術(shù)并采用軟硬件結(jié)合的方式,對交叉路口擁擠的狀況進行了多種情況下交通信號燈控制系統(tǒng)的設(shè)計[12]。
實驗裝置以STC89C55 單片機為控制器,由按鍵模塊、車輛檢測模塊、電源模塊、交通流顯示模塊以及倒計時模塊組成。系統(tǒng)采用16×16 LED點陣模擬平面交叉路口的交通流情況,比傳統(tǒng)的紅綠兩色LED燈交替顯示更加形象、新穎。系統(tǒng)整體框圖如圖1所示,各模塊功能如下:
(1) 交通流顯示模塊實現(xiàn)對車流情況以及車流控制模式的顯示;
(2) 倒計時模塊實現(xiàn)對車流通行時間的倒計時;
(3) 按鍵模塊用于實現(xiàn)單片機的復位、啟動系統(tǒng)工作并可以進行不同控制模式間的切換;
(4) 車輛檢測模塊用來檢測車流的大小,將檢測信號輸入單片機控制器;
(5) 電源模塊可提供系統(tǒng)所需的5 V直流電,為整個系統(tǒng)提供電能。
圖1 系統(tǒng)整體框圖
1.1 車輛檢測模塊
本設(shè)計主要模擬車流量的檢測。假設(shè)環(huán)境為車輛在等待信號燈時都處于停止狀態(tài),進而遮擋道路一側(cè)射向另一側(cè)的光線。因此,可在距離路口特定距離的位置設(shè)置激光車流檢測器,進而對等待通行的車輛數(shù)量進行估算并對交通燈的時間進行自動控制,從而實現(xiàn)合理配時,在一定程度上解決擁堵的狀況。
本設(shè)計采用5 mm紅外光電對管作為車流檢測器,包括發(fā)射管和接收管,其為光敏半導體器件,近紅外波段輸出波長為450~1 050 nm,射程在7 m以內(nèi),激勵方式為電激勵式,完全符合本設(shè)計要求。
車輛檢測模塊電路設(shè)計如圖2所示。電路中驅(qū)動電壓選用5 V,發(fā)光管選用100 Ω的驅(qū)動電阻。當接收管能接收到發(fā)射管發(fā)出的紅外線時,呈現(xiàn)導通狀態(tài),兩端電阻為50~70 Ω;當接收管接收不到發(fā)射管發(fā)出的紅外線時,呈現(xiàn)高阻態(tài),接收管不導通,因此給接收管串聯(lián)100 kΩ電阻。當接收管導通時其兩端電壓接近0 V,當接收管截止時,其兩端電壓接近5 V,所以把接收管兩端電壓選為單片機輸入信號。實驗中需要4個光電對管,分別輸入單片機的P1.2,P1.5~P1.7口。
1.2 按鍵模塊
本文采用控制系統(tǒng)中造價較低且最常見的觸點式開關(guān)按鍵,按鍵電路如圖3所示。
(1) 按鍵的識別。按鍵的一端與電源地相連,另一端接入單片機,按鍵分別接入單片機的P0.6~P0.7和P2.5~P2.7口。當按鍵被按下時,向單片機相應端口輸入低電平信號,單片機檢測到這一信號,實現(xiàn)相應的控制。
(2) 按鍵的防抖措施通常使用機械式按鍵。在按下或釋放時,由于機械彈性作用的影響,通常伴隨有一定時間的觸點機械抖動,然后其觸點才穩(wěn)定下來。抖動過程如圖4所示,抖動時間的長短與開關(guān)的機械特性有關(guān),一般為5~10 ms。
圖4 按鍵抖動波形
觸點抖動期間檢測按鍵的通與斷狀態(tài),可能導致判斷出錯;即按鍵一次按下或釋放被錯誤地認為是多次操作。為了克服按鍵觸點機械抖動所致的檢測誤判,必須采取去抖動措施。在鍵數(shù)較少時,可采用硬件去抖,而當按鍵數(shù)較多時,采用軟件去抖。本設(shè)計考慮到安裝空間及性價比,按鍵也較多,故采用軟件防抖,并且在按鍵按下后設(shè)置了按鍵等待釋放程序,可保證按鍵按下的有效性和準確性。
軟件上采取的措施:在檢測到有按鍵按下時,執(zhí)行一個10 ms左右(具體時間應視所使用的按鍵進行調(diào)整)的延時程序后,再確認該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認該鍵處于閉合狀態(tài);同理,在檢測到該鍵釋放后,也應采用相同的步驟進行確認,從而可消除抖動的影響。
1.3 電源模塊
電路中所有模塊使用5 V電壓,因此系統(tǒng)設(shè)定5 V為額定電壓。本文采用8 V可充電蓄電池,經(jīng)過穩(wěn)壓器件穩(wěn)壓得到5 V電壓。穩(wěn)壓器件選用已廣泛使用的三端集成穩(wěn)壓器LT1084,其具有體積小、安裝方便、工作可靠、額定電流大的優(yōu)點。
1.4 交通流顯示模塊
本系統(tǒng)的點陣電路由4個集成的8×8 LED點陣組成,通過移位寄存器SN74HC595和SN74HC164分別控制點陣兩端,其中由三極管電路將驅(qū)動信號放大,實現(xiàn)對16×16點陣的控制[13]。
1.4.1 SN74HC595電路設(shè)計
74HC595為并行輸出,包含8位串行輸入并向一個8位D型存儲寄存器提供數(shù)據(jù)。其存儲寄存器具備三態(tài)輸出。移位寄存器和存儲寄存器分別具有獨立的時鐘。該移位寄存器帶有最高優(yōu)先級的直接清零端(SRCLR)、串行輸入端(SER)和用于級聯(lián)的串行輸出端。此外,74HC595芯片具有速度快、功耗小、操作簡單的特點,可以很方便地應用于單片機接口進行驅(qū)動LED的操作,高速移位時鐘頻率[fmax>]25 MHz。
如圖5所示,由于點陣輸出端有16個接口,而一個SN74HC595芯片只有8個位串行接口,因此需將2個SN74HC595芯片級聯(lián),并在輸出端接驅(qū)動電阻,以此滿足驅(qū)動要求。
1.4.2 SN74HC164電路設(shè)計
74HC164是高速硅門CMOS器件,與低功耗肖特基型TTL器件的引腳兼容。74HC164是8位邊沿觸發(fā)式移位寄存器,串行輸入數(shù)據(jù),然后并行輸出。數(shù)據(jù)通過兩個輸入端(DSA或DSB)之一串行輸入;任一輸入端可以用作高電平使能端,控制另一輸入端的數(shù)據(jù)輸入。主復位(MR)輸入端上的一個低電平使其他所有輸入端都無效,同時非同步地清除寄存器,強制所有的輸出為低電平。將通用芯片74HC164應用其顯示驅(qū)動電路,既可以獲得相同顯示效果,又可以降低成本,提高系統(tǒng)可靠性并且芯片的安裝方法非常靈活,可以減少顯示面板連接導線的數(shù)量,提高系統(tǒng)的可靠性,在按鍵和顯示驅(qū)動電路中得到了廣泛應用。
如圖6所示,由于點陣輸入端有16個接口,而1個SN74HC164芯片只有8個位串行接口,所以需要將2個SN74HC164芯片級聯(lián),由于SN74HC164輸出端口的驅(qū)動能力有限,無法驅(qū)動點陣正常動作,所以需通過接三級管放大電路對其信號進行放大,這樣才能滿足驅(qū)動要求。
1.4.3 三極管S8550電路設(shè)計
圖7所示為8個相同的三極管放大電路,三極管基極接SN74HC164電路的輸出,將放大后的信號輸入點陣。
圖6 SN74HC164電路圖
1.5 倒計時模塊
本設(shè)計中的倒計時在100 s以內(nèi),因此本系統(tǒng)中選用雙端7位數(shù)碼管[14]。電路圖如圖8所示。該數(shù)碼管為共陰極7段數(shù)碼管,由單片機P3.0~P3.6輸出數(shù)字,P1.4輸出個位位選,P1.3輸出10位位選。
2 系統(tǒng)軟件設(shè)計與分析
軟件的設(shè)計須以硬件為根據(jù),二者充分的兼容協(xié)調(diào)才可以實現(xiàn)系統(tǒng)的穩(wěn)定可靠運行。為方便程序的調(diào)試及后期的維護升級,本系統(tǒng)的軟件設(shè)計采用硬件模塊化的思路設(shè)計,具有較強的可移植性[15]。本系統(tǒng)的軟件模塊主要包含:車流的自動調(diào)整模塊及東西直走模塊等。這些程序模塊相對獨立,均可相互之間調(diào)用、嵌套。軟件設(shè)計的總流程圖及各子流程模塊如圖9所示。
圖7 三極管S8550電路圖
圖8 倒計時模塊電路圖
2.1 系統(tǒng)主流程
系統(tǒng)上電復位后,按下開始按鍵,程序開始后初始化程序,之后向點陣輸出本設(shè)計的題目“平交路口交通信號控制仿真器的開發(fā)”,之后進入自動調(diào)整模式,點陣模塊輸出交通流情況,數(shù)碼管顯示倒計時,同時系統(tǒng)檢測是否有開關(guān)按下,如果沒有,繼續(xù)執(zhí)行此子程序;反之,調(diào)用按鍵相應的子程序。
2.2 自動配時流程
對車流情況自動調(diào)整即通過光電對管檢測道路的擁堵情況,當沒有發(fā)生擁堵時,按原定通行時間執(zhí)行;當某一方向發(fā)生擁堵時,車輛就會擋在光電對管之間,系統(tǒng)監(jiān)測到這一信號后會在該方向適當?shù)脑黾油ㄐ袝r間,以緩解擁堵情況。
該子程序首先判斷車流檢測模塊輸入的信號,若光電對管被遮擋,車流檢測模塊輸入高電平,程序執(zhí)行東西方向直行50 s;反之,車流檢測模塊輸入低電平,程序執(zhí)行東西方向直行40 s。執(zhí)行完畢后,判斷車流檢測模塊輸入的信號,若為高電平,執(zhí)行東西方向左轉(zhuǎn)25 s程序;反之,執(zhí)行東西方向左轉(zhuǎn)20 s程序。執(zhí)行完畢后,執(zhí)行南北方向的程序,過程與東西方向相同。
2.3 子系統(tǒng)流程
(1) 限制左轉(zhuǎn)和單向模式子流程圖
車流量較大時,可采用限制左轉(zhuǎn)的方式,即只允許直行,以便更快地疏散車流。當某一方向車流量較大,而相反方向車流量較小時,可以采用單向模式,以此實現(xiàn)更加合理的調(diào)節(jié)方式。如圖9所示,限制左轉(zhuǎn)的子程序流程為開始后先初始化程序,之后執(zhí)行東西方向直行45 s程序,接著執(zhí)行南北方向直行45 s程序。單向模式的流程中,程序開始后先初始化,之后執(zhí)行由東向西行駛45 s程序,接著執(zhí)行由南向北行駛45 s程序。
(2) 假日子程序流程圖
節(jié)假日期間道路上車流量比較大,各個方向易出現(xiàn)堵車的狀況,而自動調(diào)整無法有效地解決這個問題。本文通過延長各方向直行的時間,相應減少左轉(zhuǎn)的通行時間,達到合理通行的目的。如圖9中的假日流程模塊,程序開始后先初始化程序,然后東西直行45 s程序,接著執(zhí)行東西左轉(zhuǎn)25 s程序;接著執(zhí)行南北直行45 s程序,最后執(zhí)行南北左轉(zhuǎn)25 s程序。
3 電路安裝與調(diào)試
本裝置的設(shè)計思想是以平面點陣代替交叉口的紅綠燈,當某一方向通行時,這個方向的點陣就會點亮,機動車根據(jù)該信號行駛,當車輛行駛在點陣上時,車輛下方的LED燈就會被遮擋,被遮擋的LED燈就代表行駛的車輛,這樣就可簡單明了的表示出車流。
圖10為鍵盤的實物圖,根據(jù)以上軟硬件設(shè)計最終做成的平交路口交通信號控制仿真器運行情況如圖11所示。圖12為各種調(diào)整模式下的運行狀況。
圖10 鍵盤 圖11 交叉口系統(tǒng)運行實物圖
圖12 各模式運行情況
4 結(jié) 語
本文以當今社會智能交通的普遍發(fā)展作為背景,設(shè)計了一種基于單片機的平面交叉路口交通信號控制仿真器,并完成實物制作。該仿真器采用STC89C55作為主控CPU,4塊集成的8×8 LED點陣以及雙位7段數(shù)碼管作為交通流顯示模塊,配以車輛檢測模塊、按鍵模塊、電源模塊以及倒計時模塊,并使用移植性較好的C語言編寫軟件程序,最終滿足設(shè)計需求。本裝置不僅實現(xiàn)了交通信號控制的功能,還引入車輛檢測模塊優(yōu)化信號配置,達到了實施控制的目的。
交通信號控制仿真器可用于實際教學實驗,也可在實驗室中用作實際平面交叉路口的模擬仿真。正常工作是點陣顯示交通流情況,可以通過按鍵實現(xiàn)不同模式的切換,也可以通過對軟件的調(diào)整實現(xiàn)對通行時間的設(shè)置。但若使用紅外遙控器代替按鍵鍵盤,并采用液晶屏幕代替點陣,則效果更加形象逼真。
參考文獻
[1] XU Tiansheng, ZHANG Hongchen. The optimization and simulation of traffic signal control system [C]// Proceedings of 2014 IEEE International Conference on Information Science. Sapporo: IEEE, 2014: 554?556.
[2] MA S K, IMURA J I, HAYAKAWA T, et al. Smart driving of a vehicle using model predictive control for improving traffic flow [J]. IEEE Transactions on Intelligent Transportation Systems, 2014, 15(2): 878?888.
[3] HAMILTON A, WATERSON B, CHERRETT T, et al. Evolution of urban traffic control?the policy and technical changes [J]. Urban Traffic, 2014, 1(5): 82?94.
[4] SEHGAL V K, DHOPE S, GOEL P, et al. An embedded platform for intelligent traffic control [C]// Proceedings of 2010 the 4th UKSim European Symposium on Computer Modeling and Simulation. Pisa: IEEE, 2010: 541?545.
[5] GAO J X, LI J G, ZHAO X H, et al. Multiphase fuzzy control under hybrid traffic flow of single intersection [C]// Proceedings of 2003 IEEE Intelligent Transportation System. [S.l.]: IEEE, 2003: 1329?1333.
[6] ASKERZADE I N, MAHMOOD M. Control the extension time of traffic light in single junction by using fuzzy logic [J]. International Journal of Electrical & Computer Sciences, 2010, 10(2): 48?55.
[7] KHAN B, LAI N S. An advanced fuzzy logic based traffic controller [J]. International Journal of Innovation in the Digital Economy, 2014, 5(1): 31?40.
[8] FAZLI S, MOHAMMADIA S, RAHMANI M. Neural network based vehicle classification for intelligent traffic control [J]. International Journal of Software Engineering & Applications, 2012, 3(3): 17?22.
[9] 李全利.單片機原理及接口技術(shù)[M].北京:高等教育出版社,2009.
[10] LIU Y, CHEN X F. Design of traffic lights controlling system based on PLC and configuration technology [C]// Proceedings of 2009 International Conference on Multimedia Information Networking and Security. Hubei, China: IEEE, 2009: 561?563.
[11] SABRI M F M, HUSIN M H, ABIDIN W A, et al. Design of FPGA?based traffic light controller system [C]// Proceedings of 2011 IEEE International Conference on Computer Science and Automation Engineering. Shanghai, China: IEEE, 2011: 114?118.
[12] 裴玉龍,張亞平.道路交通系統(tǒng)仿真[M].北京:人民交通出版社,2004.
[13] 林濤.模擬電子技術(shù)基礎(chǔ)[M].重慶:重慶大學出版社,2003.
[14] 林濤.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:清華大學出版社,2006.
[15] AUGUSTUS K, CONSTANTINE D, KOLEN J F, et al. On the combination of hardware and software concurrency extraction methods [C]// Proceedings of 1987 the 20th Annual Workshop on Microprogramming. [S.l.] : IEEE, 1987: 133?141.