一種高精度超聲波測距 系統(tǒng)研究
引言
隨著科學(xué)技術(shù)的快速發(fā)展,超聲波在測距儀中的應(yīng)用越來越廣。但就目前技術(shù)水平來說,人們可以具體利用的測距技術(shù)還十分有限,因此,超聲波測距還是一個(gè)正在蓬勃發(fā)展而又有無限前景的技術(shù)及產(chǎn)業(yè)領(lǐng)域。為了能順利地完成汽車的停放,應(yīng)用測距電路能更準(zhǔn)確、即時(shí)地得到汽車與障礙物的距離。
智能機(jī)器人進(jìn)入人們的家庭不再是科幻片里面的情節(jié),現(xiàn)在已經(jīng)有很多機(jī)器人開始普及,如智能清潔機(jī)器人、智能防盜機(jī)器人等。而這些機(jī)器人是需要感覺周圍的環(huán)境來做出判斷的,測距系統(tǒng)就能發(fā)揮很大的作用。因此,設(shè)計(jì)高穩(wěn)定性、高精度的超聲波測距儀就顯得特別重要。
1超聲波測距原理
和蝙蝠探測障礙物的方法一樣,用超聲波測距時(shí),先由超聲波測距儀向前方發(fā)射超聲波,超聲波在空氣中直線傳播。當(dāng)前方有障礙物時(shí),超聲波發(fā)生反射并被接收端接收。這樣,通過比較反射回來的超聲波與發(fā)射超聲波的時(shí)間差,就可以計(jì)算出測距儀到阻礙物之間的距離。
反射超聲波與發(fā)射超聲波的時(shí)間差比較容易獲取,且計(jì)算只與超聲波在空氣中的傳播速度有關(guān),因此,這種方法將得到普遍應(yīng)用。若超聲波以速度v在空氣中傳播,遇到物體后反射,由接收器接收的時(shí)間差為t,那么,由s=vt/2,就可以計(jì)算出所測距離。但是,超聲波也是一種聲波,其聲速v與溫度有關(guān),如果測距精度要求很高,就需要通過溫度補(bǔ)償?shù)姆椒右孕U?
2系統(tǒng)的總體設(shè)計(jì)
超聲波測距系統(tǒng)的整個(gè)系統(tǒng)由單片機(jī)來控制。啟動(dòng)測量時(shí),由單片機(jī)發(fā)出一個(gè)控制信號去觸發(fā)發(fā)射電路,使發(fā)射電路起振,同時(shí)驅(qū)動(dòng)超聲波發(fā)射器發(fā)射出一串超聲波脈沖(六個(gè)脈沖),并同時(shí)啟動(dòng)單片機(jī)的定時(shí)計(jì)數(shù)器開始計(jì)數(shù),也就是開始測量渡越時(shí)間。當(dāng)這些脈沖到達(dá)被測目標(biāo)時(shí),將發(fā)生反射,并經(jīng)空氣傳播被超聲波接收器接收,再由放大電路進(jìn)行選頻放大。接收到的第一個(gè)脈沖去觸發(fā)單片機(jī)的外部中斷,使定時(shí)
計(jì)數(shù)器停止計(jì)數(shù),這樣,根據(jù)計(jì)數(shù)器的值就可以算出時(shí)間。
2.1系統(tǒng)硬件設(shè)計(jì)
2.1.1超聲波發(fā)射電路
超聲波傳感器利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化叫其發(fā)射電路原理圖如圖1所示。該發(fā)射電路主要由反相器74LS04和超聲波發(fā)射換能器構(gòu)成。單片機(jī)的P2.1端口輸出的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個(gè)電極,用這種推挽形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采用兩個(gè)反向器并聯(lián),可以提高驅(qū)動(dòng)能力。上位電阻RM一方面可以提高反向器74LS04輸出高電平的驅(qū)動(dòng)能力;另一方面,還可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間。
2.1.2超聲波接收電路
集成電路CX20106A是一款紅外線檢波接收的專用芯片回,常用于電視機(jī)紅外遙控接收器??紤]到紅外遙控常用的38kHz載波頻率與測距的40kHz超聲波頻率較為接近,設(shè)計(jì)時(shí)可以利用它制作超聲波檢測接收電路,圖2所示就是本文的超聲波接收電路。實(shí)驗(yàn)證明,利用CX20106A接收超聲波,具有很好的靈敏度和較強(qiáng)的抗干擾能力。另外,適當(dāng)更改電容C4的大小,還可以改變接收電路的靈敏度和抗干擾能力。
圖2超聲波接收電路
2.2超聲波測距的軟件設(shè)計(jì)
超聲波測距的原理為超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)
57603Hz的超聲波信號后,將立即啟動(dòng)定時(shí)計(jì)數(shù)器和外部中斷。當(dāng)這個(gè)超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收。此時(shí),CX20106A會(huì)產(chǎn)生一個(gè)負(fù)脈沖觸動(dòng)外部中斷,同時(shí)讀出并保存計(jì)時(shí)器寄存器的值,關(guān)閉外部中斷,同時(shí)測量溫度,計(jì)算超聲波速度、測量距離。如果測量距離大于23cm或是沒有接收到回波,就再發(fā)送40kHz的超聲波驅(qū)動(dòng)脈沖,重新測量。
然后再根據(jù)前面所述原理計(jì)算距離,計(jì)算公式為:
5=7(5x100)/2—0.75⑴
式中,S為所測距離,單位為cm;為發(fā)射超聲波與接收超聲波的時(shí)間差,單位為s;s為超聲波速度,單位為m/s,由于發(fā)射超聲波與接收超聲波期間,超聲波傳播的距離為測量距離的兩倍,所以要除以2;后面的0.75為實(shí)驗(yàn)得出的補(bǔ)償值。其補(bǔ)償公式如下:
5=331.4+0.61?emp(2)
式中,4mp為環(huán)境溫度;為超聲波傳播速度,單位為m/s。
3系統(tǒng)測試
筆者通過實(shí)驗(yàn)對該超聲波測距系統(tǒng)進(jìn)行了實(shí)驗(yàn),表1所列是實(shí)驗(yàn)所得出的實(shí)際測量數(shù)據(jù)。
表1超聲波距 |
cm |
||||
實(shí)際距離 |
測量距離 |
測距誤差 |
實(shí)際距離 |
測量距離 |
測距誤差 |
2 |
2.28 |
-0.28 |
40 |
39.87 |
0.13 |
8 |
7.93 |
0.07 |
50 |
49.82 |
0.18 |
12 |
11.94 |
0.06 |
90 |
89.71 |
0.29 |
14 |
13.92 |
0.08 |
100 |
99.45 |
0.55 |
18 |
17.94 |
0.06 |
110 |
111.28 |
0.72 |
4結(jié)語
本文對低成本、高精度超聲波測距儀進(jìn)行了全面的介紹,給出了超聲波測距的軟硬件設(shè)計(jì)方法。采用AT89S52單片機(jī)作為核心處理單元來降低整體儀器的體積和成本。本設(shè)計(jì)使用74LS04并以推挽形式驅(qū)動(dòng)超聲波發(fā)射探頭,同時(shí)選用CX20106A對接收信號進(jìn)行放大、濾波、檢波并輸出負(fù)脈沖,完成超聲波測距儀自動(dòng)控制,由超聲波驅(qū)動(dòng)頻率檢測距離。最后在單片機(jī)的控制下,將測量距離和環(huán)境溫度通過液晶屏顯示出來。