心理学家告诉我们,挫折会增强动力。我之所以设计出这个设计实例中的电路,是因为我对数字温度计越来越失望,它们都声称精度在0.1°C以内,但读数多的都能相差几度,显示出精确度的严重不足。
这种温度计通常使用热敏电阻传感器,其温度和电阻之间具有大致的指数关系。这很难转换成在很宽的测量范围内具有良好线性的可用信号。热电偶和电阻温度检测器(RTD)是替代方案,前者具有低电压输出,以及电阻温度检测器(RTD),后者则利用金属(通常是铂)的温度系数,在较大范围内提供与温度呈线性关系的可靠输出。
这个项目的最终动力来自于我发现了一些很久不见的PT100 RTD传感器,它们可以实现相当精确的功能:一个盒子将RTD的电阻转换为毫伏信号,该信号可以直接在标准数字万用表(DMM)上读取。像往常一样,我试图将一个简单的设计推向极限,并从中榨取每一盎司(或毫开尔文)的性能。
RTD一般用于桥式电路,如图1所示。
图1:包含RTD的电桥产生与温度相关的电压输出,但通常会偏移0°C点。
R1和R2为RTD和R3提供电流,R3的电阻大约为RTD的平均值。这样,电桥两端的电压几乎与温度成正比,但存在偏差。请注意“几乎”这个含糊其辞的词!要使传感器电阻和温度之间保持精确的线性关系,R1和R2必须是无穷大的,这意味着驱动电压也要无穷大,这毫无用处——或者可以用匹配的电流源代替它们,如图2所示。
图2:在桥中使用匹配电流源可使温度和输出之间呈现线性关系,并帮助我们定义0°C的参考点。仔细选择电流可使桥输出达到1mV/°C。
PT100 RTD使用(精确掺杂的)铂丝或铂膜,其电阻定义为0°C时为100Ω,100°C时为138.5Ω。如果桥的每个支路使用相同的电流,则意味着如果参考电阻R3为100Ω,则桥在0°C时将完全平衡,输出端之间的电压为零。如果每个支路的电流设置为(ΔT°/ΔR)或(100/38.5)=2.597…mA,则差分输出电压变化幅度正好为1mV/°C。使用DMM在其毫伏量程内测量该输出,将直接显示温度。
图3显示了如何真正做到这一点。
图3:能够提供精确1mV/°C的实用电路。
A1-A/Q1/R5和A1-B/Q2/R6构成一对恒流源(或者说是吸电端,因为我们将电路颠倒过来了)。每个电路的公共参考来自D2,这是一个精密的1.24V参考,已降低至约1.12V,这当然就是2.597…mA在430Ω上产生的(理论)电压。输出端之间的差分电压现在正是我们想要的:0°C时为0V,100°C时为100mV。(在理论的世界中,TCR从绝对零度到2044K(铂的熔点)都保持不变,我们将使用2.7315mA的电流。)
原理图左侧的其他零碎东西都是一些无聊的实用组件:一个CR2032 3V纽扣电池、一个按压读数开关,以及一个串联二极管和电阻器,用于为白色LED供电,当电池电压降至最低可用电压(约2.7V)时,LED会变暗,此时小数点后第二位开始偏移。(如果只是基本用途,那么电源/低电量指示就足以用于实验室。)测量的消耗电流约为8mA。
校准是必要的,但很容易。要设置0°C点,请将RTD浸入碎冰中,并调节R8以获得零输出电压。然后将其挂在刚煮沸的水壶中水上方的蒸汽中,并调整R5以获得100.0mV的输出。就是这样!
它很管用,很简单,设置也正确。可能出什么问题?
首先,与RTD的连接,其自身电阻会增加传感器的电阻。由于该设备仅供实验室使用,因此只需要一米左右的电线。18AWG(~1平方毫米)电线的长度具有~90mΩ的环路电阻,误差约为~0.02°C:可以忽略不计,铜引线本身的电阻温度系数(TCR)的二阶效应也是如此。但是,许多RTD组件(而不是基本传感器元件)都带有三根电线,假设所有电线都具有相同的电阻,这种配置可以完全抵消此误差,如图4所示。
图4:与RTD的三线连接可以抵消电线的电阻。
其次,传感器会自热。大多数RTD电路使用1mA感应电流,但我们的~2.6mA会耗散更多,大约1mW。基本RTD元件的热阻约为20°C/W,因此误差可能为+~0.02°C,具体取决于设备浸入的介质以及介质是静止的还是移动的。在静止的空气中,读数可能比在流动的水中至少高0.1°C。如果您要在空气中使用它,最好将RTD放在被冰和水包围的腔体中而不是浸入其中来设置零点。
接下来,电路中会出现偏移和不匹配,只要两个电流源具有相同的误差(可以通过校准消除),它们就会保持平衡。Q1和Q2的hFE应该匹配,因为它们的基极电流会在R5和R6上产生轻微的过电压,而这些电压需要匹配才能获得最佳的温度稳定性。(这一点非常棘手。传感器的温度可能会剧烈波动,但测量电路不应该如此。LM385-1.2基准在室温区域具有非常低的电压温度系数。)
对于Q1/2使用MOSFET会更好,它们的栅极电流为零,但3V电源不允许这样做,至少对于手头的设备而言是这样。可以忽略吸电端顺从性的有限但较高的值。
0°和100°校准点可能存在其他误差。校准槽的冰最好由蒸馏水或至少去离子水制成。(有关水之间的奇怪差异,请参阅本文,然后忽略其对该设备的影响。)
沸点比较复杂。在海平面,大气压为1巴,其精确值定义为99.97°C。随着海拔高度的升高,气压下降,每升高300米,水的沸点就会降低约1°。检查您的高度计和气压计并进行相应调整。这是一个非常有用的工具。
最后,还有与之配合使用的DMM。大多数仪表的10MΩ输入电阻只会引入微小的误差,这将在校准期间得到补偿。使用最高分辨率的仪表,您必须将零度设置为零,但目标仪表为100°C点,以避免任何仪表校准问题。即使最便宜的仪表(低于5$/£/€)通常也有199.9mV的量程,为什么不买一个并留着它用来测温呢?
尽管上面有这么多的繁琐和麻烦,但只要稍加注意就能达到0.1°C的精度,这比大多数基于热敏电阻的温度计所能提供的精度要好得多。为了获得更高的分辨率,并增加一个(准确但不精确的)小数位,请使用4½位的仪表进行读数。专业计量学家可能会对一些细节吹毛求疵,但我希望不要太过激烈。
我们之前见过但没用的Q1/2的那些MOSFET:如果电源电压更高并且运算放大器不同,它们仍然可以使用。TLV2372(RRIO)是理想的选择,但LM358效果很好,因为它可以感应到地线并(刚好)驱动到正轨,输入偏移电流足够低且相当稳定。在测试中,使用ZVN3306A MOSFET,该变体在4.6至30V的电源范围内给出了稳定的结果。(对于更高的电压,R2会增大。)
到目前为止,电桥两条支路的电流相等,但其实不必如此,因为定义0°C点的参考电流可以低得多。将R6/7/8增加十倍左右可节省几毫安,而且我发现没有什么实际的缺点,尤其是在使用MOSFET时。然后,传感器的引线必须很短,因为图4所示的引线电阻补偿方案仅适用于相等电流的情况。我的Mark 2版本(如图5所示)使用此10:1电流比以及其他更改以适应9V电源。它也运行良好,消耗约6mA电流。
图5:较高的电池电压允许在吸电端中使用MOSFET,而桥的参考臂中的较低电流可节省一些电源电流。
应该可以将差分输出通过仪表放大器(带增益)馈送到ADC。请注意我的措辞,这意味着我既没有尝试过也没有详细考虑过这种方法。该设备是为实验室使用而开发的,而不是过程控制环境。
对于真正的全DIY版本,如果您有耐心,大约100Ω的细铜线应该可以制作出一个好的传感器。铜的TCR接近掺杂铂的TCR(Cu:3.93ppt/K;Pt:3.85),因此只需要对R7/8进行修改(以匹配实际电阻)并稍微重新调整R3(针对铜的TCR)。100Ω RTD的数字很常见,但不是强制性的。对于更高的传感器电阻,请使用较低的驱动电流(减少自热),并根据实际情况调整R5(可能还有R6/7/8)。
(原文刊登于EDN美国版,参考链接:DIY RTD for a DMM,由Ricardo Xie编译)