Pt100铂电阻测温电路-重要

发布时间:   来源:文档文库   
字号:
常用电路图

R2R3R4Pt100组成传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过TL431稳至2.5V从电桥获取的差分信号通过两级运放放大后输入单片机。电桥的一个桥臂采用可调电阻R3,通过调节R3可以调整输入到运放的差分电压信号大小,通常用于调整零点。
放大电路采用LM358集成运算放大器,为了防止单级放大倍数过高带来的非线性误差,放大电路采用两级放大,如图5.1所示,前一级约为10倍,后一级约为3倍。温度在0~100度变化,当温度上升时,Pt100阻值变大,输入放大电路的差分信号变大,放大电路的输出电压Av对应升高。
注意:虽然电桥部分已经经过TL431稳压,但是整个模块的电压VCC一定要稳定,否则随着VCC的波动,运放LM358的工作电压波动,输出电压Av随之波动,最后导致A/D转换的结果波动,测量结果上下跳变。
铂热电阻阻值与温度关系为:

式中,A=0.00390802B=-0.000000580C=0.0000000000042735。可见Pt100在常温0~100摄氏度之间变化时线性度非常好,其阻值表达式可近似简化为:RPt=1001+At,当温度变化1摄氏度,Pt100阻值近似变化0.39欧。
Pt100的分度表(0~100℃)



程序处理
一般在使用PT100的温度采集方案中,都会对放大器LM358采集来的模拟信号AV行温度采样,即进行A/D转换。
A/D处理包括两方面内容,一是A/D值的滤波处理,二是A/D值向实际温度转换。由于干扰或者电路噪声的存在,在采样过程当中会出现采样信号与实际信号存在偏差的现象,甚至会出现信号的高低波动,为了减小这方面原因造成的测量误差,在实际采样时采样18个点,然后再除去其中偏差较大的两个点,即一个最大值和一个最小值,再对剩余的16个点取均值,这样得到的A/D转换结果比较接近实际值。
在对数值进行滤波操作之后,还要将A/D值转换为温度,常用的两种方法为查表法和公式法:查表法比较麻烦,而且精度也不高,适合于线性化较差的NTC温度传感器;公式法比较简单,只需要确定比例系数K和基准偏差B即可,适合于线性化较好的传感器温度转换的C语言实现过程为:
fT=(ADC_data*KB;//换算成温度值。得到温度后,一般还会对被控对象根据实际温度和目标温度进行实时的控制,要又要设计到控制算法,如:模糊控制、PID调节等。这里简单介绍一下PID控制原理,更多内容请察看相关书籍。
PID工作原理
PIDProportionalIntegralDerivative)控制是控制工程中技术成熟、应用广泛的一种控制策略,经过长期的工程实践,已形成了一套完整的控制方法和典型的结构。它不仅适用于数学模型已知的控制系统中,而且对于大多数数学模型难以确定的工业过程也可应用,在众多工业过程控制中取得了满意的应用效果。
由于来自外界的各种扰动不断产生,要想达到现场控制对象值保持恒定的目的,控制作用就必须不断的进行。若扰动出现使得现场控制对象值(以下简称被控参数发生变化,现场检测元件就会将这种变化采集后经变送器送至PID控制器的输入端,并与其给定值(以下简SP进行比较得到偏差值(以下简称e调节器按此偏差并以我们预先设定的整定参数控制规律发出控制信号,去改变调节器的开度,使调节器的开度增加或减少,从而使现场控制对象值发生改变,并趋向于给定值(SP以达到控制目的如图所示,其实PID实质就是对偏差(e值)进行比例、积分、微分运算,根据运算结果控制执行部件的过程。


温度控制PID算法设计
利用了上面所介绍的位置式PID算法,将温度传感器采样输入作为当前输入,然后与设定值进行相减得偏差,然后再对之进行PID运算产生输出结果fOut然后让fOut控制定时器的时间进而控制加热器。为了方便PID运算,首先建立一个PID的结构体数据类型,该数据类型用于保存PID运算所需要的PID系数,以及设定值,历史误差的累加和等信息:
typedefstructPID{
floatSetPoint;//设定目标DesiredValue
floatProportion;//比例系数ProportionalConstfloatIntegral;//积分系数IntegralConst
floatDerivative;//微分系数DerivativeConstintLastError;//上次偏差
intSumError;//历史误差累计值}PID;
PIDstPID;//定义一个stPID变量
PID运算的C实现代码
floatPIDCalc(PID*pp,intNextPoint{
intdError,Error;
Error=pp->SetPoint*10NextPoint;//偏差,设定值减去当前采样值pp->SumError+=Error;//积分,历史偏差累加
dError=Errorpp->LastError;//当前微分,偏差相减pp->PrevError=pp->LastError;//保存pp->LastError=Error;
return(pp->Proportion*Error+pp->Integral*pp->SumErrorpp->Derivative*dError;}
(pp->Proportion*Error(pp->Integral*pp->SumError(pp->Derivative*dError是微分。


本文来源:https://www.2haoxitong.net/k/doc/b657039c561252d381eb6eb1.html

《Pt100铂电阻测温电路-重要.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式