久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

智能循跡小車(推薦閱讀)

時間:2019-05-12 11:52:19下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《智能循跡小車》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《智能循跡小車》。

第一篇:智能循跡小車

專業(yè)創(chuàng)新實踐實訓報告

課題名稱 成員 院系 專 業(yè) 指導教師

智能循跡小車

*** 航空工程學院 電子信息科學與技術專業(yè)

***

2016年5月28日

目錄 實訓任務與內容..............................................................1 1.1實訓任務...................................................................1 1.2 實訓內容..................................................................1 2 模塊設計....................................................................2 2.1 電路模塊設計..............................................................2 2.1.1 硬件電路設計............................................................2 2.1.2 軟件程序設計............................................................3 2.2 電機驅動模塊設計..........................................................5 2.2 電源模塊的設計............................................................6 2.3 傳感器模塊的設計..........................................................6 3 測試結果....................................................................7 4 心得體會....................................................................8 附錄1電路原理圖的總圖........................................................9 附錄2 源程序.................................................................10

實訓任務與內容 1.1實訓任務

1)熟悉51單片機集成開發(fā)環(huán)境,運用C語言編寫工程文件;

2)熟練應用所選用單片機的內部結構、資源、以及軟硬件調試的設備的基本方法; 3)自行構建基于單片機的最小系統(tǒng),完成相關硬件電路的設計實現(xiàn); 1.2 實訓內容

基于AT89C52單片機的智能小車的設計與實現(xiàn),小車完成的主要功能是能夠自主識別黑色引導線并根據(jù)黑線的走向實現(xiàn)快速穩(wěn)定的循線行駛。小車系統(tǒng)以AT89C52單片機位系統(tǒng)控制處理器;采用紅外傳感獲取賽道的信息,來對小車的方向和速度進行控制。此外,對整個控制軟件進行設計和程序的編制以及程序的調試,并最終完成軟件和硬件的融合,實現(xiàn)小車的預期功能。2 模塊設計 2.1 電路模塊設計 2.1.1 硬件電路設計

圖2.1 驅動系統(tǒng)的原理圖

圖2.2傳感器系統(tǒng)的原理圖

圖2.3電源系統(tǒng)的原理圖

我們選用的是三個光電開關進行尋跡。光電開關電源線接入5V的電源,三個光電開關分別接入單片機的P1.0口-P1.2口。采用兩個L298N芯片作為電機驅動芯片,步進電機模塊的引腳ENA和ENB分別連接P0.6口和P0.7口;直流電機模塊的引腳ENA和ENB分別連接P0.4口和P0.5口。模塊的INT1-INT4連接單片機的P0.0-P0.3口,另一驅動模塊IN為P2.0-P2.3口,OUT1-OUT4連接兩個直流電機。

小車進入循跡模式后,即開始不停地掃描與探測器連接的單片機I/O口,一旦檢測到某個I/O口有信號,即進入判斷處理程序,先確定4個探測器中的哪一個探測到了黑線,如果左面第一級傳感器或者左面第二級傳感器探測到黑線,即小車左半部分壓到黑線,車身向右偏出,此時應使小車向左轉;如果是右面第一級傳感器或右面第二級傳感器探測到了黑線,即車身右半部壓住黑線,小車向左偏出了軌跡,則應使小車向右轉。在經過了方向調整后,小車再繼續(xù)向前行走,并繼續(xù)探測黑線重復上述動作。2.1.2 軟件程序設計

圖2.4 驅動系統(tǒng)的流程圖 系統(tǒng)總體軟件設計綜上所述,本系統(tǒng)主要實現(xiàn)的各個模塊算法為:電機驅動算法,尋跡算法,測速算法,LCD顯示算法。系統(tǒng)總體程序框圖如圖11所示。其中在小車尋跡的過程中,會不斷調用測速算法,并通過LCD將實時速度顯示出來。各個數(shù)的調用關系為了控制電機1和電機2PWM信號的占空比,設置了兩個變量DutyCycle1和DutyCycle2,這兩個變量的值可以作為控制電機移動函數(shù)的參數(shù)控制電機的速度。規(guī)定當DutyCycle的值小于time_count時電機的使能端輸出1,反之輸出0,這樣就可以改變PWM信號占空比,控制電機的轉速了。小車轉向控制小車轉向控制::小車移動中前進比較容易控制,只要讓兩個電機同時正轉就可以了。控制小車轉向時有兩種策略,第一種是一個電機正轉而另一個不轉,第二種是一個電機正轉而另一個反轉。在測試中我們發(fā)現(xiàn)采用第一種方法當小車運動時,運動一側的輪子會帶動不運動一側的輪子迫使小車繼續(xù)運動。所以我們采用了第二種控制小車轉向的方法。控制電機轉向的有兩個方向位,DIR_L和DIR_R,它們不同狀態(tài)和電機轉向之間的關系表1表所示:小車速度和方向控制的函數(shù)都已經封裝在一起,通過入口參數(shù)可以進行調節(jié)。

圖2.5 智能循跡小車運行圖

圖2.6 智能循跡小車圖

2.2 電機驅動模塊設計

驅動模塊采用專用芯片L298N作為電機驅動芯片,L298N是一個具有高電壓大電流的全橋驅動芯片,其響應頻率高,一片L298N可以分別控制兩個直流電機,驅動電路的設計如圖L298N的5、7、10、12四個引腳接到單片機上,通過對單片機的編程就可實現(xiàn)兩個直流電機的PWM調速以及正反轉控制。

L298驅動電機介紹:

L298N 為SGS-THOMSON Microelectronics 所出產的雙全橋步進電機專用驅動芯片,內部包含4信道邏輯驅動電路,是一種二相和四相步進電機的專用驅動器,可同時驅動2個二相或1個四相步進電機,內含二個橋式的高電壓、大電流雙全橋式驅動器,接收標準TTL邏輯準位信號,可驅動46V、2A以下的步進電機,且可以直接透過電源來調節(jié)輸出電壓;此芯片可直接由單片機的I/O端口來提供模擬時序信號,但在本驅動電路中用L298來提供時序信號,節(jié)省了單片機I/O 端口的使用。L298N 接腳Pin1 和Pin15 可與電流偵測用電阻連接來控制負載的電路;OUTl、OUT2 和OUT3、OUT4 之間分別接2個步進電機;in1~in4 輸入控制電位來控制電機的正反轉;Enable則控制電機停轉。

采用L298N作為電機驅動芯片。L298N具有高電壓、大電流、響應頻率高的全橋驅動芯片,一片 L298N可以分別控制兩個直流電機,并且?guī)в锌刂剖鼓芏恕T撾姍C驅動芯片驅動能力強、操作方便,穩(wěn)定性好,性能優(yōu)良。L298N的使能端可以外接電平控制,也可以利用單片機進行軟件控制,滿足各種復雜電路的需要。另外,L298N的驅動功率較大,能夠根據(jù)輸入電壓的大小輸出不同的電壓和功率,解決了負載能力不夠的問題。2.2 電源模塊的設計

在本系統(tǒng)中,需要用到的電源有單片機的5V,L298N芯片的電源5V和電機的電源7-15V。所以需要對電源的提供必須正確和穩(wěn)定可靠。

方案一:用9V的鋅電源給前、后輪電機供電,然后使用7805穩(wěn)壓管來把高電壓穩(wěn)成5V分別給單片機和電機驅動芯片供電。這種接法比較簡單,但小車的電路功耗過大會導致后輪電機動力不足。

方案二:采用雙電源。為了確保單片機控制部分和后輪電機驅動的部分的電壓不會互相影響,要把單片機的供電和驅動電路分開來,即:用直流電12v供給單片機,后輪電機的電源用5V供電,這樣有助于消除電機干擾,提高系統(tǒng)的穩(wěn)定性。

基于以上分析,我們選擇了方案二,采用雙電源供電。2.3 傳感器模塊的設計

TC端是傳感器工作控制端,為高電平時,發(fā)光二極管不工作,傳感器休眠,為低電平時,傳感器啟動。Signal端為檢測信號輸出,當遇到黑線,黑線吸收大量的紅外線,反射的紅外線很弱,光敏三極管不導通,Signal輸出高電平;當遇到白線,與黑線相反,反射的紅外線很強,使光敏三極管導通,Signal輸出低電平。

這種探測方法,即利用紅外線在不同顏色的表面特征,具有不同的反射性能,汽車行駛過程中接收地面的紅外光。當紅外光遇到白色路線,地板發(fā)生漫反射,安裝在小型車的反射光接收器接收;如果是遇到黑色路線,紅外光將被黑線吸收,安裝在小車上的接收管沒有收到紅外光。控制器會根據(jù)是否收到反射的紅外光為判斷依據(jù)來確定的黑線的位置和小車的路線。紅外探測器距離通常是不應超過15厘米的。紅外發(fā)射和接收紅外線感應器,可以使自己或直接使用集成紅外探頭。調整左右傳感器之間的距離,兩探頭距離約等于黑線寬度最合適,選擇寬度為3-5厘米的黑線。該傳感器的靈敏度是可調的,傳感器有時遇到黑線卻不能送出相應的信號,通過調節(jié)傳感器上的可調電阻,適當?shù)脑龃蠡驕p小可改變靈敏度。另外,循跡傳感器的放置也是有講究的,有兩種方法,一種是兩個都是放置在黑線內側緊貼黑線邊緣,第二種是都放置在黑線的外側,同樣緊貼黑線邊緣。本設計采用第二種方法。

單片機燒錄程序后,就可以執(zhí)行循跡指令了。如果小車向前行駛時向左偏離了黑線,那么右邊傳感器會產生一個高電平,單片機判斷這個信號,然后向右拐回到黑線。兩傳感器輸出信號為低電平時,小車前進。如果小車向右偏離黑線,左邊傳感器產生一個高電平,單片機判斷這個信號,然后向左拐。這樣,小車一定不會偏離黑線。若兩個光電傳感器同時輸出的信號為高電平,即單片機判斷的都為高電平時,小車向前直走。3 測試結果

從直線段O點出發(fā),讓小車智能循跡至N點,記錄直點線段O點至A點的所用時間,記錄A點至B點的時間,依次記錄B點至C點、C點至D點、D點至E點、E點至F點、F點至N點的時間,重復測試5次,并記錄時間。

圖3.1 智能循跡小車跑道圖

起點位于彎道的運行時間要長于起點位于直道的運行時間。導致這個現(xiàn)象出現(xiàn)的原因是由于彎道的曲率變化給小車的循跡調整帶來了較大的影響,對應小號的調整時間業(yè)比起于直道的測試過程要長些。有時,小車會稍微偏離跑道。對傳感器的靈敏度需要更加仔細的調整。4 心得體會

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

通過本次課題設計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。本次課程設計使我們對一個項目的整體設計有了初步認識,還認識了幾種傳感器,并能獨立設計出其接口電路,再有對電路板的制作有了一定的了解,并學會了使用Protel設計電路。本次智能循跡小車課程設計使我們意識到了實驗的重要性,在硬件制作和軟件調試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的智能循跡小車的課程設計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次智能循跡小車的課程設計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。

總之,在這次的課程設計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。附錄1 電路原理圖的總圖

圖3.1 電路原理圖總圖 附錄2 源程序

#include #include #define uchar unsigned char #define uint unsigned int sbit in1=P1^0;sbit in2=P1^3;sbit pwm1=P1^2;sbit pwm2=P1^4;sbitzuo=P0^7;//紅外傳感器1 sbitzhong=P0^6;//紅外傳感器2 sbit you=P0^2;uchar count=0;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;//小車左轉微調子函數(shù)1 //小車右轉微調子函數(shù)1 //小車左轉微調子函數(shù)2 //小車右轉微調子函數(shù)2 dj1=18;dj2=15;} void 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脈寬調速 } 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í)行右轉微調子函數(shù)1 {right();} if((zuo==1)&&(zhong==1)&&(you==0))//小車偏右,執(zhí)行左轉微調子函數(shù)1 {left();} if((zuo==1)&&(zhong==0)&&(you==0))//小車右偏比較大,執(zhí)行左轉微調子函數(shù)2 {left1();} if((zuo==0)&&(zhong==0)&&(you==1))//小車左偏比較大,執(zhí)行右轉微調子函數(shù)2 {right1();} if((zuo==1)&&(zhong==1)&&(you==1))//小車行駛在十字交叉出口,直走前進 {advance();} if((zuo==0)&&(zhong==0)&&(you==0))//上軌道 {advance();} } }

小車跑出軌道,直走前進,重新

第二篇:智能循跡小車實驗報告

摘要

本設計主要有單片機模塊、傳感器模塊、電機驅動模塊以及電源模塊組成,小車具有自主尋跡的功能。本次設計采用STC公司的89C52單片機作為控制芯片,傳感器模塊采用紅外光電對管和比較器實現(xiàn),能夠輕松識別黑白兩色路面,同時具有抗環(huán)境干擾能力,電機模塊由L298N芯片和兩個直流電機構成,組成了智能車的動力系統(tǒng),電源采用7.2V的直流電池,經過系統(tǒng)組裝,從而實現(xiàn)了小車的自動循跡的功能。

關鍵詞 智能小車

單片機紅外光對管 STC89C52 L298N 1 緒論

隨著科學技術的發(fā)展,機器人的設計越來越精細,功能越來越復雜,智能小車作為其的一個分支,也在不斷發(fā)展。在近幾年的電子設計大賽中,關于小車的智能化功能的實現(xiàn)也多種多樣,因此本次我們也打算設計一智能小車,使其能自動識別預制道路,按照設計的道路自行尋跡。設計任務與要求

采用MCS-51單片機為控制芯片(也可采用其他的芯片),紅外對管為識別器件、步進電機為行進部件,設計出一個能夠識別以白底為道路色,寬度10mm左右的黑色膠帶制作的不規(guī)則的封閉曲線為引導軌跡并能沿該軌跡行進的智能尋跡機器小車。方案設計與方案選擇

3.1 硬件部分

可分為四個模塊:單片機模塊、傳感器模塊、電機驅動模塊以及電源模塊。

3.1.1 單片機模塊

為小車運行的核心部件,起控制小車的所有運行狀態(tài)的作用。由于以前自己開發(fā)板使用的是ATMEL公司的STC89C52,所以讓然選擇這個芯片作為控制核心部件。STC89C52是一種低損耗、高性能、CMOS八位微處理器,片內有4k字節(jié)的在線可重復編程、快速擦除快速寫入程序的存儲器,能重復寫入/擦除1000次,數(shù)據(jù)保存時間為十年。其程序和數(shù)據(jù)存儲是分開的。

3.1.2 傳感器模塊

方案一:使用光敏電阻組成光敏探測器采集路面信息。阻值經過比較器輸出高低電平進行分析,但是光照影響很大,不能穩(wěn)定工作。

方案二:使用光電傳感器來采集路面信息。使用紅外光電對管,其結構簡明,實現(xiàn)方便,成本低廉,沒有復雜的圖像處理工作,因此反應靈敏,響應時間少。但也存在不足,它能獲取的信息是不完全的,容易受很多擾動(如背景光源,高度等)的影響,抗干擾能力較差。

方案三:使用CCD傳感器來采集路面信息。使用CCD可以獲取大量的圖像信息,掌握全面的路徑信息,抗干擾能力強,為以后功能的擴展提供方便。但使用CCD需要大量的圖像處理工作,進行大量數(shù)據(jù)的存儲和計算,因此電路復雜,實現(xiàn)起來工作量大。

方案四:使用光電對管采集路面信息。RPR220結構緊湊,體積小,調整電路簡單工作性能穩(wěn)定。

可見方案四最適宜,但僅從此項目考慮,方案二成本低,也能完成設計,故選用方案二。3.1.3 電機控制模塊

3.1.3.1電機的選擇

方案一:采用步進電機,其轉過的角度可以精確定位,可實現(xiàn)小車行進過程的精確定位。但步進電機的輸出力矩低,隨轉速的升高而降低,且轉速越快下降得越快。

方案二:采用直流電機,其轉動力矩大,體積小,重量輕,裝配簡單,操作方便。速度的調節(jié)可以改變電壓也可以調節(jié)PWM。

基于以上,我們選擇了方案二,使用直流電機作為驅動電機。

3.1.3.2電機的驅動

采用專用芯片L298N作為電機驅動芯片,其操作方便,穩(wěn)定性好,性能優(yōu)良。一片L298N就可以分別控制兩個直流電機。

3.1.4 電源模塊

給整個系統(tǒng)穩(wěn)定供電以保持其正常工作,包括7.2V的電源以及轉5V部分,其中7.2V的是給電機和其驅動供電,5V的用來驅動單片機及其他芯片。

以上單元連接如下圖所示: 3.2 軟件部分

3.2.1程序流程圖

此系統(tǒng)采用89C52單片機,再根據(jù)硬件連接,通過相應的軟件來完成對信號的采集和數(shù)據(jù)的分析,再控制小車的運行狀態(tài),以下為主程序流程圖:

3.2.2程序設計思路

3.2.2.1尋跡模塊程序

通過傳感器獲得路面信息然后反饋給單片機,再通過單片機來實現(xiàn)相應的功能。

3.2.2.2電機驅動模塊程序

控制兩個直流電機,實現(xiàn)前進、后退、前左轉、前右轉、停車等功能。各部分電路的作用及電路工作原理分析

4.1 信號采集模塊

4.1.1 TCRT500結構與工作原理

TCRT5000(L)具有緊湊的結構發(fā)光燈和檢測器安排在同一方向上,利用紅外光譜反射對象存在另一個對象上,操作的波長大約是950毫米。探測器由光電晶體三極管組成的,它由高發(fā)射功率紅外光電二極管和高度靈敏光電晶體管組成。通過測試,其檢測距離在2mm-10mm。TCRT5000的發(fā)射管和接收管是一起封裝在矩形塑料殼中,為了使檢測更加準確,我們用了5只TCRT5000檢測黑線,實物見圖4-1。

4.1.2 信號采集電路圖及原理

小車在白色地面行駛時,紅外發(fā)射管發(fā)出的紅外信號被反射,接收管收到信號后,輸出端為低電平,經過比較器比較后輸出為低電平。而當紅外信號遇到黑色導軌時,紅外信號被吸收,接收管不能接收信號,輸出端為高電平,經過比較器比較后輸出高電平。單片機通過采集每個比較器的輸出端電壓,便可以檢測出黑線的相對位置的位置,從而控制小車的行駛方向。

4.2 信息處理模塊

4.2.1 原理

檢測到白色路面的紅外接收頭處理后送出的是低電平,而檢測到黑色路線的檢測頭送出的是高電平,由此可根據(jù)這5個紅外接收頭的高低電平判斷路線情況而調整小車前進方向。具體情況有如下幾種: a 檢測到

1 1 1 1 或

0 0 0 0 0小車應該停止。

b 檢測到

0 0 0 0 或

0 1 0 0 0 或 1 0 0 0 說明路線向左偏,小車向左轉。

c 檢測到

0 0 0 0 1 或

0 0 0 1 0 或

0 0 0 1 1說明路線向右偏,小車向左轉。

d 檢測到

x x 1 x x(x不全為1)說明線路是直的,小車直走。4.3 電機驅動模塊

4.3.1直流電機

給兩個電刷A和B加上直流電源,如上圖(a)所示,則有直流電流從電刷 A 流入,經過線圈abcd,從電刷 B 流出,根據(jù)電磁力定律,載流導體ab和cd收到電磁力的作用,其方向可由左手定則判定,兩段導體受到的力形成了一個轉矩,使得轉子逆時針轉動。如果轉子轉到如上圖(b)所示的位置,電刷 A 和換向片2接觸,電刷 B 和換向片1接觸,直流電流從電刷 A 流入,在線圈中的流動方向是dcba,從電刷 B 流出。

此時載流導體ab和cd受到電磁力的作用方向同樣可由左手定則判定,它們產生的轉矩仍然使得轉子逆時針轉動。這就是直流電動機的工作原理。外加的電源是直流的,但由于電刷和換向片的作用,在線圈中流過的電流是交流的,其產生的轉矩的方向卻是不變的。實用中的直流電動機轉子上的繞組也不是由一個線圈構成,同樣是由多個線圈連接而成,以減少電動機電磁轉矩的波動,繞組形式同發(fā)電機。

4.3.2電路圖

我們采用成品L298N電機驅動模塊,采用光電耦合器件隔離單片機與L298N的控制電路,工藝精度高,性能可靠。L298N模塊內部通過H橋電路實現(xiàn)直流電機的正轉,反轉,其原理如下:

如圖4-3所示,全橋式驅動電路的4只開關管都工作在斬波狀態(tài),S1、S2為一組,S3、S4 為另一組,兩組的狀態(tài)互補,一組導通則 另一組必須關斷。當S1、S2導通時,S3、S4關斷,電機兩端加正向電壓,可以實 現(xiàn)電機的正轉或反轉制動;當S3、S4導 通時,S1、S2關斷,電機兩端為反向電 壓,電機反轉或正轉制動。

橋驅動電路

4.3.3原理

L298N是ST公司生產的一種高電壓、大電流電機驅動芯片。該芯片采用15腳封裝。主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;額定功率25W。內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器線圈等感性負載;采用標準邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。使用L298N芯片驅動電機,該芯片可以驅動兩臺直流電機。系統(tǒng)調試

5.1硬件部分

焊接完成后,首先進行的調試是用數(shù)字萬用表測量各個電路是否焊接正常,是否有虛焊漏焊等現(xiàn)象的出現(xiàn),以及各個電容是否是正常的未被擊穿狀態(tài)、電阻的阻值是否與設計的原理圖上的一致。接通電源,用數(shù)字萬用表測量當有+5V的各引腳是否有+5V的電壓,測量電路中是否出現(xiàn)了不該有的短路現(xiàn)象。接入光電傳感器模塊,使各個光電檢測器的光電對管靠近白紙,觀察對應的發(fā)光二極管是否發(fā)光,不發(fā)光表示正常。然后再使各個光電對管靠近黑線,觀察對應的發(fā)光二級管是否發(fā)光,發(fā)光表示正常。

5.2軟件部分

我們先測試了小車的前進,停止,左轉和右轉。組裝信號采集模塊后,實現(xiàn)小車的自動循跡功能。

具體實現(xiàn)程序見附錄一

總結

實驗結果如符合實驗要求,小車按照黑膠布軌跡前進,并能夠及時正確顯示小車的行進狀態(tài)以及行進距離。具體現(xiàn)象如下:

左邊傳感器檢測到黑線,小車左轉; 右邊傳感器檢測到黑線,小車右轉; 中間傳感器檢測到黑線,小車直行。從而就可以完成對黑膠布的循跡功能。參考文獻

[1]電子信息專業(yè)實驗教程 趙剛 李佐儒 四川大學出版社 [2]單片機C語言教程 郭天祥 電子工業(yè)出版社 [3]模擬電子技術 童詩白 清華大學出版社 附錄一 程序:

#include

sbit DJ_left_s = P1^0;//直流電機控制 sbit DJ_left_n = P1^1;

sbit DJ_right_s = P1^2;sbit DJ_right_n = P1^3;

//左轉函數(shù)

void Turn_right(){ DJ_left_s = 0;DJ_left_n = 1;DJ_right_s = 1;DJ_right_n = 0;}

//右轉函數(shù)

void Turn_left(){ DJ_left_s = 1;DJ_left_n = 0;DJ_right_s = 0;DJ_right_n = 1;}

//前進函數(shù)

void Go_ahead(){ DJ_left_s = 1;DJ_left_n = 0;DJ_right_s = 1;DJ_right_n = 0;}

//停止函數(shù) void Stop(){ DJ_left_s = 0;DJ_left_n = 0;DJ_right_s = 0;DJ_right_n = 0;}

//循跡函數(shù)

void xunji(unsigned int m){

if(m==0x7c)

{

Turn_right();

return;

}

if(m&0x10)

{

Go_ahead();

return;

}

if(m&0x0c)

{

Turn_right();

return;

}

if(m&0x60)

{

Turn_left();

return;

} } //主函數(shù) void main(){ while(1){

xunji(P2&0x7c);

}

} 附錄二 實物圖:

第三篇:智能循跡小車___設計報告

智能循跡小車設計

專 業(yè): 自動化 班 級: 自動化132 姓 名:羅植升 莫柏源 梁桂賓 指導老師:

2014年4月——2010年6月

摘要: 本課題是基于STC89C52單片機的智能小車的設計與實現(xiàn),小車完成的主要功能是能夠自主識別黑色引導線并根據(jù)黑線走向實現(xiàn)快速穩(wěn)定的尋線行駛。小車系統(tǒng)以 STC89C52單片機為系統(tǒng)控制處理器; 采用紅外傳感獲取賽道的信息,來對小車的方向和速度進行控制。此外,對整個控制軟件進行設計和程序的編制以及程序的調試,并最終完成軟件和硬件的融合,實現(xiàn)小車的預期功能。

引 言 當今世界,傳感器技術和自動控制技術正在飛速發(fā)展,機械、電氣和電子信息已經不再明顯分家,自動控制在工業(yè)領域中的地位已經越來越重要,“智能”這個詞也已經成為了熱門詞匯。現(xiàn)在國外的自動控制和傳感器技術已經達到了很高的水平,特別是日本,比如日本本田制作的機器人,其仿人雙足行走已經做得十分逼真,而且具有一定的學習能力,還據(jù)說其智商已達到6歲兒童的水平。

作為機械行業(yè)的代表產品—汽車,其與電子信息產業(yè)的融合速度也顯著提高,呈現(xiàn)出兩個明顯的特點:一是電子裝置占汽車整車(特別是轎車)的價值量比例逐步提高,汽車將由以機械產品為主向高級的機電一體化方向發(fā)展,汽車電子產業(yè)也很有可能成為依托整車制造業(yè)和用車提升配置而快速成為新的增長點;二是汽車開始向電子化、多媒體化和智能化方向發(fā)展,使其不僅作為一種代步工具、同時能具有交通、娛樂、辦公和通訊等多種功能。

無容置疑,機電一體化人才的培養(yǎng)不論是在國外還是國內,都開始重視起來,主要表現(xiàn)在大學生的各種大型的創(chuàng)新比賽,比如:亞洲廣播電視聯(lián)盟亞太地區(qū)機器人大賽(ABU ROBCON)、全國大學生“飛思卡爾”杯智能汽車競賽等眾多重要競賽都能很好的培養(yǎng)大學生對于機電一體化的興趣與強化機電一體化的相關知識。但很現(xiàn)實的狀況是,國內不論是在機械還是電氣領域,與國外的差距還是很明顯的,所以作為機電一體化學生,必須加倍努力,為逐步趕上國外先進水平并超過之而努力。

為了適應機電一體化的發(fā)展在汽車智能化方向的發(fā)展要求,提出簡易智能小車的構想,目的在于:通過獨立設計并制作一輛具有簡單智能化的簡易小車,獲得項目整體設計的能力,并掌握多通道多樣化傳感器綜合控制的方法。所以立“智能循跡小車”一題作為嘗試。

此項設計是在以楊老師提供的小車為基礎上,采用AT89C52單片機作為控制核心,實現(xiàn)能夠自主識別黑色引導線并根據(jù)黑線走向實現(xiàn)快速穩(wěn)定的尋線行駛。

一、實驗目的:

通過設計進一步掌握51單片機的應用,特別是在嵌入式系統(tǒng)中的應用。進一步學習51單片機在系統(tǒng)中的控制功能,能夠合理設計單片機的外圍電路,并使之與單片機構成整個系統(tǒng)。

二、設計方案:

該智能車采用紅外傳感器對賽道進行道路檢測,單片機根據(jù)采集到的信號的不同狀態(tài)判斷小車當前狀態(tài),通過電機驅動芯片L9110發(fā)出控制命令,控制電機的工作狀態(tài)以實現(xiàn)對小車姿態(tài)的控制。

三、報告內容安排:

本技術報告主要分為三個部分。第一部分是對整個系統(tǒng)實現(xiàn)方法的一個概要說明,主要內容是對整個技術原理的概述;第二部分是對硬件電路設計的說明,主要介紹系統(tǒng)傳感器的設計及其他硬件電路的設計原理等;第三部分是對系統(tǒng)軟件設計部分的說明,主要內容是智能模型車設計中主要用到的控制理論、算法說明及代碼設計介紹等。

技術方案概要說明

本模型車的電路系統(tǒng)包括電源管理模塊、單片機模塊、傳感

器模塊、電機驅動模塊。

工作原理:

? 利用紅外采集模塊中的紅外發(fā)射接收對管檢測路面上的軌跡 ? 將軌跡信息送到單片機

? 單片機采用模糊推理求出轉向的角度和行走速度,然后去控制 行走部分

? 最終完成智能小車可以按照路面上的軌跡運行。

硬件電路的設計

1、最小系統(tǒng):

小車采用STC89C52單片機作為控制芯片,圖1是其最小系統(tǒng)電路。主要包括:時鐘電路、電源電路、復位電路。其中各個部分的功能如下:

1、時鐘電路:給單片機提供一個外接的12MHz的石英晶振。

2、電源電路:給單片機提供5V電源。

3、復位電路:在電壓達到正常值時給單片機一個復位信號。

圖1

單片機最小系統(tǒng)原理圖

2、電源電路設計:

模型車通過自身系統(tǒng),采集賽道信息,獲取自身速度信息,加以處理,由芯片給出指令控制其前進轉向等動作,各部分都需要由電路支持,電源管理尤為重要。在本設計中,51單片機使用5V電源,電機及舵機使用6V電源。考慮到電源為充電電池組,額定電壓為7.2V,實際充滿電后電壓則為6.5-6.8V,所以單片機及傳感器模塊采用7805穩(wěn)壓后的5V電源供電,舵機及電機直接由電池供電。

3、傳感器電路:

光電尋線方案一般由多對TCRT5000紅外收發(fā)管組成,通過檢測接收到的反射光強,判斷黑白線。原理圖由紅外對管和電壓比較器兩部分組成,紅外對管輸出的模擬電壓通過電壓比較器轉換成數(shù)字電平輸出到單片機。

圖2

賽道檢測原理圖:

4、電機驅動電路:

電機驅動芯片L9110,內部包含4通道邏輯驅動電路。是一種二相和四相電機的專用驅動器,即內含二個H橋的高電壓大電流雙全橋式驅動器,接收標準TTL邏輯電平信號,可驅動46V、2A以下的電機。其引腳排列如圖1中U4所示,1腳和15腳可單獨引出連接電流采樣電阻器,形成電流傳感信號。L9110可驅動2個電機,OUT1、OUT2和OUT3、OUT4之間分別接2個電動機。5、7、10、12腳接輸入控制電平,控制電機的正反轉,ENA,ENB接控制使能端,控制電機的停轉。也利用單片機產生PWM信號接到ENA,ENB端子,對電機的轉速進行調節(jié)。L9110的邏輯功能:

表1 SHARP GP2D12實物圖

外形及封裝:

圖3 L9110實物圖

L9110電路原理圖:

由于一片L298N可以直接驅動兩個電機,但是為了加大驅動力,我們采用兩路并聯(lián)的方式來驅動電機。

圖3.3 L9110電路圖

小車循跡規(guī)則:

若小車偏左的時候,車輪將向右偏轉;若小車偏右,車輪將向左偏轉;若沒有偏移,小車將繼續(xù)向前;若小車完全偏離黑色軌跡,小車后退以尋找黑色軌跡。小車程序:

#include //調用51單片機的頭文件 #include #include #define uchar unsigned char//宏定義 #define uint unsigned int//宏定義 sbit you1=P1^3;//定義單片機控制右邊電機的引腳 sbit you2=P1^4;//定義單片機控制右邊電機的引腳 sbit zuo1=P1^5;//定義單片機控制左邊電機的引腳 sbit zuo2=P1^6;//定義單片機控制左邊電機的引腳 sbit z=P1^1;//定義單片機連接循跡板左邊光電管的引腳 sbit y=P1^0;//定義單片機連接循跡板右邊光電管的引腳 sbit q=P1^2;//定義單片機連接循跡板前邊光電管的引腳

sbit chongshua=P3^6;//定義單片機控制沖刷的引腳 sbit tuodi=P3^7;//定義單片機控制拖地的引腳

//--------//1602液晶相關I/O設置

sbit E=P2^3;//1602液晶的E腳接在P2.3口上 sbit RW=P2^4;//1602液晶的RW腳接在P2.4口上 sbit RS=P2^5;//1602液晶的RS腳接在P2.5口上

//HC-SR04相關I/O設置 sbit TIRG=P3^4;sbit ECHO=P3^2;

bit flag =0;

//定義IO口,具體可以去查看原理圖 //定義IO口,具體可以去查看原理圖 uchar k;uchar a=0;//定義一個變量a,用來讀取串口的數(shù)據(jù)

void delay(uint z)//一個帶參數(shù)的延時程序 {

}

void init()//初始化子程序 {

} TMOD=0x20;//設置定時器T1為工作方式2 TH1=0xfd;TL1=0xfd;//T1定時器裝初值 TR1=1;//啟動定時器T1 REN=1;//允許串口接收 SM0=0;SM1=1;//設置串口工作方式1 EA=1;//開總中斷 ES=1;//開串口中斷 int i,j;//定義兩個變量 for(i=10;i>0;i--)for(j=z;j>0;j--);//將參數(shù)z賦值給j void qian()//左右輪協(xié)同前進子函數(shù) {

} void zuo()//左右輪協(xié)同左轉子函數(shù) {

you1=0;you2=1;zuo1=1;zuo2=0;delay(9);//pwm調速 此為pwm有效值 you1=1;you2=1;you1=0;you2=1;zuo1=0;zuo2=1;delay(6);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(4);

} zuo1=1;zuo2=1;delay(1);

void mzuo()//左右輪協(xié)同左轉子函數(shù) {

} void you()//左右輪協(xié)同右轉子函數(shù) {

you1=1;you2=0;zuo1=0;you1=0;you2=1;zuo1=1;zuo2=0;delay(10);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);

} zuo2=1;delay(9);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(1);

void myou()//左右輪協(xié)同右轉子函數(shù) {

} you1=1;you2=0;zuo1=0;zuo2=1;delay(10);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(5);void hou()//左右輪協(xié)同前進子函數(shù) {

}

void ting()//左右輪都停止轉動 {

} you1=1;you2=1;zuo1=1;zuo2=1;you1=1;you2=0;zuo1=1;zuo2=0;delay(9);//pwm調速 此為pwm有效值 you1=1;you2=1;zuo1=1;zuo2=1;delay(1);

void Delay1602(unsigned int t){ unsigned int k;//定義一個16位寄存器用來做延時用 for(k=0;k

void LCD1602_busy(void){ P0_7=1;// RS=0;//RS=0讀入

RW=1;//RS=0讀入

E=1;//RS=0讀入

while(P0_7==1);// E=0;//}

延時 將P0.7置1,為讀狀態(tài)做準備、RW=

1、E=1時,忙信號輸出到DB7,由P0.7、RW=

1、E=1時,忙信號輸出到DB7,由P0.7、RW=

1、E=1時,忙信號輸出到DB7,由P0.7由P0.7讀入1,表示1602液晶忙,需要等待 讀完以后,恢復E的電平void LCD1602_Write_com(unsigned char combuf){ RS=0;//選擇指令寄存器 RW=0;//選擇寫狀態(tài)

P0=combuf;//將命令字通過P0口送至DB E=1;//E高電平將命令字寫入1602液晶 E=0;//寫完以后,恢復E的電平}

void LCD1602_Write_com_busy(unsigned char combuf){ LCD1602_busy();//調用忙檢測函數(shù) LCD1602_Write_com(combuf);//調用忙檢測函數(shù) }

void LCD1602_Write_data_busy(unsigned char databuf){ LCD1602_busy();//調用忙檢測函數(shù) RS=1;//選擇數(shù)據(jù)寄存器 RW=0;//選擇寫狀態(tài)

P0=databuf;//將命令字通過P0口送至DB E=1;//E高電平將命令字寫入1602液晶 E=0;//寫完以后,恢復E的電平}

void LCD1602_Write_address(unsigned char x,unsigned char y){ x&=0x0f;//列地址限制在0-15間 y&=0x01;//行地址限制在0-1間 if(y==0)//如果是第一行

LCD1602_Write_com_busy(x|0x80);//將列地址寫入 else //如果是第二行

LCD1602_Write_com_busy((x+0x40)|0x80);//將列地址寫入 }

void LCD1602_init(void){ Delay1602(1500);//調用延時函數(shù)

LCD1602_Write_com(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示

Delay1602(500);//調用延時函數(shù)

LCD1602_Write_com(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示 Delay1602(500);//調用延時函數(shù)

LCD1602_Write_com(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示

LCD1602_Write_com_busy(0x38);//8位數(shù)據(jù)總線,兩行顯示模式,5*7點陣顯示

LCD1602_Write_com_busy(0x08);//顯示功能關,無光標 LCD1602_Write_com_busy(0x01);//清屏

LCD1602_Write_com_busy(0x06);//寫入新的數(shù)據(jù)后,光標右移,顯示屏不移動

LCD1602_Write_com_busy(0x0C);//顯示功能開,無光標 }

void LCD1602_Disp(unsigned char x,unsigned char y,unsigned char buf){ LCD1602_Write_address(x,y);//先將地址信息寫入 LCD1602_Write_data_busy(buf);//再寫入要顯示的數(shù)據(jù) }

void Timer0(void)interrupt 1 {

} flag=0;void xunji(){ qian();//調用前進子函數(shù),使小車光電管不滿足以下幾個條件時都處于前進狀態(tài)

while((z==0)&&(y==1)&&(q==1))//判斷當左邊光電管遇到黑線,{

} while((z==1)&&(y==0)&&(q==1))//判斷當右邊光電管遇到黑線,{

} while((z==0)&&(y==0)&&(q==1))//判斷當左邊光電管遇到黑線,右邊

//左邊和前邊的光電管遇到白線時右轉

//右邊和前邊的光電管遇到白線時左轉

zuo();//調用左轉函數(shù) zd=1;you();//調用右轉函數(shù) yd=1;光電管也遇到黑線

{

//前邊的光電管遇到白線時停止

ting();//調用停止函數(shù)

} hd=1;while((z==0)&&(y==0)&&(q==0))//判斷當左邊、右邊、前邊光電管同時遇到黑線

}

void csb(){

long S;unsigned int i;unsigned int Timeout;

{

}

//即遇到十字路口,小車前進

qian();//調用前進函數(shù)

LCD1602_init();//調用1602液晶初始化函數(shù) //***定時器Timer0初始化*** TMOD&=0xF0;//將TMOD的低4位定時器0控制部分清零 TMOD|=0x01;//設置定時器0為方式1 TMOD=0x01;TL0=0;//設置定時器0初值低8位 TH0=0;

//設置定時器0初值高8位 TR0=0;//停止定時器0 ET0=1;//Timer0中斷允許

//***開全局中斷設置**** //定時器Timer0設置了中斷允許,此處要開全局中斷 EA=1;//開全局中斷

TIRG=1;

//發(fā)一個脈沖觸發(fā)信號

//維持約17US,符合不低于10US的要求

//維持約17US,符合不低于10US的要求 i=4;

while(i>0)i--;

TIRG=0;TR0=0;

//維持約17US,符合不低于10US的要求

//撤銷觸發(fā)信號

//關閉定時器

//設置定時器0初值低8位為0 TL0=0;

TH0=0;

//設置定時器0初值高8位為0

//清除溢出標志 k=0;flag=0;Timeout=0;while((ECHO==0)&&((Timeout++)<50000));

//等待回響高電平

TR0=1;//回響高電平來后啟動定時器

Timeout=0;while((ECHO==1)&&((Timeout++)<50000));

//等待回響高電平結束后 TR0=0;

//關閉定時器

S=((TH0*256+TL0)*1)/58;

if(flag==1||S>400)//超出測量范圍顯示“-”

{

LCD1602_Disp(0, 0, '-');

LCD1602_Disp(1, 0, '-');

LCD1602_Disp(2, 0, '-');

LCD1602_Disp(3, 0, 'C');

LCD1602_Disp(4, 0, 'M');

}

else

{

LCD1602_Disp(0, 0, S%1000/100+'0');

LCD1602_Disp(1, 0, S%1000%100/10+'0');//

LCD1602_Disp(2, 0, S%1000%100%10+'0');

LCD1602_Disp(3, 0, 'C');

LCD1602_Disp(4, 0, 'M');

} i=18000;

while(i>0)

//顯示百位-

//顯示十位-

//顯示個位-

//顯示C

//顯示M

//顯示百位

顯示十位 //顯示個位

//顯示C

//顯示M

//維持約77400US,符合不低于60MS的要求

//維持約77400US,符合不低于60MS的要求 i--;

}

void main()//主程序 {

//維持約77400US,符合不低于60MS的要求

init();//調用初始化子程序 while(1)//死循環(huán) {

switch(a)//判斷a從串口讀取到的數(shù)據(jù) {

case 0x00://如果是0x1f就前進 xunji();break;case 0x01://如果是0x2f就后退 qian();break;case 0x02://如果是0x3f就左轉

csb();break;

case 0x03://如果是0x4f就右轉 mzuo();zd=1;break;

case 0x04://如果是0x00就停止 hou();break;

case 0x05://如果是0xa0車燈打開 myou();yd=1;break;

case 0x06://如果是0xb0車燈關閉 chongshua=1;break;

case 0x07://如果是0xc0蜂鳴器鳴響

}

ting();hd=1;break;

case 0x08://如果是0xc0蜂鳴器鳴響

tuodi=1;break;}

}

void chuan()interrupt 4//串口中斷服務程序 {

} RI=0;//軟件清除串口響應

a=SBUF;//讀取單片機串口接受的藍牙模塊發(fā)送的數(shù)據(jù)

結論

根據(jù)本次設計要求,我們小組系統(tǒng)地閱讀了大量的資料,并認真分析了設計課題的需求,還系統(tǒng)學習了51系列單片機的工作原理及其使用方法,并獨自設計智能小車的整個項目。

雖然條件艱苦,但經過不懈鉆研和努力,購買到了所有所需的元器件,并系統(tǒng)的進行了多項試驗,最終做出了整個小車的硬件系統(tǒng),然后結合課題任務和小車硬件進行了程序的編制,本系統(tǒng)能夠基本滿足設計要求,能夠較快較平穩(wěn)的是小車沿引導線行駛,但由于經驗能力有限,該系統(tǒng)還存在著許多不盡人意的地方有待于進一步的完善與改進。

通過本次課題設計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。本次畢業(yè)設計使我們對一個項目的整體設計有了初步認識,還認識了幾種傳感器,并能獨立設計出其接口電路,再有對電路板的制作有了一定的了解,并學會了使用Protel設計電路。本次畢業(yè)設計使我們意識到了實驗的重要性,在硬件制作和軟件調試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的課題設計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次課題設計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。

總之,在課題設計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。

第四篇:蔽障循跡智能小車畢業(yè)論文

2013年 7 月12日

一、緒論.......................................................................4

1.1智能小車的作用和意義..................................................................4

二、方案設計與論證................................................4

2.1 總體方案設計...............................................................................42.2主控系統(tǒng)........................................................................................5 2.3傳感器選擇方案............................................................................6

2.4電機驅動芯片選擇方案..................................................................6

2.5電機方案選擇..................................................................................6 2.6電源方案選擇..................................................................................7

三、主要器件介紹.....................................................7 3.1 STC89C52的介紹.........................................................................7

3.2 L298N的介紹...............................................................................8

3.2.1 L298N的引腳功能...................................................................................9

3.2.2 L298N的運行參數(shù)...................................................................................10 3.2.3 L298N的邏輯控制...................................................................................10

3.3 TCRT5000的介紹........................................................................11 3.4LM339的介紹................................................................................12 3.5 L7805CV和L7806CV的介紹.........................................................12

四、硬件設計...............................................................14

4.1 主控芯片STC89C52單片機最小系統(tǒng)板電路...........................14

4.2 電機驅動模塊電路..........................................................................15 4.3紅外對黑線檢測模塊電路...............................................................16 4.4穩(wěn)壓電源電路...................................................................................18

五、程序設計.............................................................19

5.1主程序.............................................................................................19

六、調試.......................................................................28

6.1硬件調試.........................................................................................28 6.1.1元件的固定...........................................................................28 6.1.2TCRT5000探頭.....................................................................29

6.1.3 L298N馬達驅動模塊...........................................................29

6.2軟件調試........................................................................................29

6.2.1調試平臺介紹.........................................................................29 6.2.2程序調試.....................................................................................29 6.3 測試結果與分析...........................................................................30

七、心得體會..................................................................................30 附件 元件清單

參考文獻

一、緒論

1.1智能小車的作用和意義

自第一臺工業(yè)機器人誕生以來,機器人的發(fā)展已經遍及機械、電子、冶金、交通、宇航、國防等領域。近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們在不斷探討、改造、認識自然的過程中,制造能替代人勞動的機器一直是人類的夢想。

隨著科學技術的發(fā)展,機器人的感系統(tǒng),對于視覺的各種技術而言圖像處理技術已相當發(fā)達,而基于圖像的理解技術還很落后,機器視覺需要通過大量的運算也只能識別一些結構化環(huán)境簡單的目標。視覺傳感器的核心器件是攝像管或CCD,目前的CCD已能做到自動聚焦。但CCD傳感器的價格、體積和使用方式上并不占優(yōu)勢,因此在不要求清晰圖像只需要粗略感覺的系統(tǒng)中考慮使用接近覺傳感器是覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應用領域為自主式智能導航一種實用有效的方法。

機器人要實現(xiàn)自動導引功能和避障功能就必須要感知導引線和障礙物,感知導引線相當給機器人一個視覺功能。避障控制系統(tǒng)是基于自動導引小車(AVG—auto-guide vehicle)系統(tǒng),基于它的智能小車實現(xiàn)自動識別路線,判斷并自動避開障礙,選擇正確的行進路線。使用傳感器感知路線和障礙并作出判斷和相應的執(zhí)行動作。

該智能小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、CPU、執(zhí)行部分。機器人要實現(xiàn)自動避障功能,還可以擴展循跡等功能,感知導引線和障礙物。可以實現(xiàn)小車自動識別路線,選擇正確的行進路線,并檢測到障礙物自動躲避。基于上述要求,傳感檢測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可。智能小車的執(zhí)行部分,是由直流電機來充當?shù)模饕刂菩≤嚨男羞M方向和速度。

二、方案設計與論證

2.1 總體方案設計

本系統(tǒng)基于AT89C52單片機的小車尋跡系統(tǒng),該系統(tǒng)采用兩組高靈敏度的紅外反射式光 3

電傳感器,對路面的黑色軌跡進行檢測,將檢測的數(shù)據(jù)送入單片機進行處理,并利用單片機產生PWM波,并以最短時間完成尋跡。同時采用紅外傳感器對障礙物進行躲避功能,遇到對于交通燈的檢測采用固定頻率的紅外線信號表示不同的交通指示燈,使控制系統(tǒng)更加智能。在軟件程序上采用一定的控制算法,使得小車在通道上第一次遇到十字黑線時候減速行駛,在第二次遇到十字黑線可以實現(xiàn)減速轉彎,因此,本系統(tǒng)由紅外光電傳感器,單片機和驅動單元共同作用,保證小車能在預先設定的軌跡上行駛。

本設計的主要特色本設計的主要特色本設計的主要特色本設計的主要特色:

1.自制的四個輪結構小車,采用PWM調速。2.采用6V電池供電,直流穩(wěn)壓電路工作穩(wěn)定。

3.采用紅外發(fā)射傳感器接收對黑線標志進行識別,具有高精度和高靈敏度。

2.2主控系統(tǒng)

根據(jù)設計要求,我認為此設計屬于多輸入量的復雜程序控制問題。據(jù)此,擬定了以下兩種方案并進行了綜合的比較論證,具體如下:

方案一: 選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進行編寫開發(fā)。但CPLD在控制上較單片機有較大的劣勢。同時,CPLD的處理速度非常快,而小車的行進速度不可能太高,那么對系統(tǒng)處理信息的要求也就不會太高,在這一點上,MCU就已經可以勝任了。若采用該方案,必將在控制上遇到許許多多不必要增加的難題。為此,我們不采用該種方案,進而提出了第二種設想。

方案二: 采用單片機作為整個系統(tǒng)的核心,用其控制行進中的小車,以實現(xiàn)其既定的性能指標。充分分析我們的系統(tǒng),其關鍵在于實現(xiàn)小車的自動控制,而在這一點上,單片機就顯現(xiàn)出來它的優(yōu)勢——控制簡單、方便、快捷。這樣一來,單片機就可以充分發(fā)揮其資源豐富、有較為強大的控制功能及可位尋址操作功能、價格低廉等優(yōu)點。因此,這種方案是一種較為理想的方案。針對本設計特點——多開關量輸入的復雜程序控制系統(tǒng),需要擅長處理多開關量的標準單片機,而不能用精簡I/O口和程序存儲器的小體積單片機,D/A、A/D功能也不必選用。根據(jù)這些分析,我選定了STC89C52RA單片機作為本設計的主控裝置,52單片機具有功能強大的位操作指令,I/O口均可按位尋址,程序空間多達8K,對于本設計也綽綽有余,更可貴的是52單片機價格非常低廉。在綜合考慮了傳感器、兩部電機的驅動等諸多因素后,我們決定采用一片單片機,充分利用STC89C52單片機的資源。

2.3傳感器選擇方案

方案一:采用發(fā)光二極管發(fā)光,用光敏二極管接收;發(fā)光二極管發(fā)出的可見光照射到黑帶時,光線被黑帶吸收,光敏二極管為檢測到信號。呈高阻抗,使輸出端為低電平。當發(fā)光二極管發(fā)出的可見光照射到地面時,它發(fā)出的可見光反射回來被光敏二極管檢測到,其阻抗迅速降低,此時輸出端為高電平。但是由于光敏二極管受環(huán)境中可見光影響較大,電路的穩(wěn)定性很差,但可以通過運放對檢測信號進行處理。

方案二: 采用反射式紅外光電傳感器。用TCRT5000型反射式紅外對管組成的路徑識別傳感器模塊,檢測距離和靈敏度均能達到系統(tǒng)要求,該器件具有如下特點:當發(fā)光二極管發(fā)出的光反射回來時,三極管導通輸出低電平,該光電對管調理電路簡單,工作性能穩(wěn)定。綜上所述,本設計采用發(fā)光二極管進行檢測,原因是性價比較合理。

2.4電機驅動芯片選擇方案

方案一:采用分立元件的H橋驅動電路。

方案二:采用集成的H橋驅動電路芯片。由于集成的H橋驅動電路芯片體積小,穩(wěn)定性高,因此選用集成的驅動電路芯片作為電機的驅動芯片,型號為L298N。

2.5電機方案選擇

方案一: 采用步進電機,步進電機的一個顯著特點就是具有快速啟停能力可實現(xiàn)電機正反轉及調速,啟動性能好,啟動轉矩大。工作電壓可達到36V,4A。可同時驅動兩臺直流電機。適合應用于機器人設計及智能小車的設計中,如果符合不超過步進電機所能提供的動態(tài)轉矩值,就能夠立即使步進電機的啟功或者反轉。調速方式:直流電動機采用PWM信號平滑調速。

方案二: 采用普通直流減速電機,直流電動機具有優(yōu)良的調速特性,調速平滑,方便,調整范圍廣,過載能力強,能承受頻繁的沖擊負載,可實現(xiàn)頻繁的無極快速啟動,制動,和反轉,能滿足各種不同的特殊運行要求。綜上所訴,我們選擇直流減速電機。

2.6電源方案選擇

方案一: 直接使用AA干電池進行供電它的結構十分簡單,但是供電能力差,不易長時間供電。

方案二: 使用3500mA干電池配合直流穩(wěn)壓整流電路輸入端口接9mA的干電池,經電容濾波和L7805和L7806穩(wěn)壓后輸出約5V,6V電壓。可保證長時間穩(wěn)定的輸出電壓。這樣可以提供持久穩(wěn)定的電流,穩(wěn)壓后給單片機系統(tǒng)和其他芯片供電。考慮到系統(tǒng)穩(wěn)定工作的要求,所以選擇方案一。

三 主要器件介紹

3.1 STC89C52的介紹

STC89C52引腳功能說明

VCC(40引腳):電源電壓 VSS(20引腳):接地

P0端口(P0.0~P0.7,39~32引腳):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅動8個TTL負載,對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復用總線。此時,P0口內部上拉電阻有效。在Flash ROM編程時,P0端口接收指令字節(jié);

而在校驗程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻。

P1端口(P1.0~P1.7,1~8引腳):P1口是一個帶內部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅動(吸收或者輸出電流方式)4個TTL輸入。對端口寫入1時,通過內部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內部上拉電阻,那些被外部拉低的引腳會輸出一個電流。

此外,P1.0和P1.1還可以作為定時器/計數(shù)器2的外部技術輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體參見下表:

在對Flash ROM編程和程序校驗時,P1接收低8位地址。表XX P1.0和P1.1引腳復用功能

在對Flash ROM編程或程序校驗時,P3還接收一些控制信號。P3口除作為一般I/O口外,還有其他一些復用功能,如下表所示: 表XX P3口引腳復用功能

來完成單片機單片機的復位初始化操作。看門狗計時完成后,RST引腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。

XTAL1(19引腳):振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。XTAL2(18引腳):振蕩器反相放大器的輸入端。特殊功能寄存器

3.2 L298N的介紹

L298N是一種高電壓、大電流電機驅動芯片。該芯片的主要特點是:工作電壓高,最高工作電壓可達46V;輸出電流大,瞬間峰值電流可達3A,持續(xù)工作電流為2A;內含兩個H橋的高電壓大電流全橋式驅動器,可以用來驅動直流電動機和步進電動機、繼電器、線圈等感性負載;采用標準TTL邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響的情況下允許或禁止器件工作;有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。

3.2.1 L298N的引腳功能

3.2.2 L298N的運行參數(shù)

3.2.3 L298N的邏輯控制

主要采用L298N,通過單片機的I/O輸入改變芯片控制端的電平,即可以對電機進行正反轉,停止的操作,輸入引腳與輸出引腳的邏輯關系圖為

表3.3 L298N對直流電機控制的邏輯真值表

3.3 TCRT5000的介紹

TCRT5000光電傳感器模塊是基于TCRT5000紅外光電傳感器設計的一款紅外反射式光電開關。傳感器采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成,輸出信號經施密特電路整形,穩(wěn)定可靠。+:接直流DC5V正極

-:接直流DC5V負極

S:信號輸出端,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。應用場合:

電度表脈沖數(shù)據(jù)采樣、傳真機碎紙機紙張檢測、障礙檢測 黑白線檢測 基本參數(shù):

外形尺寸: 長 32mm~37 mm;寬 7.5mm;厚 5mm 工作電壓: DC 3V~5.5V,推薦工作電壓為5V 檢測距離: 1mm~8mm適用,焦點距離為2.5mm

傳感器的紅外發(fā)射二極管不斷發(fā)射紅外線,當發(fā)射出的紅外線沒有被反射回來或被反射回來但強度不夠大時,光敏三極管一直處于關斷狀態(tài),此時模塊的輸出端為低電平,指示二極管一直處于熄滅狀態(tài);被檢測物體出現(xiàn)在檢測范圍內時,紅外線被反射回來且強度足夠大,光敏三極管飽和,此時模塊的輸出端為高電平,指示二極管被點亮。

靈敏度可調的循跡電路。當比較器的正向輸入端電壓低于反向輸入端的電壓時輸出低電平,LED 亮,表示接收到反射光。

3.4 LM339的介紹

智能小車中運用于電路分析模塊 LM339引腳圖與功能簡介

LM339集成塊內部裝有四個獨立的電壓比較器。LM339類似于增益不可調的運算放大器。每個比較器有兩個輸入端和一個輸出端。兩個輸入端一個稱為同相輸入端,用“+”表示,另一個稱為反相輸入端,用“-”表示。用作比較兩個電壓時,任意一個輸入端加一個固定電壓做參考電壓(也稱為門限電平,它可選擇LM339輸入共模范圍的任何一點),另一端加一個待比較的信號電壓。當“+”端電壓高于“-”端時,輸出管截止,相當于輸出端開路。當“-”端電壓高于“+”端時,輸出管飽和,相當于輸出端接低電位。兩個輸入端電壓差別大于10mV就能確保輸出能從一種狀態(tài)可靠地轉換到另一種狀態(tài),因此,把LM339用在弱信號檢測等場合是比較理想的。LM339的輸出端相當于一只不接集電極電阻的晶體三極管,在使用時輸出端到正電源一般須接一只電阻(稱為上拉電阻,選3-15K)。選不同阻值的上拉電阻會影響輸出端高電位的值。因為當輸出晶體三極管截止時,它的集電極電壓基本上取決于上拉電阻與負載的值。另外,各比較器的輸出端允許連接在一起使用。

3.5 L7805CV和L7806CV的介紹

L7805

L7805是我們最常用到的穩(wěn)壓芯片了,他的使用方便,用很簡單的電路即可以輸入一個直流穩(wěn)壓電源他的輸出電壓恰好為5v,剛好是51系列單片機運行所需的電壓,他有很多的系列如ka7805,ads7805,cw7805等,性能有微小的差別,用的最多的還是LM7805,下面我簡單的介紹一下他的3個引腳以及用它來構成的穩(wěn)壓電路的資料。

其中1接整流器輸出的+電壓,2為公共地(也就是負極),3就是我們需要的正5V輸出電壓了.L7806 L7806為固定正電壓穩(wěn)壓電路,屬三端正電源穩(wěn)壓電路系列(3Terminals positive Voltage Regulator Series)。產品應用非常廣泛,涉及到各種穩(wěn)壓電源、充電器、數(shù)碼產品以及家電領域等。

L7806芯片參數(shù):

封裝

四、硬件設計

.4.1 主控芯片AT89C52單片機最小系統(tǒng)板電路

本智能小車采用的單片機最小系統(tǒng)板是自己制做的AT89C52單片機最小系統(tǒng)板,它具有體積小,質量輕,使用方便等優(yōu)點,能夠很好的放置在智能小車中。原理圖如下。

小系統(tǒng)PCB板

4.2 電機驅動模塊電路

電機驅動模塊采用專用驅動芯片L298N作為電機的驅動芯片。L298N是一種具有高電壓大電流的全橋驅動芯片,它的響應頻率高,一片L298N可以分別控制兩個直流減速電機,而且還帶有控制使能端,用它作為驅動芯片,操作方便,穩(wěn)定,性能優(yōu)良。L298N的5、7引腳為一個電機的控制信號輸入端,10、12引腳為另一個電機的控制信號輸入端,2、3引腳為一個電機的控制信號輸出端,13、14引腳為另一個電機的控制信號輸出端,通過單片機對L298N的輸入端進行指令控制,就能實現(xiàn)直流減速電機的正轉和反轉,從而控制小車前進和后退。電機驅動電路原理圖如下。

驅動模塊PCB板

4.3紅外對黑線檢測模塊電路

由于有6個紅外傳感器排成一排均勻的安裝在小車底部,當光線照射到路面并反射,由于黑線和白紙的反射系數(shù)不同,根據(jù)接收到的反射光強度判斷是否眼黑線前進。在一般情況下,當黑線位于中間的兩個紅外傳感器之間,不管小車偏向哪一邊,都能檢測出小車的偏移方向。或者當小車偏向左邊時,右邊的傳感器檢測到黑線,輸出低電平給電機,否則,輸出高電平。

紅外作循跡電路原理圖

紅外作循跡PCB板

采用紅外對管制作循跡電路,當檢測到黑線時,紅外接受管導通,否則紅外對管截止,通過比較器LM339電壓比較,把電平狀態(tài)送給單片機進而單片機處理。原理圖如下。

電路分析原理圖

紅外電路分析PCB板

4.4穩(wěn)壓電源電路

電機驅動電路模塊: 本題目要求小車的機械系統(tǒng)穩(wěn)定、靈活、簡單,可選用兩輪式,考慮到現(xiàn)在的汽車多采用兩輪式我選用兩輪式的設計,使設計更貼近生活需求。驅動部分:直流驅動電機,由L298N雙通道馬達驅動模塊驅動前后兩個馬達,其力矩完全可以達到模擬效果。電池的安裝:將電池放置在車體的下面,降低車體重心,提高穩(wěn)定性,同時可增加驅動輪的抓地力,減小輪子空轉所引起的誤差。電源模塊:采用2支3500mA電池給電機供電,再用穩(wěn)壓芯片對電池電壓進行降壓給單片機。采用一套電源可減少小車的負重。電機動力電路應用說明: 基本思路為使能端輸入使能信號,即接高電平,控制輸入端A端輸入PWM 信號,控制輸出端B輸入方向信號,在一個PWM周期內,電動機只承受單極性的電壓,電機的選擇方向由控制信號決定,電機的速度由PWM決定,PWM占空比為0%-100%對應于電機轉速0-MAX。因此,當接收到由檢測模塊的信號時,單片機處理該信號,根據(jù)該信號產生對應的PWM 波,從而可以根據(jù)調節(jié)電機的轉速與方向。

穩(wěn)壓電源電路圖

穩(wěn)壓電源PCB板

五、程序設計

5.1主程序 #include #define uchar unsigned char #define uint unsigned int

uchar pwm_left =0;//變量定義,與速度比較的變量

uchar push_left =0;// 左電機占空比N/10 調速

uchar pwm_right =0;//與速度比較的變量

uchar push_right=0;// 右電機占空比N/10 調速

bit Right_moto_stop=1;bit Left_moto_stop =1;uint time=0;uint a=0,flag=0,flag1=0;

sbit Left_1_led=P1^0;//四路尋跡模塊接口第一路 sbit Left_2_led=P1^1;//四路尋跡模塊接口第二路 sbit Right_1_led=P1^2;//四路尋跡模塊接口第二路 sbit Right_2_led=P1^3;//四路尋跡模塊接口第三路

uint a,d,y,z,q,w,c;sbit out1 = P2^0;sbit out2 = P2^1;sbit out3 = P2^2;sbit out4 = P2^3;sbit ena = P1^6;sbit enb = P1^7;sbit inright = P2^4;sbit inleft = P2^5;

delay(uint a);int turnleft(uint z)

{ ena=1;enb=1;out1=1;out2=0;out3=1;out4=0;delay(z);return 0;}

int turnright(uint y){

ena=1;enb=1;out1=0;out2=1;out3=0;out4=1;delay(y);return 0;} int dengdai(uint d){ ena=0;enb=0;out1=0;out2=0;out3=0;out4=0;delay(d);return 0;}

void go(uint q){

ena=1;enb=1;out1=0;out2=1;out3=1;out4=0;delay(q);} int back(uint w)

{ ena=1;enb=1;out1=1;out2=0;out3=0;out4=1;delay(w);return 0;}

int backright(int c){ ena=0;enb=1;out1=0;out2=0;out3=0;out4=1;delay(c);return 0;}

void bizhang(){ if(inright==1&&inleft==1)

{

go(50);

} if(inright==0)

{

turnright(50);

} if(inleft==0)

{

turnleft(50);

} if(inright==0&&inleft==0)

{

backright(2000);

} }

void xunji(){

{

if(Left_1_led==0&&Left_2_led==0&&Right_1_led==0&&Right_2_led==0)//0

{

go(50);

} else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1)//0001

{ turnright(20);

delay(5);

} else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==1&&Right_2_led==0)//0010

{

turnright(20);

//(9,6)

delay(1);

}

else

if(Left_1_led==0&&Left_2_led==0&&Right_1_led==1&&Right_2_led==1)//0011

{

turnright(20);

delay(3);

}

else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==0&&Right_2_led==0)//0100

{

turnleft(30);

delay(3);

} else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==0&&Right_2_led==1)//0101

{ turnright(30);

delay(2);

} else if(Left_1_led==0&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1)//0111

{

turnleft(30);

delay(1);

}

else if(Left_1_led==1&&Left_2_led==0&&Right_1_led==0&&Right_2_led==0)//1000

{

turnleft(30);

delay(3);

}

else if(Left_1_led==1&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1)//1001

{

go(30);

delay(3);//本來延時6

} else

if(Left_1_led==1&&Left_2_led==0&&Right_1_led==1&&Right_2_led==0)//1010

{

turnleft(30);

delay(3);

} else if(Left_1_led==1&&Left_2_led==0&&Right_1_led==1&&Right_2_led==1)//1011

{

turnright(20);

delay(3);

} else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==0&&Right_2_led==0)//1100

{

turnleft(20);

delay(5);

} else if(Left_1_led==0&&Left_2_led==0&&Right_1_led==0&&Right_2_led==1)// 1101

{ turnleft(20);

delay(5);

} else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==0)// 1110

{ turnleft(20);

delay(5);

} // else if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1)// 1111 // { //tiaosu();// go(20);// delay(5);

// }

} }

int delay(uint a)

{ uint x,y;

for(x=a;x>0;x--)

for(y=110;y>0;y--);

return 0;} /************************************************************************/ /*

PWM調制電機轉速 */ /************************************************************************/ /*

左電機調速 */ /*調節(jié)push_val_left的值改變電機轉速,占空比 */

void pwm_out_left_moto(void){ if(Left_moto_stop){ if(pwm_left<=push_left)ena=1;else ena=0;if(pwm_left>=100)pwm_left=0;} else ena=0;} /******************************************************************/ /* 右電機調速 */ void pwm_out_right_moto(void){ if(Right_moto_stop){ if(pwm_right<=push_right)enb=1;else enb=0;if(pwm_right>=100)pwm_right=0;} else enb=0;

} /*******************************************************************/ /* */ /*

定時器初值化 */ /*******************************************************************/ void init0(void){ TMOD=0X01;TH0= 0XF8;//1ms定時

TH0= 0XF8;TL0= 0X30;TL0= 0X30;TR0= 1;ET0= 1;EA = 1;}

void init1(void){ TMOD=0x10;//設置定時器0工作模式1 TH1=(65536-50000)/256;//定時器裝初值

TL1=(65536-50000)%256;IT0=1;IT1=1;EX0=1;//開外部中斷0 EX1=1;//開外部中斷1 ET1=1;//開定時器0中斷

TR1=1;//啟動定時器0 EA=1;

//開總中斷 } /******************************************************************/ ///*TIMER0中斷服務子函數(shù)產生PWM信號*/ void timer0()interrupt 1 using 2 { TH0=0XF8;//1Ms定時

TL0=0X30;time++;pwm_left++;pwm_right++;pwm_out_left_moto();pwm_out_right_moto();}

void run(int m,int n){

push_left =m;//PWM 調節(jié)參數(shù)1-10 1為最慢,10是最快 改這個值可以改變其速度

push_right =n;//PWM 調節(jié)參數(shù)1-10 1為最慢,10是最快

改這個值可以改變其速度

out1=0;//左電機前進 out2=1;out3=1;out4=0;//右電機前進 }

void tiaosu()

{ while(flag==1){run(30,30);delay(30);xunji();if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1){ a=1;flag=0;} }

while(a==1){run(99,99);delay(30);xunji();if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1){ a=2;} } }

void main()

{ init0();

init1();

P1=0xff;

P2=0xff;

while(1){ if(Left_1_led==1&&Left_2_led==1&&Right_1_led==1&&Right_2_led==1){flag=1;} //1111

else flag=0;

delay(3);if(flag==0)xunji();else tiaosu();} }

六、調試:

6.1硬件調試

6.1.1 元件的固定

小車主要有5大模塊的電路板組成的,板和板之間是靠導線連接。小車在循跡運動的時候時常顛簸,導致電路板移位致使電路板上面的元件受到干擾,使小車不穩(wěn)定運動,特別是L298N.所以我們除了在板上打孔鎖上螺絲,還在板和板之間用熱熔膠再固定,減少震動。

6.1.2 TCRT5000探頭

由TCRT5000組成的軌跡識別電路是本次設計成敗的關鍵,在初次調試時小車的搖頭動作(即轉向)時常出現(xiàn)不靈的情況。后來用電壓表測量了電壓比較器量輸入端的電壓發(fā)現(xiàn)基準電壓到了3.5V,而紅外探頭在檢測到黑線時才3.6V。兩者電壓相差無幾,所以遇到黑線顏色較淺或反光的區(qū)域單片機會發(fā)生誤判的現(xiàn)象。于是我們測量了紅外探頭在黑白兩種極限情況下的電壓輸出情況。在測量了紅外探頭在黑色和白色兩種極限情況下的電壓后,調節(jié)電阻我把基準電壓調到5V,這個電壓值距黑色或白色情況下輸出的電壓值都很大,單片機會減少誤判的現(xiàn)象。改良過后測試正常,小車能靈活的搖頭,更功能實現(xiàn)。

6.1.3 L298N馬達驅動模塊

第一次給L298N馬達驅動模塊通電實現(xiàn)簡單的馬達單向驅動,發(fā)現(xiàn)馬達時跑時不跑。經過檢測發(fā)現(xiàn)是一根信號線接觸不良,重新接好后運行正常。此模塊是用的市面上可以買到的模塊所以性能比較穩(wěn)定,調試很成功。

6.2軟件調試

6.2.1調試平臺介紹

此次編程采用了keil V4。KeilSoftware公司推出的uVision4是一款可用于多種8051MCU的集成開發(fā)環(huán)境(IDE),該IDE同時也是PK51及其它開發(fā)套件的一個重要組件。除增加了源代碼、功能導航器、模板編輯以及改進的搜索功能外,uVision4還提供了一個配置向導功能,加速了啟動代碼和配置文件的生成。此外其內置的仿真器可模擬目標MCU,包括指令集、片上外圍設備及外部信號等。uVision4提供邏輯分析器,可監(jiān)控基于MCUI/O引腳和外設狀態(tài)變化下的程序變量。uVision4提供對多種最新的8051類微處理器的支持,包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。其界面如下圖 所示。

6.2.2程序調試

在調試好硬件之后我第一次把軟件下載到系統(tǒng)里面進行實際測試,發(fā)現(xiàn)小車在彎道比較急的地方沒辦法繞過去,會發(fā)生脫軌現(xiàn)象。后來仔細分析了自己的算法,原本我是設定小車在遇到彎道后全力轉向繞過彎道,但是有些急得彎道小車無法繞過。此時我就想如何去解決在轉向角度有限的情況下解決轉急彎的問題。聯(lián)想到日常汽車在狹窄的小路上轉彎的情景我想到了倒退調整車體位置的方法。即在發(fā)現(xiàn)小車以現(xiàn)有的轉向角度無法完成轉彎時使小車反相倒退,這樣即可很很快的調整小車的位置。改進算法后我在進行了一次測試,這次小車成功的繞過了90度的彎道。

根據(jù)測試結果,可以看出小車循跡避障功能基本實現(xiàn)。但是測試還是存在失敗的現(xiàn)象。分析其原因有兩點。一,小車熟讀過快在轉彎時未及時剎車。二,畫在紙上的跑道會存在褶

皺的地方,而這些地方容易產生誤判的現(xiàn)象。得知這些原因以后我降低現(xiàn)車速度,再次進行了測試。結果表明,小車能很好的完成循跡,即使循跡軌道發(fā)生改變也不影響。但是小車不能根據(jù)賽道的情況自主的改變速度。這也是本次設計的一個缺陷。在實際調試過程中小車發(fā)生過程序跑飛的情況,經調整改進程序后,小車運行狀態(tài)穩(wěn)定。能很好的完成沿黑色軌道前進,改變軌道的形狀及轉彎角度,小車仍可完成循跡。

七、心得體會

在智能小車系統(tǒng)的設計、調試及論文的寫作過程中,感謝很多同學給予了無數(shù)的指導和大力的支持。在這個過程中我們不僅學會了知識,還學會了治學的態(tài)度,那就是嚴謹,把知識變?yōu)榧河校瑮壠湓闫闪羝渚A,用自己的方式去解決問題,而不是人云亦云。

智能小車是傳感技術和自動化控制技術飛速發(fā)展的產物,使得機械和電子信息不再明顯分家,自動控制在工業(yè)領域中得地位越來越重要,智能這個詞是我們科技發(fā)展的重要產物。這次實踐中涉及的主要部分有傳感器檢測車部分、驅動部分、單片機為核心的控制芯片部分穩(wěn)壓及電路分析部分。各個部分的涉及,相互之間的連接協(xié)調等得成功,都是要建立在系統(tǒng)的閱讀大量資料,并且認真的分析課題的需求,還系統(tǒng)的學習的單片機的工作原理及其使用方法。并且學習了相關軟件,如仿真、程序燒寫等得應用。通過本次課題設計,不僅是對我們課本所學知識的考查,更是對我的自學能力和收集資料能力以及動手能力的考驗。我們對一個項目的整體設計有了初步認識并能獨立設計出其接口電路,再有對電路板的制作有了一定的了解,并學會了使用Protel99設計電路。課程設計使我們意識到了實驗的重要性,在硬件制作和軟件調試的過程中,出現(xiàn)了很多問題,最終都是通過實驗的方法來解決的。還有以前對程序只是一個很模糊的概念,通過這次的課題設計使我對程序完全有了一個新的認識,并能使用C熟練的進行編程了。通過本次課題設計,極大的鍛煉了我們的思考和分析問題的能力,并對單片機有了一個更深的認識。

小車的設計制作工作量飽滿,體現(xiàn)了團隊合作精神。在這次設計中也有很多的不足之處,我們缺少實際經驗,更多的是依靠網絡資源來解決問題,特別是各模塊的程序編寫,在軟件設計方面花費了很多的時間。特別是在最后調試階段,程序的控制問題給我們帶來了很大的困難,小車設計的硬件部分完成相對順利些,在軟件領域顯得不足,今后會更多的學習軟件。設計過程中單片機知識頗有設計,我們還應加強理論知識的學習。本次設計涉及到了一系列光機電一體化的技術。其中機械結構是小車能否穩(wěn)定運行的基礎,硬件電路決定了小車實現(xiàn)的功能,軟件部分是控制的靈魂,而同伴們鍥而不舍的精神則是整個設計的支柱!

總之,在課題設計的過程中,無論是對于學習方法還是理論知識,我們都有了新的認識,受益匪淺,這將激勵我們在今后再接再厲,不斷完善自己的理論知識,提高實踐運作能力。

附件

元件清單:

1.電機驅動芯片L298N

2.穩(wěn)壓芯片L7805一個,L7806一個

3.單片機STC89C52 4.晶振12M 5.輕觸開關和點觸開關各一個

6.電解電容220uF/25v、100uf/16v若干, 電容104若干,103電容若干 7.10K滑動變阻器、470歐電阻若干 8.電阻330歐若干,1K的若干個,9.上拉電阻472歐一個

10.紅外線傳感器TCRT5000

4個 11.散熱片一個

12.杜邦線若干(杜邦頭,焊片,包括線)13.萬用表 14.插針和插排若干 15.發(fā)光二極管若干

16.二極管IN4007八個 17.車底盤模具

18.LM339芯片

19.TR18650 3000mAh 3.7v電源 20.各種芯片底座若干 21.驅動直流電機4個

參考文獻

[1]郭惠,吳迅.單片機C語言程序設計完全自學手冊[M].電子工業(yè)出版社,2008.10:1-200.[2]王東鋒,王會良,董冠強.單片機C語言應用100例[M].電子工業(yè)出版社,2009.3:145-300.[3]韓毅,楊天.基于HCS12單片機的智能尋跡模型車的設計與實現(xiàn)[J].學術期刊,2008,29(18):1535-1955.[4] 王曉明.電動機的單片機控制[J].學術期刊,2002,13(15):1322-1755.[5]宏晶科技,《STC89C51RC/RD+系列單片機器件手冊》,2011年9月8號更新版本 [6求是科技,《單片機典型模塊設計實例導航(第2版)》,人民郵電出版社,2008年7月出版

[7]李全利,《單片機原理及應用技術》,高等教育出版社,2009年1月出版

[8]丁明亮,《51單片機應用設計與仿真-基于keil C與Proteus》,北京航空航天大學出版社,2009年2月出版

[9]張鑫,《單片機原理及應用(第2版)》,電子工業(yè)出版社,2010年出版 6.張毅剛,《單片機原理與應用設計》,電子工業(yè)出版社,2008年出版

第五篇:智能循跡小車實驗報告

摘要

本設計主要有單片機模塊、傳感器模塊、電機驅動模塊以及電源模塊組成,小車具有自主尋跡得功能。本次設計采用 STC 公司得 89C52 單片機作為控制芯片,傳感器模塊采用紅外光電對管與比較器實現(xiàn),能夠輕松識別黑白兩色路面,同時具有抗環(huán)境干擾能力,電機模塊由 L298N 芯片與兩個直流電機構成,組成了智能車得動力系統(tǒng),電源采用 7、2V 得直流電池,經過系統(tǒng)組裝,從而實現(xiàn)了小車得自動循跡得功能.關鍵詞

智能小車

STC89C52 單片機

L298N

紅外光對管 1 1 緒論

隨著科學技術得發(fā)展,機器人得設計越來越精細,功能越來越復雜,智能小車作為其得一個分支,也在不斷發(fā)展.在近幾年得電子設計大賽中,關于小車得智能化功能得實現(xiàn)也多種多樣,因此本次我們也打算設計一智能小車,使其能自動識別預制道路,按照設計得道路自行尋跡。2 設計任務與要求

采用 MCS-51單片機為控制芯片(也可采用其她得芯片),紅外對管為識別器件、步進電機為行進部件,設計出一個能夠識別以白底為道路色,寬度 10mm左右得黑色膠帶制作得不規(guī)則得封閉曲線為引導軌跡并能沿該軌跡行進得智能尋跡機器小車。3 方案設計與方案選擇

3.1 硬件部分

可分為四個模塊:單片機模塊、傳感器模塊、電機驅動模塊以及電源模塊。

3.1.1 單片機模塊

為小車運行得核心部件,起控制小車得所有運行狀態(tài)得作用。由于以前自己開發(fā)板使用得就是ATMEL 公司得 STC89C52,所以讓然選擇這個芯片作為控制核心部件。STC89C52 就是一種低損耗、高性能、CMOS 八位微處理器,片內有 4k字節(jié)得在線可重復編程、快速擦除快速寫入程序得存儲器,能重復寫入/擦除 1000次,數(shù)據(jù)保存時間為十年.其程序與數(shù)據(jù)存儲就是分開得.3.1.2 傳感器模塊

方案一:使用光敏電阻組成光敏探測器采集路面信息。阻值經過比較器輸出高低電平進行分析,但就是光照影響很大,不能穩(wěn)定工作。

方案二:使用光電傳感器來采集路面信息。使用紅外光電對管,其結構簡明,實現(xiàn)方便,成本低廉,沒有復雜得圖像處理工作,因此反應靈敏,響應時間少。但也存在不足,它能獲取得信息就是不完全得,容易受很多擾動(如背景光源,高度等)得影響,抗干擾能力較差。

方案三:使用 CCD 傳感器來采集路面信息。使用 CCD 可以獲取大量得圖像信息,掌握全面得路徑信息,抗干擾能力強,為以后功能得擴展提供方便。但使用CCD 需要大量得圖像處理工作,進行大量數(shù)據(jù)得存儲與計算,因此電路復雜,實現(xiàn)起來工作量大。

方案四:使用光電對管采集路面信息。RPR220結構緊湊,體積小,調整電路簡單工作性能穩(wěn)定。

可見方案四最適宜,但僅從此項目考慮,方案二成本低,也能完成設計,故選用方案二.3.1.3 電機控制模塊3、1 1、3 3、1 1 電機得選擇 方案一:采用步進電機,其轉過得角度可以精確定位,可實現(xiàn)小車行進過程得精確定位.但步進電機得輸出力矩低,隨轉速得升高而降低,且轉速越快下降得越快。

方案二:采用直流電機,其轉動力矩大,體積小,重量輕,裝配簡單,操作方便。速度得調節(jié)可以改變電壓也可以調節(jié) PWM。

基于以上,我們選擇了方案二,使用直流電機作為驅動電機。

3、1、3 3、2電機得驅動 采用專用芯片 L298N 作為電機驅動芯片,其操作方便,穩(wěn)定性好,性能優(yōu)良.一片L298N 就可以分別控制兩個直流電機。

3.1.4 電源模塊

給整個系統(tǒng)穩(wěn)定供電以保持其正常工作,包括7、2V得電源以及轉5V 部分,其中 7、2V 得就是給電機與其驅動供電,5V 得用來驅動單片機及其她芯片。

以上單元連接如下圖所示:

3.2 軟件部分

3、2、1 1 程序流程圖

此系統(tǒng)采用 89C52 單片機,再根據(jù)硬件連接,通過相應得軟件來完成對信號得采集與數(shù)據(jù)得分析,再控制小車得運行狀態(tài),以下為主程序流程圖:

3、2 2、2 2 程序設計思 路3、2 2、2 2、1 1 尋跡模塊程序 通過傳感器獲得路面信息然后反饋給單片機,再通過單片機來實現(xiàn)相應得功能。3、2、2 2、2 電機驅動模塊程序 控制兩個直流電機,實現(xiàn)前進、后退、前左轉、前右轉、停車等功能.4 各部分電路得作用及電路工作原理分析

4.1 信號采集模塊

4.1.1 TC RT T 50 00 結構與工作原理

TCRT5000(L)具有緊湊得結構發(fā)光燈與檢測器安排在同一方向上,利用紅外光譜反射對象存在另一個對象上,操作得波長大約就是 950 毫米。探測器由光電晶體三極管組成得,它由高發(fā)射功率紅外光電二極管與高度靈敏光電晶體管組成。通過測試,其檢測距離在 2mm—10mm。TCRT5000 得發(fā)射管與接收管就是一起封裝在矩形塑料殼中,為了使檢測更加準確,我們用了 5 只 TCRT5000檢測黑線,實物見圖4—1。

4.1.2 信號采集電路圖及原理

小車在白色地面行駛時,紅外發(fā)射管發(fā)出得紅外信號被反射,接收管收到信號后,輸出端為低電平,經過比較器比較后輸出為低電平。而當紅外信號遇到黑色導軌時,紅外信號被吸收,接收管不能接收信號,輸出端為高電平,經過比較器比較后輸出高電平。單片機通過采集每個比較器得輸出端電壓,便可以檢測出黑線得相對位置得位置,從而控制小車得行駛方向。

4.2 信息處理模塊

4.2.1 原理

檢測到白色路面得紅外接收頭處理后送出得就是低電平,而檢測到黑色路線得檢測頭送出得就是高電平,由此可根據(jù)這 5 個紅外接收頭得高低電平判斷路線情況而調整小車前進方向。具體情況有如下幾種:

檢測到

1 或 0

0

0

0 小車應該停止.b

檢測到

0

0

0 或 0

0

0

0 或 1

0

0 說明路線向左偏,小車向左轉.c

檢測到

0

0

0

0

1 或

0

0

0

0 或 0

0

1說明路線向右偏,小車向左轉。

d

檢測到

x

x

x

x(x 不全為 1)

說明線路就是直得,小車直走。

4.3 電機驅動模塊

4、3 3、1 1 直流電機

給兩個電刷 A 與 B 加上直流電源,如上圖(a)所示,則有直流電流從電刷 A 流入,經過線圈 abcd,從電刷 B 流出,根據(jù)電磁力定律,載流導體 ab與 cd收到電磁力得作用,其方向可由左手定則判定,兩段導體受到得力形成了一個轉矩,使得轉子逆時針轉動.如果轉子轉到如上圖(b)所示得位置,電刷 A 與換向片2接觸,電刷 B 與換向片 1 接觸,直流電流從電刷 A 流入,在線圈中得流動方向就是 dcba,從電刷 B 流出.此時載流導體 ab 與 cd受到電磁力得作用方向同樣可由左手定則判定,它們產生得轉矩仍然使得轉子逆時針轉動。這就就是直流電動機得工作原理。外加得電源就是直流得,但由于電刷與換向片得作用,在線圈中流過得電流就是交流得,其產生得轉矩得方向卻就是不變得。實用中得直流電動機轉子上得繞組也不就是由一個線圈構成,同樣就是由多個線圈連接而成,以減少電動機電磁轉矩得波動,繞組形式同發(fā)電機。

4、3 3、2 2 電路圖

我們采用成品L298N 電機驅動模塊,采用光電耦合器件隔離單片機與L298N得控制電路,工藝精度高,性能可靠。L298N 模塊內部通過 H 橋電路實現(xiàn)直流電機得正轉,反轉,其原理如下:

如圖 4-3 所示,全橋式驅動電路得 4 只開關管都工作在斬波狀態(tài),S1、S2為一組,S3、S4 為另一組,兩組得狀態(tài)互補,一組導通則 另一組必須關斷.當S1、S2 導通時,S3、S4 關斷,電機兩端加正向電壓,可以實 現(xiàn)電機得正轉或反轉制動;當 S3、S4 導 通時,S1、S2 關斷,電機兩端為反向電 壓,電機反轉或正轉制動。

橋驅動電路 4、3 3、3原理

L298N就是 ST 公司生產得一種高電壓、大電流電機驅動芯片。該芯片采用 15 腳封裝。主要特點就是:工作電壓高,最高工作電壓可達 46V;輸出電流大,瞬間峰值電流可達 3A,持續(xù)工作電流為2A;額定功率25W。內含兩個 H 橋得高電壓大電流全橋式驅動器,可以用來驅動直流電動機與步進電動機、繼電器線圈等感性負載;采用標準邏輯電平信號控制;具有兩個使能控制端,在不受輸入信號影響得情況下允許或禁止器件工作有一個邏輯電源輸入端,使內部邏輯電路部分在低電壓下工作;可以外接檢測電阻,將變化量反饋給控制電路。使用 L298N 芯片驅動電機,該芯片可以驅動兩臺直流電機。5 系統(tǒng)調試5、1 1 硬件部分

焊接完成后,首先進行得調試就是用數(shù)字萬用表測量各個電路就是否焊接正常,就是否有虛焊漏焊等現(xiàn)象得出現(xiàn),以及各個電容就是否就是正常得未被擊穿狀態(tài)、電阻得阻值就是否與設計得原理圖上得一致.接通電源,用數(shù)字萬用表測量當有+5V 得各引腳就是否有+5V 得電壓,測量電路中就是否出現(xiàn)了不該有得短路現(xiàn)象。接入光電傳感器模塊,使各個光電檢測器得光電對管靠近白紙,觀察對應得發(fā)光二極管就是否發(fā)光,不發(fā)光表示正常。

然后再使各個光電對管靠近黑線,觀察對應得發(fā)光二級管就是否發(fā)光,發(fā)光表示正常.5、2 2 軟件部分

我們先測試了小車得前進,停止,左轉與右轉。組裝信號采集模塊后,實現(xiàn)小車得自動循跡功能.具體實現(xiàn)程序見附錄一6 總結

實驗結果如符合實驗要求,小車按照黑膠布軌跡前進,并能夠及時正確顯示小車得行進狀態(tài)以及行進距離。具體現(xiàn)象如下:

左邊傳感器檢測到黑線,小車左轉; 右邊傳感器檢測到黑線,小車右轉; 中間傳感器檢測到黑線,小車直行。

從而就可以完成對黑膠布得循跡功能。7 參考文獻

[1]電子信息專業(yè)實驗教程

趙剛 李佐儒

四川大學出版社 [2]單片機C語言教程

郭天祥

電子工業(yè)出版社 [3]模擬電子技術

童詩白

清華大學出版社 附錄一

程序:

#include〈reg52、h> sbit DJ_left_s = P1^0;

//直流電機控制 sbit DJ_left_n = P1^1; sbit DJ_right_s = P1^2; sbit DJ_right_n = P1^3;//左轉函數(shù) void Turn_right()

DJ_left_s

= 0;

;1 =

n_tfel_JD? DJ_right_s

= 1;

;0 =

n_thgir_JD?}

//右轉函數(shù) void Turn_left()

{

DJ_left_s

= 1;

DJ_left_n

= 0;

;0 =

s_thgir_JD?;1 =

n_thgir_JD?} //前進函數(shù) void Go_ahead(){

;1 =

s_tfel_JD? DJ_left_n

= 0;

DJ_right_s

= 1;

DJ_right_n

= 0; } //停止函數(shù) void Stop()

{

DJ_left_s

= 0;

DJ_left_n

= 0;

DJ_right_s

= 0;

;0 =

n_thgir_JD?} //循跡函數(shù) void xunji(unsigned int m){

? if(m==0x7c)

;)(thgir_nruT?

;nruter??

}?)01x0&m(fi??

{

? Go_ahead();

?

;nruter? ? }??

if(m&0x0c)

? {

;)(thgir_nruT??

? return;

}

? if(m&0x60)

? {

?;)(tfel_nruT? ?

return;

? } } //主函數(shù) void main()

while(1)

{ ? xunji(P2&0x7c);

} ?} 附錄二

實物圖:

下載智能循跡小車(推薦閱讀)word格式文檔
下載智能循跡小車(推薦閱讀).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯(lián)網用戶自發(fā)貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內聯(lián)系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    基于單片機的智能循跡小車外文翻譯

    摘要:本次設計的智能循跡小車是以單片機89c51為主控制器。運用反射式紅外傳感器來進行路徑檢測和速度監(jiān)測模塊。將檢測數(shù)據(jù)傳回單片機進行處理,同時,用單片機產生PWM波來控制小......

    畢業(yè)設計論文-基于單片機的循跡智能小車的設計與實現(xiàn)(★)

    編號 南京航空航天大學 畢業(yè)設計 題 目 基于單片機的智能小車的設 計與實現(xiàn) 學生姓名 學 號 系 部 專 業(yè) 班 級 指導教師 計算機科學與技術 講師 二〇一七年五月 南京航空......

    智能小車課程設計(五篇模版)

    智能循跡小車 【摘要】 本課題是基于低功耗單片機的智能小車的設計與實現(xiàn),小車完成的主要功能是能夠自主識別黑色引導線并根據(jù)黑線走向實現(xiàn)快速穩(wěn)定的尋線行駛。小車系統(tǒng)以......

    智能小車設計報告

    機器人控制技術 實驗設計報告書 題 目:基于STC89C52的智能小車的設計 姓 名:李如發(fā) 學 號:073321032 專 業(yè):電氣工程及其自動化 指導老師:李東京 設計時間:2010年 6 月 目 錄 1.......

    智能小車設計報告

    智能小車設計報告 魏旭峰、孔凡明、陳夢洋 (河北科技大學 電氣信息學院 ) 摘要: AT89S52單片機是一款八位單片機,他的易用性和多功能性受到了廣大使用者的好評。該設計是結合......

    智能小車實驗報告[全文5篇]

    課程設計報告 (嵌入式技術實踐(一)) 學院:電氣工程與自動化學院 題 目:智能小車的電路設計與制作 專業(yè)班級:自動化123班 學 號: 21 學生姓名:謝斌 指導老師: 王祖麟、張振利 日 期:......

    畢業(yè)設計任務書(智能小車)

    安徽建筑工業(yè)學院畢業(yè)設計(論文)任務書課題名稱系別專業(yè)姓名 基于單片機智能小車的設計 電子與信息工程學院 城建電子學號2011 年 2 月 20 日至 2010 年 6 月 22 日共 17 周......

    智能小車總結(5篇材料)

    第二屆“飛思卡爾杯”智能小車 技術總結報告 隊名:BIT 電氣二隊 隊員:葉林瓚李文楠學院:信息科學技術學院專業(yè):電氣工程與自動化 宣言:做到最好2008-9-3 第二屆“飛思卡爾杯......

主站蜘蛛池模板: 人人玩人人添人人澡免费| 少妇人妻陈艳和黑人教练| 人妻中文字幕乱人伦在线| 亚欧中文字幕久久精品无码| 亚洲午夜成人精品电影在线观看| 996热re视频精品视频这里| 亚洲色拍拍噜噜噜最新网站| 国产精品久久久久久久久久久久午夜片| 狠狠躁夜夜躁人人爽天天不卡| 人体内射精一区二区三区| 人妻熟女 视频二区 视频一区| 精品久久久无码中文字幕一丶| 亚洲av无码一区二区二三区| 极品美女扒开粉嫩小泬图片| 国产无线乱码一区二三区| 无码办公室丝袜ol中文字幕| 人妻系列无码专区喂奶| 最新国产乱人伦偷精品免费网站| 亚洲va中文字幕| 亚洲中文字幕乱码av波多ji| 真实国产老熟女无套中出| 东京热无码人妻一区二区av| 精品亚洲成a人在线观看青青| 欧美精品1卡二卡三卡四卡| 国产香线蕉手机视频在线观看| 92午夜福利少妇系列| 亚洲精品中文字幕一区二区三区| 海角社区在线视频播放观看| 亚洲综合色aaa成人无码| 好紧好爽好湿别拔出来视频男男| 欧洲精品色在线观看| 久久精品人人做人人爽电影蜜月| 无码视频一区二区三区在线观看| 久久精品国内一区二区三区| 不卡一区二区视频日本| 亚洲欧洲av综合色无码| 国产女人和拘做受视频免费| 少妇人妻无码专区在线视频| 亚洲最新无码成av人| 亚洲制服丝袜中文字幕自拍| 国产精品热久久无码av|