0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用MLX90614和Arduino构建红外测温仪

454398 来源:工程师吴畏 2019-07-26 11:35 次阅读

在本文中,我将解释如何通过红外线测量表面温度。使用这项技术,我们可以简单地通过向表面发送红外波并分析返回传感器的波来收集温度信息

有许多不同类型的传感器可用于测量温度。 LM35或DS18B20温度传感器根据直接施加在传感器设备表面的热量提供输出。但是,对于极热的情况(例如明火),您无法使用基于接触的传感器来检测准确的温度。

如果你想用非接触式方法(我们为这个项目做)检测温度,红外线温度计传感器是最好的解决方案。因此,我们将使用Melexis的MLX90614红外测温仪进行此项目。 MLX90614传感器使用非接触式温度传感来收集温度信息,而不会触及任何特定表面。

红外线温度计的工作原理

虽然人眼看不到,但所有物体都会发出红外光线,浓度会因温度而异。通过检测红外线,我们可以感知温度范围。 MLX90614温度计传感器使用这一原理。

MLX90614是一款功能强大的红外传感器件,具有极低噪声放大器和17位ADC。它可以为温度计提供高精度和高分辨率。关于MLX90614的最佳部分是它使用工厂的数字SMBus进行校准。这意味着它将提供0.02°C的高分辨率输出,并可连续传输-20至120°C的测量温度。

现在我们了解传感器的工作原理,让我们深入了解项目!

必需材料

Arduino

字符LCD 16x2

MLX90614

LCD屏蔽(可选)

接线

MLX 90614温度计具有I2C通信线路,因此我们可以将此传感器与Arduino连接,无需任何额外电路。如下图所示连接所有内容。您可以使用LCD 16X2屏蔽或连接独立LCD,如Fritzing图中所述。

适用于Arduino LCD Shield

上传源代码

将以下源代码复制并粘贴到Arduino IDE。仔细检查连接后,上传代码。

/*

* Non-contact Thermometer with GY - 906 module

* Support for the MLX90614 sensor on the I2C bus

* SDA line = A4

* SCL line = A5

* Sensor supply with 5V

*/

#include

#include

LiquidCrystal lcd (8, 9, 4, 5, 6, 7);

int address = 0xb4; // Sensor address MLX90614

int erc = 0; // Variable holding the PEC value

int dataH = 0; // The second byte of data

int dataL = 0; // The first byte of data

double tempnalsb = 0.02; // Variable by which the digital value will be multiplied

double temperature = 0; // Variable holding the temperature

void setup () {

i2c_init (); // Initialization of the I2C bus

lcd.begin (16, 2); // Initialize the display

}

void loop () {

i2c_start_wait (address + I2C_WRITE); // Start I2C communication in write mode

i2c_write (0x07); // Write the value 0x07 (select the register Tobj1)

i2c_rep_start (address + I2C_READ); // Restart I2C communication at the read address

dataL = i2c_readAck (); // Read the first byte of data

dataH = i2c_readAck (); // Read the second byte of data

erc = i2c_readNak (); // Read the third (unimportant) data byte

i2c_stop (); // End of I2C transmission

temperature = (double) (((dataH & 0x007F) 《《 8) + dataL); // Create a 16-bit variable consisting of two one-byte variables

temperature = temperature * tempnalsb; // For one bit 0.02 K, the result of this operation is the temperature in Kelvin

temperature = temperature - 273.15; // Conversion to Celsius degrees

lcd.setCursor (0,0); // Display (first LCD line)

lcd.print (“Object =”);

lcd.print (temperature);

lcd.print (“”);

lcd.write (0xDF); // Degree sign

lcd.print (“C”);

i2c_start_wait (address + I2C_WRITE);

i2c_write (0x06); // Select the ambient temperature register

i2c_rep_start (address + I2C_READ);

dataL = i2c_readAck ();

dataH = i2c_readAck ();

erc = i2c_readNak ();

i2c_stop ();

temperature = (double) (((dataH & 0x007F) 《《 8) + dataL);

temperature = temperature * tempnalsb;

temperature = temperature - 273.15;

lcd.setCursor(0,1); // Display (second LCD line)

lcd.print (“Ambient =”);

lcd.print (temperature);

lcd.print (“”);

lcd.write (0xDF);

lcd.print (“C”);

delay (200); // Delay 200ms

}

有很多项目可以派上红外温度传感器,例如测量液体或热触摸表面。因为它不需要直接接触,所以在这些情况下MLX90614将是一个很好的选择。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 红外测温仪
    +关注

    关注

    3

    文章

    235

    浏览量

    27867
  • Arduino
    +关注

    关注

    184

    文章

    6426

    浏览量

    184795
  • MLX90614
    +关注

    关注

    3

    文章

    28

    浏览量

    18349
收藏 人收藏

    评论

    相关推荐

    什么是热电偶测温仪?热电偶测温仪工作原理是怎样的?

    热电偶测温仪的出现可以追溯到19世纪初,当时科学家发现了热电效应。随后,科学家们开始利用热电效应来测量温度,热电偶测温仪便应运而生。
    发表于 01-29 14:02 201次阅读
    什么是热电偶<b class='flag-5'>测温仪</b>?热电偶<b class='flag-5'>测温仪</b>工作原理是<b class='flag-5'>怎样</b>的?

    红外线测温仪自校准误差比对方法的研究

    电子发烧友网站提供《红外线测温仪自校准误差比对方法的研究.pdf》资料免费下载
    发表于 10-24 14:11 0次下载
    <b class='flag-5'>红外</b>线<b class='flag-5'>测温仪</b>自校准误差比对方法的研究

    DS1820在高精度测温仪中的应用

    电子发烧友网站提供《DS1820在高精度测温仪中的应用.pdf》资料免费下载
    发表于 10-19 11:42 0次下载
    DS1820在高精度<b class='flag-5'>测温仪</b>中的应用

    红外线测温仪的原理及特点

    一、红外线测温仪的特点 1、非接触测量 在测量过程中不需要接触到被测量物体的表面和内部,不会干扰被测量物体的温度。 2、测量范围广 在正常工作和测温仪允许的条件下,测温仪的可测量范围一
    的头像 发表于 10-11 10:50 1276次阅读

    基于LabVIEW的红外测温仪数据采集系统设计

    本课题是对红外测温仪进行数据采集的设计。为了把从红外测温仪采集到的数据在温度波形图上直观明了的展现出来,在充分查阅相关资料的基础上,综述了LabVIEW虚拟仪器开发平台和
    发表于 09-26 07:29

    使用51单片机设计的红外测温仪电路图分享

    本文档的主要内容详细介绍的是使用51单片机设计的红外测温仪电路图免费下载。
    发表于 09-26 06:02

    #仪器 小巧便携 手持式测温仪你们心动了吗

    测温仪
    3125892467
    发布于 :2023年09月12日 10:38:27

    基于单片机的红外非接触人体测温仪阈值报警液晶显示设计(实物)

    设计要求:本设计由STC89C52单片机电路+1602液晶显示电路+MLX90614ESF红外非接触温度检测电路+按键电路+蜂鸣器报警电路。1、液晶实时显示MLX90614ESF检测的环境温度
    发表于 09-07 10:01 5次下载

    LORA型无线插入式测温仪

    XKCON祥控LORA型插入式测温仪XKCON-MT-W-500采用进口温度传感器芯片,具有精度高、反应快、抗干扰能力强等性能优势,其测温范围为-55℃~125℃,测温精度为±1℃,分辨率为0.1℃。
    的头像 发表于 08-21 17:26 721次阅读
    LORA型无线插入式<b class='flag-5'>测温仪</b>

    应用在测温仪中的数字温度传感芯片

    测温仪(thermometric indicator),是温度计的一种,用红外线传输数字的原理来感应物体表面温度,操作比较方便,特别是高温物体的测量。
    的头像 发表于 08-04 09:26 379次阅读
    应用在<b class='flag-5'>测温仪</b>中的数字温度传感芯片

    stm32中使用mlx90614的驱动代码

    关于stm32中使用mlx90614的驱动代码
    发表于 06-25 10:07 2次下载

    插入式测温仪作为煤场煤温检测的重要手段

    煤炭自燃不仅降低煤炭质量,还会造成火灾,并产生大量的烟雾烟尘,形成二氧化硫、氮氧化物、烃类等有害气体,将对企业和环境造成严重的破坏和影响。通过使用煤堆测温仪对煤场煤堆内部进行温度监测,可及时了解煤堆
    的头像 发表于 06-02 09:40 646次阅读
    插入式<b class='flag-5'>测温仪</b>作为煤场煤温检测的重要手段

    巨哥科技推出中短波红外单点测温仪

    或炉内的目标温度、测量硅片等透长波红外的基材温度,以及需要快速响应的应用场景。很多应用只需针对温度均匀的目标,无需进行热成像。 为此,巨哥科技推出PS300红外测温仪。PS300红外
    的头像 发表于 05-22 17:20 609次阅读
    巨哥科技推出中短波<b class='flag-5'>红外</b>单点<b class='flag-5'>测温仪</b>

    基于STM32物联网开发板(3)--红外测温MLX90614

    MX90614是一款由迈来芯公司提供的低成本,无接触温度计。输出数据和物体温度呈线性比例,具有高精度和高分辨率。TO-39金属封装里同时集成了红外感应热电堆探测器芯片MLX81101(温度是通过
    的头像 发表于 05-11 09:04 5110次阅读
    基于STM32物联网开发板(3)--<b class='flag-5'>红外</b><b class='flag-5'>测温</b><b class='flag-5'>MLX90614</b>

    红外测温仪如何帮助企业实现煤堆防自燃?

    济南祥控自动化研制的XKCON祥控红外测温仪由传感器、光学系统与电子线路共同集成在金属壳体内,属一体化集成式红外测温仪,它通过采集物体发射的红外
    的头像 发表于 05-10 15:39 380次阅读
    <b class='flag-5'>红外</b><b class='flag-5'>测温仪</b>如何帮助企业实现煤堆防自燃?