郭小丹
(西藏民族大學(xué)信息工程學(xué)院,陜西咸陽 712082)
基于自動循跡的智能公交小車系統(tǒng)
郭小丹
(西藏民族大學(xué)信息工程學(xué)院,陜西咸陽712082)
本文設(shè)計并實現(xiàn)了基于ST89C52單片機(jī)的智能公交小車控制系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)根據(jù)路況自動循跡、遇到障礙自動減速、到達(dá)終點自動停止等功能,可在惡劣的環(huán)境中替代人工作業(yè)完成生產(chǎn)任務(wù),避免造成人員傷亡,具有重要的應(yīng)用價值。
單片機(jī);智能小車;電機(jī)驅(qū)動
隨著汽車工業(yè)的迅猛發(fā)展,有關(guān)汽車類的研究也日益受到廣泛的關(guān)注。全國大學(xué)生電子設(shè)計競賽每年都有類似的題目出現(xiàn),智能小車在競賽中也是必不可少的題目之一,全國各大高校都隨即提升了對該類題目學(xué)習(xí)與研究的重視和投入。由此可見,智能小車在時下研發(fā)領(lǐng)域的優(yōu)先地位和重要作用。智能公交車啟停系統(tǒng)則是其外延擴(kuò)展,研究意義已卓然明顯,且現(xiàn)實攸關(guān)[1]。
本課題是要設(shè)計一款智能小車系統(tǒng),研究中主要是完成硬件設(shè)計和軟件設(shè)計。其中的硬件設(shè)計包括器件的選型和電路設(shè)計;軟件是對硬件的各個部分模塊進(jìn)行驅(qū)動,通過軟件程序的編寫可以完成小車的自動循跡功能。
本系統(tǒng)采用單片機(jī)作為主控芯片,利用紅外光電傳感器對地面的黑色軌跡進(jìn)行檢測,從而實現(xiàn)自動循跡功能,并且小車通過超聲波測距來獲得小車與障礙物的距離,再通過距離的判斷與比較以達(dá)到避障的目的。在小車與障礙物距離小于安全距離時,小車會自動減速前行;當(dāng)小車與障礙物的距離小于危險距離時,小車會停止行駛,等待知道前方障礙物被移除后,小車才恢復(fù)正常行駛狀態(tài)[2-3]。當(dāng)小車行駛到固定的終點時,通過接收站點的紅外信號,小車會停止行駛[4-5]。本智能小車系統(tǒng)由如下模塊組成:單片機(jī)控制模塊、超聲波測距避障模塊、自動循跡模塊、電機(jī)驅(qū)動模塊、蜂鳴器提示模塊和紅外接收模塊。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)框架圖Fig.1 The system frame
2.1系統(tǒng)電源選擇與設(shè)計
由于小車為移動設(shè)備,電源部分不能采用交流進(jìn)行供電,所以設(shè)計中均需要選用電池進(jìn)行供電。小車部分,單片機(jī)、液晶顯示模塊、電機(jī)驅(qū)動芯片提供正常的工作電壓為5伏。步進(jìn)電機(jī)的最低工作電壓7伏左右。電機(jī)啟動的瞬間可能會產(chǎn)生短時高壓。如果選擇開關(guān)電源供電,因其過載性能較差,會出現(xiàn)保護(hù)關(guān)斷的現(xiàn)象,系統(tǒng)設(shè)計中不需要精密的穩(wěn)壓要求,因此設(shè)計中將不會選擇開關(guān)電源的供電方式。并且由于電機(jī)工作時,會對整個電路造成干擾,因此電機(jī)控制電路和其它電路應(yīng)該選擇隔離電路,設(shè)計中選擇TPL521用于電機(jī)控制部分和MCU芯片之間的隔離。同時,系統(tǒng)電源部分選擇了5 V鋰電池給控制板供電和12 V鉛蓄電池給電機(jī)供電[6]。
2.2硬件電路設(shè)計
2.2.1單片機(jī)最小系統(tǒng)
STC89C52、晶體震蕩電路、系統(tǒng)電源和阻容復(fù)位電路四部分組成了單片機(jī)的最小工作系統(tǒng)。最小系統(tǒng)是整個硬件設(shè)計的基礎(chǔ),只有最小系統(tǒng)正常工作,系統(tǒng)硬件電路才有可能進(jìn)入預(yù)期運行。MCU正常工作的前提需要外部的時鐘輸入和上電復(fù)位。時鐘電路為單片機(jī)提供工作時序,復(fù)位電路能夠完成單片機(jī)的上電復(fù)位。進(jìn)一步地,晶振震蕩電路由晶振和2個20PF的電容組成,并通過無源晶振的震蕩為單片機(jī)提供了工作的時序。復(fù)位電路是用來提供上電復(fù)位信號,如果遇到干擾或是運行出錯,通過控制操作復(fù)位電路可以使單片機(jī)返回到初始狀態(tài)。本系統(tǒng)復(fù)位電路的設(shè)計采用上電復(fù)位和手動復(fù)位2個方法。具體設(shè)計如圖2所示。
圖2 AT89S51最小系統(tǒng)Fig.2 AT89S51 minimum system
2.2.2紅外接收電路
紅外接收器(HS0038)是一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機(jī)識別的TTL信號,如此即大大簡化了接收電路的復(fù)雜程度和電路的設(shè)計工作,方便使用。紅外接收探頭,接收紅外信號頻率為38 kHz,周期約26μs。
紅外接收電路如圖3所示。HS0038的1腳外接到單片機(jī)的P3.2口,單片機(jī)則通過讀取P3.2的電平來判斷接收的是高電平還是低電平。
圖3 紅外接收電路設(shè)計Fig.3 The infrared receiving circuit design
2.2.3電機(jī)驅(qū)動電路
本課題需要同時驅(qū)動2個步進(jìn)電機(jī),來實現(xiàn)小車的前進(jìn)、后退、左右轉(zhuǎn)彎的功能。電路設(shè)計是將IN1、IN2和enableA作為一組,IN3、IN4和enableB作為另一組,通過對這2組IO口的控制就可以分別實現(xiàn)對電機(jī)正反轉(zhuǎn)、加減速的控制,完成向前、向后、左轉(zhuǎn)和右轉(zhuǎn)等各種組合運動。如上幾個端口輸入的是一個頻率信號,電機(jī)的特性是給其高電平時,電機(jī)轉(zhuǎn)動,給其低電平則停止。如果為其提供了時高時低的信號,電機(jī)會在慣性的作用下,并不會突然地轉(zhuǎn)動或停止,這就類似電容儲存電能的現(xiàn)象,即會慢慢加速或減速?;谌缟咸匦苑治觯琍WM在電機(jī)控制中的應(yīng)用就尤顯適合與適用了。PWM的高電平占空比大,電機(jī)就會轉(zhuǎn)得快,低電平占空比大就會轉(zhuǎn)得慢。OUT1和OUT2一組,OUT3和OUT4一組,分別接2組步進(jìn)電機(jī)。電機(jī)驅(qū)動電路如圖4所示。
圖4 電機(jī)驅(qū)動電路Fig.4 Motor drive circuit
2.2.4超聲測距電路設(shè)計
只需要在Trig/TA管腳輸入一個10US以上的高電平,系統(tǒng)便可發(fā)出8個40 KHZ的超聲波脈沖,而后檢測回波信號。當(dāng)檢測到回波信號后,模塊還要進(jìn)行溫度值的測量,再根據(jù)當(dāng)前溫度對測距結(jié)果進(jìn)行校正,將校正后的結(jié)果通過Echo/RA管腳輸出。在此模式下,模塊將距離值轉(zhuǎn)化為340 m/s時的時間值的2倍,通過Echo端輸出一高電平,可根據(jù)此高電平的持續(xù)時間來計算距離值。研究可得距離值的計算原理為:(高電平時間?340m/s)/2。超聲測距電路如圖5所示。
圖5 超聲波模塊接口原理設(shè)計Fig.5 The principle of ultrasonic module interface design
2.2.5蜂鳴器提示電路設(shè)計
報警電路由蜂鳴器、PNP三極管和限流電阻組成。單片機(jī)通過控制引腳電平的高低,使PNP三極管處于導(dǎo)通或截止的狀態(tài),類似一個開關(guān),從而實現(xiàn)開啟或關(guān)閉蜂鳴器。圖6中,驅(qū)動電壓是5 V電壓,Q1為PNP型三極管,SPEAKER是信號輸入端,蜂鳴器的驅(qū)動方式可根據(jù)其類型有多種選擇,此處選用蜂鳴器則為壓電式蜂鳴器,通過R2和單片機(jī)的P20口相連,由該接口將會輸入一定頻率的脈沖信號,因此而控制蜂鳴器發(fā)出聲音的頻率,頻率越高,蜂鳴器的聲音越大、音色越尖銳。報警電路如圖6所示。
圖6 報警電路Fig.6 Alarm circuit
軟件的設(shè)計任務(wù)需要實現(xiàn)智能小車系統(tǒng)能按設(shè)定的速度穩(wěn)定地在引導(dǎo)線上行駛。在設(shè)定的位置停止于設(shè)定的時間,到達(dá)引導(dǎo)線末端自動停止前進(jìn)。
3.1主程序設(shè)計
軟件設(shè)計的主流程如圖7所示。系統(tǒng)上電后,啟動初始化程序,初始化完成后,程序進(jìn)入一個死循環(huán)。循環(huán)中,首先判斷小車的動態(tài)標(biāo)識位的數(shù)值,若Flag=0,則繼續(xù)掃描小車動態(tài)標(biāo)識位(Flag);若動態(tài)標(biāo)志位Flag=1,調(diào)用狀態(tài)信息掃描子程序,得到狀態(tài)標(biāo)志值,調(diào)用改變小車狀態(tài)子程序,將掃描小車狀態(tài)得到的標(biāo)志值作為改變小車狀態(tài)子程序的實參,執(zhí)行改變小車狀態(tài)子程序,運行完成后,回到循環(huán)開始,重新執(zhí)行以上操作,直至系統(tǒng)斷電位為止。
圖7 主程序流程圖Fig.7 The main program flow chart
該系統(tǒng)的程序設(shè)計使用了模塊化的編程思想對單片機(jī)控制模塊、超聲測距模塊、自動循跡模塊、點擊驅(qū)動模塊和紅外接收模塊實現(xiàn)了程序編寫,Keil4軟件提供的平臺來實施開發(fā)。小車的標(biāo)志是用于記錄和檢測環(huán)境參數(shù),具體小車的狀態(tài)描述有以下情況:
1)如果小車的狀態(tài)掃描結(jié)果是出界,則調(diào)整行駛路線,返回上一層循環(huán);
2)如果沒有出界并且有障礙物,則提示前方有障礙物,返回上一層循環(huán)更改小車的Flag標(biāo)志位;
3)如果小車沒有障礙物、沒有出界,但是有標(biāo)志線,則執(zhí)行小車的循跡模塊,最后返回上一層循環(huán),更改小車的Flag標(biāo)志位。
3.2掃描程序設(shè)計
采用5個光電感應(yīng)器對軌道進(jìn)行循跡。小車循跡流程圖如圖8所示。
圖8 掃描程序Fig.8 The scanner
智能公交小車使用后輪驅(qū)動,后輪左右兩邊各有一個驅(qū)動電機(jī),通過調(diào)整后面2個輪子的轉(zhuǎn)速,從而達(dá)到控制專項的目的;前面的輪子則是萬象輪,只起到支撐作用。將紅外電光傳感器分別裝在車身的兩側(cè)和前端,當(dāng)車身左側(cè)的紅外傳感器檢測到黑線時,芯片控制左輪電機(jī)減速,使得行駛路線向右修正;當(dāng)車身右側(cè)的紅外線傳感器檢測到黑線時,芯片控制右輪電機(jī)減速,使得行駛路線向左修正;車身中間的紅外線傳感器會一直檢測標(biāo)志線,當(dāng)檢測到標(biāo)志線時會左轉(zhuǎn),這就使小車在軌道中行駛。
避障原理和循跡原理是一樣的,在車頭的前后兩端和中間各裝有一個紅外傳感器,當(dāng)車身左側(cè)的紅外傳感器檢測到障礙物時,小車的右輪開始減速,使小車向右行駛,從而達(dá)到向右修正行駛路線的目的;當(dāng)車身右側(cè)的紅外傳感器檢測到有障礙物時,小車的左輪開始減速,使小車向左行駛,從而達(dá)到向左修正行駛路線的目的;當(dāng)車身的中間或全部的傳感器都檢測到障礙物時,小車定向轉(zhuǎn)動,從而達(dá)到避開障礙物的目的。
3.3電機(jī)控制程序設(shè)計
該設(shè)計中使用的是2個電機(jī)對小車狀態(tài)進(jìn)行實時改變,由于單片口輸出電流低不能直接驅(qū)動電機(jī)轉(zhuǎn)動,所以本設(shè)計采用L298N芯片來驅(qū)動電機(jī)轉(zhuǎn)動。改變小車子程序流程圖如圖9所示。
圖9 電機(jī)控制程序Fig.9 Motor control program
本系統(tǒng)由單片機(jī)最小系統(tǒng)、光電感應(yīng)循跡模塊,電機(jī)驅(qū)動模塊、超聲測距模塊和紅外接收模塊組成。光電感應(yīng)器循跡模塊用于檢測道路上的黑線,主控器將采集的信號進(jìn)行處理后,控制電機(jī)驅(qū)動模塊運行,驅(qū)動小車底盤上的2個電機(jī)工作,實現(xiàn)對小車速度和運動方向的控制。本次開發(fā)是通過軟硬件探索改進(jìn),利用Protel軟件設(shè)計電路原理圖,采用Keil軟件設(shè)計編寫系統(tǒng)的驅(qū)動程序,實現(xiàn)智能公交小車的系統(tǒng)研究設(shè)計。該系統(tǒng)操作簡單、智能化程度高、抗干擾性強(qiáng),具有廣泛的應(yīng)用價值。
[1]曾增烽,劉浩,李雪.基于51單片機(jī)的串行通信協(xié)議的實現(xiàn)[J].硅谷,2009(13):22.
[2]趙海蘭.基于單片機(jī)的紅外遙控智能小車的設(shè)計[J].無線互聯(lián)科技,2011(3):36-38.
[3]何立民.單片機(jī)技術(shù)的現(xiàn)狀與未來[N].中國計算機(jī)報,2012-03-15.
[4]周淑娟.基于單片機(jī)智能尋跡小車的設(shè)計方案[J].工業(yè)技術(shù)與職業(yè)教育,2011,9(2):15-17.
[5]韓毅,楊天.基于HCS12單片機(jī)的智能尋跡模型車的設(shè)計與實現(xiàn)[J].學(xué)術(shù)期刊,2012,29(18):4736-4739.
[6]寸曉非.基于飛恩卡爾微控制器的智能循跡小車的設(shè)計[J].荊楚理工學(xué)院學(xué)報,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-),女,碩士,實驗師,主要研究方向:計算機(jī)網(wǎng)絡(luò)及單片機(jī)。