科學家們將每秒鐘振動的次數稱為聲音的頻率,它的單位是赫茲。我們人類耳朵能聽到的聲波頻率為20~20000Hz。當聲波的振動頻率大于20KHz或小于20Hz時,我們便聽不見了。因此,我們把頻率高于20000赫茲的聲波稱為“超聲波”。
1.超聲波測距原理
超聲波是指頻率高于20KHz 的機械波。為了以超聲波作為檢測手段,必須產生超聲波和接收超聲波,完成這種功能的裝置稱為超聲波傳感器。超聲波傳感器有發送器和接收器,有的也可具有發送和接收聲波的雙重作用。根據超聲波的產生方式,超聲波傳感器可分為兩大類:一類是電氣式,如壓電式、磁致伸縮式和電動式等;一類是機械式,如加爾統笛、液哨等。目前常用的是壓電式超聲波傳感器。它利用壓電效應的原理將電能和超聲波相互轉化,即發射超聲波時,將電能轉換為超聲波發射出去;在收到回波時,將超聲振動轉換成電信號。
超聲波測距的原理一般采用時間差法,即測出超聲波從發射到遇到障礙物返回所經歷的時間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離,即:
式中,D—傳感器與障礙物之間的距離;c—聲波在介質中的傳輸速度。
由于超聲波易于定向發射、方向性好、強度易控制、與被測物體不需直接接觸,故超聲波傳感器廣泛地應用于液體高度測量、汽車倒車等方面。為了提高測量精度,減小誤差,根據公式(1)可知,測距誤差由傳播速度誤差和傳播時間誤差引起。
當傳播速度準確時,傳播時間差值精度只要達到微秒級,就可保證測距誤差小于1mm。設計中,可采用12MHz 晶體作時鐘的基準,單片機定時器的計數精度可達1us,從而保證測量精度。
傳播速度受空氣密度的影響,空氣密度越高,傳播速度越快,而空氣密度與溫度有密切關系。在理想氣體中聲波的傳播速度c 為:
式中,γ—氣體定壓比熱容與定容比熱容之比;R—氣體常數;M—氣體分子量;T—絕對溫度。
若溫度變化不大,則可認為聲速基本不變,其值為340m/s。若測距精度要求較高,為減小溫度變化對聲速產生的影響,在設計中,應增加溫度傳感器來監測環境溫度,進行實時溫度補償,近似公式為:
式中,c0—零度時的聲波速度332m/s; T—實際溫度(℃)。
2.測距報警系統設計
2.1 硬件設計
電路原理圖如圖1 所示。采用PIC16F73 單片機作為主控制器,實現對CX20106 紅外接收芯片(紅外常用的載波頻率38KHz 與測距超聲波頻率40KHz 較為接近) 和TCT40 系列超聲波轉換模塊的控制。單片機通過端口RB1 控制超聲波的發送,然后單片機不停地檢測中斷端口RB0/INT,當端口RB0/INT 的電平由高電平變為低電平時,系統認為超聲波已返回。計數器所計數據即為超聲波所經歷的時間,通過換算可得到傳感器與障礙物之間的距離。超聲信號的驅動由單片機定時器完成,LED 數字顯示采用動靜態驅動相結合的方法實現,報警模塊采用簡單的聲光報警電路。
圖1 測距報警系統電路原理圖
系統利用單片機的定時器功能產生40KHz 脈沖信號, 并通過端口RB1 輸出到超聲波發射部分。超聲波發射電路中, 六反相緩沖器CD4049 包括6個非門,現僅使用3 個,為防止干擾或被靜電擊穿導致整個CD4049 損壞,把未使用的3 個非門串起來做接地處理。當控制端輸出一系列固定頻率脈沖時,在超聲波發射器TCT40-1F 上就以固定的頻率加正電壓和反電壓,從而發出大功率的超聲波。這種以軟件方式產生的波形較用其他方式產生的效果更理想。
3位LED數碼顯示采用顯示器動靜態驅動相結合的方法實現。采用單片機串行口通過74HC164 串入并出移位寄存器來輸出LED 的段驅動信號,每個LED 的段信號都連在一起,并與74HC164 輸出的段驅動信號連接。每個LED 的位驅動信號由單片機的端口RB5~RB7 通過ULN2004 驅動集成塊分別驅動,LED 需用共陰數碼管。
報警模塊的功能是, 當傳感器與障礙物的距離不小于設定值時,綠色指示燈閃亮;反之,紅色指示燈閃亮,蜂鳴器發聲,提示人員注意安全距離。
2.2 軟件設計
軟件分為兩部分:主程序和中斷服務程序,流程圖如圖2 所示。主程序完成初始化工作及超聲波發射和接收控制。中斷服務程序包括定時中斷服務子程序和外部中斷服務子程序,分別完成超聲波的發射、距離計算及顯示報警等工作。
圖2 測距報警系統程序流程圖
3.測試結果
當距離大于2m 時,綠燈閃亮,顯示距離;當距離小于1m 時,紅燈閃亮,由端口RB2 驅動蜂鳴器報警,顯示距離;當距離介于2m 和1m之間時,紅燈閃亮,顯示距離。為提高抗干擾能力,系統連續發射超聲波,測量三次,從中剔除最大最小值,取中間值計算出距離。
4.結語
此系統較好地實現了測距及報警功能,可用于汽車倒車、液位監控等場合,而且測量簡單、經濟、可靠。