高精度超聲波測距系統(tǒng)的設計與實現(xiàn)
在工程實踐中,超聲波由于指向性強、能量消耗緩慢且在介質(zhì)中傳播的距離較遠,因而經(jīng)常用于距離的測量。它主要應用于倒車雷達、測距儀、物位測量儀、移動機器人的研制、建筑施工工地以及一些工業(yè)現(xiàn)場等,例如:距離、液位、井深、管道長度、流速等場合。利用超聲波檢測往往比較迅速、方便,且計算簡單、易于做到實時控制,在測量精度方面也能達到工業(yè)實用的要求,因此得到了廣泛的應用。
超聲波測距的基本原理
超聲波發(fā)生器在某一時刻發(fā)出超聲波信號,遇到被測物體后反射回來,被超聲波接收器接收到。只要計算出超聲波信號從發(fā)射到接收到回波信號的時間,知道在介質(zhì)中的傳播速度,就可以計算出距被測物體的距離:
d=s/2=(vt)/2 (1)
其中d為被測物到測距儀之間的距離,s為超聲波往返通過的路程,v為超聲波在介質(zhì)中的傳播速度,t為超聲波從發(fā)射到接收所用的時間。為了提高精度,需要考慮不同溫度下超聲波在空氣中傳播速度隨溫度變化的關系:
v=331.4+0.61T (2)
式中,T為實際溫度(℃),v的單位為m/s。
壓電式超聲波傳感器的原理
目前,超聲波傳感器大致可以分為兩類:一類是用電氣方式產(chǎn)生的超聲波,一類是用機械方式產(chǎn)生的超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。在工程中,目前較為常用的是壓電式超聲波傳感器。
壓電式超聲波傳感器實際上是利用壓電晶體的諧振來工作的。壓電式超聲波發(fā)生器的內(nèi)部有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,且其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發(fā)生共振,并帶動共振板振動,便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉換為電信號,這時即為超聲波接收器。
反射式超聲波測距儀的硬件電路設計
本系統(tǒng)硬件電路由單片機最小系統(tǒng)、溫度補償電路、超聲波發(fā)射電路、超聲波接收電路、顯示電路構成,如圖1所示。
本超聲波測距儀的具體工作過程如下,在單片機產(chǎn)生復位信號后,由MC9S12DG128B產(chǎn)生一個控制信號,控制外圍電路產(chǎn)生40kHz的超聲波,經(jīng)整形放大后加到超聲波換能器發(fā)射出頻率為40kHz的超聲波。同時,計數(shù)MC9S12DG128B內(nèi)部的定時器,測量超聲波信號從發(fā)出到接收所花的時間,并把經(jīng)超聲波換能器R接收到的超聲波信號放大、濾波、整形,并作為接收信號來啟動定時器的輸入捕捉功能,完成一次超聲波測距的時間操作。同時,由溫度傳感器DS18B20測得當前的環(huán)境溫度,讀入單片機,然后經(jīng)其處理,在液晶顯示屏上顯示相應的測量值以及當前溫度。
微控制器MC9S12DG128B
MC9S12DG128B是飛思卡爾公司推出的S12控制器中的一款16位微控制器。其集成度高,片內(nèi)資源豐富,接口模塊包括SPI、SCI、I2C、A/D、PWM等,在FLASH存儲控制及加密方面有較強的功能。
MC9S12DG128B微控制器采用增強型16位S12 CPU,片內(nèi)總線時鐘頻率最高可達25MHz;片內(nèi)資源包括8kB RAM、128kB FLASH、2kB EEPROM、SCI、SPI及PWM串行接口模塊;PWM模塊可設置成4路8位或2路16位,可寬范圍選擇時鐘頻率;它還提供2個8路10位精度A/D轉換器、控制器局域網(wǎng)CAN和增強型捕捉定時器,并支持背景調(diào)試模式(BDM)。
超聲波的發(fā)射電路
超聲波發(fā)射電路一般由超聲波反射器T、40kHz的超音頻振蕩器、驅動(或激勵)電路等組成,本設計利用門電路產(chǎn)生40kHz的超聲波,組成的超聲波發(fā)射電路見圖2。
圖中,與非門74LS00和LM386組成超聲波發(fā)射電路,用74LS00構成多諧振蕩器,通過調(diào)節(jié)20k的電位器,可產(chǎn)生超聲波發(fā)射的40kHz信號,其中U3A為驅動器,電路振蕩頻率f≈1/2.2RC,單片機的控制信號由U2A輸入。為增大超聲波的發(fā)射頻率,本設計利用了單運放LM386,發(fā)射距離可達4m。
超聲波的接收電路
超聲波接收電路如圖3所示。接收頭采用與發(fā)射頭配對的超聲波接收器R,將超聲波調(diào)制脈沖變?yōu)榻蛔冸妷盒盘?。為了進行信號的整形,在設計中的CMOS電平的6非門芯片CD4069,可以減少電路的復雜程度,提高電路的帶負載能力。整形后的信號由C1耦合給帶有鎖定環(huán)的音頻譯碼集成塊LM567的輸入端3腳,當輸入信號的幅度落在其中心頻率上時,LM567的邏輯輸出端8腳由高電平躍變?yōu)榈碗娖健?/P>
DS18B20溫度補償電路
根據(jù)上文中式(2)可知,溫度對聲速的影響較大,若不進行補償,將會帶來測量誤差,為了提高系統(tǒng)的測量精度,設計了溫度補償電路。系統(tǒng)采用數(shù)字溫度傳感器DS18B20來采集溫度,DS18B20是美國DALLAS公司生產(chǎn)的1-wire總線串行數(shù)字溫度傳感器,它具有微型化、低功耗、抗干擾能力強、易于與微處理器接口等優(yōu)點,適合于各種溫度測控系統(tǒng)。它的測量溫度范圍為-55℃~+125℃,精度可達0.0675℃,最大轉換時間為200ms。
數(shù)字式溫度傳感器和模擬溫度傳感器最大的區(qū)別是:將溫度信號直接轉化成數(shù)字信號,然后通過串行通信的方式輸出。因此掌握DS18B20的通信協(xié)議是使用該器件的關鍵。該協(xié)議定義了幾種信號類型:復位脈沖、應答脈沖時隙;寫“0”、讀“1”時隙,讀“0”、讀“1”時隙。初始化后,傳感器輸出兩個字節(jié)的溫度,進行數(shù)據(jù)處理后得到實際溫度的值,利用式(2)可計算補償聲速。
液晶顯示電路
字符點陣系列模塊是一類專門用于顯示字母、數(shù)字、符號等的點陣型顯示模塊。分4位和8位數(shù)據(jù)傳輸方式。它提供5×7點陣+光標和5×10點陣+光標的顯示模式。提供顯示數(shù)據(jù)緩沖區(qū)DDRAM、字符發(fā)生器CGROM和字符發(fā)生器CGRAM,可以使用CGRAM來存儲自己定義的最多8個5×8點陣的圖形字符的字模數(shù)據(jù)。它提供了豐富的指令設置:清顯示,光標回原點,顯示開/關,光標開/關,顯示字符閃爍,光標移位,顯示移位等。提供內(nèi)部上電自動復位電路,當外加電源電壓超過+4.5V時,自動對模塊進行初始化操作,將模塊設置為默認的顯示工作狀態(tài)。OCM2X16顯示兩行字符,每行可以顯示16個字符。本設計采用OCM2X16,顯示兩行字符,一行顯示當前的環(huán)境溫度,一行顯示所測距離。
系統(tǒng)軟件設計
系統(tǒng)軟件包括主程序、溫度采集子程序、定時器計時子程序、計算子程序、液晶顯示子程序等。主程序包括初始化和各個子程序的調(diào)用,最后把測量結果用液晶顯示屏顯示出來(見圖4)。
結論
本系統(tǒng)采用飛思卡爾單片機MC9S12DG128B做主控制器,可靠性好,抗干擾和電磁兼容性強,內(nèi)部資源較豐富,軟件的工作量大大降低,而且支持背景調(diào)試(BDM)方式,編程更加方便,靈活。
在本設計中,通過外部硬件電路來產(chǎn)生40kHz的超聲波信號,因而相對于由單片機產(chǎn)生的40kHz超聲波信號而言,更加接近超聲波傳感器的共振頻率,因而使超聲波傳感器的輸出最大,可以有效地提高測量距離,測量距離在0.3m~4m內(nèi)。
本設計采用數(shù)字式溫度傳感器實現(xiàn)對單片機超聲波測距系統(tǒng)的溫度測量和補償,對聲速進行補償,對引起測量誤差的因素進行修正處理,提高了系統(tǒng)的測量精度及靈敏度,使探測精度不超過1cm,從而達到了很好的效果。