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