作为支持模拟和数字温度传感器的高级应用/系统工程师,在工作中经常被问到有关温度传感器应用的问题。其中有很多是关于模数转换器(ADC)的,由于ADC在系统应用中的重要性,我花费很多时间在解释ADC对系统精度有何意义,以及如何理解并实现所选传感器的更大系统精度上。
温度传感器用于大功率开关电源设计中,需要监测功率晶体管和散热器。电池充电系统需要温度传感器监测电池温度,以便安全充电并优化电池寿命,家庭恒温器则需要温度传感器监测房间温度,以相应控制供暖,通风和空调系统。
这些应用中,常用的温度测量方法是使用负温度系数(NTC)热敏电阻。NTC是电阻器件,其电阻随着温度的改变而改变。为了满足当今温度传感器需求,一种更新、更高效、更准确的方法是使用硅基热敏电阻,它是一种正温度系数(PTC)器件。并且PTC不是电阻器件,而是电流模式器件;在电流模式下工作的硅提供基于温度的线性输出电压。
无论您使用NTC还是PTC,您的设计都需要一个ADC和一个MCU来测量热敏电阻的电压输出。本文的重点是将硅基热敏电阻与MCU结合使用带来的许多优势。我们将探讨NTC和PTC热敏电阻的优缺点。
选择微控制器
MCU选型具有诸多选择,但很可能在选择温度传感器时这个组件已经被确定。你可以关注温度传感的ADC外设的具体情况。
选择ADC
ADC有很多不同的类型。最受欢迎的两种为逐次逼近寄存器(SAR)和 Delta-Sigma模拟数字转换器。Delta-Sigma提供高分辨率(8-32位分辨率),但采样速度较慢。SAR类型最古老、最常见,分辨率为8-18位,采样速度更快。对于温度传感,任意一种ADC都是不错的选择。
ADC分辨率
ADC的位数将决定分辨率而非精度。分辨率是ADC用来测量施加到ADC管脚的模拟电压的步长。分辨率的位数以及参考电压(VREF)将设置ADC的步长值。
比如,一个10位ADC将具有2^10=1024位,而3.3VDC的VREF将为每个ADC位提供3.3/1024=0.003226VDC的分辨率。一个16位ADC将具有65536位的总分辨率,每位分辨率为0.000005035VDC。ADC位数越多将意味着更高的测量分辨率。
请勿将精度与分辨率混淆。分辨率是指能够看到被测电路值的变化。用于温度测量的典型ADC的分辨率为12-16位。您会发现8位或10位ADC不能提供足够的分辨率来查看热敏电阻的精度,且具有较大的温度步长,通常不可接受。
过采样以获得更高分辨率
过采样是一种平均测量值的方法,可提高分辨率和信噪比。过采样的工作原理是将多个带有噪声的温度测量值相加,然后进行平均,得到一个更精确的数值。每超过8个过采样,分辨率将增加2位。16次过采样会将10位ADC的总分辨率提高到14位。如果噪声高于Nyquist频率,则可在应用程序中使用任意数量的样本(N#份样本)来获得设计所需的分辨率。Nyquist速率是您期望获得实际温度读数的频率。样本总数必须比实际所需温度结果快至少N#倍。
在使用过采样方法时,在输入信号中添加一些抖动噪声可改善分辨率误差。许多实际应用中,噪声小幅增加可大幅提高测量分辨率。在实践中,将抖动噪声置于测量感兴趣的频率范围之外,随后可以在数字域中滤除这些噪声,从而在感兴趣的频率范围内进行最终的测量,同时具有更高的分辨率和更低的噪声。
提供抖动噪声的更佳方法是将热敏电阻分压器的Vcc和VREF分开(将MCU的内部VREF用于ADC)。请勿在电阻分压器电压检测线上放置电容器。许多情况下,电路噪声将足以使电阻分压器的电压抖动,以求平均值。抖动噪声必须等于4位或更多位振幅。10位具有3.3VDC VREF的ADC将拥有0.0032VDC的电压步长。抖动噪声必须至少是预期温度测量值上下的4位分辨率。10位ADC的最小抖动噪声必须高于ADC的最低有效位(LSB)+/- 0.0128VDC(0.0256VDC p-p)或更高,以提供必要的电平,从而通过求平均值适当提高ADC的位分辨率。
在ADC读取一个位值并计算温度后,您可将该值存储在先进先出(FIFO)软件阵列中。当新值输入阵列时,最旧的样本将被丢弃,所有其他样本都将移至下一个对应的单元,从而创建一个FIFO。该求平均值方法可应用于温度转换过程中使用的任何值,例如温度、ADC位值、分压器电压,甚至计算得出的电阻。所有这些因素平均下来都将很好地发挥作用。
定点或浮点
微控制器可在内部具有浮点单元硬件,也可具有无需硬件即可进行浮点数学运算的固件库。32位非浮点器件的快速示例是Cortex “M4”器件,而带有浮点的版本将标记为“M4F”。与使用定点部件和使用浮点固件库相比,MCU内部具有浮点硬件使计算速度更快、功耗更低。
具有固定点意味着只能显示大于零的整数。例如:如果1 + 1,则得到2,然后取平均值1。如果2 + 1,则得到3,然后取平均值1.5。在定点计算中,结果将为“ 1”, 小数点以下的数字都不能用1。用固定点测量温度时,将只能看到和参考整数的温度,即22°C,23°C,24°C。浮点可显示更高分辨率的温度,即22.1°C或22.15°C。使用浮点数既可更轻松计算温度,也可使用带有插值的查找表。您可使用具有单位数分辨率的定点查找表,分辨率为一位数,这对于许多应用程序是可接受的。
选择热敏电阻
热敏电阻有两种类型,基本的NTC和PTC热敏电阻。通常会将它们混为一谈,被认为是同一类型的器件。这并不正确。NTC是一种随温度变化的电阻装置。如图1的分压器电路图中所示,在热敏电阻顶部放置一个电阻并施加稳定的电压。温度变化时,热敏电阻中的电阻也会发生变化,从而改变顶部电阻两端的压降。分压电阻器中心的输出为模拟电压,将由ADC测量。
图1: 分压电路实现
PTC是一种基于电流工作的硅器件。随着温度变化,传导电流也随之发生变化。大多数PTC的工作都使用恒流源进行,如图2所示。电流改变时,由电流源提供的电压改变。
图2: 恒流电路实现
ADC测量电压的变化,并将测量值转换为温度。
你也可以使用PTC,就像NTC热敏电阻与RBias电阻一样,见图1。顶部电阻将如同电流源一样工作。与相同条件下的NTC相比,PTC通常对温度变化具有更好的热敏性,且对较小的变化更敏感。PTC的另一个优点是:它们在Vtemp 连接处具有线性输出,如下图3所示,因此更易于校准。这也使零件在整个温度范围内都更加精确。
图3: PTC热敏电阻线性电阻斜率
NTC具有类似于下面图4所示的非线性输出,且可能需要在温度室内进行三点校准,以允许斜率补偿和偏移误差调整,从而在整个温度范围内保持精确。NTC的非线性斜率无法在未校准的情况下在整个温度范围内提供稳定的温度信息。
图4: NTC热敏电阻非线性电阻斜率
在正常条件下,NTC可以使用具有适当温度分辨率的12位ADC,尤其是在较冷温度下,但是PTC通常需要14位ADC才能获得足够的分辨率,以查看温度步长,从而显示出 PTC的实际精度。对于所有温度范围内的PTC都是如此,但NTC将需要一个14位ADC来测量60°C以上的较高温度。
在PTC顶部增加一个RBias电阻会减小PTC的动态范围。较低的动态范围使ADC的电压反馈降低,这就是PTC需要14位ADC分辨率的原因。但是,由于PTC的线性斜率,较低的动态范围将导致较大的温度误差测量。室温下的单点偏移将在整个温度范围内校准PTC。对于基于PTC的系统,在整个温度范围内,这将使温度测量比典型的(同等指定的)基于NTC的系统更加精确。
比率度
比率度是描述捕获的ADC值的术语。该值可与输入和/或电源电压的变化成比例地变化。当提供给温度感测电路的分压器的VCC电源也提供用于VREF的电压时(如下面图5所示),则称其为比率度。VCC的任何变化都将在分压器和VREF处同等同时变化,从而影响ADC的测量值,让这些源之间的潜在差分误差最小。
比率度方法可以增加系统中的总精度。在实现不使用平均或过采样的基于热敏电阻的温度传感器时,为分压器和ADC的VREF使用相同的电源非常重要。
图5:比率度,由同一电源供电的电阻分压器和VREF供电
滤波
在大多数情况下,无需在分压器上使用电容器,在使用单端ADC的比率法时也不应使用。对于差分的VREF/ADC输入,您通常会在ADC输入和VREF输入之间放置一个电容。使用比率度方法时,对Vtemp 进行滤波将改变感测线上的电压响应,但不会改变ADC VREF 的电压响应。因此,增加一个滤波器会增加输入到电阻分压器的VREF 和VCC之间的差值,并增加误差。
不使用比率度方法时,可以使用在分压器处增加电容来滤除电压,以消除噪声和电压变化,否则会在测量中产生误差。添加一个电容器来滤除VREF也是一个不错的方法。有时,VREF 是内部的,无需额外滤波。如果在Vtemp线上添加电容器,则会增加对温度变化的响应时间。如果测得的温度响应缓慢且无需立即采取措施,则滤波器可能会有所帮助。 另一种滤波器解决方案是在电阻分压器顶部的VCC处增加一个电容器,以滤除系统中的噪声以进行温度测量。如果使用比率度,则在VREF 上添加相同的电容器,以使两个电源的电压变化保持一致。
缓冲器和放大器
放大器可用于增加热敏电阻的动态范围。所有运算放大器都有潜在的失调误差和增益误差。选择对精度和失调影响最小的运算放大器需要付出更多努力。校正失调和增益误差所需的校准可能比升级到更高质量的ADC的成本更高。 一些MCU具有内部运算放大器。许多DS ADC具有集成的PGA,正是为了这个目的(缓冲/增益)。一些SAR ADC也有这些功能。
有时会使用单位增益缓冲器来防止下垂或加载到电阻分压器电路。当ADC对热敏电阻分压器电路进行采样时,来自ADC的浪涌电容会导致测量时几毫伏的电压下降。如果在ADC中具有足够的分辨率,则会在温度测量中观察到这是一个错误。如果直接在ADC管脚上增加一个等于ADC电容10倍的电容器,则无需使用缓冲器就可以补偿ADC电容的浪涌电流。典型的ADC电容为3pF-20pF。最好在ADC管脚附近添加一个30pF – 200pF的电容,这是一个很好的解决方案。它将对热敏电阻的测量或热响应的影响降至最低。
漂移
由于PTC热敏电阻使用硅作为其基础材料且具有线性斜率,因此,流经PTC的电流随时间和温度变化具有非常低的漂移。另一方面,NTC通常对所用材料的电阻具有温度依赖性,且在高温下会随时间变化。NTC具有一个beta值,可定义整个温度范围内的TCR / PPM,且PPM随时间变化。
从ADC导出温度
NTC热敏电阻温度是基于器件的电阻。许多设计人员使用查找表寻找特定温度下的电阻。然后通过插值计算每个1°C温度步长之间的实际温度。为了更大程度地减少查找表的大小,您可使用5°C的查找表,但是内插误差会高一些。对于大多数设计人员而言,0.5°C的精度已足够,因此带有插值的5°C查找表就已足够。
PTC基于流经零件的实际电流,通常由公式定义。PTC基于三阶或四阶多项式。四阶多项式的精度曲线拟合(R2)为1.0000%至0.9999%,以提供温度信息。Steinhart Hart方程可由NTC和PTC使用,并采纳使用自然对数来计算温度的三阶多项式。Steinhart Hart方程式已为更多设计人员所认可,因为多年前其最初为NTC创建。如今,大多数高精度PTC都依赖于四阶多项式。
校准
所有NTC和PTC都需要校准才能精确。可购买一些具有更严格公差和Beta值的NTC。这似乎可以消除校准。但是,热敏电阻不是系统中唯一的组件。顶部电阻具有容差,且在整个温度范围内具有PPM,VCC在电压以及温度范围内存在电压误差。系统总精度可能超出预期范围,且精度可能并不能达到期望。
NTC通常需要进行三点校准以调整斜率误差,且需要进行偏移以校正总偏移误差。 因此,这需要温度箱和时间来收集整个温度的误差。首先,由于硅的工艺偏差,PTC将具有较大的偏移误差,但是可通过单个偏移调整在整个温度范围内对其进行校正。大多数情况下,在组装的最终编程过程中,偏移调整可于室温下进行,且无需温度箱或时间来进行校准。
结论
NTC和PTC因零件数量少、成本低都易于实现。但是,NTC可能将需要更昂贵的校准方法,且随时间推移具有更高的漂移。
PTC是进行温度测量的新方法。一个简易的失调校正是整个温度范围内所需的整个校准。PTC的精度非常精确,且温度测量值随时间和温度变化具有很小的漂移。
需要明确的是,NTC和PTC不是同一类型的组件,且很难仅通过阅读数据表进行直接比较。PTC不是电阻组件,大多数供应商建议仅使用恒流源来驱动它们。德州仪器(TI)创建了一个设计工具,以向设计人员展示如何在电阻分压器电路中使用其TMP61 系列 PTC。该工具包括一个计算阻力表,供那些习惯使用查找表的人使用。使用新的设计考虑因素和正确的计算方法,使得PTC比NTC具有更高的精度和稳定性。