找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8850|回復(fù): 27
收起左側(cè)

NTC熱敏電阻溫度計(jì)算公式答疑

  [復(fù)制鏈接]
回帖獎(jiǎng)勵(lì) 100 黑幣 回復(fù)本帖可獲得 100 黑幣獎(jiǎng)勵(lì)! 每人限 1 次
ID:162317 發(fā)表于 2022-4-20 15:02 | 顯示全部樓層 |閱讀模式
看到有個(gè)NTC熱敏電阻溫度計(jì)算公式如下:
temp = (signed int)(3950.0/(11.33657+log(6.04*(float)temp[0]/(1024 - (float)temp[0]))) - 273.15);

電路是10K上拉電阻+NTC10K/B=3950下拉;求高手解答11.33657和6.04這兩個(gè)參數(shù)是怎么計(jì)算出來(lái)的。
回復(fù)

使用道具 舉報(bào)

ID:390416 發(fā)表于 2022-4-21 08:26 | 顯示全部樓層
這個(gè)帖子里面有現(xiàn)成的NTC溫度檢測(cè)代碼
http://www.torrancerestoration.com/bbs/dpj-213898-1.html
回復(fù)

使用道具 舉報(bào)

ID:935919 發(fā)表于 2022-4-21 08:35 | 顯示全部樓層
本帖最后由 sinside 于 2022-4-21 08:56 編輯

以下是我的猜測(cè), 應(yīng)該是是通過(guò)兩個(gè)溫度, 去計(jì)算想要測(cè)量的溫度, T0是參考溫度, TN是另一個(gè)溫度. 不知道有沒(méi)有問(wèn)題.
搞錯(cuò)了, 忘記電阻的10K了
以后面的圖片為準(zhǔn), 基本就可以比對(duì)出來(lái)了

公式

公式

公式1

公式1
回復(fù)

使用道具 舉報(bào)

ID:935919 發(fā)表于 2022-4-21 09:05 | 顯示全部樓層
本帖最后由 sinside 于 2022-4-21 09:30 編輯

以此公式為準(zhǔn), 6.幾是RN*RK, 另外一個(gè)值是B/TN

公式

公式

下面的公式只是推動(dòng)上面公式的T怎么來(lái)的, 最后一部分是錯(cuò)誤的

公式1

公式1


此外273應(yīng)該是K氏溫度的轉(zhuǎn)換
回復(fù)

使用道具 舉報(bào)

ID:951991 發(fā)表于 2022-4-21 09:20 | 顯示全部樓層
你查下廠家的規(guī)格書,有個(gè)好像是固定參數(shù)
回復(fù)

使用道具 舉報(bào)

ID:162317 發(fā)表于 2022-4-21 13:39 | 顯示全部樓層
幾位都沒(méi)說(shuō)到重點(diǎn)
回復(fù)

使用道具 舉報(bào)

ID:935919 發(fā)表于 2022-4-22 10:37 | 顯示全部樓層
南柯一夢(mèng) 發(fā)表于 2022-4-21 13:39
幾位都沒(méi)說(shuō)到重點(diǎn)

兄弟, 你看我地板樓的回答, 6.04是RN*RK得到的;   11.33657是B/TN得到的, 不正確嗎? 討論一下?
RN長(zhǎng)標(biāo)準(zhǔn)溫度的電阻值, RK是10K電阻值, B是傳感器的B值TN是標(biāo)準(zhǔn)溫度.
公式總V=1024, AD是采樣值=tmep[0]

哪里不一致, 再討論一下?
回復(fù)

使用道具 舉報(bào)

ID:162317 發(fā)表于 2022-4-22 15:10 | 顯示全部樓層
sinside 發(fā)表于 2022-4-22 10:37
兄弟, 你看我地板樓的回答, 6.04是RN*RK得到的;   11.33657是B/TN得到的, 不正確嗎? 討論一下?
RN長(zhǎng)標(biāo)準(zhǔn) ...

TEMP是計(jì)算出來(lái)的溫度值,不是AD值。TEMP[0]才是AD值,25度的時(shí)候。NTC是10K,數(shù)值代進(jìn)去算下,就發(fā)現(xiàn)你說(shuō)的根本就不對(duì)。
回復(fù)

使用道具 舉報(bào)

ID:935919 發(fā)表于 2022-4-22 16:22 | 顯示全部樓層
本帖最后由 sinside 于 2022-4-24 09:15 編輯
南柯一夢(mèng) 發(fā)表于 2022-4-22 15:10
TEMP是計(jì)算出來(lái)的溫度值,不是AD值。TEMP[0]才是AD值,25度的時(shí)候。NTC是10K,數(shù)值代進(jìn)去算下,就發(fā)現(xiàn)你 ...

我上面說(shuō)的AD值就是temp[0]啊, 11.33657=B/TN, 溫度電阻的B值=3950吧? TN=3950/11.33657~=(348.4-273)°, 你能否查一下你電阻值表, 溫度為(348.4-273)°左右, 電阻值是多少? RN=(348.4-273)°的阻值, 然后把看看是否等于6.04/10K = 0.000604歐姆左右?
回復(fù)

使用道具 舉報(bào)

ID:935919 發(fā)表于 2022-4-22 17:02 | 顯示全部樓層
2022-04-22_165859.png
不好意思, 如圖示這步推導(dǎo)錯(cuò)了 6.04=R10K/RN才對(duì), 你再試試
回復(fù)

使用道具 舉報(bào)

ID:739727 發(fā)表于 2022-4-22 18:04 | 顯示全部樓層
普通單片機(jī)最好用查表法,數(shù)學(xué)計(jì)算太耗費(fèi)單片機(jī)資源
回復(fù)

使用道具 舉報(bào)

ID:162317 發(fā)表于 2022-4-22 19:05 | 顯示全部樓層
AAA_MCU 發(fā)表于 2022-4-22 18:04
普通單片機(jī)最好用查表法,數(shù)學(xué)計(jì)算太耗費(fèi)單片機(jī)資源

帶小數(shù)點(diǎn)顯示的,查表得好幾千個(gè),更耗費(fèi)單片機(jī)資源
回復(fù)

使用道具 舉報(bào)

ID:162317 發(fā)表于 2022-4-22 19:16 | 顯示全部樓層
sinside 發(fā)表于 2022-4-22 17:02
不好意思, 如圖示這步推導(dǎo)錯(cuò)了 6.04=R10K/RN才對(duì), 你再試試

25°時(shí)R10K/RN=1,6.04應(yīng)該不是這樣算出來(lái)的,只要電路不變,外接V變化,比如5V或者3.3V,計(jì)算出來(lái)的溫度值都是正確的,用8/10/12位AD,只需將AD改成對(duì)應(yīng)的就行,所以跟V或者AD位數(shù)關(guān)系不大
回復(fù)

使用道具 舉報(bào)

ID:935919 發(fā)表于 2022-4-24 08:09 | 顯示全部樓層
南柯一夢(mèng) 發(fā)表于 2022-4-22 19:16
25°時(shí)R10K/RN=1,6.04應(yīng)該不是這樣算出來(lái)的,只要電路不變,外接V變化,比如5V或者3.3V,計(jì)算出來(lái)的溫度 ...

6.04不是用25°作為計(jì)算參考點(diǎn)算出來(lái)的, 你用25°的RN算當(dāng)然不對(duì). 能否把你的傳感器的規(guī)格書發(fā)一下, 我對(duì)一下就知道了.

另外, 采樣電路應(yīng)該是電源->10K->溫度傳感器-->地, 沒(méi)有錯(cuò)吧?
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2022-4-24 09:33 | 顯示全部樓層
南柯一夢(mèng) 發(fā)表于 2022-4-22 19:05
帶小數(shù)點(diǎn)顯示的,查表得好幾千個(gè),更耗費(fèi)單片機(jī)資源

用對(duì)分查表法很塊也較準(zhǔn)確,此示例在常溫環(huán)境誤差小于0.5度。 -30~150度數(shù)碼管溫度計(jì)(對(duì)分查表法).rar (27.25 KB, 下載次數(shù): 114)

回復(fù)

使用道具 舉報(bào)

ID:844772 發(fā)表于 2022-4-24 11:26 | 顯示全部樓層
板凳說(shuō)的沒(méi)錯(cuò),就是通過(guò)NTC 熱敏電阻溫度計(jì)算公式推到的,只是變量名稱大家用的不同,就下邊的公式,反推就行啦。
Rt = R *EXP(B*(1/T1-1/T2))這里T1和T2指的是K度,其中T2=(273.15+25),Rt 是熱敏電阻在T1溫度下的阻值,R是熱敏電阻在T2常溫下的標(biāo)稱阻值;B值是熱敏電阻的參數(shù)。
回復(fù)

使用道具 舉報(bào)

ID:1021200 發(fā)表于 2022-4-24 12:34 | 顯示全部樓層
NTC熱敏電阻-阻值溫度計(jì)算
回復(fù)

使用道具 舉報(bào)

ID:1021200 發(fā)表于 2022-4-24 12:35 | 顯示全部樓層
溫度系數(shù)B值計(jì)算法: [公式]  [公式]  這里T1和T2指的是K度即開(kāi)爾文溫度,K度=273.15(絕對(duì)溫度)+攝氏度;其中T2=(273.15+25)[通常都是用25℃]  R1是熱敏電阻在T1溫度下的阻值;  R2是熱敏電阻在T2溫度下的標(biāo)稱阻值,T2一般是常溫25℃  B值是熱敏電阻的重要參數(shù)(參考具體型號(hào)熱敏電阻datasheet)  exp是e的n次方;
回復(fù)

使用道具 舉報(bào)

ID:1021203 發(fā)表于 2022-4-24 13:34 | 顯示全部樓層
用查表加插值的方法來(lái)求解,省時(shí)間,精度高
回復(fù)

使用道具 舉報(bào)

ID:734017 發(fā)表于 2022-11-9 23:34 | 顯示全部樓層
wulin 發(fā)表于 2022-4-24 09:33
用對(duì)分查表法很塊也較準(zhǔn)確,此示例在常溫環(huán)境誤差小于0.5度。

前輩,這個(gè)位置是這樣的嗎? 51hei截圖_20221109233227.png 51hei截圖_20221109233345.png
回復(fù)

使用道具 舉報(bào)

ID:734017 發(fā)表于 2022-11-9 23:36 | 顯示全部樓層
wulin 發(fā)表于 2022-4-24 09:33
用對(duì)分查表法很塊也較準(zhǔn)確,此示例在常溫環(huán)境誤差小于0.5度。

只考慮if(Sample<=T_Value[M])       
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2022-11-10 00:01 | 顯示全部樓層
南柯一夢(mèng) 發(fā)表于 2022-4-22 19:05
帶小數(shù)點(diǎn)顯示的,查表得好幾千個(gè),更耗費(fèi)單片機(jī)資源

NTC查表是最有性價(jià)比的,不管你是在哪找資料,NTC大多用的都是查表
不是說(shuō)人家不會(huì)用數(shù)學(xué)公式,它也不是什么單片機(jī)資源的問(wèn)題的,有的時(shí)候,一個(gè)程序基本沒(méi)有其它任務(wù),人家一樣的用查表
溫度后面的小數(shù)點(diǎn)可以用插值計(jì)算
取樣電阻的誤差,單片機(jī)ADC誤差,這兩個(gè)誤差加一起,你的NTC能做到0.5度的誤差,那就算是工業(yè)級(jí)的了
正常來(lái)說(shuō)2度的誤差都是正常的
后面的小數(shù)點(diǎn),就是圖個(gè)心理安慰罷了
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2022-11-10 03:24 | 顯示全部樓層
樓主可以找廠家要一份精確地NTC分度表,然后用公式套一下,看看誤差幾何?

NTC用公式計(jì)算特別尷尬,要用浮點(diǎn)數(shù),什么都不用做一下子幾k的代碼量就出來(lái)了,對(duì)于單片機(jī)來(lái)說(shuō)占用資源太嚴(yán)重。因?yàn)槭羌兝碚,?shí)際上也非常不準(zhǔn)。干啥啥不行,bb第一名,制杖才會(huì)用公式來(lái)算。
回復(fù)

使用道具 舉報(bào)

ID:373388 發(fā)表于 2022-11-10 09:29 | 顯示全部樓層
我用32bit單片機(jī) 計(jì)算這個(gè)是毛毛雨,但我NTC測(cè)溫還是用查表法,對(duì)分查表加插值,想幾位小數(shù)就可以幾位小數(shù)的,小數(shù)不是精度,只能算是分辨率
回復(fù)

使用道具 舉報(bào)

ID:1051345 發(fā)表于 2022-11-10 15:36 | 顯示全部樓層
NTC通常都是用查表法,將各個(gè)溫度點(diǎn)對(duì)應(yīng)的AD值預(yù)存進(jìn)去
回復(fù)

使用道具 舉報(bào)

ID:1051382 發(fā)表于 2022-11-10 17:06 | 顯示全部樓層
這個(gè)剛好,非常實(shí)用,謝謝樓主
回復(fù)

使用道具 舉報(bào)

ID:765177 發(fā)表于 2022-12-30 11:10 | 顯示全部樓層
TEMP是計(jì)算出來(lái)的溫度值,不是AD值。TEMP[0]才是AD值,25度的時(shí)候
回復(fù)

使用道具 舉報(bào)

ID:1059868 發(fā)表于 2022-12-31 09:53 | 顯示全部樓層
NTC 熱敏電阻溫度計(jì)算公式:Rt = R EXP(B(1/T1-1/T2))  其中,T1和T2指的是K度,即開(kāi)爾文溫度。  Rt 是熱敏電阻在T1溫度下的阻值。  R是熱敏電阻在T2常溫下的標(biāo)稱阻值。100K的熱敏電阻25℃的值為10K(即R=10K)。T2=(273.15+25)  EXP是e的n次方  B值是熱敏電阻的重要參數(shù)  通過(guò)轉(zhuǎn)換可以得到溫度T1與電阻Rt的關(guān)系T1=1/(ln(Rt/R)/B+1/T2),這里可以將ln換算成log,即T1=1/(log(Rt/R)/B+1/T2)。  對(duì)應(yīng)的攝氏溫度t=T1-273.15,同時(shí)+0.5的誤差矯正
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表