標(biāo)題:
熱敏電阻問題如何用查表法計(jì)算溫度?
[打印本頁]
作者:
噠勞德
時(shí)間:
2020-5-2 22:48
標(biāo)題:
熱敏電阻問題如何用查表法計(jì)算溫度?
ntc熱敏電阻通過ad轉(zhuǎn)換得到了ad值,然后怎么算出熱敏當(dāng)前溫度的阻值呢?我想用查表法
作者:
TTQ001
時(shí)間:
2020-5-3 00:11
如果NTC電阻相對(duì)于溫度不是線性的,則使用查找表是最佳方法。 可以通過實(shí)驗(yàn)找到所有溫度點(diǎn)及其相應(yīng)的電阻,然后將數(shù)據(jù)填充到二維表中,也可以只使用NTC熱敏電阻數(shù)據(jù)表提供的表,然后使用插值法找到兩個(gè)已知點(diǎn)之間的任何值。
作者:
songjiatan
時(shí)間:
2020-5-3 01:36
NTC作為一種負(fù)溫度系數(shù)熱敏電阻,其阻值隨溫度升高而降低。利用熱敏電阻的特性可以做溫度傳感器檢測(cè)溫度應(yīng)用在單片機(jī)中。下面簡(jiǎn)單介紹下,在單片機(jī)中AD檢測(cè)熱敏電阻電壓值,然后轉(zhuǎn)換成電阻值,求出當(dāng)前的實(shí)際溫度。 一、熱敏電阻公式 NTC 熱敏電阻溫度計(jì)算公式:Rt = R *EXP(B*(1/T1-1/T2)) 其中,T1和T2指的是K度,即開爾文溫度。 Rt 是熱敏電阻在T1溫度下的阻值。 R是熱敏電阻在T2常溫下的標(biāo)稱阻值。100K的熱敏電阻25℃的值為100K(即R=100K)。T2=(273.15+25) EXP是e的n次方 B值是熱敏電阻的重要參數(shù) 通過轉(zhuǎn)換可以得到溫度T1與電阻Rt的關(guān)系T1=1/(ln(Rt/R)/B+1/T2) (所以對(duì)應(yīng)只有一個(gè)Rt未知數(shù)即可求出T1實(shí)時(shí)溫度) 對(duì)應(yīng)的攝氏溫度t=T1-273.15,同時(shí)+0.5的誤差矯正。 二、硬件連接方式 單片機(jī)通過ADC檢測(cè)熱敏電阻電壓值,或者相關(guān)分壓值。一般在熱敏電阻上串聯(lián)與Rt阻值相同的分壓電阻。因?yàn)橛?jì)算T1公式中需要知道Rt/R的比值關(guān)系,所以在這樣的串聯(lián)分壓電路時(shí)電阻比值即等于電壓比值,不需要將測(cè)得電壓值再換算成電阻值。具體電路圖如下: 圖中的檢測(cè)電壓是測(cè)分壓電阻R3的,一般來說直接測(cè)RTC更為直觀。R2由于單片機(jī)IO的高阻態(tài)等設(shè)置,R2上相當(dāng)于開路,所以測(cè)得電壓可以當(dāng)作為R3上的電壓。 三、程序?qū)崿F(xiàn) ADC獲取過程就不再贅述了,相關(guān)程序可以在前一篇博客中查看,我這邊直接將獲取了相應(yīng)溫度后如何處理程序展示下: uint16_t TempValue_Calculate( float TempADCValue ) { float TempValue = 0; float res_proportion = (vdd_value-TempADCValue)/TempADCValue; //電阻比值相當(dāng)于電壓比值,根據(jù)電路圖計(jì)算, TempValue = 1.0/( (log(res_proportion))/3950.0 + 1.0/(273.15+25.0) ) - 273.15; //JlinkPrintf("current temp is %.2f\r\n,", TempValue); return (uint16_t)TempValue; } // vdd_value為內(nèi)部電壓值,TempADCValue為對(duì)應(yīng)AD檢測(cè)的電壓值(在這邊是電路圖中的R3電壓) 補(bǔ)充下知識(shí)點(diǎn): 數(shù)學(xué)中的公式和c語言中有小小的區(qū)別。 1、數(shù)學(xué)中 log是對(duì)數(shù)符號(hào),右邊寫真數(shù)和底數(shù)(上面是真數(shù),下面是底數(shù)) lg是以10為底數(shù)(例lg100=2)(lg為常用對(duì)數(shù)) ln是以e為底數(shù)(lne2=2)(ln為自然對(duì)數(shù) e=2.7182818284590452353602874713527...) 2、c語言中 c語言里面只有兩個(gè)函數(shù)log和log10 其中 函數(shù) log(x) 表示是以e為底的自然對(duì)數(shù),即 ln(x) 函數(shù) log10(x) 以10為底的對(duì)數(shù),即 lg(x) 以其它數(shù)為底的對(duì)數(shù)用換底公式來表示 函數(shù)如下: double logab(double a,double b) { return log(b)/log(a); } ———————————————— 版權(quán)聲明:本文為CSDN博主「眾緲之門」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。 原文鏈接:
https://blog.csdn.net/qq_42660303/article/details/84145382
作者:
xingningjie
時(shí)間:
2020-5-3 08:28
可以通過實(shí)驗(yàn)找到所有溫度點(diǎn)及其相應(yīng)的電阻,然后將數(shù)據(jù)填充到二維表中,也可以只使用NTC熱敏電阻數(shù)據(jù)表提供的表,然后使用插值法找到兩個(gè)已知點(diǎn)之間的任何值。
作者:
wulin
時(shí)間:
2020-5-3 08:47
樓主想用查表法得到AD值首先得制表。普通人士不可能有條件測(cè)出NTC熱敏電阻大范圍的溫度/阻值關(guān)系,通常只能根據(jù)廠商提供的產(chǎn)品手冊(cè)和所選AD芯片的轉(zhuǎn)換精度(位數(shù))制表。
作者:
wulin
時(shí)間:
2020-5-3 09:03
給你一個(gè)表,相關(guān)數(shù)據(jù)復(fù)制到數(shù)組中即可。
10K B3950 NTC溫阻電壓編碼表 上偏置電阻2.4K.zip
(30.28 KB, 下載次數(shù): 97)
2020-5-3 09:02 上傳
點(diǎn)擊文件名下載附件
作者:
噠勞德
時(shí)間:
2020-5-3 09:39
wulin 發(fā)表于 2020-5-3 09:03
給你一個(gè)表,相關(guān)數(shù)據(jù)復(fù)制到數(shù)組中即可。
謝謝,這個(gè)文件對(duì)我挺有幫助的
作者:
銀河天地
時(shí)間:
2020-5-3 11:29
NTC和電阻分壓,算出阻值,然后查表
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1