温度传感器 - 从零开始认识各种传感器【第一期】
传感器系列百科第一期,带大家了解一下日常生活中常见的温度传感器,是如何工作原理的、都有哪些常见种类、并给大家实际演示如何通过MCU读取温度传感器数据。
标签
嵌入式系统
Lucia
更新2024-08-02
69

1、什么是温度传感器

温度传感器是指能感受温度并转换成电信号输出的传感器。在日常生活以及各个行业的应用场景中都需要用到温度传感器。温度传感器通常由温度感测元件和信号处理电路组成。

温度感测元件用于测量环境或物体的温度,比如热敏电阻、热电偶、红外温度传感器等。上图是一个汽车水箱的水温传感器示意图,图中左侧它的温度感测元件是一个热敏电阻,发动机温度的变化将导致热敏电阻值的变化,这个变化被发动机控制单元电路检测到后,再将这个电信号处理转换成温度值显示以及进行相应的处理。


2、温度传感器是如何工作的

其工作原理主要是基于材料的温度特性。当温度发生变化时,感温元件内部的电阻或电势也会发生变化,从而导致输出电信号的变化,这个电信号的变化由微控制器或其他设备读取处理后就可以表示出当前测试出来的温度。

我们还是以发动机冷却液的温度传感器来说明,当发动机温度升高时,由于热敏电阻的负温度特性,其电阻变小,流过的电流变大, 控制单元电路检测到电流的增大,将其转换显示为温度值的升高。


3、常见的温度传感器的种类

现代电子设备中最常使用的温度传感器有四种类型:热电偶、RTD(电阻温度检测器)、热敏电阻和基于半导体的集成电路 (IC)。

3.1 热电偶

热电偶(上图)是最常用的温度传感器类型,多用于各种工业、汽车和消费应用。具有无需供电,工作温度范围宽,响应速度快的特点。热电偶是热电传感器,它是由焊接或压接在一起的不同金属(例如铜和康铜)的两个接头组成。一个结保持在恒温,称为参考结或者冷结,而另一个为测量结,也叫热结。当两个结处于不同温度时,由于热电效应,会在参考结上产生电压差,测量此电压差就能计算出对应的温度。

3.2 电阻温度检测器RTD

任何金属的电阻会随着温度的变化而变化。电阻温度检测器RTD(上图),就是利用这个了原理. 它是一种特殊的电阻,其阻值会随着温度的升高而变大,随着温度的降低而减小,它主要用于-200—500℃温度范围内的温度测量。由于具有几乎线性的温度与电阻的关系,并且具有足够大的电阻温度系数,铂金是最常见也是最精确的用于制造 RTD 的材料。

3.3 热敏电阻

热敏电阻也是随温度变化的电阻(上图)。它和RTD的工作原理相同,但是制作材料不同,热敏电阻通常由陶瓷或聚合物材料制成,而RTD由纯金属制成。热敏电阻是高灵敏度和非线性的,而RTD相对不敏感但非常线性。因此,通常在高精度不重要的地方使用热敏电阻,而且由于其非线性。使用时需要进行校准。具有负温度系数的热敏电阻叫做(NTC),它们的电阻随着温度的升高而降低。具有正温度系数 的热敏电阻叫做(PTC)。比较常用的是NTC。

3.4 IC型温度传感器

IC 型温度传感器是利用晶体管的物理特性,比如CMOS管的PN结温度特性来制作的传感器。它具有集成度高,精度高,功耗低,响应快等优点。可广泛适用于工业、医疗、便携式设备、家用电器、可穿戴设备等方面。比如图6右边这款在分销商得捷电子网站上列出的这款微型温湿度传感器芯片,尺寸只有2毫米乘2毫米。

3.5 温度传感器特性对比

总结一下刚才介绍的四种常用温度传感器的特性对比,如上表所示。热电偶的应用温度范围最广,适合于极端温度的环境以及测试设备。热敏电阻具有快速响应高灵敏度,但是线性度差,适合吹风机,保护电路等应用。而RTD准确性最好,适合高精度测量。而芯片IC型温度传感器有良好的线性度以及支持数字接口,适合用于穿戴式设备场合。

3.6 红外温度传感器

另外从测量方式上还有非接触型的温度传感器,比如我们熟悉的红外测温计就是使用的红外辐射传感器来确定被测物体的温度。它通过检测物体放射出的红外辐射来确定其温度,因为物体的温度与其辐射的红外光谱有关。它可以使用TPIS 1S 1385 / 5029 这颗红外温度传感器来设计。


4、温度传感器实验演示

最后,我们来演示如何使用配备显示屏的树莓派读取温度传感器的数据并将结果显示出来。这里我们选用的是一款热敏电阻。树莓派MCU通过模拟接口读取到的数字进行数字化处理后,在显示屏上直观地显示出来。

主控板卡:基于RP2040的带屏调试助手

以下是主程序中对于温度传感器数据的获取代码示例。

from breakout_colourlcd240x240 import BreakoutColourLCD240x240
from machine import ADC, Pin, Timer, PWM
from utime import sleep
import time, math,array
#------------------------------------------------------------------
width = BreakoutColourLCD240x240.WIDTH
height = BreakoutColourLCD240x240.HEIGHT
display_buffer = bytearray(width * height*2)
display = BreakoutColourLCD240x240(display_buffer)

timer1 = Timer()

stemp = ADC(2)
current_temp = 0
#-------------------------------------------------------------------
def display_init():

display.set_pen(0,255,0)
display.rectangle(58,30,13,160)
display.circle(64,190,10)
display.set_pen(255,0,0)

display.text("current", 150, 20, 194, 2)
display.text("temp", 150, 35, 194, 2)
display.update()

for i in range(6):
display.set_pen(0,200,0)
display.pixel_span(80,27 + i*30,10)
display.text(str(50 - i *10), 100, 20+i*30, 194, 2)
display.set_pen(0,0,220)
if i < 5:
for j in range(4):
display.pixel_span(80,33 + j*6 + i * 30,5)
display.update()

#---------------------------------------------------------------------
def display_change(temp, color):
global current_temp
current_temp = temp
#print(temp)
display.set_pen(color[0], color[1], color[2])
display.rectangle(58,30,13,160)
display.circle(64,190,10)
display.set_pen(0,0,150)
display.rectangle(58,20,13,7+int((50-temp)/2)*6)
display.set_pen(0,0,0)
display.rectangle(150,50,90,40)
display.set_pen(0,255,0)
display.text(str(temp), 150, 50, 5, 5)
display.update()
#----------------------------------------------------------------------
#温度获取
def get_temp():

Analogvalue=stemp.read_u16()
voltage=100*float(Analogvalue)/65535

return voltage
#----------------------------------------------------------------------
def main():

color = [0,255,0]
timer1 = Timer()
display_init()
timer1.init(freq=5,mode=Timer.PERIODIC, callback=lambda t:display_change(round(get_temp(),1), color))

while True:
sleep(0.1)
main()
团队介绍
你了解生活中常见的各种传感器是如何工作的吗?本系列将选择30种不同类型的传感器,通过5分钟左右的视频和文章带你一步步了解每个传感器的内部结构和工作原理,并推荐选型和购买合适的传感器。
团队成员
硬禾学堂
硬禾核心团队举办实战培训营已有超过6年的经验。自成立起矢志建立专业化、系统化、工程化技能培训体系,以在工业界中的最佳实践为行业培养技术中坚和领军人才。 硬禾采用Project-Based Learning(PBL)项目制教学方法,在基于实际产品和项目的教学过程中借助短期的高强度、快节奏的系统性实战训练,让学员迅速积累优秀工程师应具备的专业技能、职业素养和全区思维,加速其职业成长。
得捷电子
DigiKey 总部位于美国明尼苏达州锡夫里弗福尔斯市,是全球电子元器件和自动化产品前沿商业分销领域公认的领航者和持续创新者。我们通过分销来自 2,900 多家优质品牌制造商的 1,530 多万种元器件获得了强大的技术优势,并凭借行业领先的产品存货广度和深度以及立即发货的能力,确立了我们在分销领域的领导地位。DigiKey 还为工程师、设计师、创建者和采购专业人员提供丰富的数字解决方案、无障碍互动和工具支持,以帮助他们提升工作效率。如需了解更多信息,请访问 www.digikey.cn 并关注我们的微信、微博、腾讯视频和 BiliBili 账号。
评论
0 / 100
查看更多
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2024 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号