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