基于热敏电阻器的双ADC高精度温度采集系统设计
2021-09-27张旺东姚金城汤新强常爱民
张旺东,姚金城,汤新强,常爱民
(1.中国科学院特殊环境功能材料与器件重点实验室,新疆电子信息材料与器件重点实验室,中国科学院新疆理化技术研究所,新疆乌鲁木齐 830011;2.中国科学院大学材料科学与光电子工程中心,北京 100049)
0 引言
海洋温度作为重要的海洋水文参数,在海洋监测、国防建设和科学研究中都具有特别的意义[1]。 因此需要一种能够对海洋温度进行高精度采集的系统,为海洋研究提供可靠的原始数据。现有的高精度测温系统多以铂电阻作为敏感元件,采用四线制接线方式,可在宽温度范围内实现较好的测量精度[2-4]。相较于铂电阻而言,热敏电阻有着电阻温度系数大、窄温区范围内测量灵敏度高、响应时间短、可用于快速变化温度的测量等特点,更适合用于海洋温度环境中[5-6]。
在高精度测温电路设计中,通常采用阻值比率法来实现温度测量,即采用恒流源激励的方式在电阻两端产生电压信号,通过单个模数转换器(ADC)测量电阻之间的电压比来获取热敏电阻阻值。然而受恒流源波动的影响,单个ADC在2次电压测量的过程中流经电阻的激励电流大小并不完全相等[7-8],一定程度上限制了系统测量精度的提升。针对该问题,胡鹏程等采取利用恒温腔为恒流源保温的方式来减小恒流源的波动[7],但该方式需要设计额外的恒温装置,增加了系统的体积和功耗,难以满足应用中小型化、电池供电的需求。
因此,本文设计了基于热敏电阻器的双ADC温度采集系统,该系统采用双ADC实现热敏电阻和参考电阻电压的同步测量,有效减小了恒流源波动对测量精度的影响,满足实际应用中小型化、电池供电的要求。
1 设计要求及系统结构
基于热敏电阻器的双ADC高精度温度采集系统要求可以对温度进行采集并存储,温度测量范围为:-2~35 ℃,测量误差小于1 mK。采用自研MF5804型热敏电阻作为敏感元件,在所测量温度范围内阻值为10~80 kΩ,耗散常数为16 mW/℃,电阻温度系数为-4%/℃。系统总体结构如图1所示。
图1 高精度温度采集系统结构图
(1)信号激励单元:热敏电阻与参考电阻以串联方式连接。热敏电阻采用四线制接法,完全消除引线电阻影响;参考电阻采用高精度、低温漂的金属箔电阻,确保变温环境下测量的准确度。恒流源为热敏电阻和参考电阻提供恒定电流激励,将温度转化为电压信号,通过控制开关改变电流方向:正向时电流从热敏电阻流经参考电阻,反向时电流从参考电阻流向热敏电阻。
热敏电阻阻值可由式(1)计算:
(1)
式中:Rt为热敏电阻阻值,Ω;Rref为参考电阻阻值,Ω;URt+、URt-分别为正、反向电流激励时热敏电阻两端电压,V;URref+、URref-分别为正、反向电流激励时参考电阻两端电压,V。
(2)精密采集单元:电压信号经滤波降噪后被ADC采集。2路完全相同的采集单元同步采集热敏电阻和参考电阻两端电压信号,能够有效消除恒流源激励电流波动带来的误差,改变电流方向,每个电阻被采集2次后取均值以减小杂散电势引起的误差。
(3)控制及处理单元:STM32单片机完成系统采集工作的时序控制,通过SPI接口与ADC进行通讯实现采集数据的读取。读取的数据经处理后发送至上位机或存储单元。
(4)供电单元:系统采用电池供电,供电单元将电池电压进行转换为各部分电路提供模拟、数字电源。采用4层板设计方式,不同的模拟、数字电源在电源层进行分割处理,以提高电源质量。
2 系统硬件设计
2.1 双向恒流源激励电路设计
恒流源为热敏电阻和参考电阻提供恒定电流激励,考虑到热敏电阻阻值范围及自热效应,激励电流不能超过14.1 μA,设计值为10 μA。恒流源激励电路原理图如图2所示。
图2 恒流源电路原理图
放大器A1、A2以负反馈方式组合,A2作为反馈环节将定值电阻Rset两端电压反馈至A1的反向输入端,电路稳定时输出电流可由式(2)计算:
(2)
式中:Vin为参考电压;Rset为电流设定电阻;G为放大器A2的增益,可通过设定R1和R2的值来调整,G和R1、R2满足关系式G=2R2/R1。
K为电流方向切换开关,K接A时电流由热敏电阻流向参考电阻;K接B时电流由参考电阻流向热敏电阻。由于本系统为比率测量方式,对恒流源的精度、温漂、输入偏置电流的要求并不高,因此在选择器件时将器件的噪声性能作为主要的考虑因素[9]。在本系统中,选择低噪声、低温漂的高精度电压基准芯片REF6233产生3.3 V电压作为Vin输入,总噪声仅为5 μV;A1选择精密、零漂移放大器OPA388;A2选择精密、低噪声的仪表放大器INA326,其增益设定电阻R1和R2的阻值分别为200 kΩ、40.2 kΩ,设定增益≈9.95。电流设定电阻Rset的阻值为33.2 kΩ。输出电流Iout为9.99 μA。
恒流源的带负载能力由负载两端电压Vload和电流设定电阻Rset两端电压Vset共同决定。正常工作时,须保证Vload+Vset小于放大器A1的最大输出电压,且Vload+Vset/2须小于仪表放大器A2输入端最大共模电压。在使用+5 V电源供电时,可驱动400 kΩ负载电阻,满足热敏电阻驱动要求。
为减小恒流源的波动,在进行PCB设计时,增益设定电阻R1、R2、电流设定电阻Rset周围都留有足够的空间以保证良好的散热环境。
2.2 信号调理电路设计
低噪声的信号是保证系统测温精度的关键,信号调理单元对前端电压信号进行滤波降噪处理,其电路如图3所示。
图3 信号调理电路原理图
A1为前端放大器,输入端连接至热敏电阻两端,输出端接一阶RC低通滤波器,信号经滤波后送至ADC进行采集。放大器A1的作用主要有2点:
(1)将热敏电阻两端的差分电压信号转换成单端信号;
(2)将前端热敏电阻的较大阻抗变换成较小阻抗。
仪表放大器输出端连接至一阶RC低通滤波器,-3 dB带宽可由式(3)计算:
(3)
式中:R1为电阻,Ω;C1为电容,F。
2.3 高精度信号采集电路设计
高精度信号采集单元采用双ADC实现热敏电阻和参考电阻两端电压的同步采集。根据系统温度采集精度要求及热敏电阻器阻值范围,由式(4)可计算出等效电阻分辨率至少为0.4 Ω,在10 μA的电流激励下,等效电压分辨率为4 μV,则由式(5)可计算出所需ADC器件的无噪声位数为19.65位。
dR=α·R·dT
(4)
(5)
式中:α为热敏电阻的灵敏度系数,-4%/℃;R为热敏电阻阻值,Ω;T为温度,K;Vref为ADC器件参考电压,3.3 V;ΔV为电压分辨率,V。
本系统选用了32位的Δ∑ADC作为高精度信号采集器件,其型号为ADS1263。该ADC由低噪声CMOS PGA、Δ∑调制器以及可编程数字滤波器构成。前端CMOS PGA由2个斩波稳定放大器和用于配置增益的电阻网络构成,输入端配备有高频电磁干扰(EMI)滤波器。为确保输入信号能被正常采集,输入端幅值大小需满足式(6):
(6)
式中:VAVSS、VAVDD为ADC供电电源,分别为0 V、+5 V;VIN为差模输入电压,0.1~0.8 V;G为PGA增益,1~32;VINP、VINN为同相、反相输入端电压。
为充分利用ADC器件的转换位数,设置PGA增益为4,此时ADC器件输入端最大电压最接近满量程电压(即3.3 V参考电压)。将上述参数代入式(6)有:
1.2 V<VINPandVINN<3.5 V
VINP、VINN实际值在1.7~3.3 V,满足上述要求。
ADC内部可编程数字滤波器有2种可选择的模式:Sinc模式和FIR模式。其中Sinc模式有Sinc1~Sinc4四阶可选,数据率范围为2.5~38 400 SPS;FIR模式数据率为2.5~20 SPS。考虑到系统的噪声性能和数据率大小,最终滤波器配置为Sinc4模式、数据率为50 SPS。此时ADC器件的噪声为96 nV,无噪声位数为21.7位。
高精度信号采集电路的噪声性能除受ADC器件自身噪声影响外,还受参考电压的噪声影响[10]。为保证ADC器件呈现出较好的噪声性能,在选择参考电压源时应着重考虑器件的噪声性能。在系统中,选择低噪声、低漂移的LTC6655精密基准电压源提供3.3 V参考电压,噪声幅值为0.25 ppm。
2.4 系统供电单元
系统供电单元框图如图4所示。系统由电池供电,电压为+6 V。根据系统各部分电路所需电压的不同,需通过电源芯片对电池电压进行转换。本系统选用低压差线性稳压器(low dropout regulator,LDO)作为供电单元。综合考虑系统各部分电路所需电流大小及电源要求后,选择具有超低静态电流的电源芯片TPS7A24,其静态电流为2 μA,最大电流为200 mA。
图4 系统供电单元
系统供电电源经TPS7A24产生3种不同电压:模拟+5 V、模拟+3.3 V和数字+3.3 V。其中,模拟+5 V电源为参考电压及恒流源、精密采集单元模拟部分供电;数字+3.3 V电源为精密采集单元数字部分供电;模拟+3.3 V电源为控制及处理单元供电。
3 系统软件设计
3.1 上位机软件设计
上位机软件以MATLAB R2019b APP Designer为设计工具,通过组件布局和行为代码编写的方式实现所需功能,设计完成后创建为独立桌面APP。上位机的主要功能是在PC端与系统进行通信,实现存储数据的读取、擦除、对所读取的数据进行保存、绘图以及数据分析。上位机主界面如图5所示。
图5 上位机界面图
3.2 下位机软件设计
系统采用STM32L431作为控制核心,其软件程序采用C语言编写,开发工具采用Keil μVision5。系统上电后,首先执行初始化操作,完成对控制器工作模式、ADC转换设置、恒流源方向、通信接口的配置。上述步骤完成后执行主程序开始测量,热敏电阻两端的电压信号经滤波、放大后由ADC进行转换,转换完成后控制器读取转换结果并准备下一次测量。一次完整的测量工作包含2个过程:恒流源正向采集和反向采集。2次采集过程结束后即可计算出本次测量结果。下位机程序流程图如图6所示。
图6 下位机程序流程图
4 实验测试
4.1 热敏电阻阻温关系标定
为了确保热敏电阻能够准确地测量温度,需要对热敏电阻的阻温关系进行标定。实验采用Fluke 1590超级电阻测温仪作为测量仪器,该仪器为双通道输入,可分别接标准铂电阻温度计和热敏电阻,实现温度和电阻同时测量,其中温度测量精度为0.25 mK,电阻测量精度为30 ppm;采用Fluke 7012校准浴槽提供恒温环境,浴槽中以悬浮方式放置均热块,将标准铂电阻温度计和热敏电阻置于均热块孔洞中。实验过程中,以1590超级电阻测温仪测得温度作为实际温度,每个温度点进行一段时间的测量,同时记录测量过程中温度及电阻标准差,标定温度点为:-2、0、5、10、…、35 ℃。完成上述温度点测量后,采用Hoge方程进行拟合[11-12],方程如式(7)所示:
(7)
式中:T为温度,K;R为热敏电阻阻值,Ω;A0~A3为拟合系数。
表1列出了各点电阻、温度数据及相应的拟合误差,最大拟合误差为0.3 mK。
表1 电阻-温度拟合误差分布
4.2 系统标定
为提高系统测量精度,将固定电阻接入系统,读取系统测量值,并将系统测量值与真实值进行拟合。定值电阻由ZX54型精密直流电阻箱产生,使用前经Fluke 8508A高精度标准数字多用表测量,以测量值作为实际电阻值。系统标定数据如表2所示。在满量程范围内进行分段线性拟合,分段区间为:10~30 kΩ、30~50 kΩ、50~70 kΩ、70~80 kΩ。采用分段拟合后,分段点处拟合误差为0 Ω,最大误差为-0.16 Ω,等效温度误差为-0.2 mK。
表2 系统标定数据
4.3 系统准确度测试
将标定后的热敏电阻器与系统连接,整体浸没在油槽中,热敏电阻器和标准铂电阻温度计置于均热块的孔洞中,在测量温度范围内选取若干温度点进行准确度验证。实验过程中,待温度稳定后进行一段时间测量,以1590超级电阻测温仪测量结果的平均值作为实际值,同时记录测量过程温度测量标准差。各点实际温度值与系统测量温度值如表3所示。由表3可知,在所测量的温度范围内,系统最大测量误差为0.4 mK。
表3 各温度点测量结果及误差分布
5 结束语
本文设计了面向海洋的高精度温度采集系统。为减小恒流源波动产生的误差,设计了双ADC同步采集电路,实现了热敏电阻和参考电阻两端电压的同步采集,同时根据热敏电阻及系统采集精度要求,分析了高精度采集电路所需的无噪声分辨率位数。通过对热敏电阻器进行分段线性拟合及系统校正,系统误差被进一步减小。经实验测试,在所设计温度范围内,系统温度测量误差最大为0.4 mK,满足海洋研究中测温的需求。