一臺超聲波裝置、一個運算放大器和一個內部集成比較器且具有 4 個可用 I/O 引腳的單片機,即可實現(xiàn)超聲波距離探測。
要了解這是如何實現(xiàn)的,我們可以用一個超聲波發(fā)射器來廣播一個40 kHz的脈沖信號或者數(shù)個同頻率的振蕩信號。從單片機驅動一到幾個波長的方波至超聲波裝置就可以創(chuàng)建脈沖信號。該脈沖經由任何密度比空氣大的物體反射之后,有部分發(fā)射的脈沖信號會返回被接收器接收。由于聲音的傳播速度是已知的,通過測量脈沖的往返時間并加以轉換,我們就可以計算出兩者之間的距離。
聲音的傳播需要借助某種介質,比如空氣、水或鋼鐵。一般情況下,介質的密度越大,聲音傳播的速度就越快。而聲音在空氣中傳播的速度會隨著例如溫度、濕度和海拔高度等因素的變化而變化。在室溫條件下,我們可以認為聲音以恒定每秒343 米的速度傳播。這對于使用單片機來測定發(fā)射脈沖在數(shù)米范圍內往返的時長而言是最理想的速度。
反射表面是何種類型的介質并不重要;在40 kHz的條件下,幾乎所有表面都會反射迎面而來的聲波。如果是垂直入射到表面則更為理想,因為這時脈沖會被直接反射回接收器。而與物體表面形成的入射角越大,被反射回接收器的脈沖就會越少。
超聲波換能器的工作原理類似于一個壓電蜂鳴器,只不過采用的是一個人耳聽不見的、更高的頻率。當電流通過壓電裝置時,它就會產生變形或彎曲,斷電之后則會恢復到原來的形狀。當一個40 kHz的方波被施加到該裝置的引腳上時,會發(fā)射出一個40 kHz的聲波脈沖。而超聲波接收器的工作原理恰恰相反,它會對輸入的超聲波進行轉換,從而生成一個振幅低得多的電壓輸出。
超聲波裝置有超聲波發(fā)射器、超聲波接收器或者收發(fā)一體型超聲波裝置等幾種類型, 采用開放式或封閉式防水罩。本文演示使用的是接收和發(fā)射分開的開放型裝置。由 于使用防水發(fā)射器需要更大的驅動電壓,因此這種類型的裝置使用起來最為簡便。
圖 1 所示的是一臺超聲波裝置的等效電路。它在此充當?shù)氖?a href="http://ttokpm.com/tags/電容/" target="_blank">電容負載,但考慮到感性和容性方面的因素,被調諧為 40 kHz 的諧振頻率。輸入信號頻率為 40 kHz 的條件下,發(fā)射器被調諧為最大輸出,而接收器被調諧為最大電壓輸出。這對所有其它頻率會產生一個衰減過濾效應,并能在放大所接收的信號時有效消除噪聲。圖 1 底部的表格中列出了演示中裝置所采用的各個典型值。
圖 1:超聲波裝置的等效電路
驅動超聲波裝置
以差分信號驅動容性超聲波發(fā)射器可以在保持器件兩端偏移0.0V的同時,實現(xiàn)最大的發(fā)射強度。此外,差分驅動引腳還消除了應用負電源來驅動裝置的需要。
使用超聲波換能器存在的一個問題即在驅動信號去除后換能器仍會繼續(xù)振蕩或是振 鈴。振鈴由換能器的諧振機械行為而引發(fā)。施加驅動之后,經過調諧的換能器會在 指定的超聲波頻率上產生像振鈴一樣的現(xiàn)象,而驅動撤除后不久振鈴就會衰減掉。 在發(fā)射器振鈴時,信號將在PCB中耦合傳播或在發(fā)射器和接收器之間的空氣中傳播,看上去就像接收到的信號一樣。因此,我們需要延遲打開接收器以確保振鈴已經衰減掉,而接收到的所有信號均源自反射脈沖。如圖2所示,振鈴衰減所需的時間量決定了接收器可探測距離的最小值。
圖2:超聲波裝置
超聲波裝置應盡量采用接近指定頻率的驅動頻率,以提高輸出功率。以Microchip 的PIC16F690單片機的8 MHz內部振蕩器為例,我們可以很輕松地對其進行分頻,以創(chuàng)建一個40 kHz的驅動信號。而PIC單片機的兩個I/O引腳可用于生成40 kHz的差分信號以驅動超聲波發(fā)射器。該演示使用Timer0定時器溢出中斷程序來創(chuàng)建輸出的時基。
使用很多PIC MCU上自帶的ECCP模塊是另一種驅動超聲波裝置的更為自動化的替代 方法。該模塊可以被設置成以半橋模式在P1A和P1B兩個引腳上輸出選定頻率的PWM, 其中一個為反相輸出。ECCP模塊使用Timer2定時器來創(chuàng)建PWM的時基。啟用Timer2 后分頻器可使得用戶在設置中斷標志之前設定好生成的脈沖數(shù)。這樣,中斷一次即 可完成一個超聲波脈沖的發(fā)射。
一旦超聲波信號創(chuàng)建好并從超聲波發(fā)射器輸出,緊接著的任務就是對返回的反射脈 沖進行探測和計時。由于返回的聲波衰減顯著,因此有必要先對其進行放大以便該 信號可以被比較器探測到。而這種放大操作可以由差分放大器配置中的單運放實現(xiàn)。
差分放大器
圖3是一個差分放大器的電路示例圖。此運算放大器電路可以放大跨接在兩個輸入引腳之間的超聲波接收器兩端的電壓。通過匹配流經電阻R2和R4以及電阻R1和R3的輸入偏置電流,我們可以減少輸出端的共模噪聲。
圖3:差分放大器電路
超聲波接收器在此就像一個調諧的高Q值濾波器。差分運算放大器放大該接收器的過濾效果。而第一個運算放大器對輸入信號和共模噪聲進行放大和過濾處理。之后的各級運放也將放大全部噪聲并需要使用額外的濾波器。為超聲波接收器的第一增益級選擇好合適的運算放大器,可以省去多個運算放大器和濾波器的需求。
由于Microchip MCP6022運算放大器的單位增益帶寬(UGBW)為10 MHz,因此我們在下面的演示中選用了這一器件。在例如40 kHz這樣特定的頻率上,UGBW值更高意味著運算放大器的增益也更高。此處演示電路的增益由于受到UGBW的限制,并且不由R1/R2來定義,因而在40 kHz的條件下其增益在250到300之間。
數(shù)據(jù)限幅器是許多通信應用中常見的電路。我們可以通過閾值電壓V_th和放大輸入的比較來進行信號探測。在圖4中,V_th被設為略低于V_US即放大超聲波信號的平均值。
圖4:數(shù)據(jù)限幅器
一旦超聲波脈沖被放大,C2IN-引腳的值就會降低到C2IN+引腳的值以下,而比較器的值也會因此發(fā)生轉變。R2的值應遠遠大于R1的值,但不應過大,以免比較器因為放大信號中的噪聲而發(fā)生轉變。而R1的理想設定值,應使得閾值電壓的值略大于所接收超聲波信號的噪聲。閾值電壓的值越接近于所接收的信號,接收器可探測的距離就越大。
PIC單片機的C2OUT引腳可用于調試這一級的超聲波接收器。而常見的問題是,閾值電壓沒有得到正確設置。如果該值設置得過低,就會限制接收器的可探測距離。而如果設置得過高,比較器將會從線上噪聲尖峰切換開,從而也就無法再知曉信號出現(xiàn)的時間。
Timer1門控功能可為16位Timer1計數(shù)器的時鐘信號提供一個使能信號。C2OUT即比較器輸出可以被選作Timer1門控的一個內部源。當C2OUT信號較低時計數(shù)功能就會使能。一旦超聲波信號被探測到且C2OUT值發(fā)生變化,計數(shù)就會停止。而存儲在Timer1寄存器中的值就是以超聲波信號計數(shù)形式表達的往返時間。根據(jù)裝置的振蕩器速度,這些計數(shù)將對應一個特定的時間值。
在探測到返回的超聲波脈沖后,Timer1會存儲一個對應于超聲波脈沖傳播時間的計數(shù)值。將這些計數(shù)除以二并乘以聲音的速度就可以轉換為距離。之所以除以二是因為這里進行的是往返程的測量,并且可以通過將計數(shù)值右移一位來實現(xiàn)。
載波頻率的波長決定了系統(tǒng)的分辨率。40 kHz頻率的波長約為0.85厘米。采用更高的載波頻率可以提高分辨率,但卻會使指向性受限、距離減小。此外,影響分辨率的因素還包括用于對返回脈沖進行計時的振蕩器的精確度,以及信號在更復雜的濾波器中傳播時所發(fā)生的延遲。將所有的因素考慮在內,以40 kHz頻率運行的超聲波系統(tǒng)的分辨率約為1厘米,并且不受距離影響,只有返回脈沖會被探測到。
有兩種方法可以增加這一應用中的最大可探測距離:加大發(fā)射功率及提高接收器靈敏度。本演示使用I/O引腳來驅動發(fā)射器,最大工作電流和電壓分別為20 mA和5V; 同時可以使用MOSFET驅動器來提升驅動電流和電壓。40 kHz條件下的接收器的增益決定了什么會被比較器探測到。
該演示只使用一個運算放大器作為差分放大器。由于只有一個增益級,因此不需要進行濾波。而多級接收器就需要在第一增益級和比較器之間作一些濾波處理以便減少噪聲。小心控制比較器的閾值電壓還將確保即使是最小的返回脈沖也能被明確探測到。
如果使用的是獨立的發(fā)射器和接收器,則應將二者按同一方向匹配安裝。所發(fā)射的 信號和隨后的振鈴都會通過PCB泄漏到接收器電路中。而在電路板上的裝置之間留 出更多空間或是放置一個保險裝置,將有助于減少這種泄漏。安裝超聲波換能器時, 通??墒褂孟鹉z或硅材料來減少往返于周圍材料的超聲波信號泄漏的量。
結論
超聲波測距可以借助PIC16F690、MCP6022運算放大器以及MuRata MA40S4R/S超聲波裝置來完成。PIC單片機的兩個端口引腳提供足夠的驅動力來發(fā)射超聲波脈沖。
Timer0和Timer1定時器被用于創(chuàng)建一個40 kHz的信號和對返回脈沖進行計時。
MCP6022放大了接收器的信號,而PIC16F690內部模擬比較器則用于探測信號中返回脈沖的存在。
-
超聲波
+關注
關注
63文章
2983瀏覽量
138161
發(fā)布評論請先 登錄
相關推薦
評論