《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 超聲波測距系統(tǒng)中單片機的應用
超聲波測距系統(tǒng)中單片機的應用
摘要: 本文設計的超聲波測距系統(tǒng)采用了單片機編程技術(shù),,配合硬件完成了系統(tǒng)的要求,,其精度能滿足大部分的工程需要。與傳統(tǒng)的測距系統(tǒng)相比,,具有結(jié)構(gòu)簡單,、價格便宜,、移植性好等特點。
Abstract:
Key words :

引言

  在自主行走機器人系統(tǒng)中,,機器人要實現(xiàn)在未知和不確定環(huán)境下行走,,必須實時采集環(huán)境信息,以實現(xiàn)避障和導航,,這必須依靠能實現(xiàn)感知環(huán)境信息的傳感器系統(tǒng)來實現(xiàn),。視覺、紅外,、激光,、超聲波" title="超聲波">超聲波等傳感器都在行走機器人中得到廣泛應用。由于超聲波測距" title="測距">測距方法設備簡單,、價格便宜,、體積小、設計簡單,、易于做到實時控制,,并且在測量距離、測量精度等方面能達到工業(yè)實用的要求,,因此得到了廣泛的應用,。本文所介紹的機器人采用三方超聲波測距系統(tǒng),該系統(tǒng)可為機器人識別其運動的前方、左方和右方環(huán)境而提供關(guān)于運動距離的信息,。

  1 超聲波測距原理

  超聲波發(fā)生器內(nèi)部由兩個壓電片和一個共振板組成,。當它的兩極外加脈沖信號,且其頻率等于壓電晶片的固有振蕩頻率時,,壓電晶片將會發(fā)生共振,,并帶動共振板振動,便產(chǎn)生超聲波,。反之,,如果兩極間未加外電壓,當共振板接收到超聲波時,,就成為超聲波接收器,。超聲波測距一般有兩種方法:①取輸出脈沖的平均電壓值,該電壓與距離成正比,,測量電壓即可測量距離,;②測量輸出脈沖的寬度,即發(fā)射超聲波與接收超聲波的時間間隔t,根據(jù)被測距離s=vt?2來得到測量距離,,由于超聲波速度v與溫度有關(guān),,所以如果溫度變化比較大,應通過溫度補償?shù)姆椒右孕U?/font>

  本測量系統(tǒng)采用第二種方法,,由于測量精度要求不是特別高,,所以可以認為溫度基本不變。

  本系統(tǒng)以PIC16F877單片機" title="單片機">單片機為核心,,通過軟件編程實現(xiàn)其對外圍電路的實時控制,,并提供給外圍電路所需的信號,包括頻率振動信號,、數(shù)據(jù)處理信號等,,從而簡化了外圍電路,且移植性好,。系統(tǒng)硬件電路方框圖見圖1,。

  由于本系統(tǒng)只需要清楚機器人前方、左方,、右方是否有障礙物,,并不需要知道障礙物與機器人的具體距離,因此不需要顯示電路,,只需要設定一距離閥值,,使障礙物與機器人的距離達到某一值時,單片機控制機器人電機停轉(zhuǎn),,這可通過軟件編程實現(xiàn),。

  2 超聲波發(fā)射電路

  超聲波的中心頻率為40kHz,該頻率可以通過以下程序產(chǎn)生(部分源程序):

  2.1 超聲波發(fā)射電路

  超聲波發(fā)射電路以PIC16F877為核心,當單片機上電時,,單片機從RA0口產(chǎn)生40kHz的超聲波信號,,但是此時該信號無法通過與非門進入放大電路使超聲波發(fā)射頭發(fā)射超聲波,只有閉合開關(guān)S1時,,從RA1口發(fā)射出一門控信號,,該信號的頻率為4kHz,同時啟動單片機內(nèi)部的定時器TMR1,開始計數(shù)。該門控信號每發(fā)射一個周期的波形,,超聲波就會發(fā)射10個完整的波形,,這可由它們的頻率得出。超聲波的周期為1(40kHz)=01025ms,而門控信號的周期為1(4kHz)=0125ms,。最后根據(jù)s=vt2求出障礙物與移動機器人的距離,。當超聲波接收頭收到反射回來的超聲波時,計數(shù)器停止計數(shù),,時間t可以根據(jù)計數(shù)器的計數(shù)與門控信號的周期求出,。RA2口接RS觸發(fā)器,RS觸發(fā)器可以自動控制超聲波的發(fā)射和停止,。本系統(tǒng)的電路還包括人工復位電路,,由單片機的MCLR引腳接S2來控制,超聲波發(fā)射電路圖見圖2,。

  2.2 門控電路(RS觸發(fā)器)

  為實現(xiàn)對超聲波發(fā)射和接收的自動控制,,須在電路中加一門控電路,該門控信號頻率為4kHz,如把輸出脈沖作為閘門信號,,讓已知頻率fc的脈沖恰好通過閘門,,那么t=NTc,其中,Tc為已知脈沖的周期,,N為脈沖的個數(shù),。

  門控電路由RS觸發(fā)器組成,當輸入端R=1(S=0)時復位,,即輸出端Q=0;當R=0(S=1)時置位,,即Q=1。RS觸發(fā)器與單片機的RA2口相連,。

  2.3 超聲波放大電路

  超聲波放大電路由三極管等組成,,由于單片機RA口最多只有20mA~25mA上拉電流,而超聲波發(fā)射器最小需要60mA的電流,,所以在與非門后加一級放大電路來放大電流,,以完成超聲波的發(fā)射。超聲波放大發(fā)射電路見圖3,。

  3 超聲波接收電路

  3.1 超聲波接收放大電路

  由于超聲波接收頭接收到的超聲波信號很微弱,,所以在其后需加一超聲波接收放大電路,。該電路采用兩個集成運放,設計為兩級,,兩級都為同相輸入,,因為同相輸入的電壓放大倍數(shù)為1+RfR,所以每一級的放大倍數(shù)為10,兩級放大倍數(shù)接近100倍,這樣后續(xù)電路就可以很容易地檢測到輸入的信號,。集成運放采用雙電源供電,,超聲波接收放大電路見圖4。

  3.2 信號濾波電路

  從信號放大電路出來的聲波帶有一定的干擾,,為了去除干擾信號,,需要一濾波電路,信號濾波電路選用帶通濾波器電路,,使其中心頻率為40kHz,、帶寬為2kHz,外加一過零比較器,使輸出信號轉(zhuǎn)化為方波信號,。信號濾波電路見圖5,。

  3.3 信號整形電路

  從信號濾波電路出來的方波信號很不規(guī)則,故其后加一整形電路,,整形電路由兩級非門串聯(lián),,并聯(lián)一電阻組成,整形后再送單片機進行處理,,信號整形電路見圖6,。

  4 軟件程序設計

  軟件采用模塊化設計,由主程序,、發(fā)射子程序等組成,,軟件程序框圖見圖7。

  5 結(jié)語

  本文設計的超聲波測距系統(tǒng)采用了單片機編程技術(shù),,配合硬件完成了系統(tǒng)的要求,,其精度能滿足大部分的工程需要。與傳統(tǒng)的測距系統(tǒng)相比,,具有結(jié)構(gòu)簡單,、價格便宜、移植性好等特點,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。