智能循跡小車_第1頁
智能循跡小車_第2頁
智能循跡小車_第3頁
智能循跡小車_第4頁
智能循跡小車_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 專業(yè)創(chuàng)新實踐實訓報告課題名稱智能循跡小車成 員*院 系航空工程學院專 業(yè)電子信息科學與技術(shù)專業(yè)指導教師*2016年5月28日目 錄1 實訓任務與內(nèi)容11.1實訓任務11.2 實訓內(nèi)容12 模塊設計12.1 電路模塊設計12.1.1 硬件電路設計22.1.2 軟件程序設計32.2 電機驅(qū)動模塊設計52.2 電源模塊的設計62.3 傳感器模塊的設計63 測試結(jié)果74 心得體會8附錄1 電路原理圖的總圖9附錄2 源程序101 實訓任務與內(nèi)容1.1實訓任務1)熟悉51單片機集成開發(fā)環(huán)境,運用C語言編寫工程文件;2)熟練應用所選用單片機的內(nèi)部結(jié)構(gòu)、資源、以及軟硬件調(diào)試的設備的基本方法;3)自行構(gòu)建基于

2、單片機的最小系統(tǒng),完成相關(guān)硬件電路的設計實現(xiàn);1.2 實訓內(nèi)容基于AT89C52單片機的智能小車的設計與實現(xiàn),小車完成的主要功能是能夠自主識別黑色引導線并根據(jù)黑線的走向?qū)崿F(xiàn)快速穩(wěn)定的循線行駛。小車系統(tǒng)以AT89C52單片機位系統(tǒng)控制處理器;采用紅外傳感獲取賽道的信息,來對小車的方向和速度進行控制。此外,對整個控制軟件進行設計和程序的編制以及程序的調(diào)試,并最終完成軟件和硬件的融合,實現(xiàn)小車的預期功能。2 模塊設計2.1 電路模塊設計2.1.1 硬件電路設計圖2.1 驅(qū)動系統(tǒng)的原理圖圖2.2傳感器系統(tǒng)的原理圖圖2.3電源系統(tǒng)的原理圖我們選用的是三個光電開關(guān)進行尋跡。光電開關(guān)電源線接入5V的電源,三

3、個光電開關(guān)分別接入單片機的P1.0口-P1.2口。采用兩個L298N芯片作為電機驅(qū)動芯片,步進電機模塊的引腳ENA和ENB分別連接P0.6口和P0.7口;直流電機模塊的引腳ENA和ENB分別連接P0.4口和P0.5口。模塊的INT1-INT4連接單片機的P0.0-P0.3口,另一驅(qū)動模塊IN為P2.0-P2.3口,OUT1-OUT4連接兩個直流電機。小車進入循跡模式后,即開始不停地掃描與探測器連接的單片機I/O口,一旦檢測到某個I/O口有信號,即進入判斷處理程序,先確定4個探測器中的哪一個探測到了黑線,如果左面第一級傳感器或者左面第二級傳感器探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此

4、時應使小車向左轉(zhuǎn);如果是右面第一級傳感器或右面第二級傳感器探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應使小車向右轉(zhuǎn)。在經(jīng)過了方向調(diào)整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復上述動作。2.1.2 軟件程序設計圖2.4 驅(qū)動系統(tǒng)的流程圖系統(tǒng)總體軟件設計綜上所述,本系統(tǒng)主要實現(xiàn)的各個模塊算法為:電機驅(qū)動算法,尋跡算法,測速算法,LCD顯示算法。系統(tǒng)總體程序框圖如圖11所示。其中在小車尋跡的過程中,會不斷調(diào)用測速算法,并通過LCD將實時速度顯示出來。各個數(shù)的調(diào)用關(guān)系為了控制電機1和電機2PWM信號的占空比,設置了兩個變量DutyCycle1和DutyCycle2,這兩個變量的值可以作

5、為控制電機移動函數(shù)的參數(shù)控制電機的速度。規(guī)定當DutyCycle的值小于time_count時電機的使能端輸出1,反之輸出0,這樣就可以改變PWM信號占空比,控制電機的轉(zhuǎn)速了。小車轉(zhuǎn)向控制小車轉(zhuǎn)向控制:小車移動中前進比較容易控制,只要讓兩個電機同時正轉(zhuǎn)就可以了??刂菩≤囖D(zhuǎn)向時有兩種策略,第一種是一個電機正轉(zhuǎn)而另一個不轉(zhuǎn),第二種是一個電機正轉(zhuǎn)而另一個反轉(zhuǎn)。在測試中我們發(fā)現(xiàn)采用第一種方法當小車運動時,運動一側(cè)的輪子會帶動不運動一側(cè)的輪子迫使小車繼續(xù)運動。所以我們采用了第二種控制小車轉(zhuǎn)向的方法??刂齐姍C轉(zhuǎn)向的有兩個方向位,DIR_L和DIR_R,它們不同狀態(tài)和電機轉(zhuǎn)向之間的關(guān)系表1表所示:小車速度和

6、方向控制的函數(shù)都已經(jīng)封裝在一起,通過入口參數(shù)可以進行調(diào)節(jié)。圖2.5 智能循跡小車運行圖圖2.6 智能循跡小車圖2.2 電機驅(qū)動模塊設計驅(qū)動模塊采用專用芯片L298N作為電機驅(qū)動芯片,L298N是一個具有高電壓大電流的全橋驅(qū)動芯片,其響應頻率高,一片L298N可以分別控制兩個直流電機,驅(qū)動電路的設計如圖L298N的5、7、10、12四個引腳接到單片機上,通過對單片機的編程就可實現(xiàn)兩個直流電機的PWM調(diào)速以及正反轉(zhuǎn)控制。L298驅(qū)動電機介紹:L298N 為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進電機專用驅(qū)動芯片,內(nèi)部包含4信道邏輯驅(qū)

7、動電路,是一種二相和四相步進電機的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進電機,內(nèi)含二個橋式的高電壓、大電流雙全橋式驅(qū)動器,接收標準TTL邏輯準位信號,可驅(qū)動46V、2A以下的步進電機,且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機的I/O端口來提供模擬時序信號,但在本驅(qū)動電路中用L298來提供時序信號,節(jié)省了單片機I/O 端口的使用。L298N 接腳Pin1 和Pin15 可與電流偵測用電阻連接來控制負載的電路;OUTl、OUT2 和OUT3、OUT4 之間分別接2個步進電機;in1in4 輸入控制電位來控制電

8、機的正反轉(zhuǎn);Enable則控制電機停轉(zhuǎn)。采用L298N作為電機驅(qū)動芯片。L298N具有高電壓、大電流、響應頻率高的全橋驅(qū)動芯片,一片 L298N可以分別控制兩個直流電機,并且?guī)в锌刂剖鼓芏恕T撾姍C驅(qū)動芯片驅(qū)動能力強、操作方便,穩(wěn)定性好,性能優(yōu)良。L298N的使能端可以外接電平控制,也可以利用單片機進行軟件控制,滿足各種復雜電路的需要。另外,L298N的驅(qū)動功率較大,能夠根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決了負載能力不夠的問題。2.2 電源模塊的設計在本系統(tǒng)中,需要用到的電源有單片機的5V,L298N芯片的電源5V和電機的電源7-15V。所以需要對電源的提供必須正確和穩(wěn)定可靠。方案一:用

9、9V的鋅電源給前、后輪電機供電,然后使用7805穩(wěn)壓管來把高電壓穩(wěn)成5V分別給單片機和電機驅(qū)動芯片供電。這種接法比較簡單,但小車的電路功耗過大會導致后輪電機動力不足。方案二:采用雙電源。為了確保單片機控制部分和后輪電機驅(qū)動的部分的電壓不會互相影響,要把單片機的供電和驅(qū)動電路分開來,即:用直流電12v供給單片機,后輪電機的電源用5V供電,這樣有助于消除電機干擾,提高系統(tǒng)的穩(wěn)定性?;谝陨戏治?,我們選擇了方案二,采用雙電源供電。2.3 傳感器模塊的設計TC端是傳感器工作控制端,為高電平時,發(fā)光二極管不工作,傳感器休眠,為低電平時,傳感器啟動。Signal端為檢測信號輸出,當遇到黑線,黑線吸收大量的

10、紅外線,反射的紅外線很弱,光敏三極管不導通,Signal輸出高電平;當遇到白線,與黑線相反,反射的紅外線很強,使光敏三極管導通,Signal輸出低電平。這種探測方法,即利用紅外線在不同顏色的表面特征,具有不同的反射性能,汽車行駛過程中接收地面的紅外光。當紅外光遇到白色路線,地板發(fā)生漫反射,安裝在小型車的反射光接收器接收;如果是遇到黑色路線,紅外光將被黑線吸收,安裝在小車上的接收管沒有收到紅外光??刂破鲿鶕?jù)是否收到反射的紅外光為判斷依據(jù)來確定的黑線的位置和小車的路線。紅外探測器距離通常是不應超過15厘米的。紅外發(fā)射和接收紅外線感應器,可以使自己或直接使用集成紅外探頭。調(diào)整左右傳感器之間的距離,

11、兩探頭距離約等于黑線寬度最合適,選擇寬度為3-5厘米的黑線。該傳感器的靈敏度是可調(diào)的,傳感器有時遇到黑線卻不能送出相應的信號,通過調(diào)節(jié)傳感器上的可調(diào)電阻,適當?shù)脑龃蠡驕p小可改變靈敏度。另外,循跡傳感器的放置也是有講究的,有兩種方法,一種是兩個都是放置在黑線內(nèi)側(cè)緊貼黑線邊緣,第二種是都放置在黑線的外側(cè),同樣緊貼黑線邊緣。本設計采用第二種方法。單片機燒錄程序后,就可以執(zhí)行循跡指令了。如果小車向前行駛時向左偏離了黑線,那么右邊傳感器會產(chǎn)生一個高電平,單片機判斷這個信號,然后向右拐回到黑線。兩傳感器輸出信號為低電平時,小車前進。如果小車向右偏離黑線,左邊傳感器產(chǎn)生一個高電平,單片機判斷這個信號,然后向

12、左拐。這樣,小車一定不會偏離黑線。若兩個光電傳感器同時輸出的信號為高電平,即單片機判斷的都為高電平時,小車向前直走。3 測試結(jié)果從直線段O點出發(fā),讓小車智能循跡至N點,記錄直點線段O點至A點的所用時間,記錄A點至B點的時間,依次記錄B點至C點、C點至D點、D點至E點、E點至F點、F點至N點的時間,重復測試5次,并記錄時間。 圖3.1 智能循跡小車跑道圖 起點位于彎道的運行時間要長于起點位于直道的運行時間。導致這個現(xiàn)象出現(xiàn)的原因是由于彎道的曲率變化給小車的循跡調(diào)整帶來了較大的影響,對應小號的調(diào)整時間業(yè)比起于直道的測試過程要長些。有時,小車會稍微偏離跑道。對傳感器的靈敏度需要更加仔細的調(diào)整。4 心

13、得體會根據(jù)本次設計要求,我們小組系統(tǒng)地閱讀了大量的資料,并認真分析了設計課題的需求,還系統(tǒng)學習了51系列單片機的工作原理及其使用方法,并獨自設計智能小車的整個項目。雖然條件艱苦,但經(jīng)過不懈鉆研和努力,購買到了所有所需的元器件,并系統(tǒng)的進行了多項試驗,最終做出了整個小車的硬件系統(tǒng),然后結(jié)合課題任務和小車硬件進行了程序的編制,本系統(tǒng)能夠基本滿足設計要求,能夠較快較平穩(wěn)的是小車沿引導線行駛,但由于經(jīng)驗能力有限,該系統(tǒng)還存在著許多不盡人意的地方有待于進一步的完善與改進。 通過本次課題設計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。本次課程設計使我們對一個項目的

14、整體設計有了初步認識,還認識了幾種傳感器,并能獨立設計出其接口電路,再有對電路板的制作有了一定的了解,并學會了使用Protel設計電路。本次智能循跡小車課程設計使我們意識到了實驗的重要性,在硬件制作和軟件調(diào)試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的智能循跡小車的課程設計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次智能循跡小車的課程設計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識??傊?,在這次的課程設計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我

15、們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。附錄1 電路原理圖的總圖圖3.1 電路原理圖總圖附錄2 源程序 #include<regx52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned intsbit in1=P10; sbit in2=P13; sbit pwm1=P12;sbit pwm2=P14;sbit zuo=P07; /紅外傳感器1 sbit zhong=P06; /紅外傳感器2 sbit you=P02; uchar count=0

16、; uchar dj1=0;uchar dj2=0;void advance() in1=1; in2=1;dj1=15;dj2=15; /紅外傳感器3 /小車前進子函數(shù)void left() in1=1; in2=1; dj1=18; dj2=7;void right() in1=1; in2=1; dj1=7; dj2=18; void left1() in1=1; in2=0; dj1=15; dj2=18; void right1() in1=0;in2=1;/小車左轉(zhuǎn)微調(diào)子函數(shù)1 /小車右轉(zhuǎn)微調(diào)子函數(shù)1 /小車左轉(zhuǎn)微調(diào)子函數(shù)2 /小車右轉(zhuǎn)微調(diào)子函數(shù)2dj1=18; dj2=15;vo

17、id timer0_init() /0.5ms 定時器設置 TMOD=0X01; TH0=0XFE; TL0=0X33; EA=1; ET0=1; TR0=1;void timer0() interrupt 1 /定時器中斷函數(shù) TH0=0XFE; TL0=0X33;count+;if(count<=dj1)pwm1=1; else pwm1=0; if(count<=dj2)pwm2=1; else pwm2=0; if(count>=320)count=0; /PWM脈寬調(diào)速void main()/主函數(shù) /初始化 timer0_init();P0=0XFF; P1=0X02; P2=0X00; P3=0X00;while(1) if(zuo=0)&&(zhong=1)&&(you=0) /小車在正確的軌道上,小車前進 advance(); if(zuo=0)&&(zhong=1)&&(you=1) /小車偏左,執(zhí)行右轉(zhuǎn)微調(diào)子函數(shù)1 right(); if(zuo=1)&&(zhong=1)&&(you=0) /小車偏右,執(zhí)行左轉(zhuǎn)微調(diào)子函數(shù)1 left(); if(zuo=1)&&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論