廖 平,吳躍松,王 鵬,岳莉莉
(高性能復(fù)雜制造國(guó)家重點(diǎn)實(shí)驗(yàn)室(中南大學(xué)),湖南長(zhǎng)沙 410083)
針對(duì)目前超聲波測(cè)距系統(tǒng)存在著測(cè)距精度較低、系統(tǒng)穩(wěn)定性較差、測(cè)距距離相對(duì)較短、實(shí)時(shí)性差等問題。文中采用變壓器耦合功率放大電路,提高超聲波發(fā)射信號(hào)的功率,增大測(cè)距量程。采用溫度補(bǔ)償方式,提高系統(tǒng)測(cè)距精度。采用對(duì)數(shù)放大器,解決提取發(fā)射信號(hào)和回波信號(hào)包絡(luò)問題,實(shí)現(xiàn)高穩(wěn)定性的超聲波測(cè)距系統(tǒng)。超聲波測(cè)距在工程機(jī)械長(zhǎng)臂架壁障和物位測(cè)量等領(lǐng)域有廣泛的應(yīng)用[1]。
超聲波在相當(dāng)大的頻率范圍內(nèi)聲速不隨頻率變化,波動(dòng)的傳播方向與振動(dòng)方向一致,是縱向振動(dòng)的彈性機(jī)械波。目前超聲波測(cè)距普遍采用脈沖回波法,其工作原理是用脈沖去激勵(lì)超聲波換能器使其振動(dòng)發(fā)射超聲波,然后接收反射回來的信號(hào),通過檢測(cè)脈沖發(fā)射到接收到回波的時(shí)間t,然后按照公式s=vt/2,可以計(jì)算出距離s[2]。
目前用的最多的檢測(cè)回波時(shí)間的方法是閥值檢測(cè)法[3]。根據(jù)此方法設(shè)計(jì)了超聲波測(cè)距系統(tǒng)。系統(tǒng)采用的單片機(jī)為STM32F103CBT6。由STM32控制發(fā)射脈沖信號(hào),脈沖信號(hào)經(jīng)過脈沖變壓器升壓后驅(qū)動(dòng)超聲波換能器,超聲波換能器振動(dòng)發(fā)射超聲波。前置放大電路接收超聲波發(fā)射信號(hào)和超聲波回波信號(hào),并對(duì)其放大。經(jīng)過放大的信號(hào)經(jīng)過帶通濾波電路,濾掉電路中的雜波信號(hào),對(duì)數(shù)放大電路提取超聲波發(fā)射信號(hào)和超聲波回波信號(hào)的包絡(luò)。因?yàn)樘崛“j(luò)的信號(hào)幅值波動(dòng)比較大,因此再次接入一個(gè)峰值檢波電路,使信號(hào)的幅值變化趨于平坦。最后送入末級(jí)放大和整形比較電路。經(jīng)過整形電路后輸出兩個(gè)方波信號(hào),利用STM32捕捉兩個(gè)方波信號(hào)的上升沿和下降沿。兩個(gè)方波上升沿所對(duì)應(yīng)的時(shí)間差就是脈沖發(fā)射到接收到回波的時(shí)間t,經(jīng)過計(jì)算可得到距離s,再用CAN總線把測(cè)量結(jié)果送到上位機(jī)[4]。測(cè)距系統(tǒng)的總體設(shè)計(jì)如圖1所示。
圖1 測(cè)距系統(tǒng)總體設(shè)計(jì)
3.1超聲波發(fā)射驅(qū)動(dòng)電路
驅(qū)動(dòng)換能器的峰峰值電壓需要大于400Vpp,且發(fā)射電路的輸出阻抗必須與超聲波換能器的阻抗相匹配,因此采用變壓器耦合功率放大電路。
常規(guī)的超聲波發(fā)射電路采用數(shù)字非門芯片,將TTL電平轉(zhuǎn)化成MOS電平,盡管輸出MOS電平達(dá)到驅(qū)動(dòng)MOS管的要求,但是如果采用RX232電平驅(qū)動(dòng)MOS管,MOS飽和時(shí)的漏極電流IDM1將比用MOS電平驅(qū)動(dòng)的MOS管的漏極電流IDM2更大。設(shè)計(jì)采用MAX232可以將TTL電平轉(zhuǎn)化成RX232電平,而MAX電平的高電平可以達(dá)到12 V,設(shè)計(jì)發(fā)射電路如圖2。
圖2 超聲波發(fā)射電路圖
3.2超聲波接收電路
當(dāng)障礙物距離換能器20 m時(shí),超聲波換能器接收回來的信號(hào)大小只有40 mV,因此需要用前置放大電路對(duì)回波信號(hào)進(jìn)行放大。選用輸入阻抗大的前置放大器。AD620是一款低成本,高精度儀表放大器。通過調(diào)節(jié)8號(hào)引腳跟7號(hào)引腳之間的電阻可以改變放大器的增益,增益范圍為1~1 000。
前置放大電路輸出的信號(hào)中除了25 Hz的輸入脈沖信號(hào)和回波信號(hào)外,還有50 Hz的工頻信號(hào)、次級(jí)脈沖變壓器輻射到空氣的雜波信號(hào)等,因而需要通過一個(gè)帶通濾波器過濾掉一些不需要的信號(hào),保留需要檢測(cè)的信號(hào)。如圖3,設(shè)計(jì)采用由MC33078放大器構(gòu)成的多路反饋理論上無限增益的二階帶通濾波電路。
3.3對(duì)數(shù)放大電路及比較電路
采用對(duì)數(shù)放大器AD8310可以在不影響測(cè)距精度的前提下,實(shí)現(xiàn)信號(hào)檢波的功能,提取脈沖信號(hào)的包絡(luò)[5]。盡管提取出來的信號(hào)丟失了頻率和相位等信息,但是只要在后面采用比較電路整形,用STM32捕捉方波信號(hào)的上升沿和下降沿所對(duì)應(yīng)的時(shí)間就可以判斷出超聲波在空氣中傳播的時(shí)間,即能判斷出障礙物到超聲波換能器的距離。從硬件上提取信號(hào)的包絡(luò),大大減低CPU的處理時(shí)間,使測(cè)距過程更具穩(wěn)定性和實(shí)時(shí)性。
圖3 超聲波接收電路圖
經(jīng)過對(duì)數(shù)放大器電路后,信號(hào)幅值最大值為2.5 V,而且當(dāng)障礙物距離換能器20 m時(shí),回波信號(hào)經(jīng)過對(duì)數(shù)放大以后輸出的幅值只有1.2 V,因而在對(duì)數(shù)放大電路后面加上末級(jí)放大電路。采用LM358放大器構(gòu)成簡(jiǎn)單的放大電路。LM358是帶寬為1 MHz,最大放大倍數(shù)為100 dB的雙運(yùn)放放大器。調(diào)節(jié)R36的阻值可以改變電路的放大倍數(shù)。二極管D5、電容C38和電阻R38構(gòu)成峰值檢波電路可以提取信號(hào)的峰峰值,使輸入到整形比較電路的信號(hào)更加平滑[6]。
MAX913是單通道高速、低功耗、差分輸入和互補(bǔ)的TTL輸出比較器。輸入電壓范圍為0~15 V,高電平輸出電壓為3.3 V,低電平輸出為0.3 V.通過調(diào)節(jié)電位器R53和R54的電阻比值,可以調(diào)節(jié)MAX913的閾值電壓UT[7]。設(shè)計(jì)的電路如圖4。
圖4 對(duì)數(shù)放大與整形比較電路圖
3.4溫度補(bǔ)償電路
超聲波在媒介中的傳播速度將隨著環(huán)境溫度改變而改變,超聲波傳播的速度與環(huán)境溫度補(bǔ)償公式為:
c=331.45+0.6T
根據(jù)上式可以看出溫度每改變1 ℃,速度將改變0.6 m/s.因此溫度補(bǔ)償?shù)木葘?huì)在很大程度上影響測(cè)量的精度。為了提高超聲波測(cè)距系統(tǒng)的精度,對(duì)系統(tǒng)采取溫度補(bǔ)償,以減小溫度變化對(duì)測(cè)距精度的影響。溫度矯正采用DS18B20智能溫度傳感器,該傳感器能直接讀出環(huán)境溫度值,并采用單線接口方式,將溫度值發(fā)送給單片機(jī)。電路圖如5。
圖5 溫度傳感器電路圖
3.5CAN收發(fā)電路
CAN總線的硬件電路一般由CAN控制器、CAN收發(fā)器組成。電路所采用的STM32系列單片機(jī)提供了進(jìn)行CAN總線通信的硬件支持——CAN接口,不必加入其他外置的CAN控制器,簡(jiǎn)化了CAN總線通信的硬件電路。在一般情況下,為了進(jìn)一步提高CAN總線通信的可靠性和抗干擾能力,需要在單片機(jī)的CAN接口與CAN收發(fā)器之間加入電器隔離模塊,來減少干擾信號(hào)。采用CTM1050高速隔離收發(fā)器,該芯片內(nèi)部集成了CAN-bus所必須的收發(fā)電路、電器隔離電路。
單片機(jī)STM32F103CBT6的CAN總線的軟件處理過程:對(duì)CAN總線的寄存器、波特率過濾器等進(jìn)行初始化設(shè)置,開啟CAN中斷處理用于接收主控制系統(tǒng)的數(shù)據(jù),最后發(fā)送數(shù)據(jù)給上位機(jī)。
根據(jù)長(zhǎng)距離超聲測(cè)距系統(tǒng)控制要求、溫度檢測(cè)和通信方式等內(nèi)容設(shè)計(jì)了單片機(jī)的控制程序。在軟件的主程序中,單片機(jī)主要實(shí)現(xiàn)以下功能模塊:
(1)單片機(jī)發(fā)射脈沖信號(hào):?jiǎn)纹瑱C(jī)首先發(fā)射10個(gè)頻率為25 kHz的脈沖信號(hào),單片機(jī)接收到回波脈沖則下次發(fā)射還是發(fā)射10個(gè)。若單片機(jī)沒有接收到回波信號(hào)則發(fā)射30個(gè)頻率為25 kHz的脈沖信號(hào)。
(2)溫度傳感器將采集的溫度發(fā)送給單片機(jī),單片機(jī)根據(jù)環(huán)境溫度值計(jì)算出超聲波的發(fā)射速度。
(3)單片機(jī)對(duì)接收回來的超聲波發(fā)射信號(hào)和回波信號(hào)進(jìn)行處理,計(jì)算出當(dāng)前障礙物的距離。
(4)單片機(jī)通過CAN總線與上位機(jī)進(jìn)行通信,將測(cè)距結(jié)果發(fā)給主控制系統(tǒng)。
超聲波測(cè)距系統(tǒng)的主程序流程圖如圖6。
圖6 主程序流程圖
在距離超聲波換能器正前方4.7 m處,放置一個(gè)障礙物,給電路板供電,軟件控制STM32發(fā)射10個(gè)頻率為25 kHz的脈沖,用示波器觀察整形比較電路輸出端的波形圖如圖7,從圖7可以看出:比較電路輸出端輸出兩個(gè)方波波形,分別對(duì)應(yīng)于發(fā)射信號(hào)和回波信號(hào),示波器縱向每個(gè)格子代表5 ms,則從發(fā)射超聲波信號(hào)到接收到超聲波信號(hào)的時(shí)間約為0.028 s,通過粗略計(jì)算可以知道換能器距離障礙物的距離約為4.7 m.
圖7 比較電路輸出端波形
用STM32對(duì)如圖7所示比較電路輸出的方波信號(hào)進(jìn)行捕捉??紤]到捕捉信號(hào)過程中可能會(huì)出現(xiàn)誤判斷,因此對(duì)方波信號(hào)的脈寬寬度進(jìn)行判斷,當(dāng)脈寬的寬度達(dá)到一定的要求,方可認(rèn)為該方波信號(hào)為超聲波發(fā)射信號(hào)或者超聲波回波信號(hào)。設(shè)置STM32外部中斷的方式為上升沿或下降沿捕捉方式。當(dāng)STM32捕捉到方波信號(hào)的上升沿或者下降沿時(shí),馬上進(jìn)入中斷進(jìn)行中斷處理,并記錄下進(jìn)入中斷的時(shí)間。假設(shè)第一次捕捉到方波信號(hào)的上升沿所對(duì)應(yīng)的時(shí)間為t1,下降沿所對(duì)應(yīng)的時(shí)間為t2,第二次捕捉到方波信號(hào)的上升沿所對(duì)應(yīng)的時(shí)間為t3,下降沿所對(duì)應(yīng)的時(shí)間為t4。第一個(gè)方波和第二個(gè)方波分別對(duì)應(yīng)發(fā)射信號(hào)和回波信號(hào),因而t3-t1的時(shí)間就是超聲波發(fā)射到接收到回信號(hào)所對(duì)應(yīng)的時(shí)間t.根據(jù)公式s=v(t3-t1)/2,即可計(jì)算出距離s,然后將測(cè)量的結(jié)果通過串口顯示到電腦上。采用同樣的方法,依次對(duì)距離換能器0~2 000 cm的障礙物進(jìn)行測(cè)量,測(cè)量的結(jié)果如表1所示。
表1 測(cè)距測(cè)量結(jié)果
從表1可以看出超聲波測(cè)距系統(tǒng)存在盲區(qū),在0~50 cm的范圍內(nèi),是無法進(jìn)行測(cè)量的,這是因?yàn)槌暡〒Q能器在激勵(lì)停止的時(shí)候?qū)a(chǎn)生余振,導(dǎo)致超聲波測(cè)距系統(tǒng)無法進(jìn)行測(cè)量,因而在測(cè)量近距離的障礙物時(shí)只發(fā)射10個(gè)脈沖,減小超聲波換能器余振。而對(duì)于遠(yuǎn)距離的障礙物,可以增加發(fā)射脈沖的個(gè)數(shù),使換能器的輻射功率達(dá)到最大。從表1可以看出該超聲波系統(tǒng)可以測(cè)量20 m范圍內(nèi)的障礙物。因?yàn)槌暡ㄔ诳諝庵袀鞑ニ俣鹊淖兓?、?duì)數(shù)放大器提取包絡(luò)的準(zhǔn)確性、整形比較電路閥值的取值大小等因素將影響到超聲波測(cè)距系統(tǒng)的精度[8]。
因此,在系統(tǒng)設(shè)計(jì)過程中,發(fā)射電路采用MAX232芯片將TTL電平轉(zhuǎn)化成MAX電平來驅(qū)動(dòng)MOS管,增大發(fā)射功率,提高超聲波測(cè)距系統(tǒng)的量程。并在硬件上增加溫度檢測(cè)電路,實(shí)時(shí)檢測(cè)當(dāng)?shù)販囟?,減小系統(tǒng)測(cè)距誤差。
設(shè)計(jì)了基于STM32的超聲波測(cè)距系統(tǒng),在硬件上采用變壓器耦合功率放大電路作為超聲波發(fā)射電路,用對(duì)數(shù)放大器電路提取超聲波發(fā)射信號(hào)和超聲波回波信號(hào)包絡(luò),使測(cè)距簡(jiǎn)單方便;在軟件上根據(jù)溫度與超聲波傳播速度的補(bǔ)償公式,對(duì)超聲波在空氣中的傳播速度實(shí)時(shí)補(bǔ)償。同時(shí),將最后的測(cè)距結(jié)果通過CAN總線發(fā)送給上位機(jī),實(shí)現(xiàn)超聲波測(cè)距系統(tǒng)的智能化。通過試驗(yàn)證明,超聲波測(cè)距系統(tǒng)可以進(jìn)行50~2 000 cm范圍內(nèi)障礙物的測(cè)量,且測(cè)距精度高、實(shí)時(shí)效果好、制作簡(jiǎn)單。
參考文獻(xiàn):
[1]李戈,孟祥杰,王曉華,等.超聲波測(cè)距原理及實(shí)踐技術(shù).測(cè)繪科學(xué),2011,36(4):60-62.
[2]李茂山.超聲波測(cè)距原理及實(shí)踐技術(shù).實(shí)用測(cè)試技術(shù),1994(1):12-20.
[3]簡(jiǎn)盈.大作用距離超聲波測(cè)距技術(shù)研究:[學(xué)位論文].長(zhǎng)沙:國(guó)防科技大學(xué),2004.
[4]童亮.基于CAN總線的智能超聲波測(cè)距系統(tǒng).儀表技術(shù)與傳感器,2007(12):34-36.
[5]湯濤林,關(guān)長(zhǎng)濤,倪漢華,等.AD8310在網(wǎng)箱學(xué)檢測(cè)中的應(yīng)用.電子設(shè)計(jì)工程師,2009,17(3):12-20.
[6]邵軍,孫廣榮.新型峰值包絡(luò)檢波器的研究.電聲技術(shù),1995(11):9-12.
[7]童詩白,華成英.模擬電子技術(shù)基礎(chǔ).北京:清華大學(xué)出版社,2004.
[8]童峰,許水源,許天增.一種高精度超聲波測(cè)距處理方法.廈門大學(xué)學(xué)報(bào)(自然科學(xué)版),1998,37(4):507-512.
作者簡(jiǎn)介:廖平(1964-),教授/博士,主要研究方向是機(jī)電一體化和計(jì)算機(jī)測(cè)控技術(shù)。E-mail:liaoping0@163.com