周建國 彭志雄
摘 要:本設(shè)計是以單片機技術(shù)為基礎(chǔ),實現(xiàn)對前方物體距離的測量。根據(jù)超聲波指向性強,能量消耗慢,在介質(zhì)中傳播距離遠的特點,利用超生波傳感器對前方物體進行感應(yīng),經(jīng)過STC89C52單片機中的程序?qū)Τ暡▊鞲衅靼l(fā)射和接收的超聲波信號進行分析和計算處理,最后將處理結(jié)果在LCD1602上顯示,并設(shè)置若干功能按鍵。測量范圍為2cm到300cm。
關(guān)鍵詞:STC89C52;HC-SR04超聲波傳感器;LCD1602
DOI:10.16640/j.cnki.37-1222/t.2016.06.216
0 引言
由于超聲測距是一種非接觸檢測技術(shù),具有不污染、高可靠、等特點。因此可廣泛應(yīng)用于車輛自動導(dǎo)航、物體識別與定位、車輛安全行駛輔助系統(tǒng)乃至地形地貌探測等許多領(lǐng)域中??稍诓煌h(huán)境中進行距離準(zhǔn)確度在線標(biāo)定,可直接用于水、酒、飲料等液位控制,可進行差值設(shè)定,直接顯示各種液位罐的液位、料位高度。因此,超聲波測距技術(shù)在生產(chǎn)實踐中發(fā)揮著重要作用。
利用超聲波測量技術(shù)能夠比較快速、便捷,且易于做到實時控制,此外在測量精度上能達到工業(yè)級的指標(biāo)要求。因此,超聲波測距在移動機器人的研究上得到了廣泛的應(yīng)用。同時由于超聲波測距系統(tǒng)具有以上的這些優(yōu)點,因此也廣泛應(yīng)用在汽車倒車?yán)走_等方面。
1 超聲波測距的原理
(1)超聲波的基本理論。超聲波技術(shù)是一門以機械、材料科學(xué)、信息科學(xué)以及半導(dǎo)體技術(shù)為基礎(chǔ)的、應(yīng)用廣泛的綜合性學(xué)科。超聲波技術(shù)在生產(chǎn)實踐中能夠大幅度提高產(chǎn)品質(zhì)量,保障生產(chǎn)過程的安全性和生產(chǎn)設(shè)備的安全運行、提高生產(chǎn)效率、降低生產(chǎn)成本。因此,人們對超聲波技術(shù)的應(yīng)用進行了深入的研究。
超聲波技術(shù)包含了超聲波的產(chǎn)生、傳播以及接收這三個過程。超聲波的特性有聚束、反射、投射以及定向性。根據(jù)超聲波輻射功率的大小,大致可以分為兩種,一種是用超聲波使物體的物性變化的功率應(yīng)用,稱為功率超聲;另一種是用超聲波獲取信息,稱為信息超聲。
(2)超聲波測距系統(tǒng)原理。在超聲波測距系統(tǒng)中,先有單片機產(chǎn)生一個40us的高電平觸發(fā)信號給超聲波產(chǎn)生模塊,發(fā)射探頭發(fā)出8個40kHz的脈沖,然后模塊產(chǎn)生一個脈沖信號,其寬度為發(fā)射與接收的時間間隔,被測物體距離越遠,所產(chǎn)生的脈沖寬度越大。超聲測距的方法大致有以下幾種:1)取輸出脈沖的平均值電壓,該電壓 (其幅值基本固定 )與距離成正比,測量電壓即可測出距離;2)測量輸出脈沖的寬度,即發(fā)射超聲波與接收超聲波的時間間隔t,因此被測距離為S=0.5×v×t。在本系統(tǒng)中采用第二種方案。在高精度的中長距離測量中,適合使用超聲波測距,由于超聲波在標(biāo)準(zhǔn)空氣中的傳播速度為331.45m/s,由單片機負(fù)責(zé)計時,單片機的晶振使用11.0592M,因此在理論上系統(tǒng)可以達到毫米級的測量精度。
超聲波測距的算法設(shè)計: 超聲波在空氣中傳播速度為340m/s(15℃時)。T2是接收到超聲波的時刻,T1是發(fā)射超聲波的時刻,T2—T1得出時間間隔的絕對值,假定T2—T1=0.05s,則有340m×0.05s=17m。超聲波測距系統(tǒng)的系統(tǒng)框圖如下圖所示:
2 系統(tǒng)主要硬件設(shè)計
(1)超聲波發(fā)射電路設(shè)計。超聲波發(fā)射電路是由超聲波發(fā)射探頭和超聲波運算放大器構(gòu)成。超聲波發(fā)射探頭是將電信號轉(zhuǎn)換為機械振動波發(fā)射出去,而單片機所產(chǎn)生的8個40 kHz的方波需要進行放大后才能驅(qū)動超聲波發(fā)射探頭將超聲波發(fā)射出去,因此發(fā)射驅(qū)動實際上是一個信號調(diào)理電路,本設(shè)計中選用74LS04芯片進行信號的放大。
在發(fā)射電路正常工作時,由單片機產(chǎn)生40 kHz的脈沖從P3^1口向超聲波的發(fā)射電路部分發(fā)出指令信號,再經(jīng)74LS04放大電路放大后,驅(qū)動超聲波發(fā)射探頭將超聲波發(fā)射出去。
(2)超聲波接收電路設(shè)計。超聲波在空氣中傳播會隨著距離的增加而減弱,如果測量距離較遠,則超聲波接收電路所接收到的超聲波信號就會比較微弱,因此需要對接收到的微弱信號進行放大。超聲波的接收電路是由集成芯片CX20106A為核心構(gòu)成的,CX20106A芯片電路可以對接收到的超聲波信號進行放大、整形、帶通濾波、限幅、峰值檢波、比較等功能,之后超聲波接收電路會輸出一個低電平到單片機去請求中斷,同時單片機停止計數(shù),并開始去進行數(shù)據(jù)處理。
CX20106A芯片中的前置放大器具有自動增益控制(AGC)功能,當(dāng)測量距離較短時,放大器增益會自動減小,因而不會過載;而當(dāng)測量距離較遠時,超聲波信號微弱,前置放大器就會自動增加增益值,從而得到合適的輸出信號。
3 系統(tǒng)軟件設(shè)計
(1)基于LCD1602的顯示模塊:分為等待子程序、寫入子程序、顯示子程序以及初始化子程序;
(2)距離計算程序:分為超聲波發(fā)送控制子程序和信號接收處理子程序;
(3)由于C語言有更大的優(yōu)勢,因此本系統(tǒng)的程序設(shè)計語言使用C語言。編譯器使用KeiluVision4進行程序編譯與調(diào)試;
(4)主程序:可分為系統(tǒng)初始化子程序、顯示子程序、按鍵處理以及中斷處理子程序等部分。
4 結(jié)論
本設(shè)計利用超聲波傳感器實現(xiàn)無接觸式空氣測距,傳感器根據(jù)當(dāng)前的環(huán)境溫度對初始的距離值進行校正,此時無需在程序中對超聲波聲速進行校正,即無論溫度多少,聲速選擇340m/s 即可。故本系統(tǒng)在常溫下具有測量精度高、抗干擾能力強等特點,可適用于各種障礙物的識別以及車輛自動導(dǎo)航等領(lǐng)域,因此具有廣闊的應(yīng)用前景。
參考文獻:
[1]陳瑩.基于單片機的超聲測距系統(tǒng)[D].武漢:華中科技大學(xué)碩士論文,2004(04).
[2]胡萍.超聲波測距儀的研制[M].計算機與現(xiàn)代化,2003(10).
[3]楊姣秀,基于單片機的超聲波測距儀的設(shè)計[J].湖南工業(yè)大學(xué),2008.
[4]張謙琳.超聲波檢測原理和方法[M].北京:中國科技大學(xué)出版社,1993(10).
作者簡介:周建國(1995-),男,在讀本科,研究方向:MCU應(yīng)用系統(tǒng)設(shè)計。