01 DS18B20
把 DS18B20 放在第一位的主要原因是它太常用了,以至于我一想到温度传感器,首先在脑海里闪过的就是它。它几乎是很多电子工程师一入门就会接触的温度传感器。当然它这么流行是有一定原因的,下面就听我慢慢道来。
DS18B20 是美国 Dallas 公司推出的一款温度传感器。对于 Dallas 公司大家应该不会感到陌生,这家公司推出了很多明星产品,包括 DS18B20、DS12C887、DS1302 以及我们的矩阵 LED 时钟里面用的 DS3231 高精度 RTC 时钟芯片等。大家在搜索这些芯片的 datasheet 时会发现,上面除了 Dallas 标志外还有 Maxim 标志,因为它在 2001 年被美信收购了,现在是美信的全资子公司。
DS18B20 可以说是优点多多,体积小巧,测温范围广 -55℃~+125℃,精度在 -10℃~+85℃可以达到±0.5℃,分辨率可以设置到 12-bit,以及接线简单无需外围电路等等。鱼和熊掌不可兼得,单总线接线简单,但是其工作起来的时序却很复杂,信号传输只在微妙之间,稍有不慎(例如延时函数的使用不够恰当)就可能导致整个传感器的工作时序混乱。因此,在写 DS18B20 的控制程序时一定要弄清工作时序并使用合适的延时函数。之前我在一些跑了 RTOS 的低功耗系统中使用它就给软件工作增加了难度,这也导致我后来与之渐行渐远,用其他方案替代了它。
02 热敏电阻与热电偶
把热敏电阻和热电偶放在一起并不是说它们是一种东西,它们是不同的两种器件,放到一起是因为他们使用上有些类似,都需要加一些测温电路才能工作。热敏电阻顾名思义,是随着温度变化其阻值会发生相应变化的一类元器件。按照温度系数不同分为正温度系数热敏电阻器(PTC)和负温度系数热敏电阻器(NTC)。PTC 温度越高阻值越高,NTC 温度升高阻值降低。优点是价格便宜,我之前在一些需要控制成本恰巧又有 ADC 的项目中就会使用它。但是如果项目中没有空余的 ADC 或是根本没有 ADC,需要再单独为它加一片 ADC 的时候,其实就不太划算了。
热电偶的测温原理是利用导体的热电效应,简单的说就是不同的两种导体或半导体两端焊接在一起,形成一个闭环,当两个点之间存在温差时,就会产生热电动势,环路中有热电流流动。热电势随温度的升高而增大。热电势与导体材料有关,与两点温度有关,当材料固定不变,热电势就与温度有固定的函数关系。利用这个函数关系,就可以测出温度了。选择不同的材料就有不同的测温范围。优点是测量范围广,常用的热电偶从 -50~+1600℃均可连续测量, 某些特殊热电偶较低可测到 -269℃(如金铁镍铬), 较高可达 +2800℃(如钨 - 铼)。
热敏电阻和热电偶有一个同样的缺点就是需要额外的测量电路,这就比我们上面提到的 DS18B20 和后面要提到的这些集成式传感器要麻烦一些,而且精度一般,如果要实现高精度就需要加一些校准以及补偿,会增加一些成本。
03 TMP112
上面我在说 DS18B20 的时候提到其时序复杂,后来替换了它,替换它的就是 TMP112。这是德州仪器公司推出的一款数字温度传感器,接口为 I 2C。测温范围 -55°C~+150℃,精度在 0°C 至 +65°C 范围内为 0.5°C(最大值)。是热敏电阻很好的替代品。这款温度传感器还有一个特别吸引人的优点就是它的功耗,这也是我在项目里面使用它的一个很重要的原因,我那会所做的大多是低功耗项目,两节电池工作一两年的那种,所以它 10uA 的工作电流和 1uA 的关断电流就很有吸引力了,完全不需要再加外部开关控制,就可以实现低功耗。
但是随着时间的推移我又将它放弃而使用了新的温度传感器,放弃它的主要原因是它的封装。它只有一种封装,SOT563,尺寸为 1.6mm*1.2mm,实在是太小了,焊接麻烦,于是我换掉了它,这回又是哪个片子呢?
04 LMT84 和 TMP235
LMT84 和 TMP235 也是德州仪器推出的温度传感器,与上面的 TMP112 数字式温度传感器不同的是它俩都属于模拟式温度传感器。这两个中我最先使用的是 LMT84,当时是用在了石油探测传感器上面,石油钻井探测传感器与普通传感器最大的不同就是环境温度,地下上千米,温度极高,最低指标也得要求耐温到 150°C,这时仪器里面的温度传感器就尤为重要了,是其他传感器进行温度补偿的基础。我选择 LMT84 也是冒着一定风险的,在高温实验箱里面做了大量实验,最后确定其确实可以耐温到 150°C 稳定工作,短时间到 175°C 也没有出现问题。TMP235 就是后来的事情了,是我在无意中浏览 TI 官网时发现的,然后就立刻到得捷电子下单。选择它的原因是精度比 LMT84 要高一些 (TMP235A2 ±0.5°C),而价格却相差无几。在最近的一些项目中我都使用的它。
当年做的测试板
我热衷于 TI 的这类模拟式温度传感器的最主要原因是使用简单方便。它们比我上面提到的几种都要简单,只要系统中有 ADC 就可以直接来使用它们了,软件上无需复杂的校准程序,两三个公式全部搞定。硬件上也是只需要加一阻一容来滤个波就可以了。
05 AD590
AD590 是美国 ANALOG DEVICES 公司的单片集成两端感温电流源,其输出电流与绝对温度成比例。在 4V 至 30V 电源电压范围内,该器件可充当一个高阻抗、恒流调节器,调节系数为 1 µA/K(注意是开尔文)。
对于 AD590 一个很大的优点就是稳定,这是一个被广泛用于石油探测等环境恶劣领域的温度传感器,使用上较我上面提到的两款传感器是要麻烦一些的。它的温度测量范围很广,官方标称 -55℃~+150℃,实际使用上我做过大量实验,它确实是可以稳定工作到 175℃(同时搭配其他耐高温器件),这也是为什么这些高温场合选择它的原因。这里贴出我使用它的电路。
06 总结
由于文章篇幅的原因我就介绍到这里,其实还有很多优秀的温度传感器我没有介绍到,大家可以在留言区补充,这样大家一起学习一起进步。选择温度传感产品也许看似小事一桩,但由于可用的产品多种多样,选择到一款价格符合预算、功能符合要求、设计简单方便的传感器就是显得不那么容易了。