搜索
bottom↓
回复: 3

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

[复制链接]

出0入0汤圆

发表于 2015-1-27 12:45:03 | 显示全部楼层 |阅读模式
我在其它论坛看到一段不错的程序,希望对各位有用


热电阻PT10 PT100 Cu50 Cu100电阻转温度程序
/*******************************************************************************
*函数描述:PT10&PT100 Cu50&Cu100 热阻转温度
*输入变量:R 热阻阻值
          type热电阻类型 0 PT10
                                 1 PT100
                                 2 Cu50
                                 3 Cu100
*返回变量:float T 温度
*******************************************************************************/
float RtoT(float R, uchar type)
{
        uchar R0;  // 热电阻0度时阻值
        float T, tmp, min, mid, max;
        float x, y, z;
        float d = 3.9083/1e3, b = -5.775/1e7, c = -4.183/1e12;
        
        if(type <= 1)
        {
                if(type == 0)
                {
                        R0 = 10; min = 1.852; mid = 10; max = 39.049;  // Pt10
                }
                else
        {
                        R0 = 100; min = 18.52; mid = 100; max = 390.49; // Pt100
            }
                if(R>=mid && R<=max)
                {
                        y = sqrt(d*d - 4*b*(1-R/R0));
                        T = (y-d) / (2*b);  // 得出温度
                }
                else if(R<mid && R>=min)
                {
                        x = 0; y = -100; z = -201;
                        tmp = R0*(1 + d*y + b*y*y + c*(y-100)*y*y*y);
                        while(fabs(tmp-R)>=0.007)
                        {
                                if(R > tmp)
                                {
                                        x = x; z = y;
                                        y = (x+y)/2;
                                }
                                else
                                {
                                        x = y; z = z;
                                        y = (y+z)/2;
                                }
                                tmp = R0*(1 + d*y + b*y*y + c*(y-100)*y*y*y);
                        }
                        T = y;  // 得出温度
                }
        }
        else
        {
                if(type == 2)  // Cu50
                        R0 = 50;
                else           // Cu100
                        R0 = 100;
                        
                x = 150; y = 50; z = -50;
                tmp = R0*(1 + 4.289/1e3*y - 2.133/1e7*y*y + 1.233/1e9*y*y*y);
                while(fabs(tmp-R)>=0.007)
                {
                        if(R > tmp)
                        {
                                x = x; z = y;
                                y = (x+y)/2;
                        }
                        else
                        {
                                x = y; z = z;
                                y = (y+z)/2;
                        }
                        tmp = R0*(1 + 4.28899/1e3*y - 2.133/1e7*y*y + 1.233/1e9*y*y*y);
                }
                T = y;
        }
        
        return T;
}

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2015-1-31 14:43:32 | 显示全部楼层
早就有,就在阿莫网上有

出0入0汤圆

发表于 2015-2-2 16:04:52 | 显示全部楼层
多谢搂主的分享

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 10:34

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

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