PT100测温函数

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测温函数的更多相关文章
- PT100测温电路经验
P100电压采集放大电路:前半部分是4.096V恒压源电路,然后是一个桥式电压采样电路,后面是一个电压放大电路. 一 4.096V恒压源电路: 因Vref = 2.5V,故有4.096 = (1 + ...
- PT100高精度测温电路 AD623+REF3030(转)
源: PT100高精度测温电路 AD623+REF3030(很稳定)
- 高精度NTC测温的硬件电路以及软件设计
什么是NTC NTC是热敏电阻,其电阻值对温度变化敏感,在不同的温度下,可以呈现不同的电阻值. 热敏电阻有两类,一类是负温度系数电阻(NTC),温度增加时,电阻值降低,另一类是正温度系数电阻(PTC) ...
- DS18B20测温
项目需要实现分布式大规模测温,需要52个测温点,采样DS18B20进行设计. 30cm一个点,一共8个点串联.采用国标单芯单股纯铜硬线BV0.5做导线,测试一会儿正常,一会儿不正常.后面换线了,测试正 ...
- AI测温落地趋势:已成日常刚需 产品形态呈细分化发展
现如今不管走到哪儿,机场.车站.医院.商场.超市等公共场所都已经将体温检测作为常态化防疫手段.自全球疫情发生以来,不管欧洲.亚洲,还是中东.东南亚等国家都已经意识到,疫情防控的第一道关口便是测温. 而 ...
- MLX90640 红外热成像仪测温模块简要介绍说明
MLX90640 红外热成像仪测温模块简要介绍说明 (1) A 型和 B 型的区别 区别主要有以下几点 视场角不同: A 型为 110*75° , B 型为 55*35° ,通俗一点讲就是 A 型是广 ...
- 践行初心|方正璞华爱心捐赠人脸识别测温系统WelComID
近日,方正璞华向金鸡湖社区卫生服务中心捐赠了人脸识别测温系统.该设备集人员识别.体温检测等功能于一体,在人员进出的时候完成体温的检测,从而判断是否有异常人员等问题,有效节省人力成本.减少人员接触风险, ...
- Arduino周边模块:传感器部件(温敏、光敏、湿敏)
Arduino周边模块:传感器部件(温敏.光敏.湿敏) Arduino周边模块:传感器部件(温敏.光敏.湿敏) Arduino的模数转换 对于Arduino来说,它只认识数字量,模拟量对其来说就是一门 ...
- strcpy.strcmp.strlen.strcat函数的实现
#include <stdio.h> #include <string.h> char *copy(char *a,char *b);//声明一个复制函数 char *ca ...
随机推荐
- navicat 导入sql文件乱码问题解决
一,右键数据库链接,点击链接属性,修改以下信息,如图: 选择高级选项页签==>去掉使用MySQL字符集复选框==>选择GB2312字符编码==>点击确定 三,控制台后,show va ...
- spring结合时,web.xml的配置
<!-- 1. web.xml配置 <context-param> <param-name>webAppRootKey</param-name> <pa ...
- python之高性能网络编程并发框架eventlet实例
http://blog.csdn.net/mingzznet/article/details/38388299 前言: 虽然 eventlet 封装成了非常类似标准线程库的形式,但线程和eventle ...
- 关于MIM金属注射成型技术知识大全
1.什么是MIM MIM即(Metal Injection Molding)是金属注射成型的简称.是将金属粉末与其粘结剂的增塑混合料注射于模型中的成形方法.它是先将所选粉末与粘结剂进行混合,然后将混合 ...
- Windows10搭建PHP7开发环境
原文:Windows10搭建PHP7开发环境 3年前写了一篇<Windows下搭建PHP开发环境>之后就再也没有碰过PHP了,最近新发布了PHP7然后回去看了一下之前写的文章,发现很多配置 ...
- Debug 和 Release 编译方式的本质区别
一.Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序.Release 称为发布版本,它往往是进行了各种优化,使得程 ...
- 给枚举加上Description,必要时,可以直接获取枚举类型代表的中文
http://www.cnblogs.com/lyl6796910/p/3958768.html
- Emmet快速开发
标签元素关系展开 div.wrap>div.content>(div.inner_l+div.inner_r)^div.sider ------缩写展开如下---------------- ...
- poj2400Supervisor, Supervisee(KM)
http://poj.org/problem?id=2400 KM算法http://philoscience.iteye.com/blog/1754498 题意:每个雇主对雇员有个满意度 雇员对雇主有 ...
- android 自动调整屏幕分辨率
请看 http://blog.csdn.net/awp258/article/details/7593340