李佳楠 賈婷 張婷婷 沈陽工學(xué)院信息與控制學(xué)院
整個系統(tǒng)基于玩具小車的機械結(jié)構(gòu),并利用了小車的底盤、轉(zhuǎn)向控制電機、行駛狀態(tài)控制電機,能夠平穩(wěn)跟蹤路面黑色軌跡運行,并能實時的根據(jù)小車的行駛情況對小車的狀態(tài)進行調(diào)整,此部分通過專業(yè)的電機驅(qū)動芯片L298N控制。
小車控制系統(tǒng)總體結(jié)構(gòu)如下圖所示。以STC89C52單片機為控制核心,主要由電源模塊、尋跡檢測模塊、紅外對射測速模塊、直流電機驅(qū)動模塊、數(shù)碼管顯示模塊等功能模塊組成。首先利用光電傳感器對路面信號進行檢測,經(jīng)過比較器處理后,送給單片機進行實時控制,單片機輸出相應(yīng)的信號給驅(qū)動芯片驅(qū)動電機轉(zhuǎn)動,從而控制整個小車的運動。與此同時,紅外對射管傳感器開始對小車的行駛速度進行檢測,并通過程序算法將小車的行駛速度與行駛距離實時的顯示在數(shù)碼管上。
由于小車在設(shè)計過程中,采用了模塊化的設(shè)計思路,所以在進行調(diào)試時非常方便??梢苑謩e對每一個功能部分來進行調(diào)試,驅(qū)動部分調(diào)試時,只要給電機向前或者向后的信號,就可以調(diào)試出其功能。循跡部分調(diào)試時,只要通過檢測到黑線,判斷是否沿黑線行駛,即可以調(diào)試出。在進行避障調(diào)試中,可以把障礙物放在小車前方,然后看小車兩個輪子的轉(zhuǎn)向。這種模塊化的設(shè)計思想不僅簡化了設(shè)計過程,而且對以后的設(shè)計也會有一定啟發(fā)。
本設(shè)計系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序、電機驅(qū)動子程序、中斷子程序、顯示子程序、調(diào)速子程序等構(gòu)成。主要功能是負責對傳感器信號的采集和控制,電機前進后退,左轉(zhuǎn)右轉(zhuǎn)的速度調(diào)節(jié),實現(xiàn)小車的靈活避障,以及對單片機的初始化編程等工作。
小車進入循跡模式后,即開始不停地掃描與探測器連接的單片機I/O口,一旦檢測到某個I/O口有信號,即進入判斷處理程序,先確定探測器中的哪一個探測到了黑線,如果左面第一級傳感器或者左面第二級傳感器探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時應(yīng)使小車向左轉(zhuǎn);如果是右面第一級傳感器或右面第二級傳感器探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應(yīng)使小車向右轉(zhuǎn)。在經(jīng)過了方向調(diào)整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復(fù)上述動作。由于第二級方向控制為第一級的后備,則兩個等級間的轉(zhuǎn)向力度必須相互配合。第二級通常是在超出第一級的控制范圍的情況下發(fā)生作用,它也是最后一層保護,所以它必須要保證小車回到正確軌跡上來,則通常使第二級轉(zhuǎn)向力度大于第一級。
為保證小車能正常行駛,循跡部分的黑線寬度應(yīng)在3.5至4cm。避障軌道的寬度應(yīng)大于20cm小于25cm。
在小車各個部分的電路焊接完成后,就開始對小車進行整體組裝。利用購買的高強度塑料制成的模型作為小車的車體,然后分別將各模塊按照功能安裝固定好。紅外循跡模塊固定在車體底部,因為其作用是來檢測地面黑線存在,而且其工作距離也有一定限制,所以不能放在離地面太高的地方。超聲波探測模塊則應(yīng)該置于小車正前方,其目的主要是用來發(fā)現(xiàn)前方障礙物,其安裝高度要合適。對于驅(qū)動模塊和最小單片機系統(tǒng),安裝在小車正中間,因為其要與各模塊之間進行連接。供電電源則放在小車車尾,這樣有利于小車整體重量的均勻分布,也可以在進行充電時,更加方便拆裝。
小車的左右轉(zhuǎn)彎進行調(diào)試時,可以在程序里給定每個電機引腳信號,看小車的轉(zhuǎn)動是否滿足所設(shè)定的方向。通過調(diào)試可知,小車的運動方向與初始設(shè)置相同,能夠?qū)崿F(xiàn)。
通過對小車的各項功能進行測試,可以發(fā)現(xiàn),在合適的工作條件下,小車基本可以達到設(shè)計要求。因此,本設(shè)計完成了預(yù)先的設(shè)計任務(wù),實現(xiàn)了所有功能。小車可以進行循跡功能,檢測到黑線以后,會沿著黑線進行行進??梢赃M行避障功能,在檢測到障礙物以后,小車會原地旋轉(zhuǎn)180度進行避障處理,然后繼續(xù)行駛。
整個系統(tǒng)的設(shè)計以單片機為核心,利用了多種傳感器,將軟件和硬件相結(jié)合。本系統(tǒng)能實現(xiàn)如下功能:
(1)自動沿預(yù)設(shè)軌道行駛小車在行駛過程中,能夠自動檢測預(yù)先設(shè)好的軌道循跡,若有偏離,能夠自動糾正,返回到預(yù)設(shè)軌道上來。
(2)通過安裝在主板上的數(shù)碼管能夠?qū)崟r顯示小車當前行駛速度與行駛距離。
從運行情況來看循跡的效果比較好,顯示的效果不是很好,認為是由于軟件部分的原因。另外就是小車的速度不好控制,雖然采用了專業(yè)的電機控制芯片,但pwm調(diào)速有待完善,這也是這次設(shè)計的誤區(qū)。相信如果實驗條件和時間的允許下肯定能解決這一問題。
測試結(jié)果表明:本組智能小車能很好的完成了循跡和避障功能,循跡跑道是由黑色膠布在白色地面上拉線完成,小車可以從O型跑道的任何段為起點,跑完全程。避障跑到是通過擺放障礙物,小車可以走出障礙區(qū)間。