孫金林,王國余,胡方圓
(1.江蘇大學(xué) 理學(xué)院,江蘇 鎮(zhèn)江212013;2.江蘇大學(xué) 電氣信息工程學(xué)院,江蘇 鎮(zhèn)江212013)
聲波是一種在彈性介質(zhì)中傳播的機(jī)械縱波??陕劼暡ǖ念l率范圍是20 ~20 Hz,低于20Hz 的聲波稱為次聲波,高于20 kHz 的聲波稱為超聲波。聲速是描述聲波在彈性介質(zhì)中傳播特性的一個基本物理量。超聲波具有波長短、可定向的優(yōu)點(diǎn),因此,常被用作測量聲速。聲速測量物理實(shí)驗(yàn)中常用共振干涉法、相位比較法和時差法三種實(shí)驗(yàn)方法來測定超聲波的聲速[1]。
傳統(tǒng)聲速測量實(shí)驗(yàn)中的相位比較法過程繁瑣,且存在較大誤差與測量滯后性。為改進(jìn)傳統(tǒng)測量方式的不足,一些學(xué)者對測量儀器進(jìn)行了改造,一定程度上實(shí)現(xiàn)了聲速的自動測量。同時,電子電路技術(shù)[2]、單片機(jī)技術(shù)[3]以及鎖相環(huán)技術(shù)[4]也越來越多地被學(xué)者們運(yùn)用到自動聲速測量裝置的研制中。但改進(jìn)后的裝置仍然存在測量精度低、易受環(huán)境干擾的問題,亟待解決。
為解決聲速測量實(shí)驗(yàn)過程繁雜、耗時長、易出錯、測量精度低的問題,本文提出一種基于MSP430F169 單片機(jī)的數(shù)字處理聲速測量系統(tǒng),依據(jù)相位比較法的原理設(shè)計(jì)裝置,數(shù)據(jù)采集與處理過程全部由數(shù)字系統(tǒng)自動完成,簡化了實(shí)驗(yàn)操作,同時大大提高實(shí)驗(yàn)的測量精度。
針對傳統(tǒng)聲速測量過程易受人為因素影響,實(shí)驗(yàn)結(jié)果精度低的特點(diǎn),利用單片機(jī)高速處理數(shù)字信號的能力,基于相位法設(shè)計(jì)了實(shí)現(xiàn)數(shù)字化聲速測量的系統(tǒng)。實(shí)驗(yàn)過程中自動記錄、處理實(shí)驗(yàn)數(shù)據(jù),液晶實(shí)時顯示,并且實(shí)驗(yàn)結(jié)束后自動生成實(shí)驗(yàn)結(jié)果后分析報(bào)表。該裝置設(shè)計(jì)的難點(diǎn)主要在于精確測量記錄發(fā)射端信號與接收端信號之間的相位差。為此,設(shè)計(jì)了一整套信號調(diào)理電路和邏輯分析程序。整個實(shí)驗(yàn)裝置由信號測量部分與處理部分組成,以MSP430F169單片機(jī)為核心,包括信號發(fā)射驅(qū)動模塊、接收模塊、信號調(diào)理模塊、波形整形模塊、相差比較模塊、位移測量模塊、溫度檢測模塊、按鍵與液晶模塊、上位機(jī)通信模塊。裝置的整體設(shè)計(jì)框圖如圖1 所示。
圖1 裝置系統(tǒng)框圖Fig 1 Block diagram of device system
發(fā)射模塊將單片機(jī)產(chǎn)生的脈寬調(diào)制(pulse width modulation,PWM)信號放大后驅(qū)動超聲波發(fā)生器發(fā)射超聲波。由信號測量部分檢測發(fā)射與接收兩個信號,并送至信號處理部分,信號處理部分包括信號調(diào)理、波形整形以及相差比較,最終得到兩信號的相位差輸出到控制器??刂破鱉SP430 將接收到的數(shù)據(jù)轉(zhuǎn)換處理得到聲速數(shù)據(jù),顯示在液晶上。同時,溫度檢測模塊檢測環(huán)境溫度后送至單片機(jī)以計(jì)算聲速理論值。本裝置帶有人機(jī)交互設(shè)計(jì),實(shí)驗(yàn)者通過按鍵設(shè)定實(shí)驗(yàn)的開始與結(jié)束,液晶實(shí)時顯示環(huán)境溫度、波長、聲速等數(shù)據(jù)。同時,本測量系統(tǒng)通過RS—485 總線將數(shù)據(jù)傳送至上位機(jī)生成測量報(bào)表。
圖2 為裝置的機(jī)械結(jié)構(gòu)示意圖。裝置主體結(jié)構(gòu)與傳統(tǒng)聲速測量儀類似,為了實(shí)現(xiàn)智能化增加了位置檢測模塊。該模塊主要由齒輪1、齒輪2 和編碼器組成。齒輪1 和絲杠末端周向固定,與齒輪2 起到傳動和變速作用。
超聲波發(fā)射驅(qū)動模塊主要用于產(chǎn)生超聲波信號,作為實(shí)驗(yàn)裝置的測量聲波。使用MSP430 單片機(jī)的PWM 功能,在單片機(jī)IO 口上產(chǎn)生頻率為f1(35 ~45 Hz)的可調(diào)方波信號[5],經(jīng)由信號放大電路驅(qū)動超聲波發(fā)射器T 發(fā)射頻率為f1的超聲波。
圖2 機(jī)械結(jié)構(gòu)圖Fig 2 Mechanical structure diagram
為了使接收到的信號波形滿足本裝置的應(yīng)用,需要在超聲波接收器R 接收到波形后加上濾波電路,多次調(diào)試后最終選用多路反饋型有源帶通巴特沃茲濾波器[6],中心頻率設(shè)為40 Hz,轉(zhuǎn)角頻率衰減為-3 dB。二階帶通濾波器的傳遞函數(shù)為
濾波器設(shè)計(jì)中運(yùn)算放大器選用OP07 集成運(yùn)放,濾波效果顯著。濾波后的信號較微弱,故再加上一級放大電路。同時,將濾波電路與放大電路分離,放大電路通過調(diào)節(jié)可調(diào)電位器R5 的阻值來調(diào)整放大倍數(shù),如圖3 所示。放大電路的放大倍率為
圖3 濾波放大與AGC 電路Fig 3 Filtering,amplification and automatic gain control(AGC)circuit
當(dāng)接收器與發(fā)射器之間距離不同時,接收到的信號強(qiáng)度有較大差異,設(shè)計(jì)在濾波放大之后加上自動增益控制(automatic gain control,AGC)模塊使輸出信號幅值穩(wěn)定。選用ADI 公司的AD603 自動增益控制芯片[7]設(shè)計(jì)了如圖3所示的電路,AGC 電路由增益受控放大部分和控制電壓形成兩部分組成。將輸出信號經(jīng)反饋回路連接到增益控制輸入端,整個模塊構(gòu)成一個閉環(huán)電路系統(tǒng)。在輸入信號變化范圍內(nèi),輸出信號的幅值恒定。
為將濾波放大與自動增益控制電路處理后輸出的正弦波信號轉(zhuǎn)換為單片機(jī)可以處理的矩形波信號,需要進(jìn)行波形整形。對該實(shí)驗(yàn)而言,只需知道接收信號與發(fā)射信號之間的相位關(guān)系就能計(jì)算出發(fā)射超聲波的波長。波形整形電路選用電壓比較器LM393,將濾波后的輸出信號V+接到LM393 的陽極輸入端,LM393 的陰極接地,當(dāng)V+大于0 V時,輸出高電平;反之,輸出低電平,即可實(shí)現(xiàn)波形整形變換。
由于超聲波發(fā)射器的驅(qū)動信號與超聲波接收器的信號均為等寬方波,可使用異或門鑒相器進(jìn)行相差比較,實(shí)現(xiàn)簡單,可靠性高。單片機(jī)產(chǎn)生的PWM 信號經(jīng)放大電路后即驅(qū)動裝置發(fā)射超聲波,將該信號與整形電路的輸出信號接入異或門鑒相器。OUT=IN1 ⊕IN2,鑒相器的輸出經(jīng)MSP430F169 單片機(jī)輸入捕獲[5]即可得到兩信號的相位差,如圖4 所示。
圖4 相差比較原理圖Fig 4 Principle diagram of phase difference comparison
使用DS18B20 數(shù)字溫度傳感器[8]檢測環(huán)境實(shí)時溫度。按照其總線時序編寫程序依次讀取總線數(shù)據(jù),即可得到準(zhǔn)確的溫度值。DS18B20 具有體積小、精度高、抗干擾能力強(qiáng)的特點(diǎn)。
同時,為了得到聲速測量結(jié)果,首先應(yīng)檢測出聲源的波長數(shù)據(jù)。當(dāng)相位差為2π 整數(shù)倍時,接收頭與發(fā)射頭之間的距離即為波長的整數(shù)倍,為了測量的準(zhǔn)確與便利,選用編碼器與兩個齒輪構(gòu)成的變速結(jié)構(gòu)配合來測量位移。
絲杠導(dǎo)程p=2 mm,齒輪1 和齒輪2 的分度圓直徑比n=4︰1,編碼器的分辨率為1 024p/R,則本裝置的位移檢測模塊精確度為。為了減小測量誤差,可在實(shí)驗(yàn)前進(jìn)行校準(zhǔn):搖動手柄,使標(biāo)尺位于0 刻度線處,按下按鍵后搖至滿刻度線處,再按下按鍵,即可對檢測模塊校準(zhǔn)位置。
超聲波發(fā)射器由PWM 波形放大后驅(qū)動,而PWM 由MSP430 單片機(jī)的定時器A 產(chǎn)生,選擇MSP430 輸出模式中的“復(fù)位/置位”模式產(chǎn)生PWM[9]信號。設(shè)一個電壓變化周期為T,一個周期內(nèi)高電平時間為t0,則占空比
程序中設(shè)置定時器寄存器CCR0 改變PWM 周期,設(shè)置CCR1 改變占空比,在本裝置中需要產(chǎn)生占空比為50%的方波。
相差比較模塊的輸出為調(diào)理整形后的接收信號與單片機(jī)產(chǎn)生PWM 邏輯異或后得到的信號,將該信號輸至MSP430 的輸入捕獲端P4.0,對定時器B 初始化為上升沿捕獲,當(dāng)捕獲發(fā)生后進(jìn)入中斷。在中斷函數(shù)中進(jìn)行邏輯判斷,若捕捉到上升沿,將定時器B 改為下降沿捕獲,同時開始計(jì)數(shù),跳出中斷。若再次發(fā)生捕獲進(jìn)入中斷,判斷捕捉到下降沿,將定時器B 改為上升沿捕獲,終止計(jì)數(shù),跳出中斷,則上升沿與下降沿之間的脈沖寬度可以由寄存器TBCCR0 的值換算后得到。根據(jù)脈沖寬度即可判斷相位差,當(dāng)相位差為2π 整數(shù)倍時,脈沖寬度應(yīng)當(dāng)為0。
使用NI 公司的LabVIEW 軟件設(shè)計(jì)上位機(jī),將接收到的串口數(shù)據(jù)進(jìn)行處理,寫入電子表格,并生成測量數(shù)據(jù)Excel文件報(bào)表供實(shí)驗(yàn)分析。上位機(jī)整體程序框圖如圖5所示。單片機(jī)計(jì)算得出聲速數(shù)據(jù)后即通過串口發(fā)送聲速數(shù)據(jù)與溫度數(shù)據(jù)到上位機(jī),上位機(jī)將數(shù)據(jù)寫入Excel 文件。待實(shí)驗(yàn)結(jié)束后,得到完整的數(shù)據(jù)報(bào)表,可利用此報(bào)表完成實(shí)驗(yàn)數(shù)據(jù)的分析工作,提高效率。
圖5 上位機(jī)程序框圖Fig 5 Program block diagram of upper PC
當(dāng)聲源wavel 和接收到的信號wave2 之間的相位差為2π 的整數(shù)倍時,單片機(jī)自動記錄此時超聲波接收器R 的位置。整個實(shí)驗(yàn)過程就是在搖動機(jī)械手柄的同時觀測液晶顯示,單片機(jī)可直接輸出實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)者也可以通過游標(biāo)卡尺人工讀取位置信息并記錄和處理數(shù)據(jù)進(jìn)行實(shí)驗(yàn)操作。兩次實(shí)驗(yàn)結(jié)果對比,可得出原實(shí)驗(yàn)操作結(jié)果與本裝置的單片機(jī)輸出結(jié)果之間的誤差。
在測得n+1 個相差2π 整數(shù)倍位置的坐標(biāo)后,單片機(jī)利用逐差法原理計(jì)算出聲波的波長λ,再利用v=λ·f 求得聲速。
已知在室溫t ℃下,干燥空氣中的聲速為[1]
溫度檢測模塊實(shí)時檢測實(shí)驗(yàn)環(huán)境溫度,單片機(jī)根據(jù)式(3)求出理論聲速值并計(jì)算本次實(shí)驗(yàn)結(jié)果與理論值之間的誤差。
實(shí)驗(yàn)過程中,慢慢搖動機(jī)械手柄,兩信號之間的相位差逐漸變大,直到相位差為2π 整數(shù)倍,即信號重合,單片機(jī)自動記錄本次測得的聲速數(shù)據(jù)。繼續(xù)搖動機(jī)械手柄,會多次出現(xiàn)信號重合的情況,單片機(jī)自動記錄多組數(shù)據(jù)。實(shí)驗(yàn)結(jié)束,按確認(rèn)結(jié)束鍵,單片機(jī)根據(jù)多組數(shù)據(jù)計(jì)算得到最后的聲速數(shù)據(jù)。為優(yōu)化系統(tǒng)軟件程序設(shè)計(jì),整個系統(tǒng)的軟件結(jié)構(gòu)選用模塊化結(jié)構(gòu),采用自上而下的方法,程序流程圖如圖6所示。
圖6 主程序流程圖Fig 6 Flow chart of main program
圖7 儀器測試波形Fig 7 Test waveforms of instrument
裝置設(shè)計(jì)完畢后進(jìn)行測試實(shí)驗(yàn),驗(yàn)證測量儀的可靠性。圖7(a),(b)為超聲波發(fā)射器驅(qū)動信號與接收器接收信號的波形;7(c),(d)為超聲波接收器接收到的信號經(jīng)信號調(diào)理和整形之后的輸出波形;7(e),(f)為兩信號相位差分別為2π 和π 時異或門鑒相器的輸出波形圖。由圖中可以看出,本測量儀能夠準(zhǔn)確地判斷出相位差2π 的位置,信號送至單片機(jī)后記錄有效數(shù)據(jù)。
在不同時間段多次進(jìn)行實(shí)驗(yàn)測試,實(shí)驗(yàn)結(jié)果數(shù)據(jù)如表1所示。
表1 聲速測量儀測試結(jié)果Tab 1 Test result of sound velocity gauge
作出測量結(jié)果誤差折線圖,如圖8 所示。結(jié)果表明:最大誤差為0.304 m/s,最小誤差為0.104 m/s,平均誤差為0.232 m/s,誤差滿足測量精度要求。
圖8 測量結(jié)果誤差折線圖Fig 8 Error line chart of measurement result
經(jīng)過前期的調(diào)試與改良,成功開發(fā)了基于MSP430F169單片機(jī)的智能聲速測量系統(tǒng)。測試結(jié)果表明:裝置的測量值與理論值之間的相對誤差僅為0.08%,說明本裝置的精度較高。同時,由于使用單片機(jī)作為儀器的處理器,并且信號檢測與處理部分均使用電子電路,使得測量裝置體積小,抗干擾能力強(qiáng),具有很好的應(yīng)用前景。
[1] 許伯強(qiáng),王紀(jì)俊,曹國榮,等.大學(xué)物理實(shí)驗(yàn)[M].鎮(zhèn)江:江蘇大學(xué)出版社,2011.
[2] 朱方璽,曹偉然.聲速測量實(shí)驗(yàn)儀的改進(jìn)[J].物理實(shí)驗(yàn),2011(10):40-43.
[3] 童建平,隋成華,魏高堯,等.時差法聲速測量儀的研制[J].傳感器技術(shù),2004,23(1):28-29.
[4] 彭 丹,徐可欣,杜振輝,等.基于鎖相環(huán)技術(shù)的超聲測速系統(tǒng)研究[J].傳感器與微系統(tǒng),2007,26(10):63-65.
[5] 魏小龍.MSP430 系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例[M].北京:北京航空航天大學(xué)出版社,2002.
[6] Schaumann R.Design of analog filters[M].Oxford:Oxford University Press,2001.
[7] Devices A.AD603:Low noise,90MHz variable gain amplifier[Z].2004.
[8] 周月霞,孫傳友.DS18B20 硬件連接及軟件編程[J].傳感器世界,2001,7(12):25-29.
[9] 李天博,陳 玲,陳坤華,等.基于MSP430 的肌電假手系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2012,31(4):75-78.