超聲波測距器設計_第1頁
超聲波測距器設計_第2頁
超聲波測距器設計_第3頁
超聲波測距器設計_第4頁
超聲波測距器設計_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、目錄1 引言 . 12 超聲波測距器硬件電路設計 . 22.1單片機計時及控制系統設計 . 32.1.1 單片機芯片的選擇 . 32.1.2 AT89C51基本電路 . 32.1.3 AT89C51定時計數應用電路 . 52.2 超聲波發射電路設計 . 52.3 超聲波接收電路設計 . 62.4 顯示電路設計 . 72.5 電源電路設計 . 92.6總體硬件結構與工作原理 . 93系統軟件設計 . 103.1超聲波測距器的算法設計 . 103.2 系統的主控制程序設計 . 113.3超聲波發生子程序設計 . 113.4超聲波接收中斷程序設計 . 114系統調試及性能分析 . 124.1 系統調

2、試 . 124.2 系統性能分析 . 12結束語 . 13致謝 . 15附錄 . 16附錄1 元件清單 . 16 附錄2 電路總原理圖 . 17 附錄3 電源電路原理圖 . 18 i附錄4 電路PCB版圖 . 19 附錄5 超聲波測距器源程序清單 . 20ii摘要本超聲波測距器由單片機計時及控制電路、超聲波發射電路、超聲波檢測接收電路、顯示電路等部分組成。采用AT89C51單片機作為計時及主控制器、用TCT40l0Fl作超聲波發射器、用TCT40l0Sl和CX20106A構成超聲波檢測接收電路。采用硬件電路和軟件控制相結合,電路結構簡單,低成本,操作方便,工作穩定,測量精度高,可達0.01米。

3、其設計思想可以應用于智能安全系統。關鍵詞:超聲波;測距;單片機;控制iiiAbstractThe ultrasonic wave range finder is composed of control circuit, ultrasonic radiating circuit, test circuit and display circuit, timing by monolithic integrated circuit. AT89C51 is used as timing and main controller; TCT40-10F1 as ultrasonic laucher; TCT4

4、0-10S1 and CX20106A construct ultrasonic test circuit. The combination of hardware circuit and software control make circuit structure simple、 cost low、operation convenient、work stable and measuring accurancy high enough to 0.01 meter. The design can be used in intellectural security system.Key word

5、s: ultrasonic wave; ranging; monolithic integrated circuit; controliv1 引言超聲波就是頻率超過聲波頻率的機械波,一般頻率在20KHz40KHz的范圍內1。由于超聲波的速度較光速小,其傳播時間容易檢測,且其傳播方向性及強度均好,易于控制等,使得超聲波檢測技術在物體位置測量、物體識別、空間導航等方面應用越來越廣泛。本人選擇設計題目:超聲波測距器設計。主要技術指標:(1)能應用于汽車倒車,建筑施工工地以及一些工業現場的位置監控;(2)顯示模塊采用LED數碼管,能清晰穩定地顯示測量結果;(3)測量范圍在0.104.00 m,測量精度

6、1 cm,測量時與被測物體無直接接觸。 12 超聲波測距器硬件電路設計超聲波測距是通過不斷檢測超聲波發射后遇到障礙物所反射的回波,從而測出發射和接收回波的時間差t,然后求出距離。路程、波速、時間之間的關系,可用下列簡單的公式表示:d=s/2=(ct)/ 2上式中,d為超聲波傳播單邊的路程,s為超聲波來回的路程, c為超聲波波速, t為超聲波來回所用的時間。當聲速確定后,只要測得超聲波往返的時間,即可求得距離。這就是超聲波測距的原理。超聲波測距的原理如圖1所示。圖1 超聲波測距原理根據超聲波測距原理,超聲波測距器需要有超聲波發生器、超聲波接收器、超聲波傳播的計時器。按照系統設計功能的要求,硬件電

7、路由單片機計時及控制電路、超聲波發射電路、超聲波檢測接收電路、顯示電路及電源五部分組成。系統原理總框圖見圖2。圖2 超聲波測距器的原理總框圖22.1單片機計時及控制系統設計單片機控制電路核心是單片機芯片,其加上工作基本電路,就可以展開控制工作。2.1.1 單片機芯片的選擇MCS8031和AT89C51都具有4個8位I/O接口,但MCS8031沒有內部程序存儲器,需要外接,增加電路復雜性;AT89C2051和AT89C51都具有Flash ROM2,可以省去外接程序存儲器;但AT89C2051接口少,不利于功能擴展;故選用AT89C51。AT89C51單片機內部結構及主要性能特點:40個引腳,雙

8、列直插式封裝;有4個8位I/O接口,有全雙工增強型UART,可編程串行通信;2個16位定時計數器;5個中斷源,2個中斷優先級;有片內時鐘振蕩器(全靜態工作方式,0-24 MHz);有128字節內部RAM,4 KB Flash ROM(可以擦除1000次以上,數據保存10年);電源控制模式靈活(時鐘可停止和恢復,空閑模式,掉電模式)。其內部結構圖如圖3所示。圖3 AT89C51/AT89C52內部結構圖2.1.2 AT89C51基本電路3AT89C51單片機要正常工作,必須有其基本電路,包括晶振電路、復位電路。(1) 晶振電路單片機的時鐘信號通常有兩種產生方式3:一是內部時鐘方式,二是外部時鐘方

9、式。內部時鐘方式是利用單片機內部的振蕩電路產生時鐘信號。外部時鐘方式是把外部已有的時鐘信號引入到單片機內。本設計采用內部時鐘方式,電路如圖4所示。圖4 晶振電路在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振),作為單片機內部振蕩電路的負載,構成自激振蕩器,可在單片機內部產生時鐘脈沖信號。C1和C2的作用是穩定振蕩頻率和快速起振。根據經典電路選擇參數,本電路選用晶振12 MHz, C1=C2=30PF2。其中晶振周期(或外部時鐘信號周期)為最小的時序單位。(2) 復位電路復位電路如圖5所示。圖5 按鍵與上電復位電路復位是使單片機處于某種確定的初始狀態。單片機工作從復位開始。在單片機R

10、ST引腳引入高電平并保持2個機器周期,單片機就執行復位操作。復位操作有兩種基本方 4式:一種是上電復位,另一種是上電與按鍵均有效的復位。本設計采用后一種復位電路。電路如圖5所示。開機瞬間RST獲得高電平,隨著電容C3的充電,RST引腳的高電平將逐漸下降。若該高電平能保持足夠2個機器周期,就可以實現復位操作。根據經典電路選擇參數,選取C3=10F,R9=10K2。2.1.3AT89C51定時計數應用電路AT89C51單片機片內集成有兩個可編程的定時/計數器T0和T14。它們既可以工作于定時模式,也可以工作于外部事件計數模式。本設計采用定時計數器T0,根據需要,讓其工作于方式1。方式1的計數位數是

11、16位,由TL0作為低8位,TH0作為高8位,組成16位加1計數器。其初值在65 5350范圍,計數范圍為165 536。具體應用見程序設計部分。2.2 超聲波發射電路設計(1)選擇超聲波發生器類型超聲波發生器可以分為兩大類1:一類是用機械方式產生超聲波,另一類是電氣方式產生超聲波。機械方式有加爾統笛,液哨和氣流旋笛等,它們所產生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。電氣方式包括壓電型,電動型等;目前在近距離測量方面較為常用的是壓電式超聲波換能器。壓電式超聲波換能器利用壓電晶體的諧振來工作,其內部結構如圖6所示。超聲波換能器有兩個壓電晶片和一個共振板。當它的兩極外加電脈沖

12、信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將發生共振,從而帶動共振板振動,產生超聲波。反之,如果在共振板上外加適當的機械振動,使壓電晶片發生共振,將在壓電晶片之間產生交變的電信號。這時它就成為了超聲波接收器。本設計選用壓電式超聲波換能器TCT40l0Fl作超聲波發射器。使用時注意分清器件,因為它與接收換能器在結構上稍有不同。5圖6 超聲波換能器內部結構圖(2) 超聲波發射電路設計超聲波發射電路主要由反向器74LS04和超聲波發射換能器T構成,如圖7所示。圖中T為超聲波發射器,采用TCT40l0Fl,外型尺寸15 。輸出端采用兩個反向器并聯,用以提高驅動能力。上拉電阻R2,R3一方面可以

13、提高反向器74LS04輸出高電平的驅動能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩的時間。工作時,單片機的定時器T0產生40 KHz方波信號,從P1.3端口輸出,一路經過一級反向器后送到超聲波發射器T的一個電極,另一路經過兩極反向器后送到超聲波發射器T的另一個電極,從而將40 KHz電脈沖信號加到超聲波發射器T,使T發射超聲波。電路采用推挽形式,向超聲波發射器T提供電脈沖信號,可以提高超聲波的發射強度。圖7 超聲波發射電路原理圖2.3 超聲波接收電路設計6超聲波接收電路主要由超聲波接收換能器R和超聲波檢測接收模塊構成,如圖8所示。圖中R為超聲波接收器,采用TCT40l0Sl,外

14、型尺寸15 。U5是超聲波檢測接收模塊,設計時選用了紅外線檢波接收專用集成電路芯片CX20106A。選用的原因是CX20106A常用的載波頻率為38KHz,與測距的超聲波頻率40KHz較為接近,可以將發射的超聲波之頻率控制為38KHz。電路中設置的電容C4,適當更改其大小,可以改變接收電路的抗干擾能力;適當改變電路中的電容C6,可改變電路的靈敏度。工作時,接收的超聲波信號經R轉換為電信號,加到CX20106A的輸入端(1腳),處理后由CX20106A的輸出端(7腳)送達單片機的中斷口INT0,申請CPU處理。圖8 超聲波檢測接收電路2.4 顯示電路設計顯示電路采用LED數碼管顯示。LED數碼管

15、顯示有靜態顯示方式和動態顯示方式,本系統采用并行輸出的動態顯示方式。(1)動態顯示原理七段LED顯示器由8個發光二極管組成,通常構成字形“日”,其中有一個發光二極管用來顯示小數點。各段LED顯示器由驅動電路驅動,控制相應的二極管導通,相應的一個筆畫或一個點就發光,由此就能顯示出對應字符。通常將各段發光二極管的陰極或陽極連在一起作為公共端;將各段發光二極管陽極連在一起的叫共陽極顯示器,用低電平驅動;將陰極連在一起的叫共陰極顯示器,用高電平驅動。7動態顯示,就是一位一位地輪流點亮顯示器的各個位。LED顯示器工作于動態顯示方式時,所有位的段碼線相應段并聯在一起,由1個8位I/O口驅動控制,形成段碼線

16、多路復用。各位的共陰極或共陽極選擇線分別由相應的1條I/O線控制,形成各位的分時選通。對顯示器的每一位而言,每隔一段時間點亮一次。雖然在同一時刻只有一位顯示器點亮,但由于人眼的視覺暫留效應和發光二極管熄滅時的余輝,我們看到的卻是多個字符“同時”顯示。顯示器亮度既與點亮時的導通電流有關,也與點亮時間長短和點亮的間隔時間有關。對于確定的LED,調整點亮時的導通電流和點亮的間隔時間參數,即可實現亮度較高較穩定的顯示。動態顯示的優點是大大簡化了硬件電路,但控制程序更復雜,控制時占用大量CPU時間;實質就是犧牲CPU時間換取器件減少。(2)顯示電路結構根據本超聲波測距器顯示測距數據的需要,采用4位LED

17、動態顯示電路。 其中2位顯示小數部分,2位顯示整數部分。顯示信息輸入部分由單片機P0輸出端,連接74LS244相應輸入端,驅動器輸出端經限流電阻連接相應字段碼端;字位控制部分分別由三極管驅動,選用PNP型晶體管9012,其基極經限流電阻連接單片機的P2口相關端子,集電極連接數碼管的共用端,發射極連接電源。顯示電路如圖9所示5。圖9 超聲波測距動態顯示電路(3)顯示電路工作過程工作中某時段,P0口輸出相關位顯示的段碼,由P2口相應端輸出位控信號,控制相應的顯示位顯示數據,同理,另一時間段,相應的另外的顯示位顯示數據,從而實現 8動態掃描顯示。2.5 電源電路設計電源電路由變壓器、單相橋式電路、濾

18、波電路和三端穩壓電路構成。其電路如圖10所示。電子設備中常使用輸出電壓固定的集成穩壓器。三端式穩壓器只有輸入、輸出和公共引出端,由啟動電路、基準電壓電路、取樣比較放大電路、調整電路和保護電路等部分組成。在本系統中,要求電源電壓為5V,由于三端式穩壓器輸出電壓固定,故在設計n,中選擇三端式穩壓器7805。7805電路參數6:當Tj=25,輸入為7nVin205.0mAI01.0A,PnV05.25n,本設計穩壓輸出5V。三端式穩015w時,輸出4.8壓器的輸入與輸出之間電壓差為2-3V7 ,整流橋的輸出電壓是輸入電壓(有效值)的1.2倍(這里選擇IN4007組成的單相橋式整流電路),故選擇220

19、V/ 6V的變壓器。由于7805的最大輸出電流為1A,電壓為穩定的+5V,最大輸出功率為5W,考慮電源消耗,故本系統選擇8W的變壓器。圖8中C7、C9為低頻濾波電容,根據經驗選擇電解電容,其容值分別為C8=C10=1000F;C9、C11為高頻濾波電容,均選0.1F的貼片電容。發光二極管用于指示電源是否接通,選擇FG1112004 發光二極管,根據正向電流If=5mA,選擇限流電阻R19= 620。圖10 電源電路2.6總體硬件結構與工作原理總體硬件結構原理圖見附錄2。9超聲波測距器工作原理:打開電源,整個電路通電,單片機執行程序,對系統環境初始化,設置定時器T0工作模式,啟動T0, 調用超聲

20、波發生子程序,等待反射超聲波,計算距離,顯示距離;重復。工作過程中,相關的子程序和中斷程序被執行,相應硬件配合行動,顯示測量結果。3系統軟件設計超聲波測距器的軟件主要由主程序,超聲波發生子程序,超聲波接收中斷程序以及顯示子程序組成。C語言程序有利于實現較復雜的算法,匯編語言程序則具有較高的效率且容易計算程序運行時間。本系統的程序既有較復雜的計算(計算距離時),又要求精確計算程序運行時間(超聲波測距時),所以控制程序采用C語言和匯編語言混合編程。3.1超聲波測距器的算法設計從前面距離的計算公式可知,c為聲速,對于超聲波,在常溫20時,其數值為344米/秒;若能準確測量出超聲波從發射到返回所用時間

21、,則可以計算出發射點到被測障礙物之間的距離。測量距離時,由超聲波測距器的主控制器中定時器記錄時間,設計中要求超聲波測距時精確計算程序運行時間。測量超聲波來回所用的時間,當送出一個超聲波脈沖后,需要延時約0.1ms,才打開外中斷0接收返回的超聲波信號,這是為了避免超聲波從發射器直接傳送到接收器引起直射波觸發。單片機工作時晶振頻率為12MHz,計數器每計1個數就是1 s,當主程序檢測到接收成功的標志位后,將停止計數器T0計數。計算距離,將計數器T0中的計數值T0帶入距離的計算公式計算,即可得被測物體與測距器之間的距離。具體為d=s/2=(344t)/2=(172T0)/106計算的結果,以十進制B

22、CD碼方式送往LED顯示,顯示時間約0.5s,然后再發超聲波脈沖重復測量過程。103.2 系統的主控制程序設計主程序包括對系統環境初始化,設置定時器T0工作模式,調用超聲波發生子程序,等待反射超聲波,計算距離,顯示距離;重復。主程序流程圖如圖11。圖11. 主程序流程圖3.3超聲波發生子程序設計超聲波發生子程序,主要功能是單片機控制,通過P1.3端口發送2個左右超聲波脈沖信號,頻率為約40kHz的方波,其脈沖寬度為12s左右,同時把計數器T0打開進行計時。3.4超聲波接收中斷程序設計超聲波接收中斷程序,主要功能是單片機控制,檢測外中斷0返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出

23、現低電平),立即進入中斷程序。進入該中斷后就立即關閉計時器T0停止計時,并將測距成功標志字賦值1。如果當計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關閉,并將測距成功標志字賦值2以表示本次測距不成功。114系統調試及性能分析4.1 系統調試超聲波測距器的硬件制作注意:安裝超聲波發射換能器和接收換能器時,應保持兩換能器中心軸線平行并相距48 cm,其余元件無特殊要求。可以將超聲波接收電路用金屬殼屏蔽起來,以提高抗干擾性能。硬件調試首先檢查電路的焊接是否正確,并用萬用表測試或通電檢測電路是否接通。硬件電路制作完成并調整好以后,便可將程序編譯好下載到單片機試運行。根據實際情況

24、修改超聲波發生子程序每次發送的脈沖寬度和兩次測量的間隔時間,以適應不同距離的測量需要。4.2 系統性能分析根據設計指標:測量范圍在0.10-4.00m,測量精度1cm的要求,實驗時,可以考查比0.10m更小距離和比4.00m更大距離。進行試測,用標準工具對比檢驗。結果應該是測量范圍更大、測距最大誤差不超過1cm,重復一致性好。12結束語本設計采用AT89C51單片機作為計時及主控制器、用TCT40l0Fl作超聲波發射器、用TCT40l0Sl和CX20106A構成超聲波檢測接收電路。將相關控制編程,寫入單片機,實現了以單片機控制的超聲波測距器。本超聲波測距器采用硬件電路和軟件控制相結合,電路結構

25、簡單,低成本,操作方便,工作穩定,測量精度高,可達0.01米。可用于日常生活及工農業生產中距離的測量及位置監控。例如管道長度、油井深度、液面高度,建筑施工各點定位等。本超聲波測距器只具有測量顯示功能,沒有反饋與控制功能。其設計思想可以應用于智能安全系統。例如,在車輛智能自動安全系統中, 檢測車輛左、右動、靜態障礙物,并顯示距離,至危險區域后與智能模糊控制器通信以采取最佳避讓措施等。13參考文獻1 余成波傳感器與自動檢測技術M北京高等教育出版社,2004:1242 李全利單片計原理及接口技術M北京高等教育出版社,2004:233 張毅剛單片機原理及應用M 北京高等教育出版社,2004:314 周

26、航慈單片機應用程序設計技術M 北京北京航空航天大學出版,200:115 陳明熒8051單片機課程實訓教材M 北京清華大學出版社,2004:506 廖先蕓電子技術實踐與訓練M 北京高等教育出版社,2000:15-177 康華光電子技術基礎模擬部分M 北京高等教育出版社,2003:4598 劉道興電子技術培訓教學講義M 內部資料,20014致謝15附錄附錄1 元件清單編 號1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26元件名稱 碳膜電阻 碳膜電阻 碳膜電阻 云母電容 云母電容 云母電容 云母電容 云母電容 鋁

27、電解電容 鋁電解電容 鋁電解電容 晶掁 二極管 發光二極極管 三極管 變壓器 反向器 電源插頭 單片機芯片 K開關按鍵 三端穩壓器 超聲波發生器 超聲波接收器 集成電路芯片 LED數碼顯示管 8輸入3態緩沖器規 格 1K,1/8W 10K,1/8W 620,1/8W30PF330PF 0.056F 0.1F 1F3.3F,耐壓50V 10F,耐壓50 V 1000F,耐壓50 V12MHz IN4007 FG1112004 9012 220V/6V,8W 74LS04 AT89C51 L7805數 量 8個 2個 8個 2個 1個 1個 2個 1個 1個 1個 2個 1個 4個 1個 4個 1

28、個 5個 1個 1個 1個 1個 1個 1個 1個 4個 1個TCT40l0Fl TCT40l0SlCX20106A DPY-7-SEG-DP 74LS24416.附錄2 電路總原理圖17T1220vATR附錄3 電源電路原理圖18附錄4 電路PCB版圖19附錄5 超聲波測距器源程序清單超聲波測距器源程序清單:/文件1 :cscjmain.c/超聲測距器單片機程序/MCU AT89C51 XAL 12 MHz /Builde By Gavin Pei, 2006. 5. 28 ;#include #define uchat unsigned char#define uint unsigned

29、int#define ulong unsigned longextern void cs_t(void);extern void delay(uint);extern void display(uchar *);,data uchar testokt;/*主程序*/void main(void)data uchar dispram5;data uint I;data ulongtime;P0 = 0xff;P2 = 0xff,TMOD=0x11;IE=0x80;while (1)cs_t();delay(1),testok=0;EX0 = 1;ET0=1;while(!testok) disp

30、lay(dispmm); if (1= testok)time=TH0;time = (time8)|TL0;time*=172;time/=10000;disptamo=(uchar)(time%10); time/=10disptam1=(uchar)(time%10); time/=10;20dispram2=(uchar)(time%1o); dispram3=(uchar) (time/10);if (0=dispram3) diapram3=17; seledispram0=16;dispram0=16;dispram0=16;dispram0=16;for (i=0; i300;

31、i+) display(dispram); /*超聲接收程序(外中斷0)*/void cs_r(void) interrupt 0TR0=0;ET0 =0;EX0=0;Testok=1;/*超時清除程序(內中斷T0)*/void overtime(void) interrupt 1EX0 = 0;TR0=0;ET0=0;testok=2;/文件2:cs_t.asm*/;/超聲發生子程序 (12 MHz晶振38.5 Hz) NAME CS_T?PR?CS_T?CS_T SEGMENT CODE PUBLIC CS_TRSEG ?PR?CS_T?CS_T CS_T : PUSH ACCMOV TH0,#00H MOV TL0,#00H MOV A, #4DSETB TR0CS-T1: CPL P1.3NOPNOP21NOPNOPNOPNOPNOPNOPNOPNOPDJNZ ACC, CS_T1POP ACCRET;/文件3:rdieplay.asm*/;四位共陽LED動態掃描顯

溫馨提示

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

評論

0/150

提交評論