![利用超聲波實(shí)現(xiàn)躲避障礙物——小車完成品_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/d3b2ee8b-7517-4a26-a2c8-59727a9280f9/d3b2ee8b-7517-4a26-a2c8-59727a9280f91.gif)
![利用超聲波實(shí)現(xiàn)躲避障礙物——小車完成品_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/d3b2ee8b-7517-4a26-a2c8-59727a9280f9/d3b2ee8b-7517-4a26-a2c8-59727a9280f92.gif)
![利用超聲波實(shí)現(xiàn)躲避障礙物——小車完成品_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/d3b2ee8b-7517-4a26-a2c8-59727a9280f9/d3b2ee8b-7517-4a26-a2c8-59727a9280f93.gif)
![利用超聲波實(shí)現(xiàn)躲避障礙物——小車完成品_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/d3b2ee8b-7517-4a26-a2c8-59727a9280f9/d3b2ee8b-7517-4a26-a2c8-59727a9280f94.gif)
![利用超聲波實(shí)現(xiàn)躲避障礙物——小車完成品_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/18/d3b2ee8b-7517-4a26-a2c8-59727a9280f9/d3b2ee8b-7517-4a26-a2c8-59727a9280f95.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、五邑大學(xué)第十二屆科技學(xué)術(shù)節(jié) 電子設(shè)計大賽技術(shù)報告 學(xué) 校: 五邑大學(xué) 隊伍名稱: Robot L課題名稱: 躲避障礙物小車 參賽隊員: 劉權(quán)超 李才海 列永光目錄第一章 緒論1.1 課題設(shè)計的目的及意義設(shè)計的目的 課題設(shè)計的意義1.2 躲避障礙物小車的設(shè)計思路 超聲波模塊的設(shè)計原理 躲避障礙物小車的原理框圖如下圖1.3 課題設(shè)計的任務(wù)及要求1.31 設(shè)計躲避障礙物小車的任務(wù)設(shè)計躲避障礙物小車的要求第二章 小車系統(tǒng)總體方案設(shè)計2.1 車模的選擇2.2 電機(jī)驅(qū)動模塊的選擇2.3 電源模塊的選擇2.4路況檢測模塊的選擇第三章 躲避障礙物小車機(jī)械設(shè)計第四章 躲避障礙物小車硬件電路設(shè)計4.1 小車的控制
2、模塊51單片機(jī)最小系統(tǒng)4.2 電機(jī)驅(qū)動模塊4.3 電源模塊的硬件設(shè)計4.4 路況檢測模塊的硬件設(shè)計第五章 躲避障礙物小車軟件設(shè)計5.1 主程序流程圖5.2 兩塊超聲波模塊的發(fā)生、接收和計算的設(shè)計5.3 主從機(jī)串口通信程序設(shè)計5.4 直流電機(jī)控制程序設(shè)計5.5 系統(tǒng)的軟硬件的調(diào)試第六章 總結(jié) 6.1 創(chuàng)新點(diǎn)6.2 目前尚存在的不足與改進(jìn)方向致謝參考文獻(xiàn) 第一章 緒論1.1 課題設(shè)計的目的及意義設(shè)計的目的 隨著科技技術(shù)的快速發(fā)展,超聲波在各個科技領(lǐng)域的應(yīng)用越來越廣,比如說超聲波探傷儀、超聲波測厚儀、超聲波測距儀等等,但在實(shí)際生活的應(yīng)用卻不多,人們可以具體利用的超聲波技術(shù)在實(shí)際生活中還十分有限。因此
3、,這是一個值得開發(fā)而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。展望未來,超聲波作為一種新型的非常重要又有用的技術(shù)在生活的各個方面都將有很大的發(fā)展空間,它將朝著更加高定位、高精度的方向發(fā)展,以滿足日益發(fā)展的社會需求。比如超聲波清洗儀,超聲波作用于液體中時,液體中每個氣泡的破裂瞬間會產(chǎn)生能量極大的沖擊波,相當(dāng)于瞬間產(chǎn)生幾百度的高溫和高達(dá)上千個大氣壓,這種現(xiàn)象被稱之為“空化作用”,超聲波清洗正是用液體中氣泡破裂所產(chǎn)生的沖擊波來達(dá)到清洗和沖刷工件內(nèi)外表面的作用隨著超聲波的技術(shù)發(fā)展,超聲波將從單純的科技應(yīng)用發(fā)展到實(shí)際生活的應(yīng)用,最終向全社會普及。在新的世紀(jì)里,超聲波在將來將發(fā)揮更大的作用。 課題設(shè)計的意義隨著科技的
4、發(fā)展,人們的生活水平的提高,城市發(fā)展建設(shè)加快,城市與城市、城市與農(nóng)村、農(nóng)村與農(nóng)村的道路的迅速建設(shè),汽車等交通工具的需求量也在不斷增大。但是,由于各種不可避免的因素,交通安全建設(shè)卻落后于城市建設(shè)。因此,經(jīng)常出現(xiàn)交通事故等現(xiàn)象,使得交通安全問題一直像夢囈一樣糾纏著人們的生活。而設(shè)計躲避障礙物小車進(jìn)行躲避障礙物的自動控制系統(tǒng),保證小車在地面上能自由躲避障礙物行走,是躲避障礙物小車的設(shè)計研制的核心部分。這個應(yīng)用,如果應(yīng)用在生活中的汽車上,用超聲波來測量兩車的距離,達(dá)到一定的距離的時候,就會自動提示或者報警或者控制汽車正確剎車停車這樣,就可以減少人為的交通事故的發(fā)生。而控制系統(tǒng)核心部分就是超聲波測距的研
5、制。因此,設(shè)計好的超聲波測距就顯得非常重要了。這也就是我們設(shè)計躲避障礙物小車的意義所在。1.2 躲避障礙物小車的設(shè)計思路 超聲波模塊的設(shè)計原理發(fā)射器發(fā)出的超聲波以速度在空氣中傳播,在到達(dá)被測物體時被反射返回,由接收器接收,其往返時間為t,由s=vt/2 即可算出被測物體的距離。由于超聲波也是一種聲波,其聲速v 與溫度有關(guān),下表列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大,則可認(rèn)為聲速是基本不變的。如果測距精度要求很高,則應(yīng)通過溫度補(bǔ)償?shù)姆椒右孕U1?-1 超聲波波速與溫度的關(guān)系表 躲避障礙物小車的原理框圖如下圖單片機(jī)發(fā)出40kHZ 的信號,經(jīng)放大后通過超聲波發(fā)射器輸出;超聲波接收
6、器將接收到的超聲波信號經(jīng)放大器放大,用鎖相環(huán)電路進(jìn)行檢波處理后,啟動單片機(jī)中斷程序,測得時間為t,再由程序進(jìn)行判別、計算,得出距離數(shù),然后經(jīng)過單片機(jī)程序處理,得到的數(shù)據(jù)來對小車的電機(jī)進(jìn)行相應(yīng)的控制。圖1-1 超聲波測距儀原理框圖電機(jī)驅(qū)動1.3 課題設(shè)計的任務(wù)及要求1.31 設(shè)計躲避障礙物小車的任務(wù):(1)了解超聲波測距的原理。(2)學(xué)習(xí)電機(jī)驅(qū)動電路的原理。(3)根據(jù)其原理設(shè)計好硬件結(jié)構(gòu)電路。 設(shè)計躲避障礙物小車的要求:(1) 設(shè)計出超聲波測距模塊的硬件結(jié)構(gòu)電路。(2) 對設(shè)計的電路進(jìn)行分析能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測量物體間的距離。(3) 根據(jù)測出來的距離進(jìn)
7、行判斷,從而能使小車躲避障礙物。第二章 小車系統(tǒng)總體方案設(shè)計基于課題要求,系統(tǒng)可化為幾個基本模塊,如下圖所示,下面對各個模塊的方案進(jìn)行設(shè)計: 電源供電路況檢測單片機(jī)電機(jī)驅(qū)動2.1 車模的選擇 方案一:選擇遙控玩具小車,對小車進(jìn)行改裝,這種車速度較快,反應(yīng)靈敏。然而,這種小車,轉(zhuǎn)彎扭力較小,且速度較快,不容易控制。方案二:選擇直流減速電機(jī)的小車,這種車扭力較大,可以轉(zhuǎn)過曲率很大的彎道。然而,車速較慢。處于彎道曲率并非很大,我們選擇了方案二。2.2 電機(jī)驅(qū)動模塊的選擇 方案1:采用繼電器的方法,使用繼電器作為開關(guān)作用,通過單片機(jī)的控制實(shí)現(xiàn)某個繼電器的打開和關(guān)閉,打開和關(guān)斷其中一個或兩個電機(jī),從而實(shí)
8、現(xiàn)小車的轉(zhuǎn)彎和停止。但實(shí)際證明當(dāng)有繼電器的方案時,小車在減速時不能碰到任何障礙物,否則車子很容易停下來,說明穩(wěn)定性不高.方案2:采用達(dá)林頓管搭成的H橋型電路,通進(jìn)H橋型電路可方便地實(shí)現(xiàn)電機(jī)的正,反轉(zhuǎn)和突然剎車,但由于自己搭制的橋型電路體積龐大且調(diào)試穩(wěn)定性不高所以我們沒有采用.方案3:采用L298驅(qū)動芯片,L298驅(qū)動芯片是大功率的內(nèi)集成有兩個H型電路的驅(qū)動芯片,由于是集成芯片體積小,且穩(wěn)定性高,驅(qū)動力強(qiáng),所以我們采用了這種方法.2.3 電源模塊的選擇常用的電源有串聯(lián)型線性穩(wěn)壓電源(LM2940、7805等)和開關(guān)型穩(wěn)壓電源(LM2596、LM2575等)兩大類。前者具有紋波小、電路結(jié)構(gòu)簡單的優(yōu)
9、點(diǎn),但是效率較低,功耗大;后者功耗小,效率高,但電路卻比較復(fù)雜,電路的紋波大。對于單片機(jī),需要提供穩(wěn)定的5V電源,由于7805的穩(wěn)壓的線性度非常好,所以選用7805單獨(dú)對其進(jìn)行供電;而其它模塊則需要通過較大的電流,而LM2596-5,轉(zhuǎn)換效率高,帶載能力大,缺點(diǎn)是其紋波電壓大,不適合做單片機(jī)電源,不過對其它模塊供電還是能保證充電的電源。所以就利用7805和LM2596-5對控制系統(tǒng)和執(zhí)行部分開供電,可以有效地防止各器件之間發(fā)生干擾,以及電流不足的問題,使得系統(tǒng)能夠穩(wěn)定地工作。 另外,選用7.2伏可充放電的鎳氫電池作為電源供電。2.4路況檢測模塊的選擇方案1:用紅外發(fā)射管和接收管自己制作光電對管
10、避障傳感器。紅外發(fā)射管能發(fā)出在光譜中波長自0.76至400微米的一段稱為紅外線的光,而紅外線接收頭經(jīng)過技術(shù)的處理,它能接收到紅外信號給出的高電平(接近工作電壓),無紅外信號低電平(約0.4)。但是工作不夠穩(wěn)定,容易受外界光線的影響,并且能檢測的距離也有限,達(dá)不到小車避障所需要的效果,因此我們放棄了這個方案。方案2:用超聲波發(fā)射探頭和超聲波接收探頭,自己制作超聲波測距模塊。用單片機(jī)控制發(fā)射探頭發(fā)出約40KHz的超聲波,超聲波遇到障礙物就會發(fā)生反射,在一定的范圍內(nèi),接受探頭能夠接收其反射回來的超聲波,并通過技術(shù)處理,傳化為信號(高低電平)。而且其工作比較穩(wěn)定,不容易受到外界的影響,雖然能檢測的距離
11、也有一定的限制,但已達(dá)到小車所需的效果,因此,我們選測了這個方案。第三章 躲避障礙物小車機(jī)械設(shè)計根據(jù)一開始的設(shè)想,小車驅(qū)動用的是直流電機(jī)跑動,通過對兩個電機(jī)進(jìn)行控制,再加上一個萬向輪,就可以控制小車的直走和轉(zhuǎn)向?;谝陨蠗l件,我們就在商店里購買了一輛車模,實(shí)物圖如下:在機(jī)械設(shè)計方面上,遇到最大問題是,一個小小的超聲波模塊,它所能檢測的范圍是有限的。所以說,我們一開始實(shí)驗(yàn)做了一塊進(jìn)行實(shí)驗(yàn),只設(shè)計超聲波放在小車的前面,進(jìn)行避障時,就會產(chǎn)生兩邊的盲區(qū)。最后達(dá)不到避障的理想效果。設(shè)計圖如下:接收發(fā)射后來,經(jīng)過三個人的努力,把小車設(shè)計成用三塊超聲波模塊和兩塊單片機(jī)來控制。設(shè)計圖如下:預(yù)期的機(jī)械設(shè)計還會存
12、在不足的地方,最后還需要結(jié)合后面的調(diào)試階段進(jìn)行改進(jìn)。第四章 躲避障礙物小車硬件電路設(shè)計4.1 小車的控制模塊51單片機(jī)最小系統(tǒng)5l系列單片機(jī)中典型芯片(AT89C51)采用40引腳雙列直插封裝形式,內(nèi)部由CPU,4kB的ROM,256 B的RAM,2個16b的定時計數(shù)器TO和T1,4個8 b的工O端I:IP0,P1,P2,P3,一個全雙功串行通信口等組成。特別是該系列單片機(jī)片內(nèi)的Flash可編程、可擦除只讀存儲器(EPROM),使其在實(shí)際中有著十分廣泛的用途,在便攜式、省電及特殊信息保存的儀器和系統(tǒng)中更為有用。該系列單片機(jī)引腳與封裝如圖5l系列單片機(jī)提供以下功能:4 kB存儲器;256 BRA
13、M;32條工O線;2個16b定時計數(shù)器;5個2級中斷源;1個全雙向的串行口以及時鐘電路。空閑方式:CPU停止工作,而讓RAM、定時計數(shù)器、串行口和中斷系統(tǒng)繼續(xù)工作。掉電方式:保存RAM的內(nèi)容,振蕩器停振,禁止芯片所有的其他功能直到下一次硬件復(fù)位。5l系列單片機(jī)為許多控制提供了高度靈活和低成本的解決辦法。充分利用他的片內(nèi)資源,即可在較少外圍電路的情況下構(gòu)成功能完善的超聲波測距系統(tǒng)。 根據(jù)小車的設(shè)計要求,做的電路圖和其封裝圖如下: 做成的實(shí)物圖如下:4.2 電機(jī)驅(qū)動模塊 一個電動小車整體的運(yùn)行性能,首先取決于它的電源模塊和電機(jī)驅(qū)動模塊。電機(jī)驅(qū)動模塊的主要功能:驅(qū)動小車輪子轉(zhuǎn)動,使得小車前進(jìn)。而電動
14、小車的驅(qū)動系統(tǒng)一般由控制器、功率轉(zhuǎn)換器機(jī)電動機(jī)三個主要部分組成。電動小車的驅(qū)動不但要求電機(jī)驅(qū)動系統(tǒng)具有高轉(zhuǎn)矩重量比、款調(diào)速范圍、高可靠性,而且電機(jī)的轉(zhuǎn)矩轉(zhuǎn)速特性手電源功率的影響,這就要求驅(qū)動具有盡可能寬的高效率區(qū)。我們所使用的電機(jī)一般為直流電機(jī),主要用到永磁直流電機(jī)、伺服電機(jī)及步進(jìn)電機(jī)三種。直流電機(jī)的控制很簡單,性能出從,直流電源也容易實(shí)現(xiàn)。并且這種直流電機(jī)的驅(qū)動及控制需要電機(jī)驅(qū)動芯片進(jìn)行驅(qū)動。常用的電機(jī)驅(qū)動芯片有L297/298,MC33886,ML4428等。而我們的躲避障礙物小車用的的是L298進(jìn)行驅(qū)動。 L298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機(jī)的專
15、用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46V、2A以下的電機(jī)。其實(shí)物及引腳圖如下所示:引腳圖如下:L298內(nèi)部的原理圖如下:L298的邏輯功IN1IN2ENA電機(jī)狀態(tài)XX0停止101順時針011逆時針110停止000停止根據(jù)需求所設(shè)計的電機(jī)驅(qū)動模塊連接圖如下:L298有兩路電源分別為邏輯電源和動力電源,上圖中6V為邏輯電源,12V為動力電源。P6接入邏輯電源,P5接入動力電源,P2與P3分別為單片機(jī)控制兩個電機(jī)的輸入端,P1與P4分別與兩個電極的正負(fù)極相連。ENA與ENB直接接入6V邏輯電源也就是說兩個電機(jī)時刻都工作在使能狀態(tài),控制電機(jī)的運(yùn)行狀
16、態(tài)只有通過P2與P3兩個接口。由于我們使用的電機(jī)是線圈式的,在從運(yùn)行狀態(tài)突然轉(zhuǎn)換到停止?fàn)顟B(tài)和從順時針狀態(tài)突然轉(zhuǎn)換到逆時針狀態(tài)時會形成很大的反向電流,在電路中加入二極管的作用就是在產(chǎn)生反向電流的時候進(jìn)行泄流,保護(hù)芯片的安全。最后,根據(jù)小車的實(shí)際模型,設(shè)計出PCB電路板如下圖所示:做成的事物圖如下:4.3 電源模塊的硬件設(shè)計穩(wěn)壓電源芯片7805屬于線性穩(wěn)壓電源芯片,7805的經(jīng)典電路圖如下:用7805主要穩(wěn)壓給AT89C51單片機(jī),而不太適合大功率的消耗。所以另外用LM1596-5開關(guān)型穩(wěn)壓芯片來給其他模塊提供電源,如超聲波模塊和電機(jī)驅(qū)動模塊。LM2596-5的經(jīng)典電路圖如下:7805和LM259
17、6-5對控制系統(tǒng)和執(zhí)行部分開供電,可以有效地防止各器件之間發(fā)生干擾,以及電流不足的問題,使得系統(tǒng)能夠更加穩(wěn)定地工作。所以綜合各個模塊所需的電源,設(shè)計了以下電源模塊的電路圖:電源模塊的PCB封裝圖如下:而電源模塊的成品圖:4.4 路況檢測模塊的硬件設(shè)計 路況檢測模塊用的是超聲波檢測。 超聲波是一種振動頻率超過20 kHz的機(jī)械波,它可以沿直線方向傳播,而且傳播的方向性好,傳播的距離也較遠(yuǎn),在介質(zhì)中傳播時遇到障礙物在入射到它的反射面上就會產(chǎn)生反射波。由于超聲波的以上幾個特點(diǎn),所以超聲波被廣泛地應(yīng)用于物體距離的測量、厚度等方面。而且,超聲波的測量是一種比較理想的的非接觸式的測距方法。當(dāng)進(jìn)行距離的測量
18、時,由安裝在同一水平線上的超聲波發(fā)射器和接收器完成超聲波的發(fā)射與接收,并且同時啟動定時器進(jìn)行計數(shù)。首先由超聲波發(fā)射探頭發(fā)射超聲波并同時啟動定時器計時,超聲波在空氣中傳播的途中一旦遇到障礙物后就會被反射回來,當(dāng)接收探頭收到反射波后就會給負(fù)脈沖到單片機(jī)使其立刻停止計時。這樣,定時器就能夠準(zhǔn)確的記錄下了超聲波發(fā)射點(diǎn)至障礙物之間往返傳播所用的時間t(s)。由于在常溫下超聲波在空氣中的傳播速度大約為340 m/s7,所以障礙物到發(fā)射探頭之間的距離為:S=340×t/2=170×t 因?yàn)閱纹瑱C(jī)內(nèi)部定時器的計時實(shí)際上就是對機(jī)器周期T的計數(shù),而本設(shè)計中時鐘頻率fosc取12 MHz,設(shè)計數(shù)
19、值N,則: T12/fosc=1s t=N×TN×0.000001(s) S170×N×T170×N/1000000(m) 在程序中按式S170×N×T170×N/1000000計算距離。而超聲波發(fā)射電路經(jīng)過一番設(shè)計如下,超聲波發(fā)射電路是由超聲波探頭和超聲波放大器組成。超聲波探頭將電信號轉(zhuǎn)換為機(jī)械波發(fā)射出去,而單片機(jī)所產(chǎn)生的40 kHz的方波脈沖需要進(jìn)行放大才能將超聲波探頭驅(qū)動將超聲波發(fā)射出去,所以發(fā)射驅(qū)動實(shí)際上就是一個信號的放大電路,本設(shè)計選用74LS04芯片進(jìn)行信號放大,超聲波發(fā)射電路如下圖所示: 工作時,由單
20、片機(jī)產(chǎn)生40 kHz的脈沖從P0.1口向超聲波的發(fā)射電路部分發(fā)出信號,再經(jīng)74LS04放大電路放大后,驅(qū)動超聲波探頭將超聲波 發(fā)射出去。 同樣,對于超聲波接收電路,由于超聲波在空氣中的傳播過程中是有衰減的,如果距離較遠(yuǎn),那么超聲波接收電路所接收到的超聲波信號就會比較微弱,因此需要對接收到的信號進(jìn)行放大而且放大的倍數(shù)也要比較大。超聲波接收電路主要是由集成電路CX20106A芯片電路構(gòu)成的,CX20106A芯片電路可以對超聲波信號進(jìn)行放大、限幅、帶通濾波、峰值檢波、整形、比較等功能,比較完之后超聲波接收電路會輸出一個低電平到單片機(jī)去請求中斷,當(dāng)即單片機(jī)停止計時,并開始去進(jìn)行數(shù)據(jù)的處理。CX2010
21、6A芯片的前置放大器具有自動增益控制的功能,當(dāng)測量的距離比較近時,放大器不會過載;而當(dāng)測量距離比較遠(yuǎn)時,超聲波信號微弱,前置放大器就有較大的放大增益效果。CX20106A芯片的5腳在外接電阻對它的帶通濾波器的頻率進(jìn)行調(diào)節(jié),而且不用再外接其他的電感,能夠很好地避免外加磁場對芯片電路的干擾,而且它的可靠性也是比較高的。CX20106A芯片電路本身就具有很高的抗干擾的能力,而且靈敏度也比較高,所以,能滿足本設(shè)計的要求。超聲波接收電路如下圖所示。 綜合兩個電路,將超聲波發(fā)射部分和超聲波接收部分的電路做成一個較小的模塊,并且為了讓超聲波接收更加靈敏,設(shè)計PCB的時候,要注意時將兩個超聲波探頭設(shè)計保持中心
22、軸線平行并相距48cm??傠娐穲D如下圖:而超聲波模塊的PCB圖如下圖:而經(jīng)過焊接、安裝元器件后的超聲波模塊成品圖如下: 第五章 躲避障礙物小車軟件設(shè)計 躲避障礙物小車的軟件控制用的是AT89S52單片機(jī)。我們開始的設(shè)想是用單片機(jī)的多通道串口來控制三個超聲波檢測模塊的,因?yàn)閱纹瑱C(jī)多通道這方面比較少人用。當(dāng)我們完成了一塊的時候,老師建議說用分時掃描的方法也能實(shí)現(xiàn)超聲波多模塊的檢測,而且效果也不會差。通過討論,我們決定用兩塊單片機(jī)來控制三個超聲波模塊,一塊單片機(jī)作為系統(tǒng)主機(jī),另一塊作從機(jī)。主機(jī)用分時掃描的方法控制兩塊超聲波和接受從機(jī)發(fā)送的數(shù)據(jù),并且控制直流電機(jī)的轉(zhuǎn)向,從而使小車避開障礙物。從機(jī)控制一
23、塊超聲波模塊并與主機(jī)進(jìn)行串口通信,發(fā)送數(shù)據(jù)。主機(jī)的軟件設(shè)計主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序、串口接收中斷程序和直流電機(jī)控制程序組成。從機(jī)主要由主程序、超聲波發(fā)生子程序、超聲波接收中斷程序、串口發(fā)送子程序組成。從機(jī)的超聲波模塊程序和主機(jī)的一樣,在這就不重復(fù)了。5.1 主程序流程圖 定時器初始化定時器中斷入口單片機(jī)初始化 開始 發(fā)射超聲波定時中斷子程序兩方向發(fā)射完? N串口接收?回波?N Y 停止發(fā)射 Y Y 返回 串口中斷 外部中斷 計算距離 定時器子程序 開始 單片機(jī)初始化定時中斷子程序 主程序 定時器發(fā)射超聲波 外部中斷入口關(guān)閉外部中斷回波? 讀取時間 N 外部中斷 輸出結(jié)
24、果 Y 計算距離關(guān)閉外部中斷 返回 計算距離 外部中斷子程序 結(jié)束b15|b=0?a=10&a0? N 從機(jī)流程圖b=15&b0? N Yc=35&c0? c=35&c0?c35|c=0? Y Y 右轉(zhuǎn) 后退并左轉(zhuǎn)c=35&c0? 后退并左轉(zhuǎn) 后退并左轉(zhuǎn) 直走 左轉(zhuǎn) Y Y 后退并右轉(zhuǎn) 后退并左轉(zhuǎn) 直流電機(jī)控制5.2 兩塊超聲波模塊的發(fā)生、接收和計算的設(shè)計AT89S52單片機(jī)的I/0口都可以用來做超聲波的發(fā)生,只要給一個高低電平就能產(chǎn)生脈沖方波。我們定義了TX1(P14)和TX2(P15)作為超聲波發(fā)射端口,RX1(P32)和RX2(P33)既是外部中斷
25、INT0和INT1作為判斷回波的端口,并且讀取定時器的數(shù)據(jù)進(jìn)行計算。 TX1和TX2端口不停的發(fā)射超聲波,當(dāng)超聲波遇到障礙物被反彈回來時,就被RX1和RX2接收端接收到,觸發(fā)外部中斷,讀取超聲波發(fā)射到接收的時間間隔,并且使succeed_flag,succeed_flag2 為1標(biāo)志回波接收成功。距離的計算公式為:d=s/2=(c×t)/2其中,d 為被測物與測距儀的距離,s 為聲波的來回的路程,c 為聲速,t 為聲波來回所用的時間。C聲速我們采用的是常溫下340m/s距離d化為厘米的公式為:d=(t×17)/1000其中部分程序如下:sbit Tx1 = P14; /產(chǎn)生
26、脈沖引腳sbit Rx1 = P32; /回波引腳sbit Tx2 = P15; /產(chǎn)生脈沖引腳sbit Rx2 = P33; /回波引腳uchar outcomeH,outcomeL,outcomeH1,outcomeL1; /自定義寄器sbit succeed_flag,succeed_flag2; /測量成功標(biāo)志void delay_20us() /20us延時函數(shù) uchar bt ; for(bt=0;bt<60;bt+); void fas1() /產(chǎn)生一個20us的脈沖,在Tx1引腳 EA=0; Tx1=1; delay_20us(); Tx1=0; void fas2()
27、 /產(chǎn)生一個20us的脈沖,在Tx2引腳 EA=0; Tx2=1; delay_20us(); Tx2=0; void ding1() /產(chǎn)生超聲波,定時器T0的初始化 fas1(); EX0=1; /打開外部中斷 while(Rx1=0); /等待Rx回波引腳變高電平 succeed_flag=0; /清測量成功標(biāo)志 TH0=0; /定時器0清零 TL0=0; /定時器0清零 TF0=0; / TR0=1; /啟動定時器1 EA=1; while(TH0 < 30);/等待測量的結(jié)果,周期65.535毫秒(可用中斷實(shí)現(xiàn)) TR0=0; /關(guān)閉定時器1 EX0=0; /關(guān)閉外部中斷voi
28、d ding2() /產(chǎn)生超聲波,定時器T0的初始化 fas2(); EX1=1; /打開外部中斷 while(Rx2=0); /等待Rx回波引腳變高電平 succeed_flag2=0; /清測量成功標(biāo)志 TH0=0; /定時器0清零 TL0=0; /定時器0清零 TF0=0; / TR0=1; /啟動定時器1 EA=1; while(TH0 < 30);/等待測量的結(jié)果,周期65.535毫秒(可用中斷實(shí)現(xiàn)) TR0=0; /關(guān)閉定時器0 EX1=0; /關(guān)閉外部中斷 if(succeed_flag=1) /接收到回波時計算距離 time=outcomeH*256+outcomeL;
29、a=(time*17)/1000; if(succeed_flag=0) a=0; if(succeed_flag2=1) time1=outcomeH1*256+outcomeL1; b=(time1*17)/1000; if(succeed_flag2=0) b=0; /外部中斷0,用做判斷回波電平INTO_() interrupt 0 / 外部中斷是0號 outcomeH =TH0; /取出定時器的值 outcomeL =TL0; /取出定時器的值 succeed_flag=1; /至成功測量的標(biāo)志 EX0=0; /關(guān)閉外部中斷 /*/外部中斷1,用做判斷回波電平INT1_() inte
30、rrupt 2 / 外部中斷是2號 outcomeH1 =TH0; /取出定時器的值 outcomeL1 =TL0; /取出定時器的值 succeed_flag2=1; /至成功測量的標(biāo)志 EX1=0; /關(guān)閉外部中斷15.3 主從機(jī)串口通信程序設(shè)計 單片機(jī)串口通信用TI(P31)發(fā)送數(shù)據(jù)、RI(P30)接收,把要發(fā)送到數(shù)據(jù)給SBUF就能發(fā)送了,接收時從SBUF讀取數(shù)據(jù)。程序如下:void chuank() /從機(jī)串口初始化 SCON=0x40; PCON=0x00;TMOD=0x20;PS=1;TH1=0xfd; /波特率9600,由定時器T1產(chǎn)生 TL1=0xfd;TR1=1;void s
31、end(unsigned char sj) /發(fā)送數(shù)據(jù)函數(shù) SBUF=sj; while(!TI); TI=0;void chuank() /主機(jī)串口初始化 SCON=0x50; /允許接收 PCON=0x00;PS=1; TMOD=0x20;TH1=0xfd;TL1=0xfd;TR1=1;ES=1;EA=1;void zhong() interrupt 4 /串口中斷函數(shù) if(RI) RI=0; c=SBUF;5.4 直流電機(jī)控制程序設(shè)計直流電機(jī)的控制我們用的是L298芯片,對直流電機(jī)的控制就只是對L298芯片上的四個端口IN1、IN2、IN3、IN4的控制。只要根據(jù)超聲波的距離分別給各個
32、端口高低電平就能改變小車的方向,并且我們很巧妙地在各個轉(zhuǎn)向函數(shù)里加進(jìn)了延時函數(shù),使我們的小車輕松地避開障礙物。程序如下:void delay1ms(uint i) /1ms延時函數(shù)uchar j;while(i-)for(j=0;j<115;j+);sbit IN1=P10; /定義各個引腳sbit IN2=P11;sbit IN3=P12;sbit IN4=P13;void left2() /延時0.8秒左轉(zhuǎn)函數(shù)IN1=0;IN2=0;IN3=1;IN4=0;delay1ms(800); void left3() /延時0.4秒左轉(zhuǎn)函數(shù)IN1=0;IN2=1;IN3=1;IN4=0;d
33、elay1ms(400);void right1() /延時0.4秒右轉(zhuǎn)函數(shù)IN1=1;IN2=0;IN3=0;IN4=1;delay1ms(400); void right2() /延時0.8秒右轉(zhuǎn)函數(shù)IN1=1;IN2=0;IN3=0;IN4=0;delay1ms(800); void go() /直走IN1=1;IN2=0;IN3=1;IN4=0;void back() /延時0.8秒后退,并左轉(zhuǎn)函數(shù)IN1=0;IN2=1;IN3=0;IN4=1;delay1ms(800);left2();void back2() /延時0.8秒后退,并右轉(zhuǎn)函數(shù)IN1=0;IN2=1;IN3=0;IN4=1;delay1ms(800);right2();/當(dāng)有障礙物時,改變方向 if(a<=10&a>0) if(b<=15&b>0)if(c<=35&c>0)back();else back2();else if(c<=35&c>0) back(); else back(); else if(b>15|b=0) if(c>35|c=0)go();else left3(); else if(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物理科技在智能交通系統(tǒng)中的應(yīng)用
- 現(xiàn)代藝術(shù)與設(shè)計趨勢創(chuàng)新與變革
- 現(xiàn)代營銷中的用戶體驗(yàn)設(shè)計
- 環(huán)境科學(xué)與未來綠色發(fā)展的結(jié)合策略
- 國慶節(jié)紅色電影活動方案
- Unit7《Lesson 26 I Love My Family》(說課稿)-2024-2025學(xué)年北京版(2024)英語三年級上冊
- 2024-2025學(xué)年高中地理 第4章 旅游與區(qū)域的發(fā)展 章末分層突破說課稿 中圖版選修3
- Unit 7 Happy Birthday!(說課稿)-2024-2025學(xué)年譯林版(三起)(2024)英語三年級上冊
- 2024年屆九年級歷史上冊 第11課 開辟新時代的“宣言”說課稿2 北師大版001
- 《18 初始機(jī)器人》說課稿-2023-2024學(xué)年清華版(2012)信息技術(shù)一年級下冊
- 醫(yī)院消防安全培訓(xùn)課件
- 質(zhì)保管理制度
- 《00541語言學(xué)概論》自考復(fù)習(xí)題庫(含答案)
- 2025年機(jī)關(guān)工會個人工作計劃
- 人事測評理論與方法-課件
- 最新卷宗的整理、裝訂(全)課件
- 城市旅行珠海景色介紹珠海旅游攻略PPT圖文課件
- 小學(xué) 三年級 科學(xué)《觀測風(fēng)》教學(xué)設(shè)計
- JJF1664-2017溫度顯示儀校準(zhǔn)規(guī)范-(高清現(xiàn)行)
- 第二講共振理論、有機(jī)酸堿理論
- 高考英語聽力必備場景詞匯精選(必看)
評論
0/150
提交評論