□ 席雪君 蘇圣超
傳統(tǒng)的超聲波汽車倒車測(cè)距儀是在常見(jiàn)的汽車倒車預(yù)警裝置的基礎(chǔ)上采用計(jì)算機(jī)控制技術(shù)和超聲波測(cè)距技術(shù)研制出來(lái)的,它解除了駕駛員泊車和起動(dòng)車輛時(shí)前后左右探視所引起的困擾,提高了駕駛安全性。超聲波作為一種非接觸的測(cè)量方式[1~3],包含以下的優(yōu)點(diǎn):高性能、結(jié)構(gòu)簡(jiǎn)單、可控性好、易開(kāi)發(fā)等,同時(shí)它在深海探測(cè)、汽車倒車?yán)走_(dá)等領(lǐng)域具有廣泛的用途。但不同的溫度環(huán)境對(duì)超聲波測(cè)距精度有較大的影響,溫度平均每變化1℃的會(huì)使聲速變化0.607m/s。選取C8051F作為測(cè)距系統(tǒng)的核心,采用溫度補(bǔ)償?shù)姆椒ǎ脺夭顏?lái)補(bǔ)償聲速,從而提升超聲波測(cè)距系統(tǒng)的精度。為了克服超聲波測(cè)距系統(tǒng)中環(huán)境溫度波動(dòng)對(duì)系統(tǒng)的測(cè)距造成的誤差,采用了溫度傳感器DS18B20[4]實(shí)時(shí)采集溫度數(shù)據(jù),當(dāng)環(huán)境溫度變化時(shí),溫度傳感器DS18B20測(cè)量溫度,根據(jù)溫度值與超聲波對(duì)應(yīng)的關(guān)系采用計(jì)算機(jī)及時(shí)修正波速,以糾正溫度的變化引起超聲波測(cè)距系統(tǒng)產(chǎn)生的誤差。
根據(jù)設(shè)計(jì)要求并綜合各方面因素,選取C8051F單片機(jī)作為主控制器,設(shè)計(jì)一種精度較高的超聲波測(cè)距儀。同時(shí)在超聲波測(cè)距基礎(chǔ)上通過(guò)增加溫度傳感器對(duì)超聲波測(cè)距進(jìn)行補(bǔ)償,達(dá)到更高精度,進(jìn)一步保障行車駕駛的安全性。

圖1 汽車倒車測(cè)距儀電路原理圖
通過(guò)單片機(jī)的定時(shí)器和計(jì)數(shù)器產(chǎn)生超聲波驅(qū)動(dòng)信號(hào)。超聲波測(cè)距系統(tǒng)硬件[4]主要有:發(fā)射部分電路、接收部分電路、溫度感應(yīng)電路、內(nèi)部控制部分、數(shù)字顯示部分。工作流程:測(cè)距開(kāi)始,測(cè)距系統(tǒng)向發(fā)射電路輸出脈沖信號(hào),隨即關(guān)閉發(fā)射信號(hào),計(jì)數(shù)器打開(kāi)并開(kāi)始計(jì)時(shí),使計(jì)數(shù)器與實(shí)際測(cè)距時(shí)間同步;當(dāng)所有脈沖都被接收到后,計(jì)數(shù)器停止計(jì)數(shù),得到時(shí)間t,由公式S=vt/2計(jì)算出測(cè)得的距離S,經(jīng)溫度T補(bǔ)償后超聲波的實(shí)際波速計(jì)算公式為:v=331.5+0.607T,最后得到測(cè)距公式:[2]S=(331.5+0.607T)*t/2。最后藉由 TFT顯示屏,實(shí)現(xiàn)數(shù)字顯示,如圖1所示。

圖2 溫度檢測(cè)電路圖
圖2為改進(jìn)后的溫度檢測(cè)電路,溫度的測(cè)量采用DS18B20傳感器,其抗干擾能力強(qiáng)、精度高、測(cè)量范圍寬。P1.3接溫度傳感器的數(shù)據(jù)總線,用來(lái)控制數(shù)據(jù)的傳輸并進(jìn)行溫度轉(zhuǎn)換。在總線電路上接上拉電阻,使得P1.3在溫度轉(zhuǎn)換期間變?yōu)榈碗娖健囟戎怠囟绒D(zhuǎn)換指令、讀寫(xiě)指令都是通過(guò)數(shù)據(jù)總線來(lái)實(shí)現(xiàn)控制器與溫度傳感器之間的交互。

圖3 主流程圖
圖3為主流程圖,包括:中斷服務(wù)程序、溫度測(cè)量、距離計(jì)算、顯示等子程序。開(kāi)機(jī)后屏幕上先顯示“----”,約0.5s的亮燈和發(fā)聲之后,測(cè)距儀開(kāi)始工作。T0為計(jì)時(shí)器,記錄超聲波從發(fā)射到接收的時(shí)間間隔t(單位為ms)。程序先進(jìn)行系統(tǒng)初始化的操作,隨后觸發(fā)溫度檢測(cè)程序測(cè)量現(xiàn)場(chǎng)環(huán)境溫度,由公式v=331.5+0.607T算出經(jīng)由溫度補(bǔ)償后的波速后,然后再觸發(fā)超聲波程序,發(fā)出超聲波脈沖,當(dāng)主程序確認(rèn)接收到所有超聲波脈沖后,立即產(chǎn)生INT0中斷,定時(shí)器T0停止計(jì)時(shí)。將T0中的數(shù)代入公式S=vt/2計(jì)算,完成測(cè)距操作。需要指出的是,t為計(jì)時(shí)器T0的計(jì)數(shù)值,v為經(jīng)由溫度補(bǔ)償后現(xiàn)場(chǎng)的實(shí)際波速,T為溫度傳感器測(cè)得的實(shí)際溫度,最終測(cè)得的距離由液晶TFT液晶屏顯示出來(lái)。
基于單片機(jī)的超聲波測(cè)距儀解決了超聲波由于溫度變化引起測(cè)距精度不高的問(wèn)題,可以安裝在各種車型的尾部,用于觀察車后障礙物情況,功能良好。
[1]蘭羽,周茜.超聲波測(cè)距系統(tǒng)接收電路研究[J].電子設(shè)計(jì)工程,2012,20(14):81 ~83
[2]蘭羽.具有溫度補(bǔ)償功能的超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2013,36(2):85 ~87
[3]李建中.單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2007
[4]何希才.傳感器及其應(yīng)用電路[M].北京:電子工業(yè)出版社,2001