超聲波信標導航
祖嬋:隊長,聽說今年信標對抗組中的信標是在前兩年的紅外+紅光導引的方式上,又增加了導航聲音信號。目的是為了提供與現(xiàn)場光線無關(guān)的導引信號,使得車模減少對現(xiàn)場光線的依靠。
對的。不過使用普通的聲音信號也會受到現(xiàn)場環(huán)境噪音的影響。如果使用單一頻率(俗稱窄帶信號)進行導航,雖然便于濾除環(huán)境噪音,但是會受到賽場四周墻壁反射的影響,使得反映信標位置的聲音相位出現(xiàn)紊亂?,F(xiàn)在組委會準備修改方案,在前兩屆的信標基礎(chǔ)上,增加超聲波導航信號。
為了更好理解超聲波導航信號的機理。下面對于常使用到的超聲波傳感器做一些簡單的實驗分析。這樣便于研究和設(shè)計超聲導航方案。
祖禪:在其他競賽賽題組中,我們使用過超聲波探頭。特別是在雙車跟蹤和超越組中使用過。當時是購買現(xiàn)場的超聲測距成品模塊用于檢測前后車的距離,對于其機理不太清楚,只是知道超聲波探頭分為發(fā)射和接收兩種探頭。
是的,超聲波傳感器一般分為發(fā)射和接收兩種探頭。兩種探頭一般是由前端帶有鐵絲紗窗開口的圓柱形鋁殼封裝壓電陶瓷片。壓電現(xiàn)象是一個可逆物理現(xiàn)象:即可以有施加的電壓產(chǎn)生機械振動,也可以由機械振動產(chǎn)生電壓。因此也有發(fā)射和接收兩種功能為一體的超聲傳感器。
超聲波傳感器如果使用普通的LCR表進行測量,會發(fā)現(xiàn)它呈現(xiàn)電容特性。電容值在幾個nF左右。從外部端口特性分析超聲波傳感器,可以看成由電感,電容和電阻組成的網(wǎng)絡(luò)。所以在不同的頻率下,它對應的電抗是不同的。
但是如果使用網(wǎng)絡(luò)阻抗分析儀測試,就會發(fā)現(xiàn)它會出現(xiàn)若干個諧振點。在諧振點的時候,傳感器呈現(xiàn)純電阻特性。
以下是測量兩種不同的超聲波探頭的輸入阻抗特性,繪制的是阻抗中純電阻R對應的導納數(shù)值。導納越大,表示對應的阻抗越小。
由于壓電陶瓷片在機械上具有不同的振動模態(tài),所以諧振傳感器對應的諧振頻率也會有若干個。如下是從20kHz至100kHz頻率范圍內(nèi)超聲波探頭導納數(shù)值曲線。
從上面阻抗結(jié)果來看,發(fā)射與接收探頭在20kHz~100kHz之間都有兩個諧振頻率點。兩種傳感器的發(fā)射頭的低頻諧振點都是40kHz,但高頻諧振點就有了比較大的區(qū)別。兩個接收探頭低頻諧振點都是38kHz多一點,居然比發(fā)射諧振點低,這一點的確出乎我們的所料。為什么發(fā)射和接受探頭的諧振點不同呢?
祖嬋:如果接收探頭諧振點偏離了發(fā)射信號(40kHz),會有什么壞處,又會有什么好處呢?
最直接的壞處就是降低了接收探頭的靈敏度,在同樣超聲波信號下,所產(chǎn)生的壓電信號就會減小很多。另外一個缺點就是增加了探頭的輸出阻抗。從面兩個探頭在它們諧振點出的阻抗分別是352歐姆和679歐姆。但是,在對應的40kHz處,輸出阻抗就會增加很大,這也會使得輸出信號進一步減小。
祖嬋:剛才你只提到了壞處。我想問,這樣會有什么好處嗎?
說實在的,現(xiàn)在為止,我還沒有想出有什么好處?為什么它們諧振點不同呢?
祖嬋:造成發(fā)射和接收探頭端口阻抗特性不同究竟與什么有關(guān)系呢?是否收到了傳感器內(nèi)收結(jié)構(gòu)的影響?
我也很想知道,發(fā)射和接收探頭之間究竟有什么區(qū)別。不如我們打開兩個傳感器瞧一瞧。
使用電動砂輪將鋁外殼很輕松的就可以磨削出一條縫來。在這個過程中最好帶著手套,或者將傳感器放在夾持器具固定,然后再磨削。上面拍攝的動圖,只是擺擺樣子。不一會兒,傳感器的外殼就會在磨削的過程中發(fā)熱,燙的手無法拿住傳感器。
撬開金屬外殼,可以看到傳感器包括有五個部分。其中最核心的就是壓電陶瓷片組件(4),它是由銅片作為基板,上面涂有壓電陶瓷材料,然后再陶瓷表面噴鍍有電極。
壓電陶瓷片的另一面帶有一個弧面金屬片,用于與空氣進行機械能量交換。壓電陶瓷片通過白色的固定膠與黑色塑料底座相連,引出電極也固定在底座上。由1,2,3,5金屬配件組成的金屬腔體提供了屏蔽和外殼保護作用。
仔細觀察發(fā)射和接收的內(nèi)部結(jié)構(gòu),外觀上也沒有看出有什么區(qū)別。只是壓電陶瓷片與底座固定的白色膠的多少有差別,也許這會影響了兩者機械振動諧振頻率。
祖嬋:既然從外觀上看不出兩者的區(qū)別,那么將來是否只能使用阻抗分析儀才能夠從諧振頻率上檢測出兩者的區(qū)別呢?
一般在在超聲頭的外殼中標有R或者T表示接受或者發(fā)送傳感器。如果看不清楚,也可以將傳感器與一個電阻串聯(lián),然后連接到一個普通的信號發(fā)生器的輸出。測量電阻或者傳感器上的電壓隨著頻率的變化曲線。當出現(xiàn)變化突變的時候,就說明出現(xiàn)了諧振,這樣,便可以得到對應的諧振頻率點。如下就是測量發(fā)射和接收頭在與1k歐姆電阻串聯(lián)時,隨著信號頻率的變化,傳感器上的交流電壓變化情況。
下面是發(fā)射頭的電壓變化曲線??梢钥吹匠霈F(xiàn)了兩次電壓突變,對應著兩個諧振頻率點。其中頻率低的突變反映了低頻諧振頻率40kHz。
對于接受頭同樣可以測量到它的諧振頻率。對應在38kHz的時候,出現(xiàn)了諧振。此時,接收頭表現(xiàn)為低阻抗,分壓就會出現(xiàn)最低值。
祖嬋:既然發(fā)射和接收諧振點不同,那么還能夠正常進行發(fā)送和接收嗎?
由于發(fā)射和接收諧振具有一定的帶寬,雖然他們中心點沒有對齊,但是它們諧振曲線帶寬有重疊,還是能夠完成發(fā)送和接收信號的。
下面將發(fā)射和接收探頭固定起來。然后施加不同的驅(qū)動信號,測量接收探頭輸出電壓。就可以得到發(fā)送和接收系統(tǒng)的幅頻特性曲線。它反映了發(fā)射與接收頭之間信號傳遞增益隨著頻率變化而產(chǎn)生的變化??梢钥吹皆?0khz的時候,發(fā)射與接收信號增益是最大的。
下面將幅頻特性在40kHz左右進一步拉開放大,可以大體觀察到系統(tǒng)增益下降一半(3dB)對應的帶寬是39kHz~41kHz。
祖嬋:使用超聲進行導航,相比于普通的聲音,它會有怎樣的抗干擾特性呢?
首先,在超聲波范圍呢,普通環(huán)境下的背景噪音就很小。另外,超聲波的波長很短,對應40kHz,波長大約為0.7厘米。因此聲音很容易被遮擋,衍射效應小。此外,發(fā)射和接收探頭具有很強的方向特性,這樣也會將來自不同方向的干擾進行空間濾除。
祖嬋:既然超聲波發(fā)射具有很強的指向性,那么如何保證在信標不同方向上,車模都能夠接收到來自信標的超聲波信號呢?
可以再新標一周按照不同方向安裝多個發(fā)射探頭來解決。這需要驗證一個問題,就是發(fā)射探頭究竟輻射寬度有多大?即在多大角度范圍內(nèi),接收探頭都可以很好的接收信號?
下面將發(fā)射探頭放在一個舵機上,隨著舵機轉(zhuǎn)動不同的角度,測量前面接收探頭輸出信號的幅度。
通過觀察,可以看到,隨著發(fā)送探溝轉(zhuǎn)動不同角度,接收信號會發(fā)生很大的變化。在發(fā)射和接收正對著的時候,接收信號最大。當發(fā)射往左右偏轉(zhuǎn)的時候,接收信號都會下降。特別是當偏轉(zhuǎn)角度達到90°的時候,接收信號就基本上降低為0了。
通過計算機采集在不同角度下接收的數(shù)據(jù)繪制成如下曲線,反映了發(fā)射探頭的超聲波輻射空間強度曲線。
當強度降低到一半的時候,對應角度為左右30°。因此,發(fā)射探頭的輻射寬度在幅值降低3dB的時候,為60°。按照這個數(shù)據(jù),只要在信標殼體四周每隔60°,安裝一個發(fā)射探頭,就可以大體保證在信標周圍形成比較均勻的超聲波信號了。
使用同樣的方法,也可以測量接受探頭的指向性。將發(fā)射探頭固定不動,使用舵機轉(zhuǎn)動接受探頭的方向,可以測量到接收信號的幅值隨著左右偏移角度的變化曲線。下圖就是實際測量的一組數(shù)據(jù)。接收頭的空間接收寬度也大概是60°左右。
超聲波具有很強的指向性,使得超聲波的強度隨著距離增加,下降速度變慢。下面利用一個直線導軌,承載這發(fā)射探頭相對接收探頭直線運動,通過這個裝置可以測量隨著發(fā)射和接收探頭之間的距離變化,接收信號的強度變化曲線。
下圖反映了兩次在不同導軌擺放位置下,接收信號與距離之間的關(guān)系。在前期信號下降比較快,在后期,信號隨著距離的衰減就不大了。其中出現(xiàn)了比較大的波動,估計是由空間形成的超聲駐波引起的干擾。具體原因仍然無法解釋。
祖嬋:前面的測量都是使用的帶有功率輸出的信號源驅(qū)動發(fā)射探頭發(fā)出超聲信號的。我們使用單片機如何驅(qū)動超聲發(fā)射頭呢?
直接使用單片機的IO是無法得到強的驅(qū)動信號的。在普通的超聲波模塊中,有一種方案是巧妙的使用了MAX232芯片來驅(qū)動超聲波發(fā)射頭的。在MAX232中集成了兩路RS232信號發(fā)送器。芯片本身通過電容開關(guān)方式將工作電壓5V倍壓和反壓形成了正負10V的電源,使用MAX232對超聲波探頭進行差動驅(qū)動,可以獲得等效正負20V的驅(qū)動信號,這樣可以獲得很強的輸出信號。
下面這個電路是采用了MOS管專用驅(qū)動芯片TC4427,它本身可以工作在很寬的電壓范圍內(nèi)。具有很強的電容驅(qū)動能力。使用這個芯片主要是為了能夠研究超聲波探頭發(fā)出信號與驅(qū)動電壓之間的關(guān)系。
通過改變TC4427工作電壓,可以獲得輸出不同幅值的驅(qū)動信號。下圖所展示的是輸出超聲波探頭在不同驅(qū)動電壓信號下,接受探頭輸出信號的幅值??梢钥闯?,隨著驅(qū)動信號的增加,發(fā)射信號的強度也隨之增加。但是隨著驅(qū)動信號超過了12V之后,發(fā)射信號的強度也逐步趨向飽和。因此發(fā)射信號的幅值可以選擇在12V至20V之間的范圍呢。
超聲波在傳播過程中,會受到空氣的影響。特別是聲音在空氣中傳播速度會與氣溫、氣壓等條件有關(guān)。下圖可以看到,當在發(fā)射和接收之間使用噴火器或者烙鐵對空氣進行加熱的時候,接收信號會出現(xiàn)非常大的變化??諝獾臏囟炔粌H會對聲音傳播速度有影響,同樣也會使得聲音在空氣中出現(xiàn)折射和反射。
祖嬋:前面看到的都是連續(xù)超聲波發(fā)送和接收的情況。為了實現(xiàn)導航,使得車模能夠得知距離信標的位置,則需要通過脈沖超聲波信號來完成。
對。通過測量發(fā)射與接收之間的時間差,再乘以空氣聲音傳播速度,便可以獲得車模與信標之間的距離。如果在車模上安裝多個不同位置的接受探頭,便可以獲得多點與信標之間的距離,通過幾何結(jié)算便可以獲得信標與車模之間的具體方位了。
最簡單的就是按照兩個相距一定距離的接受探頭,測量兩個探頭距離信標的距離。然后再根據(jù)超聲波的指向便可以唯一確定信標距離車模的方向和距離了。
下面的一組實驗展示了在試驗臺上相距56厘米的發(fā)送和接收探頭之間的信號傳遞特性。
可以通過示波器測量發(fā)送信號與接收信號之間的延遲大約為1760微妙。如果使用距離除以時間差,可以得到當時條件下,聲音傳播速度為319米/秒。
發(fā)射和接收探頭外觀上基本相似。下面波形顯示了發(fā)射和接收探頭在信號發(fā)送與接收的四種不同的組合,可以看出,不同的組合都能夠完成超聲信號的發(fā)送與接收。但只有使用發(fā)送探頭發(fā)送信號,接收探頭接收的情況下,接收到的信號強度最大。
祖嬋:用于測距的超聲脈沖應該多寬才好呢?
下面測量了發(fā)送40kHz超聲脈沖,從1個脈沖增加到50個脈沖,接收信號的變化情況。能夠看到接收信號的幅度隨著發(fā)送脈沖寬度的增加而加大。當脈沖個數(shù)超過了30之后,接收信號的幅度增加就趨向于飽和。如果再增加信號,只是增加了接收信號的寬度,但幅值并沒有增加多少。
由于接收信號的寬度對于測量時間差并沒有多大的貢獻。信號的幅值才是判斷信號達到的關(guān)鍵。信號寬度增加也同樣會帶來一個問題,那就是增加測量死區(qū)和測量重復率下降。
綜上所述,選擇超聲波脈沖寬度在20~30之間為好。
祖嬋:檢測電路需要對超聲波探頭輸出信號做哪些處理呢?
隨著不同的距離和方向,超聲波接收傳感器輸出的信號的幅度從幾十毫伏變化到幾千毫伏。實際上,這個信號幅值也巧好在單片機AD輸入范圍之內(nèi)。所以只要將該信號疊加上一個直流信號便可以送入單片機AD輸入口即可。
前面通過網(wǎng)絡(luò)阻抗分析儀測量得到對應接收頭諧振點(38kHz)它的輸出阻抗大約為幾百歐姆。但是在40kHz下,對應的阻抗就會增加,大約為幾k歐姆,這使得傳感器在接入帶有一定阻抗負載的電路時輸出信號幅度會降低。
上面的波形顯示,隨著負載阻抗增加,傳感器輸出信號的幅度也會相應增加,下圖曲線反映了不同外部分在下,傳感器輸出電壓變化情況。根據(jù)這個曲線使用最小二乘法可以估計出傳感器等效的輸出內(nèi)阻為3.4k歐姆。這個阻抗并不大,可以直接驅(qū)動AD采用輸入電路的。
也可以由外部電路對接收信號進行放大整形,獲得接收信號的脈沖,輸入單片機的中斷口,這樣可以獲得信號的到達時刻。
祖嬋:如果使用單片機采集接收到的信號,按照采樣定理,至少需要按照信號最高頻率的兩倍進行采樣。為了可靠分析,工程上往往采用5~10倍的采樣率。對于超聲波信號,如果按照5倍采樣,則需要2MHz的采樣,這對于普通的單片機,是無法實現(xiàn)的。究竟如何采樣信號呢?
實際上,為了判斷信號到達時刻,我們感興趣的是信號的包絡(luò)線。至于振蕩信號本身只是為了能夠便于信號通過超聲波探頭發(fā)送和接收而已。為了便于計算獲得信號的幅度,可以采用兩種采樣頻率:一種是160kHz, 一種是53.33kHz。這兩種采樣頻率對應的周期分別是40kHz信號的1/4,與3/4。因此,相鄰兩點數(shù)據(jù)在相位上相差pi/4, 或者3pi/4。這樣便可以利用相鄰兩項直接計算出信號包絡(luò)線的幅值。計算的方法如下:
在實際比賽中,信標會同時發(fā)送紅外和超聲信號。采用紅外接受傳感器(HS0038)便可以得到超聲信號發(fā)送的起始時刻。具體的信號波形如下圖所示:
采用超聲波周期的1/4,或者3/4進行信號采集,得到的信號波形以及計算出的包絡(luò)線波形如下圖所示。
計算公式的合理性是在于,當采樣周期等于載波周期的1/4,3/4時,相鄰兩個采樣點對應的載波信號恰好相差90°。假設(shè)包絡(luò)線信號變化緩慢,因此,相鄰兩點的均方根便是包括線的幅值。
有了接收信號的包絡(luò)線,剩下的便可以通過計算信號的一階矩,或者進行波形參數(shù)估計,便可以精確獲得信號的到達時間了。如果處理器速度比較快,采用信號相關(guān)算法也可以比較方便得到信號達到時刻。
通過超聲波導航,比賽現(xiàn)場就可以允許陽光出現(xiàn)了,參賽隊伍車模便可以有更強的適應環(huán)境的能力。
祖禪:隊長,我突然想起一個嚴重的問題:既然現(xiàn)場信標中使用了超聲波,那么車模為了躲避信標,就不能夠使用超聲波傳感器了。那該怎么辦呢?
當然,如果直接使用普通的超聲波測距傳感器,就會受到信標發(fā)出的超聲導航信號的干擾。一方面,可以利用攝像頭傳感器進行障礙物的檢測。另一方面,也可以采用不同頻率點的超聲波測距,比如在50kHz, 75kHz超聲波日干起。此外,采用一些特殊的信號措施,也是可以避免這方面的干擾的。相關(guān)的算法我們下一次再進行討論。