吳志祥 ,周祥才 ,黃 亮 ,陳 功
(1.常州工學院 電子信息與電氣工程學院,常州213002;2.常州工學院 光電工程學院,常州213002)
溫度是表征物體冷熱程度的物理量,是工業(yè)生產(chǎn)和科學實驗中一個非常重要的參數(shù)。鉑電阻以其性能穩(wěn)定、測溫范圍寬、易標定及互換性好等特點,在溫度測量中得到了廣泛應用。國際溫標ITS-90中還規(guī)定,將特殊構(gòu)造的鉑電阻作為-259℃~961.78℃標準溫度計來使用。
因鉑電阻的電阻值與溫度之間存在非線性關系,復現(xiàn)溫度時需要進行非線性運算,即“非線性校正”。非線性運算的基礎是分度函數(shù)或分度表[1-3],是高精度測溫不可缺少的環(huán)節(jié),方法多樣。應用牛頓迭代法對鉑電阻分度函數(shù)求解,二次迭代后即可獲得滿意的精度[4],但迭代運算時間長,占用內(nèi)存多。采用神經(jīng)網(wǎng)絡法對0℃~600℃測溫范圍分六段進行3次多項式擬合,誤差小于0.02℃水平[5]。通過根號運算的解析式由電阻值可求解溫度值[6]。對稱函數(shù)非線性法[7],在0℃~150℃范圍內(nèi),誤差≤0.02℃。應用最小二次法,獲得了48℃~50℃范圍內(nèi),誤差≤0.05℃[8]。以及樣條插值法[9-10]等。采用非平衡電橋非線性校正方法[11],則增加了電路復雜性。
高精度測控溫,通常為智能式數(shù)字儀表。其核心單元通常為單字節(jié)8位單片機。因此,研究鉑電阻與溫度值之間的簡易直接算法且占用內(nèi)存少,頗有價值。
Pt10、Pt100及Pt1000三種鉑電阻中,Pt100為最常用溫度復現(xiàn)元件。
在0℃~850℃范圍內(nèi),鉑電阻與溫度的關系為
式中:a=3.90802×10-3/℃;b=-5.80195×10-7/℃;R(100℃)/R(0℃)=1.38500。因式(1)表達的是溫度與電阻值的關系,所以由電阻值求溫度值是求逆的過程。
設溫度上限量程tF對應的電阻值為RF,量程內(nèi)溫度與電阻值為線性化,則非線性誤差為
對式(2)求導,并令為 0:
整理得:
對應 0~650℃、0~850℃溫區(qū),非線性誤差最大溫度值點與電阻值分別為325℃/6.127 Ω與425℃/10.478 Ω,見圖1所示。折合非線性誤差約為27℃。
離散數(shù)據(jù)點(xi,yi)(i=0,1,2,……,m),期望構(gòu)造近似函數(shù)曲線S(x),描述這組數(shù)據(jù)的內(nèi)在規(guī)律。即選取適當?shù)暮瘮?shù)類(集合)
圖1 0~650℃、0~850℃非線性誤差分布Fig.1 Non-linear errors distribution diagram within the range of 0~650℃ and 0~850℃
φ0,φ1,φ2,……,φn,是[a,b]上 n+1 個線性無關的連續(xù)函數(shù)。尋求一個函數(shù)
使 S*(x)與 y=f(x)在上述 m+1 個點上的偏差(殘差)
滿足
最小二乘法追求“平方差(殘差平方和)”最小。曲線擬合時,按其形態(tài)可選擇復合函數(shù)、增長函數(shù)、對數(shù)函數(shù)、指數(shù)函數(shù)或邏輯函數(shù)等本質(zhì)線性模型進行。但在程序編譯時,仍然采用泰勒級數(shù)等方法展開為多項式,故,惟有多項式最適用是程序運算。
多項式擬合時,提高多項式次數(shù)能改善擬合效果,但將導致方程病態(tài)。如采用分段擬合處理,可采用移動最小二乘法 MLS (moving least square)[13]提高擬合精度。
將式(1)按一定溫度值間隔點繪制t-R曲線,再對曲線進行R-t擬合。為方便程序運算,采用按溫區(qū)段進行擬合。考慮最大限度地逼近原函數(shù)曲線,或誤差分布伴隨原曲線呈對稱性,先令權(quán)函數(shù)ω(x)為“1”的定常數(shù)進行擬合。然后觀察誤差分布情況,調(diào)整權(quán)函數(shù)中對應節(jié)點的權(quán)重,重新擬合,如此反復,直至誤差分布接近對稱時結(jié)束。
多項式可寫成乘積—相加的循環(huán)運算,占用內(nèi)存小,運算速度快。
式中:t(r)為溫度值;r為實測鉑電阻值。 一旦測得了鉑電阻值,便可使用式(6)直接計算出對應溫度值。
鉑電阻測溫,通常把0~650℃稱為標準溫區(qū)段,650℃~850℃稱為擴展區(qū)段,而0~850℃稱為全局區(qū)段。為此,在本擬合中分三組進行擬合計算。
依據(jù)前述原理,利用數(shù)學計算工具軟件Matlab等,可求得多項式(7)各系數(shù),如表1所示。
表1 正溫區(qū)三區(qū)段范圍3次、4次多項式系數(shù)表Tab.1 Cubic polynomial and quartic polynomial graph within three temperature ranges
全局區(qū)段,三次多項式最大絕對值誤差為0.1567℃,已滿足現(xiàn)場溫控之需要。四次多項式擬合后最大絕對值誤差為0.0249℃,可確保0.1℃精度的精確測溫之需。
標準區(qū)段,三次、四次多項式擬合最大絕對值誤差分別為0.0320℃與0.0024℃。四次多項式擬合可確保0.005℃計量測溫要求。
對于擴展區(qū)段,二次、三次多項式擬合最大絕對值誤差分別為0.0194℃與0.0053℃。
表1顯示,各區(qū)段三次多項式已能滿足絕大多數(shù)工程測溫精度需要。對于計量要求,可采用四次多項式運算。表1中擴展區(qū)段還顯示,采用最小二乘法擬合時,同樣的階數(shù),區(qū)段范圍越小,精度越高。
為了更清楚地顯示擬合效果,顯示全局區(qū)段及標準區(qū)段的誤差分布情況,分別見圖2及圖3所示。
圖2 0~850℃溫區(qū)三次、四次擬合誤差分布Fig.2 Error distribution of cubic and quartic fitting within the range of 0~850 ℃
圖3 0~650℃溫區(qū)三次、四次擬合誤差分布Fig.3 Error distribution of cubic and quartic fitting within the range of 0~650 ℃
以單片機或SOC(system on chip)為核心的智能儀器儀表中,現(xiàn)今廣泛采用C語言編程。C語言自身并無精度標準。實型變量分為單精度(float型)、雙精度(double 型)及長雙精度(long double型)3類。其中float型占用內(nèi)存4個字節(jié),運算速度最快。且SOC系統(tǒng)中,考慮內(nèi)存較小的原因,幾乎全部采用float型運算。
為了方便起見,仍以標準版8051單片機12 MHz振蕩頻率為例,在Keil平臺用C語言驗算,對0~650℃的四次多項式擬合,將表1中各系數(shù)代入式(7)得具體算式(8),運算結(jié)果與EXCEL運算結(jié)果,如表2所示。
t(r)=-246.38931+(2.3723080+(9.0186775×10-4+
表2 C語言與EXCEL計算比較Tab.2 C language and EXCEL calculation comparison
電 阻 值 為 100.000 Ω、212.019 Ω 及 329.508 Ω時的程序擬合運算時間,分別為1470MT(Machine Period)、1487MT 和 1488MT。 可見式(7)運算的快速性。
表2還顯示了Keli C運算的正確性。
這里對鉑電阻非線性函數(shù)求逆運算的常見方法及存在問題簡要總結(jié)后,采用最小二乘法調(diào)整權(quán)函數(shù)之方法,對鉑電阻正溫區(qū)按3種區(qū)段,進行了擬合運算,得到了三次、四次多項式系數(shù),并給出了擬合運算誤差分布圖。在0~650℃溫區(qū)范圍內(nèi),應用四次多項式擬合運算,最大誤差僅為±0.003℃。多項式擬合運算,算式簡單明了,占用內(nèi)存小,運算速度快,特別適用于采用C語言編程的單片機或SOC中。C語言采用單精度實型變量運算后的精度與速度,進一步證實多項式擬合的優(yōu)越性。文中給出的多項式系數(shù),可直接用于鉑電阻測溫需要。多項式擬合方法亦可使用于熱電偶測溫中。
[1] Bentley,Robin E.Handbook of Temperature Measurement[M].CSIRO,2000.
[2] L Michalski,K Eckersdorf,J Kucharski,J,ea al.Temperature Measurement Second Edition[M].LUDWIG MICHALSKI,Lodska Polytechnic,Poland Published:March 2001.
[3] 李吉林.常用熱電偶熱電阻分度表-ITS-90[M]北京:中國計量出版社,2010.
[4] 楊永竹.鉑電阻高精度非線性校正及其在智能儀表中的實現(xiàn)[J].儀表技術(shù)與傳感器,2000(8):44-46.
[5] 王小華,何怡剛.鉑電阻Pt100特性數(shù)學模型[J].傳感器技術(shù),2003,22(10):33-34.
[6] 楊平,李志武.常用熱電阻的溫度—阻值變換的解析計算[J].傳感器技術(shù),2002,21(1):38-41.
[7] 王勇,王曉東.高精度鉑電阻測溫非線性校正方法[J].測控技術(shù),2004,23(7):75-76.
[8] 易先軍,文小玲,劉翠梅.基于鉑電阻的溫度高精度測量研究[J].傳感器與系統(tǒng),2009,28(1):49-51.
[9] 劉少強,黃惟一.基于插值計算與優(yōu)化的鉑電阻非線性校正方法[J].儀器儀表學報,2003,24(2):215-217.
[10]姬建偉,李平,宋家友.鉑電阻高精度測量和非線性校正的研究[J].微型計算機信息,2007,23(5):164-165.
[11]任殿慧,周巧娣,章雪挺,等.一種鉑電阻測溫電路的非線性校正方法[J].電子器件,2010,33(5):603-606.
[12]謝偉松.數(shù)值分析[M]天津:天津大學出版社,2000.
[13]張淮清,俞集輝.線路電磁場測量數(shù)據(jù)的移動最小二乘擬合處理[J].高壓電技術(shù),2010,36(3):661-665. ■