找回密码
 立即注册
查看: 2585|回复: 19

求助10k热敏电阻+下偏置电阻计算公式

[复制链接]

1

主题

3

回帖

49

积分

新手上路

积分
49
发表于 2024-11-2 12:00:32 | 显示全部楼层 |阅读模式

本人小白,想把 “5v --10k电阻-- 热敏电阻 -- GND” 接线方法  

改成 “5v -- 热敏电阻--  10k电阻-- GND”  的计算公式。

此为论坛找到的公式  position = 1.0 / (1.0 / 298.15 + log((float)adc_12bit / (4096.0-(float)adc_12bit)) / 3950) - 273.15;    ( 温度T与电阻Rt的关系:T=1/(1/To+ln(Rt/Ro)/B))对应 “5v --10k电阻-- 热敏电阻 -- GND”可以用。

苦于水平有限,只会用,不会修改,特在此请教,谢谢。


回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:125
  • 最近打卡:2025-06-04 21:38:29
已绑定手机

60

主题

782

回帖

4027

积分

论坛元老

自定义头衔

积分
4027
发表于 2024-11-2 12:54:01 | 显示全部楼层
本帖最后由 VCC 于 2024-11-5 12:30 编辑

哈哈!我也不知道!

不过我可以试着帮你推导一下。


在网上可以找到如下权威公式,是温度值与热敏电阻电阻值的关系公式,叫做【斯坦哈特-哈特公式】(和你的公式是一模一样的)
截图202411021335419530.jpg

其中R0和T0和B都由买到的热敏电阻规格决定

例如对于这款热敏电阻,它的R0=10kΩ @ T0=25℃=298.15K , B=3950
截图202411021336267360.jpg


也就是:
截图202411021338387969.jpg

而你给出的公式是:

截图202411021338545261.jpg


也就是代入了ADC电阻与ADC转换值的换算公式
截图202411021339066129.jpg

只有这个公式是你需要修改的

那么就要考虑,这个公式是如何产生的?


对于Vadc,如果这样接线
                  (R1)            (R2)
VCC---------10kΩ---------热敏电阻--------GND
                            ↑
                         VADC

如果VADC=GND,那么ADC转换值=0
如果VADC=VCC,那么ADC转换值=4095

变化过程中线性变化,也就是ADC转换值:
截图202411021340051825.jpg
而对于上述分压电阻接法,我们知道,串联电路中,电阻的比值就是各电阻两端电压的比值
截图202411021340175948.jpg
也就是
截图202411021340342150.jpg

对应这种接线


                  (R1)            (R2)
VCC---------10kΩ---------热敏电阻--------GND
                            ↑
                         VADC


公式就是:
截图202411021340548827.jpg
和刚刚我们看到的

截图202411021521409757.jpg
是完全一样的!

说明你的公式是对的!
适用于接线:

                  (R1)            (R2)
VCC---------10kΩ---------热敏电阻--------GND
                            ↑
                         VADC



下面推导适用于如下接线的公式:


               (R1)              (R2)
VCC-----热敏电阻---------10kΩ--------GND
                            ↑
                         VADC



截图202411021534321359.jpg

得到:
截图202411021534564773.jpg

因此,交换热敏电阻与分压电阻后,公式中的 截图202411021535497032.jpg 只需变为原来的倒数


也就是将公式

position = 1.0 / (1.0 / 298.15 + log((float)adc_12bit / (4096.0-(float)adc_12bit)) / 3950) - 273.15  (热敏电阻接地)
截图202411021540543276.jpg

改为

position = 1.0 / (1.0 / 298.15 + log((4096.0-(float)adc_12bit) / (float)adc_12bit) / 3950) - 273.15  (热敏电阻接电源)
截图202411021541085648.jpg

即可!


得到的变量position是热敏电阻的摄氏温度(℃)

上述公式仅适用于 热敏电阻在25℃下的标称电阻等于另一颗分压电阻阻值的接线方式
其中3950是热敏电阻适用于25~50℃范围的B值,不同的B值均可以买到(B值仅仅是一种热敏电阻的近似估算参数,对范围之外的数据是不准的)

截图202411021546528975.jpg
其中
273.15K是0℃的开氏温度,
298.15K是25℃的开氏温度,
4096是12-bit ADC的满量程值(实际是最大值转换产生的数值只能是4095,最大数值是无法转换出来的)



另外转载一个来自村田官方网站的NTC基础知识文章
截图202411051229273385.jpg
原网址见如下二维码(论坛不让发网址,那么二维码应该没事吧):
截图202411051230094309.jpg

1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:393
  • 最近打卡:2025-06-17 11:06:43
已绑定手机

29

主题

306

回帖

674

积分

高级会员

积分
674
发表于 2024-11-2 13:00:15 | 显示全部楼层
那就查表
回复

使用道具 举报 送花

1

主题

3

回帖

49

积分

新手上路

积分
49
发表于 2024-11-2 13:25:39 | 显示全部楼层
麻烦了,如果有 “5v -- 热敏电阻--  10k电阻-- GND”  的查表数据也行,3950
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2025-06-17 09:09:48
已绑定手机

79

主题

5131

回帖

9132

积分

超级版主

DebugLab

积分
9132
发表于 2024-11-2 15:27:37 | 显示全部楼层
热敏电阻和固定电阻反过来
直接把ADC值倒过来就行,就是最大值减掉ADC值
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:125
  • 最近打卡:2025-06-04 21:38:29
已绑定手机

60

主题

782

回帖

4027

积分

论坛元老

自定义头衔

积分
4027
发表于 2024-11-2 16:06:47 | 显示全部楼层
136551*** 发表于 2024-11-2 13:25
麻烦了,如果有 “5v -- 热敏电阻--  10k电阻-- GND”  的查表数据也行,3950

关于查表数据,根据上述推导的公式得到,使用Excel计算得到数据如下:


截图202411021606231197.jpg
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:125
  • 最近打卡:2025-06-04 21:38:29
已绑定手机

60

主题

782

回帖

4027

积分

论坛元老

自定义头衔

积分
4027
发表于 2024-11-2 16:18:41 | 显示全部楼层
再画一个ADC值与温度的趋势关系

截图202411021618368709.jpg
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:178
  • 最近打卡:2025-06-12 08:44:23
已绑定手机

15

主题

628

回帖

822

积分

高级会员

积分
822
发表于 2024-11-3 07:58:23 来自手机 | 显示全部楼层
学习了
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:125
  • 最近打卡:2025-06-04 21:38:29
已绑定手机

60

主题

782

回帖

4027

积分

论坛元老

自定义头衔

积分
4027
发表于 2024-11-3 14:49:59 | 显示全部楼层
a496298685 发表于 2024-11-2 16:18
再画一个ADC值与温度的趋势关系

后来想到,能不能用一个3次或4次函数来拟合这个曲线,从而大幅减轻CPU的计算工作量?

用Excel趋势线功能尝试拟合了一下,一个4次函数不太够,误差能有5℃。

还是得老老实实查表或者用理论公式。或者把曲线分段拟合一下?
联系我请点击左下角的【回复】按钮,否则我收不到消息提
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:44
  • 最近打卡:2025-06-11 10:13:05
已绑定手机

7

主题

48

回帖

599

积分

高级会员

积分
599
发表于 2024-11-3 19:52:50 来自手机 | 显示全部楼层
a496298685 发表于 2024-11-2 16:06
关于查表数据,根据上述推导的公式得到,使用Excel计算得到数据如下:



把阻值直接算成对应的ADC值,查表法,一步出结果!
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-17 15:22 , Processed in 0.146167 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表