clesun 发表于 2014-11-4 15:00:51

mark{:smile:}{:smile:}{:smile:}{:smile:}

touch_mcu 发表于 2014-11-4 15:48:20

挖出4年前的帖子{:dizzy:}

xly2014 发表于 2014-11-5 14:58:43

PT100温度变送器的正温度系数补偿1 查表

nianhua_m 发表于 2014-12-1 12:48:17

j记下了,要求不高应该够用了

机器人天空 发表于 2014-12-1 13:02:48

mark。。。。

xinxinyu2013 发表于 2014-12-1 14:09:14

~~~mark下

停靠点 发表于 2014-12-1 14:32:46

标记一下!

fenglove 发表于 2014-12-1 14:39:23

谢谢分享思路,

pic_flash 发表于 2014-12-1 15:27:29

学习了。。谢谢

jiangshaoyatui 发表于 2014-12-1 15:56:10


好棒呀。。。

sj1125055001 发表于 2014-12-1 18:29:28

顶                                 

Krise@pasion 发表于 2014-12-1 21:20:39

学习长见识

ywf85 发表于 2015-4-20 13:10:37

学习,顶一下

52HLX 发表于 2015-5-18 16:46:40

Mark!!!

lonesomely 发表于 2015-5-19 08:11:59

很不错。。。。。

heicnhei3 发表于 2015-5-21 16:49:27

(uint)i * 5 - 200   呵呵, 不错

SCS_Super 发表于 2015-5-22 20:04:04

收藏下!

dqt12 发表于 2015-5-22 22:36:52

好东西,留着看!

mainbp 发表于 2015-5-23 09:25:54

记号 :PT100, 2分法, 查表, 根据电阻值计算温度。

zheng_wei339 发表于 2015-6-23 21:25:36

看了一下,不懂,还是简单计算吧,就是误差大

gdjsfy_86 发表于 2015-7-8 08:36:38

PT100 2分法查表

hhww8280 发表于 2015-8-20 16:43:28

PT100用起来蛮准的。

willy8688 发表于 2015-8-21 02:36:40

mark! 谢谢楼主!!

留声而过 发表于 2015-8-21 08:23:37

好东西果断收走。

yick 发表于 2015-8-21 08:34:07

很好,不错的样子

xunke 发表于 2015-8-21 10:05:37

精度能做到1度吗?

reynold007 发表于 2015-8-21 11:45:11

用线性化电路,一片运放+几个电阻就搞定

gaobao_1 发表于 2015-8-23 18:15:27

有考虑用变送器的方法?楼主厉害啊!

nuncle 发表于 2015-8-23 21:47:23

mark 马上用

hu_kai 发表于 2015-10-28 22:13:24

MARK!希望用上

zw_7627 发表于 2016-10-19 22:51:36

这个PT100的2分法,5度一步,精度±5℃???

kukudi 发表于 2016-10-20 14:39:04

不错,先收藏。

luybpotter 发表于 2017-1-5 17:36:25

好东西,mark,谢谢楼主

wangyj173 发表于 2018-11-22 14:02:48

二分法不错

unnormal 发表于 2018-11-22 16:49:56

学习一下谢谢分享

zeroXone 发表于 2020-11-19 20:17:17

今天用到PT1000的,对照修改了一下。
负温度的阻值是参考网上的,正温度是参考网上公式计算的。


#define BELOW_LOW_LIMITE -1000
#define EXCESS_UP_LIMITE1000

float const RTD_TAB_PT1000 =   // 表格是以5度为一步,即-200, -195, - 190.....
{
        803.06,822.90,542.71,862.48,882.22,901.92,921.60,941.24,960.86,980.44,                // -50~-5
        1000.00         ,1019.53         ,1039.02         ,1058.49         ,1077.93         ,1097.34         ,1116.72         ,1136.07         ,1155.40         ,1174.69         ,        // 0~45
        1193.96         ,1213.19         ,1232.40         ,1251.58         ,1270.73         ,1289.85         ,1308.94         ,1328.01         ,1347.04         ,1366.05         ,        // 50
        1385.03         ,1403.97         ,1422.89         ,1441.78         ,1460.64         ,1479.48         ,1498.28         ,1517.06         ,1535.80         ,1554.52         ,        // 100
        1573.21         ,1591.87         ,1610.50         ,1629.10         ,1647.67         ,1666.21         ,1684.73         ,1703.22         ,1721.67         ,1740.10         ,        // 150
        1758.50         ,1776.87         ,1795.21         ,1813.53         ,1831.81         ,1850.06         ,1868.29         ,1886.49         ,1904.66         ,1922.80         ,        // 200
        1940.91         ,1958.99         ,1977.04         ,1995.07         ,2013.06         ,2031.03         ,2048.96         ,2066.87         ,2084.75         ,2102.60         ,        // 250
        2120.43         ,2138.22         ,2155.98         ,2173.72         ,2191.42         ,2209.10         ,2226.75         ,2244.37         ,2261.96         ,2279.52         ,        // 300
        2297.06         ,2314.56         ,2332.04         ,2349.48         ,2366.90         ,2384.29         ,2401.65         ,2418.98         ,2436.28         ,2453.56         ,        // 350
        2470.80// 400
};



/***********************************************************************
*FunName:      float CalculateTemperature(float fR)
*
*In:                fR -> PT1000的电阻值。
*                     
*Out:                fTem -> 测得的温度值。               
*
*Discription: 将电阻值查表算出温度值。
*
*Notes:         采用2分查找法。         
*
************************************************************************/
float CalculateTemperature(float fR)
{
      float fTem;
      float fLowRValue;
      float fHighRValue;      
      int   iTem;
      int8_t i;

      //int8_t cLimite = 0xFF;

      int8_t cBottom, cTop;

      if (fR < RTD_TAB_PT1000)                // 电阻值小于表格最小值,低于量程下限。
      {
                return BELOW_LOW_LIMITE;
      }

      if (fR > RTD_TAB_PT1000)      // 电阻值大于表格最大值,超出量程上限。
      {
                return EXCESS_UP_LIMITE;
      }

      cBottom = 0;
      cTop    = 90;

      for (i=45; (cTop-cBottom)!=1; )      // 2分法查表。
      {
                if (fR < RTD_TAB_PT1000)
                {
                        cTop = i;
                        i = (cTop + cBottom) / 2;
                }
                else if (fR > RTD_TAB_PT1000)
                {
                        cBottom = i;
                        i = (cTop + cBottom) / 2;
                }
                else
                {
                        iTem = (int32_t)i * 5 - 50;   //RTD_TAB_PT1000=0, 50=5*10
                        fTem = (float)iTem;
                                               
                        return fTem;
                }
      }

      iTem = (int32_t)i * 5 - 50;                //RTD_TAB_PT1000=0, 50=5*10

      fLowRValue= RTD_TAB_PT1000;
      fHighRValue = RTD_TAB_PT1000;

      fTem = ( ((fR - fLowRValue)*5) / (fHighRValue - fLowRValue) ) + iTem;      // 表格是以5度为一步的。
                                                                                                                                                      // 两点内插进行运算。

      return fTem;
}

Swift197908 发表于 2020-11-28 14:47:52

1248的精度如何
页: 1 2 [3]
查看完整版本: PT100, 2分法, 查表, 根据电阻值计算温度。