輪式移動機器人的循跡設計
摘要:本智能小車采用簡單明了的設計方案。通過循跡傳感器模塊(由光電晶體管和紅外光電二極管所構成)來判別黑色線路徑,再通過 STC89C52單片機控制L298N電機驅動模塊從而實現(xiàn)對兩個直流電機進行控制,最終完成小車的循跡。所設計的輪式移動機器人能沿黑色路徑進行自主行駛,既具備機械本體、直流電機驅動器、檢測傳感裝置和控制器,又是一種可以進行重復編程、自動控制、仿人操作及在三維空間完成靈活運動的電子自動化的生產設備。
本文引用地址:http://cafeforensic.com/article/201610/307259.htm1 智能循跡小車總體設計方案
1.1 整體設計方案
1)根據(jù)設計要求,確定控制方案。
2)利用Proteus設計合理的硬件原理圖。
3)畫出程序流程圖,使用C語言進行編程。
4)在洞洞板上焊接元器件,然后往單片機內燒錄程序。
5)進行調試以實現(xiàn)控制功能。
1.2 整體控制方案確定
圖1為智能循跡小車的系統(tǒng)控制框圖。黑色引導線是小車進行跟蹤的目標,循跡傳感器對目標軌跡進行檢測,然后將得到的信息反饋給單片機進行處理,單片機處理后給電機驅動發(fā)出控制信號對兩個直流電機進行控制,從而確保小車可以沿預定的路線正確行駛。
本設計使用兩節(jié)3,7 V充電電池對整個系統(tǒng)進行供電,主控芯片為STC公司的89C52,直流電機的驅動模塊為L298N,它可改變芯片控制端的輸入電平,利用TTL進行控制,從而完成電機的正反轉以及停止操作。用光敏電阻組成光敏循跡傳感器。這樣就組成了一個如圖所示的帶有反饋信號的系統(tǒng)。
2 系統(tǒng)的硬件設計
2.1 單片機電路的設計
單片機內部包括ROM、RAM以及定時器、計數(shù)器、中斷系統(tǒng)等。單片機在硬件電路設計時,由于單片機內部單元不能完全滿足系統(tǒng)設計的需要,因此我們必須對其進行必要的擴展,增加相應的外圍設備,如D/A、A/D轉換器、鍵盤、顯示器等,以滿足我們的需求。本設計選擇的是STC公司的產品 STC89C52單片機。
2.1.1 晶振電路
晶振的作用是為系統(tǒng)提供基本的時鐘信號,本文選用的是11.059 2 MHz無源晶振來為系統(tǒng)提供基本的時鐘信號,同時為了防止振蕩電路因為回路不通而停止振蕩,導致電路不能正常工作,本文使用2個30pF電容起到并聯(lián)諧振的作用。這樣使得一個機器周期約為1μs。
2.1.2 復位電路
89系列單片機通過向RST引腳輸入復位信號到芯片內的施密特觸發(fā)器中。本文采用的電容值為10μF的電容和阻值為1 kΩ的電阻。單片機上電后,電容會進行充電,RST會持續(xù)高電平一段時間。同樣,若單片機運行中按下復位按鈕也會使得RST引腳持續(xù)高電平,這就是單片機上電和復位的操作。
2.2 光電傳感器模塊
光電傳感器循跡電路圖如2所示。循跡傳感器的工作原理:Signal端會檢測信號的輸出,當傳感器檢測黑色軌跡時,光電傳感器發(fā)出的紅外線會被黑色軌跡大量吸收導致反射回來的很弱,三極管就不導通,Signal端輸出高電平,從而發(fā)光二極管熄滅;當傳感器檢測白線時,與黑線相反,這時光電傳感器發(fā)射的紅外線被白線反射回來的很強,光敏三極管會導通,Signal輸出低電平,從而發(fā)光二極管點亮。
將程序燒錄到單片機后,小車就可以按寫入的相應程序執(zhí)行循跡功能了。小車在正常前進時,左右兩邊傳感器均產生兩個低電平。當小車向右行駛偏離黑線時,左邊傳感器會產生一個高電平,反饋給單片機處理后,單片機會給小車發(fā)出一個信號,小車向左拐。當小車向左行駛偏離黑線時,同理,右側傳感器產生高電平,小車右拐。這樣,小車一定不會偏離黑線。當兩邊的光電傳感器同時輸出的信號為高電平時,即單片機判斷的都為高電平時,小車停止前進。
2.3 電機驅動
本設計采用L298N電機驅動芯片來對兩個12V的直流電動機進行控制。L298N是ST公司的產品,內部包含4通道邏輯驅動電路,是一種二相和四相電機的專用驅動器,即內含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46 V、2 A以下的電機。其中1腳和15腳可單獨引出連接電流采樣電阻器,形成電流傳感信號。
2.3.1 電機驅動原理
而圖3所示就是直流電機與驅動芯片接線圖,它在原有基本H橋電路的基礎上又增加了四個二極管來保護電路。一個“使能”導通信號和四個與門相接,這樣,用這一個信號我們就可以控制整個電路的開關了。
采用以上方法,電機的運轉就只需要用三個信號來控制:一個使能信號和兩個方向信號。如果DIR—L信號為“0”,DIR—R信號為“1”,并且使能信號是 “1”,那么三極管Q1和Q4導通,電流從左至右流經電機;如果DIR-L信號變?yōu)椋?ldquo;1”,而DIR—R信號變?yōu)?ldquo;0”,那么Q2和Q3將導通,電流則反向流過電機。
2.3.2 小車運動邏輯
如表1。
3 系統(tǒng)的軟件設計
本設計使用Keil軟件并采用C語言來編譯程序。
軟件的燒錄:
第一步:安裝并運行STC_ISP_V480軟件;
第二步:點擊MCU Type欄的倒三角選項;選擇對應的單片機型號STC89C52RC。
第三步:點擊打開程序文件選項選擇已經編譯好的HEX文件。
第四步:打開設備管理器找出下載端口,選擇相應的COM口,點擊“點擊Download/下載”,對話框出現(xiàn)正在嘗試與單片機握手,請上電,再給單片機供電,燒錄完成。
軟件設計系統(tǒng)主程序流程圖如圖4所示。
部分系統(tǒng)程序附錄如下:
4 結論
本設計的內容主要是智能小車的循跡系統(tǒng)。所設計小車采用四個光電傳感器來檢測循跡路線,同時對得到的數(shù)據(jù)進行融合處理。得到了以下成果:
1)小車可以在外部環(huán)境無改變時,沿著預先設定的軌道正常循跡。
2)經過數(shù)十次的測試證明,當傳感器呈M形布局時,易產生不穩(wěn)定的震蕩信號,從而影響小車行駛時的穩(wěn)定性,但M型布局最適合檢測彎道較多的軌跡。因為傳感器M形布局時,他們不在同一直線上,這樣的話小車在轉彎時,左右兩邊后部的傳感器就會有較大的采樣空間,兩邊前端的傳感器則對采集的信號有更好的前瞻性。整個布局有利于在彎道處提高小車速度。
3)小車保留了擴展功能。小車在完成預計功能前提下,預留部分軟件和硬件接口,保留一定擴展功能。
評論