論文導讀::針對NTC熱敏電阻電阻值與溫度(R-T)的非線性特性,為了提高測溫精度,提出了一種三階對數公式法對R-T特性進行分段曲線擬合。該測溫系統以三階對數公式為基礎進行了軟硬體設計,實現了對船用柴油機的機油溫度、冷卻水溫度的高精度測量。通過實驗測試表明,在0~120℃溫度範圍內,採用該測溫系統的測溫誤差小於±0.3℃。論文關鍵詞:NTC熱敏電阻,對數公式法,分段曲線擬合,測溫系統
0 引言
NTC熱敏電阻是一種電阻式傳感器,具有電阻溫度係數大、型小體輕、熱慣性小、穩定可靠、價格便宜、結構簡單等特點,使它廣泛應用於家庭空調、汽車空調、冷櫃、冰箱等需要溫度測量和控制的場合[1]。但NTC熱敏電阻是非線性元件,且本身具有自熱效應,需要設計測溫系統克服這兩方面的缺陷。常用於解決NTC熱敏電阻非線性的方法有經驗公式法、最小二乘擬合法、硬體電路補償法和恆源法結合軟體查表法[2]-[3]等小論文,經驗公式法計算較為複雜,在較寬溫度範圍內精度不夠高。最小二乘法需要在得到大量的實驗數據下進行,工作量較大,佔用內存也較大。硬體電路補償法對電子元器件的要求較高,隨著電路的複雜度的增加,同時也帶來了電路附加誤差。恆源法結合軟體查表法需要佔用較大存儲空間。針對以上方法的不足,提出了一種三階對數公式分段曲線擬合法,由於用於船用柴油機,不僅要測量溫度,還有機油壓力等需要測量,因此採用的是壓力溫度合二為一的傳感器小論文,測量溫度使用的是NTC熱敏電阻,硬體部分對NTC熱敏電阻共地和不共地以及分檔測試進行了探討,軟體部分對NTC熱敏電阻進行對數分段曲線擬合以及採用滑動濾波的算法減小A/D採樣引起的誤差。
1 R-T三階對數公式的推導
NTC熱敏電阻基本的R-T特性可用指數函數式表示:
(1)
式中R為絕對溫度為T時的零功率電阻值(
)。零功率電阻值指在規定的溫度時,採用引起電阻值變化相對於總的測量誤差來說可以忽略不計的值[3];R0 為絕對溫度為T0時的零功率電阻值(
)。B為與熱敏電阻材料、結構有關的敏感度係數,是以零功率電阻對時間的變化大小來表示的,它是由電阻-溫度特性上任兩點溫度,求出的係數,不同的兩點求出的B值是不同的,因此不能根據廠家給出的B值參考範圍去測量溫度,會帶來較大的誤差。
圖1為本文採用的NTC熱敏電阻在0℃~120℃之間電阻R與攝氏溫度T的關係曲線。
圖1 NTC熱敏電阻電阻-溫度特性圖
由圖1可以看出NTC熱敏電阻值與溫度之間存在著嚴重的非線性,通常對於非線性的曲線擬合處理都是在公式(1)的基礎上進行的,可對公式(1)進行對數變換,使得溫度T和電阻R的自然對數近似呈線性關係小論文,並在此基礎上進行多項式展開和分段曲線擬合。
對等式(1)兩邊同時取自然對數,進行運算後可得下式:
(2)
可令H0=
, H1=1/B,為便於計算,將T看作攝氏溫度,因此又可將(2)式變換為下式:
= H0+ H1InR(3)
令x= InR ,y=
,式(3)可變為
y= H0+ H1x(4)
可知,(4)式在0~120℃範圍內是一個連續函數,數學上已證明,在閉區間上的任意確定性連續函數,可用如下的代數多項式在該區間以所要求的任意精度來逼近[4],
(5)
因此根據(5)式對(4)進行三次多項式擴展小論文,即多項式曲線擬合,擬合多項式如下:
y= H0+ H1x+ H2x2+H3x3 (6)
但文中所有的數據計算均採用微處理器實現,涉及自然對數和平方、三次方等的運算,綜合考慮精度和實時性的要求,去掉平方項,得式(7)。經實驗驗證,能達到精度要求,又提高了程序的運行速度。由圖1可看出NTC熱敏電阻在40℃、80℃處的溫度-電阻變化較大,若在整個區間範圍內都採用同一個多項式進行擬合,則誤差較大。採用對數分段曲線擬合,又考慮到微處理器處理數據時各區間並不是相互無關小論文,而是相互有重疊,所以分成[0℃,40℃],[30℃,80℃],[70℃,120℃]3個區間。
y= H0+ H1x + H3x3(7)
因此需要在這3個區間內求解3組不同的係數H0、H1、H3。根據熱敏電阻廠家提供的溫度-電阻值表,選取其中的3個點,可採用普通多項式法、最小二乘法和切比雪夫多項式法[6]對三個係數進行計算,但在本文中該三種方法的準確度相差不大。 因此採用算法最簡單的普通多項式法進行計算,可得以下三個擬合方程:
[0℃,40℃]
(8)
[30℃,80℃]
(9)
[70℃,120℃]
(10)
由此,實際應用可根據以上三個方程進行軟硬體的設計。
2 NTC熱敏電阻分段曲線擬合的硬體測量電路
採用的NTC熱敏電阻將測量水溫和油溫的NTC熱敏電阻組裝在了一起,測量油溫的NTC熱敏電阻本身有一端是接地的,測量水溫的NTC熱敏電阻兩端均不接地。因此硬體測量電路中必須考慮NTC熱敏電阻的共地與不共地問題。NTC熱敏電阻隨著溫度的升高而阻值變小,0℃時阻值為5895
,120℃時阻值為112.7
。考慮到熱敏電阻的自熱效應小論文,流過NTC熱敏電阻的電流不得超過1
,選定為0.5
,採用恆流源為熱敏電阻提供0.5
的電流。在0℃時NTC熱敏電阻兩端的電壓大約為3V,在120℃時NTC熱敏電阻兩端的電壓約為0.05V,0.05V的信號太小,單片機的A/D口進行採樣後得到的信號非常弱,必須對NTC熱敏電阻信號進行分檔倍乘後採集,硬體測量電路框圖如圖2所示。
圖2 熱敏電阻硬體測量電路
由圖1可知熱敏電阻共地和不共地的電路接法。分為1倍、5倍、10倍三檔,1倍檔對應於[0℃,40℃]溫度區間,它對應的A/D口電壓範圍為0.5V~3V,若A/D口電壓低於0.5V小論文,則採用5倍檔進行測量;5倍檔對應於[30℃,80℃]溫度區間,它對應的A/D口電壓範圍為0.1V~0.9V,若A/D口電壓低於0.1V,則採用10倍檔進行測量;10倍檔對應於[70℃,120℃]溫度區間。採用4通道數字控制模擬開關CD4052對倍乘檔進行選擇。該熱敏電阻用於測量船用柴油機的水溫和油溫,水油溫高於97℃時進行報警。
3 NTC熱敏電阻分段曲線擬合的軟體設計
3.1 A/D採樣的滑動濾波算法
A/D口在對溫度數據進行採集時會產生誤差,採用滑動濾波算法減小該誤差。如圖3所示為滑動濾波算法框圖。
圖3 滑動濾波算法框圖
如圖3所示,將採集的溫度數據放到一個隊列中,在剛開始進行採集溫度數據時,為防止幹擾,連續採集16次後再對此16個數據求和並求平均,即將和右移4位。此後小論文,取8位求和並取平均,即將和右移3位,採樣一次做一次平均,平均後的數據準確度更高。
3.2 R-T轉換的程序實現
硬體電路把電阻的變化轉化為了電壓的變化,並對電壓進行分檔採集。要測量出溫度值,需要依靠程序來實現。如圖4所示為水溫的R-T轉換的程序流程圖,油溫的R-T轉換類似,將不再敘述。對採集的溫度數據即已轉換為電壓的數據進行判斷,如果電壓在[0.5V,3V]範圍
內,則電壓處於1倍檔,溫度值處於[0℃,40℃]溫度區間內小論文,因此採用公式(8)進行計算;如果電壓在[0.1V,0.9V]範圍內,則電壓處於5倍檔,溫度值處於[30℃,80℃]溫度區間內,因此採用公式(9)進行計算。如果電壓不處於以上兩個區間,則直接採用10倍檔的溫度公式(10)進行計算,不用再進行判斷。
圖4 水溫R-T轉換程序流程圖
4 實驗結果及分析
根據三個曲線擬合方程,並進行軟硬體設計組成的測溫系統進行實驗測試得到的擬合數據和誤差如表1所示:
表1 實驗測量擬合溫度/擬合誤差
由表1可以發現,採用對數分段曲線擬合的擬合誤差在30℃時最大約為0.2℃,原因可能是由於非線性變換造成的,但總的來說,擬合精度還是不錯的。系統硬體採用了毫安級恆流源降低了熱敏電阻的自熱效應小論文,軟體採用了滑動濾波的算法減少A/D轉換帶來的誤差,系統軟硬體結合實現了對數分段曲線擬合,為整個測溫系統提供了精度較高、實時性較好的測量。
5 結束語
NTC熱敏電阻採用對數分段曲線擬合的方式,對NTC熱敏電阻的電阻-溫度特性公式進行了變換,在近似呈線性的條件下對溫度進行分段曲線擬合,精度較高。去掉平方項,提高了微處理器的運算速度。編程較易實現,程序運算速度較快,實時性較好。只需更改擬合多項式的係數即可對其他型號的NTC熱敏電阻進行擬合,互換性強。在0℃~120℃溫度範圍,對數分段曲線擬合的擬合精度要優於普通多項式擬合。該方案在理論的驗證下,已通過編程實現,通過廠家的驗收,已交付廠家應用到船用柴油機進行實際測溫,運行正常。