劉德全
(寧夏師范學院 物理與信息技術學院,寧夏 固原 756000)
隨著我國經濟的飛速發展,交通堵塞問題已經成為制約經濟發展的因素之一,智能化的交通控制系統的需求越來越高。在硬件電路設計方面,劉紅修[1]提出基于PCC為主控器的智能交通控制系統的設計,王剛[2]對基于S7-300和Wincc的交通燈監控系統的設計與仿真進行了研究,但Wincc 軟件仿真系統沒有后續的PCB設計,不能縮短產品的設計周期。參考文獻[3—4]研究了基于PLC控制的智能城市交叉路口交通燈控制系統的設計與仿真,但其仿真軟件CX-P也不能縮短開發周期。參考文獻[5]采用單片機和FPGA相結合的方式,用單片機控制人機交互、系統控制,FPGA實現控制和倒計時器的設計,直接用FPGA驅動數碼管和LED燈,這樣做雖然省去外部硬件驅動電路,但增加了產品的成本,同時要對單片機和FPGA都要編程,增加了系統開發的復雜性,在產品安裝調試時有可能會增加額外的問題。在紅綠燈交通控制算法方面,傳統的方式是先建立交通流的數學模型,但由于交通燈所處的城市經濟、地域等問題差距很大,因此具有很強的模糊性、隨機性和不確定性[6],很難用精確的數學模型進行描述。有專家提出采用自適應控制法,采用傳感器檢測車流量,實時產生控制方案,以達到最優化效果。徐勛倩等[7]構建了單路口交通信多相位實時配時模型,利用蟻群算法求最優解。文獻[8]以交叉口通行能力最大為目標,構建了過飽和條件下的交叉線性規劃優化模型進行最優化求解。文獻[9—11]對基于遺傳算法實現信號控制多目標優化的算法進行了分析與討論。國內還有些學者通過模糊控制研究城市交通信號的控制,取得了一定的成果[12-16],但由于采用模糊控制器直接綜合參數來控制動作模式,很難準確獲得控制。采用控制系統理論進行設計存在周期過程長、耗費資金大的缺點。若采用控制仿真軟件Matlab編程,則與嵌入式微處理器編程不一致而導致仿真時也不能直觀反映出微處理器在系統中的作用[17-18]。基于此,本文設計一種智能化、低功耗的智能交通信號系統電路,并采用先進的EDA技術——Proteus進行電路設計與仿真,采用AT89S52單片機芯片作為控制器,能夠自行設置紅燈、綠燈和黃燈信號燈的有效時間,其特點是產品體積小,成本低,功耗低,系統通用性更好。
整個系統以AT89S52單片機為控制器,以低功耗、高亮度的7段數碼和發光二極管作為交通信號燈。該系統主要包括交通信號燈控制器、人行橫道信號燈和車道信號燈3大模塊,具體結構框圖見圖1。

圖1 智能交通信號機系統結構框圖
微處理器控制系統電路以AT89S52單片機為控制器構成最小系統,AT89S52單片機I/O資源分配表1。最小系統主要包括時鐘電路、復位電路和I/O接口電路。時鐘電路采用單片機內部振蕩器產生時序,只需外接晶體振蕩器和濾波電容即可;復位電路采用典型的上電復位電路;I/O接口采用扁平線接口輸出,有利于模塊化的電路設計和產品安裝。

表1 AT89S51單片機I/O資源分配

表1(續)
人機接口電路(見圖2)通過功能不同的按鍵實現,為了提高CPU的利用率,使用了中斷法實現按鍵的檢測與識別,當有鍵按下時執行相應的按鍵中斷服務子程序。

圖2 人機接口電路
系統啟動后自動進入智能模式。在不同模式下的紅綠燈有效時間可以根據“時間+”和“時間-”按鈕進行調整,但調整時間不能超過99 s,因為系統采用了兩位數碼管進行顯示。為了實現這一功能,在系統程序中加入了一定的控制算法。在不同的模式下,有相應的模式信號燈指示,以方便設備的安裝和調試。
以東南西北4相位的十字交叉路口進行布局,每個方向包括直行車道、左轉車道、右轉車道(按照交通規則,右轉一般可以不考慮),編程時主要考慮東西方向直行和左轉、南北方向直行和左轉,車流方向如圖3所示。按照上述思路對整個電路圖進行布局,并進一步勾畫交叉路口人行道布局、車行道布局和信號指示燈的布局,具體布局仿真效果見圖4。
編程中采用模塊化思路和中斷法編程,優化了程序,提高了CPU的利用率。倒計時時序的產生由單片機內部定時器和中斷觸發器完成,提高了時間的精確性。主要模塊程序流程圖見圖5—圖7。

圖3 交叉路口主要車行方向圖

圖4 電路布局仿真效果

圖5 主程序流程圖


圖6 定時器中斷流程圖

圖7 人機接口程序流程圖
(1) Active Popup[19]。Proteus是英國Labcenter 公司研發的一款EDA軟件,Active Popup是Proteus 8 開始提供的一個新的工具,該工具可以允許在原理圖中選擇一定的區域在調試程序時進行觀察或者交互式仿真,方便程序的調試。在使用Active Popup時要注意以下幾點:
① Active Popup只能在原理圖沒有仿真時添加到原理圖中。
② Active Popup窗口在VSM Studio中可以關閉,關閉后在Debug菜單下可以重新打開。
③ 當在Schematic中添加了Active Popup且VSM Studio處于打開狀態,則單擊Run Simulation按鈕時,系統自動切換到VSM Studio界面開始仿真。
④ 如果原理圖中沒有添加Active Popup或者在VSM Studio界面中關閉了Active Popup窗口,這時單擊Run Simulation按鈕時,系統自動切換到原理圖界面開始運行程序。
⑤ 在其他情況下,單擊程序仿真按鈕中Pause VSM debugging按鈕,系統自動切換到VSM studio 界面并顯示程序調試界面。
由上述可以看出,在原理圖中創建Active Popup的目的是為了交互式調試程序,因此一般給具有動態仿真效果的輸入、輸出元器件(如可變電阻、開關、繼電器、電機、數碼管、液晶顯示、點陣、傳感器、信號源、虛擬儀器、圖表等)添加。
還可以結合Schematic Capture中的Active Popup Mode進行調試。圖8(a)為Active Popup仿真工具對人行道調試結果;將鼠標移至Active Popup包含的元器件上左擊,會彈出元器件的引腳當前狀態值,比如數碼管的引腳電平顯示如圖8(b)所示。

圖8 Active Popup工具
(2) 邏輯分析調試仿真。Active Proteus還提供了示波器、邏輯分析等多種工具進行仿真。圖9為邏輯分析儀采集到的P0口部分數據時序。

圖9 邏輯分析儀捕捉P0口部分數據時序
(3) 單片機內部結構數據觀察。在暫停模式下,可以打開CPU窗口觀察CPU內部數據變換,進行精確調試,CPU捕捉到的AT89S52單片機寄存器、特殊功能寄存器、內部RAM的數據見圖10。
調試完全符合要求后,運行結果如圖4所示,該系統能夠完成智能交通信號機的功能。
在Proteus中可以直接生成PCB(印刷電路板),輸出PCB文件數據Gerber直接到生產廠家進行制版。Proteus還提供了3D預覽。為了提高PCB抗干擾性,對“NET=GND”進行覆銅;為了提高PCB的穩定性,添加淚滴。最終生成PCB的效果見圖11。

圖11 PCB效果圖
采用Active Proteus虛擬仿真技術進行智能交通信號系統電路設計和仿真,實現了低功耗、低成本的產品開發,縮短了產品的設計周期,開發的交通信號機性能好,不受地理環境的限制,可靠性非常高,操作簡單,而且硬件電路與軟件實時結合技術對其他產品的開發也提供了一定的參考價值。
[1] 劉紅修.PCC在智能交通控制系統中的應用[J].公路交通科技:應用技術版,2013(3):280-281.
[2] 王剛.基于S7-300和Wincc的交通燈監控系統的設計與仿真[J].自動化與儀器儀表,2013(5):145,148.
[3] 禹翔.城市交叉路口交通燈控制系統的設計與研究[D].西安:長安大學,2011.
[4] 方貴盛,王云鳳,陳劍蘭.智能交通燈PLC控制實驗裝置研究[J].實驗室研究與探索,2012(11):204-208.
[5] 何毅.智能交通燈控制系統設計與仿真[J].重慶交通大學學報:自然科學版,2010(10):763-765.
[6] 邵春福.交通流理論[M].北京:電子工業出版,2012.
[7] 徐勛倩,黃衛.單路口交通信號多相位實時控制模型及其算法[J].控制理論與應用, 2005(22):413 - 416.
[8] Liu Hongchao, Balke K N, Lin Weihua. A Reverse Causal-effect Modeling Approach for Signal Control of an Oversaturated Intersection[J].Transportation Research Part C:Emerging Technologies, 2008,16(6):742-754.
[9] 李瑞敏,陸化普.基于遺傳算法的交通信號控制多目標優化[J].長安大學學報:自然科學版,2009(29):85- 88.
[10] 何兆成,曾偉良.變權系數遺傳算法在交叉口信號控制中的應用[J].公路交通科技,2011,28(11):121-125.
[11] 首艷芳,徐建閩.信號交叉口多目標動態決策模型及其優化方法[J].公路交通科技,2012,29(11):92-97.
[12] 吳慎將,李黨娟.智能交通燈控制器的設計[J].自動化與儀器儀表,2010,11(29):51-53.
[13] 王平,蔡凌,趙強,等.PLC應用于過程控制的研究[J].儀器儀表學報,2006,27(增刊):611-613.
[14] 田校伍.電氣控制PLC應用技術[M].北京:機械工業出版社,2006.
[15] 戴一平.可編程控制器邏輯控制案例[M].北京:高等教育出版社,2007.
[16] 劉金琨.先進PID控制MATLAB仿真[M].2版.北京:電子工業出版社,2004.
[17] 許侖輝,劉邦明.城市交通信號控制與仿真[J].公路交通科技,2013(9):108-115.
[18] 彥奎,鄭子超.基于Proteus軟件的控制系統設計[J].科技信息,2010(25):13-14.
[19] 劉德全.Proteus 8-電子線路設計與仿真[M].北京:清華大學出版社,2014.