(完整word版)超聲波測距儀硬件電路研發(fā)設(shè)計_第1頁
(完整word版)超聲波測距儀硬件電路研發(fā)設(shè)計_第2頁
(完整word版)超聲波測距儀硬件電路研發(fā)設(shè)計_第3頁
(完整word版)超聲波測距儀硬件電路研發(fā)設(shè)計_第4頁
(完整word版)超聲波測距儀硬件電路研發(fā)設(shè)計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、超聲波測距儀電路輪機系樓宇071周鈺泉2007212117實驗?zāi)康模毫私獬暡y距儀的原理,掌握焊接方法,掌握電路串接方法,熟悉電路元件。實驗設(shè)備及器材:電烙鐵,錫線,電路元件以下為元件清單:參數(shù)名稱代號數(shù)量參數(shù)名稱代號數(shù)470UC111KR1, R2, R3,1量100uC214.7R4rR16,1104C3, C42220KR141224C5, C10222KR151223C614.7KR181330PC71按鍵RST, S1,53.3UFC81蜂鳴器S2, S31S411UFC91超聲波接收管R147UFC111超聲波發(fā)射管T110uFC121LM7805U1130pCY1, CY227

2、4HC245U214007D1, D2, D3, D4489S52U310.36數(shù)碼管DS11CD4069/74LS04U41360 QR5, R6, R7, R8, R9, R10,R11, R12,8CX20106AU5110K排阻PR1111.0592MY118550Q1, Q2, Q3, Q4, Q55DC電源插座1P11下載頭JTAG1PCB電路板113實驗步驟:1,學(xué)習(xí)keil軟件編寫程序2、焊接電路板3、運行調(diào)試超聲波測距程序:#i nclude un sig ned char code dispbitcode=0x31,0x32,0x34,0x38,0x30,0x30, 0x3

3、0,0x30;矚慫潤厲釤瘞睞櫪廡賴。un sig nedcharcodedispcode=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x77,0x7c,0x39;聞創(chuàng)溝燴鐺險愛氌譴凈。un sig neddispbuf8=10,10,10,10,10,10,0,0;un sig ned char dispco unt;un sig ned char getdata;un sig ned int temp;un sig ned int temp1;charunsigned char i;sbit ST=P3A0;sbit 0E

4、=P3A1;sbit EOC=P3A4;sbit CLK=P3A5;sbit M1=P3A6;sbit M2=P3A7;sbit SPK=P2A6;sbit LA=P3A3;sbit LB=P3A2;sbit LC=P2A7;sbit K1=P2A4;sbit K2=P2A5;bit wd;bit yw;bit shuid;bit shuig;unsigned int cnta;unsigned int cntb;bit alarmflag;void delay10ms(void)unsigned char i,j;for(i=20;i0;i-) for(j=248;j0;j-);void m

5、ain(void)M1=0;M2=0;yw=1;wd=0;SPK=0;ST=0;0E=0;TM0D=0x12;TH0=0x216;TL0=0x216;TH1=(65536-500)/256; TL1=(65536-500)%256;TR1=1;TR0=1;ET0=1;ET1=1;EA=1;ST=1;ST=0;while(1)if(K1=0)delay10ms();if(K1=0)yw=1;wd=0;else if(K2=0) delay10ms(); if(K2=0)wd=1;yw=0;else if(LC=1) delay10ms(); if(LC=1)M1=0;M2=1;temp1=13;

6、 shuid=0;shuig=1;LB=0;else if(LC=0) & (LB=1)delay10ms();if(LC=0) & (LB=1) M1=0;M2=0; temp1=12;shuig=0;shuid=0;LB=0;dispbuf1=10; dispbuf2=0; dispbuf3=0;if(yw=1)&(wd=0)dispbuf+i=temp1;else if(yw=0)&(wd=1) while(temp/10)dispbufi=temp/10; temp=temp%10;dispbuf+i=temp;ST=1;ST=0;P0=dispcodedispbufdispcount

7、;P2=dispbitcodedispcount;dispcount+;if(dispcount=8)dispcount=0;if(shuig=1) & (shuid=0)cnta+;if(cnta=800)cnta=0;alarmflag=alarmflag; if(alarmflag=1)SPK=SPK;else if(shuig=0) & (shuid=1)cntb+;if(cntb=400)cntb=0;alarmflag=alarmflag;else if (LB=0) & (LA=1) delay10ms();if(LB=0) & (LA=1) M1=1; M2=0; temp1=

8、11; shuig=0; shuid=0; LB=0; else if (LA=0) delay10ms();if(LA=0)M1=1;M2=0; temp1=0;shuid=1;shuig=0;LB=0;void t0(void) interrupt 1 using 0CLK=CLK;void t1(void) interrupt 3 using 0 TH1=(65536-500)/256;TL1=(65536-500)%256;if(EOC=1)OE=1; getdata=P1;OE=0; temp=getdata*25; temp=temp/64; i=2;dispbuf0=10;if(

9、alarmflag=1)SPK=SPK;elsealarmflag=0; cn ta=0;cn tb=O;/完整的程序電路原理圖:it!實驗內(nèi)容:1.1超聲波測距儀硬件電路硬件電路可分為單片機系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部 分。1.2單片機系統(tǒng)及顯示電路本系統(tǒng)采用AT89S52來實現(xiàn)對超聲波傳感器的控制。單片機通過P1.0引腳經(jīng)反相器來控制超聲波的發(fā)送,然后單片機不停的檢測INT0引腳,當(dāng)INT0引腳 的電平由高電平變?yōu)榈碗娖綍r就認(rèn)為超聲波已經(jīng)返回。計數(shù)器所計的數(shù)據(jù)就是超聲波所經(jīng)歷的時間,通過換算就可以得到傳感器與障礙物之間的距離。超聲波測距的硬件示意圖如圖3所示:殘騖

10、樓諍錈瀨濟溆塹籟。單片機采用89S52或其兼容系列。采用12MHz高精度的晶振,已獲得較穩(wěn)定的時鐘頻率,減少測量誤差。單片機用P1.0端口輸出超聲波換能器所需的40KHZ的方波信號,利用外中斷0 口檢測超聲波接收電路輸出的返回信號。釅錒極額閉鎮(zhèn)檜豬訣錐。1.3顯示的輸出顯示的種類很多,從液晶顯示、發(fā)光二極管顯示到CRT顯示器等,都可以與 微機連接。其中單片機應(yīng)用系統(tǒng)最常用的顯示是發(fā)光二極管數(shù)碼顯示器(簡稱 LED顯示器)。液晶顯示器簡LCD LED顯示器價廉,配置靈活,與單片接口方便, LCD可顯示圖形,但接口較復(fù)雜成本也較高。 彈貿(mào)攝爾霽斃攬磚鹵廡。該電路使用7段LED構(gòu)成字型“8”,另外還

11、有一個發(fā)光二極管顯示符號及小 數(shù)點。這種顯示器分共陽極和共陰極兩種。這里采用共陽極LED顯示塊的發(fā)光二 極管陽極共接,如下圖1所示,當(dāng)某個發(fā)光二極管的陰極為低電平時, 該發(fā)光二 極管亮。它的管腳配置如下圖2所示。謀養(yǎng)摶篋飆鐸懟類蔣薔。e d c dp 亡0曲com實際上要顯示各種數(shù)字和字符,只需在各段二極管的陰極上加不同的電平, 就可以得到不同的代碼。這些用來控制LED顯示的不同電平代碼稱為字段碼 (也 稱段選碼)。如下表為七段LED的段選碼。廈礴懇蹣駢時盡繼價騷。表3-1七段LED的段選碼顯示字符共陽極段選碼dp gfedcba顯示字符共陽極段選碼dp gfedcba0C0HA88H1F9H

12、B83H2A4HCC6H3B0HDA1H499HE86H592HF8EH682HP8CH7F8Hy91H880H8.00H990H火FFH本系統(tǒng)顯示電路采用簡單實用的 4位共陽LED數(shù)碼管,位碼用PNP三極管 8550驅(qū)動。單片機系統(tǒng)顯示電路如圖 3所示。煢楨廣鰳鯡選塊網(wǎng)羈淚。圖3單片機系統(tǒng)及顯示電路1.4超聲波發(fā)射電路超聲波發(fā)射電路原理圖如圖4所示。發(fā)射電路主要有反向器 CD4069和超聲 波發(fā)生換能器T構(gòu)成,單片機P1.0的端口輸出40KHZ方波信號一路經(jīng)一級反向 器后送到超聲波換能器的一個電極,另一路經(jīng)兩級反向器后送到超聲波換能器的 另一個電極。用這種推挽形式將方波信號加到超聲波換能器兩

13、端,可以提高超聲波的發(fā)射強度。輸出端采用兩個反向器并聯(lián),用以提高驅(qū)動能力。上拉電阻R10, R11 一方面可以提高反向器741S04輸出高電平的驅(qū)動能力,另一方面可以增加 超聲波換能器的阻尼效果,縮短其自由震蕩的時間。鵝婭盡損鶴慘歷蘢鴛賴。圖4超聲波發(fā)射電路原理圖15超聲波檢測接收電路集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機紅外 遙控接收器??紤]到紅外遙控常用的載波頻率 38KHZ與測距的超聲波頻率40KHZ 較為接近,可以利用它制作超聲波檢測接收電路 (如圖5)。實驗證明用CX20106A 接受超聲波(無信號時輸出高電平),具有很高的靈敏度和較強的抗干擾能力。適當(dāng)

14、更改電容C4的大小,可以改變接收電路的靈敏度和抗干擾能力?;[叢媽羥為贍債蟶練淨(jìng)。圖5超聲波檢測接收電路原理圖2.超聲波測距儀系統(tǒng)程序的設(shè)計2.1超聲波測距儀的程序設(shè)計超聲波測距器的軟件設(shè)計主要由主程序, 超聲波發(fā)生子程序,超聲波接受中 斷程序及顯示子程序組成。我們知道C語言程序有利于實現(xiàn)較復(fù)雜的算法,匯編 語言程序則具有較高的效率并且容易精確計算程序運行的時間,而超聲波測距器的程序既有較復(fù)雜的計算(計算距離時),有要求精確計算程序運行時間(超聲 波測距時),所以控制程序可采用C語言和匯編語言混合編程。下面對超聲波測 距器的算法、主程序、超聲波發(fā)生子程序和超聲波接收斷程序逐一介紹。預(yù)頌圣鉉儐歲齦

15、訝驊糴。2.1.1超聲波測距器的算法設(shè)計圖6示意了超聲波測距的原理,即超聲波發(fā)生器T在某一時刻發(fā)出一個超聲 波信號,當(dāng)這個超聲波信號遇到被測物體后反射回來,就被超聲波接收器R所接 收到。這樣只要計算出從發(fā)出超聲波信號到接收到返回信號所用的時間,就可以計算出超聲波發(fā)生器與反射物體的距離。滲釤嗆儼勻諤鱉調(diào)硯錦。圖6超聲波測距的示意圖距離的計算公式:d=s/2=(c*t)/2其中d為被測物與測距器的距離,s為聲波的來回路程,c為聲波,t為聲 波來回所用的時間。由于超聲波也是一種聲波,其聲速c與溫度有關(guān),表4-1列出了幾種不同溫 度下的超聲波聲速,在使用時,如果溫度變化不大,則可認(rèn)為聲速是基本不變的,

16、 如果測距精度要求很高,則應(yīng)通過溫度補償?shù)姆椒右孕U?聲速校正后,只要 測得超聲波往返的時間,即可求得距離。鐃誅臥瀉噦圣騁貺頂廡。表4-1不同溫度下超聲波聲速表溫度/C-30-20-100102030100聲速 c/m/s:3133193253233383443493862.1.2主程序主程序首先是對系統(tǒng)環(huán)境初始化,設(shè)定定時器TO工作模式為6位定時計數(shù)器模式,置位總中斷允許位 EA并給顯示端口 P0和P2清0。然后調(diào)用超聲波發(fā) 生子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起 的直射波觸發(fā),需要延時約0.1ms (這也就是超聲波測距器會有一個最小測距離 的原因)后,才

17、打開外中斷0接收返回的超聲波信號。由于采用的是12MHZ勺晶 振,計算器每計一個數(shù)就是1us,,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計 數(shù)器T0中的數(shù)(即超聲波來回所用的時間)按式(1-2 )計算,即可得被測物體 與測距器之間的距離,設(shè)計時取 20T時的聲速為344m/s則有擁締鳳襪備訊顎輪爛薔。D=(c*t)/2=172T0/10000cm1-2其中T0為計數(shù)器T0的計數(shù)值。測出距離后結(jié)果將以十進制 BCD碼方式送往LED顯示約0.5s,然后再發(fā)超 聲波脈沖重復(fù)測量過程。為了有利于程序結(jié)構(gòu)化和容易計算出距離,主程序采用 C語言編寫。圖7為主程序流程圖。贓熱俁閫歲匱閶鄴鎵騷。圖7主程序流程圖系

18、統(tǒng)程序流程圖如圖8所示:天岡宦時器謹(jǐn)取所計教値圖8超聲波測距程序流程圖工作時,微處理器AT89S52先把P1.0置0,啟動超聲波傳感器發(fā)射超聲波, 同時啟動內(nèi)部定時器T0開始計時。由于我們采用的超聲波傳感器是收發(fā)一體的, 所以在發(fā)送完16個脈沖后超聲波傳感器還有余震,為了從返回信號識別消除超 聲波傳感器的發(fā)送信號,要檢測返回信號必須在啟動發(fā)射信號后2.38ms才可以檢測,這樣就可以抑制輸出得干擾。當(dāng)超聲波信號碰到障礙物時信號立刻返回, 微處理器不停的掃描INTO引腳,如果INTO接收的信號由高電平變?yōu)榈碗娖?,此時表明信號已經(jīng)返回,微處理器進入中斷關(guān)閉定時器。再把定時器中的數(shù)據(jù)經(jīng)過 換算就可以得

19、出超聲波傳感器與障礙物之間的距離。壇搏鄉(xiāng)囂懺蔞鍥鈴氈淚。2.2超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序的作用是通過 P1.0端口發(fā)送2個左右超聲波脈沖信號(頻 率約為40kHz的方波),脈沖寬度為12us左右,同時把計數(shù)器T0打開進行計時。 超聲波發(fā)生子程序較簡單,但要求程序運行時間準(zhǔn)確,所以采用匯編語言編程。蠟變黲癟報倀鉉錨鈰贅。超聲波測距器主程序利用外中斷 0檢測返回超聲波信號,一旦接收到返回超 聲波信號(即INT0引腳出現(xiàn)低電平)立即進入中斷程序。進入該中斷程序后立 即關(guān)閉計時器T0停止計時,并將測距成功標(biāo)志字賦值 1。買鯛鴯譖曇膚遙閆擷凄。如果當(dāng)計時器溢出是還未檢測到超聲波

20、返回信號,則定時器 T0溢出中斷將 外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值 2以表示本次測距不成功。綾鏑鯛駕櫬鶘蹤 韋轔糴。3.超聲波測距儀誤差分析與調(diào)試3.1 誤差來源分析由超聲波測距原理可知,它是基于聲波速度不隨頻率變化為基礎(chǔ)的, 利用聲 波行進于待測距離的時間為測量參量確定待測間距。主要誤差來源有: 驅(qū)躓髏彥浹 綏譎飴憂錦。(1)聲波速度變化引起的誤差,這與空氣的元素含量以及空氣溫度有關(guān)?!笔?由聲波傳播速度1 M 可知,聲速是與空氣的分子量與M以及空氣溫度T有關(guān)。貓蠆驢繪燈鮒誅髏貺廡。(2)脈沖計數(shù)頻率的穩(wěn)定性是直接導(dǎo)致“等效標(biāo)準(zhǔn)尺”長度變化的因素miLN Cmif由測長誤差關(guān)系式=L mf / f可得,當(dāng)脈沖頻率準(zhǔn)確到10-5 時,如果測量距離L是w 100米的話,mL=0.001米,此誤差遠小于超生測長誤差。鍬籟饗逕瑣筆襖鷗婭薔。(3)開關(guān)門的可靠性是標(biāo)志超聲波測距可靠性的關(guān)鍵,即同步門控制。也 就是說,超聲波發(fā)射與脈沖計數(shù)必須同步開門。 所以,非同步性帶來的隨機誤差 會影響結(jié)果

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論