<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

一種基于單片機設計的高精度超聲波測距系統的改進(jìn)

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


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

3.3 溫度補償

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

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

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

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

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

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

3.5 微分電路和過(guò)零檢測

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

4 系統軟件設計

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

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

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

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>