|
在本篇文章中,我们将介绍如何使用MLX90614红外温度传感器和Arduino开发板制作非接触式红外测温仪。该测温仪可以在0.96寸OLED显示屏上显示温度读数。在之前的帖子中,我们使用了DS18B20、LM35和MAX6675 等温度传感器。但是,这些温度传感器仅在直接在其表面上施加热量时才感应温度。但是,如果您想测量非常热的物体,则不能依赖这些传感器。
我们需要一些可以在没有任何接触的情况下测量温度的传感器,通过红外感应温度是最好的方法。为此,我们可以选择Melexis公司的MLX90614红外温度传感器用于该项目。MLX90614传感器使用非接触式温度感应来测量温度数据,而无需与物体表面进行任何物理接触。
在本文中,我们将MLX90614传感器与Arduino开发板连接,然后使用激光二极管将传感器指向特定物体。MLX90614的刷新率和灵敏度非常高,可以在几分之一秒内给出读数。您可以使用MLX90614测量机器、火焰、热铁、设备CPU等热物体的温度。MLX90614也可以用作测量体温的红外温度计。由于COVID-19,对这种传感器的需求在过去几个月内有所增加。MLX90614传感器需要在Arduino代码中进行一些校准,我们将在本文中学习。
所需的组件 ● Arduino Pro Mini开发板 ● MLX90614非接触式温度传感器 ● 0.96寸I2C OLED显示屏 ● 激光二极管模块 ● 3.7V、1000mAh锂离子电池 ● 连接跳线 ● 开关
MLX90614非接触式红外温度传感器
MLX90614是一款用于非接触式温度测量的红外温度计,能够测量-70至380°C之间的物体。该传感器采用红外敏感热电堆探测器芯片,信号调理ASIC集成在一个芯片中。该温度计出厂时已通过数字SMBus输出校准,可在温度范围内以0.02°C的分辨率测量温度。尽管它适用于SMBus协议,但也可以与I2C引脚一起使用。
MLX90614的引脚配置
MLX90614传感器有4个引脚。传感器的工作电压为3.6V至5V。采用I2C接口,包含SDA和SCL引脚。SDA是串行数据引脚,SCL是用于I2C通信的串行时钟引脚。
规格参数 1. 工作电压:3.6V至5V 2. 供电电流:1.5mA 3. 物体温度范围:-70°C 至 382°C 4. 环境温度范围:-40°C 至 125°C 5. 精度:0.02°C 6. 视野角度:80° 7. 物体与传感器之间的距离:约。 2cm-5cm
MLX90614的工作原理 如前所述,MLX90614传感器无需任何物理接触即可测量物体的温度。这通常可以通过称为Stefan-Boltzmann定律实现,该定律指出每个物体和生物都会发射红外能量,因此这种发射的红外能量的强度将与该物体或生物的温度成正比。因此,MLX90614传感器通过测量物体发出的红瓦能量来计算物体的温度。
MLX90614的应用 1. 高精度非接触式温度测量 2. 移动空调控制系统的热舒适度传感器 3. 住宅、商业和工业建筑空气温度传感元件 4. 汽车死角检测 5. 运动部件的工业温度控制 6. 医疗保健 7.. 牲畜监测 8. 运动检测 9. 热继电器/警报 10. 体温测量
使用MLX90614传感器和Arduino的红外测温仪的电路图 下面给出了使用MLX90614传感器、Arduino开发板、OLED显示屏和电池制作红外测温仪的电路图。
该电路基于Arduino Pro Mini开发板,由于尺寸小而紧凑,因此使用该板。 Arduino Pro Mini开发板有2个版本,其中一个工作在5V、16MHz,另一个工作在3.3V、8 MHz。当您使用3.7V锂离子电池为设备供电时,您可以选择3.3V、8MHz的Arduino Pro Mini开发板。RAW引脚通过按钮开关直接连接到电池VCC引脚。
要指向物体,您可以使用激光二极管模块。激光二极管模块是一种低成本的模块,波长为650nm,工作电压为3V-5V。激光头由发光管、聚光镜、可调铜套组成。接上直流电源后即可直接工作。在电路中,我们将激光二极管输出引脚连接到Arduino Pro Mini的D12。
MLX90614非接触式红外温度传感器和0.96寸I2C OLED显示屏连接到Pro Mini开发板的I2C引脚。SDA和SCL引脚分别连接到Pro Mini开发板的A4和A5。OLED显示屏和MLX90614都工作在3.3V,因此它们的VCC可以连接到Pro Mini开发板的3.3V。
测温仪的3D外壳设计 为了制作测温仪,我们使用了使用3D建模软件设计的外壳。外壳涉及两部分。顶部由一个长方体组成,可以放置包括Arduino Pro Mini、OLED显示屏、锂离子电池、激光二极管和MLX90614传感器在内的整个组件。测温仪的外尖部分有两个孔。一个孔用于MLX90614 红外温度计,另一个用于激光二极管。
测温仪的底座可以通过胶水连接到顶部。如果您不想要锂离子电池,可以将小电池放在底座中。开关也被添加到用于打开或关闭整个电路的底座上。
从此链接下载外壳的STL文件:Thermal Gun
首先将所有组件连接到Arduino Pro Mini开发板,然后将整个组件放入3D外壳内,如下图所示。
在3D模型的底座,连接并拧紧开关。这部分可以用手按住,您只需将测温仪放在手上即可按开/关按钮。
MLX90614的Arduino 库 Arduino IDE需要MLX90614库实现MLX90614与Arduino开发板连接。Sparkfun和Adafruit都提供了MLX90614传感器相关的库。MLX90614库是通过2线类I2C接口 (SMBus) 与MLX90614非接触式红外温度计连接的库。
您可以使用其中的任意一个库用于连接应用程序。该库有一个用于将MLX90614传感器与Arduino连接的示例代码。传感器经过工厂校准,因此它就像一个即插即用的传感器模块,可加快开发过程。 1. 下载Adafruit MLX90614库 2. 下载Sparkfun MLX90614库
本文使用的是Adafruit MLX90614库。
红外测温仪的代码 下面给出了Arduino使用MLX90614传感器的代码序。要将代码上传到Arduino Pro Mini开发板,您需要USB-TTL转换器模块(FTDI 模块)。
除了MLX90614库,您还需要OLED显示屏库。SSD1306 OLED显示屏需要两个库。您可以从下面的链接下载这些库。 1. Adafruit SSD1306库 2. Adafruit GFX库
测试Arduino红外测温仪 使用FTDI模块将代码上传到Arduino Pro-Mini开发板后,即可进行测试设备。现在,通过按下按钮开关打开电源。开机后,设备需要5秒钟的时间进行初始化。初始化完成后,将打开激光,OLED显示屏开始显示温度。
现在您可以使用激光指向人体前额或者其他身体部位,OLED显示屏将快速显示温度,因为它具有快速响应输出。
以上就是使用MLX90614红外温度传感器和Arduino开发板制作非接触式红外测温仪的步骤,如果您有任何疑问,可以随时在本帖下面回复。
|