本应用笔记介绍了如何使用 MLX90614 红外温度计实现 SMBus 通信。Microchip 的 PIC®10 代码采用汇编语言。该示例从 MLX90614 的 RAM 中读取,测量温度。
使用SMBus通信的软件实现,因此可以将源代码迁移到其他系列的8位PIC MCU,只需稍作改动。使用的开发工具是 MPLAB IDE 和 MPASM(Microchip 汇编器),可从Microchip免费使用。
应用
- 高精度非接触式温度测量;
- 移动空调控制系统的热舒适度传感器;
- 用于住宅、商业和工业建筑空调的温度传感元件;
- 挡风玻璃除雾;
- 汽车死角检测;
- 运动部件的工业温度控制;
- 打印机和复印机的温度控制;
- 带温度控制的家用电器;
- 卫生保健;
- 牲畜监测;
- 运动检测;
- 多区温度控制 – 最多 100 个传感器可以通过公共 2 线读取
- 热继电器/警报
- 体温测量
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 秒被短时间唤醒一次)。
典型电路
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
-
mcu
+关注
关注
146文章
17123浏览量
350983 -
SMBus
+关注
关注
0文章
117浏览量
22068 -
rc振荡器
+关注
关注
3文章
48浏览量
9562 -
红外温度计
+关注
关注
0文章
11浏览量
2379
发布评论请先 登录
相关推荐
评论