MLX90641-D55 Thermal Camera

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

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

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

Instruction

The MLX90641-D55 Thermal Camera is a small size, non-contact, and low-cost IR array thermal imaging camera, with 16 × 12 pixels. It will detect the IR distribution of objects in the field of view, turn the data into the surface temperature of the objects by calculation, and then generate thermal images, for easy integration into miscellaneous industrial or intelligent control applications.

Features

  • Adopts MLX90641 far-infrared thermal sensor array, 16 × 12 pixels.
  • Communicating via I2C interface, configurable to fast mode (up to 1MHz data rate).
  • Noise Equivalent Temperature Difference (NETD) 0.1K RMS@4Hz refresh rate.
  • Onboard voltage translator, compatible with 3.3V/5V operating voltage.
  • Programable frame rate 0.5~64Hz (0.25~32FPS).

Specification

  • Operating voltage: 3.3V/5V
  • Operating current: ≈12mA
  • Communication interface: I2C (adds 0x33)
  • Field of view (Horizontal × Vresertical): 55° x 35°
  • Operating temperature: -40℃~125℃
  • Target temperature: -40℃~300℃
  • Resolution: ±2℃ (ambient temp. 0~50°)
  • Refresh rate: 0.5Hz~64Hz (programmable)
  • Dimensions: 28mm × 16 mm
  • Mounting hole size: 2.0mm

Application

  • High-precision non-contact object temperature detection
  • Infrared thermal imager, infrared thermometer
  • Smart Home, Smart Building, Smart Lighting
  • Industrial temperature control, security, intrusion/motion detection

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)

Communication Protocol

MLX90641-D55 Thermal Camera communication protocol is I2C, supports I2C high-speed mode (up to 1MHz), only as a slave device on the I2C bus, SDA and SCL ports can withstand 5V voltage, can be directly connected to the 5V I2C bus, the module's device address can be programmed, up to 127 addresses As with the general I2C bus, there are three types of signals during data transfer: start signal, end signal, and answer signal.
MLX90640-D55 Thermal Camera 020.jpg
Start signal: SCL is high level, SDA is converted from high level to low level.
End signal: SCL is high level, SDA is converted from low level to high level.
It can be seen that the start signal and the end signal are completed when the SCL bus is high.
MLX90640-D55 Thermal Camera 021.jpg

I2C

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

MLX90640 Thermal Camera manual-1.png

Pixel position

MLX90641 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 have less than four bad pixels. Every bad pixel is marked in the 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 supports 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 MLX90641 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 using chess pattern mode.

Measure principle

The FOV of this module is determined by a 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

MLX90640-D55 Thermal Camera 031.jpg

1. When using the sensor, please pay attention to avoid direct contact with the onboard IC devices in your hands. Pay attention to prevent static electricity and check the power supply to prevent reverse connection before powering on.

2. When the sensor is working, please avoid excessive vibration and do not plug or unplug cables. Since the core device MLX90641 has EEPROM, which will easily be damaged by vibration and hotplug.

Hardware connection
Raspberry Pi MLX90641 Thermal Camera
5V 5V
GND GND
SDA(BCM2) SDA
SCL(BCM3) SCL
Enter the following command in the Raspberry Pi terminal, and use the first command to enable hardware I2C. If it has been set, you can skip this command. The related settings are as shown in the figure below
sudo raspi-config
cd ~
wget https://files.waveshare.com/upload/d/d9/Mlx90641-D55_Thermal_Camera_Code.zip
unzip Mlx90641-D55_Thermal_Camera_Code.zip
cd Mlx90641-D55_Thermal_Camera_Code/raspberrypi/cpp/
chmod +x install.sh
sudo ./install.sh
make
sudo ./main

MLX90640-D55 Thermal Camera 099.jpg



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

MLX90640-D55 Thermal Camera 032.jpg

1. When using the sensor, please pay attention to avoid direct contact with the onboard IC devices in your hands. Pay attention to prevent static electricity and check the power supply to prevent reverse connection before powering on.

2. When the sensor is working, please avoid excessive vibration and do not plug or unplug cables. Since the core device MLX90641 has EEPROM, which will easily be damaged by vibration and hot plug.

Hardware connection
STM32 MLX90641 Thermal Camera
5V 5V
GND GND
SDA(PB11) SDA
SCL(PB10) SCL

ESP32

MLX90640-D55 Thermal Camera 034.jpg

1. When using the sensor, please pay attention to avoid direct contact with the onboard IC devices in your hands. Pay attention to prevent static electricity and check the power supply to prevent reverse connection before powering on.

2. When the sensor is working, please avoid excessive vibration and do not plug or unplug cables. Since the core device MLX90641 has EEPROM, which will easily be damaged by vibration and hot plugs.

Hardware connection
ESP32 MLX90641 Thermal Camera
5V 5V
GND GND
SDA(P21) SDA
SCL(P22) SCL

FAQ

 Answer:

The official manual doesn't give the anthropometric distance parameters. The test result of Waveshare Electronics is as below: when in the indoor temperature is 26 ℃ and the light is dim, and the tester is 178 cm tall in 1m far, starts to shake his hand and backward. When the test away to 5M far, the camera loses the body contour. For the calculation formula of object surface area and imaging, please refer to the official website
MLX90640-D55 Thermal Camera 001.gif
MLX90640-D55 Thermal Camera 036.jpg

{{{5}}}


Resources

Documents

Demo codes

Support



Technical Support

If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)