|
|
第1行: |
第1行: |
− | <div class="wiki-pages blue-color">
| + | [[MLX90640-D55 Thermal Camera]] |
− | <div class="tabberlive newwsnav" id="wsnavbar">
| |
− | <ul class="tabbernav">
| |
− | <li class="nav-link">[[#myintro|说明]]</li>
| |
− | <li class="nav-link">[[#myresources|资料]]</li>
| |
− | <li class="nav-link">[[#myfaq|FAQ]]</li>
| |
− | <li class="nav-link">[[#mysupport|售后]]</li>
| |
− | </ul>
| |
− | </div>
| |
− | <div class="tabber">
| |
− | | |
− | {{外围模块|colorscheme=blue
| |
− | |name = MLX90640-D55 Thermal Camera
| |
− | |img = [[File:MLX90640-D55-Thermal-Camera-001.jpg|360px|alt=MLX90640-D55 Thermal Camera | link=https://{{SERVERNAME}}/shop/MLX90640-D55-Thermal-Camera.htm]]
| |
− | |category1=温度/湿度
| |
− | |category2=传感器
| |
− | |brand=Waveshare
| |
− | |feature = 远红外热传感器阵列
| |
− | |interface1 = I2C
| |
− | |Product1 = {{MLX-Related-Product}}
| |
− | }}
| |
− | <div class="tabbertab" title="说明" id="myintro">
| |
− | | |
− | <h1>说明</h1>
| |
− | | |
− | ==产品简介==
| |
− | MLX90640-Dxxx Thermal Camera是一款红外热像仪模块,32×24像素,I2C接口通信,兼容3.3V/5V电平,支持Raspberry Pi,ESP32,STM32等主控,MLX90640远红外热传感器阵列,可精确检测特定区域和温度范围内的目标物体,尺寸小巧,可方便集成到各种工业或智能控制应用中.
| |
− | *采用MLX90640远红外热传感器阵列,32×24像素
| |
− | *支持I2C接口通信,可设置为快速模式(速率可达1MHz)
| |
− | *噪声等效温差(NETD)仅为0.1K RMS@1Hz刷新率,噪声性能好
| |
− | *板载电平转换电路,可兼容3.3V/5V的工作电平
| |
− | | |
− | ==产品参数==
| |
− | *工作电压:3.3V/5V
| |
− | *工作电流:<23mA
| |
− | *通信接口:I2C (地址为0x33)
| |
− | *视场角(水平视角×垂直视角):
| |
− | **MLX90640-D55 Thermal Camera:55°×35° (角度小,适合远距离测量)
| |
− | **MLX90640-D110 Thermal Camera:110°×75° (角度大,适合近距离测量)
| |
− | *工作温度:-40℃~85℃
| |
− | *目标温度:-40℃~300℃
| |
− | *检测精度:±1℃
| |
− | *刷新速率:0.5Hz~64Hz (可编程设置)
| |
− | *产品尺寸:28mm×16 mm
| |
− | *固定孔尺寸:2.0mm
| |
− | ==主要用途==
| |
− | *高精度非接触性物体温度检测
| |
− | *红外热像仪、红外测温仪
| |
− | *智能家居、智能楼宇、智能照明
| |
− | *工业温度控制、安防、入侵/移动检测
| |
− | | |
− | ==通信协议==
| |
− | MLX9064x-Dxxx Thermal Camera的通讯协议为I2C,支持I2C高速模式(最高可达1MHz),只能作为I2C总线上的从设备,SDA和SCL端口可以承受5V电压,可以直接接入到5V的I2C总线中,模块的设备地址是可以编程的,最多可以有127个地址,出厂默认值为0x33.
| |
− | 与一般I2C总线一样,在传送数据过程中共有三种类型信号:开始信号、结束信号和应答信号<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_020.jpg|700px]]<br>
| |
− | 开始信号: SCL为高电平, SDA由高电平转换为低电平.<br>
| |
− | 结束信号: SCL为高电平, SDA由低电平转换为高电平.<br>
| |
− | 可以看出开始信号和结束信号都是在SCL总线为高电平时刻完成的.<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_021.jpg|700px]]<br>
| |
− | 应答信号: 在每个字节传输之后的第9个时钟期间内, 发送数据端设备释放SDA总线, 接收数据端设备拉低SDA总线表示收到字节(ACK), 或者是SDA总线为高电平不应答(NoACK).<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_022.jpg|900px]]<br>
| |
− | 设备地址:主机通过在START条件后发送7位从机地址来寻址从机. 前七个位是该地址专用, 第8个是读/写(R / W)位. 该位指示传输方向,其中高电平表示主机将从从机读取数据,
| |
− | 低电平表示主机将向从机发送数据.<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_023.jpg|700px]]<br>
| |
− | MLX90640-D55 Thermal Camera共768个IR传感器(也称为像素)组成. 每个像素的行和列位置标识为Pixel(i,j), 其中i是其行号(从1到24), j是其列号(从1到32),像素具体到某一平面可以参照上图<br>
| |
− | *需要说明的是传感器原厂<span style="color: red;">'''在传感器出厂时允许有4个以内的坏点'''</span>, 每个坏点都在EEPROM表中有标识, 所以模块可能会有一定几率存在坏点, 也就是说这不能作为退换货的依据, 对此原厂的建议是使用相邻像素的平均值代替.
| |
− | | |
− | ==内存及寄存器==
| |
− | [[File:MLX90640-D55_Thermal_Camera_024.jpg|500px]]<br>
| |
− | <br>上图为MLX90640的RAM区和控制寄存器分布图,其中RAM区的两种数据模式,EEPROM用于存储校准常数和设备的配置参数, 如下图所示:<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_025.jpg|1000px]]<br>
| |
− | MLX90640支持8种刷新率,最高可达64Hz,刷新率由控制寄存器1(0x800D)控制,如下图:<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_027.jpg|800px]]<br>
| |
− | 8种刷新率的设置是取决于控制寄存器1(0x800D)的位7, 位8, 位9, 其中有国际象棋模式(出厂默认设置), 电视交错模式,如下图所示:<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_028.jpg|1000px]]<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_029.jpg|1000px]]<br>
| |
− | 两种模式在子页面的更新方式上不同, 这里需要注意的是传感器仅在国际象棋模式下进行过出厂校准, 因此在国际象棋模式下可以获得更好的固定图案噪声行为, 因此为了获得最佳效果建议使用国际象棋棋盘模式, 两种模式的设定取决于控制寄存器1(0x800D)的位12.<br>
| |
− | | |
− | ==测温原理和测量距离==
| |
− | ===测温原理===
| |
− | 什么是红外测温?(引用自[http://www.optris.com.cn/infrared-basics OPTRIS])<br>
| |
− | 在测量领域,“温度”是仅次于“时间”的常用的物理参数之一。基于普朗克和玻尔兹曼辐射定律的原理,红外测温仪通过吸收被测物体发出的红外辐射来测定其温度。那么,非接触测温是如何实现的呢?<br>
| |
− | | |
− | 凡是温度高于绝对零度(0 K或-273.15℃)的物体,均会自表面向外发出电磁辐射,且该辐射与物体的固有温度成比例。在这种辐射中,包含用于实现测温的红外辐射。当该辐射贯穿大气后,借助专用镜头便能将其聚集在探测器上。随后,探测器会生成与该辐射成比例的电信号。该信号得到放大,并通过接受连续的数字信号处理而转化为与物体温度成比例的输出信号。如此一来,在显示器上便会显示出温度的测量值,或为信号形式输出。<br>
| |
− | | |
− | 在利用辐射实现测温时,辐射率ε(Epsilon)起到了至关重要的作用。它表明了实际物体与黑体的辐射值之间的关系。黑体的辐射率为1(最大值)。不过,能够满足黑体这一理想条件的物体并不多。在校准传感器时,一般会用到辐射体的接触面(包含所推荐的波长:0.99)。<br>
| |
− | | |
− | 就其波长而言,许多物体通常具有恒定的辐射率,但其辐射能力远不如黑体。它们被称作灰体。若物体的辐射率取决于其温度和波长(诸如金属类),则此类物体被称作选择性辐射体。在这两种情况下,所缺失的辐射部分通过辐射率的明确加以补充。当使用选择性辐射体时,需要牢记所测定的波长(针对金属,选择短波)。<br>
| |
− | | |
− | 除了自物体表面发出的辐射之外,红外传感器还能接受到周围环境的反射辐射,或许还有被测物体的贯穿红外辐射。<br>
| |
− | | |
− | ===测量距离===
| |
− | 对于非接触式红外测温模块, 很重要的一个概念是"视场 (FOV)". 视场是由温差电堆接收到50%的辐射信号来确定的, 并且和传感器的主轴线相关. 测得的温度是视场内被测物体的温度加权平均值, 所以当被测物体完全覆盖FOV视场时的准确度是最高的.<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_030.jpg|700px]]<br>
| |
− | 关于测量距离和视场关系可参考[https://www.melexis.com/en/product/MLX90640/Far-Infrared-Thermal-Sensor-Array# Melexis]提到的如下图所示的计算公式<br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_036.jpg|700px]]<br>
| |
− | </div>
| |
− | <div class="tabbertab" title="使用">
| |
− | | |
− | ==Raspberry Pi 4B==
| |
− | ===硬件连接===
| |
− | <p><font size="4" color="#Ff0000">'''1. 传感器器件工作中注意避免双手直接接触核心器件,做好防静电,上电前检查电源防反接'''</font></p>
| |
− | <p><font size="4" color="#Ff0000">'''2. 传感器工作时避免幅度过大振动,带电拔插操作,不要使用过长线缆连接通信,容易导致EEPROM写入错误而失效'''</font></p><br>
| |
− | [[File:MLX90640-D55_Thermal_Camera_031.jpg|700px]]
| |
− | {|border=1; style="width:600px;" align="auto"
| |
− | |-style="background:#0000ff; color:white;" align="center"
| |
− | |PI-4B||MLX90640 Thermal Camera
| |
− | |-align="center"
| |
− | |5V||5V
| |
− | |-align="center"
| |
− | |GND||GND
| |
− | |-align="center"
| |
− | |SDA(BCM2)||SDA
| |
− | |-align="center"
| |
− | |SCL(BCM3)||SCL
| |
− | |}<br>
| |
− | ===使用===
| |
− | 请使用[https://downloads.raspberrypi.org/raspios_armhf/images/raspios_armhf-2021-05-28/ 链接]中的<span style="color: red;">''' 2021-05-07-raspios-buster-armhf.zip系统'''</span>进行系统烧录测试<br>
| |
− | 国内用户使用树莓派官方源更新慢,需要更换国内软件源,打开sources.list文件,注释源文件内容后,复制粘贴中科大源,按Ctrl+X再按Y按Enter保存,参考下图
| |
− | <pre>
| |
− | sudo nano /etc/apt/sources.list
| |
− | deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
| |
− | deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
| |
− | </pre>
| |
− | [[File:MLX90640-D55_Thermal_Camera_035.jpg|600px]]
| |
− | | |
− | 在树莓派终端输入如下指令,第1条指令使能硬件I2C,使能后需要重新启动系统,继续打开终端执行后面指令,若已设置,可跳过此指令,相关设置如下图,:
| |
− | <!--
| |
− | <pre>
| |
− | sudo raspi-config
| |
− | cd ~
| |
− | wget http://www.waveshare.net/w/upload/5/56/MLX90640_Thermal_Camera_Code.7z
| |
− | sudo apt-get install p7zip
| |
− | p7zip --uncompress MLX90640_Thermal_Camera_Code.7z
| |
− | cd RaspberryPi/cpp/
| |
− | chmod +x install.sh
| |
− | sudo ./install.sh
| |
− | make
| |
− | sudo ./main
| |
− | </pre>
| |
− | -->
| |
− | <pre>
| |
− | sudo raspi-config
| |
− | sudo apt update
| |
− | cd ~
| |
− | wget https://www.waveshare.net/w/upload/c/c9/Mlx90640_thermal_camera.zip
| |
− | unzip Mlx90640_thermal_camera.zip
| |
− | cd mlx90640_thermal_camera/RaspberryPi/cpp/
| |
− | chmod +x install.sh
| |
− | sudo ./install.sh
| |
− | make
| |
− | sudo ./main
| |
− | </pre>
| |
− | [[File:MLX90640-D55_Thermal_Camera_099.jpg|700px]]<br>
| |
− | 若是显示过于卡顿,在boot磁盘中config.txt文件最后更改I2C的速度,在树莓派终端输入如下指令并保存退出:
| |
− | <pre>
| |
− | sudo nano /boot/config.txt
| |
− | dtparam=i2c1_baudrate=1000000
| |
− | </pre>
| |
− | | |
− | ==STM32==
| |
− | ===硬件连接===
| |
− | <p><font size="4" color="#Ff0000">'''1. 传感器器件工作中注意避免双手直接接触核心器件,做好防静电,上电前检查电源防反接'''</font></p>
| |
− | <p><font size="4" color="#Ff0000">'''2. 传感器工作时避免幅度过大振动,带电拔插操作,不要使用过长线缆连接通信,容易导致EEPROM写入错误而失效'''</font></p>
| |
− | [[File:MLX90640-D55_Thermal_Camera_032.jpg|700px]]
| |
− | {|border=1; style="width:600px;" align="auto"
| |
− | |-style="background:#0000ff; color:white;" align="center"
| |
− | |STM32405R||MLX90640 Thermal Camera
| |
− | |-align="center"
| |
− | |5V||5V
| |
− | |-align="center"
| |
− | |GND||GND
| |
− | |-align="center"
| |
− | |SDA(PB11)||SDA
| |
− | |-align="center"
| |
− | |SCL(PB10)||SCL
| |
− | |}<br>
| |
− | | |
− | ==ESP32==
| |
− | ===硬件连接===
| |
− | <p><font size="4" color="#Ff0000">'''1. 传感器器件工作中注意避免双手直接接触核心器件,做好防静电,上电前检查电源防反接'''</font></p>
| |
− | <p><font size="4" color="#Ff0000">'''2. 传感器工作时避免幅度过大振动,带电拔插操作,不要使用过长线缆连接通信,容易导致EEPROM写入错误而失效'''</font></p>
| |
− | [[File:MLX90640-D55_Thermal_Camera_034.jpg|1000px]]
| |
− | {|border=1; style="width:600px;" align="auto"
| |
− | |-style="background:#0000ff; color:white;" align="center"
| |
− | |ESP32||MLX90640 Thermal Camera
| |
− | |-align="center"
| |
− | |5V||5V
| |
− | |-align="center"
| |
− | |GND||GND
| |
− | |-align="center"
| |
− | |SDA(P21)||SDA
| |
− | |-align="center"
| |
− | |SCL(P22)||SCL
| |
− | |}<br>
| |
− | <!--
| |
− | ==效果演示==
| |
− | [[File:MLX90640-D55_Thermal_Camera_001.gif|400px]]</div>
| |
− | -->
| |
− | <div class="tabbertab" title="资料" id="myresources">
| |
− | | |
− | <h1>资料</h1>
| |
− | | |
− | ===文档===
| |
− | * [https://{{SERVERNAME}}/w/upload/8/84/MLX90640_Thermal_Camera_SchDoc.pdf 原理图]
| |
− | * [https://{{SERVERNAME}}/w/upload/7/7f/MLX90640_Thermal_Camera_user_manual.pdf 用户手册]
| |
− | | |
− | ===程序===
| |
− | * [https://www.waveshare.net/w/upload/c/c9/Mlx90640_thermal_camera.zip 示例程序]
| |
− | | |
− | ===软件===
| |
− | *[https://www.waveshare.net/w/upload/b/b3/Sscom5.13.1.zip 串口调试助手]
| |
− | *[https://www.waveshare.net/w/upload/6/62/CP210x_USB_TO_UART.zip CP2102驱动]
| |
− | ===数据手册===
| |
− | * [https://{{SERVERNAME}}/w/upload/7/73/MLX90640-EN.pdf MLX90640-EN]
| |
− | | |
− | </div>
| |
− | <div class="tabbertab" title="FAQ" id="myfaq">
| |
− | | |
− | <h1>FAQ</h1>
| |
− | {{FAQ| MLX90640-D55 Thermal Camera的测量距离多远?支持帧率最大是多少? |
| |
− | 官方器件手册未给出测量距离参数, 微雪电子测试结果为, 室内温度22℃,灯光昏暗条件下,身高178cm测试人员在离MLX90640-D55 Thermal Camera 1米开始挥手并后退至11米后, MLX90640-D55 Thermal Camera捕捉焦点消失, 其中远离MLX90640-D55 Thermal Camera的镜头5米(左右)后则不能识别人体轮廓. MLX90640-D55 Thermal Camera支持最大32Hz的帧率.
| |
− | [[File:MLX90640-D55_Thermal_Camera_001.gif|400px]]|||}}
| |
− | | |
− | {{FAQ| MLX90640-D110 Thermal Camera的测量距离多远?支持帧率最大是多少? |
| |
− | 官方器件手册未给出测量距离参数, 微雪电子测试结果为, 室内温度22℃,灯光昏暗条件下,身高178cm测试人员在离MLX90640-D110 Thermal Camera 1米开始挥手并后退至9米后, MLX90640-D110 Thermal Camera捕捉焦点消失, 其中远离MLX90640-D110 Thermal Camera的镜头2米(左右)后则不能识别人体轮廓, MLX90640-D110 Thermal Camera支持最大32Hz的帧率.
| |
− | | |
− | [[File:MLX90640-D55_Thermal_Camera_002.gif|400px]]|||}}
| |
− | | |
− | </div>
| |
− | <div class="tabbertab" title="售后" id="mysupport">
| |
− | <h1>技术支持</h1>
| |
− | {{Service19}}</div>
| |
− | </div>
| |