基于單片機的智能循跡避障小車設計與實現(xiàn)大學本科畢業(yè)論文設計范文模板參考資料
本科生畢業(yè)論文(設計)打印專用紙目錄摘要2ABSTRACT2第一章 緒 論31.1智能小車的意義和作用 31.2智能小車的現(xiàn)狀 3第二章 方案設計與論證 42.1 主控系統(tǒng)42.2 電機驅動模塊42.3 循跡模塊62.4 避障模塊72.5 機械系統(tǒng)72.6電源模塊8第三章 硬件設計 83.1總體設計83.2驅動電路93.3信號檢測模塊103.4主控電路11第四章 軟件設計124.1主程序模塊124.2電機驅動程序124.3循跡模塊134.4避障模塊15第五章 制作安裝與調試 18結束語18致謝19參考文獻19智能循跡避障小車 摘要:利用紅外對管檢測黑線與障礙物,并以STC89C52單片機為控制芯片控制電動小汽車的速度及轉向,從而實現(xiàn)自動循跡避障的功能。其中小車驅動由L298N驅動電路完成,速度由單片機輸出的PWM波控制。關鍵詞:智能小車;STC89C52單片機; L298N;紅外對管 Intelligent tracking and obstacle-avoid carXiao WeiSchool of Physics and Electronic Information,Grade 2006 Class 9 ,Instructor:Liu HankuiAbstract:Based infrared detection of black lines and the road obstacles, and use a STC89C52 MCU as the controlling core for the speed and direction, A electronic drived, which can automatic track and avoid the obstacle, was designed and fabricated. In which, the car is drived by the L298N circuit, its speed is controlled by the output PWM signal from the STC89C52.Keywords: Smart Car; STC89C52 MCU; L298N; Infrared Emitting Diode 第一章 緒論 1.1智能小車的意義和作用 自第一臺工業(yè)機器人誕生以來,機器人的發(fā)展已經遍及機械、電子、冶金、交通、宇航、國防等領域。近年來機器人的智能水平不斷提高,并且迅速地改變著人們的生活方式。人們在不斷探討、改造、認識自然的過程中,制造能替代人勞動的機器一直是人類的夢想。隨著科學技術的發(fā)展,機器人的感覺傳感器種類越來越多,其中視覺傳感器成為自動行走和駕駛的重要部件。視覺的典型應用領域為自主式智能導航系統(tǒng),對于視覺的各種技術而言圖像處理技術已相當發(fā)達,而基于圖像的理解技術還很落后,機器視覺需要通過大量的運算也只能識別一些結構化環(huán)境簡單的目標。視覺傳感器的核心器件是攝像管或CCD,目前的CCD已能做到自動聚焦。但CCD傳感器的價格、體積和使用方式上并不占優(yōu)勢,因此在不要求清晰圖像只需要粗略感覺的系統(tǒng)中考慮使用接近覺傳感器是一種實用有效的方法。機器人要實現(xiàn)自動導引功能和避障功能就必須要感知導引線和障礙物,感知導引線相當給機器人一個視覺功能。避障控制系統(tǒng)是基于自動導引小車(AVGauto-guide vehicle)系統(tǒng),基于它的智能小車實現(xiàn)自動識別路線,判斷并自動避開障礙,選擇正確的行進路線。使用傳感器感知路線和障礙并作出判斷和相應的執(zhí)行動作。該智能小車可以作為機器人的典型代表。它可以分為三大組成部分:傳感器檢測部分、執(zhí)行部分、CPU。機器人要實現(xiàn)自動避障功能,還可以擴展循跡等功能,感知導引線和障礙物??梢詫崿F(xiàn)小車自動識別路線,選擇正確的行進路線,并檢測到障礙物自動躲避?;谏鲜鲆螅瑐鞲袡z測部分考慮到小車一般不需要感知清晰的圖像,只要求粗略感知即可,所以可以舍棄昂貴的CCD傳感器而考慮使用價廉物美的紅外反射式傳感器來充當。智能小車的執(zhí)行部分,是由直流電機來充當?shù)?,主要控制小車的行進方向和速度。單片機驅動直流電機一般有兩種方案:第一,勿需占用單片機資源,直接選擇有PWM功能的單片機,這樣可以實現(xiàn)精確調速;第二,可以由軟件模擬PWM輸出調制,需要占用單片機資源,難以精確調速,但單片機型號的選擇余地較大??紤]到實際情況,本文選擇第二種方案。CPU使用STC89C52單片機,配合軟件編程實現(xiàn)。1.2智能小車的現(xiàn)狀現(xiàn)智能小車發(fā)展很快,從智能玩具到其它各行業(yè)都有實質成果。其基本可實現(xiàn)循跡、避障、檢測貼片、尋光入庫、避崖等基本功能,這幾節(jié)的電子設計大賽智能小車又在向聲控系統(tǒng)發(fā)展。比較出名的飛思卡爾智能小車更是走在前列。我此次的設計主要實現(xiàn)循跡避障這兩個功能。第二章 方案設計與論證根據(jù)要求,確定如下方案:在現(xiàn)有玩具電動車的基礎上,加裝光電檢測器,實現(xiàn)對電動車的速度、位置、運行狀況的實時測量,并將測量數(shù)據(jù)傳送至單片機進行處理,然后由單片機根據(jù)所檢測的各種數(shù)據(jù)實現(xiàn)對電動車的智能控制。這種方案能實現(xiàn)對電動車的運動狀態(tài)進行實時控制,控制靈活、可靠,精度高,可滿足對系統(tǒng)的各項要求。2.1 主控系統(tǒng)根據(jù)設計要求,我認為此設計屬于多輸入量的復雜程序控制問題。據(jù)此,擬定了以下兩種方案并進行了綜合的比較論證,具體如下:方案一:選用一片CPLD(如EPM7128LC84-15)作為系統(tǒng)的核心部件,實現(xiàn)控制與處理的功能。CPLD具有速度快、編程容易、資源豐富、開發(fā)周期短等優(yōu)點,可利用VHDL語言進行編寫開發(fā)。但CPLD在控制上較單片機有較大的劣勢。同時,CPLD的處理速度非??欤≤嚨男羞M速度不可能太高,那么對系統(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ù)這些分析,我選定了P89C51RA單片機作為本設計的主控裝置,51單片機具有功能強大的位操作指令,I/O口均可按位尋址,程序空間多達8K,對于本設計也綽綽有余,更可貴的是51單片機價格非常低廉。在綜合考慮了傳感器、兩部電機的驅動等諸多因素后,我們決定采用一片單片機,充分利用STC89C52單片機的資源。2.2 電機驅動模塊方案一:采用繼電器對電動機的開或關進行控制,通過開關的切換對小車的速度進行調整.此方案的優(yōu)點是電路較為簡單,缺點是繼電器的響應時間慢,易損壞,壽命較短,可靠性不高。方案二:采用電阻網(wǎng)絡或數(shù)字電位器調節(jié)電動機的分壓,從而達到分壓的目的。但電阻網(wǎng)絡只能實現(xiàn)有級調速,而數(shù)字電阻的元器件價格比較昂貴。更主要的問題在于一般的電動機電阻很小,但電流很大,分壓不僅回降低效率,而且實現(xiàn)很困難。方案三:采用功率三極管作為功率放大器的輸出控制直流電機。線性型驅動的電路結構和原理簡單,加速能力強,采用由達林頓管組成的 H型橋式電路(如圖2.1)。用單片機控制達林頓管使之工作在占空比可調的開關狀態(tài)下,精確調整電動機轉速。這種電路由于工作在管子的飽和截止模式下,效率非常高,H型橋式電路保證了簡單的實現(xiàn)轉速和方向的控制,電子管的開關速度很快,穩(wěn)定性也極強,是一種廣泛采用的 PWM調速技術。現(xiàn)市面上有很多此種芯片,我選用了L298N(如圖2.2)。這種調速方式有調速特性優(yōu)良、調整平滑、調速范圍廣、過載能力大,能承受頻繁的負載沖擊,還可以實現(xiàn)頻繁的無級快速啟動、制動和反轉等優(yōu)點。因此決定采用使用功率三極管作為功率放大器的輸出控制直流電機。圖2.1 H橋式電路圖2.2 L298N2.3 循跡模塊方案一:采用簡易光電傳感器結合外圍電路探測,但實際效果并不理想,對行駛過程中的穩(wěn)定性要求很高,且誤測幾率較大、易受光線環(huán)境和路面介質影響。在使用過程極易出現(xiàn)問題,而且容易因為 該部件造成整個系統(tǒng)的不穩(wěn)定。故最終未采用該方案。方案二:采用兩只紅外對管(如圖2.3),分別置于小車車身前軌道的兩側,根據(jù)兩只光電開關接受到白線與黑線的情況來控制小車轉向來調整車向,測試表明,只要合理安裝好兩只光電開關的位置就可以很好的實現(xiàn)循跡的功能。(參考文獻3)方案三:采用三只紅外對管,一只置于軌道中間,兩只置于軌道外側,當小車脫離軌道時,即當置于中間的一只光電開關脫離軌道時,等待外面任一只檢測到黑線后,做出相應的轉向調整,直到中間的光電開關重新檢測到黑線(即回到軌道)再恢復正向行駛?,F(xiàn)場實測表明,小車在尋跡過程中有一定的左右搖擺不定,雖然可以正確的循跡但其成本與穩(wěn)定性都次與第二種方案。通過比較,我選取第二種方案來實現(xiàn)循跡。圖2.3 紅外對管2.4 避障模塊方案一:采用一只紅外對管置于小車中央。其安裝簡易,也可以檢測到障礙物的存在,但難以確定小車在水平方向上是否會與障礙物相撞,也不易讓小車做出精確的轉向反應。方案二:采用二只紅外對管分別置于小車的前端兩側,方向與小車前進方向平行,對小車與障礙物相對距離和方位能作出較為準確的判別和及時反應。但此方案過于依賴硬件、成本較高、缺乏創(chuàng)造性,而且置于小車左方的紅外對管用到的幾率很小,所以最終未采用。方案三:采用一只紅外對管置于小車右側。通過測試此種方案就能很好的實現(xiàn)小車避開障礙物,且充分的利用資源而不浪費。(參考文獻3)通過比較我采用方案三。2.5 機械系統(tǒng)本題目要求小車的機械系統(tǒng)穩(wěn)定、靈活、簡單,而三輪運動系統(tǒng)具備以上特點。驅動部分:由于玩具汽車的直流電機功率較小,而小車上裝有電池、電機、電子器件等,使得電機負擔較重。為使小車能夠順利啟動,且運動平穩(wěn),在直流電機和輪車軸之間加裝了三級減速齒輪。電池的安裝:將電池放置在車體的電機前后位置,降低車體重心,提高穩(wěn)定性,同時可增加驅動輪的抓地力,減小輪子空轉所引起的誤差。簡單,而三輪運動系統(tǒng)具備以上特點。2.6電源模塊方案一:采用實驗室有線電源通過穩(wěn)壓芯片供電,其優(yōu)點是可穩(wěn)定的提供5V電壓,但占用資源過大。方案二:采用4支1.5V電池單電源供電,但6V的電壓太小不能同時給單片機與與電機供電。方案三:采用8支1.5V電池雙電源分別給單片機與電機供電可解決方案二的問題且能讓小車完成其功能。所以,我選擇了方案三來實現(xiàn)供電。第三章 硬件設計3.1總體設計智能小車采用前輪驅動,前輪左右兩邊各用一個電機驅動,調制前面兩個輪子的轉速起停從而達到控制轉向的目的,后輪是萬象輪,起支撐的作用。將循跡光電對管分別裝在車體下的左右。當車身下左邊的傳感器檢測到黑線時,主控芯片控制左輪電機停止,車向左修正,當車身下右邊傳感器檢測到黑線時,主控芯片控制右輪電機停止,車向右修正。避障的原理和循線一樣,在車身右邊裝一個光電對管,當其檢測到障礙物時,主控芯片給出信號報警并控制車子倒退,轉向,從而避開障礙物。3.1.1主板設計框圖如圖3.1,所需原件清單如表3.1。Stc89c52循跡紅外對管時鐘電路復位電路報警電路電機驅動避障紅外對管圖3.1 主板設計框圖表3.1 元件清單元件數(shù)量元件數(shù)量元件數(shù)量直流電機2只電阻若干集成電路芯片若干單片機1 塊二極管若干電容若干紅外對管3只蜂鳴器1只電位器若干12M晶振1只杜邦線若干玩具小車1個排針若干3.2驅動電路(參考文獻4)電機驅動一般采用H橋式驅動電路,L298N內部集成了H橋式驅動電路,從而可以采用L298N電路來驅動電機。通過單片機給予L298N電路PWM信號來控制小車的速度,起停。其引腳圖如3.2,驅動原理圖如圖3.3。圖3.2 L298N引腳圖 圖3.3 電機驅動電路3.3信號檢測模塊小車循跡原理是小車在畫有黑線的白紙 “路面”上行駛,由于黑線和白紙對光線的反射系數(shù)不同,可根據(jù)接收到的反射光的強弱來判斷“道路”黑線。筆者在該模塊中利用了簡單、應用也比較普遍的檢測方法紅外探測法。紅外探測法,即利用紅外線在不同顏色的物理表面具有不同的反射性質的特點。在小車行駛過程中不斷地向地面發(fā)射紅外光,當紅外光遇到白色地面時發(fā)生漫發(fā)射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,則小車上的接收管接收不到信號,再通過LM324作比較器來采集高低電平,從而實現(xiàn)信號的檢測。避障亦是此原理。電路圖如圖3.4。市面上有很多紅外傳感器,在這里我選用TCRT5000型光電對管。圖3.4循跡原理圖3.4主控電路本模塊主要是對采集信號進行分析,同時給出PWM波控制電機速度,起停。以及再檢測到障礙報警等作用。其電路圖如圖5。圖3.5 主控電路第四章 軟件設計4.1啟動循跡是否檢測到停止線停止是否檢測到障礙NY避障YN主程序框圖:圖4.1 主程序框圖4.2電機驅動程序void goahead()s1=1;s2=0;s3=1;s4=0;void goback()s1=0;s2=1;s3=0;s4=1;void turnleft()s3=1;s4=0;void turnright()s1=1;s2=0;void stop()en1=0;en2=0;4.3循跡模塊開始前進掃描I/O口,是否檢測到黑線Y左邊 右邊左轉右轉N循跡框圖:圖4.2 循跡框圖循跡程序:void xunji()if(left_red=1)&(right_red=1)en1=1;en2=1;goahead();delay(150);en1=0;en2=0;delay(50);else if(left_red=0)&(right_red=1)en1=0;en2=1; P0_0=!P0_0;turnleft();delay(150);en1=1;en2=0;delay(50);else if(left_red=1)&(right_red=0)en1=1;en2=0;P0_1=!P0_1;turnright();delay(150);en1=0;en2=1;delay(50);elsestop();4.4避障模塊避障框圖:開始后退一點,報警后退左轉前進右轉Y循跡是否檢測到黑線前進N圖4.3 避障框圖避障程序:void bizhang()en1=1;en2=1;goback();mid_red=0;baojing();goback();for(i=0;i<8;i+)en1=1;en2=1;delay(150);en1=0;en2=0;delay(50);stop();delay(10);turnleft();for(i=0;i<11;i+)en1=0;en2=1;delay(130); en2=0;delay(50);stop();delay(10);goahead();for(i=0;i<22;i+)en1=1;en2=1;delay(130);en1=0;en2=0; delay(50);stop();delay(10);turnright();for(i=0;i<18;i+)en1=1;en2=0;delay(130);en1=0;delay(50);xun: if(left_red=1)&(right_red=0)loop: turnleft();en1=0;en2=1;delay(30);turnright();en1=1;delay(50);en1=0;delay(50);en2=0;delay(50);if(left_red=1)&(right_red=1);else goto loop;elseen1=1;en2=1;goahead();delay(80);en1=0;en2=0;delay(50);goto xun;第五章 制作安裝與調試5.1 PCB的設計制作與安裝采用DXP2004繪制原理圖與PCB板,布線的過程中必須注意焊盤的大小與銅線的寬度。我選取的焊盤內徑為0.8mm,外徑2mm;銅線寬1mm。從做板的情況來看基本達到制作得要求。采用螺絲將循跡板安裝在車頭,主板與電機驅動安裝在車尾。52 小車調試通過改變循跡板滑動變阻器器的大小來調試紅外對管的靈敏度,通過改變延時程序來改變速度的大小。下表為小車運行的情況:表5.1 小車調試情況小車運行次數(shù)成功循跡次數(shù)成功避障次數(shù)111221332442554結束語 整個系統(tǒng)的設計以單片機為核心,利用了多種傳感器,將軟件和硬件相結合。本系統(tǒng)能實現(xiàn)如下功能:(1) 自動沿預設軌道行駛小車在行駛過程中,能夠自動檢測預先設好的軌道,實現(xiàn)直道和弧形軌道的前進。若有偏離,能夠自動糾正,返回到預設軌道上來。(2)當小車探測到前進前方的障礙物時,可以自動報警調整,躲避障礙物,從無障礙區(qū)通過。小車通過障礙區(qū)后,能夠自動循跡(3)自動檢測停車線并自動停車。從運行情況來看循跡的效果比較好,避障的效果不是很好,我認為是由于電源不能穩(wěn)定而是的小車的速度不好控制,這也是我這次設計最大的誤區(qū),沒有選取穩(wěn)定的電源。我相信如果實驗條件和時間的允許下我肯定能解決這一問題。 通過本次設計我掌握了很多以前不熟練的東西,認識了很多以前不熟悉得東西,使我在人生上又進了一步。也認識到很多的不足。參考文獻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.5Yamato I , et al 1 New conversion system for UPS using high fre2quency linkJ 1 IEEE PESC ,1988 :210-320.6Yamato I , et al 1 High frequency link DC/ AC converter for UPSwith a new voltage clamperJ 1IEEE PESC ,1990 :52-105.19