畢業(yè)設(shè)計基于Arduino單片機的智能小車設(shè)計
《畢業(yè)設(shè)計基于Arduino單片機的智能小車設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計基于Arduino單片機的智能小車設(shè)計(41頁珍藏版)》請在裝配圖網(wǎng)上搜索。
江海職業(yè)技術(shù)學(xué)院學(xué)位論文 江海職業(yè)技術(shù)學(xué)院 畢 業(yè) 設(shè) 計 畢業(yè)設(shè)計題目: 姓 名學(xué) 號 : 所在系 (部): 專 業(yè) 及班級: 指 導(dǎo) 教 師: 完 成 日 期: 第3頁 中 文 摘 要 智能車輛是集環(huán)境感知、規(guī)劃決策、多等級輔助駕駛等功能于一體的綜合系統(tǒng),是智能交通系統(tǒng)的一個重要組成部分。它在軍事、民用、太空開發(fā)等領(lǐng)域有著廣泛的應(yīng)用前景。隨著電子工業(yè)的發(fā)展,智能技術(shù)廣泛運用于各種領(lǐng)域,運用于智能家居中的產(chǎn)品更是越來越受到人們的青睞。 本系統(tǒng)在硬件設(shè)計方面,以Arduino單片機為控制核心,以超聲波傳感器檢測前方障礙物,從而自動避障。在軟件方面,利用C語言進行編程,通過軟件編程來控制小車運轉(zhuǎn)。根據(jù)家庭各種房間家具的布局不同而使用不同的路徑,從而使得家居中常用到的智能清掃小車智能化,人性化。該小車能自動避障,有一定的實用價值。 關(guān)鍵詞 :單片機;智能清掃小車;自動避障 江海職業(yè)技術(shù)學(xué)院學(xué)位論文 目錄 第一章 緒論 1 1.1 選題背景 1 1.2 智能小車研究現(xiàn)狀 2 1.3 課題主要內(nèi)容 4 第二章 智能小車總體結(jié)構(gòu) 5 2.1 方案綜述 5 2.2 主控單元方案比較與選擇 5 2.3 避障單元方案比較與選擇 6 2.4 “小車”的必要的信息 7 第三章 智能小車的觸覺、眼睛 8 3.1 智能小車內(nèi)部檢測原理 8 3.2 電機電流、電壓檢測 10 3.3 超聲波測距 11 第四章 智能小車的腳 23 4.1 輪系結(jié)構(gòu)詳述 23 4.2 直流電機 H 橋驅(qū)動電路 26 4.3 電機控制信號……………………………………………………………………….…28 第五章 智能小車的大腦 29 5.1 Arduino單片機簡介 29 5.2 Arduino單片機引腳簡介 30 5.3 Arduino編程軟件 33 第六章 智能小車控制流程及程序 35 6.1 控制流程 35 參考文獻 36 致 謝 37 第38頁 第一章 緒論 隨著科技進步,現(xiàn)代工業(yè)技術(shù)發(fā)展越來越體現(xiàn)出機電一體化的特征。無論是在金屬加工、汽車技術(shù)、工業(yè)生產(chǎn)等等方面,機器設(shè)備表現(xiàn)了所謂智能化、集成化、小型化、高精度化的發(fā)展趨勢。 1.1 選題背景 隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也就越來越受人關(guān)注。全國電子大賽和省內(nèi)電子大賽幾乎每次都有智能小車這方面的題目,全國各高校也都很重視該題目的研究??梢娖溲芯恳饬x很大。本設(shè)計就是在這樣的背景下提出的,指導(dǎo)教師已經(jīng)有充分的準備。本題目是結(jié)合科研項目而確定的設(shè)計類課題。設(shè)計的智能電動小車應(yīng)該能夠?qū)崿F(xiàn)適應(yīng)能力,能自動避障,可以智能規(guī)劃路徑。 智能化作為現(xiàn)代社會的新產(chǎn)物,是以后的發(fā)展方向,他可以按照預(yù)先設(shè)定的模式在一個特定的環(huán)境里自動的運作,無需人為管理,便可以完成預(yù)期所要達到的或是更高的目標。同遙控小車不同,遙控小車需要人為控制轉(zhuǎn)向、啟停和進退,比較先進的遙控車還能控制器速度。常見的模型小車,都屬于這類遙控車;智能小車,則可以通過計算機編程來實現(xiàn)其對行駛方向、啟停以及速度的控制,無需人工干預(yù)。操作員可以通過修改智能小車的計算機程序來改變它的行駛方向。因此,智能小車具有再編程的特性,是機器人的一種。 中國自1978年把“智能模擬”作為國家科學(xué)技術(shù)發(fā)展規(guī)劃的主要研究課題,開始著力研究智能化。從概念的引進到實驗室研究的實現(xiàn),再到現(xiàn)在高端領(lǐng)域(航天航空、軍事、勘探等)的應(yīng)用,這一過程為智能化的全面發(fā)展奠定基石。智能化全面的發(fā)展是實現(xiàn)其對資源的合理充分利用,以盡可能少的投入得到最大的收益,大大提高工業(yè)生產(chǎn)的效率,實現(xiàn)現(xiàn)有工業(yè)生產(chǎn)水平從自動化向智能化升級,實現(xiàn)當(dāng)今智能化發(fā)展由高端向大眾普及。從先前的模擬電路設(shè)計,到數(shù)字電路設(shè)計,再到現(xiàn)在的集成芯片的應(yīng)用,各種能實現(xiàn)同樣功能的元件越來越小為智能化產(chǎn)物的生成奠定了良好的物質(zhì)基礎(chǔ)。 智能小車,是一個集環(huán)境感知、規(guī)劃決策,自動行駛等功能于一體的綜合系統(tǒng),它集中地運用了計算機、傳感、信息、通信、導(dǎo)航、人工智能及自動控制等技術(shù),是典型的高新技術(shù)綜合體。 1.2 智能小車研究現(xiàn)狀 智能車輛作為智能交通系統(tǒng)的關(guān)鍵技術(shù),是許多高新技術(shù)綜合集成的載體。智能車輛駕駛是一種通用性術(shù)語,指全部或部分完成一項或多項駕駛?cè)蝿?wù)的綜合車輛技術(shù)。智能車輛的一個基本特征是在一定道路條件下實現(xiàn)全部或者部分的自動駕駛功能,下面簡單介紹一下國內(nèi)外智能小車研究的發(fā)展情況。 1.2.1 國外智能車輛研究現(xiàn)狀 國外智能車輛的研究歷史較長,始于上世紀50年代。它的發(fā)展歷程大體可以分成三個階段: 第一階段 20世紀50年代是智能車輛研究的初始階段。1954年美國Barrett Electronics 公司研究開發(fā)了世界上第一臺自主引導(dǎo)車系統(tǒng)AGVS(Automated Guided Vehicle System)。該系統(tǒng)只是一個運行在固定線路上的拖車式運貨平臺,但它卻具有了智能車輛最基本得特征即無人駕駛。早期研制AGVS的目的是為了提高倉庫運輸?shù)淖詣踊?,?yīng)用領(lǐng)域僅局限于倉庫內(nèi)的物品運輸。隨著計算機的應(yīng)用和傳感技術(shù)的發(fā)展,智能車輛的研究不斷得到新的發(fā)展。 第二階段 從80年代中后期開始,世界主要發(fā)達國家對智能車輛開展了卓有成效的研究。在歐洲,普羅米修斯項目于1986年開始了在這個領(lǐng)域的探索。在美洲,美國于1995年成立了國家自動高速公路系統(tǒng)聯(lián)盟(NAHSC),其目標之一就是研究發(fā)展智能車輛的可能性,并促進智能車輛技術(shù)進入實用化。在亞洲,日本于1996年成立了高速公路先進巡航/輔助駕駛研究會,主要目的是研究自動車輛導(dǎo)航的方法,促進日本智能車輛技術(shù)的整體進步。進入80年代中期,設(shè)計和制造智能車輛的浪潮席卷全世界,一大批世界著名的公司開始研制智能車輛平臺。 第三階段 從90年代開始,智能車輛進入了深入、系統(tǒng)、大規(guī)模研究階段。最為突出的是,美國卡內(nèi)基.梅隆大學(xué)(Carnegie Mellon University)機器人研究所一共完成了Navlab系列的10臺自主車(Navlab1—Navlab10)的研究,取得了顯著的成就。 目前,智能車輛的發(fā)展正處于第三階段。這一階段的研究成果代表了當(dāng)前國外智能車輛的主要發(fā)展方向。在世界科學(xué)界和工業(yè)設(shè)計界中,眾多的研究機構(gòu)研發(fā)的智能車輛具有代表性的有: 德意志聯(lián)邦大學(xué)的研究 1985年,第一輛VaMoRs智能原型車輛在戶外高速公路上以100km/h的速度進行了測試,它使用了機器視覺來保證橫向和縱向的車輛控制。1988年,在都靈的PROMRTHEUS項目第一次委員會會議上,智能車輛維塔(VITA,7t)進行了展示,該車可以自動停車、行進,并可以向后車傳送相關(guān)駕駛信息。這兩種車輛都配備了UBM視覺系統(tǒng)。這是一個雙目視覺系統(tǒng),具有極高的穩(wěn)定性。 荷蘭鹿特丹港口的研究 智能車輛的研究主要體現(xiàn)在工廠貨物的運輸。荷蘭的Combi road系統(tǒng),采用無人駕駛的車輛來往返運輸貨物,它行駛的路面上采用了磁性導(dǎo)航參照物,并利用一個光陣列傳感器去探測障礙。荷蘭南部目前正在討論工業(yè)上利用這種系統(tǒng)的問題,政府正考慮已有的高速公路新建一條專用的車道,采用這種系統(tǒng)將貨物從鹿特丹運往各地。 日本大阪大學(xué)的研究 大阪大學(xué)的Shirai實驗室所研制的智能小車,采用了航位推測系統(tǒng)(Dead Reckoning System),分別利用旋轉(zhuǎn)編碼器和電位計來獲取智能小車的轉(zhuǎn)向角,從而完成了智能小車的定位。 另外,斯特拉斯堡實驗中心、英國國防部門的研究、美國卡內(nèi)基梅隆大學(xué)、奔馳公司、美國麻省理工學(xué)院、韓國理工大學(xué)對智能車輛也有較多的研究。 1.2.2 國內(nèi)智能車輛研究現(xiàn)狀 相比于國外,我國開展智能車輛技術(shù)方面的研究起步較晚,開始于20世紀80年代。而且大多數(shù)研究處在于針對某個單項技術(shù)研究的階段。雖然我國在智能車輛技術(shù)方面的研究總體上落后于發(fā)達國家,并且存在一定得技術(shù)差距,但是我們也取得了一系列的成果,主要有: (1)中國第一汽車集團公司和國防科技大學(xué)機電工程與自動化學(xué)院與2003年研制成功我國第一輛自主駕駛轎車。該自主駕駛轎車在正常交通情況下的高速公路上,行駛的最高穩(wěn)定速度為13km/h,最高峰值速度達170km/h,并且具有超車功能,其總體技術(shù)性能和指標已經(jīng)達到世界先進水平。 (2)南京理工大學(xué)、北京理工大學(xué)、浙江大學(xué)、國防科技大學(xué)、清華大學(xué)等多所院校聯(lián)合研制了7B.8軍用室外自主車,該車裝有彩色攝像機、激光雷達、陀螺慣導(dǎo)定位等傳感器。計算機系統(tǒng)采用兩臺Sun10完成信息融合、路徑規(guī)劃,兩臺PC486完成路邊抽取識別和激光信息處理,8098單片機完成定位計算和車輛自動駕駛。其體系結(jié)構(gòu)以水平式結(jié)構(gòu)為主,采用傳統(tǒng)的“感知-建模-規(guī)劃-執(zhí)行”算法,其直線跟蹤速度達到20km/h,避障速度達到5-10km/h。 智能車輛研究也是智能交通系統(tǒng)ITS的關(guān)鍵技術(shù)。目前,國內(nèi)的許多高校和科研院所都在進行ITS關(guān)鍵技術(shù)、設(shè)備的研究。隨著ITS研究的興起,我國已形成一支ITS技術(shù)研究開發(fā)的技術(shù)專業(yè)隊伍。并且各交通、汽車企業(yè)越來越加大了對ITS及智能車輛技術(shù)研發(fā)的投入,整個社會的關(guān)注程度在不斷提高。交通部已將ITS研究列入“十五”科技發(fā)展計劃和2010年長期規(guī)劃。相信經(jīng)過相關(guān)領(lǐng)域的共同努力,我國ITS及智能車輛的技術(shù)水平一定會得到很大提高。 可以預(yù)計,我國飛速發(fā)展的經(jīng)濟實力將為智能車輛的研究提供一個更加廣闊的前景。我們要結(jié)合我國國情,在某一方面或某些方面,對智能車進行深入細致的研究,為它今后的發(fā)展及實際應(yīng)用打下堅實的基礎(chǔ)。 1.3 課題主要內(nèi)容 本課題南京嵌入之夢工作室的fira智能小車平臺,選擇通用、價廉的Arduino單片機為控制平臺,通過細化設(shè)計要求,結(jié)合傳感器技術(shù)和電機控制技術(shù)相關(guān)知識實現(xiàn)小車的各種功能。設(shè)計完成以由超聲波測距、自動避障組成的硬件模塊結(jié)合軟件設(shè)計組成多功能智能小車,共同實現(xiàn)小車的前進倒退、轉(zhuǎn)向行駛,自動根據(jù)超聲波檢測前方障礙物距離,進行導(dǎo)航,檢測障礙物后停止等功能,實現(xiàn)智能控制,達到設(shè)計目標。 圖1.1 小車外形圖 第二章 智能小車總體結(jié)構(gòu) 2.1 方案綜述 本課題設(shè)計主要是制作一款能進行智能判斷并能做出正確反應(yīng)的小車。小車具有以下幾個功能:自動避障功能。作品既可以對高端智能化進行剖析,也可以作為高級智能玩具發(fā)展對象,同時可成為大學(xué)生學(xué)習(xí)嵌入式控制系統(tǒng)的應(yīng)用實例。 本設(shè)計以兩直流電動機為主驅(qū)動,通過各類傳感器件來采集各類信息,送入主控單元Arduino單片機處理數(shù)據(jù)后完成相應(yīng)動作,以達到自身控制。電機驅(qū)動電路采用H橋驅(qū)動模塊,驅(qū)動2個直流電機;測距、避障采用超聲波傳感器完成,最后由控制單元處理數(shù)據(jù)后通過編程有序合理的將各模塊信號整合在一起并完成相應(yīng)動作,實現(xiàn)了智能控制,相當(dāng)于簡易機器人。 根據(jù)設(shè)計的作品要達到的效果,本系統(tǒng)以Arduino單片機為核心控制器,主要由電源模塊、電機驅(qū)動模塊、測距、避障模塊構(gòu)成。系統(tǒng)的結(jié)構(gòu)框圖如下圖1所示。 Arduino單片機 驅(qū)動電路 直流電動機 輪子 超聲波傳感器 電源 圖2.1 系統(tǒng)結(jié)構(gòu)框圖 2.2 主控單元方案比較與選擇 按照題目要求,控制器主要用于控制電機,通過相關(guān)傳感器對路面的軌跡信息進行處理,并將處理信號傳輸給控制器,然后控制器做出相應(yīng)的處理,實現(xiàn)小車的自動循跡和自動避障。 方案一:可以采用ARM為系統(tǒng)的控制器,優(yōu)點是該系統(tǒng)功能強大,片上外設(shè)集成度搞密度高,提高了穩(wěn)定性,系統(tǒng)的處理速度也很高,適合作為大規(guī)模實時系統(tǒng)的控制核心。 方案二:采用Arduino單片機作為系統(tǒng)控制的方案。Arduino單片機算術(shù)運算功能強,軟件編程靈活、自由度大,功耗低、體積小、技術(shù)成熟,成本也比ARM低。 考慮到性價比問題,本設(shè)計選擇 用Arduino單片機做控制器。 2.3 避障單元方案比較與選擇 方案一:用超聲波傳感器進行避障。超聲波傳感器的原理是:超聲波由壓電陶瓷超聲波傳感器發(fā)出后,遇到障礙物便反射回來,再被超聲波傳感器接收。但使用超聲波模塊的成本比較高。因此我們考慮其它的方案,超聲波傳感器實物圖如下圖2所示: 圖2.2 超聲波傳感器 方案二:用漫反射式光電開關(guān)進行避障。光電開關(guān)的工作原理是根據(jù)光線發(fā)射頭發(fā)出的光束,被物體反射,其接收電路據(jù)此做出判斷反應(yīng),物體對紅外光由同步回路選通而檢測物體的有無。當(dāng)有光線反射回來時,輸出低電平。當(dāng)沒有光線反射回來時,輸出高電平。 考慮到在日常的家居生活中,只需要簡單檢測障礙物,讓智能小車順利繞過障礙,回到預(yù)定的設(shè)定路徑便可,并沒有十分復(fù)雜的環(huán)境,為了使用方便,便于操作和調(diào)試,我們最終選擇了方案一。 2.4 “小車”的必要的信息 電機參數(shù): 額定電壓 —— 4.5V 空載電流 —— 85–95mA 空載轉(zhuǎn)速 —— 9800rpm +/‐10% 堵轉(zhuǎn)電流 —— 1100mA 堵轉(zhuǎn)力矩 —— 50g/cm (最大) 減速箱: 1:48 結(jié)構(gòu)參數(shù) 車輪直徑 —— 65mm 碼盤齒數(shù) —— 60 個 碼盤等效直徑 —— 42mm 脈沖精度 —— 3.4mm/脈沖(單邊沿采集,可用倍頻方式提高精度) 輪距 —— 約 59.5mm 外形尺寸 —— 約 75x75x75mm 重量 —— 約 240g (不含電池) 最快運動速度: 選用 1:48減速箱 —— 約 695mm/s 最大力矩: 選用 1:48減速箱 —— 約 2.4kg/cm 第三章 智能小車的觸覺、眼睛 3.1 智能小車內(nèi)部檢測原理 智能小車驅(qū)動檢測電路:實現(xiàn)電機驅(qū)動、碼盤采樣、電機電流檢測功能,兩側(cè)獨立設(shè)計,方便檢修。 3.1.1 輪速、車距檢測 小車采用紅外光電耦合器檢測輪子轉(zhuǎn)的圈數(shù),即可算得小車行車距離;同理,單位時間內(nèi)的計數(shù)值,即可求得輪子轉(zhuǎn)速。本車有兩只輪子,分別由兩只直流電動機驅(qū)動。 由于紅外檢測具有反應(yīng)速度快、定位精度高,可靠性強以及可見光傳感器所不能比擬的優(yōu)點,故采用紅外光電碼盤測速方案。 紅外光電耦合器見圖3.1,為直射式光電傳感器。 圖3.1 紅外光電耦合器 由測距輪,遮光盤,紅外光電耦合器及凹槽型支架組成的。利用開模的優(yōu)勢,在車輪上的遮光盤設(shè)計了 60個齒,可以用直射式光電采樣器方便的得到脈沖信號,比反射式采樣更加可靠。 測距輪安裝在車輪上,這樣能使記數(shù)值準確一些(見圖3.2)。遮光盤有一缺口,盤下方的凹形物為槽型光電耦合器,其兩端高出部分的里面分別裝有紅外發(fā)射管和紅外接收管。 遮光盤在凹槽中轉(zhuǎn)動時,缺口進入凹槽時,紅外線可以通過,缺口離開凹槽紅外線被阻擋。由此可見,測距輪每轉(zhuǎn)一周,紅外光接收管均能接收到一個脈沖信號經(jīng)過整形器后送入計數(shù)器或直接送入單片機中。單片機通過計數(shù)值,即可求得小車的大概行駛距離,根據(jù)單位時間內(nèi)的計數(shù)值,也可求得轉(zhuǎn)速。 單片機通過分別對兩個輪子的轉(zhuǎn)速值,進行比較,即可判斷出左、右輪的轉(zhuǎn)速快慢程度。 背面 正面 遮光盤 圖3.2 輪子結(jié)構(gòu) 為實現(xiàn)可逆記數(shù)功能,我們在測距儀中并列放置了兩個槽型光電耦合器,遮光盤先后通過凹槽可產(chǎn)生兩個脈沖信號。根據(jù)兩個脈沖信號發(fā)生的先后順序與兩個光電耦合器的位置關(guān)系,即可計算出玩具車的行駛方向(前進或后退)。 遮光盤及槽型光電耦合器均安裝在不透光的盒子里,以避免外界光線的干擾,使電路不能正常工作。 直射型光電晶體管 圖3.3 實際電路板 測距原理:將遮光碼盤安裝在電機軸上,當(dāng)電機轉(zhuǎn)動時,遮光碼盤也隨之轉(zhuǎn)動,同時安裝在碼盤一側(cè)的紅外發(fā)光二極管點亮,在碼盤的另一側(cè)設(shè)有紅外三極管,用于接收紅外發(fā)光二極管發(fā)出的紅外線信號。由于光柵隨電機高速轉(zhuǎn)動,則紅外線三極管接收到的就是一系列脈沖信號。將該信號傳輸?shù)絾纹瑱C的內(nèi)部計數(shù)器計數(shù),根據(jù)預(yù)先實測的數(shù)據(jù)換算關(guān)系即可計算出電動機車的行車距離。 具體電路同圖2.5 行車距離檢測電路所示: 圖3.4 碼盤檢測電路 為了避免在變換狀態(tài)時產(chǎn)生“毛刺”,整形電路是利用運放設(shè)計了“施密特”電路,用回差消除之。 之所以用運放,而不是直接使用施密特觸發(fā)器,是因為這樣可以方便的改變回差大小。 3.2 電機電流、電壓檢測 3.2.1 電流檢測電路: 圖3.5 電流檢測電路 電流的取樣電阻為 0.22 歐姆(見 H 橋驅(qū)動電路的 R5),按上圖參數(shù),放大倍數(shù) 11 倍,電機電流最大 1.1A 左右,所以實際的輸出信號應(yīng)在 0–2.66V ,如使用 3.3V供電的單片機,其 AD輸入范圍為 0‐3.3V,考慮電機的電流偏差和器件的偏差,留些余量。 電路中C2作用是減小電機電流波動的影響,是針對 125Hz 的 PWM頻率設(shè)計的,如提高PWM的頻率,此參數(shù)應(yīng)該相應(yīng)修改。 本設(shè)計中未采用,簡述之。 3.2.2 電壓檢測電路: 圖3.6 電壓檢測電路 電壓采用簡單的分壓處理,設(shè)計了一個跟隨器以減少 AD輸入阻抗對分壓的影響。電池的電壓應(yīng)在4–6V,分壓后為2–3V,符合 AD輸入不大于 3.3V的要求。 本設(shè)計中未采用,簡述之。 3.3 超聲波測距 由于超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播的距離較遠,因而超聲波經(jīng)常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現(xiàn)。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求,因此在移動機器人研制上也得到了廣泛的應(yīng)用。 為了使移動機器人能自動避障行走,就必須裝備測距系統(tǒng),以使其及時獲取距障礙物的距離信息(距離和方向)。 3.3.1 超聲波測距原理 1、 超聲波發(fā)生器 為了研究和利用超聲波,人們已經(jīng)設(shè)計和制成了許多超聲波發(fā)生器??傮w上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。 2、壓電式超聲波發(fā)生器原理 壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內(nèi)部結(jié)構(gòu)如圖1所示,它有兩個壓電晶片和一個共振板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉(zhuǎn)換為電信號,這時它就成為超聲波接收器了。 3、超聲波測距原理 超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據(jù)計時器記錄的時間t,就可以計算出發(fā)射點距障礙物的距離(s),即:s=340t/2 。這就是所謂的時間差測距法。 超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據(jù)發(fā)射和接收的時間差計算出發(fā)射點到障礙物的實際距離。由此可見,超聲波測距原理與雷達原理是一樣的。 測距的公式表示為:L=CT 式中L為測量的距離長度;C為超聲波在空氣中的傳播速度;T為測量距離傳播的時間差(T為發(fā)射到接收時間數(shù)值的一半)。 超聲波測距主要應(yīng)用于倒車提醒、建筑工地、工業(yè)現(xiàn)場等的距離測量,雖然目前的測距量程上能達到百米,但測量的精度往往只能達到厘米數(shù)量級。 由于超聲波易于定向發(fā)射、方向性好、強度易控制、與被測量物體不需要直接接觸的優(yōu)點,是作為液體高度測量的理想手段。在精密的液位測量中需要達到毫米級的測量精度,但是目前國內(nèi)的超聲波測距專用集成電路都是只有厘米級的測量精度。通過分析超聲波測距誤差產(chǎn)生的原因,提高測量時間差到微秒級,以及用LM92溫度傳感器進行聲波傳播速度的補償后,我們設(shè)計的高精度超聲波測距儀能達到毫米級的測量精度。 3.3.2 超聲波傳感器簡介 本畢業(yè)設(shè)計超聲波傳感器為外購件,其硬件原理僅作簡要說明: 圖3.7 超聲波檢測原理電路 框圖中,單片機為核心控制部分,根據(jù)設(shè)定的工作方式,產(chǎn)生 40kHz方波,經(jīng)過驅(qū)動電路驅(qū)動超聲波發(fā)生器發(fā)出一簇信號。單片機此時開始計時。 接收回路為諧振回路,將收到的微弱回波信號檢出,送信號放大電路放大,收到產(chǎn)生脈沖輸出送單片機中斷端,單片機收到中斷信號后停止計時,計算出距離值,保存等待讀出或直接經(jīng) UART 送出。接收過程中,單片機定時控制放大電路的增益,逐漸提高,以適應(yīng)距離越遠越弱的回波信號。 3.3.3 超聲波傳感器接口說明 核心器件為 STC12LE4052、TL852、16mm超聲波收、發(fā)器。采用 5V供電,因為 5V是最常見的工作電壓,便于日后將傳感器應(yīng)用于裝置中。 為了減小干擾,選用了 3.3V供電的單片機,使用目前常用的 1117-3.3三端穩(wěn)壓器將 5V降到 3.3V,減小電源擾動的影響,增加可靠性。 小車利用超聲波傳感器測距,測量值采用的是小車主控芯片與該智能傳感器串行通訊獲得,以下為串行通訊的有關(guān)協(xié)議、命令說明。 傳感器的工作由通訊命令控制,上電狀態(tài)為待命狀態(tài)。 工作分為“自動測量”和“單輪測量”兩種模式。 “自動測量”時,傳感器按一定周期自動完成測量過程,并保存測量數(shù)據(jù)。 “自動測量”又分為“被動數(shù)據(jù)返回”和“主動數(shù)據(jù)返回”兩種方式。 “被動數(shù)據(jù)返回”方式下,傳感器只將測量結(jié)果保存下來,等待系統(tǒng)讀取。 “主動數(shù)據(jù)返回”方式下,傳感器每完成一次測量均立即將數(shù)據(jù)發(fā)送給系統(tǒng)。 “自動測量”可以設(shè)置測量周期。 “單輪測量”為接收到命令后開始測量,并返回數(shù)據(jù),測量命令可設(shè)置測量次數(shù)、數(shù)據(jù)處理方式,傳感器按要求返回,增加測量的可靠性。 通訊協(xié)議及命令定義: 基本通訊格式:(和圓夢小車及無線接口兼容) 標準 UART格式 —— 19200 8 N 1 幀格式: 幀頭(2字節(jié)) 接收方地址(1字節(jié)) 發(fā)送方地址(1 字節(jié)) 幀長(1字節(jié)) 命令(1字節(jié)) 數(shù)據(jù)域(N字節(jié)) 校驗和(1字節(jié)) 其中: 幀頭 —— 由 2 個特殊的字節(jié) 0x55 0xAA 構(gòu)成; 接收方地址 —— 通訊對象的“名字”,在有線通訊時也許多余,但無線時就需要了。 發(fā)送方地址 —— 告訴接收方,便于接收方回答。 幀長 —— 命令和數(shù)據(jù)域字節(jié)之和, 命令 —— 說明操作內(nèi)容,詳見下面的定義 數(shù)據(jù)域 —— 與命令配合,表達一個完整的含義。 校驗和 —— 從命令開始到數(shù)據(jù)域結(jié)束所有字節(jié)的算術(shù)和,取最低字節(jié)的反碼。命令定義: 為了便于調(diào)試,保留小車中設(shè)計的讀寫內(nèi)存命令。 ? 命令一 :讀內(nèi)存,實現(xiàn)讀指定地址開始的 N 個字節(jié),地址用兩字節(jié)表示。 命令字 —— 0x01 數(shù)據(jù)域 —— 低地址(1字節(jié)) 高地址(1字節(jié)) 讀字節(jié)數(shù)(1字節(jié)) 地址與硬件的對應(yīng)關(guān)系: 0x0000 — 0x00FF —— 對應(yīng) STC12LE4052 的 256字節(jié)內(nèi)部 RAM(idata); 0x0100 — 0x7FFF —— 保留,為大 RAM的單片機預(yù)留; 0x7F80 — 0x7FFF —— 對應(yīng) STC12LE2052的 128字節(jié) SFR; 0x8000 — 0x87FF —— 對應(yīng) STC12LE2052 的 2K FlashROM(Code); 0x8700 — 0xFFFF —— 保留,為大 ROM的單片機預(yù)留; 例:要讀地址 0x56起始的 3字節(jié)內(nèi)部 RAM數(shù)據(jù),命令幀如下: 0x55 0xAA XX XX 0x04 0x01 0x56 0x00 0x03 0xA5 返回數(shù)據(jù)幀為: 幀頭 發(fā)送方地址 自己的地址 幀長 命令 低地址 高地址 讀字節(jié)數(shù) N字節(jié)數(shù)據(jù) 校驗和 返回幀中將命令及附屬信息(地址、讀字節(jié)數(shù) )包含在內(nèi),雖然有些冗余,但保證了信息 的完備性,不需要接收時還要查找原來讀的是什么?為通訊需求日漸復(fù)雜提供方便。 ? 命令二:寫內(nèi)存,實現(xiàn)寫指定地址開始的 N 個字節(jié),地址用兩字節(jié)表示。 命令字 —— 0x02 數(shù)據(jù)域 —— 低地址(1字節(jié)) 高地址(1字節(jié)) 寫字節(jié)數(shù)(1字節(jié))數(shù)據(jù)(N字節(jié)) 其地址與硬件的關(guān)系與讀命令相同。 返回數(shù)據(jù)幀為: 幀頭 發(fā)送方地址 自己的地址 幀長 命令 低地址 高地址 寫成功字節(jié)數(shù) 校驗和 通過“寫成功字節(jié)數(shù)”來告之發(fā)送方是否寫成功,如果為“0”,表示寫操作失敗。 ? 命令三:設(shè)置工作模式,設(shè)置測量模式,并啟動測量。 命令字 —— 0x03 數(shù)據(jù)域 —— 工作模式(1字節(jié)) 工作參數(shù)(1字節(jié)) 其中: 工作模式 —— 高 4位為主模式,低 4位為子模式; 工作參數(shù) —— 與工作模式對應(yīng),自動測量時為測量周期,單位 10ms;單輪測量時為測量的次數(shù),暫定最多為 8次。 返回數(shù)據(jù)幀為: 幀頭 發(fā)送方地址 自己的地址 幀長 命令 測量數(shù)據(jù) 校驗和 對于自動模式,測量數(shù)據(jù)返回一個字節(jié)“0”,說明 OK。 對于單輪測量模式,測量數(shù)據(jù)為工作模式中所要求的數(shù)據(jù)。 自動模式對應(yīng)的子模式: a) 自動數(shù)據(jù)返回 —— 每測完一個數(shù)據(jù)都返回,命令位置返回工作模式; b) 被動數(shù)據(jù)返回 —— 內(nèi)部只是測量、保存數(shù)據(jù),等待讀數(shù)據(jù)命令讀回,讀數(shù)據(jù)命令實際 上只對自動模式的被動數(shù)據(jù)返回有效。 單輪測量對應(yīng)的子模式: a) 無數(shù)據(jù)處理返回 —— 只是將命令中要求測量的數(shù)據(jù)全部返回 b) 剔除最大最小值返回 —— 將測量數(shù)據(jù)中最大、最小值剔除,返回數(shù)據(jù)比指定數(shù)少 2個,當(dāng)指定的測量次數(shù)小于 3 時,強制切換到“無數(shù)據(jù)處理模式”; c) 平均值返回 —— 將指定的測量數(shù)據(jù)平均后返回,只有一個平均值; d) 剔除最大最小后平均值返回 —— 先剔除最大最小值,剩下的再取平均值,當(dāng)數(shù)據(jù)數(shù)小 于 4時,強制切換到“剔除最大最小值” 模式。 上述返回幀中命令位置返回數(shù)據(jù)處理方式。 ? 命令四:讀測量數(shù)據(jù),對于自動測量方式的被動數(shù)據(jù)返回模式,需要此命令。 命令字 —— 0x04 數(shù)據(jù)域 —— 讀最近幾次的數(shù)據(jù)(1 字節(jié)) 返回數(shù)據(jù)幀為: 幀頭 發(fā)送方地址 自己的地址 幀長 命令 測量數(shù)據(jù) 校驗和 通訊是個過程,包含等待處理,所以需要定義狀態(tài)變量,以控制處理的內(nèi)容和方式。 通訊分為兩個狀態(tài):一是什么也沒有收到;二是收到了幀頭,等待幀結(jié)束。因此可以用位 標志 g_bStartRcv 來表示,為“假”表示沒有收到幀頭,為“真”表示收到幀頭,正在收剩余的內(nèi)容。 通訊部分實現(xiàn)以下功能: 1) 接收數(shù)據(jù) 2) 判斷幀格式 3) 解析命令,執(zhí)行相應(yīng)操作 4) 返回數(shù)據(jù) 3.3.4 本設(shè)計超聲波通訊方式 本設(shè)計采用的方式為單輪測量,通訊較為簡便,但控制精度不高,為靜態(tài)測量,因此,小車對前方突然產(chǎn)生的變化不能及時監(jiān)測。如要實時監(jiān)測需要采用自動測量,但大大增加了編程難度。程序如下: int iFlashTime = 500; sum=0; SendData[0]=0x55; SendData[1]=0xAA; SendData[2]=0x01; SendData[3]=0x02; SendData[4]=0x03; SendData[5]=0x03; SendData[6]=0x23; SendData[7]=0x08; sum=SendData[5]+SendData[6]+SendData[7]; SendData[8]=~sum; for(i=0;i<9;i++) { Serial.print(SendData[i]); } delay(100); n=Serial.available (); for(i=0;i- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 畢業(yè)設(shè)計 基于 Arduino 單片機 智能 小車 設(shè)計
鏈接地址:http://www.3dchina-expo.com/p-10087401.html