基于超聲波回波衰減理論的超聲波濃度計(jì)設(shè)計(jì)
3 軟件設(shè)計(jì)
超聲波濃度計(jì)軟件由信號(hào)處理程序、界面程序、控制信號(hào)輸出程序、通信程序四部分組成,軟件總流程如圖4所示。信號(hào)處理程序?qū)崿F(xiàn)DDS控制、超聲波發(fā)射、回波信號(hào)A/D采集、信號(hào)綜合處理等功能,是軟件程序的重點(diǎn)。界面程序包括界面顯示、參數(shù)設(shè)置、鍵盤處理等功能,實(shí)現(xiàn)與用戶良好的溝通。控制信號(hào)輸出程序?qū)崿F(xiàn)了電流信號(hào)、繼電器信號(hào)、開關(guān)量的輸出,完成了工業(yè)現(xiàn)場(chǎng)控制的需要。通信程序按一定的協(xié)議送出儀表存儲(chǔ)的單次A/D值和綜合處理的顯示值,供儀器的性能校驗(yàn)使用。
軟件程序的核心由超聲波發(fā)射(包含DDS脈沖合成)、超聲波回波A/D采集程序、信號(hào)濾波程序、濃度計(jì)算程序構(gòu)成。
3.1 超聲波發(fā)射程序、回波A/D采集程序
本系統(tǒng)選用的DDS是SPI總線的,在串口時(shí)鐘SCLK的作用下,數(shù)據(jù)以16位的方式加載到設(shè)備上。FSYNC引腳是使能引腳,電平觸發(fā)方式,低電平有效。進(jìn)行串行數(shù)據(jù)傳輸時(shí),F(xiàn)SYNC引腳必須置低,要注意FSYNC有效到SCLK下降沿的建立時(shí)間的最小值。FSYNC置低后,在16個(gè)SCLK的下降沿?cái)?shù)據(jù)被送到DDS的輸入移位寄存器,在第16個(gè)SCLK的下降沿FSYNC可以被置高,但要注意在SCLK下降沿到FSYNC上升沿的數(shù)據(jù)保持時(shí)間的最小和最大值。當(dāng)然,也可以在FSYNC為低電平的時(shí)候,連續(xù)加載多個(gè)16位數(shù)據(jù),僅在最后一個(gè)數(shù)據(jù)的第16個(gè)SCLK的下降沿時(shí)將FSYNC置高。最后要注意的是,寫數(shù)據(jù)時(shí)SCLK時(shí)鐘為高低電平脈沖,但是,在FSYNC剛開始變?yōu)榈蜁r(shí)(即將開始寫數(shù)據(jù)時(shí)),SCLK必須為高電平。
通過微控制器的硬件SPI(使用微控制器的3個(gè)端口)可以控制DDS輸出0 Hz~12.5 MHz的方波。另外使用一個(gè)端口和DDS的輸出共同作為與非門的輸入,這樣就可以實(shí)現(xiàn)脈沖串的時(shí)長控制,開啟脈沖串輸出的同時(shí)對(duì)時(shí)長計(jì)數(shù),依據(jù)超聲波在礦漿中的傳送速度和發(fā)射接收傳感器的間距就可以判斷何時(shí)接收超聲波回波。利用片內(nèi)A/D采集超聲波回波,便可以對(duì)A/D采集到的數(shù)字信號(hào)進(jìn)行處理。
3.2 信號(hào)濾波程序
常用的軟件濾波方法很多,包括限幅濾波法、中位值濾波法、算數(shù)平均濾波法、遞推平均濾波法、中位值平均濾波法、限幅平均濾波法、一階滯后濾波法、加權(quán)遞推平均濾波法、消抖濾波法。由于工業(yè)現(xiàn)場(chǎng)環(huán)境惡劣,采集到的信號(hào)沒經(jīng)過處理往往不能直接用,這樣就需要對(duì)采集到的A/D值進(jìn)行濾波處理。由于現(xiàn)場(chǎng)的跳變是隨機(jī)的,所以不能用常規(guī)的濾波程序,需要用到限幅濾波法和消抖濾波法的綜合方法——限幅消抖濾波法。
限幅濾波法是根據(jù)經(jīng)驗(yàn)判斷,確定兩次采樣允許的最大偏差值(設(shè)為A)。每次檢測(cè)到新值時(shí)判斷:如果本次值與上次值之差小于等于A,則本次值有效;如果本次值與上次值之差大于A,則本次值無效,放棄本次值,繼續(xù)下一次A/D采樣。
消抖濾波法是設(shè)置一個(gè)濾波計(jì)數(shù)器,將每次采樣值與當(dāng)前有效值比較:如果采樣值等于當(dāng)前有效值,則計(jì)數(shù)器清零;如果采樣值大于或小于當(dāng)前有效值,則計(jì)數(shù)器加 1,并判斷計(jì)數(shù)器是否大于等于上限N(溢出)。如果計(jì)數(shù)器溢出,則將本次值替換當(dāng)前有效值,并清零計(jì)數(shù)器。限幅消抖濾波程序能隨著現(xiàn)場(chǎng)的跳變做出相應(yīng)的改變,使信號(hào)處理更合理準(zhǔn)確。
3.3 濃度計(jì)算程序
濃度計(jì)算程序中包含濃度曲線擬合和溫度補(bǔ)償兩部分。
曲線擬合是用連續(xù)曲線近似地刻畫或比擬平面上離散點(diǎn)組所表示的坐標(biāo)之間的函數(shù)關(guān)系的一種數(shù)據(jù)處理方法。濃度曲線擬合經(jīng)過多次的試驗(yàn)校正,采用了2條一次曲線和1條二次曲線,確保濃度的最大程度擬合。同時(shí)由于現(xiàn)場(chǎng)不同環(huán)境的需要,設(shè)置了一些擬合參數(shù),以便于隨時(shí)調(diào)整。
溫度變化給超聲波傳感器實(shí)際測(cè)量帶來誤差,表現(xiàn)在微控制器對(duì)超聲波回波A/D采集上產(chǎn)生非線性變化。為了解決這個(gè)問題,必須進(jìn)行溫度補(bǔ)償,找出它們之間的關(guān)系,建立相應(yīng)的數(shù)學(xué)模型。本系統(tǒng)用擬合法求出各溫度時(shí)的傳感器靜態(tài)輸出特性的擬合多項(xiàng)式,將各個(gè)擬合參數(shù)b0,b1,b2,…,bk寫入程序,對(duì)微控制器片上A/D采集到的超聲波回波數(shù)據(jù)進(jìn)行溫度補(bǔ)償,即由輸入溫度和A/D值查找和計(jì)算相應(yīng)的補(bǔ)償后的正確值,確保濃度數(shù)據(jù)的正確性。
結(jié) 語
本文討論了超聲波濃度計(jì)的實(shí)現(xiàn)方法及應(yīng)用的主要技術(shù),發(fā)射電路采用DDS,接收電路采用對(duì)數(shù)放大器,經(jīng)工程實(shí)踐證明,這些方法都是可行的。但由于自身電路的局限和工業(yè)現(xiàn)場(chǎng)的環(huán)境干擾,該產(chǎn)品的精度還有待提高。
評(píng)論