摘要:本文為實現智能小車的避障要求,設計了一套超聲波傳感器測距系統。首先介紹了超聲波傳感器工作原理和應用電路設計,并詳細說明了使用CD4051的簡單電路實現多路超聲波信號的循環發射與接收電路以及接收芯片CX20106的使用情況,最后給出了如何提高精度的方法,從而增強了系統的可靠性。
智能小車,即輪式機器人,是移動機器人的一種,是一個集環境感知、動態決策與規劃、行為控制與執行等多種功能于一體的綜合系統。隨著計算機科學的發展可以通過單片機控制來實現對其行駛方向、啟動、停止以及速度的控制,無需人工干預,操作人員可以通過修改智能小車的控制程序來改變它的行駛方式。移動機器人的避障運動一直是一個重要課題,實現避障的方法主要有超聲波避障、視覺避障、紅外傳感器、激光避障、微波雷達等。目前超聲波避障實現方便,計算簡單,易于做到實時控制,并且在測量精度方面能達到實用的要求,因此成為常用的避障方法。
一、超聲波測距系統組成及工作原理
本系統由STC89C52單片機作為控制系統核心,五路超聲波傳感器分別測量小車左方、左前方、前方、右前方、右方障礙物的距離,并根據所測數據采取相應的避障措施。超聲波傳感器位置如圖1所示。
圖1超聲波傳感器位置設置
超聲波傳感器的工作原理如下:當40KHz的脈沖電信號輸入后,由壓電陶瓷激勵器和諧振片轉換成機械振動,經錐形輻射器將超聲振動信號向外發射出去;發射出的超聲波向空中四面八方直線傳播,遇到障礙物后它可以發生反射;接收器在收到由發射器傳來的超聲波后,使內部的諧振片諧振,通過聲電轉換作用將聲能轉換為電脈沖信號,然后輸入信號放大器,最后驅動執行器使電路動作。
本文采用的是渡越時間法,就是通過檢測發射的超聲波與其遇到障礙物后產生回波之間的時間差Δt,求出障礙物的距離d,計算公式為d=c*Δt2(其中
為超聲波波速,T為環境攝氏溫度)。在使用時,如果溫度變化不大,則可認為聲速是基本不變的,但如果測距精度要求很高,則應通過溫度補償的方法加以校正。
本文應用的是TCT40-10RT接收分體式壓電陶瓷超聲波傳感器,系統框圖如圖2所示。
圖2超聲波測距系統框圖
超聲波發生器產生40kHz的方波,經脈沖調后驅動發射端的超聲波傳感器,發出同頻率的正弦波;在每個調制脈沖到來時,換能器發出8-12個周期的超聲波,同時啟動單片機的計數器定時;超聲波被測量目標反射后由接收端的傳感器轉換為電信號,經處理電路后產生中斷,同時單片機停止計數,然后由計數差計算障礙物的距離。
二、電路設計
(一)超聲波發生電路
圖3超聲波發生器以及信號調制前后對比
根據超聲波傳感器的工作特點,選擇NE555產生40kHz的方波,占空比為50%,電源電壓為5V,脈沖調制由單片機P1.0口控制NE555的復位(RST)引腳實現。P1.0=1時,3腳輸出40kHz的方波,持續8-12個周期(持續周期數若太少,難以正常激勵超聲波探頭,若太多則發射波與反射波容易產生疊加干擾);P1.0=0時,3腳無信號輸出。低電平持續時間由測量距離決定,測量距離越大,低電平持續時間越長(如圖3所示)。
?。ǘ┭h接收、發射電路
循環發射電路主要采用一個多路模擬開關CD4051進行控制發射順序,如圖4所示。INH是控制輸入引腳,該引腳呈邏輯高電平時,所有通道關閉;反之,通道開通狀態受地址選擇端A~C控制。圖4所示控制信號與圖3中的控制信號相同,當為邏輯高電平時,NE555的3腳輸出調制信號,同時經反相器反相后CD4051正常工作。在一路發射器發射完畢后,控制信號輸出低電平復位555,同時反相施加在4051的引腳INH上,關閉所有通道。
圖4超聲波循環發射電路
循環接收電路同樣采用CD4051,電路同接收電路基本相同。接收電路和發射電路采用相同的地址控制信號,即發射組正好與接收組相對應,例如1號發射傳感器與1號接收傳感器相對應,接收端CD4051的INH引腳由單片機P1.2控制,當一路發射器脈沖發射完畢后,經過一定的盲區延時,P1.2輸出低電平,接通相應通道。低電平持續時間與P1.0控制信號相同,如果在控制信號低電平這段時間內沒有檢測到回波信號,則P1.2輸出高電平禁止再接收,如果檢測到回波信號,停止計數器計數,讀取計數值,進入下一通道的發射與接收。
?。ㄈ┙邮仗幚黼娐?/strong>
超聲波接收電路一般由以下幾個部分組成,前置放大、限幅放大、帶通濾波、峰值檢波、施密特整形輸出電路,為了減少干擾又有足夠的放大增益,還能大大簡化電路,使系統更穩定。本文主要采用紅外線接收電路的芯片CX20106,該芯片是日本索尼公司生產的紅外專用集成芯片,也可用于超聲波檢測。
如圖5所示,超聲接發端接收到的信號經電容C4耦合后輸入1端,總增益大小由2腳接收器的電阻和電容決定,通常選用參數為R1=4.7Ψ,C1=1μF,3腳為檢波電容,電容量大為平均值檢波,瞬間相應靈敏度低,若容量小,則為峰值檢波,瞬間相應靈敏度高,但檢波輸出的脈沖寬度變動大,易造成誤動作,推薦參數為3.3μf;5腳與地之間接入一個電阻,改變阻值,可改變載波信號的接收頻率,取R=200kΨ時,f0≈42kHz,若取R=220kΨ,則中心頻率f0≈38kHz;6腳為積分電容,一般取330PF,如果該電容取得太大,會使探測距離變短;7腳為輸出端,它是集電極開路輸出方式,因此該引腳必須接上一個上拉電阻到電源端,推薦阻值為22kΨ;8腳為電源,因此在允許接收的這段時間內如果沒有檢測到回波信號,則是該端輸出為高電平,若有信號時則產生下降。利用這一特點,將7腳輸出信號接至89C52的T2EX,當檢測到障礙物時,7腳輸出一個低脈沖,并將定時器2中的TL2和TH2當前值各自捕獲到RCAP2L和RCAP2H中,同時引起中斷。
圖5超聲波接收電路
三、系統軟件設計
本系統采用STC89C52作為主控芯片,其內部有512K的數據存儲器和8K的程序存儲器,并有T0、T1、T2共3個定時器可供使用(程序流程圖如圖6所示)。NE555產生的40kHz方波經過P1.0信號調制后,通過CD4051選擇通道,然后驅動傳感器發出超聲波。超聲波遇到障礙物反射后,傳到超聲波接收端,這個信號經過紅外處理芯片后送到單片機。當CX20106捕捉到40kHz的超聲波后其輸出引腳由高電平變為低電平,這個引腳上的負跳變可作中斷來引起單片機中斷。在中斷服務程序中,定時器停止計數,定時器定時時間即為超聲波從發射到接收的時間差,再根據S=v*t/2就可以算出來測量的距離,最后單片機再根據五路傳感器所測障礙物的距離采取相應的避障措施。
圖6系統軟件框圖
四、誤差分析及補償
測距系統一般由超聲波發送、接收、時間計測、微機控制和計算距離五個部分組成。若想提高測量精度、常用的措施有提高計時精度,減少時間量化誤差和補償溫度對傳播聲速的影響。由于本系統對精度要求不高,可采用單片機定時并認為超聲波速度恒定。
本文設計的智能小車自動避障系統,系統設計簡單、成本低、實時性好,在室內環境中取得了預期的實驗結果,使智能小車無碰撞地避開障礙物,該系統有抗干擾能力強、控制過程簡單、精度高和成本低等突出的特點,可以廣泛應用于門禁系統、小區巡邏、實地勘測、智能玩具等領域,市場前景廣闊,具有很大經濟效益。
評論