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的精度如何