袁 闖 ,趙學亮,魏光華
(1.河北大學質量技術監督學院,河北 保定 071002;2.中國地質調查局水文地質環境地質調查中心,河北 保定 071051)
近年來,隨著水文地質調查行業的發展,地下水溫度作為一種良好的示蹤劑,得到了越來越廣泛的應用。相應地,這也對地下水溫度測量提出了更高的精度要求[1-2]。
目前,溫度測量技術成熟。溫度敏感元件既有熱電阻、熱電偶、熱敏電阻等溫度傳感器,又有溫度傳感器、數字溫度傳感器、光學溫度傳感器等。其中,熱電阻,尤其是Pt1000鉑電阻的測溫方法以高精度、高靈敏度等特點,在中、低溫測量中占據重要地位[3-4]。通常以鉑電阻為溫度傳感器的測溫設計,為減小引線電阻的影響,多采用三線制或四線制接法。三線制使用電橋法,忽略了部分引線電阻,但不適用于長距離、高精度系統。四線制接法因其可以完全忽略引線電阻影響,結構簡單,廣泛應用于高精度測溫領域[5-6]。因此,本文選用Pt1000鉑電阻作為溫度傳感器,設計了一種可用于地下水溫度測量的四線制高精度測溫系統。其不僅可以滿足地下水溫度測量精度要求,而且對測溫領域的發展具有一定促進作用。
在-200~+850 ℃范圍內,根據標準設計的鉑電阻分別為Pt100、Pt500和Pt1000[7]。其阻值與溫度均具有以下關系:
R=R0[1+AT+BT2+C(T-100)T3]
(1)
式中:R0為0 ℃時鉑電阻阻值;R為T℃時鉑電阻阻值;A、B、C分別為1、2、3階溫度系數。
由于鉑電阻阻值小、溫度系數低、阻值與溫度非線性,在使用鉑電阻進行高精度測溫的設計中誤差主要來源于引線電阻、自熱效應、非線性誤差以及一些電路上的微小誤差。本文針對這些誤差源,從硬件結構和軟件算法兩個方面入手,提出了相應的誤差減小方案。
基于卡爾曼濾波的鉑電阻高精度水溫測量系統主要包括STM32L052最小系統、電源轉換電路、比值法四線制測溫電路、數據采集電路和人機交互電路5部分。其中,STM32L052最小系統主要用于程序在線調試和協調各部分工作;電源轉換電路將直流供電轉化為3.3 V,供其他電路使用;四線制比值法測溫電路主要負責解決引線電阻干擾和避免鉑電阻自熱效應;數據采集電路負責將串聯網絡上鉑電阻電壓和參考電阻電壓采集轉化為數字信號,并發送給處理器處理;人機交互電路包括按鍵和液晶,主要負責儀表操作和數據顯示。測量系統框圖如圖1所示。

圖1 測量系統框圖Fig.1 Block diagram of measuring system
為控制鉑電阻自熱效應,四線制鉑電阻測溫系統一般要求流經鉑電阻的電流小于0.3 mA。這將造成鉑電阻輸出信號強度弱、抗干擾能力差。因此,為確保信號被完整采集,本系統選用24位多通道、低溫漂、高輸入阻抗的模數轉換芯片LTC2414,對信號進行采集轉化。比值法四線制測溫電路如圖2所示。

圖2 比值法四線制測溫電路Fig.2 Ratio method four-wire temperature measuring circuit
圖2中:AD8603為CMOS型軌到軌精密運算放大器,最大失調電壓50 μV,最大溫漂4.5×10-6。NPN型三極管,作開關管使用。其工作時,I/O口輸出脈沖寬度調制(pulse width modulation,PWM)波控制三極管開斷,以此實現頻率式供電,起到降低功耗和避免持續供電產生自熱效應的作用。R2、R4為限流電阻,確保在-20~+100 ℃范圍內流經鉑電阻的電流始終小于0.22 mA,從而進一步避免自熱效應。Pt1000鉑電阻通過BNC接頭以四線制接法接入電路。LTC2414差分采集參考電阻R1和Pt1000上的電壓,高共模抑制和LTC2414高輸入阻抗使得可以完全忽略Pt1000引線電阻的影響。R3、C1構成的低通有源濾波器可以很好地濾除10 Hz以上的噪聲,提升了R1上參考電壓的穩定性。電路關系式可表示為:
(2)
式中:r、r1分別為LTC2414轉化Pt1000和R1電壓的編碼值;U為Pt1000電壓;U1為R1的電壓;I為流經R1、R2、Pt1000串聯電阻網絡的電流;R為Pt1000隨溫度變化的阻值;R1為5 kΩ高精度低溫漂的基準電阻。
對式(2)進行轉化,則鉑電阻計算公式可表示為:
(3)
與一般的四線制鉑電阻測溫電路相比,本系統使用的比值法不僅繼承了其可完全忽略引線電阻、高測量精度等優點[8],而且巧妙地使用了模數轉換(analog/digital,A/D),將電壓比轉化為電阻比,減少了誤差因素和噪聲來源。此外,為增加測溫精度和穩定性,主要元件均選用了高精度、低溫漂器件,并通過開關管和電阻限流,消除了鉑電阻自熱效應。
合理的軟件系統可以最大限度地發揮硬件性能。本系統的軟件設計通過嵌入卡爾曼濾波算法和阻值線性擬合回歸方程,得到準確、穩定的鉑電阻阻值,進而使用Pt1000分度表分段擬合公式計算出溫度值。軟件流程如圖3所示。

圖3 軟件流程圖Fig.3 Software flowchart
卡爾曼濾波是一種基于最小均方誤差準則對系統狀態變量進行預測的遞歸式算法,由維納濾波器演變而來[9-10]。本文所設計的測溫系統使用卡爾曼濾波算法對鉑電阻阻值測量進行濾波處理,在一定條件下,水中溫度變化是一個離散性的系統。因此,當使用鉑電阻測量水溫時,鉑電阻阻值變化也是離散性的。其系統模型可用一個線性隨機微分方程表示:
X(k)=AX(k-1)+W(k)
(4)
再加上測溫系統測量值:
Z(k)=HX(k)+V(k)
(5)
式中:X(k)為k時刻的系統狀態;Z(k)為k時刻測量值;A和H分別為系統參數和測量參數,對水溫測量系統來說,測量時認為水溫恒定,鉑電阻阻值無變化,所以系統參數A=H=1;W(k)和V(k)分別為過程噪聲和測量噪聲,它們被假設成高斯白噪聲,協方差分別為Q和R。具體算法流程如下。
①預測系統的下一個狀態:
X(k|k-1)=AX(k-1|k-1)
(6)
式中:X(k|k-1)為上一狀態預測的結果;X(k-1|k-1)為上一狀態最優結果。
②更新X(k|k-1)的協方差P(k|k-1):
P(k|k-1)=P(k-1|k-1)+Q
(7)
③計算此刻卡爾曼增益Kg(k):
(8)
④進行校正更新,即計算k時刻預測結果X(k|k):
X(k|k)=X(k|k-1)+Kg(k)[Z(k)-
X(k|k-1)]
(9)
⑤為下一步估計(k+1)時刻最優阻值的迭代進行更新操作,即更新P(k|k-1):
P(k|k)=[1-Kg(k)]P[k|k-1]
(10)
⑥設置合適的初值X(0|0)、P(0|0)和噪聲值Q、R,將式(6)~式(10)進行循環迭代。
為驗證卡爾曼濾波算法的有效性,使用濾波前后的兩種狀態,采集阻值為1 000.01 Ω的精密電阻箱200次形成的波形。
濾波前后波形對比如圖4所示。

圖4 濾波前后波形對比圖Fig.4 Waveform corrparison before and after filtering
由圖4可以看出,嵌入卡爾曼濾波算法后波形近乎一條直線,達到理想精度。經過計算發現,濾波前擴展不確定度為(999.204 015±0.014 964)Ω,濾波后擴展不確定度為(999.187 323±0.000 87)Ω,穩定性顯著提升。
溫度受環境影響大,一個良好的恒溫環境極難實現,所以本設計并不直接對溫度進行擬合回歸,轉而通過試驗對阻值測量進行擬合回歸。使用Keysight34420A毫微伏/微歐表(100 nΩ精度),與本系統同時測量精密電阻箱的阻值。以10 Ω位梯度改變電阻箱阻值,對1 000~1 400 Ω內的43組數據進行最小二乘法擬合,阻值擬合如圖5所示。

圖5 阻值擬合圖Fig.5 Resistance fitting graph
由圖5可知:相關系數為1,標準偏差為0.004 8 Ω,成立的概率為99.99%。從圖形和計算結果可以看出,擬合直線可靠性好,離散性極低。所以,本系統采集值與微歐表測量值呈線性關系,線性關系式為y=1.000 16x+0.639 6。其中:x為系統測量值;y為微歐表測量值。
改善鉑電阻非線性的補償算法主要有反向分度函數法、牛頓迭代法、查表法等。這些算法無需借助復雜的計算工具,即可求得補償參數[9-11]。本模塊選用反向分度函數法,對Pt1000鉑電阻分度表-20~+100 ℃內溫度與阻值關系散點圖進行觀察分析,將其分為5段,并使用最小二乘法進行擬合回歸。
分段擬合數據如表1所示。

表1 分段擬合數據表Tab.1 Segment fitting data table
表1中:T為溫度;R為鉑電阻阻值。從表1可以看出,標準偏差均小于0.01 ℃,滿足高精度要求。71.0~72.0℃和88.0~89.0℃兩個溫度段為異常段,前者阻值隨溫度變化較快,后者阻值溫度呈負相關。
Keysight34420A毫微伏/微歐表連接SPRT探頭測溫精度可達0.003 ℃,測溫范圍在-190~+660 ℃。將SPRT探頭與Pt1000鉑電阻(連接上本測溫系統)捆綁在一起并放入恒溫水槽,采集10組數據(保留0.001 ℃精度)。測量結果數據如表2所示。

表2 測量結果數據表Tab.2 Measurement results data table ℃
針對地下水測溫要求,設計了Pt1000鉑電阻四線制比值法測溫系統。通過對鉑電阻測溫誤差來源分析,從軟硬件兩方面提出了誤差減小的方案。試驗結果表明,誤差得到有效控制,最大誤差為0.05 ℃,整體精度優于0.044%。該系統測量精度高,結構簡單,不僅適用于地下水溫度測量,也適用于其他水溫測量系統,對相關鉑電阻測溫設計具有借鑒意義。