Thermal Camera HAT (B) 使用教程

说明

产品简介

本产品是一款远红外热像传感器,采用微测辐射热计和热电堆像素的混合技术,具有 80 × 62 像素焦点阵列,可检测镜头视野中物体的红外辐射能量分布,经量化处理后可获得该视野物体表面温度分布,并生成热成像图,方便集成到各种工业或智能控制应用中。 相较于 Thermal Camera HAT,本产品优化了内部过滤器和图像处理算法,镜头尺寸缩小到 9 × 9 mm,将连接器接线方式改为 FPC 线。同样提供有 45° 和 90° 两种视场角型号选择。

产品特性

  • 采用微测辐射热计和热电堆混合技术,具有 80(H)×62(V) 像素
  • 无快门设计,支持连续运行和热图像视频流
  • 具有噪声等效温差 (NETD) 125mK RMS@1Hz 刷新率,噪声性能好
  • 支持 25FPS (Max) 帧率输出热成像视频流
  • 提供完善的配套资料手册 (Raspberry Pi Python 示例程序,Android/Windows 上位机和用户手册等)

产品参数

  • 工作电压: 5V
  • 工作电流: 20mA@5V
  • 波长范围: 8~14μm
  • 视场角:
    • 56°(D) × 45°(H) × 34°(V) (常规版本)
    • 122°(D) × 90°(H) × 67°(V) (广角版本)
  • 工作温度: -40℃~85℃
  • 目标温度: -40℃~400℃
  • 检测精度: ±2℃
  • 刷新速率: 25 FPS(Max)
  • 产品尺寸:
    • Thermal Camera HAT (B): 65.0 × 30.5 (mm)
    • Thermal USB Camera: NC
  • 噪声等效温差:125mK

硬件说明

  • Thermal Camera HAT (B)连接到 Raspberry Pi 系列的40 GPIO Pin 上
    • Thermal Camera HAT (B)上使用 I2C 配置摄像头寄存器, 使用 SPI 发送 温度数据
    • Thermal Camera HAT (B)板子上有RESET按键,当出现异常时,可以按下实现硬件复位
  • Thermal USB Camera (B)连接到 Windows 电脑或安卓手机, 使用 USB 接口发送温度数据
    • Thermal USB Camera (B) 出现异常时,可以重新插拔硬件复位

硬件连接

  • Thermal Camera HAT (B)连接到 Raspberry Pi 系列
    • Raspberry Pi 4B 需要叠加其它 HAT 模组时, 使用 40PIN 直排座连接树莓派和 HAT模块


引脚说明

Thermal Camera HAT 上使用 I2C 配置摄像头寄存器, 使用 SPI 发送温度数据

PI-4BThermal Camera HAT
5V5V
GNDGND
D2(BCM)SDA
D3(BCM)SCL
D10(BCM)MOSI
D9(BCM)MISO
D11(BCM)CLK
D23(BCM)nRESET
D24(BCM)D_READY
D7(BCM)SS


I2C总线

  • 读写时序示意图如下图所示,更多细节请参考datasheet

  • Thermal Camera HAT (B)上可以使用 0R 电阻选择 I2C 地址,默认使用 0x40,可选0x41,详情查阅原理图
  • Raspberry Pi 4B作为Master设备先后拉低SDA,SCL的引脚发起I2C总线的START condition 然后写入设备地址(7bits)和写命令(占1bit)共8bits数据, 如果引脚连接正确,Thermal Camera HAT作为Slave设备发出ACK响应
  • Raspberry Pi 4B继续分别写入寄存器地址(RA)和寄存器值(DATA)并等待ACK响应 , 写入完毕后 , 控制器先后拉高SCL,SDA引脚发送STOP condition
  • 如果Raspberry Pi 4B读取寄存器(RA)的DATA , 当写入RA等待ACK响应后重新发起START condition,再写入设备地址(7bits)和读命令(占1bit)共8bits等待ACK响应后, Thermal Camera HAT返回DATA,Raspberry Pi 4B接收DATA完毕后,保持SDA高电平即可
  • 连续写寄存器寄存器值请参考上图中的burst Read/Write Sequence
  • 寄存器Map请参考datasheet

SPI总线

  • Thermal Camera HAT (B)的 SPI 读时序示意图如下图所示,更多细节请参考datasheet


  • Rapberry Pi 4B 的 SPI 接口须工作在模式 0 下,MSB有效,使用 16 位数据宽度
  • 读取数据时须发送0x0000产生时钟信号,支持全帧温度数据读出模式
  • 当DATA_READY(D24引脚,缩写为D_READY)高电平时,摄像头全帧温度数据有效
  • 读取全帧数据后,DATA_READY 才会降低,上图中的Frame Header 和 Temperarute data 代表全帧数据

产品尺寸


测温原理

什么是红外测温?(引用自OPTRIS)
在测量领域,“温度”是仅次于“时间”的常用的物理参数之一。基于普朗克和玻尔兹曼辐射定律的原理,红外测温仪通过吸收被测物体发出的红外辐射来测定其温度。那么,非接触测温是如何实现的呢?

凡是温度高于绝对零度(0 K或-273.15℃)的物体,均会自表面向外发出电磁辐射,且该辐射与物体的固有温度成比例。在这种辐射中,包含用于实现测温的红外辐射。当该辐射贯穿大气后,借助专用镜头便能将其聚集在探测器上。随后,探测器会生成与该辐射成比例的电信号。该信号得到放大,并通过接受连续的数字信号处理而转化为与物体温度成比例的输出信号。如此一来,在显示器上便会显示出温度的测量值,或为信号形式输出。

在利用辐射实现测温时,辐射率ε(Epsilon)起到了至关重要的作用。它表明了实际物体与黑体的辐射值之间的关系。黑体的辐射率为1(最大值)。不过,能够满足黑体这一理想条件的物体并不多。在校准传感器时,一般会用到辐射体的接触面(包含所推荐的波长:0.99)。

就其波长而言,许多物体通常具有恒定的辐射率,但其辐射能力远不如黑体。它们被称作灰体。若物体的辐射率取决于其温度和波长(诸如金属类),则此类物体被称作选择性辐射体。在这两种情况下,所缺失的辐射部分通过辐射率的明确加以补充。当使用选择性辐射体时,需要牢记所测定的波长(针对金属,选择短波)。

除了自物体表面发出的辐射之外,红外传感器还能接受到周围环境的反射辐射,或许还有被测物体的贯穿红外辐射。

测量距离

  • 以175cm人体模型为标准,测试距离在12m左右,人体轮廓将分辨不出

测量精度

  • 目标物体超过模块FOV 25%或以上,相对湿度应低于95%,且不应有凝结水蒸气或镜片上有湿气时
使用温度℃目标温度℃最大偏差℃
全帧精度30.032.0-40.0±1.0 (center 32x24),±1.2 (entire)
30.010-32.0,40.0-70.0±1.5 (entire)
30.0<10.0,>70.0±2.0 (entire FPA),or 5%
单像素30.032.0-40.0±0.5 (center 32x24),±0.7 (entire)
30.010-32.0,40.0-70.0±1.0 (entire)
30.032.0-40.0±2.5 (entire),or 5%
温度稳定度30.032.0-40.0-0.21℃/℃
电源稳定度30.0-±1.0 ℃ / 100 mA

主要用途

  • 长时间非接触性物体温度在线监控方案
  • 红外热像仪、红外测温仪
  • 智能家居、智能楼宇、智能照明
  • 工业温度控制、安防、入侵/移动检测
  • 微小目标热分析,热趋势分析要点及解决方案

使用说明

Raspberry Pi 4B(buster&bullseys)

注意:新版程序已更新,在红外成像方面噪点更少,画面更加清晰

打开终端输入sudo raspi-config,选择 Interface Options,开启以下SPI和I2C接口,均选Yes,最后重启设备

    • 下载示例程序后解压,请根据提示信息安装库,安装过程需要较长时间,以下信息供参考
 wget https://www.waveshare.net/w/upload/9/9d/Thermal_camera_code.zip
 unzip Thermal_camera_code.zip
 cd pysenxor-master/
 sudo apt update
 sudo pip uninstall numpy(如果提示没有库,就进行下一步操作,如果有则卸载库:pip uninstall numpy)
 sudo pip install numpy
 sudo pip install smbus
 sudo pip install crcmod
 sudo pip install matplotlib
 sudo pip install imutils
 wget https://www.piwheels.org/simple/opencv-python/opencv_python-4.6.0.66-cp39-cp39-linux_armv7l.whl#sha256=c1360e46e5ebd47a92e00c1f75c7d293d6ffd00d7f9ff06666f9af05eff2094f
 pip install opencv_python-4.6.0.66-cp39-cp39-linux_armv7l.whl
 pip install cmapy 
 sudo python setup.py install 
    • 若库安装成功,则运行程序则会启动窗口显示热图像,下图所示
 cd pysenxor-master/example
 sudo python stream_spi.py


Raspberry Pi Bookworm使用教程

程序下载

示例程序

wget https://www.waveshare.net/w/upload/d/d4/Pysenxor-master.zip

安装依赖项

sudo apt install python3-numpy   
sudo apt install python3-smbus
sudo apt install python3-crcmod
sudo apt install python3-matplotlib
sudo apt install python3-opencv
wget https://files.pythonhosted.org/packages/25/47/f1d2c686253bea1454cc7db687a09ae912fbe4648a86ef7fcd9765f7639f/cmapy-0.6.6.tar.gz
tar -xzf cmapy-0.6.6.tar.gz
cd cmapy-0.6.6/
sudo python3 setup.py install

程序解压安装

unzip Pysenxor-master.zip
cd pysenxor-master/
sudo python setup.py install 

安装完毕后会有以下提示:

Thermal Camera HAT

终端执行指令开启SPI

sudo raspi-config

选Interface Options,选spi,选Yes,回车


继续选择Interface Options,选I2C,选Yes,回车,回车,Finish

sudo nano /boot/firmware/config.txt

在dtparam=spi=on语句的下方添加dtoverlay=spi0-0cs语句,保存退出

cd example 
sudo python stream_spi.py

Thermal USB Camera (B)

cd example 
sudo python stream_usb.py

技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841