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