6339|13

24

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

使用NUCLEO-F091RC外接热敏电阻测温 [复制链接]

我用的热敏电阻是NCP18XH103RB,25摄氏度时的电阻是10k,B值为3380。
连线图
串口输出


用mbed环境不用关心各种繁琐的事情,直接专心应用就行了!
  1. #include "mbed.h"
  2. #include <math.h>

  3. #define b 3380.0f  // 热敏电阻的b值
  4. #define r25c 10.0f // 25摄氏度时热敏电阻的阻值,单位千欧
  5. #define rRef 10.062f // 电路中分压电阻的阻值,单位千欧

  6. AnalogIn analog_value(A0);

  7. Serial pc(USBTX,USBRX);

  8. int main()
  9. {
  10.     int count=0;
  11.     float sum=0;
  12.     pc.baud(115200);
  13.     while(1) {
  14.         
  15.         uint16_t rawAdc = analog_value.read_u16()>>4; // 保留12bit
  16.         //printf("Raw ADC value:%d\r\n",rawAdc);
  17.         float rth=rRef*(4096.0f/rawAdc-1.0f);
  18.         //printf("Thermistor value:%f kOhm\r\n",rth);
  19.         float t;
  20.         
  21.         t=(298.0f*b)/logf(r25c/rth)/(b/logf(r25c/rth)-298.0f)-273.0;

  22.         if(count<10) {
  23.             count++;
  24.             sum+=t;
  25.         } else {
  26.             printf("Temperature:%.1f C\r\n",sum/10.0f);
  27.             count=0;
  28.             sum=0;
  29.         }

  30.         wait(0.1); // 100 ms
  31.     }
  32. }
复制代码



此帖出自stm32/stm8论坛

最新回复

H:\STM32F091\新建文件夹  详情 回复 发表于 2015-7-29 10:53

赞赏

2

查看全部赞赏

点赞 关注(1)
 

回复
举报

1万

帖子

25

TA的资源

版主

沙发
 
效果不错。
此帖出自stm32/stm8论坛
 
 

回复

662

帖子

0

TA的资源

纯净的硅(初级)

板凳
 
不错的分享,温度的准确度高吗?
此帖出自stm32/stm8论坛

点评

热敏电阻测温局部精度可以做得比较高,不过前提要校准。同时还有一些其他因素会造成的误差,如分压电阻的精度,我是拿台式万用表测的那个电阻的阻值,写在程序里。还有就是热敏电阻本身的精确度了。同时还有AD  详情 回复 发表于 2015-2-4 12:26
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

4
 
slotg 发表于 2015-2-4 11:19
不错的分享,温度的准确度高吗?



热敏电阻测温局部精度可以做得比较高,不过前提要校准。同时还有一些其他因素会造成的误差,如分压电阻的精度,我是拿台式万用表测的那个电阻的阻值,写在程序里。还有就是热敏电阻本身的精确度了。同时还有ADC的转化位数和线性度。不过手头没精确的温度计做对比,也不知道准不准。
此帖出自stm32/stm8论坛
 
 
 

回复

4996

帖子

19

TA的资源

裸片初长成(初级)

5
 
不错的分享。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
此帖出自stm32/stm8论坛
 
个人签名我的博客
 
 

回复

164

帖子

0

TA的资源

一粒金砂(中级)

6
 
挺不错的,可以借鉴一下。
此帖出自stm32/stm8论坛
 
个人签名专业电子方案/zigbee方案设计,毕业设计。QQ:1397905781
 
 

回复

793

帖子

8

TA的资源

纯净的硅(中级)

7
 
还不错哦,谢谢分享!!!!
此帖出自stm32/stm8论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

8
 
这代码像九阳真经一样,百度了半天才看懂一部份,还请楼主讲解一下这个
t=(298.0f*b)/logf(r25c/rth)/(b/logf(r25c/rth)-298.0f)-273.0;
我相信会造福很多人
此帖出自stm32/stm8论坛

点评

这个公式是这个文档里描述的,也就是热敏电阻的一般计算公式。另外这种计算涉及浮点运算,对于实时性要求高的场合不太合适,但是鉴于这个实验例程就做这么一件事,也为了代码简洁些,所以没用查表。  详情 回复 发表于 2015-2-12 10:02
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

9
 
以前一直用查表法,很耗资源
此帖出自stm32/stm8论坛
 
 
 

回复

24

帖子

0

TA的资源

一粒金砂(中级)

10
 
70155444 发表于 2015-2-11 11:37
这代码像九阳真经一样,百度了半天才看懂一部份,还请楼主讲解一下这个
t=(298.0f*b)/logf(r25c/rth)/(b/logf(r25c/rth)-298.0f)-273.0;
我相信会造福很多人
ADI热敏电阻方案.pdf (198.99 KB, 下载次数: 52)

这个公式是这个文档里描述的,也就是热敏电阻的一般计算公式。另外这种计算涉及浮点运算,对于实时性要求高的场合不太合适,但是鉴于这个实验例程就做这么一件事,也为了代码简洁些,所以没用查表。


此帖出自stm32/stm8论坛
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

11
 
鬼佬的说明书就是做的比较严谨,谢谢 hdt45
此帖出自stm32/stm8论坛
 
 
 

回复

180

帖子

0

TA的资源

一粒金砂(中级)

12
 
请教楼主,我的NUCLEO-F091RC插上电脑后识别不了,是什么原因,ST-LINK驱动是有的,因为我一直在用ST_LINK,就是这个班子识别不了C:\Users\lzgztm521\Desktop
此帖出自stm32/stm8论坛
 
个人签名是金子总会发光1
 
 

回复

180

帖子

0

TA的资源

一粒金砂(中级)

13
 
李俊锋 发表于 2015-7-29 10:49
请教楼主,我的NUCLEO-F091RC插上电脑后识别不了,是什么原因,ST-LINK驱动是有的,因为我一直在用ST_LINK ...

H:\STM32F091\新建文件夹
此帖出自stm32/stm8论坛
 
个人签名是金子总会发光1
 
 

回复

180

帖子

0

TA的资源

一粒金砂(中级)

14
 

H:\STM32F091\新建文件夹

QQ圖片20150729105224.jpg (34.43 KB, 下载次数: 1)

QQ圖片20150729105224.jpg
此帖出自stm32/stm8论坛
 
个人签名是金子总会发光1
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表