【文献学习】热电偶信号调理电路

  • Post author:
  • Post category:其他


这是在做一个高精度高温传感器配套测试系统时的文献学习笔记。仅做记录总结,方便自己之后查看汇总,言语如有不得体之处还请见谅,转载注明出处。

这篇笔记主要是记录一些文献中,热电偶温度测试系统相关的信号调理电路以及数据处理方式,并稍作总结,在之后做一些测试工作,归并改进,以对初步设计的系统进行升级迭代。


1.用电压—频率转换的方法处理热电偶信号



Murmu, A., Bhattacharyya, B., Munshi, S., 2018. A synergy of voltage-to-frequency converter and continued-fraction algorithm for processing thermocouple signals. Measurement 116, 514–522.. doi:10.1016/j.measurement.2017.11.047

文献主要的亮点是用了Vtof 电压频率转换电路处理热电偶信号,用 continued-fraction algorithm 连续分数算法在MCU中做信号处理。较之后面的其他文献,实现的精度不是特别高,但胜在简单可靠,没有复杂的硬件设计,实现过程也易于理解。

电路用了 负温度系数的热敏电阻,接入LM311的8引脚进行冷端温度补偿,再把带有补偿、热电偶输出的信息的方波输入MCU。

电路图:

电路首先使用三个OP07组成的差分放大器,按照虚短虚断推算,放大倍数为R1/R2,放大后经过一个RC低通滤波滤除工频干扰,然后通过高精度电压频率转换器LM311转换成一定频率的脉冲序列。

输出方波频率与输入电压的关系:

约束条件:

使得LM311引脚 67 的时间常数匹配

而参考节点的电阻由方波的上升时间τ决定:

再之后,把vout通过采集卡输入进处理器后,就可以由信号的上升时间、频率获得热电偶所测温度了。文献中使用PC声卡采集信号,因为要求输入信号有效值不超过1V所以进行了分压、去耦处理,然后分别使用上升沿触发、下降沿触发得到两个脉冲序列,从而获得τ与f。

在大多数实现线性化输出的技术,多是基于只读存储器 (ROM) 的查找表(LUT) 方法和涉及分段线性或多项式插值的软件方法。基于硬件的线性化方案,特别是模拟线性化电路很少。这是一个很不错的参考电路。

文献中,还学到了Steinhart-Hart 方程 :一种通过热敏电阻变化计算温度的方法。

作者在恒温油箱中的测试结果:



2.用


双输入对数运算放大器处理,用模电提高线性化




A. Mukherjee, D. Sarkar, A. Sen, D. Dey and S. Munshi, “An analog signal conditioning circuit for thermocouple temperature sensor employing thermistor for cold junction compensation,”

2013 International Conference on Control, Automation, Robotics and Embedded Systems (CARE)

, 2013, pp. 1-5, doi: 10.1109/CARE.2013.6733711.

先看电路图:

冷端补偿:

上面的三运放放大网络的分析没太看懂,但这个作者设计这个电路的初衷是通过模拟电路的方式使得热电偶的输出信号能更具线性度,用这总方式可以实现不用MCU,仅仅通过模拟电路与基础ADC、译码器和显示电路就能完成温度读取。但在我所做的系统中并不想考虑这种方案,因为运放太多了,较多的有源器件会映入更多的噪声,也对电路测试调整带来了很大的困难,而且较之调研的这些方案我觉得我的软件设计能够成为一个亮点。

简而言之就这个电路比较复杂了,有一定的参考价值,但不值得做复现或者改良。

作者通过SPICE仿真验证了在非线性输入与温度补偿,从其他文献以及热敏电阻数据手册获得模拟参数,仿真结果   标准偏差在


0.32°C









0.76°C


,用实物做的话肯定达不到这个精度。

3.用反向插值表or函数处理热电偶信号



L. Ximin, “A Linear Thermocouple Temperature Meter Based on Inverse Reference Function,”

2010 International Conference on Intelligent Computation Technology and Automation

, 2010, pp. 138-143, doi: 10.1109/ICICTA.2010.284.



这个处理电路使用了AD590读取冷端温度,AD




转换输入单片机做数据处理与结果




显示。



电路示意图:

这个实现比上一个还要复杂,其中冷端补偿的方式也是独具一格:用多路复用放大电路,对热电偶、校准电阻输出信号(U1~U5)进行一定的数学运算从而运算确定0℃电压值,进行零点校准的同时也完成了冷端补偿。这个思路很有特点,但是仔细一想,根本不用做的这么复杂。零点校准完全可以放到MCU里面来做,换一个运算速度更高的处理器,比实现这个复杂电路省钱还省力。

这里用AD590做冷端温度补偿,这个温度传感器在许多教程、课程中都有例举,但查了一下,典型的旧时代外国产品,又贵精度还低,完全是吃了老教材、教程的红利(个人观点),而且我设计的初步方案也有考虑用这个传感器,但是进行传感器调研选型后连买来试一下的想法都没有。

做输出计算,一般是根据标准参考函数或反向参考函数计算温度值。这样可以获得准确和线性的测量。但是,通过微处理器计算的函数比较低效,并且对实时测量有很大的影响。在这篇文献中,作者研究了标准参考表的方法,其不仅可以实现按标准参考功能进行温度测量,而且可以节省大量的计算时间,保证实时测量的准确性。与搜索标准参考表的方法相比,

反向参考表的查找方法

以热电动力经过简单运算为表地址,节省搜索时间,简化程序,也在一定程度上提高了实时性。

首先复习一下单片机中热电偶信号最简单的处理方法:首先通过冷端温度to  查表找到对应热电势Et,然后加上热电偶输出E2,得到所需要的E(t)  。中间温度定理,上节笔记有提到。

这里作者做了一件我认为非常有参考意义的事:他对比了多项式拟合法和参考函数表查找法的精度匹配情况:

计算后发现,对数据进行九阶拟合的精度

对比:  0 ~ 50℃的参考表E ( t )  51个数据

-200 ~ 1372℃的反参考表t ( E )  2026个数据

这两个表的查询、插值精度是和多项式拟合计算的结果相差不大的(甚至表做的数据够多,间隔等于Et分辨率时都不用插值)

这里作者做的反向差值表 ,温度区间根据测量不同决定,把计算得的热电动力E(t) 除以反向参考表的间隔(文中是30uV),商数乘以 2 作为查找表的地址,可以直接获得温度测量。根据存储空间的大小,对逆参考函数表t [ E (  t , 0 ) ]进行尽可能的扩展,以获得尽可能高的测量精度。

而在MCU中计算一个九阶多项式,花的时间是非常多的,使用ROM存储查询表,地址搜搜查找的方式, 明显后者复杂度更低。这是一种用静态内存换取运算速度的方式,考虑到我目前使用的STM32 512Kb内存,存三五千个数据的查询表完全够用(虽然这会对后面接入微处理器操作系统造成一定影响,不过开发板带了SD卡,大不了存SD卡,用的时候放到闪存里面),我会在后续的系统迭代中使用这个数据处理的方法。

此外,这个通过热电势的值简单运算得到查找表地址的思路,和有序向量插值查找的思路十分相似,甚至可以说如出一辙。而文献中的这种查找方式有很大的局限性:它必须要求查找表按照Et等间隔、在测量范围内全部有序的给出,这导致,如果想要提高查询表密度以提高精确的,就得全面地提高查找表的密度,占用更大的静态内存。虽然提高密度不过是在生产查询表的程序中改一个参数而已,不过占用内存总归不大方便。基于此,我准备利用有序向量插值查找的思路,对这个查找方法进行改写,实现在loglogn的时间复杂度内(这是非常低的了)实现Et到t 的查询、插值,且不必要求查询表等间隔分布,可以在重点测温范围内大密度做表,在其他地方小密度做表。



4.基于递归




B




样条最小二乘的方法给出拟合函数




Guo Wei, Xin Wang and Jinwei Sun, “Signal processing method with cold junction compensation for thermocouple,”

2009 IEEE Instrumentation and Measurement Technology Conference

, 2009, pp. 1458-1462, doi: 10.1109/IMTC.2009.5168685.



作者用一种基于递归




B




样条最小二乘的方法作为解决方案


,生产两个计算模型E(t) 、 t(E) ,







消除冷端干扰并计算热电偶热电势到温度转换。



采用




B




样条最小二乘法是因为它的近似质量很好。递归方法用于简化操作并使其适合在




MCU




中使用,所以就可以实时的在MCU中进行模型的校准(热电偶使用久了,要是不是校准标定),而其他的计算模型,无论是最小回归、查询表法,都得测得数据后在计算机中建立计算模型。这点是这篇文章所用方法的最大两点。

测试结果:

S型相对误差为0.45%,K型为0.29%  。

作者仅使用热电偶标准表的模拟研究

,但是

没做实物。



再提一嘴,这些文章提到所做测试系统的精度时,用的标准都没有统一。这篇文章给的参数是最大相对误差和平均相对误差(做异常值判断了吗,给的是平均值与参考值的相对误差的话,需要给出测试点数啊),而其他文章有的给精度


Accuracy(给精度要给置信区间啊)


,有的给绝对误差,有的给均方根误差(这个好),这对各方案的精度横向对比造成了很大的困难。



之后我写的各种报告,精度确定规范一定按照国际计量标准来。



5.用


虚拟仪器和神经网络技术校准系统



D. Wen, L. Qing and Lu Qiang, “Calibration System for Thermocouple Application Based on Technology of Virtual Instrument and Neural Network,”

2007 8th International Conference on Electronic Measurement and Instruments

, 2007, pp. 1-268-1-273, doi: 10.1109/ICEMI.2007.4350439.



在热电偶自动校准系统中,实现热电偶与温度之间转换的手段是建立热电偶特性




E~t




的数学模型。




论文将虚拟仪器技术与神经网络相结合,建立了




E~t




热电偶特性的模型,并采用带动量因子的梯度下降算法调整




RBF




神经网络的参数。然后用它在线测量热电偶。



亮点是介绍了基于虚拟仪器技术的热电偶标定系统的新方法,对比




分段线性拟合和分段多项式拟合


,神经网络模块具有高速并行计算能力和非线性传递特性。可以随时学习,效率高。与常用的求模方法相比,神经网络不能深入了解对象的原理,只能简单地求出数学模块表达式。

文章用了一个径向基函数RBF神将网络,这是一种三层神经网络,其包括输入层、隐层、输出层。从输入空间到隐层空间的变换是非线性的,而从隐层空间到输出层空间变换是线性的。隐含层的作用是把向量从低维度的p映射到高维度的h,这样低维度线性不可分的情况到高维度就可以变得线性可分了,主要就是核函数的思想。(理解有一定困难,但没有必要完全弄懂)

文章在建立


E~t




数学模型时,主要改变的是


输出层的权值向量和偏移向量。

简而言之就是换了种更nb的拟合方法  蹭了神经网络的热度,进行学习时要一直用程序输数据,然后让网络学习 ,数据来自其他文献和数据手册。作者说一共用了260 组数据作为 RBF 神经网络的训练样本,从 ITS90 表的 0°C 开始,每 5°C 作为一组数据。

测试层面,作者用了


Lab View  MATLAB Script Nodes




仿真,得到了不错的准确度。


程序具有简单、速度快、精度高等特点。结果表明,在智能领域使用神经网络是可行的。

我觉得这篇文献时候放在论文最后一段“未来技术发展展望”这块,实话实说就是用神经网络建了个模,目前于我而言,做的测试系统,参考意义不大。



再记录一点,在读到这篇文献时,有强烈的吐槽欲望,因为读英文文献还是比较痛苦的。但读的大多是文献,都是中国人写的文献,都写成英文发,而在知网找不到啥有价值的文献,纯属为难英语不好的国内孩子。我甚至这其中有期刊评价因素等居多深层次问题,所以只是简单抱怨一下。



6.


利用热电偶的非线性来执行冷端补偿



D. A. Lampasi and L. Podesta, “A measurement system exploiting non-linearity of thermocouples for cold junction compensation,”

Proceedings of the 21st IEEE Instrumentation and Measurement Technology Conference (IEEE Cat. No.04CH37510)

, 2004, pp. 2170-2175 Vol.3, doi: 10.1109/IMTC.2004.1351520.

介绍了一种创新技术,该技术利用热电偶的非线性来执行冷端补偿。温度是通过比较两种不同类型热电偶的电压得出的。这样,测量既不需要其他类型的传感器,也不需要冰浴。文章对新的补偿计算方法进行了完整的理论分析,并验证了一些数值方法。

简而言之,就是多加一热电偶,然后用俩热电偶,通过一些算法(有一些复杂),实现冷端补偿

作者还解释说他们实验室冷端温度传感器数量没热电偶多 ,但我寻思着 我买的精度最高的±0.2℃温度传感器也不到热电偶价格十分之一,emm只能说买的太贵了,确实廉价金属热电偶挺便宜的。而且俩热电偶非线性度求补偿温度 ,要求解高阶多项式方程组,这在单片机中实现是很耗时间的。

作者是matlab里面解的高阶次方程组, 然后测试的时候热电偶信号经过调理电路,到采集卡,传到labview虚拟仪器,再跑matlab求解的   目前的系统不考虑这个,同上篇文献适合放在论文最后一段“未来技术发展展望”



版权声明:本文为cyy010617原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。