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