如何使用 MLX90614 红外温度计实现 SMBus 通信

电子说

1.3w人已加入

描述

本应用笔记介绍了如何使用 MLX90614 红外温度计实现 SMBus 通信。Microchip 的 PIC®10 代码采用汇编语言。该示例从 MLX90614 的 RAM 中读取,测量温度。

使用SMBus通信的软件实现,因此可以将源代码迁移到其他系列的8位PIC MCU,只需稍作改动。使用的开发工具是 MPLAB IDE 和 MPASM(Microchip 汇编器),可从Microchip免费使用。

应用

  • 高精度非接触式温度测量;
  • 移动空调控制系统的热舒适度传感器;
  • 用于住宅、商业和工业建筑空调的温度传感元件;
  • 挡风玻璃除雾;
  • 汽车死角检测;
  • 运动部件的工业温度控制;
  • 打印机和复印机的温度控制;
  • 带温度控制的家用电器;
  • 卫生保健;
  • 牲畜监测;
  • 运动检测;
  • 多区温度控制 – 最多 100 个传感器可以通过公共 2 线读取
  • 热继电器/警报
  • 体温测量

相关 Melexis 产品

EVB90614 是支持 MLX90614 器件的评估板。

需要的其他组件

  • 当前应用笔记中原理图使用的元件包括: SMD 陶瓷电容器 C1 和 C2 100 nF 16 V 或更高。
  • SMD 电阻器 R1 1.8 kΩ 5% 和 R2 1 kΩ 5%。
  • PIC10F206 或 PIC10F202 微控制器。
  • DB9 女性连接器。
  • 稳压(对于 3 或 5 V 版本的 MLX90614 为 3 或 5 V)电源。

项目建立,文件“main.hex”可以在PIC10F206中编程。此外,项目可以用作“开始”基础。

提供项目将从MLX90614(不包括电源控制)读取Ta,Tobj1和Tobj2,并通过软件UART(ASCII编码,每个周期后CR(0x0D),8位数据,一个停止位,无奇偶校验)传输位,57 600 波特,使用 4.000 MHz 内部振荡器)。格式为 15 位无符号整数,右对齐。分辨率为 0.02 开氏度/LSB。有关温度格式的示例,请参阅以下例程的说明。读取和传输循环每分钟重复一次。在周期的空闲状态期间,PIC 和 MLX90614 都处于睡眠模式(请注意,5V MLX90614 中的睡眠模式是部分的,典型的功耗为 100uA,PIC10 每 2 秒被短时间唤醒一次)。

典型电路

rc振荡器

MLX90614 与 MCU 的连接非常简单。使用了 PIC10F206 的两个通用引脚 GP0 和 GP1。Vdd和SDA线之间接一个上拉电阻R1,SCL线由推挽输出GP0驱动。C1 是本地电源旁路去耦电容。MLX90614 需要它来绕过片上数字电路开关噪声。C2 对微控制器具有相同的功能。众所周知的 100 nF(SMD 陶瓷类型)值通常足以满足这些组件的需求。请注意,电源通常需要更多电容器(如稳压器输入和输出上的 100 μF),原理图中未显示。给出了 PIC10 MCU 的 DIL8 封装引脚排列的示意图。

使用片上 4MHz 工厂校准的 RC 振荡器。SMBus 时钟为 28 kHz,一帧读取大约需要 11 ms(一帧读取 Tobj1、Tobj2 和 Tamb 并通过 UART 传输)。有关详细信息,请参阅 MLX90614 数据表、AppNote 390119061402、“SMBus 与 MLX90614 通信”和 SMBus 规范。MLX90614 有 5 V 和 3 V 版本。PIC10F206 可用于 3 V 版本 (MLX90614Bxx) 和 5 V 版本 (MLX90614Axx)。

编辑:hfy

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

全部0条评论

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

×
20
完善资料,
赚取积分