由磁致伸縮傳感器構成的液位測量系統主要包括脈沖激發、信號檢測、信號濾波及放大、液位計算與輸出、數據通信等部分。信號檢測和濾波是磁致伸縮液位傳感器實現高精度測量的關鍵因素。隨著半導體制作工藝的發展和計算機體系結構等方面的改進,DSP芯片以其更強的功能、更快的速度、更小的體積和功耗、更低的價格等優勢帶來了更多的應用思路。利用TMS320F2812實現信號檢測、濾波和液位結果計算與輸出。
1、磁致伸縮液位傳感器誤差原因與提高精度的方法
磁致伸縮液位傳感器具有測量精度高、使用壽命長、耐腐蝕、耐塵、耐壓、耐高溫、耐高振蕩等一系列特點,已在行程測量和液位測量中得到了愈來愈多的應用。但由于其測量原理是通過計算兩個不同磁場相交所產生應變脈沖信號的時間周期,再根據超聲波的傳遞速度獲得準確的位置值。測量過程中,傳感器內波導管的電流脈沖和應變脈沖不可避免地對測量的輸出信號產生一定的干擾,強度可以達到滿量程的012%。在一些模擬控制系統中,影響程度不明顯,可以忽略。若對高精度的數字式控制系統,影響程度很明顯,甚至影響到系統的穩定,必須予以消除。
針對這些干擾信號,方法就是采用濾波處理來濾除這些系統的干擾信號,提取出所需要的實際信號。
傳統的磁致伸縮液位傳感器系統中出現的硬件濾波電路,由于硬件濾波電路結構復雜、參數調整不易和系統性能易受環境影響、容易引起電子噪聲等缺點,系統中用數字濾波方法來替代。
基于DSP的磁致伸縮液位傳感器系統的硬件主要由激勵脈沖電路、放大電路、TMS320F2812、液晶顯示電路、串口通信電路等部分組成。
DSP先給激勵脈沖電路發送一個激勵脈沖,然后激勵脈沖電路產生大電流脈沖,輸入波導絲產生環繞磁場。該磁場傳播到位置磁鐵處和其垂直磁場作用,因磁致伸縮效應在該處產生磁致扭轉波,并以通過實驗標定的約為21838mm/μs的波速傳回,遇到檢測裝置,檢測裝置把機械信號轉換成電信號,但幅值較小,需要進行放大,然后DSP開始采集放大后的信號,讀取采集信號數據,并將其進行FIR數字濾波后,接著得到液位測量值L,然后輸出到LCD上顯示,并用于通信。
2、基于DSP的磁致伸縮液位傳感器的軟件設計
系統采用全采樣法,即DSP發送激勵脈沖的同時,開始啟動AD,一直采樣,直到所設置的全量程數據采集完畢,然后對所采集的全量程數據進行FIR濾波處理,尋找波形的特征點,A/D轉換速率是已知的,進而能求得特征點處的時間,乘以波速即得液位。
通過尋找回波信號的特征點求取液位的方法有以下優點:(1)由于波導絲本身的不連續性,超聲波在傳播過程中會發生幅值上的衰減,采用比較器檢測的方式,比較器的門限電平是預先設定的,會使翻轉時間推后,造成較大的測量誤差。采用提取特征點的方法可以有效避免干擾。
(2)不需要這些檢測電路,大大節約了系統的硬件數量,避免了太多硬件電路所造成的電子干擾。便于進行數字濾波,充分發揮數字濾波的優點。
(3)可以消除放大器零點漂移帶來的影響。
2.1FIR濾波程序
為了濾掉電子系統的各種隨機干擾成分,分析檢測信號的頻譜特性,進而根據其頻譜特點設計恰當的濾波器。采用周期圖作為功率譜的估計時有快速算法,可以應用FFT.因此,采用周期圖來作為功率譜的估計,取256個采樣點來分析其頻譜特性。從頻譜分析結果看出,傳感器檢測信號的中心頻率在77kHz附近,是一個低頻特性,須設計一個具有低通特性的濾波器濾掉高頻的噪聲,所以對采集的信號進行FIR低通濾波算法處理。
2.1.1FIR的算法實現
讀取AD轉換值后,程序的步就是在RAM區中設置兩組連續的存儲區:一組存放FIR濾波器系數,另一組用于存放采集數據。初始化時,存放采集數據的存儲區要設為0,存放FIR濾波器系數的存儲區中放入按FIR算法設計得到的濾波器的單位脈沖響應系數,然后,將讀取的結果存放到數據存儲器中。在PC機上求解FIR濾波器的單位脈沖響應。首先,在主函數中,定義了4種數字濾波類型:低通、高通、帶通和帶阻;接著,定義了6種窗函數類型:矩形窗、三角形窗、漢寧窗、海明窗、布拉克曼窗和凱澤窗;然后,調用計算窗函數的子程序fir_window(),求出這6種窗函數系數;再用這6種窗函數系數乘以理想單位脈沖響應hd(n),就是所求得的FIR濾波器的單位脈沖響應系數。由于設計的是低通濾波器,hd(n)就是低通理想單位脈沖響應。最后,將求解的FIR濾波器的單位脈沖響應系數存放在DSP的存儲空間。
2.1.2濾波系統的實驗驗證
實驗設計的是具有低通特性的FIR濾波器,窗函數選擇的是海明(Hamming)窗。由于海明窗可將991963%的能量集中窗譜的主瓣內,主瓣寬度為8π/N,但旁瓣幅度更小,旁瓣峰值小于主瓣峰值的1%。并且,通過反復實驗,選擇濾波器階數N=32。輸出信號的濾波前后仿真圖可以看出,沒有經過FIR濾波的波形明顯存在許多干擾,而經過FIR濾波后的波形明顯濾掉了系統所帶來的各種干擾成分,從干擾噪聲中提取了有用的特征信號,為進行高精度液位測量提供了重要的理論基礎。
2.2液位測量
對于磁致伸縮液位傳感器系統,液位測量是重要環節。程序設計中,調用峰值點子程序ffpeak(),在該子程序中,h為所選的采樣點,fp為比較峰值點的次數,ConversionCount為AD采樣數據個數,SampleTable[]為放置AD采樣點數據的數組。當AD采樣完成后,把采集的數據保存在放置AD采樣點數據的數組SampleTable[]中,然后,從第5個采樣點開始判斷峰值點。確定峰值點后,再用峰值點數乘以程序中A/D的轉換速度,得到了所要求的峰值點處的時間,然后,用峰值點處的時間乘以波速即得到液位測量值。
2.2.1峰值點的程序實現
unsignedintffpeak()
{unsignedinti,h,fp=0;
for(h=15;h
{for(i=1;i<=15;i++)
{if(SampleTable[h-i]<=SampleTable[h-i+1]);elsebreak;
if(SampleTable[h+i]<=SampleTable[h+i-1])fp++;
else{fp=0;break;}
}
if(fp>=14)break;
}
if(fp>=14)return++h;elsereturn0;
}
2.2.2液位測量的實驗圖
實驗中采樣周期:T=013μs,波速v=21838mm/μs,由采樣周期所限,測量值只能精確到018514mm.真實值以精度為1mm的鋼板尺作為測量工具。位置1的真實值為38123cm,可以看出濾波前的測量值誤差太大,測量值中的值與最小值之間的差值達到了0135cm,而濾波后的測量值基本在真實值附近,測量值中的值與最小值之間的差值只有0116cm.位置1的真實值為84171cm,可以看出濾波前的測量值誤差太大,測量值中的值與最小值之間的差值達到了0145cm,而濾波后的測量值基本在真實值附近,測量值中的值與最小值之間的差值只有0107cm.經過濾波系統后,液位測量值與濾波前相比,精度有了比較大的提高。
3.結束語
系統詳細闡述了基于DSP的磁致伸縮液位傳感器的硬件和軟件設計。硬件設計部分,相對于傳統的磁致伸縮液位傳感器需要許多檢測電路,而該設計方案中,不需要這些復雜的硬件檢測電路,大大節約了系統的硬件數量,避免了太多硬件電路所造成的電子干擾。軟件設計部分重點介紹了FIR濾波程序在DSP上的實現,并通過比較濾波前后信號的波形以及濾波前后液位測量值的實驗,得到基于DSP的磁致伸縮液位傳感器的設計方案。為今后設計高精度磁致伸縮液位傳感器提供了方向。