基于單片機的超聲波測距控制系統方案_第1頁
基于單片機的超聲波測距控制系統方案_第2頁
基于單片機的超聲波測距控制系統方案_第3頁
基于單片機的超聲波測距控制系統方案_第4頁
基于單片機的超聲波測距控制系統方案_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

VIP免費下載

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

文檔簡介

1、10/10基于單片機的超聲波測距控制系統1、總體方案設計本文所研究的超聲波測距儀利用超聲波指向性強、能量消耗緩慢、傳播距離較遠等優點,即用超聲波發射器向某一方向發送超聲波,同時在發射的時候開始計時,在超聲波遇到障礙物的時候反射回來,超聲波接收器在接收到反射回來的超聲波時,停止計時。設超聲波在空氣中的傳播速度為V,在空氣中的傳播時間為T,汽車與障礙物的距離為S,S=VT/2S=VT/2,這樣可以測出汽車與障礙物之間的距離,然后在LED顯示屏上顯示出來。其工作機理是依據壓電材料的正逆壓電效應,利用逆壓電效應產生超聲波,即逆壓電效應是在壓電材料上加上某種特定頻率的交變正弦信號,材料就會產生隨所加電壓

2、的變化規律而變化的機械形變,這種機械形變推動周圍介質振動,產生疏密相間的機械波,如果其振動頻率在超聲圍,這種機械波就是超聲波。本文所設計的超聲波測距儀主要由AT89C52單片機、超聲波發射電路、超聲波接收放大電路、顯示電路。首先由單片機驅動產生12MHZ晶振,由超聲波發射探頭發送出去,在遇到障礙物反射回來時由超聲波接收探頭檢測到信號,然后經過濾波、放大、整形之后送入單片機進行計算,把計算結果輸出到LED液晶顯示屏上。它們所產生的超聲波的頻率,功率和聲波特性各不相同,因而用途也各不相同。目前在近距離測量方面較為常用的是壓電式超聲波換能器。根據設計要求并綜合各方面因素,本例決定采用AT89C51單

3、片機作為主控制器,用動態掃描法實現LED數字顯示,超聲波驅動信號用單片機的定時器完成。超聲波測距器系統設計如圖1所示。單片機AT89C51發射電路超聲波換能器障礙物計時LED顯示接收電路超聲波換能器圖1 超聲波測距器系統設計框圖主程序流程圖:計算距離顯示結果開始系統初始化發送超聲波脈沖等待反射超聲波 圖22、具體電路設計2.1 系統硬件設計系統由AT89S51單片機、超聲波發射電路、接收放大電路與顯示電路組成。AT89S51單片機是整個系統的核心部件,用來協調各部件的工作,單片機采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩定時鐘頻率,減小測量誤差。先由單片機控制的振蕩

4、源產生40kHz的頻率信號以驅動超聲波換能器,持續發射超聲波20ms。當第一個超聲波脈沖發射后,計數器開始計數,在檢測到第一個回波脈沖的瞬間,計數器停止計數,這樣就能夠得到從發射到接收的時間差t;根據所采集到的數據最終利用單片機計算出被測距離,并由顯示器顯示出來,顯示電路采用簡單實用的4位共陽LED數碼管,段碼用74LS244驅動,位碼用PNP三極管9012驅動。測距電路的輸出端接單片機中斷端口,中斷源的識別由程序查詢來處理。在啟動發射電路的同時啟動單片機部的定時器T0,利用定時器的計數功能記錄超聲波發射的時間和收到反射波的時間。當收到超聲波反射波時,INT0出現低電平,立即產生一個中斷請求信

5、號,單片機響應外部中斷請求,執行外部中斷服務子程序,讀取時間差,計算距離。并將測距成功標志位賦值1。當計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關閉,并將測距成功標志賦值0,表示本次測距不成功。2.2 超聲波發生電路超聲波發射電路主要由超聲波換能器和反向器74LS04構成,單片機P1.0端口輸出的40KHz方波信號一路經一級反向器后送到超聲波換能器的一個電極,另一路經兩級反向器后送到超聲波換能器的另一個電極,用這種推挽形式將方波信號加到超聲波換能器兩端可以提高超聲波的發射強度。輸出端采用兩個反向器并聯,用以提高驅動能力。上拉電阻R1、R2一方面可以增加超聲波換能器的阻

6、尼效果,以縮短其振蕩的時間,提高反向器74LS04輸出高電平的驅動能力;另一方面可以提高反向器74LS04輸出高電平的驅動能力。超聲波發射原理圖如圖3所示。圖32.3 超聲波接收電路集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機的紅外接收器。因為紅外遙控常用的載波頻率38KHz與測距的超聲波頻率40KHz比較接近,所以本設計利用它制作超聲波檢測接收電路,如圖3所示。實驗證明,用CX20106A超聲波(無信號時輸出高電平)具有很高的靈敏度和較強的抗干擾能力。適當改變電容C1的大小,可以改變接收電路的靈敏度和抗干擾能力。2.4 數據顯示電路顯示電路采用簡單實用的4位共陽LED

7、數碼管,斷碼用74LS244驅動,位碼用PNP三極管9012驅動。由P0口輸出顯示數據,P2.0P2.3用來位選。2.5 單片機測距原理本設計采用超聲波渡越時間檢測法。其原理為:檢測從超聲波發射器發出的超聲波,經氣體介質的傳播到接收器的時間,即渡越時間。渡越時間與氣體中的聲速相乘, 就是聲波傳輸的距離??紤]實際情況,采用異地脈沖反射式來測距,即需測距離是聲波傳輸距離的一半。測出發射和接收回波的時間差t,然后求出距離S。在速度V已知的情況下,距離S的計算公式如下:S=V*t/2限制該系統的最大可測距離存在4個因素:超聲波的幅度、反射的質地、反射和入射聲波之間的夾角以與接收換能器的靈敏度。接收換能

8、器對聲波脈沖的直接接收能力將決定最小的可測距離。為了增加所測量的覆蓋圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發射接收的設計方法。3、整體電路設計圖44、軟件程序設計超聲波測距器的軟件設計主要由主程序,超聲波發生子程序,超聲波接收中斷程序與顯示子程序組成,由于C語言程序有利于實現較復雜的算法,匯編語言程序則具有較高的效率并且容易精確計算程序行動的時間,而超聲波測距器的程序既有較復雜的計算(計算距離時),又要求精確計算程序運行時間(超聲波測距時),所以控制程序可采用C語言和匯編語言混合編程。下面對超聲波測距器的算法,主程序,超聲波發生子程序和超聲波接收中斷程序逐一介紹。4.1 主

9、程序主程序流程圖:計算距離顯示結果開始系統初始化發送超聲波脈沖等待反射超聲波圖5程序首先要對系統環境初始化,設置定時器T0工作模式為16位定時/計數器模式,置位總中斷允許位EA并對顯示端口P0和P2清0;然后調用超聲波發生子程序送出一個超聲波脈沖。為了避免超聲波從發射器直接傳到接收器引起的直射波,需要延時約0.1ms(這也就是超聲波測距器會有一個最小可測距離的原因)后才可打開外中斷0接收返回的超聲波信號。由于采用的是12MHz的晶振,計數器每計一個數就是1us,所以當主程序檢測到接收成功的標志位后,將計數器T0中的數(即超聲波來回所用的時間)按式(32)計算,即可得被測物體與測距器之間的距離。

10、設計時取20時的聲速為344m/s,則有d=(vt)/2=(172T/10000)cm (32)其中:T為計數器T0的計數值。測出距離后,結果將以十進制BCD碼方式送往LED顯示約為0.5s,然后再發超聲波脈沖重復測量過程。圖5所示為主程序流程圖。4.2 超聲波發生子程序和超聲波接收中斷程序 超聲波發生子程序的作用是通過P1.0端口發送兩個左右的超聲波脈沖信號(頻率40KHz的方波),脈沖寬度為12us左右,同時把計數器T0打開進行時。超聲波發生子程序較簡單,但要求程序運行時間準確,所以采用匯編語言編程。ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG

11、 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI超聲波測距器主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現低電平),立即進入超聲波接收中斷程序。進入該中斷后,就立即關閉計時器T0,停止計時,并將測距成功標志字賦值1。中斷程序INTT0: CLR EA CLR TR0 MOV TH0,#00H MOV TL0,#00H SETB ET1 SETB EA SETB TR0 ;啟動計數器T0,用以計算超聲來回時間 SETB TR1 ;開啟發超聲波用

12、定時器T1OUT: RETIINTT1: CPL VOUT DJNZ R4,RETOUT CLR TR1 ;超聲波發完畢,關T1 CLR ET1 MOV R4,#04H SETB EX0 ;開啟接收回波中斷RETIOUT: RETIPINT0: CLR TR0 ;關計數器 CLR TR1 CLR ET1 CLR EA CLR EX0 MOV 44H,TL0 ;將計數值移入處理單元 MOV 45H,TH0 SETB 00H ;接收成功標志 RETI如果當計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關閉,并將測距成功標志字賦值2,以表示本次測距不成功。5、設計驗證超聲波測距

13、儀的制作和調試,其中超聲波發射和接收采用15的超聲波換能器TCT40-10F1(T發射)和TCT40-10S1(R接收),中心頻率為40kHz,在安裝時應當要保持兩換能器中心軸線平行并相距48cm,其余元件無特殊要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。根據測量圍要求不同,可適當調整與接收換能器并接的濾波電容C4的大小,以獲得合適的接收靈敏度和抗干擾能力。 硬件電路制作完成并調試好后,便可將程序編譯好下載到單片機試運行。根據實際情況可以修改超聲波發生子程序每次發送的脈沖寬度和兩次測量的間隔時間,以適應不同距離的測量需要。根據所設計的電路參數和程序,測距儀能測的圍為0.210m,測距儀最大誤差不超過5cm。系統調試完后應對測量誤差和重復一致進行多次實驗分析,不斷優化系統使其達到實際使用的測量要求。6、設計成果在我們為期三周的設計中,我們用到了以前學到的很多知識,比如電工、單片機、和匯編語言等。這使我們意識到,任何一件產品的產生,都不是單一知識所能實現的。而且在電路的設計和程序的編制過程中,出現了很多意想不到的錯誤,讓我們措手不與,有些甚至是一些非常低級的錯誤,但是這些錯誤也同樣讓我們獲益非淺,它使我們意識到,研究是一個非常嚴肅的過程,來不得半點馬虎。在本課題的設計過程中盡管走了很多的彎路,但是還是學到了不少知

溫馨提示

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

評論

0/150

提交評論