基于單片機(jī)的超聲波測(cè)距報(bào)警系統(tǒng)設(shè)計(jì)
引言
本文引用地址:http://m.butianyuan.cn/article/201609/310095.htm科學(xué)家們將每秒鐘振動(dòng)的次數(shù)稱為聲音的頻率,它的單位是赫茲。我們?nèi)祟惗淠苈牭降穆暡l率為20~20000Hz。當(dāng)聲波的振動(dòng)頻率大于20KHz或小于20Hz時(shí),我們便聽不見了。因此,我們把頻率高于20000赫茲的聲波稱為“超聲波”。
1.超聲波測(cè)距原理
超聲波是指頻率高于20KHz 的機(jī)械波。為了以超聲波作為檢測(cè)手段,必須產(chǎn)生超聲波和接收超聲波,完成這種功能的裝置稱為超聲波傳感器。超聲波傳感器有發(fā)送器和接收器,有的也可具有發(fā)送和接收聲波的雙重作用。根據(jù)超聲波的產(chǎn)生方式,超聲波傳感器可分為兩大類:一類是電氣式,如壓電式、磁致伸縮式和電動(dòng)式等;一類是機(jī)械式,如加爾統(tǒng)笛、液哨等。目前常用的是壓電式超聲波傳感器。它利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化,即發(fā)射超聲波時(shí),將電能轉(zhuǎn)換為超聲波發(fā)射出去;在收到回波時(shí),將超聲振動(dòng)轉(zhuǎn)換成電信號(hào)。
超聲波測(cè)距的原理一般采用時(shí)間差法,即測(cè)出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時(shí)間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離,即:
式中,D—傳感器與障礙物之間的距離;c—聲波在介質(zhì)中的傳輸速度。
由于超聲波易于定向發(fā)射、方向性好、強(qiáng)度易控制、與被測(cè)物體不需直接接觸,故超聲波傳感器廣泛地應(yīng)用于液體高度測(cè)量、汽車倒車等方面。為了提高測(cè)量精度,減小誤差,根據(jù)公式(1)可知,測(cè)距誤差由傳播速度誤差和傳播時(shí)間誤差引起。
當(dāng)傳播速度準(zhǔn)確時(shí),傳播時(shí)間差值精度只要達(dá)到微秒級(jí),就可保證測(cè)距誤差小于1mm。設(shè)計(jì)中,可采用12MHz 晶體作時(shí)鐘的基準(zhǔn),單片機(jī)定時(shí)器的計(jì)數(shù)精度可達(dá)1us,從而保證測(cè)量精度。
傳播速度受空氣密度的影響,空氣密度越高,傳播速度越快,而空氣密度與溫度有密切關(guān)系。在理想氣體中聲波的傳播速度c 為:
式中,γ—氣體定壓比熱容與定容比熱容之比;R—氣體常數(shù);M—氣體分子量;T—絕對(duì)溫度。
若溫度變化不大,則可認(rèn)為聲速基本不變,其值為340m/s。若測(cè)距精度要求較高,為減小溫度變化對(duì)聲速產(chǎn)生的影響,在設(shè)計(jì)中,應(yīng)增加溫度傳感器來監(jiān)測(cè)環(huán)境溫度,進(jìn)行實(shí)時(shí)溫度補(bǔ)償,近似公式為:
式中,c0—零度時(shí)的聲波速度332m/s; T—實(shí)際溫度(℃)。
2.測(cè)距報(bào)警系統(tǒng)設(shè)計(jì)
2.1 硬件設(shè)計(jì)
電路原理圖如圖1 所示。采用PIC16F73 單片機(jī)作為主控制器,實(shí)現(xiàn)對(duì)CX20106 紅外接收芯片(紅外常用的載波頻率38KHz 與測(cè)距超聲波頻率40KHz 較為接近) 和TCT40 系列超聲波轉(zhuǎn)換模塊的控制。單片機(jī)通過端口RB1 控制超聲波的發(fā)送,然后單片機(jī)不停地檢測(cè)中斷端口RB0/INT,當(dāng)端口RB0/INT 的電平由高電平變?yōu)榈碗娖綍r(shí),系統(tǒng)認(rèn)為超聲波已返回。計(jì)數(shù)器所計(jì)數(shù)據(jù)即為超聲波所經(jīng)歷的時(shí)間,通過換算可得到傳感器與障礙物之間的距離。超聲信號(hào)的驅(qū)動(dòng)由單片機(jī)定時(shí)器完成,LED 數(shù)字顯示采用動(dòng)靜態(tài)驅(qū)動(dòng)相結(jié)合的方法實(shí)現(xiàn),報(bào)警模塊采用簡(jiǎn)單的聲光報(bào)警電路。
圖1 測(cè)距報(bào)警系統(tǒng)電路原理圖
系統(tǒng)利用單片機(jī)的定時(shí)器功能產(chǎn)生40KHz 脈沖信號(hào), 并通過端口RB1 輸出到超聲波發(fā)射部分。超聲波發(fā)射電路中, 六反相緩沖器CD4049 包括6個(gè)非門,現(xiàn)僅使用3 個(gè),為防止干擾或被靜電擊穿導(dǎo)致整個(gè)CD4049 損壞,把未使用的3 個(gè)非門串起來做接地處理。當(dāng)控制端輸出一系列固定頻率脈沖時(shí),在超聲波發(fā)射器TCT40-1F 上就以固定的頻率加正電壓和反電壓,從而發(fā)出大功率的超聲波。這種以軟件方式產(chǎn)生的波形較用其他方式產(chǎn)生的效果更理想。
接收器采用與發(fā)射器相配對(duì)的TCT40-2S, 將超聲波調(diào)制脈沖轉(zhuǎn)換為40KHz 毫伏級(jí)電壓信號(hào), 此信號(hào)需經(jīng)過放大處理才能觸發(fā)單片機(jī)中斷。芯片CX20106 內(nèi)置前置放大器、限幅放大器、帶通濾波器、檢波器、積分器、整型電路等。其中前置放大器具有自動(dòng)增益控制功能,可保證在超聲波傳感器接收較遠(yuǎn)反射信號(hào)而輸出微弱電壓時(shí),放大器有較高的增益,而在近距離輸入信號(hào)強(qiáng)時(shí),放大器不會(huì)過載。調(diào)節(jié)芯片引腳5 的外接電阻R3 的值,可設(shè)置濾波器的中心頻率。當(dāng)RB3=200K時(shí),中心頻率為42KHz;當(dāng)RB3=220K 時(shí),中心頻率為38KHz。當(dāng)接收到與濾波器中心頻率相符的信號(hào)時(shí),引腳7 輸出一個(gè)低電平,從而觸發(fā)中斷。適當(dāng)改變引腳2 的外接電容C4 的值,可改變接收電路的靈敏度和抗干擾能力。
3位LED數(shù)碼顯示采用顯示器動(dòng)靜態(tài)驅(qū)動(dòng)相結(jié)合的方法實(shí)現(xiàn)。采用單片機(jī)串行口通過74HC164 串入并出移位寄存器來輸出LED 的段驅(qū)動(dòng)信號(hào),每個(gè)LED 的段信號(hào)都連在一起,并與74HC164 輸出的段驅(qū)動(dòng)信號(hào)連接。每個(gè)LED 的位驅(qū)動(dòng)信號(hào)由單片機(jī)的端口RB5~RB7 通過ULN2004 驅(qū)動(dòng)集成塊分別驅(qū)動(dòng),LED 需用共陰數(shù)碼管。
報(bào)警模塊的功能是, 當(dāng)傳感器與障礙物的距離不小于設(shè)定值時(shí),綠色指示燈閃亮;反之,紅色指示燈閃亮,蜂鳴器發(fā)聲,提示人員注意安全距離。
2.2 軟件設(shè)計(jì)
軟件分為兩部分:主程序和中斷服務(wù)程序,流程圖如圖2 所示。主程序完成初始化工作及超聲波發(fā)射和接收控制。中斷服務(wù)程序包括定時(shí)中斷服務(wù)子程序和外部中斷服務(wù)子程序,分別完成超聲波的發(fā)射、距離計(jì)算及顯示報(bào)警等工作。
圖2 測(cè)距報(bào)警系統(tǒng)程序流程圖
3.測(cè)試結(jié)果
當(dāng)距離大于2m 時(shí),綠燈閃亮,顯示距離;當(dāng)距離小于1m 時(shí),紅燈閃亮,由端口RB2 驅(qū)動(dòng)蜂鳴器報(bào)警,顯示距離;當(dāng)距離介于2m 和1m之間時(shí),紅燈閃亮,顯示距離。為提高抗干擾能力,系統(tǒng)連續(xù)發(fā)射超聲波,測(cè)量三次,從中剔除最大最小值,取中間值計(jì)算出距離。
4.結(jié)語
此系統(tǒng)較好地實(shí)現(xiàn)了測(cè)距及報(bào)警功能,可用于汽車倒車、液位監(jiān)控等場(chǎng)合,而且測(cè)量簡(jiǎn)單、經(jīng)濟(jì)、可靠。
評(píng)論