唐慧強(qiáng),徐昊德,劉 佳
(南京信息工程大學(xué)信息與控制學(xué)院,江蘇南京 210044)
?
基于ARM11的長(zhǎng)距離高精度超聲波測(cè)距儀
唐慧強(qiáng),徐昊德,劉 佳
(南京信息工程大學(xué)信息與控制學(xué)院,江蘇南京 210044)
設(shè)計(jì)了一種基于S3C6410的高精度超聲波測(cè)距儀。給出了一種高精度測(cè)距的方法,通過將回波信號(hào)數(shù)字化處理來(lái)求取接收波形的起始位置。設(shè)計(jì)了信號(hào)發(fā)射電路、接收信號(hào)放大濾波電路、A/D轉(zhuǎn)換電路及ARM系統(tǒng)的檢測(cè)電路。利用MATLAB仿真,并用C語(yǔ)言實(shí)際編程,基于WinCE6.0操作系統(tǒng)設(shè)計(jì)了模數(shù)轉(zhuǎn)換等底層驅(qū)動(dòng)和應(yīng)用軟件系統(tǒng)。實(shí)驗(yàn)表明測(cè)距儀一致性較好,不一致性約為0.19 mm。
超聲波;測(cè)距儀;嵌入式;WinCE6.0;MATLAB;流接口驅(qū)動(dòng)
超聲波測(cè)距以其可靠性高、性價(jià)比高等優(yōu)點(diǎn)被廣泛應(yīng)用于工業(yè)生產(chǎn)、智能小車,智能機(jī)器人、汽車倒車?yán)走_(dá)等的檢測(cè)中。目前長(zhǎng)距離時(shí)差法超聲波測(cè)距的方法大多采用包絡(luò)或閾值檢測(cè)[1],測(cè)量精度一般;也有采用小波分析方法的,其處理復(fù)雜,不易實(shí)用化[2]。本設(shè)計(jì)充分利用S3C6410處理器的快速運(yùn)算處理能力,采用數(shù)字化方案,以取得高精度。
系統(tǒng)的原理如圖1所示,通過測(cè)算出超聲波發(fā)射到接收反射信號(hào)的時(shí)間t以及在空氣中的傳播速度c來(lái)測(cè)量距離。當(dāng)超聲波探頭到反射物的距離d遠(yuǎn)大于超聲波探頭之間的距離時(shí),超聲波傳播距離L近似等于2d。則所測(cè)距離d如式(1)所示:
(1)
圖1 系統(tǒng)原理框圖
超聲波在空氣中的傳播速度與環(huán)境溫度T有關(guān),可表示為式(2):
(2)
式中:c為超聲波在空氣中傳播速度,m/s;T為環(huán)境溫度,℃。
通過高精度溫度傳感器測(cè)出環(huán)境溫度就能確定超聲波傳播速度。
超聲波接收信號(hào)是一串連續(xù)的波形,對(duì)于頻率為40 kHz的超聲波,其周期為25 μs。在對(duì)接收信號(hào)量化時(shí),如采樣頻率為1 MHz,則兩個(gè)采樣點(diǎn)的間隔時(shí)間為1 s。如常溫下空氣中聲速340 m/s,則檢測(cè)分辨率可以達(dá)到0.17 mm。但需準(zhǔn)確找到接收波形的第一個(gè)周期起始位置才能保證高精度,而接收波形的第一個(gè)周期信號(hào)非常微弱,與噪聲疊加后不易辨識(shí),為此采用了數(shù)字濾波、找最大峰值、擬合正弦信號(hào)的方法[3]來(lái)確定第一個(gè)周期信號(hào)。處理信號(hào)的過程如圖2所示。
由圖2可以看出,在開始的位置干擾信號(hào)較強(qiáng),這是直接接收發(fā)射信號(hào)的結(jié)果,造成約17 cm的盲區(qū),導(dǎo)致在近距離時(shí)測(cè)量結(jié)果不夠準(zhǔn)確。
圖2 ADC采集信號(hào)
A/D轉(zhuǎn)換后的數(shù)字信號(hào)序列需要經(jīng)過數(shù)字濾波濾去噪聲?,F(xiàn)采用無(wú)限沖激響應(yīng)(IIR)數(shù)字濾波器來(lái)設(shè)計(jì)橢圓帶通濾波器,相比巴特沃斯或切比雪夫?yàn)V波器能獲得更陡峭衰減曲線,即在階數(shù)相同的情況下,橢圓濾波器能獲得更窄的帶寬和較小的阻帶波動(dòng)。為保證濾波后信號(hào)不發(fā)生相移,在對(duì)數(shù)字信號(hào)x首次濾波后,倒序后再濾波,最后再倒序以恢復(fù)原始順序,由此實(shí)現(xiàn)對(duì)x的零相移數(shù)字濾波處理。對(duì)采集到的數(shù)字信號(hào)進(jìn)行帶寬20~60 kHz濾波后,在序列B中找到最大峰值所對(duì)應(yīng)的位置,從該波形的左側(cè)過零點(diǎn)開始,逐周期利用正弦信號(hào)擬合,并驗(yàn)證擬合的顯著性,從而準(zhǔn)確判斷出反射信號(hào)的起始位置。圖3是其擬合信號(hào)的起始位置。經(jīng)過實(shí)際信號(hào)的反復(fù)試驗(yàn),都能準(zhǔn)確判別出反射信號(hào)的起始位置。
圖3 濾波后的正弦擬合信號(hào)起始位置
系統(tǒng)硬件電路包括信號(hào)發(fā)射電路、信號(hào)接收放大電路和A/D轉(zhuǎn)換電路等。選取40 kHz的超聲波換能器作為發(fā)射和接收傳感器。選取主頻為533 MHz的S3C6410ARM芯片作為處理器。
3.1 信號(hào)發(fā)射電路設(shè)計(jì)
信號(hào)發(fā)射電路如圖4所示,當(dāng)輸入高電平時(shí),場(chǎng)效應(yīng)管Q1截止,Q2導(dǎo)通,輸出低電平;當(dāng)輸入低電平時(shí),Q1導(dǎo)通,Q2截止,輸出高電平。由ARM發(fā)送的12.5 μs的低電平脈沖經(jīng)過Q1、Q2組成的開關(guān)電路后轉(zhuǎn)換成高電平脈沖,再經(jīng)過變壓器升壓約100倍后,把5 V的低壓脈沖升壓到500 V并加載到超聲波發(fā)射換能器上。在高壓脈沖的激勵(lì)下,發(fā)射換能器產(chǎn)生振動(dòng)發(fā)射一串超聲波。
圖4 信號(hào)發(fā)射電路
3.2 接收電路設(shè)計(jì)
接收放大電路如圖5所示,接收換能器收到反射回來(lái)的超聲波后,將其轉(zhuǎn)化為電壓信號(hào)。由于信號(hào)較弱,需要放大處理。放大電路由3個(gè)OP37運(yùn)算放大器組成,OP37是低噪聲、高速精密運(yùn)放,轉(zhuǎn)換速率達(dá)到17 V/μs,帶寬達(dá)到63 MHz。本設(shè)計(jì)采用了OP37同相放大器進(jìn)行放大,并加入直流偏置方便A/D轉(zhuǎn)換。在放大的同時(shí)進(jìn)行濾波處理,在前一運(yùn)放前加入一階低通濾波器,在后一運(yùn)放前加一個(gè)一階高通濾波器。
圖5 接收電路設(shè)計(jì)
3.3 模數(shù)轉(zhuǎn)換電路
模數(shù)轉(zhuǎn)換電路如圖6所示。ADC采用TLC5510A,是8位半閃速結(jié)構(gòu)模數(shù)轉(zhuǎn)換器,滿量程輸入范圍是0~4 V。模數(shù)轉(zhuǎn)換器由S3C6410 ARM處理器直接控制并接收數(shù)據(jù)。采用1MHz的采樣頻率,ADC的CLK由S3C6410的PWM0發(fā)送的1MHz方波信號(hào)驅(qū)動(dòng)。
3.4 溫度補(bǔ)償
溫度補(bǔ)償[4]部分采用高精度溫度傳感器HM-T1,在-40~80 ℃范圍內(nèi),其準(zhǔn)確度達(dá)到了0.02 ℃。測(cè)量距離為10 m時(shí),常溫時(shí)因溫度檢測(cè)誤差產(chǎn)生的時(shí)間差為1.1 μs,即距離誤差約0.19 mm。溫度測(cè)量模塊通過RS232串口通信,通信方式采用全雙工異步串行通信,只需TXD,RXD和GND3根線便可實(shí)現(xiàn)。
圖6 模數(shù)轉(zhuǎn)換電路
4.1 驅(qū)動(dòng)程序設(shè)計(jì)
由于應(yīng)用程序中不能進(jìn)行底層硬件的直接控制[5],因此編寫了基于WinCE6.0的數(shù)據(jù)采集流驅(qū)動(dòng),其流程圖如圖7所示。
圖7 數(shù)據(jù)采集驅(qū)動(dòng)程序流程圖
驅(qū)動(dòng)初始化包括寄存器虛擬地址空間申請(qǐng)、初始化PWM、初始化TLC5510A設(shè)置、防止驅(qū)動(dòng)多次打開全局變量設(shè)置。接到應(yīng)用程序發(fā)送的采樣命令后,由定時(shí)器0的PWM功能發(fā)送A/D采樣所需的時(shí)鐘信號(hào),并啟動(dòng)A/D轉(zhuǎn)換,一次性讀取一批數(shù)據(jù)并存入存儲(chǔ)器中。S3C6410提供頻率為66 MHz的PCLK為定時(shí)器分頻,通過設(shè)置寄存器TCFG0和TCFG1的值來(lái)確定定時(shí)器時(shí)鐘頻率,如式(3)所示:
(3)
其中prescalervalue取值范圍0~255,用TCFG0配置,dividervalue取值范圍是1,2,4,8,16,TCLK,用TCFG1配置。TCNTBx寄存器和TCMPBx寄存器分別用來(lái)初始化定時(shí)器PWM的周期和占空比。
4.2 應(yīng)用程序設(shè)計(jì)
應(yīng)用程序主要任務(wù)是通過調(diào)用API函數(shù)[6],讀取底層驅(qū)動(dòng)的A/D轉(zhuǎn)換數(shù)據(jù),利用C語(yǔ)言進(jìn)行WinCE下的軟件編程,實(shí)現(xiàn)數(shù)據(jù)采集、信號(hào)處理、溫度補(bǔ)償,最后取得被測(cè)距離,并顯示結(jié)果。
測(cè)距儀每隔0.1 s發(fā)送1次脈沖信號(hào),連續(xù)將9次的結(jié)果顯示在屏幕上,移動(dòng)反射面重復(fù)多次上述過程,記錄了4組數(shù)據(jù),所測(cè)距離的結(jié)果如表1所示??梢?,其測(cè)量的一致性較高,約0.19 mm的不一致性。如果采用多次平均算法,則可以進(jìn)一步提高檢測(cè)精度。
表1 測(cè)距結(jié)果 mm
本設(shè)計(jì)提出的高精度長(zhǎng)距離測(cè)距的方法,通過將回波信號(hào)數(shù)字化處理來(lái)確定接收波形的初始位置,并利用ARM11處理器的高速處理能力,進(jìn)行軟件編程,完成了一種較長(zhǎng)距離的高精度測(cè)距儀。達(dá)到了相位差法的微距測(cè)量精度,讀數(shù)穩(wěn)定可靠,可滿足長(zhǎng)距離的高精度測(cè)量要求。
[1] 陳建,孫曉穎,林琳,等.一種高精度超聲波到達(dá)時(shí)刻的檢測(cè)方法.儀器儀表學(xué)報(bào),2012,33(11):2422-2428.
[2] 張興紅,張慧,陳錫侯,等.一種精密測(cè)量超聲波傳輸時(shí)間的方法.北京理工大學(xué)學(xué)報(bào),2011,31(6):717-721.
[3] TANG H Q,HUANG W Y,LI P,et al.Ultrasonic wind velocity measurement based on DSP.Journal of South east University (English Edition),2005,21(1):20-23.
[4] 行鴻彥,武向娟,呂文華,等.自動(dòng)氣象站數(shù)據(jù)采集器溫度通道的環(huán)境溫度補(bǔ)償.儀器儀表學(xué)報(bào),2012,33(8):1868-1875.
[5] 何頂新,葉剛,徐金榜,等.基于WinCE的CAN總線設(shè)備驅(qū)動(dòng)研究.華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,35(9):104-106.
[6] 竺樂慶,張三元,幸銳,等.基于ARM與WinCE的掌紋鑒別系統(tǒng).儀器儀表學(xué)報(bào),2009,30(12):2624-2628.
High Precision Ultrasonic Distance Measuring Instrument Based on ARM11
TANG Hui-qiang,XU Hao-de,LIU Jia
(School of Information&Control,Nanjing University of Information Science &Technology,Nanjing 210044,China)
A high precision ultrasonic distance measuring instrument based on S3C6410 was designed.The starting point of the echo signals was calculated by digital signal processing.The signal transmitting,receiving,amplifying,filtering,A/D converter circuit and ARM system were designed.By MATLAB simulation,and C language programming,the underlying driver of ADC in WinCE6.0 operating system and applications were programmed to achieve high precision distance measurement with the result of 0.19mm.
ultrasonic;distance measuring instrument;embedded system;WinCE6.0;MATLAB;interface driver
劉全順(1989—),碩士研究生,主要從事光電信息獲取與處理方向的研究。E-mail:275292835@qq.com
國(guó)家重大科學(xué)儀器設(shè)備開發(fā)專項(xiàng)項(xiàng)目(2012YQ170003-5);江蘇省產(chǎn)學(xué)研前瞻性項(xiàng)目(BY2012029)
2015-01-03 收修改稿日期:2015-08-02
TP368.1
A
1002-1841(2015)10-0035-03