搜索
bottom↓
回复: 9

新手请教负温度系数热敏电阻如何计算对应的温度

[复制链接]

出0入0汤圆

发表于 2013-3-31 11:14:42 | 显示全部楼层 |阅读模式
本帖最后由 yzl1978 于 2013-3-31 11:17 编辑


负温度系数热敏电阻如何计算对应的温度
我手头是一个10K的,与这图外形是一样的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入8汤圆

发表于 2013-3-31 11:23:18 | 显示全部楼层
热敏电阻  只能找厂家要温度  阻值对照表。

出0入96汤圆

发表于 2013-3-31 11:40:57 | 显示全部楼层
按照公式可以计算的。一般用查表法,

出0入0汤圆

 楼主| 发表于 2013-4-1 09:21:25 | 显示全部楼层
gallle 发表于 2013-3-31 11:40
按照公式可以计算的。一般用查表法,

按公式计算有些参数要如何来选了,这热敏电阻卖我的老板也不知道什么厂家的

出0入0汤圆

发表于 2013-4-1 12:15:24 | 显示全部楼层
不清楚啷个搞!!!!

出20入70汤圆

发表于 2013-4-1 12:43:12 | 显示全部楼层
不知道具体型号就别用了。

出0入0汤圆

发表于 2013-4-1 12:47:07 | 显示全部楼层
本帖最后由 LM1876 于 2013-4-2 10:45 编辑

用二分查表法,我用的是STC 12C5A48S2,温感是常用10K的       
                                                  
uint code Temp[120]={
                    44, 47, 50, 53, 56, 59, 62, 65, 69, 72,         //-11~-20                        10
                    76, 80, 84, 89, 93, 98,102,112,118,123,   //-1~-10                        20
                   129,135,142,148,154,160,167,174,182,189,           //0~9                        30
                   196,204,212,220,228,236,244,253,262,270,    //10~19                     40
                      280,288,299,309,318,327,337,346,357,367,           //20~29                    50
                   377,393,398,408,419,429,439,450,460,470,           //30~39                        60
                   480,491,501,511,521,531,541,551,561,571,           //40~49                        70
                   581,591,600,609,619,627,637,645,654,663,           //50~59                        80
                   671,680,688,695,704,712,719,727,734,742,           //60~69                        90
                   748,756,762,769,775,781,788,793,799,805,           //70~79                        100
                   810,816,821,827,831,837,841,846,850,858,           //80~89                        110
                   861,866,869,873,877,881,885,888,895,896,    //90~100                        120
                   };

void Temp_Init()
{         
   uchar i;               
    P1ASF = 0xff;                   // 1111 1110,                  
    ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
        for(i=0;i<50;i++){ NOP(); }                 
}

void Temp_Update()
{
  uint AD_data;

  AD_data = 1024-AD_Transform(0) ;   //上拉电阻为4.7K,如果是下拉电阻 4.7K的话,就不用1024-了
  Room_tmep =  AD_Temp(AD_data,0);        //房间温度
}

uint  AD_Transform(char ch)
{
      uint i;
            uint tmp_Temp=0;
          
                  ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
                  for(i=0;i<10;i++){ NOP(); }
                                              // 启动A/D转换,
          while (!(ADC_CONTR & ADC_FLAG));//Wait complete flag   等待完成标志
          ADC_CONTR &= ~ADC_FLAG;         //Close ADC
                                                                
          tmp_Temp = ADC_RES;                  
          tmp_Temp = tmp_Temp<<2;
          tmp_Temp = tmp_Temp|(ADC_RESL&0x03);
          if (tmp_Temp<10){tmp_Temp=0;}

                return         tmp_Temp;

}

uchar AD_Temp(uint m_data,uchar x)
{
uchar max=120 ,min = 1,mid;

if (m_data<43){min=0xff;return min;}
       
       while(min <= max)
         {
           mid = (max + min) / 2;
          if(m_data > Temp[mid]){min = mid + 1;} else { max = mid - 1;}                 
          }   
               
    return min;      
}

出0入0汤圆

 楼主| 发表于 2013-4-2 09:53:24 | 显示全部楼层
LM1876 发表于 2013-4-1 12:47
用二分查表法,我用的是STC 12C5A48S2,温感是常用10K的       
                                                  
uint code Temp[120]={

你的代码还没看明白,请问数组中的元素对应的温度也是要先计算好是吗,我的温感要是与你的参数不一样,查询出的温度是不是就会与实际温度差很多,请问有什么方法自己测出温感器的参数吗

出0入0汤圆

发表于 2013-4-2 10:47:20 | 显示全部楼层
数组中的数是温度对应的AD结果值 ,是事先测量好的。

出0入0汤圆

发表于 2013-4-2 13:42:23 | 显示全部楼层
传感器没有厂家参数的话,很麻烦,只有自己实际去拿万用表去测各个温度对应电阻值,要用到冰箱和暖炉了。我拿万用表测过2K的NTC热敏,只取了10~40℃范围的大概对应阻值。
上单片机时用10K上拉电阻,AD转换后再计算单片机测得的阻值,然后查表取较接近的数。
unsigned int res_table[]={
                          3590,//9℃,
                          3450,3310,3170,3040,2920,//10~14℃
                          2810,2700,2590,2490,2390,//15~19℃
                          2300,2210,2130,2050,1970, //20~24℃
                          1900,1830,1760,1690,1630,//25~29℃
                          1560,1500,1450,1400,1350,//30~34℃
                          1300,1250,1200,1160,1120,//35~39℃
                          1080};//40℃
//万用表测2K热敏电阻对应温度阻值表
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 02:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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