小車自動尋跡控制
西南民族大學(xué)畢業(yè)設(shè)計(論文)
1方案論證與設(shè)計
1.1設(shè)計任務(wù)與要求
1.1.1設(shè)計任務(wù)
設(shè)計制作一個自動尋跡小車模型,能夠沿著白紙上黑色的軌跡平穩(wěn)、流暢的行進(jìn)。場地如圖1所示:
圖1:場地示意圖
1.1.2設(shè)計要求
(1)小車能夠正確的尋找黑線行進(jìn);
(2)小車在行進(jìn)時不要蛇行前進(jìn);
(3)小車在彎道上行駛時不要脫軌。
1.2模塊方案的論證與比較
根據(jù)題目的設(shè)計要求,本設(shè)計主要實(shí)現(xiàn)小車能夠沿著黑色的軌跡前進(jìn),同時能夠自動搜尋黑色軌跡行進(jìn)的功能。本系統(tǒng)主要由電源模塊、尋跡傳感器模塊、控制器模塊、直流電機(jī)及其驅(qū)動模塊、舵機(jī)模塊等組成。其系統(tǒng)方案框圖如圖2所示。為實(shí)現(xiàn)各模塊功能,提出了幾種設(shè)計方案并進(jìn)行論證。
控制器模塊
測速計程模塊
顯示模塊
尋跡模塊
驅(qū)動模塊
穩(wěn)壓模塊
電源模塊
圖2 系統(tǒng)方框圖
1.2.1車體設(shè)計
方案1:自己制作電動小車。如果自己制作小車的話成本將會太高,我們也沒有那么多的精力去做這些事情。因此我們放棄了此方案。
方案2:購買玩具電動小車。購買的玩具電動車具有組裝完整的車架車輪及其電機(jī)。為我們做設(shè)計提供了很大的平臺,同時很容易購買到我們需要的車體。
因此我們最終選用了方案2。
1.2.2控制器模塊
方案1:采用凌陽16位單片機(jī)SPCE061A作為控制核心。它是16位控制器,具有體積小、驅(qū)動能力強(qiáng)、易擴(kuò)展、可靠性高、功耗低、中斷處理能力強(qiáng)等特點(diǎn)。尤其適用于語音處理和識別等領(lǐng)域。但是本系統(tǒng)主要是進(jìn)行尋跡運(yùn)行的檢測以及電機(jī)的控制。從系統(tǒng)編程的簡潔性考慮,我們放棄了使用凌陽SPCE061A單片機(jī)而考慮其它的方案。
方案2:采用89C54RD+芯片,它屬于89C51系列的產(chǎn)品,具有如下特性:時鐘主頻可設(shè)置在0-80M,具有16K的片內(nèi)Flash程序存儲器和1280字節(jié)的數(shù)據(jù)RAM和1K的E2PROM,內(nèi)置看門狗并支持雙倍速,具有較高的性價比。選擇89C54RD+芯片的原因還在于它有一顯著優(yōu)點(diǎn),即具有在線可編程(ISP)的特性,即不用通用的編程器,只需在用戶系統(tǒng)上就可下載/燒錄用戶程序到89C54RD+芯片。不用仿真器,這樣給軟件的開發(fā)帶來了更多的方便和靈活性。
綜上分析,選擇方案2。
1.2.3電源模塊
由于本系統(tǒng)需要電池供電,我們考慮了如下幾種方案為系統(tǒng)供電。
方案1:采用12V蓄電池為系統(tǒng)供電。蓄電池具有較強(qiáng)的電流驅(qū)動能力以及穩(wěn)定的電壓輸出性能。但是蓄電池的體積過于龐大,在小車上使用極為不方便。因此我們放棄了此方案。
方案2:采用3節(jié)4.2V可充電式鋰電池為直流電機(jī)供電,用2節(jié)鋰電池經(jīng)過7805的電壓變換為單片機(jī)和傳感器供電。再用2節(jié)鋰電池經(jīng)另一套7805電壓變換電路為舵機(jī)供電。采用此種供電方式后,單片機(jī)和傳感器工作穩(wěn)定,舵機(jī)直流電機(jī)工作互不影響,且電池的體積較小,能夠滿足系統(tǒng)的要求。
綜上考慮,我們選擇了方案2。
1.2.4電機(jī)模塊
本系統(tǒng)為小車自動尋跡,對于小車來說,其驅(qū)動輪的驅(qū)動電機(jī)的選擇就顯得十分重要。由于本實(shí)驗(yàn)要實(shí)現(xiàn)對軌跡的準(zhǔn)確搜索和精確測量,我們綜合考慮了一下兩種方案。
方案1:采用步進(jìn)電機(jī)作為該系統(tǒng)的驅(qū)動電機(jī)。由于其轉(zhuǎn)過的角度可以精確的定位,可以實(shí)現(xiàn)小車前進(jìn)路程和位置的精確定位。雖然采用步進(jìn)電機(jī)有諸多優(yōu)點(diǎn),但是步進(jìn)電機(jī)的輸出力矩較低,隨轉(zhuǎn)速的升高而下降,且在較高轉(zhuǎn)速時會急劇下降,其轉(zhuǎn)速較低,不適用于小車對速度有一定要求的系統(tǒng)。經(jīng)綜合比較考慮,我們放棄了此方案。
方案2:采用直流減速電機(jī)。直流減速電機(jī)轉(zhuǎn)動力矩大,體積小,重量輕,裝配簡單,使用方便。由于其內(nèi)部由高速電動機(jī)提供原始動力,帶動變速(減速)齒輪組,可以產(chǎn)生較大扭力。能夠較好的滿足系統(tǒng)的要求。
因此,我們選擇了方案2。
1.2.5電機(jī)驅(qū)動模塊
方案1:對于直流電機(jī)用分立元件構(gòu)成驅(qū)動電路。由分立元件構(gòu)成電機(jī)驅(qū)動電路,結(jié)構(gòu)簡單,價格低廉,在實(shí)際應(yīng)用中應(yīng)用廣泛。但是這種電路工作性能不夠穩(wěn)定。很容易受到外界干擾。我們放棄了此方案。
方案2:采用專用芯片L298N作為電機(jī)驅(qū)動芯片。L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,一片L298N可以分別控制兩個直流電機(jī),而且還帶有控制使能端。用該芯片作為電機(jī)驅(qū)動,操作方便,穩(wěn)定性好,性能優(yōu)良。
因此,我們選用了方案2。
1.2.6穩(wěn)壓模塊
方案1:采用兩片7812將電壓穩(wěn)壓至12V后給直流電機(jī)供電,然后采用一片7809將電壓穩(wěn)定至9V,最后經(jīng)7805將電壓穩(wěn)至5V,給單片機(jī)系統(tǒng)和其他芯片供電,但7809和7805壓降過大,使7809和7805消耗的功率過大,導(dǎo)致7809和7805發(fā)熱量過大,因此,我們放棄了這種方案。
方案2:采用兩片7812將電壓穩(wěn)壓至12V后給直流電機(jī)供電,然后采用2576將電壓穩(wěn)至5V。2576的輸出電流最大可至3A,完全滿足系統(tǒng)要求。
綜上考慮,我們選擇了方案2。
1.2.7光電傳感器模塊
1.2.7.1紅外光電傳感器原理
光電傳感器是指能夠?qū)⒖梢姽廪D(zhuǎn)換成某種電量的傳感器.光敏二極管是最常見的光電傳感器.光敏二極管的外型與一般二極管一樣,只是它的管殼上開有一個嵌著玻璃的窗口,以便于光線射入,為增加受光面積,PN結(jié)的面積做得較大,光敏二極管工作在反向偏置的工作狀態(tài)下,并與負(fù)載電阻相串聯(lián),當(dāng)無光照時,它與普通二極管一樣,反向電流很小(<A),稱為光敏二極管的暗電流;當(dāng)有光照時,載流子被激發(fā),產(chǎn)生電子-空穴,稱為光電載流子.在外電場的作用下,光電載流子參于導(dǎo)電,形成比暗電流大得多的反向電流,該反向電流稱為光電流.光電流的大小與光照強(qiáng)度成正比,于是在負(fù)載電阻上就能得到隨光照強(qiáng)度變化而變化的電信號.光敏三極管除了具有光敏二極管能將光信號轉(zhuǎn)換成電信號的功能外,還有對電信號放大的功能.光敏三級管的外型與一般三極管相差不大,一般光敏三極管只引出兩個極——發(fā)射極和集電極,基極不引出,管殼同樣開窗口,以便光線射入.為增大光照,基區(qū)面積做得很大,發(fā)射區(qū)較小,入射光主要被基區(qū)吸收.工作時集電結(jié)反偏,發(fā)射結(jié)正偏.在無光照時管子流過的電流為暗電流Iceo=(1+β)Icbo(很小),比一般三極管的穿透電流還小;當(dāng)有光照時,激發(fā)大量的電子-空穴對,使得基極產(chǎn)生的電流Ib增大,此刻流過管子的電流稱為光電流。集電極Ic=(1+β)Ib。可見光電三極管要比光電二極管具有更高的靈敏度。
光電傳感器在一般情況下,有三部分構(gòu)成,它們分為:發(fā)送器、接收器和檢測電路。如圖3:
圖3:光電傳感器原理圖
發(fā)送器對準(zhǔn)目標(biāo)發(fā)射光束,發(fā)射的光束一般來源于半導(dǎo)體光源,發(fā)光二極管(LED)、激光二極管及紅外發(fā)射二極管。光束不間斷地發(fā)射,或者改變脈沖寬度。接收器有光電二極管、光電三極管、光電池組成。在接收器的前面,裝有光學(xué)元件如透鏡和光圈等。在其后面是檢測電路,它能濾出有效信號和應(yīng)用該信號。此外,光電開關(guān)的結(jié)構(gòu)元件中還有反射板和光導(dǎo)纖維。三角反射板是結(jié)構(gòu)牢固的反射裝置。它由很小的三角錐體反射材料組成,能夠使光束準(zhǔn)確地從反射板中返回,具有實(shí)用意義。它可以在與光軸0到25的范圍改變反射角,使光束幾乎是從一根發(fā)射線,經(jīng)過反射后,還是從這根反射線返回。
1.2.7.2光電傳感器的分類
⑴槽型光電傳感器
把一個光發(fā)射器和一個接收器面對面地裝在一個槽的兩側(cè)的是槽光電傳感器。發(fā)光器能發(fā)出紅外光或可見光,在無阻情況下光接收器能收到光。但當(dāng)被檢測物體從槽中通過時,光被遮擋,光電開關(guān)便動作。輸出一個開關(guān)控制信號,切斷或接通負(fù)載電流,從而完成一次控制動作。槽形開關(guān)的檢測距離因?yàn)槭苷w結(jié)構(gòu)的限制一般只有幾厘米。
⑵對射型光電傳感器
若把發(fā)光器和收光器分離開,就可使檢測距離加大。由一個發(fā)光器和一個收光器組成的光電開關(guān)就稱為對射分離式光電開關(guān),簡稱對射式光電開關(guān)。它的檢測距離可達(dá)幾米乃至幾十米。使用時把發(fā)光器和收光器分別裝在檢測物通過路徑的兩側(cè),檢測物通過時阻擋光路,收光器就動作輸出一個開關(guān)控制信號。
⑶反光板型光電開關(guān)
把發(fā)光器和收光器裝入同一個裝置內(nèi),在它的前方裝一塊反光板,利用反射原理完成光電控制作用的稱為反光板反射式(或反射鏡反射式)光電開關(guān)。正常情況下,發(fā)光器發(fā)出的光被反光板反射回來被收光器收到;一旦光路被檢測物擋住,收光器收不到光時,光電開關(guān)就動作,輸出一個開關(guān)控制信號。
⑷擴(kuò)散反射型光電開關(guān)
它的檢測頭里也裝有一個發(fā)光器和一個收光器,但前方?jīng)]有反光板。正常情況下發(fā)光器發(fā)出的光收光器是找不到的。當(dāng)檢測物通過時擋住了光,并把光部分反射回來,收光器就收到光信號,輸出一個開關(guān)信號。
1.2.7.3光電傳感器的特性曲線
事實(shí)上,紅外光電傳感器特性并不是簡單的白區(qū)高電壓,黑線低電壓,其電壓大小與傳感器距離黑色路徑標(biāo)記線的水平距離有定量關(guān)系:離黑線越近,電壓越低,離黑線越遠(yuǎn),則電壓越高,具體的對應(yīng)關(guān)系與光電管型號以及離地高度有關(guān),如下圖4所示:
圖4:光電傳感器的特性曲線
因此,只要根據(jù)傳感器電壓—偏移距離特性關(guān)系,即傳感器電壓上的大小就可以確定各傳感器與黑色標(biāo)記線的距離,進(jìn)而獲得車身相對路徑標(biāo)記線的位置,得到連續(xù)分布的路徑信息。
1.2.7.4光電傳感器方案的選擇
根據(jù)光電傳感器的工作原理以及特性曲線我們初步擬訂了三種方案。
方案1:用光敏電阻組成光敏探測器。光敏電阻的阻值可以跟隨周圍環(huán)境光線的變化而變化。當(dāng)光線照射到白線上面時,光線反射強(qiáng)烈,光線照射到黑線上面時,光線反射較弱。因此光敏電阻在白線和黑線上方時,阻值會發(fā)生明顯的變化。將阻值的變化值經(jīng)過比較器就可以輸出高低電平。但是這種方案受光照影響很大,不能夠穩(wěn)定的工作。因此我們考慮其他更加穩(wěn)定的方案。
方案2:用紅外發(fā)射管和接收管自己制作光電對管尋跡傳感器。紅外發(fā)射管發(fā)出紅外線,當(dāng)發(fā)出的紅外線照射到白色的平面后反射,若紅外接收管能接收到反射回的光線則檢測出白線繼而輸出低電平,若接收不到發(fā)射管發(fā)出的光線則檢測出黑線繼而輸出高電平。這樣自己制作組裝的尋跡傳感器基本能夠滿足要求,但是工作不夠穩(wěn)定,且容易受外界光線的影響,因此我們放棄了這個方案。
方案3:用TCRT5000型光電對管。TCRT5000是一種反光板型光電探測器,其發(fā)射器是一個紅外發(fā)光二極管,而接收器是一個高靈敏度的光電三極管。
TCRT5000其具有如下特點(diǎn):
(1)塑料透鏡可以提高靈敏度。
(2)內(nèi)置可見光過濾器能減小離散光的影響。
(3)體積小,結(jié)構(gòu)緊湊。
(4)當(dāng)發(fā)光二極管發(fā)出的光反射回來時,三極管導(dǎo)通輸出低電平。此光電對管調(diào)理電路簡單,工作性能穩(wěn)定。
因此,我們選擇了方案3。
1.3小車尋跡的方法與原理
1.3.1紅外探測法尋跡
這里的尋跡是指小車在白色地板上尋黑線行走,通常采取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙時發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應(yīng)超過15cm。對于發(fā)射和接收紅外線的紅外探頭,可以自己制作或直接采用集成式紅外探頭。經(jīng)過上面比較分析我們選用TCRT5000型光電對管。
1.3.2單片機(jī)如何控制尋跡
單片機(jī)控制尋跡的原理一般是分兩步走的:第一步,通過矩陣式掃描,即給光電傳感器矩陣分別輸入兩個“1”信號的行值,將輸出的4個列值信號分別存入兩個地址(如30H、31H)的低4位,低4位從高到低分別對應(yīng)著4個方向:前、后、左前、右前。然后用“F0”與這八位做“或”邏輯運(yùn)算,即屏蔽掉高四位后作為本次的信號值;第二步,將本次的信號值與上一次掃描處理后的信號值進(jìn)行邏輯處理,得出一個新方向,作為小車行進(jìn)的方向。在這個程序里,邏輯處理內(nèi)外層得到新方向是尋跡的關(guān)鍵。按照以下3種規(guī)則執(zhí)行:前后比較規(guī)則,內(nèi)外層切換規(guī)則,優(yōu)先級規(guī)則。
(1)前后比較規(guī)則
此規(guī)則是這個算法的核心規(guī)則。它的目的是盡可能的用新探測到的黑點(diǎn)作為新方向。新方向F通過
(1)來求得。邏輯處理前“0”表示黑線軌跡,邏輯處理后“1”表示軌跡行進(jìn)方向。舉例如下:以內(nèi)層為例,設(shè)當(dāng)前測得的值為,且前一次測得的值為經(jīng)過上述(1)邏輯處理后,假設(shè)結(jié)果為,則正前方是行進(jìn)的新方向。
(2)內(nèi)外層切換規(guī)則
如果4個光電傳感器前后兩次所檢測的值完全一樣,則在邏輯處理后會出現(xiàn)全零,這時保持原方向行進(jìn)。如果碰到曲線拐彎或者曲線斷續(xù),則有可能出現(xiàn)多個“1”即多個方向,這時可采用“內(nèi)外層切換規(guī)則”,也就是說從內(nèi)層切換到外層,啟用外層掃描值重復(fù)上述前后比較規(guī)則來進(jìn)行判斷。啟用外層信號進(jìn)行二次判斷能很好的處理曲線拐彎及曲線斷續(xù)等內(nèi)層處理不好的情況。但用外層信號判斷,因?yàn)槠鋫鞲衅鞑贾玫拈g隙距離比內(nèi)層大,其控制精度不如用內(nèi)層信號判斷。
(3)糾錯規(guī)則
在運(yùn)行中,傳感器有可能受到干擾而發(fā)出錯誤信號導(dǎo)致小車走錯或迷失方向,這個時候糾錯規(guī)則能讓小車后退起到糾錯作用。所謂糾錯規(guī)則就是在走錯后出現(xiàn)了內(nèi)外層左面、前面、右面均沒有探測到軌跡線的情況下,讓小車后退,一直退到前面?zhèn)鞲衅骼镉袀鞲衅魈綔y到軌跡線為止。此時再用(1)式求得新的行進(jìn)方向,從而實(shí)現(xiàn)糾錯功能。
2硬件電路的設(shè)計
2.1控制器模塊電路的設(shè)計
在控制器模塊中應(yīng)用STC89C54RD+芯片,作為控制核心對光電傳感器送來的各種信號進(jìn)行分析處理并作出相應(yīng)的動作。其工作原理如圖5
光電傳感器組
STC89C54RD+芯片
控制直流電機(jī)
控制小車轉(zhuǎn)向
圖5:硬件框圖
2.2電機(jī)驅(qū)動電路的設(shè)計
直流電機(jī)驅(qū)動電路使用最廣泛的就是H型全橋式電路,這種驅(qū)動電路可以很方便實(shí)現(xiàn)直流電機(jī)的四象限運(yùn)行,分別對應(yīng)正轉(zhuǎn)、正轉(zhuǎn)制動、反轉(zhuǎn)、反轉(zhuǎn)制動。它的基本原理圖如圖6所示。全橋式驅(qū)動電路的4只開關(guān)管都工作在斬波狀態(tài),S1、S2為一組,S3、S4為另一組,兩組的狀態(tài)互補(bǔ),一組導(dǎo)通則另一組必須關(guān)斷。當(dāng)S1、S2導(dǎo)通時,S3、S4關(guān)斷,電機(jī)兩端加正向電壓,可以實(shí)現(xiàn)電機(jī)的正轉(zhuǎn)或反轉(zhuǎn)制動;當(dāng)S3、S4導(dǎo)通時,S1、S2關(guān)斷,電機(jī)兩端為反向電壓,電機(jī)反轉(zhuǎn)或正轉(zhuǎn)制動。
圖6:H型全橋式電路原理圖
在小車動作的過程中,我們要不斷地使電機(jī)在四個象限之間切換,即在正轉(zhuǎn)和反轉(zhuǎn)之間切換,也就是在S1、S2導(dǎo)通且S3、S4關(guān)斷,到S1、S2關(guān)斷且S3、S4導(dǎo)通,這兩種狀態(tài)之間轉(zhuǎn)換。在這種情況下,理論上要求兩組控制信號完全互補(bǔ),但是,由于實(shí)際的開關(guān)器件都存在開通和關(guān)斷時間,絕對的互補(bǔ)控制邏輯必然導(dǎo)致上下橋臂直通短路,比如在上橋臂關(guān)斷的過程中,下橋臂導(dǎo)通了。這個過程可用圖7說明。
因此,為了避免直通短路且保證各個開關(guān)管動作之間的協(xié)同性和同步性,兩組控制信號在理論上要求互為倒相的邏輯關(guān)系,而實(shí)際上卻必須相差一個足夠的死區(qū)時間,這個矯正過程既可以通過硬件實(shí)現(xiàn),即在上下橋臂的兩組控制信號之間增加延時,也可以通過軟件實(shí)現(xiàn)。
由于電機(jī)在正常工作時對電源的干擾很大,如果只用一組電源時會影響單片機(jī)的正常工作,所以我們選用雙電源供電。一組5V給單片機(jī)和控制電路供電,另外一組9V給電機(jī)供電。在控制部分和電機(jī)驅(qū)動部分之間用光耦隔開,以免影響控制部分電源的品質(zhì)。
2.3 PWM控制調(diào)速
PWM(脈沖寬度調(diào)制)控制,通常配合橋式驅(qū)動電路實(shí)現(xiàn)直流電機(jī)調(diào)速,非常簡單,且調(diào)速范圍大。它的原理就是直流斬波原理,如圖6所示。若S3、S4關(guān)斷,S1、S2受PWM控制。假設(shè)高電平導(dǎo)通,忽略開關(guān)管損耗,則在一個周期內(nèi)的導(dǎo)通時間為t,周期為T,波形如圖8所示,則電機(jī)兩端的平均電壓為:U=Vcc*t/T=α*Vcc ,其中,α=t/T稱為占空比,Vcc為電源電壓(電源電壓減去兩個開關(guān)管的飽和壓降)。
圖8:PWM控制波形圖
電機(jī)的轉(zhuǎn)速與電機(jī)兩端的電壓成比例,而電機(jī)兩端的電壓與控制波形的占空比成正比,因此電機(jī)的速度與占空比成比例,占空比越大,電機(jī)轉(zhuǎn)得越快,當(dāng)占空比α=1時,電機(jī)轉(zhuǎn)速最大。
PWM控制波形的實(shí)現(xiàn)可以通過模擬電路或數(shù)字電路實(shí)現(xiàn),例如用555搭成的觸發(fā)電路,但是這種電路的占空比不能自動調(diào)節(jié),不能用于自動控制小車的調(diào)速。而目前使用的大多數(shù)單片機(jī)都可以直接輸出這種PWM波形,或通過時序模擬輸出,最適合小車的調(diào)速,我們系統(tǒng)采用的STC89C54RD+芯片,通過改變PWM波形來改變占空比,從而控制電機(jī)調(diào)速。
在實(shí)際制作過程中,我們認(rèn)為控制信號的頻率不需要太高,一般在400Hz以下為宜,占空比16級調(diào)節(jié)也完全可以滿足調(diào)速要求,并且在小車行進(jìn)的過程中,占空比不應(yīng)該太高,在直線前進(jìn)和轉(zhuǎn)彎的時候應(yīng)該區(qū)別對待。若車速太快,則在轉(zhuǎn)彎的時候,方向不易控制;而車速太慢,則很浪費(fèi)時間。這時圖8可以根據(jù)具體情況慢慢調(diào)節(jié)。我們經(jīng)過調(diào)試將小車驅(qū)動信號的占空比設(shè)為8/16以下。
2.4光電傳感器的電路設(shè)計與安裝
2.4.1光電傳感器電路的設(shè)計
根據(jù)題目的要求,自動尋跡小車要沿著黑線運(yùn)行,采用TCRT5000型光電對管進(jìn)行探測。其工作電路圖如下所示,在圖9所示電路中,電阻R1,W5起限流的作用,防止TCRT5000因電壓過大燒毀。R6與R8均為上拉電阻。通過調(diào)解電阻W6可以調(diào)節(jié)比較器的參考電壓,經(jīng)示波器觀察,輸出波形相當(dāng)規(guī)則,可以直接供單片機(jī)查詢使用。而且經(jīng)試驗(yàn)驗(yàn)證給此電路供電的電池的壓降較小。因此我們選擇此電路作為我們的傳感器檢測與調(diào)理電路。
圖9光電對管檢測電路
2.4.2光電傳感器的安裝
在小車自動尋跡行走過程中,為了能精確測定黑線位置并確定小車行走的方向,需要同時在底盤裝設(shè)5個TCRT5000型光電傳感器,進(jìn)行兩級方向糾正控制,提高其尋跡的可靠性。這5個TCRT5000型光電傳感器的具體安裝位置如圖10所示。圖中尋跡傳感器共安裝5個,成“一”字型排列。其中傳感器2與傳感器3為第一級方向控制傳感器,傳感器1與傳感器4為第二級方向控制傳感器。小車行走時,始終保持黑線在傳感器2和傳感器3這兩個第一級傳感器之間,當(dāng)小車偏離黑線時,第一級探測器一旦探測到有黑線,單片機(jī)就會按照預(yù)先編定的程序發(fā)送指令給小車的控制系統(tǒng),控制系統(tǒng)對小車路徑予以糾正。若小車回到了軌道上,即只要第5個傳感器檢測到黑線,其他4個傳感器均檢測到白紙,則小車會繼續(xù)直線行駛;若小車由于慣性過大依舊偏離軌道,越出了第一級兩個探測器的探測范圍,這時第二級動作,再次對小車的運(yùn)動進(jìn)行糾正,使之回到正確軌道上去??梢钥闯觯诙壏较蛱綔y器實(shí)際是第一級的后備保護(hù),從而提高了小車尋跡的可靠性。
3軟件設(shè)計
3.1系統(tǒng)程序流程圖
本系統(tǒng)的控制方案是根據(jù)傳感器模塊所獲得的當(dāng)前小車行駛的信息,控制直流電機(jī)驅(qū)動芯片L298N動作進(jìn)行PWM調(diào)速,從而調(diào)整小車的行駛方向和速度,使小車達(dá)到自動尋跡行駛的目的。圖11為系統(tǒng)程序流程圖。
開始
進(jìn)行初始化
驅(qū)動直流電機(jī)
小車自動尋跡
尋跡完成停止
圖11:系統(tǒng)程序流程圖
3.2尋跡算法流程圖
小車的路徑搜索算法是自動尋跡小車設(shè)計中的關(guān)鍵部分。此系統(tǒng)路徑搜索算法采用簡單的switch語句,根據(jù)檢測到黑線的光電傳感器的位置判斷舵機(jī)的偏轉(zhuǎn)角度,同時給出相應(yīng)的速度控制信號。程序流程圖如圖12所示。
開始
角度檢測
中間的傳感器檢測到黑線
舵機(jī)不偏轉(zhuǎn),電機(jī)速度給定值最大
左邊的傳感器檢測到黑線
舵機(jī)左轉(zhuǎn),角度越大,速度給定值越小
舵機(jī)右轉(zhuǎn),角度越大,速度給定值越小
經(jīng)延時修正后繼續(xù)前進(jìn)
圖12:尋跡算法流程圖
3.3通過軟件避免直通短路
從前面的分析可知,橋式驅(qū)動電路中,由于開關(guān)管有開通和關(guān)斷時間,因此存在上下橋臂直通短路的問題。直通短路的存在,容易使開關(guān)管發(fā)熱,嚴(yán)重時燒毀開關(guān)管,同時也增加了開關(guān)管的能量損耗,浪費(fèi)了小車寶貴的能量。死區(qū)時間的問題,只有在正轉(zhuǎn)變?yōu)榉崔D(zhuǎn)的時候才存在,而在正轉(zhuǎn)啟動或反轉(zhuǎn)啟動的時候并沒有,因此不需要修正。如果開關(guān)管的開通和關(guān)斷時間非常小,或者在硬件電路中增加延時環(huán)節(jié),都可以降低開關(guān)管的損耗和發(fā)熱。當(dāng)然,通過軟件避免直通短路是最好的辦法,它的操作簡單,控制靈活。通過軟件實(shí)現(xiàn)死區(qū)時間,就是在突然換向的時候,插入一個延時的環(huán)節(jié),待開關(guān)管關(guān)斷之后,再開通應(yīng)該開通的開關(guān)管。圖13為利用軟件修正死區(qū)時間的流程圖,在開關(guān)管每次換向的時候,不立即進(jìn)行方向的切換,而是先使開關(guān)管關(guān)斷一段時間,使其完全關(guān)斷后再換向打開另外的開關(guān)管。這個關(guān)斷時間由單片機(jī)軟件延時實(shí)現(xiàn)。
啟動驅(qū)動程序
是否換向
是否調(diào)整速度
改變占空比跳速
延時修正
換向
圖13:修正死區(qū)時間的流程圖
4系統(tǒng)功能測試
4.1測試儀器
測試使用的儀器設(shè)備如表1所示。
表1 測試使用的儀器設(shè)備
序號
名稱、型號、規(guī)格
數(shù)量
備注
1
DF1731SL1ATA型直流穩(wěn)壓電源
1
無
2
TDS1002數(shù)字存儲示波器
1
無
3
CA1640P—20型函數(shù)發(fā)生器
1
無
4
FLUKE 15B型萬用表
1
精度為位
5
ZSD-803A型秒表
1
精度為
6
PC機(jī)
1
Intel Celeron 2.4G,256DDR
4.2傳感器與檢測體間距的測試
為了使光電傳感器TCRT5000能夠準(zhǔn)確的識別行駛軌跡,必須將光電傳感器TCRT5000與行駛軌跡的距離調(diào)試到最佳位置。因此我們用萬用表測試集電極的電流大小,來尋找其與軌跡間距大小的關(guān)系,從而確定光電傳感器TCRT5000與軌跡間的最佳距離。測試數(shù)據(jù)用曲線表示,如圖14所示。
圖14:集電極電流與軌跡間距的關(guān)系
于是根據(jù)集電極電流的大小與光電傳感器到被檢測黑線之間的距離d的關(guān)系圖,我們將小車上的光電傳感器TCRT5000離黑線間的距離調(diào)試為9mm左右,從而使光電傳感器TCRT5000能夠迅速準(zhǔn)確的將檢測到的信息反饋給單片機(jī)STC89C54RD+,達(dá)到最佳的尋跡效果。
結(jié)束語
本文設(shè)計了一個小車自動尋跡控制系統(tǒng)。在硬件上,該系統(tǒng)采用STC89C54RD+單片機(jī)為控制核心,協(xié)調(diào)電源模塊、傳感器模塊及直流電機(jī)驅(qū)動控制模塊的工作;在控制算法上,采用路徑搜索算法和類PI控制算法實(shí)現(xiàn)對小車的舵機(jī)轉(zhuǎn)角和直流電機(jī)轉(zhuǎn)速的控制。此外,系統(tǒng)還完成了對加長轉(zhuǎn)臂舵機(jī)的控制,實(shí)現(xiàn)了轉(zhuǎn)向伺服電機(jī)與車速的配合控制。實(shí)驗(yàn)結(jié)果表明,該小車自動尋跡時路徑準(zhǔn)確,穩(wěn)定性好,達(dá)到了我們預(yù)期的目的。
參考文獻(xiàn)
[1].李正軍。計算機(jī)控制系統(tǒng)。北京:機(jī)械工業(yè)出版社,2005
[2].陳懂。智能小車的多傳感器數(shù)據(jù)融合[J]。現(xiàn)代電子技術(shù),2005
[3].高峰編。單片微型計算機(jī)原理與接口技術(shù)。北京:科學(xué)出版社,2003
[4].何立民。MCS—51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計。北京:北京航空航天大學(xué)出社,2003
18