01 超聲波的本質及產生方式
超聲波是一種頻率高於20000赫茲的聲波。它的方向性好,穿透能力強,易於獲得較集中的聲能,在水中傳播距離遠,可用於測距、測速、清洗、焊接、碎石、殺菌消毒等。在醫學、軍事、工業、農業上有很多的應用。超聲波因其頻率下限大於人的聽覺上限而得名。
超聲波發生器可以分為兩大類:一類是用電氣方式產生超聲波,一類是用機械方式產生超聲波(暫不介紹)。
電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發生器。
壓電式超聲波發生方式實際上是利用壓電晶體的諧振來工作的。它有兩個壓電晶片和一個共振板。當它的兩極外加脈衝信號,其頻率等於壓電晶片的固有振蕩頻率時,壓電晶片將會發生共振,並帶動共振板振動,便產生超聲波。反之,如果兩電極間未外加電壓,當共振板接收到超聲波 時,將壓迫壓電晶片作振動,將機械能轉換為電信號,這時它就成為超聲波接收器了。
02 超聲波測距原理
超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。根據時間差和超聲波的速度可以估算出發射位置到障礙物位置的距離。
03 超聲波模塊HC-SR04 介紹
HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可達3mm(這個是廠家介紹,一般測距要3cm以上,精度有時要到達5-6mm),包括發射器、接收器與控制電路,它是一種壓電式傳感器,利用電致伸縮現象而製成。在壓電材料切片上(如石英晶體、壓電陶瓷、鈦酸鉛鋇等)施加交變電壓,使它產生電致伸縮振動而產生超聲波。當外加交變電壓的頻率等於晶片的固有頻率而產生共振,這時產生的超聲波最強。壓電式超聲波接收器一般是利用超聲波發生器的逆效應進行工作的,其結構和超聲波發生器基本相同,有時就用同一個換能器兼作發生器和接收器兩種用途。當超聲波作用到壓電晶片上時使晶片伸縮,在晶片的兩個界面上便產生交變電荷後轉換成電壓經放大送到測量電路,最後記錄或顯示出來。
04 HC-SR04 測距原理
採用IO口TRIG觸發測距,給最少10us的高電平信號。模塊自動發送8個40khz的方波,自動檢測是否有信號返回;有信號返回,通過IO口ECHO輸出一個高電平,同時開定時器計時,當此口變為低電平時就可以讀定時器的值,高電平持續的時間就是超聲波從發射到返回的時間。
05 HC-SR04 模塊原理圖
TL074:四路低噪聲 JFET 輸入通用運算放大器,放大接收信號及控制
MAX232:MAX232晶片是美信(MAXIM)公司專為RS-232標準串口設計的單電源電平轉換晶片,使用+5v單電源供電。
T1 T2輸入輸出的典型曲線,超聲波模塊估計是利用232晶片能夠輸出正負壓信號給超聲波發生器件供電,以此來達到最大電壓差(約13~14V)給超聲波器件供電,增大超聲波發送功率。
STC11:STC單片機,處理邏輯
06 源碼關鍵點分析
源碼配套硬體:
源碼流程圖:
距離換算公式
測試距離=(高電平時間*聲速(340M/S))/2=((float)t/58.0);
聲音在乾燥、攝氏 15度的空氣中的傳播速度大約為340米/秒,合34,000釐米/秒。或者,我們作一下單位換算,34,000除以1,000,000釐米/微秒。即為:0.034釐米/微秒 再換一個角度,1/(0.034 釐米/微秒) 即:約29微秒/釐米。這就意味著,1釐米就需要29微秒。但是發送後到接收到回波,聲音走過的是2倍的距離呀。所以實際距離就是1釐米,對應58微秒。