超聲波測距專題知識(shí)講座培訓(xùn)課件_第1頁
超聲波測距專題知識(shí)講座培訓(xùn)課件_第2頁
超聲波測距專題知識(shí)講座培訓(xùn)課件_第3頁
超聲波測距專題知識(shí)講座培訓(xùn)課件_第4頁
超聲波測距專題知識(shí)講座培訓(xùn)課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

超聲波測距專題知識(shí)講座一、功能要求超聲波測距器可應(yīng)用于汽車倒車。建筑施工工地以及一些工業(yè)現(xiàn)場的位置監(jiān)控,也可用于如液位、井深、管道長度、物體厚度等的測量。其測量范圍為0.10~4.00m,測量精度為1cm。測量時(shí)與被測物體無直接接觸,能夠清晰、穩(wěn)定地顯示測量結(jié)果。2超聲波測距專題知識(shí)講座二、方案論證由于超聲波指向性強(qiáng),能量消耗慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測量。利用超聲波檢測距離設(shè)計(jì)比較方便,計(jì)算處理也比較簡單,并且在測量精度方面也能達(dá)到使用的要求。超聲波發(fā)生器可以分為兩大類:一類是使用電氣方式產(chǎn)生超聲波;另一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括電壓型、電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波各不相同,因而用途也各不相同。目前在近距離測量方面較為常用的是壓電式超聲波換能器。根據(jù)設(shè)計(jì)要求并綜合各方面因素,本例決定采用AT89C52單片機(jī)作為主控器,用動(dòng)態(tài)掃描法實(shí)現(xiàn)LED數(shù)字顯示,超聲波驅(qū)動(dòng)信號(hào)用單片機(jī)的定時(shí)器完成。超聲波測距器系統(tǒng)設(shè)計(jì)框圖如下:3超聲波測距專題知識(shí)講座二、方案論證超聲波測距系統(tǒng)框圖4超聲波測距專題知識(shí)講座三、系統(tǒng)硬件電路的設(shè)計(jì)單片機(jī)系統(tǒng)及顯示電路1超聲波發(fā)射電路2超聲波檢測接收電路3硬件電路主要分為以下三個(gè)部分:5超聲波測距專題知識(shí)講座三、系統(tǒng)硬件電路的設(shè)計(jì)1.單片機(jī)系統(tǒng)及顯示電路

單片機(jī)采用89C51或其兼容系列。系統(tǒng)采用12MHZ高精度的晶振,以獲得較穩(wěn)定的時(shí)鐘頻率,并減小測量誤差。單片機(jī)用P1.0端口輸出超聲波換能器所需的40kHz方波信號(hào),利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號(hào)。顯示電路采用簡單實(shí)用的4位共陽LED數(shù)碼管,段碼用74LS244驅(qū)動(dòng),位碼用PNP三極管驅(qū)動(dòng)。單片機(jī)系統(tǒng)及顯示電路如圖:6超聲波測距專題知識(shí)講座

基本原理:7超聲波測距專題知識(shí)講座

超聲波發(fā)射接收傳感器連接外殼的是接地端,黑圈的是正極8超聲波測距專題知識(shí)講座發(fā)射原理:發(fā)射電路主要由反相器74LS04和超聲波換能器構(gòu)成,單片機(jī)P1.0口輸出40khz的方波信號(hào)一路經(jīng)一級(jí)反相器送到換能器的一端,另一路經(jīng)兩級(jí)反相器后送到換能器的另一端,用這種推挽的方式把方波信號(hào)加到換能器兩端可以提高超聲波發(fā)射的強(qiáng)度。9超聲波測距專題知識(shí)講座74LS0410超聲波測距專題知識(shí)講座接收原理11超聲波測距專題知識(shí)講座

12超聲波測距專題知識(shí)講座

電路原理圖13超聲波測距專題知識(shí)講座74LS0714超聲波測距專題知識(shí)講座74LS24515超聲波測距專題知識(shí)講座

16超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)1.超聲波測距器的算法設(shè)計(jì)距離計(jì)算公式:d=s/2=(vt)/2其中d是被測物與測距器的距離;s是超聲波的來回路程,v是超聲波在當(dāng)前溫度下的速度,t是發(fā)送和接收超聲波所經(jīng)歷的時(shí)間。17超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)超聲波測距器原理圖TR障礙物18超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)2.主程序算法設(shè)計(jì)主程序首先要對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器工作模式為16位定時(shí)、計(jì)數(shù)器模式,置位總中斷允許位EA并對(duì)顯示端口P0和P2清0;然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖。為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延遲0.1ms后才打開外中斷0,接收返回的超聲波信號(hào)。由于采用12MHZ晶振,計(jì)數(shù)器每記一個(gè)數(shù)就是1us,取20℃時(shí)的超聲波傳輸速度v=344m/s,則d=(vt)/2=344t/2=(172T0/106)m=(172T0/10000)cm其中T0為中斷T0的計(jì)數(shù)值。測出距離后,結(jié)果以十進(jìn)制BCD碼方式送往LED顯示約0.5S,然后再發(fā)出超聲波脈沖重復(fù)測量。

主程序流程圖如下:

19超聲波測距專題知識(shí)講座距離計(jì)算距離計(jì)算公式:D=S/2=(V×t)/220超聲波測距專題知識(shí)講座

21超聲波測距專題知識(shí)講座初始化超聲測距器單片機(jī)程序/*--------------------------------------MCUAT89C51XAL12MHz--------------------------------------*/#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongUchartab1[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff};uchartab2[]={0x01,0x02,0x04,0x08,};externvoidcs_t(void);externvoiddelay(uint);datauchardispram[5];voiddisplay(){intj;for(j=0;j<=3;j++){P0=tab1[dispram[j]];P2=tab2[j];delay(2);}}datauchartestok;22超聲波測距專題知識(shí)講座主程序voidmain(void){datauinti;dataulongtime;P0=0xff;/*初始化*/P2=0xff;TMOD=0x11;/*工作方式選擇*/IE=0x80;/*CPU開中斷*/while(1){cs_t();/*產(chǎn)生40KHz的方波*/delay(1);testok=0;EX0=1;/*開外部中斷0*/ET0=1;/*開定時(shí)/計(jì)數(shù)器0*/while(!testok)display();

if(1==testok){time=TH0;time=(time<<8)|TL0;/*高8位左移并與低8位合并*/time*=172;time/=10000;%(172T0/10000)

dispram[0]=(uchar)(time%10);time/=10;dispram[1]=(uchar)(time%10);time/=10;dispram[2]=(uchar)(time%10);dispram[3]=(uchar)(time/10);if(0==dispram[3])dispram[3]=17;}elseif(testok==2){{dispram[0]=16;dispram[1]=16;dispram[2]=16;dispram[3]=16;}}for(i=0;i<300;i++)display();}}23超聲波測距專題知識(shí)講座超聲接收程序(外中斷0)

voidcs_r(void)interrupt0{TR0=0;ET0=0;EX0=0;testok=1;}/*超時(shí)清除程序(內(nèi)中斷T0)*/voidovertime(void)interrupt1{EX0=0;TR0=0;ET0=0;testok=2;}24超聲波測距專題知識(shí)講座;-------------------------------------

;延時(shí)100機(jī)器周期*參數(shù)(1~65535)

;-------------------------------------NAMEDELAYPRDELAYSEGMENTCODEPUBLICDELAYRSEGPRDELAY ;PUSHACCDELAY:MOVR4,#2;MOVA,#2;DD1:MOVR5,#24DJNZR5,$DJNZR4,DD1;DJNZACC,DD1;POPACCRETEND25超聲波測距專題知識(shí)講座;超聲發(fā)生子程序(12M晶振38.5KHz)產(chǎn)生聲波脈沖信號(hào)(頻率約40kHz的方波),脈沖寬度為12μs左右

NAMECS_TddSEGMENTCODEPUBLICCS_TRSEGddCS_T:PUSHACCMOVTH0,#00HMOVTL0,#00HMOVA,#10DSETBTR0/*定時(shí)/計(jì)數(shù)器0啟動(dòng)*/CS_T1:CPLP1.0NOPNOP/*是一個(gè)機(jī)器周期,一個(gè)機(jī)器周期是一個(gè)振蕩周期的12分頻,*/

NOP/*%如果你的晶振是12MHZ,那你的一個(gè)機(jī)器周期就是1微秒.*/NOPNOPNOPNOPNOPNOPNOP/*10個(gè)NOP的時(shí)間大概是10us*/DJNZACC,CS_T1/*是兩個(gè)機(jī)器周期,因此一共有12us*/POPACCRETEND26超聲波測距專題知識(shí)講座設(shè)計(jì)建議建議最好具有ISP功能或者增加溫度補(bǔ)償?shù)那闆r或增加報(bào)警設(shè)置27超聲波測距專題知識(shí)講座

ISP接口28超聲波測距專題知識(shí)講座三、系統(tǒng)硬件電路的設(shè)計(jì)復(fù)位電路晶振電路LED顯示電路29超聲波測距專題知識(shí)講座三、系統(tǒng)硬件電路的設(shè)計(jì)復(fù)位電路的原理:只有在RST端給它24個(gè)時(shí)鐘周期,才能讓它復(fù)位。當(dāng)按下開關(guān)時(shí),VCC接通,由于10K電阻的分壓作用,RST端的電壓為5V,而5V電壓正好可以滿足RST復(fù)位的24個(gè)時(shí)鐘周期要求,于是RST復(fù)位。此電路同時(shí)也是自動(dòng)上電復(fù)位的,當(dāng)電容開始充電、放電時(shí),RST端的電壓便隨之變化,電壓由低到高,再由高到低,時(shí)間能夠滿足24個(gè)時(shí)鐘周期,故而RST能夠復(fù)位。晶振電路的原理:晶振兩端各接一個(gè)無極性電容,電容上電,然后再放電,這樣便可以幫助晶振起振。另:12MHZ的晶振兩端接30PF的電容,6MHZ的晶振兩端接20PF的電容。LED的工作原理:四位共陽LED的一邊是段選端,一邊是位選端。同名段選端各自相連,然后7位段選端口接到P0口,位選端接到P2口。通過位選可以控制每一個(gè)LED亮,通過段選端可以控制LED亮什么,其中段選端還要接上拉電阻,其作用是為了保證LED能夠點(diǎn)亮。在位選端加一個(gè)高電壓,段選端加一個(gè)低電壓,那么再加上上拉電阻的作用,便可以保證LED的兩端形成一個(gè)壓差,這樣LED就點(diǎn)亮了。30超聲波測距專題知識(shí)講座三、系統(tǒng)硬件電路的設(shè)計(jì)2.超聲波發(fā)射電路

超聲波發(fā)射電路原理圖如下圖。發(fā)射電路主要由反向器74LS04和超聲波換能器構(gòu)成,單片機(jī)P1.0端口輸出的40kHz方波信號(hào)一路經(jīng)一級(jí)反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向器后送到超聲波換能器的另一個(gè)電極,用這種推挽形式將方波信號(hào)加到超聲波換能器兩端可以提高超聲波的發(fā)射速度。輸出端采用兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。兩個(gè)上拉電阻一方面可以提高反向器74LS04輸出高電平的驅(qū)動(dòng)能力;另一方面可以增加超聲波換能器的阻尼效果,以縮短其自由振蕩的時(shí)間。31超聲波測距專題知識(shí)講座三、系統(tǒng)硬件電路的設(shè)計(jì)超聲波換能器的工作原理壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內(nèi)部結(jié)構(gòu)如下圖所示,它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生超聲波,這時(shí)它是一個(gè)超聲波發(fā)生器;反之,如果兩極間未加外電壓,當(dāng)共振板接收道超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收換能器了。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志。超聲波發(fā)射換能器上標(biāo)有字母T,而接收換能器上標(biāo)有字母R。超聲波換能器結(jié)構(gòu)圖32超聲波測距專題知識(shí)講座三、系統(tǒng)硬件電路的設(shè)計(jì)3.超聲波檢測接收電路集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器。考慮到紅外遙控常用的載波頻率38kHz與測距的超聲波頻率40kHz較為接近,可以利用它制作超聲波檢測接收電路,如圖所示。實(shí)驗(yàn)證明,用CX20106A接收超聲波(無信號(hào)的輸出高電平)具有很高的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)?shù)馗碾娙軨4的大小,可以改變接收電路的靈敏度和抗干擾能力。

超聲波檢測接收電路33超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)超聲波測距器的軟件設(shè)計(jì)主要由主程序、超聲波程序發(fā)生子程序、超聲波接收中斷程序及顯示子程序組成。由于C語言程序有利于實(shí)現(xiàn)較復(fù)雜的算法,匯編語言程序則具有較高的效率并且容易精確計(jì)算程序運(yùn)行的時(shí)間,而超聲波測距器的程序既有較復(fù)雜的計(jì)算(計(jì)算距離時(shí)),又要求精確計(jì)算程序運(yùn)行時(shí)間(超聲波測距時(shí)),所以控制程序可采用C語言和匯編語言混合編程。下面對(duì)超聲波測距器的算法。34超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)1.超聲波測距器的算法設(shè)計(jì)距離計(jì)算公式:d=s/2=(vt)/2其中d是被測物與測距器的距離;s是超聲波的來回路程,v是超聲波在當(dāng)前溫度下的速度,t是發(fā)送和接收超聲波所經(jīng)歷的時(shí)間。35超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)超聲波測距器原理圖TR障礙物36超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)2.主程序算法設(shè)計(jì)主程序首先要對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器工作模式為16位定時(shí)、計(jì)數(shù)器模式,置位總中斷允許位EA并對(duì)顯示端口P0和P2清0;然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖。為了避免超聲波從發(fā)射器直接傳送到接收器引起的直射波觸發(fā),需要延遲0.1ms后才打開外中斷0,接收返回的超聲波信號(hào)。由于采用12MHZ晶振,計(jì)數(shù)器每記一個(gè)數(shù)就是1us,取20℃時(shí)的超聲波傳輸速度v=344m/s,則d=(vt)/2=344t/2=(172T0/106)m=(172T0/10000)cm其中T0為中斷T0的計(jì)數(shù)值。測出距離后,結(jié)果以十進(jìn)制BCD碼方式送往LED顯示約0.5S,然后再發(fā)出超聲波脈沖重復(fù)測量。

主程序流程圖如下:

37超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)

開始系統(tǒng)初始化發(fā)送超聲波脈沖等待反射超聲波計(jì)算距離顯示結(jié)果38超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)4.C程序代碼/*--------------------------------------超聲測距器單片機(jī)程序MCUAT89C51XAL12MHz2004.2.25--------------------------------------*/#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongexternvoidcs_t(void);externvoiddelay(uint);externvoiddisplay(uchar*);datauchartestok;40超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)/*主程序*/voidmain(void){datauchardispram[5];datauinti;dataulongtime;P0=0xff;P2=0xff;TMOD=0x11;IE=0x80;while(1){cs_t();delay(1);testok=0;EX0=1;ET0=1;while(!testok)display(dispram);41超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)if(1==testok){time=TH0;time=(time<<8)|TL0;time*=172;time/=10000;dispram[0]=(uchar)(time%10);time/=10;dispram[1]=(uchar)(time%10);time/=10;dispram[2]=(uchar)(time%10);dispram[3]=(uchar)(time/10);if(0==dispram[3])dispram[3]=17;}else{dispram[0]=16;dispram[1]=16;dispram[2]=16;dispram[3]=16;}for(i=0;i<300;i++)display(dispram);}}//42超聲波測距專題知識(shí)講座四、系統(tǒng)程序的設(shè)計(jì)/*超聲接收程序(外中斷0)*/voidcs_r(void)interrupt0{TR0=0;ET0=0;EX0=0;testok=1;}/*超時(shí)清除程序(內(nèi)中斷T0)*/voidovertime(void)interrupt1{EX0=0;TR0=0;ET0=0;testok=2;}43超聲波測距專題知識(shí)講座五、遇到的問題以及解決辦法1.當(dāng)把硬件電路連接好后,接到電源,發(fā)現(xiàn)LED燈不亮。LED燈不亮的原因有以下幾個(gè):①單片機(jī)不工作②LED顯示模塊的硬件電路設(shè)計(jì)有問題③LED顯示模塊的硬件電路連線有問題故障排查:①單片機(jī)不工作。先檢查AT89C52單片機(jī)的電源線和地線是否接好,發(fā)現(xiàn)接線無誤。再看晶振電路是否工作,仔細(xì)檢查發(fā)現(xiàn)晶振有一個(gè)引腳接錯(cuò),改正后發(fā)現(xiàn),通電后晶振一端出現(xiàn)50HZ的正弦波,且ALE端出現(xiàn)方波,表示單片機(jī)正常工作。LED可以顯示了,但是顯示全部是8888。

44超聲波測距專題知識(shí)講座五、遇到的問題以及解決辦法②LED顯示模塊的硬件電路設(shè)計(jì)有問題解決辦法:軟件仿真在LED顯示模塊的proteus仿真文件中添加如下程序代碼的hex文件,仿真后可以看到LED被點(diǎn)亮。LED模塊調(diào)試代碼ORG0000HAJMP0030HORG0030HMOVP2,#00H;P2端全部送低電平,經(jīng)過三極管9012后,位選端為高電平MOVP0,#00H;P0端全部送低電平,段選全部為低電平,使LED全部點(diǎn)亮END

LED模塊調(diào)試代碼調(diào)入后得到仿真效果如下:45超聲波測距專題知識(shí)講座五、遇到的問題以及解決辦法LED模塊調(diào)試代碼調(diào)入后得到仿真效果46超聲波測距專題知識(shí)講座五、遇到的問題以及解決辦法③LED顯示模塊的硬件電路連線有問題由于單片機(jī)正常工作后,4位共陽LED能夠全部點(diǎn)亮;而且LED顯示模塊的軟件仿真成功,說明LED顯示模塊的硬件電路連線沒有問題。至此,LED顯示模塊的故障被排除。

47超聲波測距專題知識(shí)講座五、遇到的問題以及解決辦法2.LED全部顯示8888的問題把HEX程序燒進(jìn)單片機(jī)后,連接電源,發(fā)現(xiàn)LED全部顯示8888??赡苁荘0口沒有接上拉電阻(上拉電阻的阻值一般在1K-10K之間)。因?yàn)椤皬腜0口輸出時(shí),必須外接上拉電阻才能有高電平輸出?!保ㄒ妴纹瑱C(jī)課本p20)。如果P0口不接上拉電阻,那么段選一直是低電平,而采用的是數(shù)碼管的動(dòng)態(tài)掃描,看上去,位選端相當(dāng)于一直高電平,即:數(shù)碼

溫馨提示

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

評(píng)論

0/150

提交評(píng)論