郭小丹
(西藏民族大學信息工程學院,陜西咸陽 712082)
基于自動循跡的智能公交小車系統
郭小丹
(西藏民族大學信息工程學院,陜西咸陽712082)
本文設計并實現了基于ST89C52單片機的智能公交小車控制系統。該系統能夠實現根據路況自動循跡、遇到障礙自動減速、到達終點自動停止等功能,可在惡劣的環境中替代人工作業完成生產任務,避免造成人員傷亡,具有重要的應用價值。
單片機;智能小車;電機驅動
隨著汽車工業的迅猛發展,有關汽車類的研究也日益受到廣泛的關注。全國大學生電子設計競賽每年都有類似的題目出現,智能小車在競賽中也是必不可少的題目之一,全國各大高校都隨即提升了對該類題目學習與研究的重視和投入。由此可見,智能小車在時下研發領域的優先地位和重要作用。智能公交車啟停系統則是其外延擴展,研究意義已卓然明顯,且現實攸關[1]。
本課題是要設計一款智能小車系統,研究中主要是完成硬件設計和軟件設計。其中的硬件設計包括器件的選型和電路設計;軟件是對硬件的各個部分模塊進行驅動,通過軟件程序的編寫可以完成小車的自動循跡功能。
本系統采用單片機作為主控芯片,利用紅外光電傳感器對地面的黑色軌跡進行檢測,從而實現自動循跡功能,并且小車通過超聲波測距來獲得小車與障礙物的距離,再通過距離的判斷與比較以達到避障的目的。在小車與障礙物距離小于安全距離時,小車會自動減速前行;當小車與障礙物的距離小于危險距離時,小車會停止行駛,等待知道前方障礙物被移除后,小車才恢復正常行駛狀態[2-3]。當小車行駛到固定的終點時,通過接收站點的紅外信號,小車會停止行駛[4-5]。本智能小車系統由如下模塊組成:單片機控制模塊、超聲波測距避障模塊、自動循跡模塊、電機驅動模塊、蜂鳴器提示模塊和紅外接收模塊。系統結構如圖1所示。

圖1 系統框架圖Fig.1 The system frame
2.1系統電源選擇與設計
由于小車為移動設備,電源部分不能采用交流進行供電,所以設計中均需要選用電池進行供電。小車部分,單片機、液晶顯示模塊、電機驅動芯片提供正常的工作電壓為5伏。步進電機的最低工作電壓7伏左右。電機啟動的瞬間可能會產生短時高壓。如果選擇開關電源供電,因其過載性能較差,會出現保護關斷的現象,系統設計中不需要精密的穩壓要求,因此設計中將不會選擇開關電源的供電方式。并且由于電機工作時,會對整個電路造成干擾,因此電機控制電路和其它電路應該選擇隔離電路,設計中選擇TPL521用于電機控制部分和MCU芯片之間的隔離。同時,系統電源部分選擇了5 V鋰電池給控制板供電和12 V鉛蓄電池給電機供電[6]。
2.2硬件電路設計
2.2.1單片機最小系統
STC89C52、晶體震蕩電路、系統電源和阻容復位電路四部分組成了單片機的最小工作系統。最小系統是整個硬件設計的基礎,只有最小系統正常工作,系統硬件電路才有可能進入預期運行。MCU正常工作的前提需要外部的時鐘輸入和上電復位。時鐘電路為單片機提供工作時序,復位電路能夠完成單片機的上電復位。進一步地,晶振震蕩電路由晶振和2個20PF的電容組成,并通過無源晶振的震蕩為單片機提供了工作的時序。復位電路是用來提供上電復位信號,如果遇到干擾或是運行出錯,通過控制操作復位電路可以使單片機返回到初始狀態。本系統復位電路的設計采用上電復位和手動復位2個方法。具體設計如圖2所示。

圖2 AT89S51最小系統Fig.2 AT89S51 minimum system
2.2.2紅外接收電路
紅外接收器(HS0038)是一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機識別的TTL信號,如此即大大簡化了接收電路的復雜程度和電路的設計工作,方便使用。紅外接收探頭,接收紅外信號頻率為38 kHz,周期約26μs。
紅外接收電路如圖3所示。HS0038的1腳外接到單片機的P3.2口,單片機則通過讀取P3.2的電平來判斷接收的是高電平還是低電平。

圖3 紅外接收電路設計Fig.3 The infrared receiving circuit design
2.2.3電機驅動電路
本課題需要同時驅動2個步進電機,來實現小車的前進、后退、左右轉彎的功能。電路設計是將IN1、IN2和enableA作為一組,IN3、IN4和enableB作為另一組,通過對這2組IO口的控制就可以分別實現對電機正反轉、加減速的控制,完成向前、向后、左轉和右轉等各種組合運動。如上幾個端口輸入的是一個頻率信號,電機的特性是給其高電平時,電機轉動,給其低電平則停止。如果為其提供了時高時低的信號,電機會在慣性的作用下,并不會突然地轉動或停止,這就類似電容儲存電能的現象,即會慢慢加速或減速。基于如上特性分析,PWM在電機控制中的應用就尤顯適合與適用了。PWM的高電平占空比大,電機就會轉得快,低電平占空比大就會轉得慢。OUT1和OUT2一組,OUT3和OUT4一組,分別接2組步進電機。電機驅動電路如圖4所示。

圖4 電機驅動電路Fig.4 Motor drive circuit
2.2.4超聲測距電路設計
只需要在Trig/TA管腳輸入一個10US以上的高電平,系統便可發出8個40 KHZ的超聲波脈沖,而后檢測回波信號。當檢測到回波信號后,模塊還要進行溫度值的測量,再根據當前溫度對測距結果進行校正,將校正后的結果通過Echo/RA管腳輸出。在此模式下,模塊將距離值轉化為340 m/s時的時間值的2倍,通過Echo端輸出一高電平,可根據此高電平的持續時間來計算距離值。研究可得距離值的計算原理為:(高電平時間?340m/s)/2。超聲測距電路如圖5所示。

圖5 超聲波模塊接口原理設計Fig.5 The principle of ultrasonic module interface design
2.2.5蜂鳴器提示電路設計
報警電路由蜂鳴器、PNP三極管和限流電阻組成。單片機通過控制引腳電平的高低,使PNP三極管處于導通或截止的狀態,類似一個開關,從而實現開啟或關閉蜂鳴器。圖6中,驅動電壓是5 V電壓,Q1為PNP型三極管,SPEAKER是信號輸入端,蜂鳴器的驅動方式可根據其類型有多種選擇,此處選用蜂鳴器則為壓電式蜂鳴器,通過R2和單片機的P20口相連,由該接口將會輸入一定頻率的脈沖信號,因此而控制蜂鳴器發出聲音的頻率,頻率越高,蜂鳴器的聲音越大、音色越尖銳。報警電路如圖6所示。

圖6 報警電路Fig.6 Alarm circuit
軟件的設計任務需要實現智能小車系統能按設定的速度穩定地在引導線上行駛。在設定的位置停止于設定的時間,到達引導線末端自動停止前進。
3.1主程序設計
軟件設計的主流程如圖7所示。系統上電后,啟動初始化程序,初始化完成后,程序進入一個死循環。循環中,首先判斷小車的動態標識位的數值,若Flag=0,則繼續掃描小車動態標識位(Flag);若動態標志位Flag=1,調用狀態信息掃描子程序,得到狀態標志值,調用改變小車狀態子程序,將掃描小車狀態得到的標志值作為改變小車狀態子程序的實參,執行改變小車狀態子程序,運行完成后,回到循環開始,重新執行以上操作,直至系統斷電位為止。

圖7 主程序流程圖Fig.7 The main program flow chart
該系統的程序設計使用了模塊化的編程思想對單片機控制模塊、超聲測距模塊、自動循跡模塊、點擊驅動模塊和紅外接收模塊實現了程序編寫,Keil4軟件提供的平臺來實施開發。小車的標志是用于記錄和檢測環境參數,具體小車的狀態描述有以下情況:
1)如果小車的狀態掃描結果是出界,則調整行駛路線,返回上一層循環;
2)如果沒有出界并且有障礙物,則提示前方有障礙物,返回上一層循環更改小車的Flag標志位;
3)如果小車沒有障礙物、沒有出界,但是有標志線,則執行小車的循跡模塊,最后返回上一層循環,更改小車的Flag標志位。
3.2掃描程序設計
采用5個光電感應器對軌道進行循跡。小車循跡流程圖如圖8所示。

圖8 掃描程序Fig.8 The scanner
智能公交小車使用后輪驅動,后輪左右兩邊各有一個驅動電機,通過調整后面2個輪子的轉速,從而達到控制專項的目的;前面的輪子則是萬象輪,只起到支撐作用。將紅外電光傳感器分別裝在車身的兩側和前端,當車身左側的紅外傳感器檢測到黑線時,芯片控制左輪電機減速,使得行駛路線向右修正;當車身右側的紅外線傳感器檢測到黑線時,芯片控制右輪電機減速,使得行駛路線向左修正;車身中間的紅外線傳感器會一直檢測標志線,當檢測到標志線時會左轉,這就使小車在軌道中行駛。
避障原理和循跡原理是一樣的,在車頭的前后兩端和中間各裝有一個紅外傳感器,當車身左側的紅外傳感器檢測到障礙物時,小車的右輪開始減速,使小車向右行駛,從而達到向右修正行駛路線的目的;當車身右側的紅外傳感器檢測到有障礙物時,小車的左輪開始減速,使小車向左行駛,從而達到向左修正行駛路線的目的;當車身的中間或全部的傳感器都檢測到障礙物時,小車定向轉動,從而達到避開障礙物的目的。
3.3電機控制程序設計
該設計中使用的是2個電機對小車狀態進行實時改變,由于單片口輸出電流低不能直接驅動電機轉動,所以本設計采用L298N芯片來驅動電機轉動。改變小車子程序流程圖如圖9所示。

圖9 電機控制程序Fig.9 Motor control program
本系統由單片機最小系統、光電感應循跡模塊,電機驅動模塊、超聲測距模塊和紅外接收模塊組成。光電感應器循跡模塊用于檢測道路上的黑線,主控器將采集的信號進行處理后,控制電機驅動模塊運行,驅動小車底盤上的2個電機工作,實現對小車速度和運動方向的控制。本次開發是通過軟硬件探索改進,利用Protel軟件設計電路原理圖,采用Keil軟件設計編寫系統的驅動程序,實現智能公交小車的系統研究設計。該系統操作簡單、智能化程度高、抗干擾性強,具有廣泛的應用價值。
[1]曾增烽,劉浩,李雪.基于51單片機的串行通信協議的實現[J].硅谷,2009(13):22.
[2]趙海蘭.基于單片機的紅外遙控智能小車的設計[J].無線互聯科技,2011(3):36-38.
[3]何立民.單片機技術的現狀與未來[N].中國計算機報,2012-03-15.
[4]周淑娟.基于單片機智能尋跡小車的設計方案[J].工業技術與職業教育,2011,9(2):15-17.
[5]韓毅,楊天.基于HCS12單片機的智能尋跡模型車的設計與實現[J].學術期刊,2012,29(18):4736-4739.
[6]寸曉非.基于飛恩卡爾微控制器的智能循跡小車的設計[J].荊楚理工學院學報,2012,27(4):18-22.
Intelligent bus car system based on automatic tracking
GUO Xiaodan
(School of Information Engineering,Tibet University for Nationalities,Xianyang Shanxi 712082,China)
This paper designs and implements intelligent bus car control system based on ST89C52 single-chip microcomputer.The system can realize road automatic tracking,automatic deceleration in finding obstacles,and realize automatic stop in arriving at the destination,as well as other functions.The advantages of the design is that the system can replace manual operation in harsh environment to complete the production task,avoid the casualties on the scene,and has important application value.
single chip microcomputer;the intelligent car;motor drive
TP393.09
A
2095-2163(2016)03-0084-04
2016-05-30
郭小丹(1980-),女,碩士,實驗師,主要研究方向:計算機網絡及單片機。