Thermal Camera HAT
| ||||||||||||||||||||
| ||||||||||||||||||||
说明
产品简介
Thermal Camera HAT, Thermal USB Camera 分别是40 GPIO Pin接口和USB接口的远红外热像仪模块,有80(H)×62(V)测温像素, 支持Raspberry Pi,电脑,安卓手机等设备,采用微测辐射热计和热电堆像素的混合技术,可检测镜头视野中物体的红外辐射能量分布,经量化处理后可获得该视野物体表面温度分布,并生成热成像图,方便集成到各种工业或智能控制应用中。
注意:请勿随意更新固件,更新固件会导致设备异常
产品特性
- 采用微测辐射热计和热电堆混合技术,具有 80(H)×62(V) 像素
- 无快门设计,支持连续运行和热图像视频流
- 具有噪声等效温差 (NETD) 150mK RMS@1Hz 刷新率,噪声性能好
- 支持 25FPS (Max) 帧率输出热成像视频流
- 提供完善的配套资料手册 (Raspberry Pi Python 示例程序,Android/Windows 上位机和用户手册等)
产品参数
- 工作电压: 5V
- 工作电流: 61mA@5V
- 波长范围: 8~14μm
- 视场角: 45°(H)×45°(V)(水平视角×垂直视角)
- 工作温度: -20℃~85℃
- 目标温度: -20℃~400℃
- 检测精度: ±2℃
- 刷新速率: 25 FPS(Max)
- 产品尺寸:
- Thermal Camera HAT:65.0×30.5mm
- Thermal USB Camera:62.0×13.0mm
- 噪声等效温差:150mK
硬件说明
- Thermal Camera HAT 连接到 Raspberry Pi 系列的40 GPIO Pin 上
- Thermal Camera HAT 上使用 I2C 配置摄像头寄存器, 使用 SPI 发送 温度数据
- Thermal Camera HAT 板子上有RESET按键,当出现异常时,可以按下实现硬件复位
- Thermal USB Camera 连接到 Windows 电脑或安卓手机, 使用 USB 接口发送温度数据
- Thermal USB Camera 板子上有RESET按键,当出现异常时,可以按下实现硬件复位
硬件连接
- Thermal Camera HAT 连接到 Raspberry Pi 系列
- Raspberry Pi 4B 需要叠加其它 HAT 模组时, 使用 40PIN 直排座连接树莓派和 HAT模块
- 使用 100mm 软排线延长摄像头连接, 使其视角可以移动
- Thermal USB Camera 连接 Windows 电脑或安卓手机
- Thermal USB Camera配件中有Type-C 双公口数据线可以连接至PC和安卓手机,若需要使用Type-C转Type-A公口,请另外购买
引脚说明
Thermal Camera HAT 上使用 I2C 配置摄像头寄存器, 使用 SPI 发送温度数据
PI-4B | Thermal Camera HAT |
5V | 5V |
GND | GND |
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上可以使用 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 的 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.0 | 32.0-40.0 | ±0.8 (center 32x24),±1.0 (entire) |
30.0 | 10-32.0,40.0-70.0 | ±1.5 (entire) | |
30.0 | <10.0,>70.0 | ±2.0 (entire),or 5% | |
单像素 | 30.0 | 32.0-40.0 | ±0.5 (center 32x24),±0.7 (entire) |
30.0 | 10-32.0,40.0-70.0 | ±1.0 (entire) | |
30.0 | 32.0-40.0 | ±2.5 (entire),or 5% | |
温度稳定度 | 30.0 | 32.0-40.0 | -0.21℃/℃ |
电源稳定度 | 30.0 | - | ±1.0 ℃ / 100 mA |
主要用途
- 长时间非接触性物体温度在线监控方案
- 红外热像仪、红外测温仪
- 智能家居、智能楼宇、智能照明
- 工业温度控制、安防、入侵/移动检测
- 微小目标热分析,热趋势分析要点及解决方案
使用说明
Windows
- 连接 Thermal USB Camera 到 PC , 配件中有 Type-C 双公口数据线可以连接至PC和安卓手机,若需要使用Type-C转Type-A公口,请另外购买
- 打开 SenXxorEvkViewer.exe软件 , 点击界面中 Refresh 按钮后选择 Serial Port ,最后点击 Connect
- Connect之后,会有热图像在 SenXxorEvkViewer.exe 软件 中显示,点击热图像中某一点,Image Info Ttarget 栏中会显示特定点的温度值和坐标
- Color Plette Selection 栏可以选择不同热图像的渲染模式,默认选用 HEATED_IRON,FPS 栏中的 Down 和 Up可以调整帧率
- SenXxorEvkViewer.exe 软件的右下角有录制模式, 可以将热图像的数据保存为TXT文件, 文件中每一行记录着每一帧图像的每一像素点的温度值
Android
- 使用 Type-C 双公口数据线配件连接 Thermal USB Camera 到 Android 手机
- Android 手机打安装 APP并打开 , APP会自动识别并打开红外热成像摄像头,若未自动打开,请重新插拔 Type-C 数据线
- 连接 Thermal USB Camera 之后,热图像在 APP 软件中显示,点击热图像中对应显示视场内物体,则可以显示对应温度值
- APP 软件中热图像左下方三角箭头可以选择不同热图像的渲染模式,默认选用 HEATED_IRON,右边 FPS 栏中的上下箭头可以调整帧率或使用动态帧率
- SNAPSHOT 和 RECORD 是对热图像截图和录像,AI FILTER 对图像噪点滤波,FEVER DETECTION 可以对人脸识别后,对人体和镜头距离估计和发热的检测
Raspberry Pi 4B(buster&bullseys)
注意:新版程序已更新,在红外成像方面噪点更少,画面更加清晰
- 推荐已安装好库的镜像进行测试,使用镜像进行测试请忽略下面环境安装等操作
- 百度云盘树莓派镜像提取码fp1f,谷歌云盘树莓派镜像,镜像账号密码都是 test
- 若用户自行下载库安装,请根据提示信息安装库
- 使能 Raspberry Pi 4B 的 SPI 和 I2C 总线
打开终端输入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使用教程
注意:由于bookworm环境本身已不再支持python-pip,所以为了正常使用安装包,需要在虚拟机环境下进行操作。 如果觉得配置环境复杂,可以使用这里的镜像,用户名和密码都为test.
sudo apt install python3-venv python3 -m venv myenv #myenv是创建的虚拟环境的名称 source myenv/bin/activate
注意:如果需要开机就进入虚拟环境可以按照下列的方法操作,或者开机执行source myenv/bin/activate即可进入虚拟环境
deactivate #退出虚拟环境 sudo nano ~/.bashrc
在文件的最后一行添加以下内容:
source /home/用户名/myenv/bin/activate
ctrl+x保存退出
source ~/.bashrc #使文件生效
执行完指令后就会看到又重新进入虚拟环境。
程序下载
wget https://www.waveshare.net/w/upload/5/52/Thermal_Camera_Hat.zip
安装依赖项
pip install cmapy pip install numpy pip install smbus pip install crcmod pip install matplotlib pip install opencv-python pip install cmapy
程序解压安装
unzip Thermal_Camera_Hat.zip cd pysenxor-master/ pip install -e ./
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
cd example sudo python stream_usb.py
资料
文档
Thermal_Camera_HAT原理图
Thermal_USB_Camera原理图
程序
软件
- Panasonic_SDFormatter
- Win32DiskImager
- Thermal_USB_Camera_Android_Software
- Thermal_USB_Camera_PC_Software
- 百度云盘树莓派镜像提取码fp1f
- 谷歌云盘树莓派镜像
数据手册
FAQ