基于FPGA 的高精度S 型热电偶温度测量系统设计*
2022-03-07王乐群张凯华
王乐群 ,文 丰 ,2,张凯华
(1.中北大学 电子测试技术国家重点实验室,山西 太原 030051;2.中北大学 仪器科学与动态测试教育部重点实验室,山西 太原 030051)
0 引言
在某些特殊测试中,经常需要监视关键设备的环境因素,而温度作为环境因素中的重要参数,直接决定测试的成败[1],因此测量温度的精度就显的尤为重要。在要求高温测量时,S 型热电偶可以达到0~1 600 ℃的测量温度范围,满足大部分测量温度的需求。因此,提高S型热电偶在试验中温度采集的精度是有必要的。
本文提出了一种以FPGA 为控制核心的高精度S 型热电偶测量系统。核心控制器完成模拟开关选通以及高精度ADC 完成模数转换。同时使用多通道采集,单通道调理的设计方法改善由于元器件差异而导致的各路精度不一致的情况。上位机通过使用查表法来更精确地确定温度值,以此提高热电偶测温系统的精度[2]。经过多次试验测试,验证了该系统的可靠性。
1 整体设计
在整体设计中使用多通道采集、单通道调理的设计方法。在多通道采集中,设计使用RFI 滤波电路和AD590冷端补偿电路以提高温度采集的精度,单通道调理完成对各路温度信号增益调整以及VCVS 二阶滤波。高精度ADC 将采集的温度模拟信号转化为数字信号上传至上位机进行实时监测,整体设计框图如图1 所示。
图1 整体设计框图
2 硬件设计
硬件电路设计主要包括RFI 滤波电路设计、冷端补偿电路设计、增益调整电路设计以及VCVS 滤波电路设计。
2.1 RFI 滤波电路设计
RFI 即射频干扰,会严重影响高精度模拟电路的直流性能。本测温系统通过设计RFI 滤波电路来消除本热电偶测温电路所受到的射频干扰噪声的影响[3],如果没有滤波电路,热电偶长导线带来的噪声在进入后续增益调整电路后,同样会被后续电路中仪表放大器增益,并最终在输出端导致不必要的直流失调[4],这会显著降低测量温度的精度。图2 所示为设计的RFI 滤波电路。
图2 RFI 滤波电路
在RFI 滤波电路中,共模和差模信号均受到完全平衡的滤波,如果R1/C2和R2/C3的值没有进行严格匹配,输入共模信号就会转换为仪表放大器输入端的差模信号。因此,在设计中,电容和电阻的精度应尽可能地高,在本次温度测量系统设计中,R1和R2选择7.5 kΩ/1%的电阻,C2和C3选择容值为10 nF的电容器[5]。在RFI 滤波电路中,选用的C1容值应当比C2和C3的容值大很多(C1≥10C2,C3),来抑制由于两个一阶RC 滤波电路(R1/C2和R2/C3)时间常数不匹配所引起的共模-差模转换。因此,C1选择100 nF的电容。
此时RFI 滤波的差模截止频率为:
RFI 滤波的共模截止频率为:
当差模频率大于101.1 Hz,共模频率大于2.12 kHz时,该RFI 滤波电路具有较好的抑制作用。
2.2 冷端补偿电路设计
在热电偶系列中,S 型热电偶具有高精度、高稳定性、宽测温范围的优势。同时在高温下S 型热电偶具有良好的抗氧化性,热电势输出稳定[6]。
热电偶的冷端与热端温度差值决定了其热电动势的输出[7],在S 型热电偶测量温度时使用的分度表中,将0 ℃设定为冷端温度,然而在工作试验等实际应用时并不能确保热电偶的冷端温度一直为0 ℃,这时再使用分度表时就有了误差。因此,必须采取相应的措施进行补偿或纠正[8-9]。本温度测量系统设计了S 型热电偶的冷端补偿电路。
AD590 是美国AD 公司的温度传感器,其输出电流与绝对温度成正比,AD590 提供高阻抗电流输出,这使得AD590 可以很好地降低电源的纹波对温度测量电路的影响。此次系统设计中,温度传感器使用AD590。图3为基于AD590 的冷端补偿电路[10]。
图3 AD590 冷端补偿电路
S 型热电偶输出热电势为:
进入仪表放大器的电压为:
当UC-eAB(tRJ)=0 时,该补偿电路已完全补偿。
补偿电压UC为:
根据节点电压法,电压UM为:
当该电路完全补偿时,即:
因为大多数测温实验都在室温(25 ℃)下进行,所以只要在此时完成冷端补偿电路的补偿,即S 型热电偶在此时的热电势率等于补偿电压对温度的变化率时,该电路即可实现完全补偿。由上则:
通过查阅S 型热电偶的分度表得知,25 ℃时S 型热电偶的输出热电势为0.143 mV,同时AD590 在的输出电流为298 μA,此时S 型热电偶的热电势率为6×10-3mV/℃,参考电压Vref=2.5 V,联立式(7)、式(8)可得,当RC=6.004 Ω,R=9 111.894 Ω 时,室温情况下S 型热电偶输出热电势等于补偿电压,即可完全补偿。
2.3 增益调整电路
设计中选用的AD7621 的电压输入范围为0~2.048 V,而S 型热电偶在1 600 ℃时的热电势输出为仅为18.612 mV,因此需要对S 型热电偶的电压信号进行增益调整以使其满足AD7621 的电压输入范围。本温度测量系统设计选用轨到轨运放AD7621 作为仪表放大器,配置增益调整电路来完成对S 型热电偶输出热电势的放大。根据其芯片资料可知,该放大器可通过调节外部配置电阻来达到不同的增益倍数[11]。根据AD7621 的输出电压公式:
其中,G 为AD8227 的放大倍数,其公式为:
其中,RG为AD7621 的外部配置电阻,如果想使输出电压达到2 V,仅需配置RG=781 Ω。
2.4 VCVS 滤波电路设计
在多路采集模块中,射频滤波电路滤除了高频噪声以及部分低频噪声的影响,但是在电路中仍然存在着大量的通道间串扰噪声。为消除通道间串扰带来的噪声,在此次系统设计中使用VCVS 滤波电路。电路设计如图4所示。
图4 VCVS 滤波电路
由于热电偶信号要求其频率响应不低于100 Hz,如果将滤波器的截止频率设置为100 Hz,滤波后的信号满足不了频响的要求。因此,本着能够对信号进行无误的采集原则,应当将滤波器的截止频率设置为大于100 Hz,本设计将二阶低通滤波器的截止频率设置为200 Hz。此时-3 dB 截止频率为199.469 Hz,图5 为该VCVS 滤波电路的仿真结果。
图5 VCVS 滤波仿真图
3 软件设计
3.1 采样通道控制设计
在传统的采样通道控制程序设计中通常使用变量来暂存通道的控制信息,通过变量不断递增加“1”或者变量重新赋值的方式来控制采集通道切换。传统的采样通道控制将导致很复杂的时序控制[12]。
针对采样通道多且采样通道控制复杂的情况设计了一种根据ROM 表中信息配置采样通道的多通道采样方式。将所有的采样通道控制信息写入ROM 表中,在进行采集时,首先读出ROM 表中的采样通道控制信息,设置好采样通道以及模拟开关的通道选择,再控制ADC进行模数转换。当一次采集完成后,读ROM 的地址加“1”,指向下一次采集通道的配置。
3.2 采样控制逻辑设计
AD7621 对数据的转换受CNVST 信号的控制,CNVST信号下降沿时,BUSY 信号被拉高,ADC 开始模数转换;转换完成后BUSY 信号被拉低,通过判断BUSY 信号的高低情况判读是否将转换完成的数据按照高低位的数据读出[13]。数据转换时序图如图6 所示。
图6 转换时序图
在对模数转换进行控制时,要满足转换所需的时间,t1时间不小于15 ns,两次转换开启的时间t2不小于500 ns。对于热电偶信号,系统设计所需总采样率为160 kHz,选用的时钟晶振为40 MHz,因此将晶振时钟进行250 分频即可。当时钟计数count 计数到10 时,ROM 的读时钟发生一次跳变,控制模块开始从ROM 中读出某一通道的地址并将其赋值给模拟开关和ADC。当count 计数到170 时进行数模转换,此时为了防止各个通道间的信号串扰,拉低CNVST 信号11 个时钟周期,即275 ns,当计数到210 时开始对转换后的数据进行读取,中间时序持续间约为1 μs,远大于时序所需要求。在读取数据时数据是以字节的形式读出,通过BYTE 位的高低切换分别将数据的高、低8 位存入相应的RAM 中,当BYTE 位为高时读取数据的高8 位,反之取数据的低8 位。等到时序计数达到250 时,计数自动清零进行下一轮的转换计数。A/D 转换时序如图7 所示。
图7 A/D 转换时序
3.3 上位机查找表设计
查找表即根据热电偶的测量电势去比对标准的S型热电偶分度表,从而可以准确地定位到温度值。此时温度采集的误差就主要来源于采样和调理电路,可以有效地提高测温精度。对于有序线性表,最常用的查表法有顺序查表法和二分法查表法,顺序查表法需对整个表进行遍历,与二分法查表法相比时间复杂度更高。由于S 型热电偶分度表为有序线性表,表中数据量约有3 000个,因此使用二分法查表法效率较高。二分法查表法算法流程如图8 所示。
图8 二分法查表法算法流程图
由于标准的S 型热电偶分度表只有整数,即相邻温度为1 ℃。经过上位机查表后得到的温度除非刚好是整数,否则肯定会落到两个整数之间。这种情况不能简单地取大或者取小,可以使用线性外推的方法来获得温度,即:
其中,T实测、V实测分别为当前S 型热电偶测量的温度以及对应的热电势,T大、T小分别为通过二分法查表法最后定位的温度最大值和最小值,V大、V小分别为温度最大值和最小值对应的热电势。完整的S 型热电偶查找表算法均可利用上述方法进行类似分析[14]。
4 试验结果及误差分析
为了验证该系统的工作性能,在0~100 ℃时使用超级恒温油槽(GHY-3005)进行测试验证,在100~1 600 ℃使用管式炉(SGL1700C)对该系统进行验证,并且在温度测量端接入标准温度传感器。测试结果如表1、表2 所示,其中表1 对比T1 通道所测量的温度与标准温度传感器测量温度可知该系统测量误差小于0.2%F.S.,表2通过对比T2、T3、T4、T5 通道间的绝对误差可知该系统各通道温度测量精度一致性较好,验证了该系统设计的准确性以及可靠性。
表1 全量程范围测试数据
表2 剩余通道的测量精度
5 结论
本文设计了一种以FPGA 为控制核心的S 型热电偶测温系统,使用多通道采集单通道调理的设计方法,保证了采集精度。详细介绍了该测温系统的测量电路设计并通过二分法查找表算法准确定位温度以提高测温精度。对该系统的测试表明,该温度测量系统可广泛应用于工程温度测量环境,且可以完成多通道、高精度的测温任务。