找回密码
 立即注册
楼主: manzunzu

关于开天斧 热敏电阻NTC / ADC测温 案例的疑惑

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-4-28 11:15:37 | 显示全部楼层
liushi*** 发表于 2024-4-28 10:50
谢谢,梁工,这个例程中怎么没有视频中那个温度查询表呀

等等,难道说,你要的是那个EXCEL表?
MF52E-10K3950-温度阻值-ADC值对应表.xls (63.5 KB, 下载次数: 60)

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:482
  • 最近打卡:2025-05-01 07:56:03
已绑定手机

1

主题

54

回帖

2351

积分

金牌会员

积分
2351
发表于 2024-4-28 11:25:05 | 显示全部楼层
梁*** 发表于 2024-4-28 11:15
等等,难道说,你要的是那个EXCEL表?

是的,谢谢梁工
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:417
  • 最近打卡:2025-04-30 21:39:09
已绑定手机

34

主题

2096

回帖

2206

积分

荣誉版主

积分
2206
发表于 2024-4-28 19:50:15 | 显示全部楼层
liushi*** 发表于 2024-4-28 09:56
线性插补怎么理解,能否举例说明?谢谢,能否提供一个温度表格吗?

由于NTC厂家给出的阻值温度曲线表是按照1℃间隔的,实际应用中1℃的分辨率显然不能满足精确测温和显示的需求,所以有了“线性插补”的方法
虽然NTC的温度曲线是非线性的,但是为了快速解算带小数的温度值,可以把两个整数温度(比如25℃和26℃)对应的阻值按照线性函数平均到1℃的范围内,
分成10份就是0.1℃分辨率,这样虽然有一定非线性误差,但这种误差在要求不高的场合可以忽略不计,这种插值的方法就叫做线性插补。


睁开眼睛做场梦~~~
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:346
  • 最近打卡:2025-05-01 19:40:16

10

主题

165

回帖

1233

积分

金牌会员

积分
1233
发表于 2024-5-2 10:59:08 | 显示全部楼层
学习了,昨天也是遇到这样的问题
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-03-14 15:41:37
已绑定手机

18

主题

25

回帖

162

积分

注册会员

积分
162
发表于 2024-5-15 17:06:56 | 显示全部楼层
支持楼主,学习了!谢谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:93
  • 最近打卡:2025-05-01 20:59:58

13

主题

53

回帖

775

积分

高级会员

积分
775
发表于 2024-9-3 09:53:27 | 显示全部楼层
梁*** 发表于 2022-12-13 20:40
如果想减少计算时间,可以二分法查表,先建一个ADC读数表格,1度C一个数据,0.1度用线性插补。查表法不需要 ...

一般都是不用浮点数计算,不知道比如stc8h,44mhz时,计算一个这个温度公式大概需要多久的时间?是十位us级别的吗?

点评

position = 1.0 / (1.0 / 298.15 + log((float)j / (4096.0-(float)j)) / 3950) - 273.15; // 169us@44MHz, 计算当前位置(温度^C), t = 1/(1/298.15+ln(ADC/(4096-ADC))/B) -273.15, 单位^C. 测温ADC频率不高,所  详情 回复 发表于 2024-9-3 11:12
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:50
  • 最近打卡:2025-04-30 22:59:03

73

主题

5882

回帖

1万

积分

超级版主

积分
12073
发表于 2024-9-3 11:12:47 | 显示全部楼层
本帖最后由 梁工 于 2024-9-3 11:20 编辑
wxd*** 发表于 2024-9-3 09:53
一般都是不用浮点数计算,不知道比如stc8h,44mhz时,计算一个这个温度公式大概需要多久的时间?是十位us ...

position = 1.0 / (1.0 / 298.15 + log((float)j / (4096.0-(float)j)) / 3950) - 273.15;        // 169us@44MHz,  计算当前位置(温度^C), t = 1/(1/298.15+ln(ADC/(4096-ADC))/B) -273.15,  单位^C.
上述公式浮点计算量:加减法3次,除法4次,对数1次。其中除法和对数都比较耗时间的。
测温ADC频率不高,所以浮点计算的时间也可以接受的。
要更快的计算速度,可以使用AI8051U带浮点库的32位内核,跑40MHz,计算时间为26.8us,为STC8H同频下的1/7。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 02:57 , Processed in 0.114231 second(s), 103 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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