朱 麗, 陶 沙, 王銀花
(銅陵學(xué)院電氣工程學(xué)院,安徽 銅陵 244061)
現(xiàn)在,智能小車已經(jīng)深入到各個行業(yè)制造中,例如農(nóng)產(chǎn)品的加工、原材料的制作、物流中轉(zhuǎn)等[1-3],確實大大提高的工業(yè)效率。國內(nèi)大學(xué)生耳熟能詳?shù)摹帮w思卡爾”智能車比賽,正說明智能車的重要程度[4-6]。
智能公交小車系統(tǒng),是一個可以對周圍環(huán)境有識別能力,并且能夠自動運(yùn)動,具有環(huán)境探測、傳感系統(tǒng)、自動控制的一個綜合性智能系統(tǒng)[7-9]。 近年來創(chuàng)新驅(qū)動發(fā)展理念以及共享的發(fā)展理念流行,將智能化技術(shù)與公交車進(jìn)行結(jié)合[10],設(shè)計出一個能夠?qū)崿F(xiàn)智能化操作的公交小車系統(tǒng),具有很大的現(xiàn)實意義。
本系統(tǒng)設(shè)計以微處理器作為小車的控制中心,要求能夠控制電機(jī),并準(zhǔn)確計時。本次設(shè)計中的智能公交小車能完成循跡和避障功能。 完成循跡功能時,需要在公交小車的前部左輪和右輪放置電機(jī),即采用前輪驅(qū)動,就可以分別操控左輪和右輪的旋轉(zhuǎn),后輪的兩個輪胎不做任何改動,僅僅起到支持作用,由前輪帶動后輪,轉(zhuǎn)速自行調(diào)整。當(dāng)小車需要左轉(zhuǎn)時,關(guān)閉左輪,只讓右輪啟動,會使車向左轉(zhuǎn)向;當(dāng)小車需要右轉(zhuǎn)時,關(guān)閉右輪,則小車會向右轉(zhuǎn)向;當(dāng)小車需要直行時,兩電機(jī)同時開啟保持同一轉(zhuǎn)速,小車直行。在小車的前方左右兩側(cè)、中央三個方向分別放置路徑傳感器,如果三個傳感器均檢測到路徑感應(yīng)的時候,小車判斷到了停止線,立即關(guān)閉電機(jī)停車。 完成避障功能時,需要在公交小車的前方左右兩側(cè)、中央三個方向分別放置紅外檢測儀器,當(dāng)接近障礙物時,檢測信號會反饋給單片機(jī),由單片機(jī)發(fā)出指令控制小車,做出相應(yīng)的應(yīng)對措施。如果在前方和左側(cè)均檢測到障礙物,小車應(yīng)右轉(zhuǎn)避開障礙物,通過控制轉(zhuǎn)向的時間,來決定旋轉(zhuǎn)的幅度和角度,從而達(dá)到躲避障礙的目的。一般將小車的旋轉(zhuǎn)角度定位90度,若要讓小車合理的避開障礙物,必須控制小車的速度,以防轉(zhuǎn)彎太慢而撞擊障礙物或是轉(zhuǎn)彎幅度太大導(dǎo)致偏離路線,同時不同的地面也應(yīng)有不同的設(shè)定,本系統(tǒng)設(shè)計以平整水泥地面為例。
結(jié)合上述需求分析,給出系統(tǒng)的總框圖,如圖1所示。
智能公交小車由以下五個模塊組成:
(1)主控制模塊:主控芯片為單片機(jī),單片機(jī)接收其他模塊反饋的信息,處理后下達(dá)控制指令。
(2)驅(qū)動模塊:用于控制小車的輪胎的轉(zhuǎn)動、停止、左轉(zhuǎn)和右轉(zhuǎn)等基本動作。
(3)循跡模塊:由小車左側(cè)、中央、右側(cè)三個方向上的路徑檢測傳感器組成,用于檢測路徑位置、并反饋給主控器。
(4)避障模塊:由小車左側(cè)、中央、右側(cè)三個方向上的障礙檢測傳感器組成,用了檢測在小車前進(jìn)過程中的障礙物,發(fā)現(xiàn)障礙物時發(fā)出反饋信號給主控器。
(5)電源模塊:用于給主控器和電機(jī)供電,保證各模塊正常工作。同時增加小車自身重量,能夠使小車前進(jìn)過程更加平穩(wěn)。
圖1 系統(tǒng)模塊圖
1)主控器
主控器作為整個智能公交小車系統(tǒng)的控制模塊,是最主要的一個部分,結(jié)合本次設(shè)計的功能,選用STC89C52RC單片機(jī)。
STC89C52單片機(jī)擔(dān)當(dāng)信號分析的作用,需要同時控制兩個電機(jī)以及接收來自循跡模塊和避障模塊的信號,從而控制整個小車的行動。
2)驅(qū)動模塊
使用單片機(jī)控制兩個串聯(lián)的三極管,并將工作狀態(tài)調(diào)整為開關(guān)狀態(tài),即可以控制電機(jī)的開啟與關(guān)閉,達(dá)到調(diào)整電機(jī)轉(zhuǎn)速的目的。由于電路始終工作在飽和截止?fàn)顟B(tài),因此整個電路的效率非常高。基于上述的分析,最終采用L298N作為驅(qū)動模塊。
L298N轉(zhuǎn)速的調(diào)整上十分平滑(不會出現(xiàn)旋轉(zhuǎn)速度的突變),轉(zhuǎn)速的調(diào)速范圍大(可以自由的調(diào)整成各種需要的速度),負(fù)載能力強(qiáng)(能夠承受頻繁的負(fù)載沖擊),還可以實現(xiàn)頻繁的快速啟動、停止以及反轉(zhuǎn)等操作。L298N在性能上十分優(yōu)越,因此需要連接一個功率三極管作為信號放大器的輸出以便調(diào)控直流電機(jī)。
L298N在本系統(tǒng)設(shè)計中需要接入兩個電機(jī),分別控制智能電動小車左輪和右輪,以此來達(dá)到控制小車的左轉(zhuǎn)、右轉(zhuǎn)、直行和后退,
3)循跡與避障模塊
循跡與避障均采用一體式的紅外檢測傳感器,由于紅外檢測傳感器的特性,可以有效的降低可見光對于系統(tǒng)設(shè)計的影響,同時又具備感知靈敏度高,能夠有效的產(chǎn)生對感知物體的反饋,傳感器本身的質(zhì)量較輕,對于小車的行駛不會造成太大的影響,能有效的保證設(shè)計質(zhì)量。本系統(tǒng)選用TCRT5000型光電對管作為紅外檢測傳感器。
循跡與避障都需要在智能公交小車的前方左右兩側(cè)、中央放置紅外傳感器,在這三個方向進(jìn)行路徑識別和障礙物識別。利用紅外線照射在各個物體上反射結(jié)果表現(xiàn)出的差別性進(jìn)行識別,在本系統(tǒng)設(shè)計中,發(fā)現(xiàn)黑線上反射出的紅外光和在白紙上反射出的紅外光對于接收器來說是不同的,在白紙上的紅外光發(fā)生漫反射,以至于小車能夠識別反射的光,但是黑線上的紅外光則被吸收,這樣就導(dǎo)致紅外光無法被吸收,該區(qū)域就會被區(qū)別開。LM324將接受的信號進(jìn)行比較并輸出結(jié)果,進(jìn)而對信號進(jìn)行檢測,完成避障與循跡。
4)路徑顯示模塊
利用傳感器記錄小車的路程長度,具體可通過計算小車的輪胎轉(zhuǎn)速和行駛時間來計算路程,利用數(shù)字顯示電路使其通過數(shù)碼管顯示出來,保證實時監(jiān)測路程。
主流程圖如圖2所示。
圖2 系統(tǒng)主流程圖
在本智能公交小車系統(tǒng)的軟件設(shè)計中,需要有以下思路:
①小車啟動后,優(yōu)先執(zhí)行循跡模塊部分,令小車在啟動之后,優(yōu)先進(jìn)入事先標(biāo)記好的路線。
②小車在進(jìn)入循跡模式后,始終保持避障模塊的感應(yīng),當(dāng)檢測到障礙物時,設(shè)置中斷,從而進(jìn)入避障模塊,在成功進(jìn)行避障之后,轉(zhuǎn)換回循跡模式。
③小車在循跡的過程中,需要不斷的檢測終點線,在成功的檢測到終點線后,即可關(guān)閉小車系統(tǒng),實現(xiàn)小車的停止。
1)循跡模塊
單片機(jī)接收紅外傳感器的信號,通過分別設(shè)置需要進(jìn)行調(diào)整的情況,如下:
> 如果小車在車的正前方檢測到軌跡路線,則小車直行,并保持一段時間。
> 如果小車在車的左側(cè)檢測到軌跡路線,則小車左轉(zhuǎn),完成小車的方向轉(zhuǎn)換。
> 如果小車在車的右側(cè)檢測到軌跡路線,則小車右轉(zhuǎn),完成小車的方向轉(zhuǎn)換。
小車在啟動后,需要一直保持循跡的模式,通過不斷反復(fù)的執(zhí)行程序,從而達(dá)到實時監(jiān)控的目的,保證小車循跡的有效性。當(dāng)小車在三個方向上均檢測到軌跡路線時,說明小車已達(dá)到終點,小車掉電停止。
2)避障模塊
在本系統(tǒng)設(shè)計中,可以通過設(shè)置中斷的方式來達(dá)成目的。在主程序中,只要探測到有任何一個方向檢測到障礙物,為了保證小車的安全,就要優(yōu)先進(jìn)行避障操作。通過對不同的探測狀況,采取相應(yīng)的措施:
> 當(dāng)小車只有左側(cè)檢測到障礙的情況下,小車進(jìn)行直行操作,當(dāng)不在檢測時,繼續(xù)進(jìn)行循跡。
> 當(dāng)小車只有前側(cè)檢測到障礙時,小車則需要先進(jìn)行右轉(zhuǎn)操作,為了避免小車的行動方向改變,則追加左轉(zhuǎn)操作。
> 當(dāng)小車只有右側(cè)檢測到障礙的情況下,小車進(jìn)行直行操作,當(dāng)不在進(jìn)行檢測時,繼續(xù)進(jìn)行循跡。
> 當(dāng)小車的左側(cè)和前側(cè)檢測到障礙的情況下,小車進(jìn)行右轉(zhuǎn)。
> 當(dāng)小車的右側(cè)和前側(cè)檢測到障礙的情況下,小車進(jìn)行左轉(zhuǎn)。
> 當(dāng)小車的左側(cè)和右側(cè)檢測到障礙的情況下,小車需要直行。
> 當(dāng)小車的三個方向上均檢測到障礙的情況下,小車智能的進(jìn)行緊急熄火措施。
圖3 循跡與避障指示圖
通過proteus對智能公交小車的驅(qū)動模塊、循跡模塊、避障模塊以及路程顯示模塊分別進(jìn)行仿真,在驅(qū)動模塊中,小車正常進(jìn)行直行、左轉(zhuǎn)、右轉(zhuǎn)以及后退的操作;在循跡模塊的仿真中,循跡指示燈正常工作,小車正常完成循跡功能;在避障模塊中,指示器能夠正常識別障礙位置并且小車的行動符合避障過程;路程顯示模塊也可以正常的顯示路程的多少。如圖3和圖4所示。
圖4 顯示流程示意圖
整個智能公交小車系統(tǒng)以單片機(jī)為核心,通過紅外傳感器判斷路徑和障礙物,實現(xiàn)小車的循跡和避障功能,通過外部硬件和內(nèi)部程序相結(jié)合,最終完成小車的設(shè)計。智能公交小車雖然能夠完成設(shè)計目的所需要的功能,但轉(zhuǎn)向時速度控制不明顯,轉(zhuǎn)彎時間較長,且缺乏對連續(xù)遭遇障礙情況的考慮,后續(xù)可以進(jìn)一步進(jìn)行改進(jìn)。