MLX90640-D55 Thermal Camera

From Waveshare Wiki
Jump to: navigation, search
MLX90640-D55 Thermal Camera
MLX90640-D55-Thermal-Camera

MLX90640 IR Array Thermal Imaging Camera, 32×24 Pixels, 55° Field of View, I2C Interface
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

Primary Attribute
Category:
{{{userDefinedInfo}}}: {{{userdefinedvalue}}}
Brand: Waveshare
Website
English: Waveshare website
Chinese: 中文网站
Onboard Interfaces
I2C
Related Products

Instruction

This is a 32×24 pixels, 55° field of view, IR array thermal imaging camera, communicating via I2C interface. It is compatible with 3.3V/5V operating voltage, supports host platforms such as Raspberry Pi/Arduino(ESP32)/STM32, etc.

Features

  • Adopts MLX90640 far-infrared thermal sensor array, 32×24 pixels
  • Communicating via I2C interface, configurable to fast mode (up to 1MHz data rate)
  • Noise Equivalent Temperature Difference (NETD) 0.1K RMS @1Hz refresh rate
  • Onboard voltage translator, compatible with 3.3V/5V operating voltage
  • Comes with development resources and manual (examples for Raspberry Pi/Arduino(ESP32)/STM32)

Specification

Operating voltage: 3.3V/5V Operating current: <23mA Communication interface: I2C (address 0x33) Field of view (Horizontal×Vertical):

  • MLX90640-D55 Thermal Camera: 55°×35° (narrow angle FOV, suit for long range measuring)
  • MLX90640-D110 Thermal Camera: 110°×75° (wide angle FOV, suit for short range measuring)
  • Operating temperature: -40℃~85℃
  • Target temperature: -40℃~300℃
  • Resolution: ±1℃
  • Refresh rate: 0.5Hz~64Hz (programmable)
  • Dimensions: 28mm×16 mm
  • Mounting hole size: 2.0mm

Interface

  • Vcc: Connect to 3,3V (MCU)
  • GND: Connect to GND (MCU)
  • SDA: Connect to SDA pin of I2C interface (MCU)
  • SCL: Connect to SCL pin of I2C interface (MCU)

I2C

This camera use the I2C interface supports High-speed mode. The default I2C address is 0x33.

MLX90640 Thermal Camera manual-1.png

Pixel position

MLX90640 consists of 768 IR sensors (also called pixels). Each pixel is identified with its row and column position as Pix(i, j) where i is its row number (from 1 to 24) and j is its column number (from 1 to 32)

MLX90640 Thermal Camera manual-2.png

It is normal that the sensor may has less than four bad pixels. Every bad pixel is marked in EEPROM table. So the module you get may have bad pixels, it is normal and not covered by warranty. If the module you get has bad pixels, you can use the average value of the neighboring pixels.

Address map

MLX90640 Thermal Camera manual-3.png

RAM

MLX90640 Thermal Camera manual-4.png

EEPROM

The EEPROM is used to store the calibration constants and the configuration parameters of the device

MLX90640 Thermal Camera manual-5.png

Refresh rate

This module support 8 kinds of refresh rate, up to 64Hz. The refresh rate is configured by registers 1-0x800D

MLX90640 Thermal Camera manual-6.png

The refresh rate is defined by Bit 7, Bit 8 and Bit 9 of control registers 1-0x800D.

Reading patterns

Chess pattern mode (factory default)

MLX90640 Thermal Camera manual-7.png

TV interleave mode

MLX90640 Thermal Camera manual-8.png

The array frame is divided into two subpages and depending on bit 12 in “Control register 1” (0x800D). As a standard the MLX90640 is calibrated in Chess pattern mode, this results in better-fixed pattern noise behavior of the sensor when in chess pattern mode. For best results, we advise to use chess pattern mode.

Measure principle

The FOV of this module is determined by 50% radiation signal which is received by the thermopile, it is also influenced by the main axis of the sensor. The temperature measured is the weighted average of the detected object's temperature in FOV. To improve the accuracy, you should make sure that the detected object is in the FOV totally.

MLX90640-D55 Thermal Camera 030.jpg

Examples

Raspberry Pi

Hardware connection
MLX90640-D55 Thermal Camera 031.jpg
Raspberry Pi MLX90640 Thermal Camera
5V 5V
GND GND
SDA(BCM2) SDA
SCL(BCM3) SCL
Download the demo codes and use it.
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 RaspberriPi/C++显示屏显示/
tar -xvf MLX90640_Thermal_Camera_SDL2.tar.gz
cd MLX90640_Thermal_Camera_SDL2/
sudo ./install.sh
make
sudo ./main
If the detecting has delay, you can try to modify the i2c speed in config.txt file
sudo nano /boot/config.txt
Add the line below to the config.txt file, reboot and check it again
dtparam=i2c1_baudrate=1000000

STM32

Hardware connection
MLX90640-D55 Thermal Camera 032.jpg
STM32 MLX90640 Thermal Camera
5V 5V
GND GND
SDA(PB11) SDA
SCL(PB10) SCL

ESP32

Hardware connection
MLX90640-D55 Thermal Camera 034.jpg
ESP32 MLX90640 Thermal Camera
5V 5V
GND GND
SDA(P21) SDA
SCL(P22) SCL

Test result

MLX90640-D55 Thermal Camera 001.gif

FAQ

Question:
What is the measurement distance of the MLX90640-D110, and what is the max frame rate?
Answer:

A tester is 178cm tall, stands in 1M far, shake his hand backward. The focus disappears when the tester is farer than 11M. When the test away to 5M far, the camera loses the body contour. The Camera supports Maximum 64Hz.



Resources

Documents

Demo codes

Supports

Mail.png Contact your seller (fast response and most recommended)

or send emails to [email protected] (not fast enough but please be patient) for help.

Our working time: 09:00-18:00 (UTC+8 Monday to Saturday)