盧 貺
(武漢軟件工程職業學院,湖北武漢 430205)
在日常生產生活中,很多場合如:汽車倒車、機器人避障、工業測井、水庫液位測量等需要自動進行非接觸測距,DSP技術課程教學平臺設計課題中也包含了用途廣泛的超聲波測距功能。超聲波是指頻率大于20kHz的在彈性介質中產生的機械震蕩波,其具有指向性強、能量消耗緩慢、傳播距離相對較遠等特點,因此常被用于非接觸測距。由于超聲波對光線、色彩和電磁場不敏感,因此超聲波測距對環境有較好的適應能力,此外超聲波測量在實時、精度、價格方面也有很好的折衷[1]。
超聲波發生器內部結構有兩個壓電晶片和一個共振板。當其兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻時,壓電晶片將會發生共振,并帶動共振板振動,便產生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波信號時,將壓迫壓電晶片作振動,將機械能轉換為電信號,就成為超聲波接收器。
超聲波測距的方法有多種:如往返時間檢測法、相位檢測法、聲波幅值檢測法。本設計采用往返時間檢測法測距。其原理是超聲波傳感器發射一定頻率的超聲波,借助空氣媒質傳播,到達測量目標或障礙物后反射回來,經反射后由超聲波接收器接收脈沖,其經歷的時間即往返時間,往返時間與超聲波傳播的路程的遠近有關。測試傳輸時間可以得出距離[2]。
超聲波測距的算法設計:超聲波在空氣中傳播速度為每秒鐘340米(15℃時)。設S2是聲波返回的時刻,S1是聲波發聲的時刻,S2-S1為一個時間差的絕對值,假定S2-S1=0.03秒,則有340米/秒×0.03秒=10.2米。該10.2米距離的時間里,是超聲波發出后遇到障礙物返回的距離,超聲波傳感器與障礙物為該距離的一半,有關系式如式1所示:

式中,L為超聲波傳感器與障礙物的距離;V為超聲波在空氣中的傳播速度;S1為聲波發聲的時刻;S2為聲波返回的時刻。參見圖1的超聲波傳送示意圖。

圖1 超聲波傳送示意圖
在精度要求較高的情況下,需要考慮溫度對超聲波傳播速度的影響,按式2對式1中的超聲波傳播速度V加以修正,以減小誤差。

式中,T為實際溫度,單位為℃;V為超聲波在介質中的傳播速度,單位為m/s(米/秒)。

表1 一些溫度下的聲速
DSP系統采用型號為TMS320F2812微處理器。TMS320C2000系列是美國TI公司推出的數字控制DSP芯片,TMS320F2812為更高性能的改進型芯片,進一步增強了芯片的接口能力和嵌入式功能,從而拓寬了數字信號處理器的應用領域,是目前市場上最先進、功能最強大的32位定點DSP芯片。它既具有數字信號處理能力,又具有強大的事件管理能力和嵌入式控制功能,特別適用于有大批量數據處理的測控場合,如工業自動化控制、電力電子技術應用、智能化儀器儀表及電機、馬達伺服控制系統等。該系列DSP處理器具有高速信號處理和數字控制功能所必需的體系結構,其指令執行速度高達40MIPS,且大部分的指令都可以在一個25ns的單周期內執行完畢。另外,它還具有非常強大的片內GPIO端口和其它外圍設置,可以簡化外圍電路設計,降低系統成本。在DSP技術課程教學平臺設計中,超聲波測距為其中的一個子模塊,其設計框圖如圖2所示[3]。

圖2 超聲波測距系統設計框圖
超聲波發射部分是為了讓超聲波發射換能器向外發出40kHz左右方波脈沖信號。40kHz左右方波脈沖信號來自DSP系統GPIO編程輸出,由于GPIO端口輸出功率不夠,40kHz方波脈沖信號分成兩路,輸出到由74ALS04組成的推挽式電路進行功率放大,再送給超聲波發射換能器以聲波形式發射到空氣中。發射部分電路如圖3所示。圖中輸出端上拉電阻R8,R9,一方面可以提高反向器74ALS04輸出高電平的驅動能力,另一方面可以增加超聲換能器的阻尼效果,縮短其自由振蕩的時間。

圖3 超聲波發送電路
超聲波在空氣中傳播遇到障礙物返回后,由超聲波接收電路進行處理,將反射波轉換變成電信號,并進行放大、濾波、整形等處理,本設計采用索尼公司集成芯片CX20106A,總放大增益為80db,該芯片檢測到超聲波信號后,會傳送一負脈沖給DSP系統中斷輸入GPIO。CX20106A內部電路及引腳功能如圖4所示,接收部分電路如圖5所示[4]。

圖4 CX20106A內部電路及引腳功能
為了提高系統的測量精度,本文設計了溫度補償電路,如圖6、圖7所示。系統采用National Semiconductor所生產的溫度感測器LM35,其輸出電壓與攝氏溫標呈線性關系,0℃時輸出為0V,每升高1℃,輸出電壓增加10mV。
在常溫下,LM35不需要額外的校準處理即可達到±1/4℃的準確率。與控制器連接方便,在單電源工作模式下,測量范圍為0~+175℃。根據實際溫度的值,利用式2計算補償聲速。

圖5 超聲波接收電路

圖6 LM35測溫電路

圖7 測溫信號放大電路
TMS320F2812處理器向GPIO端口發出控制信號,啟動內部定時器進行計時。此控制信號經功率放大后作為超聲傳感驅動電路啟動信號,超聲傳感器產生的、遇到障礙物時返回的高頻振蕩信號經放大(為彌補傳播過程中信號的衰減)使超聲傳感驅動電路產生高電平脈沖,此電平變化會引起TMS320F2812外部中斷,在中斷程序內獲取定時器的計數值,同時提取此時的溫度數值,根據式1、式2計算距離;否則,認為傳感器前方探測范圍內無障礙物。溫度檢測程序在系統上電后執行一次[5]。
超聲傳感器處理程序軟件設計上采用定時器工作,對傳感器進行計時。選擇定時器的周期比超聲傳感器探測最大距離所需的時間稍長。在定時器周期開始時,超聲波發射換能器開始工作。在定時器周期內,每個回波返回,都會觸發一次外部中斷(XINT1中斷),在外部中斷處理程序內,將超聲波返回時間進行記錄,并將相應的超聲傳感器關閉。外部中斷處理程序非常簡短,本設計只用不到20條指令,并且TMS320F2812指令執行速度很快,因而即使因進入外部中斷處理程序而延誤了對后續回波的處理,但這種延誤的時間根據計算不大于0.5μs,由此引入的距離誤差根據式一計算小于83.5×10-6m,誤差非常小,可忽略不計。當定時器中斷時,對于距離大于最大超聲探測范圍的,沒有相應的時間記錄,給它們加上超出測距范圍的標志。本設計中超聲波傳感器的最大探測距離為3.5m,因而超聲波探測的最長時間為20.58ms。所以每個定時器的周期選為20.6ms。軟件設計中涉及到的外部中斷處理程序和定時器中斷處理程序框圖如圖8和圖9所示[6]。

圖8 外部中斷處理程序

圖9 定時器中斷處理程序
為了驗證系統的測量精度,在實驗室進行了實地測量。利用本系統對0.10~3.50m米范圍進行了多次測試,經補償后最大誤差為1cm,線性度、穩定性和重復性都比較好。做為DSP技術課程教學平臺設計中的主要部件,本系統具有結構簡單、體積小、實時LCD顯示、帶溫度補償、抗干擾性能好等優點。系統的誤差主要來自于發射探頭發出的超聲波是呈喇叭狀擴散傳播、被測物的表面不光滑且不一定垂直于兩探頭的軸線而導致所反射回來的超聲波是從不同點獲得,此外電子元器件自身的時延、干擾等也造成一定影響。可以根據具體場合,選擇合適功率的探頭,以及調整程序中脈沖的頻率、寬度和個數等提高精度或測量距離,擴大系統的應用范圍。
1 劉升平.超聲波測距系統的開發與研究[J].計算機工程與應用,2009,45(25)
2 高飛燕.基于單片機的超聲波測距系統的設計[J].信息技術,2005,29(7)
3 韓豐田.TMS320F281xDSP原理及應用技術[M].北京:清華大學出版社,2011.
4 吳銀風.紅外線接收電路CX20106A及其應用[J].無線電,2004,23(4)
5 王忠勇.DSP原理與應用技術[M].北京:電子工業出版社,2009.
6 何莉.基于PIC單片機的超聲波測距系統[J].壓電與聲光,2004,26(2)