ec6108v9c机顶盒刷机教程手机投屏(华为ec6108v9c机顶盒刷机教程)

KTY84系列广泛的应用于电机的过温保护,属于正温度系数热敏电阻。采样电路也和NTC差不多非常简单,直接采用电阻分压,然后直接用单片机读取。当然实际电路你可能会加入滤波电容,再加个电压跟随器,以得到更好的效果。

ec6108v9c机顶盒刷机教程手机投屏(华为ec6108v9c机顶盒刷机教程)

ec6108v9c机顶盒刷机教程手机投屏(华为ec6108v9c机顶盒刷机教程)

温度范围在:-40 ~ 180度,同样我们每10度取一个点,根据器件说明书里温度-电阻表对照表。 我使用12位ADC,所以满度值为:4096。(参考电压为3.3V时, ADC值=4096)

电阻分压公式 Rt/(R1+Rt)*4096

ec6108v9c机顶盒刷机教程手机投屏(华为ec6108v9c机顶盒刷机教程)

//根据上面的EXCEL表,在代码里建个表. 
#define INVALID_TEMP (int)32767 
#define MAX_PTC_TABLE_CT 23
 const int Table_PTC[MAX_PTC_TABLE_CT]={
                                         0x26F,0x29E,0x2CC,0x2FE,0x331,
                                         0x364,0x39A,0x3D0,0x406,0x43E,
                                         0x476,0x4AD,0x4E6,0x51E,0x555,
                                         0x58D,0x5C4,0x5FB,0x631,0x667,
                                         0x69C,0x6CF,0x703
                                        };
/*正温度系数和负温度系数的查表顺序是相反了,这里可以和前面我发的NTC的查表法做一个对照*/
int Temp_Convert_PTC_By_Table(uint16 adc_raw_value)
{
   int i,tmp=INVALID_TEMP;

   for(i=0;i<MAX_PTC_TABLE_CT;i++)
   {
      if (adc_raw_value <= Table_PTC[i])
      {
              tmp=(i-1)*10-40;
              //calculate decimal part
               if ((i>=0)&&(i<MAX_PTC_TABLE_CT-1))
              {
                  tmp=tmp+(int)(((float)(adc_raw_value-Table_PTC[i-1])/(float)(Table_PTC[i]-Table_PTC[i-1]))*10.0+0.5);
              }
              break;
      }
   }
   return tmp;
}
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.sumdns.com/2932.html