陶文超 董辛 張益銘
摘要:本文基于ARM內(nèi)核的STM3處理器設(shè)計(jì)了一種單脈 沖反射式超聲測距系統(tǒng)。在分析了超聲波傳感器測距原理和測距范圍后, 提出了自動(dòng)可調(diào)增益減小盲區(qū)、DSl8B20溫度補(bǔ)償?shù)脑O(shè)計(jì)方案。實(shí)驗(yàn)表明自動(dòng)可調(diào)增益電路可使回波信號有較高的信噪比;溫度補(bǔ)償校正可以提高超聲測距儀的精度;所設(shè)計(jì)系統(tǒng)達(dá)到毫米級精度。
關(guān)鍵詞:測距儀 超聲波傳感器 溫度補(bǔ)償
中圖分類號:TB517 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1007-9416(2016)07-0164-01
1 介紹
超聲波測距是一種非接觸式的檢測技術(shù),主要有脈沖回波法和相位差法,脈沖回波法使用脈沖激勵(lì)探頭向外輻射超聲波,同時(shí)接收反射回來的回波,通過檢測超聲波從發(fā)射至接收所經(jīng)歷的時(shí)間(ToF),可計(jì)算出探頭與被測物體的距離d,即,其中c為聲波在介質(zhì)中的傳播速度,可由下式得出:
t是空氣溫度(℃),T0=273.16K。工程上一般考慮的是溫度的影響
2 系統(tǒng)設(shè)計(jì)
本系統(tǒng)從結(jié)構(gòu)來分主要有五個(gè)部分:發(fā)射接收部分,溫度檢測模塊,顯示模塊、中央處理單元。
(1)發(fā)射模塊負(fù)責(zé)發(fā)送40KHZ的方波信號。
(2)接收部分將接收到的回波信號, 經(jīng)檢波放大整形等處理后,送至單片機(jī)中斷口。
(3)單片機(jī)通過中斷控制得出超聲波在空氣中的傳播時(shí)間t,最后根據(jù)公式 s=c×t/2便可得出測量結(jié)果(c為聲速)。
(4)溫度檢測模塊實(shí)時(shí)檢測環(huán)境溫度以修正溫度變化對測量距離精度的影響。
(5)顯示模塊采用LCD顯示坐標(biāo),其中X軸為時(shí)間,Y軸為測得距離,坐標(biāo)軸下方實(shí)時(shí)顯示測得的距離。
3 主要考慮參數(shù)
(1)傳感器的指向角θ是聲束半功率點(diǎn)的夾角,它直接影響測量的分辨率,對圓片傳感器來說,它的大小與工作波長λ,傳感器半徑r有關(guān),因(2π/λ)*r*sin(θ/2)=1.615。
本設(shè)計(jì)選f0=40KHz時(shí)λ=C/ f0=8.5mm,壓電傳感器片半徑r=6.3mm,故指向角。
(2)工作頻率??諝庵谐暡ǖ乃p對頻率很敏感,要求合理選擇超聲波頻率,本方案選擇40KHz左右。
(3)聲速??紤]到環(huán)境溫度對超聲波傳播速度的影響,通過溫度補(bǔ)償?shù)姆椒▽鞑ニ俣扔枰孕U?,以提高測量精度。計(jì)算公式為:V=331.5+0.607T其中,T是溫度。
(4)發(fā)射脈沖寬度。發(fā)射脈沖寬度決定了測距儀的測量盲區(qū),也影響測量精度,同時(shí)與信號的發(fā)射能量有關(guān)。本設(shè)計(jì)中,選用了8個(gè)40KHz脈沖方波的發(fā)射脈沖寬度。
4 系統(tǒng)軟件結(jié)構(gòu)
本設(shè)計(jì)采用單片機(jī)內(nèi)部定時(shí)器來測量超聲波從傳播到返回的時(shí)間,系統(tǒng)的主控芯片STM32采用72MHz主頻,距離值的得出及顯示在中斷子程序中完成。中斷響應(yīng)之后,原始數(shù)據(jù)經(jīng)換算子程序計(jì)算后顯示輸出。整個(gè)系統(tǒng)軟件功能的實(shí)現(xiàn)可以分為主程序、子程序、中斷服務(wù)程序幾個(gè)主要部分。
系統(tǒng)初始化過程中,首先對主控芯片STM32時(shí)鐘進(jìn)行設(shè)置:關(guān)閉外設(shè)時(shí)鐘功能,并配置中斷向量表;然后開啟外部時(shí)鐘,即置位RCC->CR.16位也就是HSEON位,并等待時(shí)鐘就緒;設(shè)置APB1時(shí)鐘二分頻;PLL時(shí)鐘三倍頻,并設(shè)置HSE時(shí)鐘作為PLL時(shí)鐘輸入;設(shè)置PLL時(shí)鐘作為系統(tǒng)時(shí)鐘。
設(shè)置GPIOA工作時(shí)鐘為50MHZ。開啟TIMER3時(shí)鐘,設(shè)置TIMER3的自動(dòng)重裝初值為50000,720預(yù)分頻。設(shè)置TIMER0的搶占優(yōu)先級為1,響應(yīng)優(yōu)先級為3,分配至第2組。TIM3->CR1第一位置位,使能定時(shí)器3。
人機(jī)界面初始化:LCD應(yīng)用GPIOB和GPIOC,在初始化中,均設(shè)置為推挽輸出模式,工作時(shí)鐘頻率為50MHZ。初始化后,LCD顯示屏顯示出超聲波距離---測距次數(shù)的坐標(biāo)抽,并顯示字符串“distancem”。
5 超聲波測距程序流程
超聲波TRIG引腳即GPIOA第八腳,發(fā)送一個(gè)大于10uS的方波,使超聲波模塊發(fā)射一段超聲波,然后等待ECHO被拉高。拉高之后,超聲波ECHO引腳開始檢測返回聲波并啟動(dòng)定時(shí)器,記錄當(dāng)前定時(shí)器3的計(jì)數(shù)器TIM3->CNT寄存區(qū),此數(shù)據(jù)為new_cnt,然后等待超聲波的ECHO引腳拉低,當(dāng)超聲波模塊檢測到回聲后,記錄此時(shí)定時(shí)器3的計(jì)數(shù)器TIM3->CNT寄存器,此數(shù)據(jù)為old_cnt。兩次計(jì)數(shù)器的值相減即得到超聲波在空氣中的傳輸時(shí)間。根據(jù)公式:S=(new_cnt-old_cnt)*340/(2*100000)。
即可計(jì)算出距離S,能夠精確至毫米。得到距離S后,需要進(jìn)行一個(gè)盲區(qū)處理,超聲波具有3-5厘米的盲區(qū)處理,因此只有當(dāng)S>5厘米時(shí),證明采集的距離有效。
6 過程及分析
基于前面設(shè)計(jì)的電路及程序進(jìn)行了超聲回波特性試驗(yàn)。
實(shí)驗(yàn)一:同一溫度下,測量不同的距離,記錄實(shí)際距離和測量距離,并進(jìn)行比。
實(shí)驗(yàn)二:不同溫度下在一固定處分別對有溫度補(bǔ)償和無溫度補(bǔ)償?shù)南到y(tǒng)進(jìn)行距離測量實(shí)驗(yàn),實(shí)由實(shí)驗(yàn)可知,若溫度變化不大,則可認(rèn)為聲速是基本不變,可通過標(biāo)準(zhǔn)距離(1+T/273.16)1/2校準(zhǔn)后使用。如果溫度變化較大且測距精度要求高,則應(yīng)通過溫度補(bǔ)償加以校正。
實(shí)驗(yàn)三:在不同位置處測量距離,目的是檢測測距儀表的盲區(qū)大小,由實(shí)驗(yàn)三分析可知,本測距儀表的盲區(qū)為6cm。
7 結(jié)語
本文完成了對小盲區(qū)的超聲波測距系統(tǒng)的設(shè)計(jì)研究,在設(shè)計(jì)中采用了自動(dòng)可調(diào)增益電路和溫度補(bǔ)償校正的方法來減小系統(tǒng)的盲區(qū)并提高其精度,并且通過實(shí)驗(yàn)來證實(shí)其效果。由于篇幅的限制,并未給出相關(guān)程序。
參考文獻(xiàn)
[1]陳瑩.基于單片機(jī)的超聲測距系統(tǒng)[D].華中科技大學(xué)碩士學(xué)位論文,2004.
[2]王瑩.高精度超聲波測距儀的研究設(shè)計(jì)[D].安徽大學(xué)碩士學(xué)位論文,2007.
[3]周麗軍.便攜式多功能超聲檢測系統(tǒng)設(shè)計(jì)[D].華中科技大學(xué)碩士學(xué)位論文,2005.