基于FPGA的超聲波液體密度傳感器的設計
2.3 運算、補償模塊
運算、補償模塊分為計算和補償兩個部分。其作用是根據計數器的計數結果和補償電路對溫度修正后的結果計算液體的密度。本設計中發射和接收探頭之間的距離為2cm;聲波在兩探頭之間傳遞的時間可由計數器的計數結果(cntvalue)得到,因為單位計數的時間是計數頻率的倒數,所以有:
(2-1)
運算器結構如圖3所示。輸入c1和c2是計數值,經過并行乘法器運算后的結果送入并行除法器;因為壓縮系數K是常數,但每一種液體的K都不相同,因此整個密度計需要有對液體進行選擇的功能,圖中的sel模塊是實現這一功能的部分,輸入信號用來選擇待測液體,本設計中的密度計能夠測量300種液體,因此選擇信號為9位編碼的二進制數,選擇模塊的實質是一個存儲了各種液體壓縮系數的存儲器,根據選擇信號尋找待測液體密度的系數,其結果也送入除法器。

圖3 運算、補償模塊結構
圖中的tem為溫度補償模塊。溫度對聲速的影響很大,在液體中,溫度每變化1℃將引起聲速約為2%的變化,而在實際環境中,一般會有40℃以上的溫度變化范圍,由此造成的聲速8%以上的變化就可能給實際測量引入8%以上的誤差。在利用超聲波聲速對液體密度進行測量時,為了提高精度,勢必就要對溫度進行補償[2]。
2.4 控制和運算電路
控制和運算電路的整體結構如圖4所示。其中pulse為方脈沖產生模塊;count為高速計數器;operate為運算和補償模塊;

圖4 控制、運算整體結構圖













評論