超聲波避障小車_第1頁(yè)
超聲波避障小車_第2頁(yè)
超聲波避障小車_第3頁(yè)
超聲波避障小車_第4頁(yè)
超聲波避障小車_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)超聲波避障小車項(xiàng)目研究報(bào)告項(xiàng)目組成員:計(jì)科專業(yè)0901 余恒洋計(jì)科專業(yè)0901吳林生醫(yī)專業(yè)0902史思總“智能機(jī)器人”創(chuàng)新實(shí)踐班2011年5月20日摘 要Mega16是AVR系列單片機(jī)里應(yīng)用比較廣泛的一款,在自動(dòng)控制領(lǐng)域里享有很高的價(jià)值,以其易用性和多功能性受到了廣大電子設(shè)計(jì)及愛(ài)好者的好評(píng)。本次設(shè)計(jì)主要是利用arduino板、超聲波傳感器和L298N完成避障小車的制作,以ATmega16為主控芯片,利用超聲波對(duì)距離的檢測(cè)將前方的障礙探測(cè)出來(lái)并且通過(guò)超聲波傳回的數(shù)據(jù)進(jìn)行判

2、斷,然后ATmega16發(fā)出指令控制電機(jī)的轉(zhuǎn)動(dòng)。關(guān)鍵詞:超聲波傳感器 避障小車 ATmega16 目 錄 TOC o 1-3 h z u 緒論項(xiàng)目研究背景及意義隨著汽車工業(yè)的快速發(fā)展,關(guān)于汽車的研究也越來(lái)越受到人們的關(guān)注。智能汽車概念的提出給汽車產(chǎn)業(yè)帶來(lái)機(jī)遇也帶了挑戰(zhàn)。汽車的智能化必將是未來(lái)汽車產(chǎn)業(yè)發(fā)展的趨勢(shì),在這樣的背景下,我們開展了基于超聲波的智能小車的避障研究。超聲波作為智能車避障的一種重要手段,以其避障實(shí)現(xiàn)方便,計(jì)算簡(jiǎn)單,易于做到實(shí)時(shí)控制,測(cè)量精度也能達(dá)到實(shí)用的要求,在未來(lái)汽車智能化進(jìn)程中必將得到廣泛應(yīng)用。我國(guó)作為一個(gè)世界大國(guó),在高科技領(lǐng)域也必須占據(jù)一席之地,未來(lái)汽車的智能化是汽車產(chǎn)業(yè)

3、發(fā)展必然的,在這種情況下研究超聲波在智能車避障上的應(yīng)用具有深遠(yuǎn)意義,這將對(duì)我國(guó)未來(lái)智能汽車的研究在世界高科技領(lǐng)域占據(jù)領(lǐng)先地位具有重要作用。項(xiàng)目主要研究?jī)?nèi)容超聲波在距離檢測(cè)方面的較準(zhǔn)確定位。超聲波傳感器主要發(fā)射高頻超聲波,在遇到障礙物時(shí)發(fā)生像光一樣的反射和散射,在經(jīng)過(guò)多次發(fā)射之后再回到超聲波檢測(cè)端口會(huì)產(chǎn)生較嚴(yán)重的路程差,從而影響對(duì)距離的檢測(cè)進(jìn)而影響對(duì)障礙物的較準(zhǔn)確定位。通過(guò)軟件內(nèi)部校準(zhǔn)優(yōu)化消除外部物理?xiàng)l件造成的誤差從而達(dá)到對(duì)障礙物的較準(zhǔn)確定位。總體設(shè)計(jì)方案及論證總體方案設(shè)計(jì)系統(tǒng)采用ATMEL的8位微控制器ATmega8單片機(jī)作為核心控制單元用于智能車系統(tǒng)的控制,在超聲波檢測(cè)到障礙物之后,主控芯片

4、根據(jù)距離值控制直流電機(jī)的轉(zhuǎn)動(dòng),在轉(zhuǎn)動(dòng)的方案上將首先嘗試左轉(zhuǎn),在900ms里面連續(xù)轉(zhuǎn)動(dòng)三次說(shuō)明前方的障礙不能通過(guò),就控制小車后退,并且向相反的方向轉(zhuǎn)動(dòng)。系統(tǒng)總體的設(shè)計(jì)方框圖如圖2-1所示。圖2 STYLEREF 1 s 2 SEQ 圖2- * ARABIC s 1 1 系統(tǒng)總體方案圖 圖1.2系統(tǒng)總體方框圖硬件設(shè)計(jì)電源設(shè)計(jì)電源部分的設(shè)計(jì)主要采用7805芯片,使用7805芯片搭建的電路的優(yōu)點(diǎn)是簡(jiǎn)單、實(shí)用,并且完全能夠滿足壁障小車單片機(jī)控制系統(tǒng)和L298N芯片的邏輯供電的供電需要。7805芯片有3個(gè)引腳,分別為輸入IN端、輸出OUT端和接地GND端,通常情況下可以提供1.5A的電流,在散熱足夠的情況

5、下可以提供大于1.5A的電流。7805芯片的輸入電壓可以為9V、12V、15V不等,輸出電壓穩(wěn)定在5V,正負(fù)誤差不超過(guò)0.2V。7805芯片如圖2-2?;谶@樣的情況再結(jié)合電機(jī)的工作電壓,選取了12電源作為7805的輸入電源,搭建的電源部分電路如圖2-3 圖 STYLEREF 1 s 2 SEQ 圖 * ARABIC s 1 2 7805芯片電機(jī)驅(qū)動(dòng)設(shè)計(jì) 電機(jī)驅(qū)動(dòng)部分主要采用一片L298N和主控芯片ATmega16單片機(jī)直接相連夠成驅(qū)動(dòng)電路。L298N芯片直插式的15個(gè)引腳,其中有兩個(gè)使能端ENA和ENB,兩個(gè)反饋端SA和SB,四個(gè)輸入端IN1、IN2、IN3和IN4,四個(gè)輸出端OUT1、OU

6、T2、OUT3和OUT4,一個(gè)接地端GND,一個(gè)VSS(5V時(shí)性能最好)邏輯電源電壓輸入端和一個(gè)VS(最大承載電壓46V,鑒于7805和電機(jī)電壓,選取12電源供電)功率電源電壓輸入端。L298N可同時(shí)驅(qū)動(dòng)兩個(gè)電機(jī),最大輸出電流為2A,鑒于它的良好性能和價(jià)格,選取L298N作為電機(jī)驅(qū)動(dòng)芯片,L298N芯片如圖2-3。ATmega16的PB4、PB5兩個(gè)端口直接分別與L298N的兩個(gè)使能端ENA、ENB相連,控制電機(jī)轉(zhuǎn)停的目的。PD0PD3端口分別與L298N的引腳IN1、IN2、IN3、IN4相連通過(guò)電平變化控制電機(jī)在持續(xù)高速狀態(tài)下的轉(zhuǎn)向。L298N的四個(gè)輸出端直接與兩個(gè)電機(jī)相連驅(qū)動(dòng)電機(jī)。搭建的

7、電機(jī)驅(qū)動(dòng)部分電路如圖2-4。 圖2-3 L298N芯片圖2- 4 電機(jī)驅(qū)動(dòng)電路圖超聲波測(cè)試模塊超聲波模塊采用現(xiàn)成的超聲波模塊,該模塊可提供 2cm-400cm 的非接觸式距離感測(cè)功能,測(cè)距精度可達(dá)高到 3mm。模塊包括超聲波發(fā)射器、接收器與控制電路。基本工作原理:采用 IO 口 TRIG 觸發(fā)測(cè)距,給至少 10us 的高電平信號(hào);模塊自動(dòng)發(fā)送 8 個(gè) 40khz 的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;有信號(hào)返回,通過(guò) IO 口 ECHO 輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間。測(cè)試距離=(高電平時(shí)間*聲速(340M/S)/2。實(shí)物如下圖2-5。其中VCC 供5V 電源,GND

8、為地線,TRIG 觸發(fā)控制信號(hào)輸入,ECHO 回響信號(hào)輸出等四支線。圖2- 5 超聲波模塊實(shí)物圖主控系統(tǒng)設(shè)計(jì) 主控系統(tǒng)主要采用ATmega16單片機(jī)作為中央處理器,系統(tǒng)主要包含ISP下載端口用于現(xiàn)在單片機(jī)程序、超聲波連接端口用于和超聲波模塊的連接輸入檢測(cè)信號(hào)和輸出指令信號(hào)、L298N連接端口用于和驅(qū)動(dòng)電路的連接,輸出電機(jī)轉(zhuǎn)動(dòng)信號(hào)和各類指示燈用于指示測(cè)試信號(hào)等??刂葡到y(tǒng)部分電路如圖2-6圖2- 6 主控系統(tǒng)原理圖軟件設(shè)計(jì) 直流電機(jī)控制模塊在單片機(jī)的應(yīng)用領(lǐng)域里面,電機(jī)控制的方法比較多,主流的控制方案有以下幾種:方案一:串電阻調(diào)速系統(tǒng)。方案二:靜止可控整流器。簡(jiǎn)稱V-M系統(tǒng)。方案三:脈寬調(diào)速系統(tǒng)。旋

9、轉(zhuǎn)變流系統(tǒng)由交流發(fā)電機(jī)拖動(dòng)直流電動(dòng)機(jī)實(shí)現(xiàn)變流,由發(fā)電機(jī)給需要調(diào)速的直流電動(dòng)機(jī)供電,調(diào)節(jié)發(fā)電機(jī)的勵(lì)磁電流即可改變其輸出電壓,從而調(diào)節(jié)電動(dòng)機(jī)的轉(zhuǎn)速。改變勵(lì)磁電流的方向則輸出電壓的極性和電動(dòng)機(jī)的轉(zhuǎn)向都隨著改變,所以G-M系統(tǒng)的可逆運(yùn)行是很容易實(shí)現(xiàn)的。該系統(tǒng)需要旋轉(zhuǎn)變流機(jī)組,至少包含兩臺(tái)與調(diào)速電動(dòng)機(jī)容量相當(dāng)?shù)男D(zhuǎn)電機(jī),還要一臺(tái)勵(lì)磁發(fā)電機(jī),設(shè)備多、體積大、費(fèi)用高、效率低、維護(hù)不方便等缺點(diǎn)。且技術(shù)落后,因此擱置不用。V-M系統(tǒng)是當(dāng)今直流調(diào)速系統(tǒng)的主要形式。它可以是單相、三相或更多相數(shù),半波、全波、半控、全控等類型,可實(shí)現(xiàn)平滑調(diào)速。V-M系統(tǒng)的缺點(diǎn)是晶閘管的單向?qū)щ娦裕辉试S電流反向,給系統(tǒng)的可逆運(yùn)行造成

10、困難。它的另一個(gè)缺點(diǎn)是運(yùn)行條件要求高,維護(hù)運(yùn)行麻煩。最后,當(dāng)系統(tǒng)處于低速運(yùn)行時(shí),系統(tǒng)的功率因數(shù)很低,并產(chǎn)生較大的諧波電流危害附近的用電設(shè)備。采用晶閘管的直流斬波器基本原理與整流電路不同的是,在這里晶閘管不受相位控制,而是工作在開關(guān)狀態(tài)。當(dāng)晶閘管被觸發(fā)導(dǎo)通時(shí),電源電壓加到電動(dòng)機(jī)上,當(dāng)晶閘管關(guān)斷時(shí),直流電源與電動(dòng)機(jī)斷開,電動(dòng)機(jī)經(jīng)二極管續(xù)流,兩端電壓接近于零。脈沖寬度調(diào)制(Pulse Width Modulation),簡(jiǎn)稱PWM。脈沖周期不變,只改變晶閘管的導(dǎo)通時(shí)間,即通過(guò)改變脈沖寬度來(lái)進(jìn)行直流調(diào)速。與V-M系統(tǒng)相比,PWM調(diào)速系統(tǒng)有下列優(yōu)點(diǎn):(1)由于PWM調(diào)速系統(tǒng)的開關(guān)頻率較高,僅靠電樞電感的

11、濾波作用就可以獲得脈動(dòng)很小的直流電流,電樞電流容易連續(xù),系統(tǒng)的低速運(yùn)行平穩(wěn),調(diào)速范圍較寬,可達(dá)1:10000左右。由于電流波形比V-M系統(tǒng)好,在相同的平均電流下,電動(dòng)機(jī)的損耗和發(fā)熱都比較小。(2)同樣由于開關(guān)頻率高,若與快速響應(yīng)的電機(jī)相配合,系統(tǒng)可以獲得很寬的頻帶,因此快速響應(yīng)性能好,動(dòng)態(tài)抗擾能力強(qiáng)。(3)由于電力電子器件只工作在開關(guān)狀態(tài),主電路損耗較小,裝置效率較高。根據(jù)以上綜合比較,以及本設(shè)計(jì)中受控電機(jī)的容量和直流電機(jī)調(diào)速的發(fā)展方向,本設(shè)計(jì)采用了Mega16單片機(jī)的PWM輸出調(diào)速,結(jié)合LM298芯片,能夠?qū)崿F(xiàn)比較好的控制效果,在小車避障的過(guò)程中,也可以直接控制LM298芯片,改變電機(jī)的運(yùn)轉(zhuǎn)

12、情況,實(shí)現(xiàn)簡(jiǎn)易的轉(zhuǎn)向與后退等功能。電機(jī)控制流程圖:圖2- 7 電機(jī)控制流程圖超聲波探測(cè)模塊超聲波探測(cè)模塊HC-SR04的使用方法如下:IO口觸發(fā),給Trig口至少10us的高電平,啟動(dòng)測(cè)量;模塊自動(dòng)發(fā)送8個(gè)40Khz的方波,自動(dòng)檢測(cè)是否有信號(hào)返回;有信號(hào)返回,通過(guò)IO口Echo輸出一個(gè)高電平,高電平持續(xù)的時(shí)間就是超聲波從發(fā)射到返回的時(shí)間,測(cè)試距離=(高電平時(shí)間*340)/ 2,單位為m。程序中測(cè)試功能主要由兩個(gè)函數(shù)完成,即measure()負(fù)責(zé)啟動(dòng)一次模塊的測(cè)距,然后由ShouldTurn()確定前方是否有障礙物,根據(jù)車體大小及系統(tǒng)的反應(yīng),經(jīng)過(guò)測(cè)試,取30cm的反應(yīng)距離效果較為明顯。另外,HC

13、-SR04超聲波探測(cè)模塊探測(cè)的間隔周期推薦值是64ms(圖2-8),但經(jīng)過(guò)試驗(yàn),我們發(fā)現(xiàn)在我們的小系統(tǒng)中取125ms較為適宜,使主程序有足夠的時(shí)間來(lái)驅(qū)動(dòng)小車前進(jìn),而不至于出現(xiàn)前進(jìn)不流暢的現(xiàn)象。圖2- 8 超聲波探測(cè)模塊時(shí)序圖實(shí)現(xiàn)中采用定時(shí)器0進(jìn)行定時(shí)測(cè)量,8分頻,TCNTT0預(yù)設(shè)值0XCE,當(dāng)timer0溢出中斷發(fā)生2500次時(shí)為125ms,計(jì)算公式為(單位:ms):T = (定時(shí)器0溢出次數(shù) * (0XFF - 0XCE)/ 1000 其中定時(shí)器0初值計(jì)算依據(jù)分頻不同而有差異。超聲波探測(cè)程序流程圖:圖2- 9超聲波探測(cè)程序流程圖軟件與硬件的整合在本次設(shè)計(jì)過(guò)程中,考慮到各個(gè)模塊之間的控制復(fù)雜性

14、,我們將電機(jī)控制,超聲波測(cè)距分開調(diào)試,當(dāng)兩個(gè)模塊都可以正常工作之后,再將它們結(jié)合起來(lái)調(diào)試,采取了“分而治之”的思想。調(diào)試超聲波模塊在調(diào)試超聲波的時(shí)候,主要思想是用定時(shí)器檢測(cè)超聲波會(huì)送信號(hào)維持高電平的時(shí)間,用串口示波器將測(cè)得的數(shù)據(jù)顯示在串口示波器上,根據(jù)返回的結(jié)果,確定達(dá)到轉(zhuǎn)彎距離以內(nèi)所需要的時(shí)間,然后利用時(shí)間控制電機(jī)電機(jī)調(diào)試在點(diǎn)擊調(diào)試的過(guò)程中,我們首先將Mega16的PWM輸出在示波器上反映出來(lái),確保PWM波的輸出正常,并且能夠根據(jù)用戶設(shè)定的比較值產(chǎn)生不同形式的輸出,在比較匹配發(fā)生之后,調(diào)節(jié)其占空比,實(shí)現(xiàn)電機(jī)的速度控制,在控制電機(jī)轉(zhuǎn)動(dòng)的時(shí)候,采用直接控制LM298芯片的方式,實(shí)現(xiàn)左轉(zhuǎn),右轉(zhuǎn),后

15、退等功能。測(cè)試由于HR-S04對(duì)于障礙物的反射面有一定要求,即不能凹凸不平,應(yīng)盡量平滑,否則測(cè)量不會(huì)很準(zhǔn)確。針對(duì)障礙物表面的平整與不平整,我們分別測(cè)試了小車的運(yùn)行情況。當(dāng)障礙物表面叫平整時(shí),除非是極端的拐角處小車無(wú)法退出外(考慮到編程的復(fù)雜度以及僅僅是示意模型小車,程序中未記錄小車轉(zhuǎn)彎路徑),小車能很好的避障;當(dāng)障礙物表面不是很平整時(shí),結(jié)果不能預(yù)測(cè),有時(shí)小車能較好的轉(zhuǎn)彎,而有時(shí)不能,這主要取決于探測(cè)模塊的探測(cè)靈敏度,因?yàn)槌暡ê推胀暡ㄒ粯?,有可能?jīng)過(guò)多次反射后回來(lái)的信號(hào)已出現(xiàn)偏差,而這程序很難實(shí)現(xiàn)辨別??偟恼f(shuō)來(lái),小車的運(yùn)行結(jié)果基本達(dá)到了預(yù)期的效果,實(shí)現(xiàn)了演示性的避障功能。針對(duì)以上測(cè)試結(jié)果我們

16、對(duì)控制程序進(jìn)行了細(xì)微的改進(jìn),這樣考慮:由于小車只有前方一個(gè)導(dǎo)向源,當(dāng)遇到障礙物時(shí)而不能通過(guò)時(shí)會(huì)卡死,所以我們想到在程序中設(shè)立一個(gè)計(jì)數(shù)器,記錄小車探測(cè)到障礙物的次數(shù),同時(shí)也記下記錄到相應(yīng)次數(shù)時(shí)所用的總的探測(cè)時(shí)間,當(dāng)在短時(shí)間內(nèi)測(cè)量次數(shù)達(dá)到一定數(shù)量時(shí)說(shuō)明周圍障礙物較多或已堵死在前方,此時(shí)讓小車后退一段距離然后隨機(jī)的轉(zhuǎn)一個(gè)方向,再繼續(xù)前進(jìn),實(shí)踐中我們?nèi)〉锰綔y(cè)限制次數(shù)為3次,時(shí)間為6000us,即3次探測(cè)到障礙物的總時(shí)間小于6000us時(shí)就執(zhí)行后退功能。經(jīng)過(guò)實(shí)際測(cè)試,改進(jìn)后小車避障效果表現(xiàn)的較為出色(當(dāng)然是在只有前方一個(gè)探測(cè)器的前提下),與之前相比有很大的提高,基本不會(huì)出現(xiàn)小車不能繼續(xù)前進(jìn)的情況,達(dá)到了

17、我們預(yù)期的效果。結(jié)果分析小車經(jīng)過(guò)測(cè)試,運(yùn)行結(jié)果良好。硬件上沒(méi)有錯(cuò)誤,主要瓶頸在于探測(cè)模塊的靈敏度,因?yàn)檐浖耆刻綔y(cè)模塊返回的信號(hào)作為依據(jù)進(jìn)行下一步控制的操作,無(wú)法確認(rèn)該信號(hào)是否準(zhǔn)確。為使小車轉(zhuǎn)彎更加準(zhǔn)確與智能,可以有以下改進(jìn):(1)增加對(duì)小車轉(zhuǎn)彎次數(shù)和每次轉(zhuǎn)彎時(shí)前面所經(jīng)過(guò)的時(shí)間的記錄,這樣可以進(jìn)行回退,使小車顯得更智能一些,不過(guò)這會(huì)增加開發(fā)難度,也會(huì)要求更多的存儲(chǔ)空間及數(shù)據(jù)處理時(shí)間,如果處理器速度不是很快,效果可能不會(huì)太明顯;(2)增加探測(cè)模塊的個(gè)數(shù),如左右各增加一個(gè)探測(cè)器,這樣同時(shí)檢測(cè)多個(gè)方向,明顯改進(jìn)避障的效果,特別是針對(duì)墻角、三面均有障礙物的情況??偨Y(jié)本超聲波避障小車的設(shè)計(jì)基于單片機(jī)原

18、理和傳感器原理,以ATmega16單片機(jī)為主控芯片,采用L298N和12V直流電機(jī)為驅(qū)動(dòng)元件,通過(guò)軟件編程制作了一整套結(jié)構(gòu)完整,功能模塊化,反應(yīng)較為靈敏的超聲波避障小車。經(jīng)過(guò)對(duì)該避障小車的避障測(cè)試實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明該避障小車能夠很好的按照預(yù)期完成避障動(dòng)作,并且能夠快速運(yùn)動(dòng)靈敏避障,效果良好,運(yùn)行穩(wěn)定性較好。但是該超聲波避障小車還存在著許多的不足,比如說(shuō)只能對(duì)正前方一定角度內(nèi)進(jìn)行探測(cè),使用的是一路超聲波而不是多路超聲波探測(cè),并且為了簡(jiǎn)化,默認(rèn)的只是向同一個(gè)方向轉(zhuǎn)彎等,這些都是有待進(jìn)一步發(fā)展和提高的,這與制作者自身的對(duì)與障礙檢測(cè)距離分析、自動(dòng)控制信號(hào)處理、圖像處理等諸多技術(shù)的有限性分不開的,還需要

19、研究制作者的學(xué)習(xí)和探索。本次項(xiàng)目共歷時(shí)兩個(gè)月,有充分的時(shí)間來(lái)準(zhǔn)備,但由于我們對(duì)所需器件的不熟悉導(dǎo)致花在器件采購(gòu)上的時(shí)間較多,以后需要詳細(xì)規(guī)劃好項(xiàng)目預(yù)計(jì)使用的器材,這樣可方便一次購(gòu)買到位。此外項(xiàng)目的進(jìn)度控制不是很準(zhǔn)確,小組的執(zhí)行力不夠,以致有幾次都沒(méi)能按預(yù)計(jì)進(jìn)度完成規(guī)定任務(wù),當(dāng)然技術(shù)上本身也有一定難度,但我們認(rèn)為這不是主要原因,以后我們會(huì)強(qiáng)調(diào)時(shí)間概念,按時(shí)并且爭(zhēng)取有效率的完成規(guī)定階段的任務(wù)。超聲波避障小車的實(shí)物主體框架由史思總負(fù)責(zé)完成,包括硬件電路的設(shè)計(jì)與焊接和最胡的組裝,吳林和余恒洋負(fù)責(zé)軟件上的編寫。我們分工比較明確,使得小組各成員能專注于自己的那部分任務(wù),工作完成質(zhì)量更有保證,并且查錯(cuò)與改錯(cuò)

20、也更容易一些。我們遇到的困難主要在于對(duì)超聲波模塊的使用方法不了解,實(shí)驗(yàn)室的模塊并沒(méi)有配套的資料,而網(wǎng)上也比較難找到它的手冊(cè)資料,最后我們選擇參考模板程序,然后對(duì)其進(jìn)行改進(jìn)使之適于自己的需求,這樣也減少了從頭到尾重復(fù)編寫代碼的時(shí)間。最初我們考慮到會(huì)使用pwm波來(lái)控制電機(jī),但后來(lái)測(cè)試發(fā)現(xiàn)我們的小車速度并不快,無(wú)需pwm調(diào)速都能正常運(yùn)行,故我們?cè)陧?xiàng)目結(jié)束時(shí)沒(méi)有考慮pwm的使用,這也使我們的工作大大簡(jiǎn)化,我們總結(jié)得出:能用簡(jiǎn)單方法解決的問(wèn)題便不用復(fù)雜的技術(shù)。參考文獻(xiàn)1 邵貝貝. 嵌入式實(shí)時(shí)操作系統(tǒng)LCOS-(第2版)M. 北京清華大學(xué)出版社20042 邵貝貝. 單片機(jī)嵌入式應(yīng)用的在線開發(fā)方法M北京清華

21、大學(xué)出社20043 王曉明. 電動(dòng)機(jī)的單片機(jī)控制M北京. 北京航空航天大學(xué)出版社2002 4 臧杰,閻巖. 汽車構(gòu)造M. 北京. 機(jī)械工業(yè)出版社2005 5 安鵬,馬偉S12單片機(jī)模塊應(yīng)用及程序調(diào)試J. 電子產(chǎn)品世界. 2006第211期 162-1637 童詩(shī)白,華成英模擬電子技術(shù)基礎(chǔ)M北京. 高等教育出版社2000 8 沈長(zhǎng)生常用電子元器件使用一讀通M北京. 人民郵電出版社2004 9 宗光華機(jī)器人的創(chuàng)意設(shè)計(jì)與實(shí)踐M北京. 北京航空航天大學(xué)出社2004 10 張偉等Protel DXP高級(jí)應(yīng)用M北京. 人民郵電出版社2002 11 張文春. 汽車?yán)碚揗北京機(jī)械工業(yè)出版社2005 12 江海

22、波,王卓然,耿德根編著.深入淺出AVR單片機(jī).中國(guó)電力出版社,2008.13 袁新娜,與紅英編著.超聲波傳感器在智能小車避障系統(tǒng)中的應(yīng)用.A中北大學(xué) (2009)08-0085-04附 錄超聲波避障小車原理圖超聲波避障小車PCB圖小車運(yùn)行圖片超聲波避障小車程序源代碼附錄一:超聲波避障小車原理圖附錄二:超聲波避障小車PCB圖附錄三:小車運(yùn)行圖片附錄四:超聲波避障小車程序源代碼/ Motor.h/#ifndef _MOTOR_H_#define _MOTOR_H_#include #include /宏定義#define STOP_LEFT PORTC &= (1PC7)|(1PC6)#defin

23、e FORWARD_R PORTC |= (1PC7);PORTC &= (1PC6)#define BACKWARD_R PORTC &= (1PC7);PORTC |= (1PC6)#define STOP_RIGHT PORTC &= (1PC5)|(1PC4)#define FORWARD_L PORTC &= (1PC4);PORTC |= (1PC5)#define BACKWARD_L PORTC &= (1PC5);PORTC |= (1PC4)/自定義類型typedef unsigned char uchar;typedef unsigned int uint;typedef

24、 unsigned long ulong;typedef enum FALSE=0,TRUE=1,LEFT,RIGHT,FORWARD,BACKWARD,STOPBOOL;/函數(shù)聲明void Backward(void);void Forward(void);void Stop(void);void Turn(int flag);#endif/ Motor.c/#include motor.h#include delay.h/void Forward(void) FORWARD_R; FORWARD_L;/void Backward(void) BACKWARD_R; BACKWARD_L;

25、/void Turn(int flag) Stop(); Delay_ms(10); if(flag = RIGHT) STOP_RIGHT;FORWARD_L; else if(flag = LEFT) STOP_LEFT;FORWARD_R; else if(flag = FORWARD) Forward(); else Backward(); Delay_ms(500);/void Stop(void) STOP_LEFT; STOP_RIGHT;/ Measure.h/#ifndef _MEASURE_H#define _MEASURE_H/觸發(fā)端口:PB0/回應(yīng)端口:PD3#defi

26、ne ECHO PD3#define START_TRIG PORTB |= 0X01#define STOP_TRIG PORTB &= 0XFE#define CLEAR_TRIG STOP_TRIG#define CLEAR_ECHO PORTD &= (1ECHO)/ 0b = 1PD3 = 1ECHO#define ECHO_IS_LOW (!(PIND & (0b) #define ECHO_IS_HIGH (PIND & (0b)/函數(shù)聲明void measure(void);int ShouldTurn(void);#endif/ Measure.c/#include meas

27、ure.h#include delay.h#include #include /void measure(void)CLEAR_TRIG;START_TRIG; /觸發(fā)探測(cè)Delay_us(20);/產(chǎn)生20us的觸發(fā)信號(hào)STOP_TRIG; CLEAR_ECHO; /將 ECHO 口置為低/int ShouldTurn(void) unsigned long tmp = 0; TCCR1B = 0X00; /關(guān)閉定時(shí)器 1 TCNT1H = 0 x00; TCNT1L = 0 x00; /若檢測(cè)為低電平則等待,高電平說(shuō)明有障礙物 while( ECHO_IS_LOW ) TCCR1B = 0

28、X02;/8分頻,啟動(dòng)定時(shí)器 1 while( ECHO_IS_HIGH ) tmp = TCNT1H;tmp 2000 ) /大于半米的距離, 半米的距離需 1470 = 0 x05BE(us) TCCR1B = 0X00; return 0; TCCR1B = 0X00; /關(guān)閉定時(shí)器 1 return 1;/ Delay.h/#ifndef _DELAY_H_#define _DELAY_H_void Delay_us(unsigned int);void Delay_ms(unsigned int);#endif/ Delay.c/#include #include delay.h/void Delay_us(u

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論