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