劉 馳,楊 風(fēng),劉海龍
(中北大學(xué)計(jì)算機(jī)與控制工程學(xué)院,山西太原030051)
1)根據(jù)設(shè)計(jì)要求,確定控制方案。
2)利用Proteus設(shè)計(jì)合理的硬件原理圖。
3)畫出程序流程圖,使用C語言進(jìn)行編程。
4)在洞洞板上焊接元器件,然后往單片機(jī)內(nèi)燒錄程序。
5)進(jìn)行調(diào)試以實(shí)現(xiàn)控制功能。
圖1為智能循跡小車的系統(tǒng)控制框圖。黑色引導(dǎo)線是小車進(jìn)行跟蹤的目標(biāo),循跡傳感器對目標(biāo)軌跡進(jìn)行檢測,然后將得到的信息反饋給單片機(jī)進(jìn)行處理,單片機(jī)處理后給電機(jī)驅(qū)動發(fā)出控制信號對兩個(gè)直流電機(jī)進(jìn)行控制,從而確保小車可以沿預(yù)定的路線正確行駛。
圖1 智能小車系統(tǒng)控制框圖
本設(shè)計(jì)使用兩節(jié)3.7 V充電電池對整個(gè)系統(tǒng)進(jìn)行供電,主控芯片為 STC公司的89C52,直流電機(jī)的驅(qū)動模塊為L298N,它可改變芯片控制端的輸入電平,利用TTL進(jìn)行控制,從而完成電機(jī)的正反轉(zhuǎn)以及停止操作。用光敏電阻組成光敏循跡傳感器。這樣就組成了一個(gè)如圖所示的帶有反饋信號的系統(tǒng)。
單片機(jī)內(nèi)部包括ROM、RAM以及定時(shí)器、計(jì)數(shù)器、中斷系統(tǒng)等。單片機(jī)在硬件電路設(shè)計(jì)時(shí),由于單片機(jī)內(nèi)部單元不能完全滿足系統(tǒng)設(shè)計(jì)的需要,因此我們必須對其進(jìn)行必要的擴(kuò)展,增加相應(yīng)的外圍設(shè)備,如D/A、A/D轉(zhuǎn)換器、鍵盤、顯示器等,以滿足我們的需求。本設(shè)計(jì)選擇的是STC公司的產(chǎn)品STC89C52單片機(jī)。
2.1.1 晶振電路
晶振的作用是為系統(tǒng)提供基本的時(shí)鐘信號,本文選用的是11.059 2 MHz無源晶振來為系統(tǒng)提供基本的時(shí)鐘信號,同時(shí)為了防止振蕩電路因?yàn)榛芈凡煌ǘV拐袷?,?dǎo)致電路不能正常工作,本文使用2個(gè)30pF電容起到并聯(lián)諧振的作用。這樣使得一個(gè)機(jī)器周期約為1 μs[1]。
2.1.2 復(fù)位電路
89系列單片機(jī)通過向RST引腳輸入復(fù)位信號到芯片內(nèi)的施密特觸發(fā)器中。本文采用的電容值為10 μF的電容和阻值為1 kΩ的電阻。單片機(jī)上電后,電容會進(jìn)行充電,RST會持續(xù)高電平一段時(shí)間。同樣,若單片機(jī)運(yùn)行中按下復(fù)位按鈕也會使得RST引腳持續(xù)高電平,這就是單片機(jī)上電和復(fù)位的操作[2]。
光電傳感器循跡電路圖如2所示。循跡傳感器的工作原理:Signal端會檢測信號的輸出,當(dāng)傳感器檢測黑色軌跡時(shí),光電傳感器發(fā)出的紅外線會被黑色軌跡大量吸收導(dǎo)致反射回來的很弱,三極管就不導(dǎo)通,Signal端輸出高電平,從而發(fā)光二極管熄滅;當(dāng)傳感器檢測白線時(shí),與黑線相反,這時(shí)光電傳感器發(fā)射的紅外線被白線反射回來的很強(qiáng),光敏三極管會導(dǎo)通,Signal輸出低電平,從而發(fā)光二極管點(diǎn)亮。
圖2 循跡傳感器電路圖
將程序燒錄到單片機(jī)后,小車就可以按寫入的相應(yīng)程序執(zhí)行循跡功能了。小車在正常前進(jìn)時(shí),左右兩邊傳感器均產(chǎn)生兩個(gè)低電平。當(dāng)小車向右行駛偏離黑線時(shí),左邊傳感器會產(chǎn)生一個(gè)高電平,反饋給單片機(jī)處理后,單片機(jī)會給小車發(fā)出一個(gè)信號,小車向左拐。當(dāng)小車向左行駛偏離黑線時(shí),同理,右側(cè)傳感器產(chǎn)生高電平,小車右拐。這樣,小車一定不會偏離黑線。當(dāng)兩邊的光電傳感器同時(shí)輸出的信號為高電平時(shí),即單片機(jī)判斷的都為高電平時(shí),小車停止前進(jìn)[3]。
本設(shè)計(jì)采用L298N電機(jī)驅(qū)動芯片來對兩個(gè)12V的直流電動機(jī)進(jìn)行控制。L298N是ST公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路,是一種二相和四相電機(jī)的專用驅(qū)動器,即內(nèi)含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46 V、2 A以下的電機(jī)。其中1腳和15腳可單獨(dú)引出連接電流采樣電阻器,形成電流傳感信號[5]。
2.3.1 電機(jī)驅(qū)動原理
而圖3所示就是直流電機(jī)與驅(qū)動芯片接線圖,它在原有基本H橋電路的基礎(chǔ)上又增加了四個(gè)二極管來保護(hù)電路。一個(gè)“使能”導(dǎo)通信號和四個(gè)與門相接,這樣,用這一個(gè)信號我們就可以控制整個(gè)電路的開關(guān)了。
采用以上方法,電機(jī)的運(yùn)轉(zhuǎn)就只需要用三個(gè)信號來控制:一個(gè)使能信號和兩個(gè)方向信號。如果 DIR-L信號為“0”,DIR-R信號為“1”,并且使能信號是“1”,那么三極管Q1和Q4導(dǎo)通,電流從左至右流經(jīng)電機(jī);如果DIR-L信號變?yōu)?“1”,而DIR-R信號變?yōu)椤?”,那么 Q2和 Q3將導(dǎo)通,電流則反向流過電機(jī)[6]。
圖3 直流電機(jī)和L298N驅(qū)動芯片接線圖
2.3.2 小車運(yùn)動邏輯
如表1。
表1 小車運(yùn)動邏輯
本設(shè)計(jì)使用Keil軟件并采用C語言來編譯程序。
軟件的燒錄:
第一步:安裝并運(yùn)行STC_ISP_V480軟件;
第二步:點(diǎn)擊MCU Type欄的倒三角選項(xiàng);選擇對應(yīng)的單片機(jī)型號STC89C52RC。
第三步:點(diǎn)擊打開程序文件選項(xiàng)選擇已經(jīng)編譯好的HEX文件。
第四步:打開設(shè)備管理器找出下載端口,選擇相應(yīng)的COM口,點(diǎn)擊“點(diǎn)擊Download/下載”,對話框出現(xiàn)正在嘗試與單片機(jī)握手,請上電,再給單片機(jī)供電,燒錄完成[7]。軟件設(shè)計(jì)系統(tǒng)主程序流程圖如圖4所示。
圖4 主流程圖
部分系統(tǒng)程序附錄如下:
本設(shè)計(jì)的內(nèi)容主要是智能小車的循跡系統(tǒng)。所設(shè)計(jì)小車采用四個(gè)光電傳感器來檢測循跡路線,同時(shí)對得到的數(shù)據(jù)進(jìn)行融合處理。得到了以下成果:
1)小車可以在外部環(huán)境無改變時(shí),沿著預(yù)先設(shè)定的軌道正常循跡。
2)經(jīng)過數(shù)十次的測試證明,當(dāng)傳感器呈M形布局時(shí),易產(chǎn)生不穩(wěn)定的震蕩信號,從而影響小車行駛時(shí)的穩(wěn)定性,但M型布局最適合檢測彎道較多的軌跡。因?yàn)閭鞲衅鱉形布局時(shí),他們不在同一直線上,這樣的話小車在轉(zhuǎn)彎時(shí),左右兩邊后部的傳感器就會有較大的采樣空間,兩邊前端的傳感器則對采集的信號有更好的前瞻性。整個(gè)布局有利于在彎道處提高小車速度。
3)小車保留了擴(kuò)展功能。小車在完成預(yù)計(jì)功能前提下,預(yù)留部分軟件和硬件接口,保留一定擴(kuò)展功能。
[1]羅志增,蔣靜坪.循跡小車感覺與多信息融合[M].北京:機(jī)械工業(yè)出版社,2003:1-10.
[2]蔡自興.中國的智能循跡小車研究[J].莆田學(xué)院學(xué)報(bào),2002,9(3):36 -39.
[3]吳林.智能循跡小車主題型號工作的回顧[J].循跡小車技術(shù)與應(yīng)用,2001:6-9.
[4]歐青立,何刻忠.室外智能循跡小車的發(fā)展及其關(guān)鍵技術(shù)研究[J].循跡小車,2000,22(6):519 -526.
[5]楊鵑.多信息融合技術(shù)在移動循跡小車避障系統(tǒng)中的應(yīng)用[D].哈爾濱:哈爾濱理工學(xué),2007.
[6]恒盛杰資訊.Protel電路板設(shè)計(jì)從入門到精通[M].北京:中國青年出社,2006:1-148.
[7]江思敏,陳明.Protel電路設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2006:1-296.