葛亦斌 盛蒙蒙 馬 棟 邱 燁
[摘要]系統(tǒng)的控制部分以單片機(jī)為核心,通過(guò)對(duì)前向通道各種傳感器信號(hào)的采集、處理,較好地實(shí)現(xiàn)后向通道驅(qū)動(dòng)及轉(zhuǎn)向電機(jī)的運(yùn)動(dòng)控制和相關(guān)信息的女l理。系統(tǒng)采用AT89C52為中心控制器,實(shí)現(xiàn)電動(dòng)車的智能控制功能。整個(gè)電動(dòng)車智能控制系統(tǒng)包括:上位機(jī)實(shí)時(shí)模擬系統(tǒng),主控制系統(tǒng)和各種標(biāo)志的傳感器檢測(cè)系統(tǒng)三大部分。檢測(cè)控制系統(tǒng)通過(guò)各傳感器檢測(cè)引導(dǎo)線、障礙物和光源等控制信號(hào),并送入單片機(jī),單片機(jī)判斷、處理后,控制MOTORI(左輪驅(qū)動(dòng)電機(jī))和MOTOR~(右輪驅(qū)動(dòng)電機(jī)),以達(dá)到控制電動(dòng)車行進(jìn)方向的目的a在正向行駛時(shí),當(dāng)傳感器檢測(cè)到路口口時(shí)進(jìn)行左轉(zhuǎn)。倒退過(guò)程中時(shí),也將行進(jìn)方向作為前方,當(dāng)檢測(cè)到躥口口時(shí)進(jìn)行左轉(zhuǎn)。
[關(guān)鍵詞]光電傳感器自動(dòng)遍歷出錯(cuò)控制
中圖分類號(hào):TP2文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1671—7597(2009)1020044--01
一、引言
小車自動(dòng)遍歷是為了讓小車能夠自動(dòng)的循跡行駛完所有的標(biāo)志點(diǎn),實(shí)現(xiàn)小車識(shí)別路線,判斷路口,選擇正確的行進(jìn)路線,最后返回到初始點(diǎn)。導(dǎo)引方式采用與地面顏色差別較大的引導(dǎo)線,使用反射式光電傳感器,驅(qū)動(dòng)電路為直流電機(jī),控制方式為單向的pwm開(kāi)環(huán)控制,控制的核心是8051單片機(jī)。由于小車在行駛的路線過(guò)程中不能標(biāo)志駛過(guò)的路線,因此會(huì)有一定得重復(fù)路線。在實(shí)際中最常用的是十字路口和三岔路口,并且受到傳感器的限制,本次設(shè)計(jì)主要針對(duì)小于4個(gè)路口的線路,各個(gè)路口也必須得成直角才能被傳感器識(shí)別。小車按指定路線運(yùn)行,自動(dòng)區(qū)分直線軌道和彎路軌道,在指定彎路處拐彎,實(shí)現(xiàn)靈活前進(jìn)、轉(zhuǎn)彎、倒退等功能。
對(duì)于遍歷小車控制系統(tǒng)的設(shè)計(jì)主要有三個(gè)方面:一是控制電路;二是傳感器的安放設(shè)計(jì);三是程序算法設(shè)計(jì)。
二、控制電路
(一)直流電機(jī)驅(qū)動(dòng)電路。這里的循跡是指小車在黑色地板上循白線行走,通常采取的方法是紅外探測(cè)法。紅外探測(cè)法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過(guò)程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時(shí)發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來(lái)的紅外光為依據(jù)來(lái)確定黑線的位置和小車的行走路線。紅外探測(cè)器探測(cè)距離有限,一般最大不應(yīng)超過(guò)3cm。
(二)光電傳感器電路。光電傳感器接受到的是微弱的電信號(hào),必須先通過(guò)放大器電路進(jìn)行電壓的放大,然后通過(guò)光電隔離得出穩(wěn)定的高低壓信號(hào),為了在測(cè)試的時(shí)候方便觀察,在檢測(cè)到的電壓信號(hào)中并接一個(gè)小燈。共有5個(gè)傳感器:將三個(gè)傳感器分布安裝成三角型,在兩底角下在對(duì)稱安裝兩個(gè)。
(三)硬件尋跡光電對(duì)管的安裝??紤]到設(shè)計(jì)要求,本次設(shè)計(jì)僅用7對(duì)光電傳感器就能完成設(shè)計(jì)要求,中間四對(duì)傳感器用來(lái)校正小車的尋跡路線,保證小車運(yùn)行的直線性。兩側(cè)的傳感器用來(lái)檢測(cè)小車過(guò)線,可以實(shí)現(xiàn)小車的轉(zhuǎn)彎和小車走過(guò)的方格的計(jì)數(shù)。當(dāng)車體中間通過(guò)白線時(shí),小車在相應(yīng)的坐標(biāo)方向上加一計(jì)數(shù)。車輪處的傳感器記錄小車的運(yùn)行速度和里程數(shù)。
鍵盤電路:該項(xiàng)功能主要是通過(guò)掃描鍵盤通過(guò)接受到的不同的電壓來(lái)區(qū)別不同的功能,我在這里主要用到的是2x4的鍵盤,主要有:停止,前進(jìn),后退,速度1,速度2,速度3,速度4,速度5這些功能。
動(dòng)態(tài)掃描占用了cpu的工作時(shí)間,雖然在此設(shè)計(jì)中沒(méi)有多大的影響,但在實(shí)物演示的時(shí)候有些影響小車的實(shí)時(shí)性,對(duì)精度要求較高的場(chǎng)合最好運(yùn)用中斷。
該項(xiàng)功能主要是通過(guò)程序讀取外界得來(lái)的信號(hào)來(lái)完成電機(jī)的不同加速,停止,和后退,觀察電機(jī)上的數(shù)字就可以看出電機(jī)的速度。
由于在protuse的仿真中沒(méi)有傳感器,只能通過(guò)按鍵來(lái)模擬檢測(cè)到的仿真信號(hào),通過(guò)讀取鍵盤的不同值模擬傳感器的功能,主要用到4個(gè)傳感器,左邊兩個(gè),右邊兩個(gè),相互對(duì)稱。分別為左一,左二,右一,右二。當(dāng)左一和右一檢測(cè)到有信號(hào)時(shí)點(diǎn)擊開(kāi)始以一定的速度減速,當(dāng)左二,右二檢測(cè)到有信號(hào)時(shí)點(diǎn)擊開(kāi)始以更快的速度減速。進(jìn)行軟件模擬成功。
三、軟件設(shè)計(jì)
(一)傳感器數(shù)據(jù)處理及尋跡程序流程。我們用一個(gè)字節(jié)來(lái)代表車底的5個(gè)光電傳感器。用每一個(gè)位來(lái)代表當(dāng)前傳感器的檢測(cè)狀態(tài)。我們把小車直線行進(jìn)時(shí)分成三種狀態(tài),當(dāng)中間四個(gè)傳感器都檢測(cè)到白線時(shí),小車在跑道的正上方,這時(shí)控制兩電機(jī)同速度全速運(yùn)行。當(dāng)檢測(cè)到有一個(gè)傳感器或者同側(cè)的兩個(gè)傳感器偏出白線時(shí),小車處于微偏狀態(tài),這時(shí)將一個(gè)電機(jī)速度調(diào)慢,另一電機(jī)速度調(diào)快,完成調(diào)整。當(dāng)檢測(cè)到有三個(gè)電機(jī)偏出時(shí),小車處于較大的偏離狀態(tài),這時(shí)把一個(gè)電機(jī)的速度調(diào)至極低,另一電機(jī)全速運(yùn)行,從而在較短時(shí)間內(nèi)完成路線的調(diào)整。
用這種三級(jí)調(diào)速的尋跡算法同單純的判斷檢測(cè)到對(duì)管的位置并作出判斷的方法相比,程序思路清晰,程序執(zhí)行結(jié)果較好。
該檢測(cè)傳感器子程序如下:獲取各個(gè)傳感器的電平一>轉(zhuǎn)化為小車偏離狀況:當(dāng)偏離較大時(shí)調(diào)整函數(shù):當(dāng)未偏時(shí)直行函數(shù);當(dāng)微偏是微調(diào)函數(shù);當(dāng)十字路口時(shí)轉(zhuǎn)彎函數(shù):當(dāng)三岔路口時(shí)轉(zhuǎn)彎函數(shù)。
(二)算法實(shí)現(xiàn)。本次設(shè)計(jì)的調(diào)速主要是通過(guò)pwm進(jìn)行調(diào)速,通過(guò)改變pwm的占空比來(lái)改變電機(jī)的平均電壓,以方便進(jìn)行電機(jī)的調(diào)速。
在正向行駛時(shí),當(dāng)傳感器檢測(cè)到路口時(shí)進(jìn)行左轉(zhuǎn)。倒退過(guò)程中時(shí),也將行進(jìn)方向作為前方,當(dāng)檢測(cè)到路口時(shí)進(jìn)行左轉(zhuǎn)。
四、缺陷和限制
在軟件中已近基本能夠完成小車的自動(dòng)尋跡,但由于傳感器的限制,不能很好的看到仿真的效果,要確定它的實(shí)際特點(diǎn)就必須進(jìn)行實(shí)物的設(shè)計(jì)。在規(guī)定的線路上進(jìn)行測(cè)試。
十字路口和三岔路口必須做到直角,這樣傳感器就可以檢測(cè)到信號(hào)。供電電壓不穩(wěn)定,易導(dǎo)致小車車速不穩(wěn)定,則距離不好控制;另外路線固定不變,不能應(yīng)對(duì)意外事件,而且想要準(zhǔn)確跑完全程對(duì)于電動(dòng)車的起始位置、直線行進(jìn)參數(shù)、轉(zhuǎn)彎半徑進(jìn)行精密測(cè)量和計(jì)算,智能化差。
由于條件有限,存在傳感器誤差;電機(jī)轉(zhuǎn)速的誤差使兩個(gè)相同型號(hào)的電機(jī)的轉(zhuǎn)速可能保持完全同步。
五、系統(tǒng)出錯(cuò)處理設(shè)計(jì)
補(bǔ)救措施說(shuō)明故障出現(xiàn)后可能采取的變通措施,包括:恢復(fù)及再啟動(dòng)技術(shù)說(shuō)明將使用的恢復(fù)再啟動(dòng)技術(shù),使軟件從故障點(diǎn)恢復(fù)執(zhí)行或使軟件從頭開(kāi)始重新運(yùn)行的方法:可進(jìn)行復(fù)位;運(yùn)用pcb板具有更好的穩(wěn)定性:運(yùn)用看門狗函數(shù),當(dāng)程序跑偏可進(jìn)行復(fù)位設(shè)置;不斷對(duì)程序的改進(jìn)。
六、分析結(jié)果討論
在軟件的設(shè)計(jì)中完成了檢測(cè)不同的傳感器信號(hào)進(jìn)行調(diào)速,和不同的鍵盤來(lái)完成電機(jī)的調(diào)速,也可以將鍵盤的函數(shù)改成無(wú)限模塊的設(shè)計(jì),就可以進(jìn)行遠(yuǎn)距離的調(diào)速。