超聲波測距儀說明書_第1頁
超聲波測距儀說明書_第2頁
超聲波測距儀說明書_第3頁
超聲波測距儀說明書_第4頁
超聲波測距儀說明書_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、自動測量及控制綜合課程設計說明書 題 目 超聲波測距儀 學 院 機械工程學院 班 級 學生姓名 學 號 指導老師 2015年1月18日目錄1緒論3 1.1課題設計及意義3 1.2設計內容32超聲波測距設計原理及方案選擇3 2.1超聲波測距原理3 2.2設計方案43硬件選擇與設計5 3.1單片機的選擇6 3.2超聲波模塊的選擇6 3.2.1 HC-SR04超聲波模塊時序圖7 3.2.2 HC-SR04模塊的使用8 3.3數碼管的選擇8 3.4硬件電路的設計94軟件部分設計95數據處理及誤差分析116設計體會與總結12附錄13 附錄:超聲波測距儀系統實物圖13 附錄:程序代碼13 附錄:參考文獻1

2、51緒論1.1課題設計及意義 隨著科學技術的快速發(fā)展,超聲波將在測距儀中的應用越來越廣。但就目前水平說,人們可以具體利用的測距技術還十分有限,因此,這是一個正在蓬勃發(fā)展而又有無限前景的技術及產業(yè)領域。展望未來,超聲波測距儀作為種新型的非常重要的工具在各方面都將有很大的發(fā)展空間,它將朝著更加高定位高精度的方向發(fā)展,以滿足日益發(fā)展的社會需求,如聲納的發(fā)展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實施全隱蔽攻擊的需要;繼續(xù)發(fā)展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實現超遠程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標識別問題;降低潛艇噪聲,改善潛艇聲納

3、的工作環(huán)境。無庸置疑,未來的超聲波測距儀將與自動化智能化接軌,與其他的測距儀集成和融合,形成多測距儀。隨著測距儀的技術進步測距儀將從具有單純判斷功能發(fā)展到具有學習功能,最終發(fā)展到具有創(chuàng)造力。在新的世紀里,面貌一新的測距儀將發(fā)揮更大的作用。1.2設計內容超聲波測距儀的設計,由單片機控制超聲發(fā)射裝置發(fā)射超聲波,當超聲波遇到障礙物時,發(fā)生反射,再由接受裝置接受超聲波,由單片機計算從發(fā)射到接受的時間并計算出障礙到超聲波發(fā)射器的距離。在理解超聲波測距原理的基礎上,設計出基于51單片機為核心的超聲波測距儀。該超聲波測距儀,要求測量距離6m,測量精度要求優(yōu)于1%,顯示方式為數碼管顯示,具有RS-232通信能

4、力,具有較強的抗干擾能力。測量時與被測物體無直接接觸,能夠清晰、穩(wěn)定地顯示測量結果。2超聲波測距設計原理及方案選擇2.1超聲波測距原理超聲波是一種在彈性介質中的機械振蕩,傳播速度僅為光波的百萬分之一,超聲波對色彩,光照度,外界光線和電磁場不敏感,因此超聲波測距對于被測物處于黑暗,有灰塵或煙霧,強電磁干撓,有毒等惡劣的環(huán)境下有一定的適用能力,在液體測位,機器人避障和定位,倒車雷達、物體識別等方面有廣泛應用。而且超聲波傳播不易受干撓,因而經常用于距離的測量。在某一時刻給超聲波發(fā)生器施加40 khz方波信號,發(fā)生器發(fā)出超聲波,遇到被測物體后反射回來,被超聲波接受器接受到。超聲波發(fā)射器向某一方向發(fā)射超

5、聲波,在發(fā)射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時就可以計算出被測物體的距離d=s/2=(vt)/2。其中d為被測物到測距儀之間的距離,s為超聲波往返通過的路程,v為超聲波在介質中的傳播速度,t為超聲波從發(fā)射到接收所用時間。這就是所謂的時間差測距法。超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發(fā)射后遇到障礙物反射回來的時間,根據發(fā)射和接收的時間差計算出發(fā)射點到障礙物的實際距離。2.2設計方案為了以超聲波作為檢測手段,必須產生超生波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,習慣上稱為超聲波換能器或超聲波

6、探頭。超聲波傳感器是利用壓電效應的原理將電能和超聲波相互轉化,即在發(fā)射超聲波的時候,將電能轉換,發(fā)射超聲波;而在收到回波的時候,則將超聲振動轉換成電信號。超聲波測距儀利用超聲波指向性強,能量消耗緩慢,在介質中傳播距離較遠的特點測量兩點之間的距離的儀器。這個設計就是利用超聲波傳輸中的距離與時間的關系,采用了STC89C52單片機對超聲波儀進行控制及數據處理,設計出了能夠精確測量兩點間距離的超聲波測距儀。該測距儀主要是由單片機主控模塊、顯示模塊、超聲波發(fā)射模塊、接收模塊所構成。其中采用STC89C52單片機作為主控模塊,用來控制超聲波的發(fā)出和接收,并且計算距離。用超聲波模塊HC-SR04發(fā)出和接受

7、超聲波,用3位數碼管作為顯示模塊。本次設計的超聲波測距儀,具有迅速、操作方便、計算簡單、易于做到實時控制,并且測量精度較高的特點。測量范圍可達到25cm350cm,其誤差1cm左右。在理論分析上達到了本次課設的要求。超聲波測距儀原理框圖如下圖:超聲波發(fā)射器放大電路超聲波接收器放大電路鎖相環(huán)檢波電路定時器單片機控制顯示器圖1 超聲波測距儀原理框圖3硬件選擇與設計硬件電路的設計主要包括單片機系統及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機采用STC89C52RC系列。采用11.0594MHz高精度的晶振,以獲得較穩(wěn)定時鐘頻率,減小測量誤差。單片機用P1.0端口輸出超聲波換能器所需的

8、40kHz的方波信號,利用外中斷P3.2端口監(jiān)測超聲波接收電路輸出的返回信號,使用T0定時器來發(fā)射方波脈沖。顯示電路采用簡單實用的4位共陰LED數碼管,用0.5k排阻驅動。圖2 超聲波測距儀系統電路原理圖3.1單片機的選擇在這個設計中單片機選用的是STC89C52(如圖3),它內部集成了功能強大的中央處理器。具有以下標準的功能:32個I/O口線,看門狗(WDT),4k字節(jié)的Flash閃速存儲器,128字節(jié)的內部RAM,一個向量兩級中斷結構,兩個16位定時/計數器,兩個數據指針,片內振蕩器及時鐘電路,一個全雙工串行通信口。CPU的工作在空閑方式下停止,但允許RAM,定時/計數器,串行通信口及中斷

9、系統繼續(xù)工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。STC89C52集成了幾乎完善的8位中央處理單元,處理功能強,中央處理單元中集成了方便靈活的專用寄存器,硬件的加,減,乘,除法器和布爾處理機以及各種邏輯運算和轉移指令,這給應用提供了極大的便利。STC89C52把微型計算機的大部分的部件都是集成在一個芯片上,所以達達縮短了數據傳輸距離,具有更高的可靠性,和更快的運行速度,由于微型計算機已經芯片化了,所以各功能部件的布局和結構在芯片中已經達到最優(yōu)化,加強了抗干擾能力,工作也相對穩(wěn)定。它是40引腳雙列直插分裝方式(如圖2)。 圖3 STC89C52引

10、腳圖3.2超聲波模塊的選擇在超聲波測距儀設計中,采用HY-SRF05超聲波模塊(如圖3),它性能穩(wěn)定,測度距離精確,模塊高精度,盲區(qū)小??梢杂脕碓O計機器人避障 、 物體測距 、 液位檢測等領域。圖4 HY-SRF05超聲波模塊HY-SRF05超聲波測距模塊設計的嵌入式系統這樣的項目。它的分辨率為0.3和測距距離為2cm至400厘米。它采用一個5V直流電源供電,待機電流小于2mA。該模塊發(fā)送的超聲波信號,拿起其回波,測量所經過的時間之間的兩個事件和輸出波形,其高的時間是由測得的時間的距離成正比的調制。3.2.1 HY-SRF05超聲波模塊時序圖 圖5 HY-SRF05時序圖

11、從時序圖中,可以看到的40kHz脈沖串傳輸的的10US觸發(fā)脈沖后的回聲輸出后,得到一些更多的時間。只有后回波消失,這個時間段被稱為循環(huán)周期,可以給出的下一個觸發(fā)脈沖HY-SRF05的循環(huán)周期必須不低于50毫秒。根據數據表,就可以計算出距離。3.2.2 HY-SRF05模塊的使用初始化時將trig和echo端口都置低,首先向給 trig發(fā)送至少10 us的高電平脈沖(模塊自動向外發(fā)送8個40K的方波),然后等待,捕捉 echo 端輸出上升沿,捕捉到上升沿的同時,打開定時器開始計時,再次等待捕捉echo的下降沿,當捕捉到下降沿,讀出計時器的時間,這就是超聲波在空氣中運行的時間,按照如下計算公式:測

12、試距離=(高電平時間*聲速(340m/s)/2就可以算出超聲波到障礙物的距離。3.3數碼管的選擇在本設計中采用共陰極顯示模塊(如圖5),個數為4個。LED顯示塊與單片機接口非常容易,只要將一個8位并行輸出口與顯示塊的發(fā)光二極管引腳連接即可。圖6 顯示電路設計3.4硬件電路的設計時鐘電路用于產生單片機工作所需的時鐘信號。時鐘信號可以由兩種方式產生:內部時鐘方式和外部時鐘方式,在這個設計中采用的是內部時鐘方式。單片機內部有一個高增益反向放大器,用于構成內部震蕩器 ,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。在XTAL1和XTAL2兩端跨接晶體或陶瓷諧振器,就構成了穩(wěn)定的自激震蕩器,

13、其發(fā)生的脈沖直接送入內部時鐘發(fā)生器,見圖5。外接陶瓷諧振器時,電容約為22pF。為了減少寄生電容,更好地保證振蕩器穩(wěn)定可靠地工作,諧振器和電容應盡可能安裝的與單片機芯片靠近。在這兒采用了震蕩頻率為11.0592MHz的晶振。 圖7 時鐘電路4軟件部分設計超聲波測距的軟件設計主要由主程序、超聲波發(fā)生子程序、超聲波接收程序及顯示子程序組成。超聲波測距的程序既有較復雜的計算(計算距離時),又要求精細計算程序運行時間(超聲波測距時)。軟件分為兩部分,主程序和中斷服務程序,主程序完成初始化工作、超聲波發(fā)射和接收順序的控制、計算距離、輸出顯示。定時器T0中斷服務子程序完成超聲波的間隔發(fā)射、定時器T1完成超

14、聲波發(fā)射到接收計時、外部中斷服務子程序主要完成時間值的讀取、接收超聲波成功標志設置等工作。 主程序首先是對系統環(huán)境初始化,設置定時器T0、T1工作模式為16位定時計數器模式,置位總中斷允許位EA=1、打開外部中斷、設置負跳變有效,為定時器T0賦初值。然后等待接收超聲波,沒有接到超聲波報警燈亮,繼續(xù)等待,定時器T0時間溢出將產生中斷,調用超聲波發(fā)生子程序送出8個超聲波脈沖,為了避免超聲波發(fā)射計時錯誤,在發(fā)射前將計時器T1關閉、清零,發(fā)射完成后再次啟動定時器T1,接著重新為定時器T0賦初值。P1.0端口接收到超聲波,電平負跳變產生,調用外部中斷子程序。接著關閉定時器T0、T1、外部中斷,

15、然后讀取時間值,設置接收成功標志,并將定時器T1清零。由于采用的是12MHz的晶振,計數器T1每計一個數就是0.5s,當主程序檢測到接收成功的標志位后,將定時器T1中的數(即超聲波來回所用的時間)按下式計算,即可得被測物體與測距儀之間的距離,設計時取10時的聲速為338 m/s,取其近似值340m/s則有:      d=(c×t)/2=(340*T1/1000000)*100cm     =0.034*T1cm     &#

16、160;               其中,T1為計數器T1的計算值。  測出距離后結果將以十進制BCD碼方式送往LED,然后再進入主程序中等待超聲波發(fā)射,中斷產生發(fā)超聲波脈沖重復測量過程。利用定時器T0、計數器T1、外部中斷有利于程序結構化、條理清晰和容易計算出距離。超聲波測距軟件設計流程圖如下: 圖8主程序 圖9 定時中斷 圖10 外部中斷 5數據處理及誤差分析數據處理用超聲波測距儀測得的數據如下(表1): 表1 所測數據

17、標準數據5.0010.0015.0020.0025.00測量數據(/cm) 4.989.9514.8617.9524.18 4.869.8814.9018.2624.26 4.929.7014.7518.4924.48平均值4.929.8414.8418.2324.31對表1中數據進行擬合,如圖11圖11 數據擬合由上圖擬合出超聲波測距數學模型為:y=0.9280x+0.4640。6 設計與體會 這一次的課程設計要用到超聲波來測量距離,這是一個我們之前沒有接觸到的題材。一開始我們都沒有很清晰的思路,只能在摸索中前進。本次課程設計只有短短一周,但讓我對所學的電路知識及剛剛上學期學習的單片機知識有

18、了更深的理解,同時這也是難得的一次理論與實踐相結合的機會,以前只是在書本上學單片機可實現的很多功能,還有各種中斷,但卻沒有機會實踐,一直只有理論的學習,通過這次課程設計我才真正了解其中的原理。剛開始我拿到題目的時候不知道應該怎么做,查完資料后,自己大概知道了電路需要哪些模塊,下來就是針對每個模塊進行具體設計,同時我還要進行一些仿真,其中應用哪些電阻,電容,這都要通過仿真來確定,期間遇到很多困難,都是團體同伴幫助我的,這也讓我認識到團體的合作精神。通過本次課程設計我不光復習了模電知識及單片機知識,鍛煉了動手能力,同時也熟悉掌握了proteus仿真軟件和Protel電路設計軟件的使用,對于我們測控

19、專業(yè)的學生來說,Proteus和Protel是必須掌握的電路仿真軟件,這次課程設計給我提供了一個很好的機會鍛煉自己的實踐能力,我想對于我們工科學生來說動手能力是很重要的,以前每天只是在教室里面學習理論知識,而沒有機會將理論與實踐結合起來。這次課設提高了我們的動手實踐能力。超聲波測距之前有同學做過,也跟我簡要介紹過。這個題材當時在我看來感覺很難很高端,直到這次自己和同組同學也把這個課題的實物做出來后,我便真正了解這個課題的思路,知道自己也是能夠運用所學過的理論知識將這個小設計完成的,這增強了我的自信。希望自己在今后的學習過程中能夠繼續(xù)加強實踐能力,這是成為一個合格的工程師的必經之路。感謝學校給我

20、們提供了這次寶貴的動手實踐機會,通過動手操作,我們學到了許多書本上沒有的知識,而且更加鞏固了所學知識,真正做到了所學即所用。附錄附錄:實物圖圖12 實物圖附錄:程序代碼#include<reg52.h>#define uchar unsigned char #define uint unsigned intuint time,timeH,timeL,succeed_flag;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;sbit tr

21、ig=P10; /超聲波激勵信號口sbit echo=P32; /超聲波返回信號口sbit baiw=P22;sbit shiw=P21; sbit gew=P20;uint distance,distance0,X,Y,a;void delayms(uint xms) /按鍵延時 uint i,j; for(i=xms;i>0;i-) for(j=110;j>0;j-); void delay_10us() /發(fā)射方波的周期(10us) for(a=0;a<1;a+); void display(uint temp) /數碼管顯示 P2=0xfe; P0=leddatate

22、mp/100; delayms(1); P0=0x00; P2=0xfd; P0=leddatatemp%100/10; delayms(1); P0=0x00; P2=0xfb; P0=leddatatemp%100%10+0x80; delayms(1); P0=0x00; P2=0xf7; P0=leddatatemp%10; delayms(1); P0=0x00; void main() trig=0; distance=0; EA=1; /開總中斷 TMOD=0X11; /定時器的工作方式 TH0=(65536-50000)/256; /發(fā)射方波的間隔 TL0=(65536-50000)%256; while(1) ET0=1; /開啟定時器0中斷TR0=1; /開啟定時器0 EX0=1; /開啟外部中斷 IT0=1; /外部中斷0觸發(fā)方式為電平觸發(fā) while(echo=1) for(Y=0;Y<5;Y+) display(distance0);

溫馨提示

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

評論

0/150

提交評論