风筝
发表于: 2022-4-18 14:40:55 | 显示全部楼层

在本篇文章中,我们将介绍如何使用MLX90614红外温度传感器和Arduino开发板制作非接触式红外测温仪。该测温仪可以在0.96寸OLED显示屏上显示温度读数。在之前的帖子中,我们使用了DS18B20、LM35和MAX6675 等温度传感器。但是,这些温度传感器仅在直接在其表面上施加热量时才感应温度。但是,如果您想测量非常热的物体,则不能依赖这些传感器。


我们需要一些可以在没有任何接触的情况下测量温度的传感器,通过红外感应温度是最好的方法。为此,我们可以选择Melexis公司的MLX90614红外温度传感器用于该项目。MLX90614传感器使用非接触式温度感应来测量温度数据,而无需与物体表面进行任何物理接触。

MLX90614-infrared-temperature-sensor.jpg


在本文中,我们将MLX90614传感器与Arduino开发板连接,然后使用激光二极管将传感器指向特定物体。MLX90614的刷新率和灵敏度非常高,可以在几分之一秒内给出读数。您可以使用MLX90614测量机器、火焰、热铁、设备CPU等热物体的温度。MLX90614也可以用作测量体温的红外温度计。由于COVID-19,对这种传感器的需求在过去几个月内有所增加。MLX90614传感器需要在Arduino代码中进行一些校准,我们将在本文中学习。


所需的组件

●    Arduino Pro Mini开发板

●    MLX90614非接触式温度传感器

●    0.96寸I2C OLED显示屏

●    激光二极管模块

●    3.7V、1000mAh锂离子电池

●    连接跳线

●    开关

components-required.jpg


MLX90614非接触式红外温度传感器

MLX90614.jpg


MLX90614是一款用于非接触式温度测量的红外温度计,能够测量-70至380°C之间的物体。该传感器采用红外敏感热电堆探测器芯片,信号调理ASIC集成在一个芯片中。该温度计出厂时已通过数字SMBus输出校准,可在温度范围内以0.02°C的分辨率测量温度。尽管它适用于SMBus协议,但也可以与I2C引脚一起使用。


MLX90614的引脚配置

MLX90614-Pinout-Configuration.jpg


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-MLX90614-Circuit.jpg


该电路基于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。

Laser-Diode.jpg


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 红外温度计,另一个用于激光二极管。


测温仪的底座可以通过胶水连接到顶部。如果您不想要锂离子电池,可以将小电池放在底座中。开关也被添加到用于打开或关闭整个电路的底座上。

Thermal-Gun-stl.jpg


从此链接下载外壳的STL文件:Thermal Gun


首先将所有组件连接到Arduino Pro Mini开发板,然后将整个组件放入3D外壳内,如下图所示。

mlx90614-infrared-temperature-sensor-arduino.jpg


在3D模型的底座,连接并拧紧开关。这部分可以用手按住,您只需将测温仪放在手上即可按开/关按钮。

mlx90614-infrared-thermometer.jpg


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显示屏将快速显示温度,因为它具有快速响应输出。

Interfacing-MLX90614-with-Arduino.jpg


以上就是使用MLX90614红外温度传感器和Arduino开发板制作非接触式红外测温仪的步骤,如果您有任何疑问,可以随时在本帖下面回复。


跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 705 | 回复: 1492



手机版|

GMT+8, 2024-11-7 23:45 , Processed in 0.069659 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表