Operating time on 1 battery charge - 8 hours 40 minutes.
Thermal imager weight (without case) - 72 grams
Let's take a closer look at the details of the project…
MLX90640 sensor
There are 2 versions of the sensor:
With the letter A in the name has FOV 110 / 75
With the letter B in the name it has FOV 55 / 35 - I have one
Inside the sensor is a 32x24 matrix of elements sensitive to IR radiation. The manufacturer allows up to 4 defective pixels. They are stored in EEPROM and are considered to be interpolation from neighboring pixels.
Inside the sensor there are 768 IR receivers (!!!) + VDD meter + built-in chip thermometer (it estimates the temperature of the sensor case).
The sensor is factory calibrated. Calibration coefficients are stored internally in the sensor in EEPROM.
Temperature range: -40…+300
Operating temperature range: -40 ... +85
The sensor is powered by 3.3 V (up to 3.6 V). Withstands 5V supply for a short time.
Average current consumption 20 mA.
The sensor has 4 pins. 2 of them for power and 2 more for the i2c interface.
The i2c pins are 5V tolerant. The i2c frequency is up to 1MHz. The i2c address can be changed by software, the default is 0x33.
Software from Melexis
In addition to the sensor, I have an evaluation board from melexis (EVB90640-41).
The board allows you to connect the sensor to a computer.
The board has a socket where you need to insert the sensor, and a mini-USB port for connecting to a computer.
The evaluation board is based on the STM32F446 microcontroller.
The board has CAN and LIN interfaces. The purpose of these interfaces is unknown to me. Most likely Melexis implemented them for one of their customers.
VP230 - CAN transceiver
80020BA - LIN transceiver
In MlxCIRT 90640 software, you can view general information about the sensor, start data acquisition and configure parameters in EEPROM.
The frame rate is selectable from 0.5 Hz to 64 Hz.
This is the frequency of reading half a frame from the matrix (the matrix is scanned in 2 stages using a checkerboard or interlaced pattern).
The matrix scan template can also be selected in MlxCIRT 90640. The manufacturer recommends the chess template because the factory calibration is done for it.
You can update the firmware of the demo board in MlxCIRT 90640.
Reading thermograms is possible in a CSV file for further analysis.
Let's start reading thermograms.
Now the sensor is directed to the ceiling. There are no hot and cold objects on it and you see a rather noisy image. This is because the software has automatically chosen a very narrow temperature range for the color scale - only 2 degrees.
Now I brought my hand into the field of view of the sensor and this is what the thermogram looks like now:
During a fast movement (FPS = 4 Hz is selected), we see a characteristic “checkerboard defect” on the thermogram, associated with the order of scanning the matrix by the sensor:
Now let's try a frequency of 32 Hz. As you can see, the image has become noisier:
This effect is mentioned in the documentation. The higher the frequency of collecting thermograms, the higher the thermal noise of the pixel. The dependence is approximately the following: the noise increases by 0.1 degrees with each Hz of frequency (for the sensor version with FOV 55).
It turns out that with a data collection frequency of 64 Hz, we can get up to 5-6 degrees of noise.
Therefore, high acquisition rates of thermograms are not suitable for domestic use, but this allows the sensor to be used in systems where it is necessary to quickly determine the appearance and location of a very hot or cold object (if the temperature of the object is very different from the ambient temperature).
The noise also depends on the temperature of the measured object. The lower the temperature of the object, the...
Read more »
Federico, what happens when you select amd/x86 as the compiler kit? Does it work?