苏州溥秋智能科技有限公司
请选择 进入手机版 | 继续访问电脑版

QQ登录

只需一步,快速开始

微信登录

扫一扫,访问微社区

查看: 673|回复: 0

一种较为常规的使用NTC热敏电阻采集温度的方法

[复制链接]
  • TA的每日心情
    奋斗
    2017-11-24 21:31
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    147

    主题

    78

    帖子

    753

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    753
    发表于 2019-7-22 17:08:50 | 显示全部楼层 |阅读模式
    首先,采用额定温度Tn=25℃时,电阻值为Rn=10K,且热敏指数B=3950的NTC热敏电阻。使用热敏电阻采集温度的方法非常简单,如图1所示。ADC_Temp进芯片ADC6端口,使用的是AVR的8位芯片Atmega48,芯片通过检测分压电路电压来换算出热敏电阻电阻值,进而获得实际温度值。如下图所示:
    1.jpg
      图1 NTC热敏电阻温度采集电路原理图
      热敏电阻的阻值和温度符合如下关系:
    2.jpg
      程序员们可以自己用以上关系采用Excel或者其它软件获得阻值和温度的关系表,也可以直接使用卖家随热敏电阻提供的表格。而事实上,我们需要的是AD值和温度的关系。由芯片资料可以了解到电压0-5V对应的AD值从0-1023。做图可以获得如下图关系曲线:
    3.jpg
      图2 温度和电阻的关系曲线    图3 温度和AD值得关系曲线
    上面大致讲解了一个思路,下面就帖程序啦。
    首先,要将温度和AD值表贴出来。
    4.jpg

      上表中NTC_fdb就代表i度对应的AD值。PROMEM是将表格数据定义在flash空间里。
      通过采集到的AD值在表中的位置,可获得实际温度值。
      使用ADC之前需要进行初始化。
    5.jpg
      对AD值进行读取的子函数如下:
    6.jpg
      下面是温度采集自子程序。
    7.jpg
      那如何把上面的子函数用起来呢。
      很简单。只要使用如下语句就好:temp_value=GetNTCTemperature(adc_read(ADC_TEMP));

    回复

    使用道具 举报

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

    本版积分规则

    联系方式
    0512-67225095 周一至周日9:00 - 21:00
    公司地址:苏州工业园区仁爱路99号D602-40

    苏州溥秋智能科技有限公司2017年8月成立,专门为客户提供数字信息化和物联网化的产品和服务。

    Array  X3.4© 2013-2017 苏州溥秋智能科技有限公司

    Archiver|手机版|小黑屋|苏州溥秋智能科技有限公司 ( 苏ICP备18046360号-3 )

    GMT+8, 2020-11-25 21:48 , Processed in 0.094632 second(s), 24 queries .

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