红外温度传感器使用全解析

电子说

1.4w人已加入

描述

红外温度传感器使用全解析

在电子工程领域,温度测量一直是一个关键的环节。而非接触式红外温度传感器凭借其独特的优势,在众多应用场景中得到了广泛的应用。今天,我们就来详细探讨一下这款红外温度传感器(型号为MLX90614ESF - BCC)的相关内容。

文件下载:Infrared Temperature Sensor.pdf

产品亮点剖析

这款传感器是一款非接触式红外温度传感器,它能够依据被测物体的红外辐射能量大小和波长分布,精准检测物体的表面温度。它的主要特点如下:

  1. 高精度与高分辨率:集成了低噪声放大器、17 位模数转换器和强大的数字信号处理单元,实现了高精度和高分辨度的温度测量。其分辨率可达 0.02°C,在 0 - 50°C 范围内精度能达到±0.5°C。这在很多对温度精度要求较高的应用场景中至关重要,比如工业温度控制场景,能否精确控制温度可能直接影响产品的质量。
  2. 快速响应与校准完善:具备快速的响应时间,且出厂自带校准,还带有温度梯度补偿功能,这大大减少了我们在使用过程中的校准工作量,提高了测量的可靠性。
  3. 便捷的电平转换与适配:内置电平转换电路,可直接接入 3.3V 或 5V 的 MCU 系统,降低了硬件设计的复杂度。这对于一些小型项目或者对成本和空间有严格要求的设计来说,无疑是个很大的优势。

参数详情一览

电气与工作参数

  • 工作电压范围为 3.3V - 5V,这种较宽的电压范围使得它在不同的电源环境下都能稳定工作。
  • 环境温度测量范围是 - 40°C - 85°C,物体温度测量范围为 - 70°C - 380°C,能够满足大多数工业和民用场景的温度测量需求。

    其他关键参数

  • 视场角(FOV)为 35°,这决定了传感器能够有效测量的范围。
  • 产品尺寸为 28mm x 16mm,固定孔尺寸为 2.0mm,小巧的尺寸方便在各种设备中进行安装和布局。

通讯方式解读

该模块支持 PWM 和 SMBus 两种通讯方式,这里着重介绍 SMBus 接口通讯。SMBus 是一种两线制接口,基于 I2C 总线原理演变而来,可以看作是简化版的 I2C 总线。在数据传送过程中,它有开始信号、结束信号和应答信号三种类型。具体如下:

  • 开始信号:当 SCL 为高电平时,SDA 由高电平向低电平跳变,此时开始传送数据。这是数据传输开始的标志,就像一场演出的开场锣声。
  • 结束信号:当 SCL 为高电平时,SDA 由低电平向高电平跳变,表示结束传送数据。这就相当于演出结束的谢幕。
  • 应答信号:主机(从机)接收到从机(主机)的 8bit 数据后,需要向对方发送应答信号,即把 SDA 拉低一个完整的 SCL 周期,使对方知道数据发送是否成功。这就好比演员在舞台上表演后,观众给予掌声反馈一样。

总线协议与读写时序

SMBus 总线协议

在从机接收到每 8 位数据后,会回复 ACK/NACK 信息。主机初始化通信时,会先发送从机的地址,只有能识别该地址的从机才会确认,其他从机则保持沉默。如果从机未确认其中的任意字节,主机应停止通信并重新发送信息。PEC 的计算结果基于除 START、REPEATED START、STOP、ACK 和 NACK 位外的所有位,它是 CRC - 8 的多项式 X8 + X2 + X1 + 1,每个字节的最高有效位首先传送。这一系列的规则确保了数据传输的准确性和可靠性。

读写时序

  • 读数据时序:主机会先发送一个 Start 信号,然后将从机的 7 位地址与“读”操作位组合成 8 位的数据发送给从机,从机响应 ACK 后,主机再发送 8 位格式的命令,从机再次发送 ACK。接着主机重新发送一个 Start 信号,再次发送组合数据,从机发送 ACK 后将寄存器中的值发送给主机,主机每接收到一个字节数据后回应 ACK,最后收到 PEC 后回应 ACK 并发送 Stop 信号结束通信。
  • 写数据时序:主机先发送 Start 信号,将从机的 7 位地址与“写”操作位组合成 8 位的数据发送给从机,从机响应 ACK 信号。主机再发送 8 位格式的命令,从机发送 ACK 信号,然后主机依次发送低字节数据、高字节数据和 PEC 字节数据,每收到从机的 ACK 后再发送下一个数据,最后主机发送 Stop 信号结束通信。

寄存器与命令格式

寄存器

  • RAM 寄存器:有多个不同功能的寄存器,如环境温度寄存器地址为 0x06,物体温度寄存器地址为 0x07 等。这些寄存器存储着各种与温度测量相关的数据。
  • EEPROM 寄存器:可用于存储一些配置信息,如 SMBus 地址等。当需要用同一总线操作多只 MLX90614 时,可以修改 EEPROM 中的从机地址。

    命令格式

    操作码分为访问 RAM 和 EEPROM 两种,访问 RAM 的操作码是 0x00,访问 EEPROM 的操作码是 0x20。一般情况下,我们只需要从 RAM 中读取温度,不需要访问 EEPROM。例如,访问 RAM 中的环境温度寄存器,命令为 0x00 | 0x06 = 0x06;访问 RAM 中的物体温度寄存器,命令为 0x00 | 0x07 = 0x07。

使用方法与测量原理

使用方法

以 STM32 和 Arduino UNO 开发板为例,介绍了如何连接传感器和进行程序的编译、下载以及串口监视软件的设置。通过这些步骤,我们可以方便地获取传感器测量的温度数据。例如,将传感器探头正对着热源(如手掌),串口便会打印出对应的环境温度和物体温度读数。

测量原理

视场(FOV)是一个重要的概念,它是由温差电堆接收到 50%的辐射信号来确定的,并且和传感器的主轴线相关。测得的温度是视场内被测物体的温度加权平均值,所以当被测物体完全覆盖 FOV 视场时,测量的准确度最高。对比不同型号(如 BCC 和 BAA)的传感器发现,FOV 越小,测温的距离和准确度就越好。这就好比我们用相机拍照,视角越窄,聚焦的主体就越清晰。

这款红外温度传感器在高精度非接触温度测量、工业温度控制、带温度控制的家用电器等领域有着广阔的应用前景。通过深入了解其产品特点、参数、通讯方式、总线协议、寄存器和命令格式以及使用方法和测量原理,我们能够更好地将其应用到实际项目中。大家在实际使用过程中,有没有遇到过一些特殊的问题呢?欢迎在评论区分享交流。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分