蔡光昭+洪遠(yuǎn)泉+周永明
摘 ?要: 系統(tǒng)以STM32處理器為控制核心,主要包含超聲波發(fā)射電路、超聲波接收電路、溫度補(bǔ)償模塊和液晶顯示電路等電路。通過(guò)測(cè)量超聲波發(fā)射到遇到障礙物返回的時(shí)間差,計(jì)算出距離和速度。采用DS18B20檢測(cè)環(huán)境溫度,修正超聲波傳播速度誤差。經(jīng)測(cè)試,系統(tǒng)可測(cè)量5 m內(nèi)的距離和100 cm/s內(nèi)的速度。
關(guān)鍵詞: 嵌入式處理器; 測(cè)速測(cè)距; 超聲波; 溫度補(bǔ)償
中圖分類(lèi)號(hào): TN919?34; TP933 ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ?文章編號(hào): 1004?373X(2014)24?0087?03
Design of ultrasonic velocity and range measurement system based on STM32
CAI Guang?zhao, HONG Yuan?quan, ZHOU Yong?ming
(Department of Electronic Engineering, Shaoguan University, Shaoguan 512005, China)
Abstract: The system takes the STM32 processor as its control core, and mainly includes ultrasonic transmitting circuit, ultrasonic receiving circuit, temperature compensation module and liquid crystal display circuit. The distance and speed are calculated by measuring the time difference between ultrasonic emission and return. DS18B20 is used to detect the ambient temperature, and correct the ultrasonic propagation velocity error. The testing results show the system can measure the distance within 5 m and speed in 100 cm/s.
Keyword: embedded processor; velocity and range measurement; ultrasonic wave; temperature compensation
隨著科學(xué)技術(shù)的快速發(fā)展,測(cè)速測(cè)距儀在教學(xué)、科研和生活中的應(yīng)用越來(lái)越廣泛。目前,市面上大多測(cè)速測(cè)距儀器是基于激光或雷達(dá)的,雖然精度高,但價(jià)格較昂貴,操作復(fù)雜,難以普及應(yīng)用。而且,在很多場(chǎng)合,測(cè)速和測(cè)距的精度要求也不高。因此,操作簡(jiǎn)單、價(jià)格低廉、攜帶方便的自動(dòng)測(cè)速測(cè)距儀器有廣泛的應(yīng)用空間。本文介紹了一種基于STM32處理器的超聲波測(cè)速測(cè)距系統(tǒng)的設(shè)計(jì),具有操作簡(jiǎn)單、攜帶方便、測(cè)量快速、性?xún)r(jià)比高等優(yōu)點(diǎn)。
1 ?超聲波測(cè)速測(cè)距原理
諧振頻率高于20 kHz的聲波稱(chēng)為超聲波。超聲波為直線(xiàn)傳播方式, 頻率越高, 反射能力越強(qiáng), 而繞射能力越弱。利用超聲波的這種特性, 常常用做距離或者速度的測(cè)量。
超聲波發(fā)生器發(fā)出40 kHz的超聲波,以聲速[c]在空氣中傳播。超聲波到達(dá)被測(cè)物體時(shí),反射返回到超聲接收器。假設(shè)超聲波的往返時(shí)間為[t]。則被測(cè)物體的距離[S]如式(1)所示:
[S=ct/2] ? ? ? ? ? ? ?(1)
超聲波是聲波的一種,其速度不是一個(gè)固定值,跟溫度大小成正比關(guān)系。在干燥空氣中,聲速的經(jīng)驗(yàn)計(jì)算公式如式(2)所示:
[c=331.3+0.606T] ? ? (2)
式中:[T]為攝氏氣溫。常溫15 ℃下,聲速為340.4 m/s。
測(cè)量被測(cè)物移動(dòng)速度時(shí),在等間隔時(shí)間ΔT內(nèi),先后測(cè)量出待測(cè)物的距離S1,S2,利用式(3)可算得移動(dòng)速度[V]:
[V=(S2-S1)ΔT] ? ? ?(3)
可見(jiàn),超聲波測(cè)速測(cè)距系統(tǒng)中,關(guān)鍵是超聲波信號(hào)的發(fā)射接收以及超聲波發(fā)射到遇障礙物返回的時(shí)間的準(zhǔn)確測(cè)量[1?3]。
2 ?系統(tǒng)電路設(shè)計(jì)
超聲波測(cè)速測(cè)距系統(tǒng)電路主要包含STM32系統(tǒng)接口電路、超聲波發(fā)射電路、超聲波接收電路、溫度檢測(cè)電路等組成[4]。
系統(tǒng)結(jié)構(gòu)圖如圖1所示。
2.1 ?STM32處理器及系統(tǒng)接口電路
STM32F103處理器是32位的ARM微控制器,采用Cortex?M3 內(nèi)核,工作頻率為72 MHz。內(nèi)部集成多達(dá)128 KB的閃存,64 KB的SRAM。外設(shè)接口豐富,包括2 個(gè)12 b 的D/A轉(zhuǎn)換器、3個(gè)12位的A/D轉(zhuǎn)換器、3個(gè)通用16 b定時(shí)器和一個(gè)PWM 定時(shí)器。該內(nèi)核是專(zhuān)門(mén)設(shè)計(jì)于滿(mǎn)足集高性能、低功耗、實(shí)時(shí)應(yīng)用、具有競(jìng)爭(zhēng)性?xún)r(jià)格于一體的嵌入式領(lǐng)域的要求[5]。STM32處理器的主要接口電路如圖2所示。
2.2 ?超聲波發(fā)射電路
超聲波發(fā)射電路如圖3所示。主要由反相器74LS04和超聲波發(fā)射換能器T構(gòu)成,微處理器I/O口PA8輸出的40 kHz的方波信號(hào)TRIG,一路經(jīng)一級(jí)反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級(jí)反向器后送到超聲波換能器的另一個(gè)電極。這種推挽連接形式將方波信號(hào)加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采用兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。上拉電阻R3,R4一方面可以提高反向器74LS04輸出高電平的驅(qū)動(dòng)能力,另一方面可以增加超聲波換能器的阻尼效果,縮短其自由振蕩時(shí)間[6?7]。
2.3 ?超聲波接收電路
超聲波接收電路如圖4所示,主要超聲波專(zhuān)用接收芯片CX20106及其外圍器件組成。超聲波接收探頭接收到的超聲波信號(hào),送往CX2016的1腳,在芯片內(nèi)部進(jìn)行放大、濾波、積分比較和整形后,7腳輸出脈沖信號(hào)ECHO送往微處理器的PA8引腳進(jìn)行處理。ECHO信號(hào)為高電平時(shí),表示沒(méi)有接收到超聲波信號(hào)。一旦接收到超聲波,ECHO產(chǎn)生下降沿。如果持續(xù)接收到超聲波信號(hào),則ECHO信號(hào)為周期性脈沖波[8?10]。
3 ?系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)的主要任務(wù)是控制定時(shí)器驅(qū)動(dòng)超聲波發(fā)送器,并計(jì)算超聲波發(fā)射到返回的時(shí)間差,實(shí)現(xiàn)測(cè)速測(cè)距功能。
測(cè)速測(cè)距的波形圖如圖5所示,發(fā)送波TRIG由定時(shí)器TIM2產(chǎn)生,每隔T1時(shí)間,產(chǎn)生長(zhǎng)度為T(mén)1的40 kHz方波,驅(qū)動(dòng)超聲波發(fā)送器。T1的大小與系統(tǒng)的最大測(cè)量距離有關(guān)。如果測(cè)量距離為5 m,聲速按照常溫計(jì)算,T1至少為29.4 ms,系統(tǒng)設(shè)置T1為50 ms。為了計(jì)算超聲波發(fā)送到接收的時(shí)間差,從TRIG產(chǎn)生脈沖波開(kāi)始,啟動(dòng)定時(shí)器TIM3,對(duì)系統(tǒng)內(nèi)部72 MHz高速時(shí)鐘進(jìn)行計(jì)數(shù)。一旦回波ECHO產(chǎn)生下降沿跳變,則停止計(jì)數(shù)。根據(jù)計(jì)數(shù)值,算出T的大小,即為超聲波發(fā)送到接收的時(shí)間差。
軟件設(shè)計(jì)上,采用前后臺(tái)系統(tǒng)完成程序設(shè)計(jì)。前臺(tái)程序負(fù)責(zé)產(chǎn)生發(fā)送波TRIG和時(shí)間差T的計(jì)算。后臺(tái)程序負(fù)責(zé)系統(tǒng)的初始化控制,回波檢測(cè),時(shí)間差、速度和距離的計(jì)算顯示。后臺(tái)控制的程序流程圖如圖6所示。
4 ?結(jié) ?語(yǔ)
基于STM32處理器為控制核心的超聲波測(cè)速測(cè)距系統(tǒng),反應(yīng)速度較快,既可以測(cè)量速度,也可以測(cè)量距離,能滿(mǎn)足一般的日常需求。并且加入了溫度補(bǔ)償模塊和報(bào)警模塊,大大地增加的測(cè)量的準(zhǔn)確性和產(chǎn)品的人性化設(shè)計(jì)。系統(tǒng)能夠精準(zhǔn)地測(cè)量出5 m內(nèi)的距離,100 cm/s內(nèi)的速度,可以廣泛地應(yīng)用于工地測(cè)量,管道長(zhǎng)度測(cè)量,井深等不需要很高精度測(cè)量的場(chǎng)合。
參考文獻(xiàn)
[1] 胡曉,巴力登.基于AT89C52的超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2014(2):125?126.
[2] 蘭羽.基于AT89C51的超聲波測(cè)速系統(tǒng)設(shè)計(jì)[J].電子工程,2013(4):137?139.
[3] 蘭羽.具有溫度補(bǔ)償功能的超聲波測(cè)距系統(tǒng)設(shè)計(jì)[J].電子測(cè)量技術(shù),2013(2):85?87.
[4] 樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo)[M].2版.北京:北京航空航天大學(xué)出版社,2012.
[5] 陳志旺.STM32嵌入式微控制器快速上手[M].北京:電子工業(yè)出版社,2012.
[6] 劉升平,王劍,葛紅.超聲波測(cè)距系統(tǒng)的開(kāi)發(fā)與研究[J].計(jì)算機(jī)工程與應(yīng)用,2009(2):78?81.
[7] 劉鳳然.基于單片機(jī)的超聲波測(cè)距系統(tǒng)[J].傳感器世界,2000(5):19?21.
[8] 方正超,姚善學(xué).基于CX20106A的超聲波測(cè)距設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012(8):151?153.
[9] 秦偉,顏文俊.基于CX20106A的超聲倒車(chē)?yán)走_(dá)設(shè)計(jì)[J].壓電與聲光,2011(2):161?164.
[10] 蘭羽,周茜.超聲波測(cè)距系統(tǒng)接收電路研究[J].電子設(shè)計(jì)工程,2012,20(14):81?83.