搜索
bottom↓
回复: 41
打印 上一主题 下一主题

热电阻PT10 PT100 Cu50 Cu100电阻转温度程序

  [复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2012-6-7 22:00:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qwerttt 于 2012-6-7 22:01 编辑

几年前做过程信号校验仪,其中一个功能的51程序,热电阻值转为温度,欢迎大家测试
温度换算为电阻,90温标已有公式,就不多说了
下一步再贴出8种热电偶温度转毫伏,毫伏转温度的程序,敬请期待
  1. /*******************************************************************************
  2. *函数描述:PT10&PT100 Cu50&Cu100 热阻转温度
  3. *输入变量:R 热阻阻值
  4.           type热电阻类型 0 PT10
  5.                                  1 PT100
  6.                                  2 Cu50
  7.                                  3 Cu100
  8. *返回变量:float T 温度
  9. *******************************************************************************/
  10. float RtoT(float R, uchar type)
  11. {
  12.         uchar R0;  // 热电阻0度时阻值
  13.         float T, tmp, min, mid, max;
  14.         float x, y, z;
  15.         float d = 3.9083/1e3, b = -5.775/1e7, c = -4.183/1e12;
  16.        
  17.         if(type <= 1)
  18.         {
  19.                 if(type == 0)
  20.                 {
  21.                         R0 = 10; min = 1.852; mid = 10; max = 39.049;  // Pt10
  22.                 }
  23.                 else
  24.         {
  25.                         R0 = 100; min = 18.52; mid = 100; max = 390.49; // Pt100
  26.             }
  27.                 if(R>=mid && R<=max)
  28.                 {
  29.                         y = sqrt(d*d - 4*b*(1-R/R0));
  30.                         T = (y-d) / (2*b);  // 得出温度
  31.                 }
  32.                 else if(R<mid && R>=min)
  33.                 {
  34.                         x = 0; y = -100; z = -201;
  35.                         tmp = R0*(1 + d*y + b*y*y + c*(y-100)*y*y*y);
  36.                         while(fabs(tmp-R)>=0.007)
  37.                         {
  38.                                 if(R > tmp)
  39.                                 {
  40.                                         x = x; z = y;
  41.                                         y = (x+y)/2;
  42.                                 }
  43.                                 else
  44.                                 {
  45.                                         x = y; z = z;
  46.                                         y = (y+z)/2;
  47.                                 }
  48.                                 tmp = R0*(1 + d*y + b*y*y + c*(y-100)*y*y*y);
  49.                         }
  50.                         T = y;  // 得出温度
  51.                 }
  52.         }
  53.         else
  54.         {
  55.                 if(type == 2)  // Cu50
  56.                         R0 = 50;
  57.                 else           // Cu100
  58.                         R0 = 100;
  59.                        
  60.                 x = 150; y = 50; z = -50;
  61.                 tmp = R0*(1 + 4.289/1e3*y - 2.133/1e7*y*y + 1.233/1e9*y*y*y);
  62.                 while(fabs(tmp-R)>=0.007)
  63.                 {
  64.                         if(R > tmp)
  65.                         {
  66.                                 x = x; z = y;
  67.                                 y = (x+y)/2;
  68.                         }
  69.                         else
  70.                         {
  71.                                 x = y; z = z;
  72.                                 y = (y+z)/2;
  73.                         }
  74.                         tmp = R0*(1 + 4.28899/1e3*y - 2.133/1e7*y*y + 1.233/1e9*y*y*y);
  75.                 }
  76.                 T = y;
  77.         }
  78.        
  79.         return T;
  80. }
复制代码

出0入0汤圆

2
发表于 2012-6-7 22:04:31 | 只看该作者
顶起来,LZ贴出点51汇编就最好了

出0入0汤圆

3
发表于 2012-6-9 00:51:17 | 只看该作者
楼主顶起来,下一贴何时出啊???等学习

出0入0汤圆

4
发表于 2012-6-9 10:30:04 | 只看该作者
顶起,学习

出0入0汤圆

5
发表于 2012-6-9 11:06:17 | 只看该作者
期待lz出K型的mV与温度的拟合公式

出0入0汤圆

6
 楼主| 发表于 2012-6-9 12:14:38 | 只看该作者
将在下周末开新贴出8种热电偶温度转mV,mV转温度间的换算
关于冷端补偿,冷端温度换算成对应热偶mV值,然后与测出热偶mV相加,最后算出温度
手头没有90温标小册子,记得当时是根据90温标上的公式计算的

出0入0汤圆

7
发表于 2012-6-9 12:18:30 | 只看该作者
记得当时做PT100 温度检测的时候是对照数据表格,用MATLAB 拟合的温度曲线 ,一条插值的,一条线性的。但是计算完送到数码管就不行了都乱码。然后偷懒又弄的查表法

出0入0汤圆

8
发表于 2012-7-5 17:07:25 | 只看该作者
qwerttt 发表于 2012-6-9 12:14
将在下周末开新贴出8种热电偶温度转mV,mV转温度间的换算
关于冷端补偿,冷端温度换算成对应热偶mV值,然后 ...

90温标的册子是什么?

出0入0汤圆

9
 楼主| 发表于 2012-7-5 20:10:37 | 只看该作者
就是一本手册而已,网上应该有卖的

出0入0汤圆

10
发表于 2012-9-28 14:12:53 | 只看该作者
CU50那一段不行......
会死循环。

出0入0汤圆

11
 楼主| 发表于 2012-9-28 21:05:20 | 只看该作者
liuhongyu 发表于 2012-9-28 14:12
CU50那一段不行......
会死循环。

Cu50哪个温度点,会死循环

出0入0汤圆

12
发表于 2012-10-8 18:11:56 | 只看该作者
qwerttt 发表于 2012-9-28 21:05
Cu50哪个温度点,会死循环

所有的阻值进去都出不来了,PT100的程序相当好。你随便拿个值进去看看。

出0入0汤圆

13
发表于 2012-10-8 18:14:23 | 只看该作者
qwerttt 发表于 2012-9-28 21:05
Cu50哪个温度点,会死循环

  if(R > tmp)

                        {

                                x = x; z = y;

                                y = (x+y)/2;

                        }

                        else

                        {

                                x = y; z = z;

                                y = (y+z)/2;

                        }

这里的“x = x;”“z = z;”是什么作用?浮点的运算不是很懂。

出0入0汤圆

14
发表于 2012-10-14 15:14:21 | 只看该作者
用你一段PT100的代码,多谢你的分享!

出0入0汤圆

15
 楼主| 发表于 2012-10-14 16:03:11 | 只看该作者
本帖最后由 qwerttt 于 2012-10-14 16:06 编辑

想 x = x; 这种代码是多余的
Cu50转换没有问题呀

相关链接:8种热电偶温度转换
http://www.amobbs.com/thread-5482347-1-1.html

出0入0汤圆

16
发表于 2012-10-15 18:46:36 | 只看该作者
你写的关于热电偶的代码,我对着http://srdata.nist.gov/its90/main/
这个网站能看的懂,就是热电阻为什么这么写,公式的出处是哪里不是很明白。

出0入0汤圆

17
发表于 2012-10-15 19:29:52 | 只看该作者
楼主能贴出信号校验仪的完整程序学习一下吗,

出0入0汤圆

18
发表于 2012-10-15 20:38:26 | 只看该作者
嗯,这个要好好学习

出0入0汤圆

19
发表于 2012-12-18 18:11:02 | 只看该作者
应用试下

出0入0汤圆

20
发表于 2013-1-19 15:59:52 | 只看该作者
定楼主,热电阻值转为温度

出0入0汤圆

21
发表于 2013-3-4 19:09:56 | 只看该作者
用到pt100部分  效果非常好

出0入0汤圆

22
发表于 2013-12-4 21:20:15 | 只看该作者
标记,不错的说

出0入0汤圆

23
发表于 2013-12-4 21:26:10 来自手机 | 只看该作者
谢谢分享

出0入0汤圆

24
发表于 2013-12-5 22:05:15 | 只看该作者
学习。~~~~~~

出0入0汤圆

25
发表于 2014-8-12 23:42:30 | 只看该作者
mark,多类热电阻计算程序

出0入0汤圆

26
发表于 2014-8-15 12:45:49 | 只看该作者
一直用查表发,换这个试试

出0入0汤圆

27
发表于 2014-9-30 14:54:24 | 只看该作者
感谢分享,刚准备做温控器,参考参考

出0入0汤圆

28
发表于 2014-12-22 09:58:10 | 只看该作者
总感觉 就PT100可行  其他都不行啊

出0入0汤圆

29
发表于 2014-12-22 10:19:21 | 只看该作者
你好 你的 线性拟合公式 出了问题 就PT100 可以用  请问你 是 如何拟合公式的呢C:\Users\wensnj\Desktop\A.png

出0入0汤圆

30
发表于 2014-12-22 10:20:06 | 只看该作者
再发一次 图片 楼主 你看下

本帖子中包含更多资源

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

x

出0入0汤圆

31
发表于 2015-1-26 09:59:01 | 只看该作者
liuhongyu 发表于 2012-9-28 14:12
CU50那一段不行......
会死循环。

请问 CU50 热电偶转化公示   你有吗   

出0入0汤圆

32
发表于 2015-1-26 11:22:46 | 只看该作者
标记,学习了!

出0入0汤圆

33
发表于 2015-3-11 14:13:43 | 只看该作者
热电偶,MARK

出0入0汤圆

34
发表于 2016-4-3 16:40:48 | 只看该作者
学习学习

出0入0汤圆

35
发表于 2016-4-4 10:52:04 来自手机 | 只看该作者
学习一吧,谢谢

出0入0汤圆

36
发表于 2018-5-24 10:16:05 | 只看该作者
不错,谢谢                          

出0入0汤圆

37
发表于 2018-7-9 12:08:00 | 只看该作者
正好在用pt100, mark

出0入0汤圆

38
发表于 2020-5-4 08:52:01 | 只看该作者
正需要的资料,谢谢楼主提供分享

出0入0汤圆

39
发表于 2020-5-7 14:13:56 | 只看该作者
谢谢分享,收藏了!

出0入8汤圆

40
发表于 2020-5-7 23:04:19 | 只看该作者
谢谢分享!                     

出0入0汤圆

41
发表于 2020-8-31 13:11:05 | 只看该作者
谢谢分享!PT100转换

出0入24汤圆

42
发表于 2022-9-11 15:08:40 | 只看该作者
谢谢分享!PT100转换
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-21 00:51

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

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