访问手机版页面
你的位置:老古开发网 > 其他 > 正文  
一种精密的热电阻测温方法
内容导读:
摘    要: 本文介绍了一种采用恒压分压法精密测量三线制热电阻阻值的方法,对于Pt100热电阻,检测分辨率可以达到0.005W。同时采用计算的方法,能够使获得的温度准确度达到0.05℃。
关键词: 恒压;三线制;热电阻;精度

引言
温度参数是目前工业生产中最常用的生产过程参数之一,对温度的测量虽然有许多不同的方法,但热电阻凭借其优良的特性成为目前工业上温度测量中应用最广泛普遍的传感元件之一。由于金属铂优良的物理特性,使它成为制造热电阻的首选材料。它能够制造成体积微小的薄膜形式,或者缠绕在陶瓷和云母基板上制造出高稳定性的温度传感器,能够适应各种复杂的测温场合。一般在-200℃至+400℃的温度范围内,Pt100热电阻温度传感器是首选测温元件。
目前在各种检验设备中,如各种检验用恒温槽,都要求设备能够提供高精度的温度指示,这就要求作到对温度的高精度测量。又如,在配置Pt100热电阻传感器的智能型二线制一体化温度变送器中,也要求对温度有高精度的测量,这样才能够保证变送器在全量程范围内的高精度。为了消除导线电阻对测量的影响,在实验室和工业应用中,都是采用三线制引线接法来消除导线电阻影响的。本文介绍的就是一种精密测量三线制热电阻阻值的方案,同时提供了高精度的温度转换方法。

三线制热电阻阻值检测电路
图1是一个采用恒压分压法精密测量三线制热电阻阻值的检测电路,实际是一个高精度温度变送器的检测部分。它采用AD7705作为模数转换器,系统控制CPU采用P87LPC764,整体系统是一个低功耗系统。
图1中,电阻体RT接成了三线制,RL为三根导线电阻,一般每根导线电阻在5W之内。电阻体与测量电路以A、B、C三点连接,实际上是与电阻R构成了对电压VREF的分压电路。一般情况下,为避免驱动电流导致电阻体发热引起测量误差,电流应该小于3mA,这里笔者通过选择VREF和R,使驱动热电阻的电流约为0.6 mA左右。当在VREF和R是已知的前提下,通过检测VAB和VAC,就能够通过计算的方法得到RT,从而求得实际温度。VAB和VAC的检测由AD7705完成,它是一个具有双输入通道,16位的Σ-Δ A/D转换器,输入带有可编程放大器,这里采用了8倍增益,通道1检测VAC,通道2检测VAB。参见图1,很容易可以获得如下的关于VAB和VAC的关系式1和2,它们实际上是以RT和RL为未知数的二元一次方程,很容易求解出RT,即式3。
VAB=VREF*RL/(R+RT+2*RL)                                    (1)
VAC=VREF*(RT+2*RL)/(R+RT+2*RL)                      (2)
RT=R*(VAC-2*VAB)/(VREF-VAC)                                (3)
获得了RT,就可以间接推算出实际测量的温度,由于传感器是非线性的,一般传统的方法经常采用查表、折线等方法来计算温度,但是这些方法在有限的表格空间下都难于得到高精度,仅适用于精度要求不高的工业场合。如果采用国标中给出的Rt(t)函数公式加试差法推导温度值,能够获得极高精度,但是在以往的计算机处理方法中由于考虑到程序的复杂性,一般都回避采用浮点计算方法,不过目前的C51编译器已经具有极高的效率,同时,程序存储空间也不是问题,因此笔者采用了这种高精度的计算方法,下面是计算RT及测量温度的一个C51函数,它采用的检测对象是符合IEC751标准,TRC=0.003851的Pt100热电阻。
process_t()      /*测量温度求解函数,已知R,VREF*/
{
data float vac,vab,rt,rt1,t;
    vac=ad_pro(1);
vab=ad_pro(2);    /*A/D转换获得VAB和VAC*/
rt1=r*(vac-2*vab)/(vref-vac);  
/*计算出热电阻当前值*/
      rt=lubo(rt1);            /*滑动加权滤波*/
  t=(rt-100)/0.36;
/*首先按照400度量程线性估计当前温度*/
        do
/*采用试差法循环计算,刚才估计的t做初始值*/
        {
        if(rt<100) /*摄氏零度以下处理*/
          {
            rt1=100+t*(0.390802-0.0000580195*t-
        0.000000000427351*(t-100)*t*t);
          }
        else /*摄氏零度以下处理*/
          {
            rt1=100+t*(0.390802-0.0000580195*t);
          }
        t=t+(rt-rt1)/0.36;
        }
      while(((rt-rt1)>0.005) (rt1-rt)>0.005);
      /*计算余差最终小于0.005欧*/
          return(t)        /*试差结束,返回浮点数温度值*/
}

R及VREF的校准
上面求解测量温度的过程中是把R和VREF都作为已知参数来处理的,表面上看,它们都是有标称值的,不过它们的标称值都是有误差的。其中R为高稳定性的金属膜电阻,它的精度为0.1%,VREF取自LM285,它的出厂稳定值范围为1.235±0.01V,这样的误差对于高精度测量是不允许的,解决的办法就是对它们进行校准。
解决这个校准问题也不复杂,需要使用两个不同电阻值的模拟电阻来进行两次测量,然后求解出R和VREF,模拟的电阻可以使用高精度电阻箱。例如第一次接入R1=100W,第二次接入R2=200W,会得到如下的关系式4、5、6、7,根据它们,可以求解出关系式8、9、10,从而获得校准后的R和VREF,然后把获得的校准值存入系统的EEPROM,就可以作为正式测量RT时的已知参数了。
VAB1=VREF*RL/(R+R1+2*RL)                                  (4)
VAC1=VREF*(R1+2*RL)/(R+R1+2*RL)                    (5)
VAB2=VREF*RL/(R+R2+2*RL)                                  (6)
VAC2=VREF*(R2+2*RL)/(R+R2+2*RL)                    (7)
RL=VAB1*R1/(VAC1-2*VAB1)                              (8)
R=(VAB1*(R2+2*RL)*(R1+2*RL)-RL*VAC2*(R2+2*RL))/ (RL*VAC2-VAB1*(R2+2*RL))      (9)
VREF=VAC1*(R+R1+2*RL)/(R1+2*RL)                    (10)
下面是校准过程的C51程序,系统通过串行口发送两次校准命令完成校准。
void jiaozhun()                /*R,VREF校准函数*/
{
data float vac1,vab1,vac2,vab2,v,r,vref;
    if(comm_flag==1)  /*每收到一次命令处理一次*/
          {
  comm_flag=0; /*首先清除通讯标志*/
  switch(comm._dat) /*根据发来的命令具体操作*/
        {
          case 0:
/*校准小量程,然后必须校准大量程!!!*/
              vac1=ad_pro(1);
/*R1=100;校准电阻=100欧*/
v=ad_pro(1);
vac1=(vac1+v)/2; /*求两次采样平均值*/
        vab1=ad_pro(2); /*导线压降*/
        v=ad_pro(2);
        vab1=(vab1+v)/2;
rl=vab1*R1/(vac1-2*vab1);
break;
case 1:
/*校准大量程,之前必须基准小量程!!!*/
vac2=ad_pro(1);
/*R2=200;校准电阻=200欧*/
v=ad_pro(1);
vac2=(vac2+v)/2;
vab2=ad_pro(2);
        v=ad_pro(2);
        vab2=(vab2+v)/2;
r=(vab1*(R2+2*rl)*(R1+2*rl)-
rl*vac2*(R2+2*rl))/(rl*vac2-vrl1*(R2+2*rl));
vref=vac1*(r+R1+2*rl)/(R1+2*rl);
eeprom(r,vref);          /*写入EEPROM*/
break;
default:
break;
}

结语
实验测试结果表明,本设计达到了预计要求,采用本方法设计的二线制温度变送器已经形成产品并大量应用于工业现场。本文提出的检测和计算方法对于使用铂热电阻传感器的精密测温设备的设计具有一定的借鉴和参考价值。■

参考文献:
1. 新编电子电路大全·第4卷,测量与传感电路,    北京中国计量出版社 2001.
标签:
来源:电子产品世界 作者:吉林化工学院自动化系 梁伟 时间:2004/7/22 17:34:00
相关阅读
推荐阅读
阅读排行
最近更新
商品推荐