如何使用MLX90614制作非接触式红外温度计

发布者:MusicLover123最新更新时间:2023-10-08 来源: elecfans关键字:MLX90614  非接触式  红外温度计 手机看文章 扫描二维码
随时随地手机看文章

  在调试电子电路或测试新的硬件设计时,我经常倾向于通过触摸它们来检查板上的组件是否异常变热。如果出现问题(通常是第一次尝试),这些组件可能会变得高达 80°C 或更高,不仅会烧毁组件,还会烧毁我的手指。在烧伤手指的次数比我记得的要多之后,我决定使用 Arduino 和红外温度传感器构建自己的温度枪。这款热枪将使用名为MLX90614的非接触式温度传感器制造; 因此,它不仅可以用于测量组件温度,还可以用于测量体温、表面温度、热通风等。当然,这些热敏枪在市场上很容易从 Fluke、Flir 等知名制造商那里买到。但它们并不容易放在你的口袋里,而且最重要的是,这比构建自己的小工具更有趣。


  所需材料

  Arduino Pro 迷你

  MLX90614 红外温度传感器

  OLED 显示屏 – SSD1306

  激光二极管

  9V电池

  按钮

  电池夹

  连接线

  MLX90614 红外测温仪


  在继续本教程之前,了解 MLX90614 传感器的工作原理非常重要。市场上有许多温度传感器,我们一直在将DHT11 传感器和LM35广泛用于许多必须测量大气湿度或温度的应用。


  在这里,对于热敏枪,我们需要一个传感器,它可以感应特定物体(不是环境)的温度,而无需直接与物体接触。为此,我们有接触较少的温度传感器,它利用激光或红外线来计算物体的温度。MLX90614 就是这样一种传感器,它使用红外能量来检测物体的温度。


  MLX90614传感器是迈来芯微电子集成系统制造的,它内置了两个器件,一个是红外热电堆探测器(传感单元),另一个是信号调理DSP器件(计算单元)。它基于Stefan-Boltzmann 定律工作,该定律指出所有物体都会发射 IR 能量,并且这种能量的强度将与该物体的温度成正比。传感器中的传感单元测量目标物体发射了多少红外能量,计算单元使用 17 位内置 ADC 将其转换为温度值,并通过I2C 通信输出数据协议。传感器测量物体温度和环境温度以校准物体温度值。


  MLX90614 红外温度传感器特性:

  工作电压:3.6V 至 5V

  物体温度范围:-70°C 至 382.2°C

  环境温度范围:-40°C 至 125°C

  分辨率/准确度:0.02°C

  传感器和物体之间的距离应该是多少?

  数据表没有直接回答的一个问题是传感器和物体之间的测量距离。该距离的值由术语视野 (FOV)给出,对于我们的传感器,视野约为 80°。

pYYBAGMN3MiAXYNgAAB2S9ih0Mk579.png

  您可以将感应范围从传感器的点看成锥形,如上图所示。因此,当我们远离测量对象时,感应区域会增加两倍。这意味着我们距离物体每移动 1 厘米,感应区域就会增加 2 厘米。在我们的热枪中,我们在传感器顶部放置了一个激光二极管,以了解传感器的感应区域当前指向的位置。我发现如果枪指向距离物体 2 厘米的地方,这些值是可靠的,并且随着我们离开,精度会下降。


  Arduino MLX90614温度计电路图

  红外线温度计的电路图非常简单。完整的电路如下所示,它是使用 Fritzing 软件创建的。

pYYBAGMN3MSAPp-dAAH5QsDlnoA307.png

  由于 Fritzing 软件不支持 MLX90614 传感器的部件,我们使用注释来提及其连接,如上所示,我们还使用红色 LED 代替激光二极管。整个电路通过一个按钮由 9V 电池供电。当按下按钮时,9V 电池连接到 Arduino 的 RAW 引脚,然后使用板载稳压器将其调节为 5V。然后使用这个 5V 为 OLED 模块、传感器和激光二极管供电。

poYBAGMN3MCAZ-M9AASWV35WN4E279.png

  我们已经学习了如何将SSD1306 OLED 与 Arduino连接,此处将使用相同的硬件和代码。如果您需要更强大的激光束,您也可以设计一个单独的激光二极管驱动电路。

  温度枪外壳设计

  为了使项目更有趣和更实用,我们为我们的热敏枪进行了 3D 建模和打印外壳。该设计包括两个部分,一个是顶部,作为枪身,装有 Arduino 控制器、OLED、传感器和激光二极管。另一个是底部,用作容纳电池和按钮的枪的手柄。此处的按钮用作触发器。该模型如下所示。

pYYBAGMN3LyAb0CWAAEB6pM53Qo230.png

  设计文件可从thingiverse 下载;您可以下载设计并使用 3D 打印机进行打印,也可以根据需要进行修改。下载链接如下

  3D打印外壳:

  然后将该模型保存为 STL 文件并使用 Cura 转换为 G 代码。我用我的 Tevo tarantula 打印机打印了我的两个零件,然后将它们拧在一起。如果您的打印机支持,也可以将这两个部分打印为单件。我打印的切片设置如下所示

poYBAGMN3LiAbfi3AADu7QGo9pQ995.png

  我花了将近 6 个小时来打印这两个部件,一旦打印了硬件连接,我就分别使用传感器和 OLED 显示器的 7 针和 4 针 Relimate 连接器 (RMC) 直接将电线直接焊接到 Arduino 针上。然后使用螺钉将 OLED 安装在印刷部件中,同时使用热胶安装传感器和激光二极管。然后将电源引脚(Raw,Gnd)通过一根电线向下滑动,用于由按钮和电池组成的手柄部分。然后通过按钮将这些电线连接到电池。组装完成后,热枪如下所示

pYYBAGMN3LSAciXrAANZQOCLHOQ213.png

poYBAGMN3LGAChbLAAK53_JXin0444.png

  您可以继续为顶部设计封面,但我决定将其保持打开状态,以便以后如有需要可以对其进行调整。

  Arduino MLX90614 红外温度计编程

  Arduino 程序应从 MLX90614 读取温度值并将其显示在 OLED 显示屏上。幸运的是,该程序将非常简单,因为Adafruit 为我们提供了一个库,可以轻松地从 MLX90614 读取数据。

  该链接会将库下载为 ZIP 文件夹。下载后,按照命令Sketch -》 Include Library -》 Add .ZIP Library将其添加到 Arduino IDE并浏览此 ZIP 文件的位置。还要确保您已遵循OLED 与 Arduino 接口的教程,以便您也安装了 OLED 显示模块所需的库。添加库后,我们可以开始我们的程序,该项目的完整程序可以在此页面底部找到。这里将用小片段解释相同的程序。

    像往常一样,我们通过添加所需的库文件开始程序。这里 Wire 库(内置)用于使用 I2C 协议进行通信,SparkFunML90614 库用于与传感器进行通信。SPI、GFX 和 SSD1306 库用于通过 4 线 SPI 协议与 OLED 显示模块进行通信。

  #include 《Wire.h》

  #include 《SparkFunMLX90614.h》

  #include 《SPI.h》

  #include 《Adafruit_GFX.h》

  #include 《Adafruit_SSD1306.h》

  然后,我们定义我们已建立连接的 OLED 显示器的引脚。由于该模块与 SPI 一起使用,我们使用了 Arduino 的 SPI 引脚。有些 OLED 显示器也适用于 I2C 协议,但我们不能在这里使用它们,因为 I2C 引脚已经被温度计传感器占用。

  #define OLED_MOSI 9

  #define OLED_CLK 10

  #define OLED_DC 11

  #define OLED_CS 12

  #define OLED_RESET 13

  Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

  在void setup()函数中,我们使用我们之前创建的对象therm初始化用于调试的串行监视器以及 IR 温度传感器。在印度,最受关注的温度单位是摄氏度(摄氏度),因此我们使用TEMP_C设置了单位,如果您需要将值设为华氏 (F),您也可以将其更改为TEMP_F 。最后我们初始化OLED显示屏并清除它的显示。此外,OLED 屏幕可旋转 180 度,以便于安装在外壳中。

  无效设置()

  {

  序列。开始(9600);

  热。开始();

  therm.setUnit(TEMP_C);

  display.begin(SSD1306_SWITCHCAPVCC);

  display.clearDisplay();

  display.setRotation(2);

  }

  在循环函数内部,我们从传感器读取温度值并将其转换为字符串以显示在 OLED 显示屏上。我们还在串行监视器上打印了该值以进行调试。我们还增加了一个名为 runner 的变量,每次成功更新温度传感器的值时,它都会在屏幕上产生一个小动画,这将有助于我们了解读数是否由于某种原因而卡住。

  if (therm.read()) // 成功时,read() 将返回 1,失败时返回 0。

  {

  temperature = String(therm.object(), 2);

  Serial.print(“对象:”);

  串行打印(温度);Serial.println(“C”);

  display.clearDisplay();

  亚军++;

  延迟(5);

  }

  测试 Arduino 热枪

  一旦 Arduino 代码准备就绪,我们可以使用外部 TTL 编程器或 FTDI 板将其上传到我们的硬件,因为 pro mini 没有板载。然后只需按下按钮触发热敏枪,您会注意到激光束落在物体上,并且物体的温度显示在 OLED 屏幕上,如下图所示。在这里,我用它来测量激光束指向的组件的温度。

pYYBAGMN3KuAejLUAAXGeXlcEnw042.png

  热风枪还在烙铁、3D打印机喷嘴、冰块等上进行了测试,观察到了令人满意的结果。

Arduino MLX90614 非接触式温度计

MLX90614 I2C 连接

OLED 4 线 SPI 的代码连接

日期:2019 年 7 月 6 日

代码作者:Aswint Raj

**********************************/


#include

#include


#include

#include

#include


// 如果使用软件 SPI(默认情况):

#define OLED_MOSI 9

#define OLED_CLK 10

#define OLED_DC 11

#define OLED_CS 12

#define OLED_RESET 13

Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);


IRTherm 热;


无效设置()

{

序列.开始(9600);

热.开始();

therm.setUnit(TEMP_C);


display.begin(SSD1306_SWITCHCAPVCC);

display.clearDisplay();

display.setRotation(2);



}


字符串温度;

字符亚军;


void loop()

{

if (therm.read()) // 成功时,read() 将返回 1,失败时返回 0。

{

temperature = String(therm.object(), 2);

Serial.print("对象:");

串行打印(温度);Serial.println("C");

display.clearDisplay();

亚军++;

延迟(5);

}


display.setTextSize(2);

display.setTextColor(白色);

display.setCursor(display.width()/4,display.height()/12);



if (therm.object()>=100)

display.setCursor(display.width()/4,display.height()/12);



display.println(温度);


display.drawLine(display.width()/runner,display.height() - display.height()/2.5, display.width()/runner+1, display.height() - display.height()/2.5,白色的);


display.setCursor(0,display.height()-display.height()/4);

display.setTextSize(1);

display.println("Arduino Thermlgun");

display.setCursor(display.width()- display.width()/4,display.height()/12);

display.println("摄氏度");

显示.显示();


如果(跑步者> 20)

跑步者= 0;

}


关键字:MLX90614  非接触式  红外温度计 引用地址:如何使用MLX90614制作非接触式红外温度计

上一篇:常用流量计的选用原则
下一篇:容积式流量计、靶式流量计和转子流量计的优缺点分析

推荐阅读最新更新时间:2024-11-11 14:20

Keyssa及睿思科技携手为 USB Type-C 连接推出非接触式替代方案
美国加利福尼亚州坎贝尔市(Campbell, Calif.)-2016年10月-高速非接触式连接技术领导厂商Keyssa与高速连接芯片及解决方案领先开发商睿思科技 ( Fresco Logic ) 日前宣布:业界首款可在移动设备和笔记本电脑中替代 USB Type-C 连接的非接触式解决方案现已上市。全新非接触式解决方案可在完全没有机械连接器的情况下,实现机械式 USB Type-C 连接器的主要优点,包括针对高速数据传输的多协议支持、高分辨率视频文件的流传输,以及在设备间输入输出USB电源的快速充电协议的管理能力(包括从默认的3A 5V到用于100W充电的5A 20V)。此外,这种非接触式连接器还支持包括 I2C 和 GPIO 等
[嵌入式]
13.56MHz非接触式读卡芯片DP1332E高度集成
DP1332E是一个高度集成的非接触读写芯片,它包含80C51微控制器内核,集成了13.56MHz下的各种主动/被动式非接触通信方法和协议。DP1332E有丰富的通讯接口和多协议集成优势,支持ISO/IEC18092,可以极大减少研发成本,高效、灵活的推动项目落地。 工作模式: 读写器模式,支持ISO/IEC14443A/MIFARE机制 读写器模式,支持FeliCa机制 读写器模式,支持ISO/IEC机制 卡操作模式,支持ISO14443A/ MIFARE机制 卡操作模式,FeliCa机制 ISO/IEC18092,ECM340点对点 特性: 带40kB ROM和1kB RAM的80C51微控制器内核 高度集成的模拟电路,解
[单片机]
13.56MHz<font color='red'>非接触式</font>读卡芯片DP1332E高度集成
新日本无线推出用于非接触式感应按钮的反射式光电传感器
新日本无线最新推出用于非接触式感应按钮的 反射式光电传感器NJL5830R已经开始发布样片 新日本无线最近开发了一款反射式光电传感器NJL5830R可用于非接触式感应按钮,并宣布已经开始发布样片。 【概要】 NJL5830R是集成了高输出红外线LED和受光IC的反射式光电传感器。 该传感器不光用于单个按钮,即使是邻接联排按钮的装置也可以非接触操作。 公共场所里触摸频率较高的装置按钮可实现非接触式操作,为预防病菌感染和改善卫生环境做出了贡献。 新日本无线今后将持续推出非接触式光电传感器系列产品。 【产品特点】 1. 现有按钮可以改进为非接触式 NJL5830R是可以让各种按钮实现非接触式使用的反射
[传感器]
新日本无线推出用于<font color='red'>非接触式</font>感应按钮的反射式光电传感器
小家电管道缺水检测传感器(非接触式
管道式液位传感器分为两种,一种是接触式,一种是非接触式。 夹管式管道液位传感器属于非接触式的,特点是不受液体颜色、腐蚀性、密度、温度影响,因此可用于 检测 清水,也可检测污水。将传感器将水管卡进传感器后,传感器线材连接控制板后,即可检测传感器所在位置的管道内是否有液体。 夹管式管道液位传感器不接触液体,因此用于咖啡机、净水器、饮水机类 产品 实现缺水提醒,更卫生。也可以用于洗地机、扫地 机器人 等设备上检测污水箱是否满水。管道液位传感去用于检测缺水结构会比较简单,在机体上设计一个凸起,在水箱底部对应的位置上设计成弹簧式的结构,水箱放入后机器上后,水箱底部弹片被顶起。水泵启动时水箱的水会通过水管流到备用水箱/出水口等位
[嵌入式]
小家电管道缺水检测传感器(<font color='red'>非接触式</font>)
MLX90614红外测温模块程序
MLX90614ESF+传感器+红外非接触温度测量传感器模块程序源代码,用msp430的单片机 电路原理图如下: 单片机源程序如下: //***************************************************************************** // MSP430x42x0 Demo - SD16_A, LCD //***************************************************************************** //MLX90614 Pin Config //GND-----6.0.....I/O supp
[单片机]
<font color='red'>MLX90614</font><font color='red'>红外</font>测温模块程序
使用奥地利微电子AS3911阅读器芯片的新款非接触式支付终端获得EMV认证
中国,2013年4月23日——领先的高性能模拟IC和传感器供应商奥地利微电子公司(SIX股票代码:AMS)宣布NBS支付方案使用奥地利微电子AS3911阅读器芯片的一系列新支付终端获得EMV认证。 NBS支付方案(NBSPS)的510和710系列NOIRE终端现可使用具有万事达、PayPass和 Visa payWave标志的非接触式卡接受支付。 NBSPS终端内的AS3911 RFID阅读器芯片具有射频和模拟前端,可读取满足EMV标准要求的任何非接触式支付卡。由奥地利微电子开发的参考设计,与最先进的非接触式支付系统非常类似,为希望生产满足EMV认证终端的制造商提供现成的蓝图。 由于AS3911具有高(1 W)射频差分输出功
[半导体设计/制造]
全新非接触式电流探头瞄准先进电源设计
Power Electronic Measurements(PEM UK)推出其针对非接触式电流测量的最新一代Rogowski线圈,它适用于监测当今最先进的电源系统和半导体。全新CWT超微型探头小于电流范围,具有较高的最大频率,并增加了更宽工作温度范围内的稳定性。   CWT超微型电流传感器是一个功能强大的开发或诊断仪器,可检查开关波形、纹波电流、瞬态或谐波。-40℃至+125℃的扩展温度范围和50ppm/℃的改善温度系数有助于精确测量由于高功率密度在温升条件下运行的系统。此外,30MHz较宽的3dB带宽使工程师能够分析在高开关频率下工作的系统的高次谐波。   该线圈的横截面为1.6mm,有助于用户对难以进入的位置进行测量
[电源管理]
全新<font color='red'>非接触式</font>电流探头瞄准先进电源设计

推荐帖子

求助!(高手帮一下小弟,谢谢啦!!)
我在做一个关于单片机和Q2358制作无线公话的毕业设计(硬件设计),那个高手指教一下单片机用80C51,外围电路有,看门狗电路,液晶显示电路,电源电路等Q2358的外接电路有……,那个大哥给我点资料,我自己学习,很急,谢谢!11我的油箱是03020822@sohu.com求助!(高手帮一下小弟,谢谢啦!!)看门狗电路max813液晶显示电路12864c电源电路7805Re:求助!(高手帮一下小弟,谢谢啦!!)
cat888 单片机
求助,网关模块配置问题!
目前我想通过lora模组跟网关连接,如果我的模组配置是这样的,AT+BAND=6;AT+FREQ=1,8,470300000;AT+FREQ=3,8,500300000;AT+OTAA=1;AT+RX2=0,500300000;AT+CLASS=2;AT+JOIN=6;AT+SAVE;,那请问网关需要怎么配置,就是global_conf.json文件中的代码。求助,网关模块配置问题!想通过lora模组跟网关连接,需要找global_conf.json文件中的代码,用的是哪家的模组套件
东胜物联 无线连接
电源块为什么会烧掉 ?
手机充电接口为USB口,所以自己DIY一个充电器,一端连5V电源块,一端接USB口的+-极端(数据D+D-空置),插入手机进行充电,结果冲到一半电源块烧掉了,手机安然无恙,很不理解为什么,电源块5V最大电流3A的我知道一般充电器都是限流500MA的,是不是用这个电源块电流过大了?为什么会大呢。难道没有保护电路么,为什么不是手机烧掉?求达人解惑电源块为什么会烧掉?帮顶~~不知道你啥模块你说我也不知道哪是哪啊?楼主啊,能否传下原理图啊手机内部是有保护电路的。一般会限制电流在70
小笨蛋猫 电源技术
请教一下各位老师:D类功放的问题
请教一下各位老师:D类功放可以用来放大随时间变化的直流信号吗?大功率TDA8954TH双芯片D类数字功放板请教一下各位老师:D类功放的问题随时间变化的直流信号可以看成是直流叠加频率很低的交流信号,而所有功放不管哪类都有带宽参数,如果超出了带宽参数自然就不能用了。D类功率放大器TDA8954T可以放大直流信号,但你贴出来的图片中那块板子恐怕是不行。对于直流叠加极低频交流,如果输出极性不变,最好的办法是使用稳压电源电路,线性电源、开关电源都可以,控制其输出电压即可实现,
杨旭煜 模拟电子
Helper2416-29——Linux_Programing——进程及创建进程
本帖最后由yuanlai2010于2014-8-622:23编辑 进程及创建进程参与Helper2416开发板助学计划心得进程的UNIX标准定义:“一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源”正在运行的程序或进程有程序代码/数据/变量(占用着系统内存)/打开的文件(文件描述符)和环境组成.进程表Linux进程表就像是一个数据结构,它把当前加载在内存中的所有进程的有关信息保存在一
yuanlai2010 嵌入式系统
TI - MCU - MSP430使用指南34 -> USS 模块
此内容由EEWORLD论坛网友骑IC看MCU原创,如需转载或用于商业用途需征得作者同意并注明出处USS模块,即Ultrasonicsensingsyolution,超声波感知模块。这个资源设计主要面向表类市场,主要是水表和气表,因为目前的水表,气表等大多采用机械式的方式,但是损耗,精度,量程等都很难满足现在发展的需求,故USS模块借助这先进的理论及算法,在水表和气表方面表现很突出,下分别针对水表和气表两个方面对USS模块进行分析。目前MSP43
骑IC看MCU 微控制器 MCU
小广播
最新测试测量文章
换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved