常广晖,常书平,张亚超
(1.海军工程大学 动力工程学院,武汉 4300332.中国人民解放军63983部队,江苏 无锡 214035)
在舰船动力装置领域,温度是需要实时监测的重要参数之一。机舱中高温区的温度测量全部是通过热电偶来完成,比如柴油机的排气温度、燃气轮机的涡轮燃气温度等,这些温度参数不仅反映了推进主机的运行工作状态,还是判断其健康程度的重要依据,对于其测量精度有很高的要求。近年来随着嵌入式MCU和ADC芯片技术的进步,很多学者对于提高测量精度进行了研究,提出了新的设计方案。王安敏[1]等利用ADS1148芯片为核心,通过分段线性拟合,LM35温度传感器进行冷端补偿,设计一种在-50~500 ℃范围内测量误差为±0.1 ℃的基于K型热电偶的测温装置;陈名宝[2]从热电偶测温模块性能指标出发,用ADS1232芯片设计出精度高、抗干扰能力强的测温电路;曾小信[3]等分析了影响热电偶信号采集精度的因素,并进行优化处理从而提升了测温精度;孙延岭[4]等提出一种基于CS5524的热电偶温度测量软硬件设计方案。
各学者对于高精度热电偶测温问题都进行了深入的研究,各自提出了针对不同应用场合的设计方案,但是对于影响热电偶测量精度的因素缺乏更为深入的分析,缺少各因素对于精度影响的定量比较,具有一定的局限性。本文针对以上问题,采用STM32F103和AD7793设计了一种高精度热电偶测温电路,结合该方案,在深入分析影响测温精度的因素基础上给出了各因素的误差计算公式,并提出一种等精度最小二乘拟合校正法大大减小了热电偶非线性校正误差。
热电偶是由两种不同金属A、B构成的简单温度测量装置,如图1所示。两种金属焊接在一起构成温度结,由于塞贝克效应,当两端存在温度梯度时,另一端未连接的差分结上将呈现热电动势,热电动势与金属类型和温度梯度相关。根据中间导体定律在热电偶差分结接入电位计,只要电位计与连接电偶处接点温度相等,就不会影响差分结原来的热电势。热电偶温度较高的一端为热端T1,温度较低的一端为冷端T0,由中间温度定律可得下式:
图1 热电偶测温原理
EAB(T1,0)=EAB(T1,T0)+EAB(T0,0)
(1)
国标和IEC给出了T0=0 ℃条件下根据热电动势与温度的函数关系制成热电偶分度表,工业实际测温中,冷端温度T0往往不为0 ℃,通常利用另一绝对温度传感器(RTD、硅传感器等)测量T0,并进行冷端补偿,即查分度表得EAB(T0,0),与测量到的热电偶热电动势EAB(T1,T0)叠加,最后根据EAB(T1,0)分度表求被测温度T1。常见热电偶类型(J、K、E和S)如表1所示。
表1 常见的热电偶类型
根据热电偶测温原理设计的多通道高精度热电偶测温电路如图2所示,电路主要包括:通道防护、多路转换开关、断线检测、AD转换、冷端补偿、MCU控制器等。ADC选用AD7793,它是一款低功耗、低噪声24位∑-ΔADC,内置可编程增益放大器(PGA),无需外部精密放大器,可以直接输入来自热电偶的微伏级电压信号。冷端温度利用AD7793第二通道对RTD进行测量。MCU选用32位STM32F103单片机实现冷端补偿和分度表非线性补偿运算。
图2 热电偶测温电路
热电偶在正常使用时,测温误差主要来源于热电偶本身误差和测温电路误差,忽略热电偶本身误差,从设计的测温电路来看,测温误差δT主要受到输入通道误差(包括ADC转换)δTtc、冷端补偿误差δTcj、分度表非线性校正误差δTrt的影响,测温总误差为:
δT=δTtc+δTcj+δTrt
(2)
为了提高测温精度,就应该从输入通道、冷端补偿以及分度表非线性补偿入手,优化设计改进补偿算法从而减少误差。
在工业现场复杂环境下热电偶信号输入通道容易耦合电磁干扰信号,高频噪声会输导致PGA内部直流失调,引起信号放大误差,为了减少或消除这些误差,在输入通道前端增加如图3所示的RFI滤波器,来满足电磁兼容性要求。RFI滤波器的共模带宽BCM和差模带宽BDM可以由式(3)来计算。
图3 防护级电路
(3)
整体滤波器带宽应至少为输入信号带宽的100倍,按图2元件参数设计BCM=15.915 kHz,BDM=757.89 Hz,可以满足不大于7.57 Hz通道带宽的要求,适应于工业测温要求。
同时为了消除复杂工业环境下静电和浪涌的干扰,输入通道还增加了TVS管(瞬态电压抑制二极管)。本电路选择TVS 型号为PESD1CAN,它能显著提高系统的静电、浪涌抗干扰能力。
为了方便故障排查,增加测温电路断线检测功能,如图2所示热电偶信号输入通道通过两个10 M电阻分别上拉或下拉到电源的正极和负极,当热电偶发生断线故障时,后端ADC输入电压为3.3 V远超热电偶信号范围,从而可以实现断线检测。
工业控制中温度变化通常是低速的,因此窄带ADC比较适合,同时高精度测温又要求ADC必须具有高分辨率。窄带与高分辨率,使得∑-ΔADC成为高精度温度测量的理想选择,目前很多∑-ΔADC普遍内置PGA,输出数据速率可调。为了提高温度测量精度,关键是要设置合理的PGA增益和输出数据速率。由于ADC内部电路的热噪声和量化噪声会影响温度测量精度,应选择ADC的无噪声分辨率来计算温度分辨率。PGA增益选择应满足(4)式要求:
(4)
式中,Vref为ADC参考电压,Vtmax为测量范围的热电偶最大电压,G为PGA增益。
通过应用场合温度测量快速性要求,选择数据输出率,根据数据输出率和PGA增益,可通过ADC产品手册得到无噪声分辨率,根据下式计算温度分辨率:
(5)
式中,Tcmax为测量范围内的热电偶最大温度,Tcmin为测量范围内的热电偶最小温度,Vtmin为测量范围的热电偶最小电压,nfr为ADC无噪声分辨率
以发动机排气温度测量为例,要求测温范围为0~1 000 ℃,选用K型热电偶进行测量。AD7793选用内置低温漂基准电压1.17 V,输出数据速率选用8.33 Hz,查K型热电偶分度表,1 000 ℃时热电偶电压为41.276 mV,则由公式(4)可知增益应设为16,根据产品手册可知此时ADC无噪声分辨率为17.5,由公式(5)算得温度分辨率为0.009 6 ℃,即测温电路输入通道引起的测温误差δTtc为0.009 6 ℃。
显然,冷端温度的精度会影响到热电偶的测量精度,若冷端温度测量误差较大,会造成热电偶的测量温度值误差较大。冷端温度补偿目前常用的方法有以下3种。
将补偿电桥串联在热电偶测量回路中,当冷端温度变化时,感温电阻随温度改变,破坏了电桥平衡,会产生不平衡电压,此电压则与热电势相叠加,产生补偿作用,此方法只能部分补偿,而且所有冷端补偿电桥只能与相应型号的热电偶及所规定的温度范围内配套使用,使用存在很大的局限性。
温度集成芯片通常产生与温度成一定关系的电流或电压或者通过串行数字将温度直接输出:比如LM35温度传感器芯片输出的电压与环境温度呈线性度,在-50 ℃~150 ℃范围内温度每升高1 ℃则LM35相应的输出电压增加10 mV;测温芯片TMP124AID可以通过串行数据直接输出温度值,其精度可以达到±0.5 ℃,此种方式缺点是精度较差,受芯片初始精度的影响。
温度直接测量法,通常采用一定数值的电流激励热电阻或热敏电阻直接测温,同时让该电流同时流经外部精密电阻为ADC产生基准电压,构成热电阻比率式测量方式,温度测量精度高,同时激励电流值的偏差不会影响温度测量精度,图2设计电路采用该方法通过ADC7793第2通道直接测量冷端温度。由图1所示的冷端补偿电路中,热电阻阻值Rrtd的计算公式为:
(6)
式中,CODE为ADC的输出码,Rref为基准精密电阻。
根据式(6)以及热电阻特性,可得冷端温度分辨率:
(7)
式中,Trmax为冷端最大温度,Trmin为冷端最小温度,Rrmax为冷端温度范围RTD最大阻值,Rrmin为冷端温度范围RTD最小阻值。
一般工业环境中,假设冷端温度范围为0~40 ℃,AD7793第二通道增益设为1,数据输出速率设为4.17 Hz,此时ADC无噪声分辨率为20.5,热电阻选用PT100,根据式(7)可算得冷端温度分辨率为0.003 6 ℃。
根据PT100分度表,采用最小二乘拟合该区间内阻值与温度的关系为T*=0.025 7R-257.341 8,经计算最大温度拟合误差为0.0318 ℃,由此可得冷端补偿误差:
δTcj=0.003 6+0.031 8=0.035 4 ℃
热电偶分度表不是线性的,在很窄的温度范围内非常接近线性。但是,在更宽的温度范围内,则呈现出非线性,为了提高温度测量的精度必须使用一个线性化程序处理,目前在工业测量中通常的做法是在查表法的基础上通过区间线性插值法来实现。可以根据嵌入式MCU的运算速度和储存能力选择不同大小的区间,具体算法如下:
T*=Til+ki(Vt-Vil)
(8)
式中,T*为温度校正值,Til为区间左端点温度,ki为区间斜率,Vt为冷端补偿后的热电势,Vil为区间左端点热电势。区间斜率则为区间温度差与区间热电势差的比值。
从式(8)可以看出将分度表划分的区间越小则测量精度越高,但同时也会增加计算负担。
上述非线性校正方法在使用一般采用等间隔划分区间,通过分析计算,在每个区间温度校正精度是不同的。在高精度测量时,区间要划分的很小,大大增加了MCU的计算负荷,针对以上问题,提出一种等精度最小二乘拟合的校正方法进行改进。等精度最小二乘拟合法是以等精度作为区间划分的原则,保证在每个区间校正精度相同,区间内采用最小二乘拟合对温度进行校正。
使用等精度最小二乘拟合法进行校正,首先设定温度校正精度的目标值δ,在温度测量范围内0~1 000 ℃内,第一个区间设为[0,1],然后通过最小二乘拟合出其区间内V~T直线关系T*=V*k11+k12,然后通过该计算公式计算校正温度值T*,如区间内最大误差max|T*-T|不超过δ,则不断增加区间范围,重复以上计算得到校正精度δ下的最大区间[0,T1],下一次以T1为区间起点用同样方法得到等精度区间[T1,T2],直到找到最后一个区间[Tn-1,1000],并记录每个区间对应的ki1、ki2常数。
为了验证改进算法的有效性,定义每个区间内的校正误差为δ=abs(T*-T),当δ分别为0.1、0.2、0.3、0.4时,通过以上等精度最小二乘拟合法进行区间划分,并求得每个区间的拟合系数ki1、ki2,结果如表2所示。
表2 等精度最小二乘法区间划分及拟合系数
以δ=0.1为例,在划分的14个温度区间内,分别用最小二乘拟合和插值法计算校正温度误差,得到的校正误差曲线如图4所示。从图中可以看出,最小二乘拟合法在每个温度区间内校正误差都小于0.1,经计算其平均校正误差为0.032 6。采用插值法计算其最大误差高达0.164 2,平均校正误差0.084 8。上述区间的划分是在等精度的前提下,采用最小二乘拟合法进行划分的结果,考虑到区间划分对于插值法的不利性,进一步采用上述等精度思想改用插值法来划分温度区间,在划分的区间通过斜率外推得到V~T直线关系T*=V*ki+Vi,其中ki为区间斜率,Vi为区间初值。不同δ取值下的区间划分结果如表3所示。
表3 等精度插值法区间划分及拟合系数
图4 矫正误差曲线
以δ=0.1为例,在划分的17个温度区间内,分别用插值法和最小二乘拟合计算校正温度误差,得到的校正误差曲线如图5所示。从图中可以看出,插值法在每个温度区间内校正误差都小于0.1,经计算其平均校正误差为0.061 3。而在同样的区间内采用最小二乘拟合法计算其最大误差仅为0.075 8,平均校正误差为0.022 5。
图5 校正误差曲线
通过以上对比分析结果可知,采用等精度最小二乘拟合法温度区间划分段数较少,降低了分度表对MCU存储空间需求,因为在每一区间最小二乘法拟合法和插值法每次计算都需要一次乘法和一个加法运算,在不增加计算量的前提下最小二乘法拟合法的平均校正误差大大降低仅为插值法的38.44%。
采用等精度最小二乘拟合法,使得分度表非线性校正误差δTrt在全部测量范围内相同,δTrt为0.1 ℃时需按表2划分为14个区间,继续细分区间可进一步提高校正精度。
本文设计了一种可应用于复杂工业环境的高精度热电偶温度测量电路,分析了影响温度测量精度的3个主要因素,输入通道误差、冷端补偿误差和分度表非线性校正误差,并给出前两种误差的具体计算公式,应用该测量电路在0~1 000 ℃的测温范围内,输入通道误差和冷端补偿误差两项之和不超过0.045 ℃。经定量分析发现,输入通道误差、冷端补偿误差相对分度表非线性校正误差对热电偶温度测量精度影响较小,提高测量精度重点应减少分度表非线性校正误差。针对通用分度表非线性校正方法计算量大精度低的缺点,提出一种等精度最小二乘拟合法,通过和原插值法对比分析发现在不增加计算量的前提下大大提高了校正精度,仅将测温范围划分为14个温度区间内就可将校正误差减小到0.1 ℃。进一步细分温度校正区间可以取得更高的测量精度。该热电偶温度测量电路精度高、抗干扰能力强同时具备断线检测功能适用于各类工业应用场合。