新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于單片機(jī)設(shè)計(jì)的高精度超聲波測(cè)距系統(tǒng)的改進(jìn)

一種基于單片機(jī)設(shè)計(jì)的高精度超聲波測(cè)距系統(tǒng)的改進(jìn)

作者: 時(shí)間:2014-01-07 來源:網(wǎng)絡(luò) 收藏


事先通過實(shí)驗(yàn),在0~3米的距離內(nèi),每隔30厘米測(cè)量一次,把較為理想的放大倍數(shù)換算成數(shù)字電位器的抽頭位置,并把這些位置參數(shù)列表并固化到E2PROM中。單片機(jī)以計(jì)時(shí)器中斷的方式來設(shè)置增益,到了一定時(shí)刻就由內(nèi)部定時(shí)器產(chǎn)生一次中斷,中斷服務(wù)子程序通過查表方式獲得對(duì)應(yīng)的增益,然后通過SPI接口設(shè)置對(duì)應(yīng)增益。

3.3 溫度補(bǔ)償

超聲波在固體中傳播速度最快,在氣體中傳播速度最慢,而且聲速c與溫度有關(guān)[3]。如果環(huán)境溫度變化顯著,必須考慮溫度補(bǔ)償問題??諝庵新曀倥c溫度的關(guān)系可以表示為:
一種基于單片機(jī)設(shè)計(jì)的高精度超聲波測(cè)距系統(tǒng)的改進(jìn)

式中,T為環(huán)境攝氏溫度℃。

為了提高系統(tǒng)的測(cè)量精度,本文設(shè)計(jì)了溫度補(bǔ)償電路。系統(tǒng)采用數(shù)字溫度計(jì)DS1820采集溫度。DS1820是美國(guó)DALAS公司推出的單線串行數(shù)字溫度計(jì),可直接與單片機(jī)連接,并且接線形式簡(jiǎn)單[4],測(cè)量范圍為-55~+125℃,在-10~+85℃范圍內(nèi)測(cè)量精度為0.5℃。傳感器輸出的是用9位二進(jìn)制編碼表示的溫度值。根據(jù)實(shí)際溫度的值,利用公式(3)可計(jì)算補(bǔ)償聲速。

3.4 絕對(duì)值變換和包絡(luò)電路

本系統(tǒng)的絕對(duì)值變換和包絡(luò)電路原理圖如圖4所示。

一種基于單片機(jī)設(shè)計(jì)的高精度超聲波測(cè)距系統(tǒng)的改進(jìn)
絕對(duì)值變換電路中,當(dāng)輸入信號(hào)Vin為負(fù)時(shí),D7導(dǎo)通,U13B為倒相放大器;Vin為正時(shí),D8導(dǎo)通,U13A為非倒相放大器。無論輸入信號(hào)的電壓極性如何,其輸出總是正電壓,且幅值不變[5]。如前所述,回波信號(hào)經(jīng)過絕對(duì)值變換電路以后,負(fù)電壓被翻轉(zhuǎn)為正電壓,且頻率倍增,然后通過二極管D9、電容C56組成的檢波電路對(duì)新波形進(jìn)行包絡(luò)。根據(jù)超聲波回波起伏特性,頻率倍增后包絡(luò)曲線更加平滑。在本電路中,檢波電路中的電容值要匹配合適,絕對(duì)值變換電路中集成運(yùn)算放大器選用TL082。波形包絡(luò)原理如圖5所示。
一種基于單片機(jī)設(shè)計(jì)的高精度超聲波測(cè)距系統(tǒng)的改進(jìn)

3.5 微分電路和過零檢測(cè)

信號(hào)通過微分電路,電壓峰值點(diǎn)處取導(dǎo)數(shù)為零,過零檢測(cè)電路在信號(hào)的過零點(diǎn)時(shí)刻發(fā)送脈沖信號(hào)給單片機(jī)外部中斷INT0,單片機(jī)停止計(jì)時(shí),從而捕捉到回波信號(hào)到達(dá)時(shí)刻。包絡(luò)信號(hào)微分和過零檢測(cè)原理如圖6所示。
一種基于單片機(jī)設(shè)計(jì)的高精度超聲波測(cè)距系統(tǒng)的改進(jìn)

4 系統(tǒng)軟件設(shè)計(jì)

本測(cè)距系統(tǒng)軟件包括主程序、溫度采集子程序、發(fā)射子程序、計(jì)算子程序、數(shù)碼顯示子程序、外部中斷子程序和定時(shí)器中斷子程序。主程序完成初始化后調(diào)用發(fā)射子程序,由P1.0口發(fā)射1個(gè)脈沖,驅(qū)動(dòng)超聲波傳感器發(fā)射超聲波,并關(guān)外部中斷,計(jì)數(shù)器T0、T1同時(shí)開始計(jì)時(shí);為防止虛假回波的干擾,在延時(shí)一段時(shí)間后,開中斷,此時(shí)判斷計(jì)數(shù)器T1有否溢出中斷,單片機(jī)根據(jù)不同的時(shí)間,以查表的方式設(shè)置自動(dòng)增益控制電路的增益;當(dāng)有外部中斷信號(hào)時(shí),單片機(jī)就停止T0的計(jì)時(shí),計(jì)算出渡越時(shí)間t并存儲(chǔ)到E2PROM中;然后調(diào)用測(cè)溫子程序,采集時(shí)的環(huán)境溫度,并換算出準(zhǔn)確的聲速c,存儲(chǔ)到E2PROM中;單片機(jī)再調(diào)用計(jì)算子程序,計(jì)算出傳感器到目標(biāo)物體之間的距離,最后把測(cè)量結(jié)果存儲(chǔ)并通過數(shù)碼管電路顯示出來,完成一次測(cè)量。主程序流程如圖7。

一種基于單片機(jī)設(shè)計(jì)的高精度超聲波測(cè)距系統(tǒng)的改進(jìn)
系統(tǒng)采用新的設(shè)計(jì)方法,并在實(shí)驗(yàn)室環(huán)境中進(jìn)行測(cè)量,測(cè)量精度較高。由于采用式的測(cè)距電路,換能器振子必須在余震消除后才能進(jìn)行接收,因此該測(cè)距系統(tǒng)有很大的盲區(qū)。因?yàn)殡娐返难舆t及包絡(luò)峰值點(diǎn)后移,導(dǎo)致測(cè)量計(jì)時(shí)有所增大,進(jìn)而導(dǎo)致測(cè)量數(shù)據(jù)的偏大。本系統(tǒng)采用前置放大器、AGC電路、過零檢測(cè)等電路對(duì)接收信號(hào)進(jìn)行處理,取得了良好的效果。在近距離測(cè)量范圍內(nèi),這種方法可以達(dá)到厘米級(jí)。

絕對(duì)值編碼器相關(guān)文章:絕對(duì)值編碼器原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉