安全避障是移動機(jī)器人研究的一個基本問題,。障礙物與機(jī)器人之間距離的獲得是研究安全避障的前提,,超聲波傳感器以其信息處理簡單,、價格低廉、硬件容易實(shí)現(xiàn)等優(yōu)點(diǎn),,被廣泛用作測距傳感器,。本超聲波測距系統(tǒng)選用了SensComp公司生產(chǎn)的Polaroid 6500系列超聲波距離模塊和600系列傳感器,微處理器采用了ATMEL公司的AT89C51,。本文對此超聲波測距系統(tǒng)進(jìn)行了詳細(xì)的分析與介紹,。
1、 超聲波傳感器及其測距原理
超聲波是指頻率高于20KHz的機(jī)械波[1],。為了以超聲波作為檢測手段,,必須產(chǎn)生超生波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,,習(xí)慣上稱為超聲波換能器或超聲波探頭,。超聲波傳感器有發(fā)送器和接收器,但一個超聲波傳感器也可具有發(fā)送和接收聲波的雙重作用,。超聲波傳感器是利用壓電效應(yīng)[1]的原理將電能和超聲波相互轉(zhuǎn)化,,即在發(fā)射超聲波的時候,將電能轉(zhuǎn)換,,發(fā)射超聲波,;而在收到回波的時候,則將超聲振動轉(zhuǎn)換成電信號,。
超聲波測距的原理一般采用渡越時間法TOF(time of flight)[2],。首先測出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離,,即
1,、硬件電路設(shè)計
我們設(shè)計的超聲波測距系統(tǒng)由Polaroid 600系列傳感器、Polaroid 6500系列超聲波距離模塊和AT89C51單片機(jī)構(gòu)成,。
2.1 Polaroid 600系列傳感器
此超聲波傳感器是集發(fā)送與接收一體的一種傳感器,。傳感器里面有一個圓形的薄片,薄片的材料是塑料,,在其正面涂了一層金屬薄膜,,在其背面有一個鋁制的后板。薄片和后板構(gòu)成了一個電容器,,當(dāng)給薄片加上頻率為49.4kHz,、電壓為300VAC pk-pk的方波電壓時,薄片以同樣的頻率震動,,從而產(chǎn)生頻率為49.4kHz的超聲波,。當(dāng)接收回波時,Polaroid 6500內(nèi)有一個調(diào)諧電路,,使得只有頻率接近49.4kHz的信號才能被接收,,而其它頻率的信號則被過濾,。
Polaroid 600超聲傳感器發(fā)送的超聲波具有角度為30度的波束角[3],如圖1所示:
圖1 波束角
超聲波傳感器既可以作為發(fā)射器又可以作為接收器,,傳感器用一段時間發(fā)射一串超聲波束,,只有待發(fā)送結(jié)束后才能啟動接收,設(shè)發(fā)送波束的時間為D,,則在D時間內(nèi)從物體反射回的信號就無法捕捉,;另外,超聲波傳感器有一定的慣性,,發(fā)送結(jié)束后還留有一定的余振,,這種余振經(jīng)換能器同樣產(chǎn)生電壓信號,擾亂了系統(tǒng)捕捉返回信號的工作,。因此,,在余振未消失以前,,還不能啟動系統(tǒng)進(jìn)行回波接收,,以上兩個原因造成了超聲傳感器具有測量一定的測量范圍。此超聲波最近可以測量37cm,。
2.2 Polaroid 6500系列超聲波距離模塊
Polaroid 6500系列超聲波距離模塊的硬件電路如圖2所示:
圖2 Polaroid 6500系列超聲波距離模塊的硬件電路
TL851是一個經(jīng)濟(jì)的數(shù)字12步測距控制集成電路,。內(nèi)部有一個420KHz的陶瓷晶振,6500系列超聲波距離模塊開始工作時,,在發(fā)送的前16個周期,,陶瓷晶振被8.5分頻,形成49.4KHz的超聲波信號,,然后通過三極管Q1和變壓器T1輸送至超聲波傳感器,。發(fā)送之后陶瓷晶振被4.5分頻,以供單片機(jī)定時用,。TL852是專門為接收超聲波而設(shè)計的芯片,。因?yàn)榉祷氐某暡ㄐ盘柋容^微弱,需要進(jìn)行放大才能被單片機(jī)接收,,TL852主要提供了放大電路,,當(dāng)TL852接收到4個脈沖信號時,就通過REC給TL851發(fā)送高電平表明超聲波已經(jīng)接收,。
2.3 AT89C51單片機(jī)
本系統(tǒng)采用AT89C51來實(shí)現(xiàn)對Polaroid 600系列傳感器和Polaroid 6500系列超聲波距離模塊的控制,。單片機(jī)通過P1.0引腳經(jīng)反相器來控制超聲波的發(fā)送,然后單片機(jī)不停的檢測INT0引腳,,當(dāng)INT0引腳的電平由高電平變?yōu)榈碗娖綍r就認(rèn)為超聲波已經(jīng)返回,。計數(shù)器所計的數(shù)據(jù)就是超聲波所經(jīng)歷的時間,通過換算就可以得到傳感器與障礙物之間的距離,。 超聲波測距的硬件示意圖如圖3所示:
圖3 超聲波測距的硬件示意圖
3,、系統(tǒng)軟件設(shè)計
系統(tǒng)程序流程圖如圖4所示:
圖4超聲波測距程序流程圖
工作時,,微處理器AT89C51先把P1.0置0,啟動超聲波傳感器發(fā)射超聲波,,同時啟動內(nèi)部定時器T0開始計時,。由于我們采用的超聲波傳感器是收發(fā)一體的,所以在發(fā)送完16個脈沖后超聲波傳感器還有余震,,為了從返回信號識別消除超聲波傳感器的發(fā)送信號,,要檢測返回信號必須在啟動發(fā)射信號后2.38ms才可以檢測,這樣就可以抑制輸出得干擾,。當(dāng)超聲波信號碰到障礙物時信號立刻返回,,微處理器不停的掃描INT0引腳,如果INT0接收的信號由高電平變?yōu)榈碗娖?,此時表明信號已經(jīng)返回,,微處理器進(jìn)入中斷關(guān)閉定時器。再把定時器中的數(shù)據(jù)經(jīng)過換算就可以得出超聲波傳感器與障礙物之間的距離,。
4,、實(shí)驗(yàn)數(shù)據(jù)處理
由于受環(huán)境溫度、濕度的影響,,超聲傳感器的測量值與實(shí)際值總有一些偏差,,表1列出了本超聲測距系統(tǒng)測量值與對應(yīng)的實(shí)際值:
表1超聲測距系統(tǒng)測量值與實(shí)際值 單位:cm
從表中的數(shù)據(jù)可以看出,測量值總是比實(shí)際值大出大約7cm,,經(jīng)過分析原因主要有三個方面:第一方面,,超聲波傳感器測得的數(shù)據(jù)受環(huán)境溫度的影響;第二方面,,指令運(yùn)行需占用一定的時間而使得測量的數(shù)據(jù)偏大,;第三方面,為了防止其他信號的干擾,,單片機(jī)開始計數(shù)時,,驅(qū)動電路發(fā)送16個脈沖串。對于單個回聲的方式,,當(dāng)驅(qū)動電路接收到碰到障礙物返回的第四個脈沖時就停止計數(shù),,所以最終測得的時間比實(shí)際距離所對應(yīng)的時間多出四個脈沖發(fā)送的時間。為了減小測量值與實(shí)際值的偏差,,我們采用最小二乘法[4~5]對表1的數(shù)據(jù)進(jìn)行修正,。經(jīng)過擬合,我們得到下面的方程:
y=1.0145x-9.3354? (其中:y為實(shí)際值,,x為測量值)
修正后本超聲波測距系統(tǒng)測量值與實(shí)際值的對應(yīng)關(guān)系如表2所示:
表2 修正后超聲測距系統(tǒng)測量值與實(shí)際值 單位:cm
從修正后的數(shù)據(jù)我們可以看出,,系統(tǒng)的測量誤差在±2%以內(nèi),滿足我們的測量要求,。
5,、結(jié)論
利用超聲波傳感器進(jìn)行測距,,其中主要的就是要保證在電路設(shè)計上一定要滿足電路工作的可靠性、穩(wěn)定性,。經(jīng)過實(shí)驗(yàn)與分析,,我們認(rèn)為用6500系列距離模塊和600系列超聲波傳感器進(jìn)行距離的測量簡單、經(jīng)濟(jì),、可靠,,測得數(shù)據(jù)的誤差比較小。