1.Pt100使用背景
在工业生产过程中,温度一直都是一个很重要的物理参数,温度的检测和控制直接和安全生产、产品质量、生产效率、节约能源等重大技术经济指标相联系,因此在国民经济的各个领域中都受到了人们的普遍重视。温度检测类仪表作为温度测量工具,也因此得到广泛应用。由于传统的温度测量仪器响应慢、精度低、可靠性差、效率低下,已经不能适应高速发展的现代化工业。随着传感器技术和电子测量技术的迅猛发展,以单片机为主的嵌入式系统已广泛应用于工业现场,新型的电子测温仪器不仅操作简单,而且精度比传统仪器有很大提高。目前在工业生产现场使用最广泛的温度传感器主要有热电偶和热电阻,例如铂热电阻Pt100就是使用最广泛的传感器之一。
2. Pt100 的特性
铂电阻是用很细的铂丝(Ф0.03~0.07mm)绕在云母支架上制成,是国际公认的高精度测温标准传感器。因为铂电阻在氧化性介质中,甚至高温下其物理、化学性质都非常稳定,因此它具有精度高、稳定性好、性能可靠的特点。因此铂电阻在中温(-200~650℃)范围内得到广泛应用。目前市场上已有用金属铂制作成的标准测温热电阻,如Pt100、Pt500、Pt1000等。它的电阻—温度关系的线性度非常好,如图1所示是其电阻—温度关系曲线,在-200~650℃温度范围内线性度已经非常接近直线。铂电阻阻值与温度的关系可以近似用下式表示:
在0~650℃范围内:
Rt =R0 (1+At+Bt2)
在-190~0℃范围内:
Rt =R0 (1+At+Bt2+C(t-100)t3)
式中A、B、C 为常数,
A=3.96847×10-3;
B=-5.847×10-7;
C=-4.22×10-12;
Rt 为温度为t 时的电阻值;R0 为温度为0℃时的电阻值,以Pt100 为例,这种型号的铂热电阻,R0 就等于100Ω,即环境温度等于0 度的时候,Pt100 的阻值就是100Ω。当温度变化的时候,Pt100 的电阻也随之变化,通过以上电阻-温度表达式便可以计算出相对应的温度。在实际应用中,一般使用单片机来进行温度的计算,由于该表达式比较复杂,用单片机处理这样的计算过程,将会占用大量的资源,程序的编写上也相当复杂,所以一般采用先查表,再插值的方法换算出温度。
3. Pt100 测温原理
Pt100 是电阻式温度传感器,测温的本质其实是测量传感器的电阻,通常是将电阻的变化转换成电压或电流等模拟信号,再将模拟信号转换成数字信号,再由处理器换算出相应温度。采用Pt100 测量温度一般有两种方案:
1.设计一个恒流源通过Pt100热电阻,通过检测Pt100 上电压的变化来换算出温度;
2.采用惠斯顿电桥,电桥的四个电阻中三个是恒定的,另一个用Pt100 热电阻,当Pt100电阻值变化时,测试端产生一个电势差,由此电势差换算出温度。
两种方案的区别只在于信号获取电路的不同,其原理上基本一致,如图2 所示。
如图3 所示,是以华邦的78E51 单片机为处理器,采用恒流源为信号获取电路的测温方案,恒流源通过Pt100 热电阻,温度变化引起Pt100 电阻值的变化,从引起电压的变化,放大后经AD 采用后,送由单片机处理,换算出相应温度。为了达到高精度、宽量程的测温要求,选用的是AD 转换芯片是12 位串行AD 芯片MAX1270。
4. 提高Pt100 测温精度的方案
4.1 通过改善Pt100接线方式对误差进行补偿
铂热电阻的使用,一般有三种接法,分别是二线制接法、三线制接法和四线制接法,如图4所示,不同的接法适应于不同的精度要不求。
图4 三种接线方式
1.二线制接法:如图4(a)所示,这种接法不考虑Pt100 电缆的导线电阻,将A/D 采样端与电流源的正极输出端接在一起,这种接法由于没有考虑测温电缆的电阻,因此只能适用于测温距离较近的场合。
2.三线制接法:如图4(b)所示,这种接法增加了用于A/D 采样的补偿线,三线制接法消除了连接导线电阻引起的测量误差,这种接法适用于中等测温距离的场合。
3.四线制接法:如图4(c)所示,这种接法不仅增加了A/D 采样补偿线,还加了一条A/D对地的补偿线,这样可以近一步的减小测量误差,可以用于测温距离较远的场合。如果只从精度上考虑,采用四线制接法效果最好。
4.2 通过对采样信号进行滤波减小随机误差
由于外界干扰或某些不可预知的因素,模拟量在受到干扰后,经A/D 转换后的结果偏离了真实值,可能会出现一些随机的误差,如果只采样一次,无法确定结果是否可信。必须通过多次采样得到一个A/D 转换的数据序列,通过软件算法处理后才能得到一个可信度较高的结果。这种方法就是数字滤波。
图5 去极值平均滤波程序流程图
滤波器是一种能使有用频率信号通过而同时抑制(或大为衰减)无用频率信号的电子装置,可分为模拟滤波器和数字滤波器。模拟滤波器是主要采用R、L、C 等无源器件组成的滤波电路或由运放和R、C 组成的有源滤波器。而数字滤波则是采用软件算法实现滤波的。数字滤波的前提是对同一数据进行多次采样,在单片机系统中一般有以下几种方法:
1.中值滤波:一般采样5、7 次,排序后取中间值。
2.算术平均滤波:一般采样8 次,求平均值。
3.去极值平均滤波:去掉最大最小值后求平均值一般采样10、12 次。
4.加权平均滤波:各加权系数之和为1。
5.滑动平均滤波:本次采样值和前n 次采样值求平均。
数据滤波方法选用要视现场环境和被测对象而定,在本系统中采用的是去极值均值滤波,算术平均滤波不能将明显的脉冲干扰或粗大误差消除,只能将其影响削弱。因明显干扰或粗大误差使采样值远离其实际值,可以比较容易地将其剔除,不参与平均值计算,从而使平均滤波的输出值更接近真实值。以去极值平均滤波为例,程序流程图如图5 所示。算法原理如下:对于温度信号对应的电压采样值,连续采样n 次,将其累加求和,同时找出其中最大值和最小值,再从累加和中减去最大值和最小值,按n-2 个采样值求平均,即有效采样值。
4.3 通过插值算法校正Pt100的非线性度
由Pt100 的特性可知,虽然Pt100 的线性度比较好,但是由于其温度—电阻函数关系并非线性,用单片机运算则占用资源和时间都比较多。通常采用查表和线性插值算法进行标度变换的方法计算出温度,不仅运算快、占用单片机内部资源少,而且可以一定程度上对Pt100 进行线性化校正,从而达到非常精确的测温效果。要查表首先要在单片机的ROM 区建立一个电阻—温度分度表,在检测值的范围内均匀选择若干个标定点,标定的点数越多则表格越大,对系统的描述也越精确。Pt100 的铂电阻温度分度表,可以向Pt100 的厂商索要,考虑到单片机的程序存储空间资源和实际的测量精度要求,并不需要每隔一摄氏度就取一个标定点,根据精度要求选择适当的温度间隔。例如在-200~650℃范围内每隔5℃标定一个Pt100 的电阻值,即共171 个标定点,分别记作R[i],对应的温度记作T[i],i 取0~170。
图6插值算法示意图
如图6 所示,采用线性插值算法进行标度变换时,将检测值Rx 通过顺序查表,与标定点R[i]比较,确定区间R[i] <Rx<R [i+1],然后进行线性插值算法求得温度值Tx:
Tx=T[i]+((Rx-R[i])/( R[i+1]-R[i]))* (T[i+1]-T[i]) 因为是每隔5℃标定一个电阻值,所以T[i+1]- T[i]=5,即:
Tx=T[i]+5*(Rx-R[i]/R[i+1]-R[i])
[举例]:现经A/D 采样和滤波得Pt100 的电阻值为Rx=112.68Ω,求此时实测对象的温
度Tx。
解:已知查Rx=112.68Ω,
表得 R[46]<Rx<R[47],
R[46]=111.67Ω,R[47]=113.61Ω,
T[46]=30℃,
代入式2 得:
Tx=T[46]+5*(Rx-R[46])/(R[47]-R[46])=30+5*(112.68-111.67)/(113.61-111.67)=32.60
答:此时实测对象的温度Tx 为32.60℃。