2. 核心传感器选型:MLX90640/MLX90641/AMG8833对比

做热成像测温系统,第一步就是选传感器。这步走错了,后面全白干。

我见过不少团队,上来就选最便宜的AMG8833,结果做到一半发现分辨率不够,又回头重新改方案。嗯,今天咱们就把这三款主流传感器掰开揉碎了讲清楚。

2.1 三款传感器核心参数对比

先看一张对比表,心里有个底:

参数 AMG8833 MLX90640 MLX90641
分辨率 8×8 (64像素) 32×24 (768像素) 16×12 (192像素)
视场角(FOV) 60°×60° 55°×35° / 110°×75° 55°×35° / 110°×75°
帧率 最高10fps 最高64fps (1-64Hz可调) 最高64fps (1-64Hz可调)
测温范围 0°C ~ 80°C -40°C ~ 300°C -40°C ~ 300°C
精度 ±2.5°C (典型) ±1.0°C (典型) ±1.5°C (典型)
接口 I²C I²C I²C
参考价格(批量) ~$8 ~$25 ~$15

看到这个表,你可能已经有个大概判断了。但别急,参数只是表面,真正决定选型的是你的应用场景。

2.2 分辨率与帧率的权衡

分辨率这东西,说白了就是「你能看清多小的目标」。

我个人习惯,先算一个指标:每像素对应的空间角度

举个例子:

  • AMG8833,8×8像素,60°FOV → 每个像素覆盖 60°/8 = 7.5°
  • MLX90640,32×24像素,55°FOV → 每个像素覆盖 55°/32 ≈ 1.7°

你想想看,7.5°是什么概念?在1米距离上,一个像素覆盖的面积大约是13cm×13cm。测人脸?只能看到一团热乎乎的东西,眉毛眼睛根本分不清。

我的经验法则:

  • 检测人脸温度 → 至少需要MLX90640 (32×24)
  • 检测大面积发热(如配电柜)→ AMG8833勉强可用
  • 检测小目标(如电路板上的元件)→ 建议上MLX90640或更高

帧率呢?说实话,测温系统对帧率要求没那么苛刻。人体测温,1-4fps就够用了。为什么?因为人不会瞬间移动,温度变化也没那么快。

但我在做工业检测项目时遇到过一个问题:传送带上的产品以2m/s的速度通过,4fps根本抓不住。那时候我把MLX90640的帧率调到了32fps,配合触发信号才搞定。

帧率选择建议:

  • 人体测温/安防 → 1-4fps,省电省带宽
  • 工业过程监控 → 8-16fps,平衡性能
  • 高速运动目标 → 32-64fps,但要注意I²C总线瓶颈

2.3 FOV视场角计算

FOV选错了,要么视野太窄看不到全貌,要么视野太宽看不清细节。

计算公式其实很简单:

// 已知FOV和距离,计算覆盖范围
// 水平覆盖宽度 = 2 × 距离 × tan(FOV水平/2)
// 垂直覆盖宽度 = 2 × 距离 × tan(FOV垂直/2)

// 示例:MLX90640 55°×35° FOV,距离1米
float distance = 1.0;  // 米
float hFOV = 55.0 * M_PI / 180.0;
float vFOV = 35.0 * M_PI / 180.0;

float hWidth = 2 * distance * tan(hFOV / 2);  // ≈1.04米
float vWidth = 2 * distance * tan(vFOV / 2);  // ≈0.63米

算出来了吗?1米距离,55°FOV覆盖约1米宽的范围。这个数据很关键。

我曾经踩过的坑:

做人体测温门禁时,选了110°广角版本的MLX90640。结果呢?1米外一个人站过去,只占了画面中央十几个像素,边缘全是墙壁和背景。测温精度大打折扣。

后来我改成55°FOV,让人站在0.5-0.8米范围内,效果好了很多。

所以我的建议是:

  • 近距离(0.3-1米)检测小目标 → 选窄FOV (55°×35°)
  • 远距离(2-5米)监控大范围 → 选宽FOV (110°×75°)
  • 不确定?先买55°版本,后期通过镜头适配

2.4 选型决策矩阵

好了,前面讲了这么多,到底怎么选?我整理了一个决策矩阵,你对着自己的需求打勾就行:

应用场景 推荐传感器 理由
人体测温/人脸检测 MLX90640 32×24分辨率足够看清人脸轮廓,±1°C精度满足医疗级要求
低成本玩具/演示 AMG8833 8×8分辨率只能看个大概,但价格便宜,适合原型验证
工业设备巡检 MLX90641 16×12分辨率够用,价格适中,测温范围宽
电池供电/低功耗 AMG8833 或 MLX90641 功耗低,帧率可调,适合IoT设备
科研/高精度测量 MLX90640 768像素配合算法插值,效果接近入门级热像仪

我的最终建议:

如果你在做量产产品,直接上MLX90640。别纠结那十几块钱的差价。

为什么?因为AMG8833的分辨率限制会让你后期花更多钱在算法和结构上弥补。而MLX90641虽然性价比不错,但768像素和192像素的差距,在用户体验上是天壤之别。

当然,如果你只是做个demo或者玩玩,AMG8833完全够用。我第一个热成像项目就是用AMG8833起步的,虽然最后量产换成了MLX90640,但那个8×8的小矩阵帮我快速验证了整个系统架构。

2.5 知识体系总览

最后,我把本章的核心逻辑画成了一张图,方便你理解整个选型决策的脉络:

热成像传感器选型决策逻辑 需求输入 分辨率需求 帧率需求 FOV需求 AMG8833 (8×8) MLX90641 (16×12) MLX90640 (32×24) 其他专业传感器 选型决策:根据应用场景匹配最佳传感器 最终方案:传感器型号 + FOV版本 + 帧率配置

这张图把选型逻辑串起来了。从需求出发,经过三个维度的评估,最终落到具体的传感器型号和配置上。你照着这个流程走,基本不会出错。

一个小技巧:

如果你实在拿不准选哪个,我的做法是:先买MLX90640的评估板,花两周时间把原型跑起来。如果发现性能过剩,再降级到MLX90641。从高往低降容易,从低往高升可就难了——硬件、结构、算法都得改。


公众号:蓝海资料掘金营,微信deep3321