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