【嵌入式项目分享】ESP32红外热成像仪

目录

简介

主要性能指标

设计方案

电源

主控电路

图像传感器

接口

结构

成品展示

原理图

PCB

​​​​​​​3D图

项目地址

简介

该项目旨在使用更便宜的器件制作 DIY 热像仪。比较便宜的热成像传感器是松下的 AMG8833、Melexis 的 MLX90640 和 MLX90641。AMG8833的分辨率仅为 8x8, MLX90640 的分辨率32x24,MLX90641 的分辨率为 16x12。由于 MLX90640 的性价比较高,所以我们选择它作为 DIY 热像仪

下图为主屏幕界面。用于显示热图像本身、电池图标以及温度信息。

下图为设置界面,设有7个选项,所选选项将以绿色文字显示,其他选项则以白色文字显示。可以通过短按中间按钮来更改选择。所选选项的值可通过向上/+ 或向下/- 按钮进行调整。

以下是部分热成像效果图:

|----------------------------------------------------------------------------|----------------------------------------------------------------------------|
| | |
| | |

主要性能指标

  • 图像传感器分辨率 32x24。
  • 传感器视角 (FoV):55°x35°。
  • 温度测量范围:-40 至 300°C。
  • 工作温度范围:-40 至 85°C。
  • 可调刷新率 - 4Hz - 32Hz。
  • 10 种不同的调色板。
  • 5 种不同的插值模式。
  • 易于使用的图形用户界面。
  • 2.4" TFT 显示屏,分辨率为 320x240。
  • 图像保存功能。
  • 内置电池并具备充电功能。

设计方案

电源

USB Type C 用于充电和编程。USB 端口的电源连接到PMOS管与二极管组成的控制器电路。当 USB 电源可用时,设备将通过USB电源工作,同时为内部电池充电;当 USB 电源被切断时,设备将自动转为电池供电。

LDO选择Microchip 的 MIC5219 3.3V,额定电流为500mA,满载时的压降仅为500mV。MIC5219 的使能引脚连接了一个滑动开关。该开关用于打开和关闭红外热像仪。当该引脚接地时除电池充电部分外,设备的其他部分将关闭。

充电部分选择TP4056充电控制器,最大充电电流为1A。为了检测电池电压,使用了一个经典的分压器,可以将电池电压降低到安全水平,以便进行测量。

主控电路

程序可通过串口下载。USB TO UART转换芯片选择CH340K,因为它体积小、成本低。MOSFET 将充当 ESP32 的自动复位电路,从而无需在编程过程中进行手动休眠或启动选择。除此之外,还添加了启动和复位按钮,以防万一。

图像传感器

图像传感器通过I2C与SoC通讯。同时将I2C接口引出,其它I2C设备可通过J4与SOC进行连接。

​​​​​​​接口

最后一部分是 TFT 显示屏、导航按钮和 Micro SD 插槽。显示屏采用 2.4 英寸 TFT 显示屏,分辨率为 320x240。显示屏使用了一个 ILI9341 驱动芯片。通过 SPI 与 ESP32 连接,支持高达 65MHz 的 SPI 速度。显示器直接焊接在 PCB 上。在背光控制方面,使用了一个S8050晶体管。可以通过PWM信号控制背光亮度。显示器连接到ESP3的VSPI接口,而Micro SD插槽则连接到 HSPI 接口。ESP32可以同时访问或控制显示屏和SD卡。

结构

成品展示

原理图

PCB

​​​​​​​3D图

项目地址

https://github.com/Circuit-Digest/MLX90640-Thermal-Camera

相关推荐
C++ 老炮儿的技术栈2 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
_Ningye3 小时前
STM32 — 6.1 TIM定时中断
stm32·单片机·嵌入式硬件
AI科技星3 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
小白学电子_3 小时前
proteus仿真51单片机通过矩阵按键和数码管制作简单计算器
嵌入式硬件·51单片机·proteus
非鱼䲆鱻䲜5 小时前
vscode开发stm32添加新的头文件路径和包含源文件
ide·vscode·stm32·cmake·包含头文件·包含源文件
always_TT5 小时前
C语言中的字符与字符串(char数组)
c语言·开发语言
forAllforMe5 小时前
LAN9252 从机寄存器配置--C语言举例
c语言·开发语言
17(无规则自律)5 小时前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件
weixin_537590455 小时前
《C程序设计语言》练习答案(练习1-4)
c语言·开发语言
电子工程师成长日记-C515 小时前
51单片机4乘4计算器
单片机·嵌入式硬件·51单片机