新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 機器人超聲測距數(shù)據(jù)的采集與處理

機器人超聲測距數(shù)據(jù)的采集與處理

作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

摘要:介紹一種基于單片機控制的三種超聲測距系統(tǒng)的構(gòu)成、工作原理和誤差分析。利用本系統(tǒng)及其設(shè)計方法可以作為農(nóng)業(yè)機器人輔助視覺系統(tǒng)。

本文引用地址:http://m.butianyuan.cn/article/255681.htm

關(guān)鍵詞:機器人 超聲波測距 單片機 串行通訊 數(shù)據(jù)采集

機器人作為一種能代替人工作業(yè)的智能機器,有著廣泛的應(yīng)用前景。其關(guān)鍵技術(shù)取決于機器人視覺系統(tǒng)設(shè)計的精確與否。超聲波傳感器以其價格低廉、硬件容易實現(xiàn)等優(yōu)點,被廣泛用作測距傳感器,實現(xiàn)定位及環(huán)境建模。越聲波測距作為輔助視覺系統(tǒng)與其他視覺系統(tǒng)(如CCD圖象傳感器)配合使用,可實現(xiàn)整個視覺功能[7]。

超聲測距原理很簡單,一般采用渡越時間法:即D=CT/2,其中D為機器人與視測物之間的距離,C為聲波在介質(zhì)中的傳播速度(C=331.4乘以根呈號(1+t/273)m/s,t為攝氏溫度),T為超聲發(fā)射到返回的時間間隔。本超聲測距系統(tǒng)共有3對超聲換能器,分別放在智能移動車的上、中、下三個位置上。本系統(tǒng)采用一片89C51單片機對三路超聲信號進行循環(huán)采集,并將數(shù)據(jù)送到數(shù)據(jù)緩沖區(qū)存儲[1,2]。上位機采用PC-586。當上位機需要數(shù)據(jù)時,向下位機發(fā)出申請,下位機通過中斷的方式向上位機發(fā)送數(shù)據(jù)。上位機與下位機通過RS-232串行口相連。

1 系統(tǒng)硬件設(shè)計

為了能在測量距離的同時判斷出物體的大致形狀,應(yīng)設(shè)計成多傳感器測距系統(tǒng)。經(jīng)分析可知,頻率為40kHz左右的超聲波在空氣中傳播的效率最佳;同時,為了方便處理,發(fā)射的超聲濾被調(diào)制成40kHz左右、具有一定間隔的調(diào)制脈沖波信號。該測距系統(tǒng)結(jié)構(gòu)框圖如圖1所示。由圖可見,測距系統(tǒng)由超聲波發(fā)送、接收、時間計測、微機控制和溫度測量五個部分組成。

1.1 超聲波發(fā)送

這部分包括超聲波信號的產(chǎn)生、多路選擇及換能器等環(huán)節(jié)。

超聲波發(fā)送脈沖如圖2所示。40kHz的超聲波發(fā)送脈沖信號由單片機89C51的P1.0口送出,其脈沖寬度及脈沖間隔均由軟件控制。脈沖寬度約為125μs~200μs,即在一個調(diào)制脈沖內(nèi)包5~8個40kHz的方波。脈沖發(fā)送間隔取決于要求測量的最大距離及測量通道數(shù)。本系統(tǒng)有三路測距通道,采用分時工作,按上、中、下的順序循環(huán)測距。若在有效測距范圍內(nèi)有被測物的話,則在后一路超聲波束發(fā)出之前應(yīng)當接收到前一路發(fā)同的反射波,否則認為前一路無被測物。因此按有效測距范圍可以估算出最短的脈沖間隔發(fā)送時間。例如:最大測距范圍為5m時,脈沖間隔時間t=2s/v=2×5/340≈30ms,實際應(yīng)取t≥30ms。

發(fā)送的超聲波脈沖經(jīng)多路選擇開關(guān)CD4052按序分別送到上、中、下三路發(fā)送轉(zhuǎn)換能器上。采用緩沖器CD4050是考慮用其兩個門來驅(qū)動一路發(fā)送換能器,以加大發(fā)射驅(qū)動能力。

1.2 超聲波接收

這部分由接收換能器、多路選擇開關(guān)、比較及控制等環(huán)節(jié)組成。由于在距離較遠的情況下,聲的回波很弱,因而轉(zhuǎn)換為電信號的幅值也較小,為此要求將信號放大60萬倍左右。采有三級放大:前兩級種放大100倍,采用高速精密放大器LM318,其帶寬為15MHz,放大倍數(shù)為100倍時,能充分滿足要求;第三級采用LF353運算放大器,帶寬為4MHz,對于62倍的放大倍數(shù),能充分滿足條件[3,6]。放大后的交流信號經(jīng)光電隔離送入比較器,比較器的作用是將交流信號整形輸出一個方波信號,此方波信號上升沿使D觸發(fā)器觸發(fā),向CPU發(fā)中斷申請。在中斷服務(wù)程序中,讀取時間計數(shù)器的計數(shù)值,并結(jié)合溫度換算出的速度算出發(fā)射到接收的距離。圖3給出了一路超聲波接收電路原理圖(略去多路選擇開關(guān))。

1.3 時間計測

超過波從發(fā)射到接收的間隔時間的測定是由單片機內(nèi)部的計數(shù)器T1來完成的。在調(diào)試過程中出現(xiàn)的發(fā)送部分與接收部分的直接串擾問題是由于換能器之間的距離不大,有部分聲波未經(jīng)被測物就直接繞射到接收換能器上。從發(fā)射開始一直到“虛假反射波”結(jié)束[5]這段時間,通過控制觸發(fā)器(74LS74)不能觸發(fā),從而不會發(fā)中斷申請,可有效躲避干擾,但也會形成所謂的“盲區(qū)”。本系統(tǒng)的盲區(qū)約為20cm左右。

1.4 微機控制部分

由單片機控制的多路選擇開在來決定上、中、下三個通道分時工作的順序。CD4052的X側(cè)選擇發(fā)送通道,Y側(cè)選擇接收通道,由89C51的P1.1和P1.2按順序發(fā)出通道選擇信號,接到CD4052的A、B端,使發(fā)送通道與接收通道一一對應(yīng)地接能。

由于受環(huán)境溫度以及超聲固有寬波束角等因素的影響,超聲傳感器所測量的值與實際值總有一些誤差。本超聲測距系統(tǒng)采用曲線擬合的最小二乘法對測量數(shù)據(jù)進行擬合,使其精度達到±4cm。

2 系統(tǒng)軟件設(shè)計

2.1 超聲數(shù)據(jù)的采集與處理軟件

本系統(tǒng)軟件分兩部分:主程序和中斷服務(wù)程序。主程序完成系統(tǒng)初始化、選擇能路號、控制發(fā)射和接收超聲波等。主程序流程圖如圖4所示。

中斷服務(wù)程序包括內(nèi)部T0中斷和外部INT0、INT1中斷服務(wù)程序。T0設(shè)置為30ms中斷一次,其任務(wù)就是每隔30ms產(chǎn)生5~8個40kHz的方波作為超聲脈沖并按序送到三個通道,即產(chǎn)生如圖2所示的超聲波發(fā)射脈沖,圖2也給出了一個通道的工作時序圖。T0中斷服務(wù)程序流程圖如圖5所示。INT0中斷子程序讀取A/D轉(zhuǎn)換結(jié)果,并將相應(yīng)數(shù)據(jù)值轉(zhuǎn)換為環(huán)境溫度值;INT1停止T0、T1計數(shù),根據(jù)T1內(nèi)容計算時間T,并進行最終距離的計算。先計算超聲波傳播速度:C=331.4×(根號1+t/273),再計算距離:D=CT/2,并將計算結(jié)果送入緩沖區(qū)以備通訊。T1工作在方式2,并設(shè)計成門控方式。

2.2 串行通訊程序

為了不影響下拉機完成其他工作,本系統(tǒng)采用下位機以中斷的方式向上位機發(fā)送測距數(shù)據(jù),在測距主程序中開串行口中斷。進入中斷程序后,仍采用查詢方式發(fā)送數(shù)據(jù)。

上位機(PC-586)以子程序的形式給出接收程序。若系統(tǒng)需要新的測距值時,就調(diào)用一次接收子程序。接收子程序框圖如圖6所示。接收子程序收到一個數(shù)據(jù)后,判斷數(shù)據(jù)傳輸是否有錯,若有錯就向下位機發(fā)“01”命令,下位機收到此命令后,則重表發(fā)送;若傳輸過程無錯,向下位機發(fā)送“00”命令,下位機則繼續(xù)發(fā)送下一個數(shù)據(jù)。

3 誤差分析

本系統(tǒng)最大測距誤差在8cm左右,測距的盲區(qū)為20cm。測距誤差主要來源于以下幾個方面:

(1)超聲波波束對探測目標的入射角的影響;

(2)超聲波回波聲強與待測距離的遠近有直接關(guān)系,所以實際測量時,不一定是第一個回波的過零點觸發(fā);

(3)超聲波傳播速度對測距的影響。穩(wěn)定準確的超聲波傳播速度是保證測量精度的必要條件,波的傳播速度取決于傳播媒質(zhì)的特性。傳播媒質(zhì)的溫度、壓力、密度對聲速都將產(chǎn)生直接的影響。因此需對聲速加以修正。對于測距而言,引起聲速變化的主要原因是媒質(zhì)溫度的變化。本文采用聲速預(yù)置和媒質(zhì)溫度測量結(jié)合的方法對聲速進行修正,可有效地消除溫度變化對精度的影響。

影響測量誤差的因素很多,還包括現(xiàn)場環(huán)境干擾、時基脈沖頻率等。

本系統(tǒng)硬件簡單、容易實現(xiàn)、測距范圍比較大、測量誤差可以控制在±4cm左右。超聲測距系統(tǒng)向上位機發(fā)送數(shù)據(jù)和下位機的數(shù)據(jù)采集相互獨立,可以同時進行,保證了測距數(shù)據(jù)的實時性。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

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

關(guān)閉