什么是NTC
NTC是熱敏電阻,其電阻值對(duì)溫度變化敏感,在不同的溫度下,可以呈現(xiàn)不同的電阻值。
熱敏電阻有兩類(lèi),一類(lèi)是負(fù)溫度系數(shù)電阻(NTC),溫度增加時(shí),電阻值降低,另一類(lèi)是正溫度系數(shù)電阻(PTC),溫度增加時(shí),電阻值增加。
熱敏電阻的電阻值計(jì)算
NTC的電阻值R與溫度的關(guān)系可以近似表示為:
公式1,電阻與溫度函數(shù)關(guān)系式
其中T是絕對(duì)溫度,數(shù)值為攝氏溫度+273.15,單位為K(開(kāi)爾文)。
R0一般取溫度25℃即298.15K時(shí)的電阻值,對(duì)應(yīng)的T0取25℃,即298.15K。
B為材料常數(shù).不同的村料或者生產(chǎn)工藝都能導(dǎo)致B的數(shù)值發(fā)生變化,甚至在熱敏電阻的工作范圍內(nèi),B的數(shù)值都可能發(fā)生變化,而不是嚴(yán)格的常數(shù);
因?yàn)镹TC的電阻與溫度呈非線(xiàn)性的關(guān)系,而且存著溫度的增加,溫度隨著溫度變化的變化率越小。
所以隨著溫度的增加,NTC測(cè)溫的精度變化;
所以比較適合于溫度變化范圍小的使用場(chǎng)景,比如環(huán)境溫度(約為-20℃-50℃)或者是水溫的檢測(cè)(0℃-100℃)。
搜索到的一款NTC,按照溫度為25℃的電阻取值,可有5KΩ,10 KΩ等不同的規(guī)格,而材料系數(shù)B值固定為3950。
我們選擇10K的規(guī)格,根據(jù)公式1,可以得到這款NTC的電阻與溫度的關(guān)系為:
公式2,電阻與溫度的函數(shù)關(guān)系式
通過(guò)excel表格的公式,在excel工作薄的第一列輸入溫度,第二列輸入公式可以得到不同溫度下的電阻值,比如0℃為33.6 KΩ
采用excel計(jì)算AD值
NTC測(cè)溫電路的設(shè)計(jì)
NTC測(cè)溫核心在于具有ADC功能的MCU,電路比較簡(jiǎn)單,只需要將固定的電壓經(jīng)過(guò)另一個(gè)高精度的電阻分壓接到NTC電阻,然后將分壓值連接到MCU的ADC輸入口。
如下圖:
NTC測(cè)溫電路
R1為1%精度的電阻,R2為NTC,
0.1uF的電容C1除了可以濾除從電源引入或者從電路板感應(yīng)來(lái)的高頻干擾信號(hào),另外當(dāng)ADC有多路AD輸入在轉(zhuǎn)換時(shí),MCU的AD模塊需要通過(guò)模擬開(kāi)關(guān)切換不同的通道,再進(jìn)行采樣轉(zhuǎn)換,電容C1可以在ADC切換通道之后,迅速向采樣電容充電,從而可以提到轉(zhuǎn)換速度,避免因采樣時(shí)間太短而導(dǎo)致測(cè)量不準(zhǔn)確。
R1上拉的電源應(yīng)該和MCU的ADC的參考電源共用一個(gè)電源(在一般的設(shè)計(jì)中,MCU的供電電源和ADC的參考電源共用一個(gè)電源)。
這是因?yàn)椋?/p>
輸入ADC的AD值為(假設(shè)為12位的ADC):
AD值計(jì)算公式
如果上拉的電源ADC的參考電源共用一個(gè)電源,可以得到和上位電源無(wú)關(guān)的一個(gè)公式:
AD值計(jì)算公式
所以可以消除電源精度對(duì)測(cè)試的影響,同時(shí)減少了計(jì)算的復(fù)雜性;
NTC測(cè)溫軟件的設(shè)計(jì)
我看到在一個(gè)網(wǎng)友的程序設(shè)計(jì)中,他直接將公式1取對(duì)數(shù),通過(guò)復(fù)雜的對(duì)數(shù)運(yùn)算和倒數(shù)運(yùn)算得到溫度值,這是不合適的,
主要是:
普通的單片機(jī)不一定提供這樣的數(shù)學(xué)函數(shù)庫(kù)。
普通的單片機(jī)沒(méi)有浮點(diǎn)數(shù)運(yùn)算,浮點(diǎn)數(shù)都是轉(zhuǎn)成整弄運(yùn)算的,不可避免會(huì)有舍入誤差。
單片機(jī)做對(duì)數(shù),倒數(shù)的運(yùn)算,只能是近似算法,而且會(huì)耗費(fèi)大量的運(yùn)算時(shí)間,可能會(huì)到幾百ms級(jí),影響了對(duì)其它功能處理的實(shí)時(shí)性。
公式1只是一個(gè)近似公式,B值也并不是一個(gè)常數(shù),用這樣具體的解析公式計(jì)算,沒(méi)有辦法根據(jù)實(shí)際測(cè)量值對(duì)計(jì)算值進(jìn)行標(biāo)定,從而提高測(cè)量精度。
我在實(shí)際的項(xiàng)目中,采用的是分段線(xiàn)性化的方法,步驟如下:
采用excel表格自動(dòng)生成C語(yǔ)言中包含AD與溫度的二維數(shù)組
將測(cè)溫范圍分若干個(gè)區(qū)間,比如在0-100度的范圍內(nèi),分100個(gè)區(qū)間,每個(gè)區(qū)間范圍為1℃
計(jì)算或者實(shí)測(cè)每一個(gè)區(qū)間下限和區(qū)間上限的溫度值; 比如區(qū)間30℃-31℃,根據(jù)公式1計(jì)算或者實(shí)際測(cè)試出30℃以及31℃的AD值。
將這些區(qū)間表示為2維數(shù)組(這個(gè)2維數(shù)組也可以通過(guò)實(shí)際測(cè)試形成);
取出將AD轉(zhuǎn)換并多次平均之后數(shù)值,編歷分段的區(qū)間,與這些區(qū)間的AD上、下限進(jìn)行比較,判斷落在哪一個(gè)區(qū)間,
根據(jù)一次函數(shù)的公式進(jìn)行區(qū)間內(nèi)的插值修正:
測(cè)試溫度值=區(qū)間溫度下限+(區(qū)間溫度上限-區(qū)間溫度下限)/(區(qū)間AD上限-區(qū)間AD下限)*(AD測(cè)量值-區(qū)間AD下限)
最后奉上本人使用的分段線(xiàn)性化的程序:
-
mcu
+關(guān)注
關(guān)注
146文章
17473瀏覽量
354594 -
NTC
+關(guān)注
關(guān)注
7文章
444瀏覽量
52393 -
測(cè)溫電路
+關(guān)注
關(guān)注
4文章
46瀏覽量
23461
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論