标题: NTC热敏电阻如何查表计算温度? [打印本页]

作者: hxdby    时间: 2022-11-3 23:34
标题: NTC热敏电阻如何查表计算温度?
现在使用NTC热敏电阻来测试温度,准备采用查表法来获得温度。
NTC厂家有提供电阻值对应的温度表,但是这个表比较粗糙,都是某一个特定电阻值对应一个温度。

比如,电阻值为152.203Ω对应13℃,电阻值146.772Ω对应14℃,这个比较好理解,但我的疑问是,如果我测到的电阻值是152.440,或者
150.120,那应该对应什么温度?表中并没有这两个电阻值。

我想ADC采样后计算出的电阻值肯定不可能和表中的152.203Ω和146.772Ω一一对应,完全一样吧?肯定会有一些误差,出现这种情况该如何处理呢?

大家有没有什么好的方法来处理这个问题?

作者: Hephaestus    时间: 2022-11-4 00:30
单片机能力强的话,不用分度表,直接用B值进行指数对数运算即可。公式可以搜“NTC B值”轻松获取,B值可以去问供货商。
作者: wulin    时间: 2022-11-4 06:00
NTC热敏电阻属非线性器件,ADC采样后难以用简单的计算方式获得相对准确的温度值。通常依据厂家提供的阻值/温度表制作数组,通过查表的方法,得到相对准确的温度值。当采样值处于数组相邻下标之间,可以通过插值的方法得到小数值。虽然温阻关系呈非线性,但在1度范围内可以当做线性处理。
作者: 大漠落日    时间: 2022-11-4 07:47
都是查表的,我知道B值,但是没有运复过,常用的MF52电阻10K,B=3750
作者: coody_sz    时间: 2022-11-4 10:13
我都是根据电阻值和标准电阻分压的ADC值建表,1度的表,二分法查找,0.1度线性插补,非常好。这猴子那个方法不需要测量电阻,直接读ADC即可,并且ADC基准电压随便,不影响精度。
作者: 菜鸟里皮    时间: 2022-11-4 11:16
拟合个公式直接代入
作者: hhh402    时间: 2022-11-4 13:51
板凳说得很清楚了,1°之内按线性处理。
比如,电阻值为152.203Ω对应13℃,电阻值146.772Ω对应14℃,这个比较好理解,但我的疑问是,如果我测到的电阻值是150.120,温度=(150.120-146.772)/(146.772-152.203)+14°=13.38°
作者: Y_G_G    时间: 2022-11-4 18:58
已经有网友给出计算方法了,我就说点自己的经验吧
就NTC而言,你能做到1度的误差就已经是很好的了
146.772欧...............
如果你单片机的ADC不是12位的,可能1度的误差都做不到
所以,这13.38其实就是个心理安慰而已,实际温度可能是15.....
作者: yzwzfyz    时间: 2022-11-5 08:52
【表】是商家给的(NTC规格书)
你需要做的是,将电阻转换成电压,通过测量电压,计算出电阻值,再在【表】中找到这个值所对应的温度就可以了。
如果电阻在【表】中的两个温度之间,在中间小数部分就取0.5度,在1/4处。就取0.25度。这是最普通的方式。
作者: 1ylh    时间: 2022-12-8 10:33
不知道用汇编查表程序咋编,毕竟得到的ADC值不是连续的
作者: Longan.Wang    时间: 2022-12-8 10:48
做个数据表啊,直接查表就行了,没有那么麻烦。只是做表和查表需要点技巧而已!
作者: manbuzhe125    时间: 2022-12-9 09:04
有工具可以根据参数生成表,再用查表,很快的。
作者: 郑汉松    时间: 2022-12-9 14:20
可以用他表里的数据,生成一个线性拟合的函数,试试用matlab
作者: Hephaestus    时间: 2022-12-9 17:44
郑汉松 发表于 2022-12-9 14:20
可以用他表里的数据,生成一个线性拟合的函数,试试用matlab

老老实实用b值去算,NTC温度电阻曲线是对数式的,线性拟合误差太大基本不能用,不懂不要乱说。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1