PT100电阻值计算过程如下:

理论电压关系为:V3-V1=11(V2-V1).由于电阻等的误差原因,采用实际测量求平均值的方法得出实际放大倍数。

放大电路测量几组数据如下:其中V3-V1=Av(V2-V1)

由数据可知平均倍数AV=11.531。其中R7=118Ω, V1=0.275V.

实际工作时发现,由于运放电源为0-5v,V2-V1的值不能小于0v,否则运放输出电压不正确。根据测量范围-100~100℃,故选取-100℃左右的PT阻值为R7=60Ω,这样就能满足V2-V1恒为正值,此时V1=0.130V。

重新计算可得:RPt= 1000.0/(0.9434-((u-0.130)/28.8275))-1000;

float GetVoltage(BYTE ch)
{
float v;
v=GetADCResult(ch)*4.8600/1024; //单片机实际工作电压4.86(参考电压)
return v;
} float GetPt100(float u)
{
float RPt;
   
RPt= 1000.0/(0.9434-((u-0.130)/28.8275))-1000; return RPt;
}

  

 

float CalcuTemp()
{
double fT , fR , fT0;
short i ;
fR = GetPt100( GetVoltage(3) );
fT0 = (fR / 100 - 1) / A ;
if(fR >= 18.52 && fR < 100) //-200℃- 0℃
{
for(i = 0 ; i < 50 ; i ++)
{
fT = fT0 + (fR - 100*(1 + A*fT0 + B*fT0*fT0 - 100*C*fT0*fT0*fT0 + C*fT0*fT0*fT0*fT0)) /
(100 * (A + 2*B*fT0 - 300*C*fT0*fT0 + 4*C*fT0*fT0*fT0)) ;
if(fabs(fT - fT0) < 0.001)
break ;
else
fT0 = fT ;
}
//l_strT.Format(_T("%.3f") , fT);
}
else if(fR >= 100 && fR <= 390.481) //0℃- 850℃
{
for(i = 0 ; i < 50 ; i ++)
{
fT = fT0 + (fR - 100*(1 + A*fT0 + B*fT0*fT0)) / (100*(A + 2*B*fT0)) ;
if(fabs(fT - fT0) < 0.001)
break ;
else
fT0 = fT ;
}
// l_strT.Format(_T("%.3f") , fT);
}
return fT;
}

  

 

PT100测温函数的更多相关文章

  1. PT100测温电路经验

    P100电压采集放大电路:前半部分是4.096V恒压源电路,然后是一个桥式电压采样电路,后面是一个电压放大电路. 一 4.096V恒压源电路: 因Vref = 2.5V,故有4.096 = (1 + ...

  2. PT100高精度测温电路 AD623+REF3030(转)

    源: PT100高精度测温电路 AD623+REF3030(很稳定)

  3. 高精度NTC测温的硬件电路以及软件设计

    什么是NTC NTC是热敏电阻,其电阻值对温度变化敏感,在不同的温度下,可以呈现不同的电阻值. 热敏电阻有两类,一类是负温度系数电阻(NTC),温度增加时,电阻值降低,另一类是正温度系数电阻(PTC) ...

  4. DS18B20测温

    项目需要实现分布式大规模测温,需要52个测温点,采样DS18B20进行设计. 30cm一个点,一共8个点串联.采用国标单芯单股纯铜硬线BV0.5做导线,测试一会儿正常,一会儿不正常.后面换线了,测试正 ...

  5. AI测温落地趋势:已成日常刚需 产品形态呈细分化发展

    现如今不管走到哪儿,机场.车站.医院.商场.超市等公共场所都已经将体温检测作为常态化防疫手段.自全球疫情发生以来,不管欧洲.亚洲,还是中东.东南亚等国家都已经意识到,疫情防控的第一道关口便是测温. 而 ...

  6. MLX90640 红外热成像仪测温模块简要介绍说明

    MLX90640 红外热成像仪测温模块简要介绍说明 (1) A 型和 B 型的区别 区别主要有以下几点 视场角不同: A 型为 110*75° , B 型为 55*35° ,通俗一点讲就是 A 型是广 ...

  7. 践行初心|方正璞华爱心捐赠人脸识别测温系统WelComID

    近日,方正璞华向金鸡湖社区卫生服务中心捐赠了人脸识别测温系统.该设备集人员识别.体温检测等功能于一体,在人员进出的时候完成体温的检测,从而判断是否有异常人员等问题,有效节省人力成本.减少人员接触风险, ...

  8. Arduino周边模块:传感器部件(温敏、光敏、湿敏)

    Arduino周边模块:传感器部件(温敏.光敏.湿敏) Arduino周边模块:传感器部件(温敏.光敏.湿敏) Arduino的模数转换 对于Arduino来说,它只认识数字量,模拟量对其来说就是一门 ...

  9. strcpy.strcmp.strlen.strcat函数的实现

    #include <stdio.h> #include <string.h>   char *copy(char *a,char *b);//声明一个复制函数 char *ca ...

随机推荐

  1. android 图片画画板

    canvas.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: ...

  2. [itint5]最大子矩阵和

    http://www.itint5.com/oj/#39 最大子矩阵和,复杂度O(n^3).利用了最大子段和的方法. int maxRectSum(vector<vector<int> ...

  3. SPRING IN ACTION 第4版笔记-第九章Securing web applications-004-对密码加密passwordEncoder

    一. 1.Focusing on the authentication query, you can see that user passwords are expected to be stored ...

  4. iOS 10 使用相机及相簿闪退的问题修正

    http://www.cnblogs.com/onechen/p/5935579.html

  5. Git教程之删除文件(8)

    在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交:

  6. No ongoing transaction. Did you forget to call multi?

    2016-10-21 14:41:47,551 [ERROR] [http-nio-8032-exec-2] TransactionSynchronizationUtils:171 - Transac ...

  7. HTTPConnection与HTTPClient的区别

    HttpClient是个很不错的开源框架,封装了访问http的请求头,参数,内容体,响应等等.HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便.比如重访问的自定 ...

  8. SDOI2008Cave 洞穴勘测

    无限膜拜CLJ大牛…… 不会动态树的弱弱在CLJ的帮助下AC了此题 我想到了并查集(人人都会想到的吧……囧),但不知道应该如何处理destroy操作…… 其实 make操作的实质就是:把x节点到其所在 ...

  9. mysqldump使用

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...

  10. android listview 使用checkbox问题

    在android中使用listview时需要了解listview加载数据的原理,为了避免listview由于列表项过多每次需要进行new造成性能低下的问题,android中的listview使用了控件 ...