MLX90615 infrared thermometer and Chipkit

In this article we will look at the mlx90615 infrared thermometer connect it to a chipkit, in this case we used a chipKit Max32 but the other boards should work as well

The MLX90615 is a miniature infrared thermometer for non-contact temperature measurements. Both the IR sensitive thermopile detector chip and the signal conditioning ASIC are integrated in the same miniature TO-46 can.

The infrared thermometer comes factory calibrated with a digital SMBus output giving full access to the measured temperature in the complete temperature range(s) with a resolution of 0.02 °C. The sensor achieves an accuracy of ±0.2°C within the relevant medical temperature range. The user can choose to configure the digital output to be PWM.

Features

Factory calibrated in wide temperature range: -20 to 85°C for sensor temperature and -40 to 115°C for object temperature
High accuracy of 0.5°C over wide temperature range (0..+50 C for both Ta and To)
Medical accuracy of 0.2°C in a limited temperature range
Measurement resolution of 0.02°C
SMBus compatible digital interface for fast temperature readings and building sensor networks
Customizable PWM output for continuous reading
3V supply voltage with power saving mode

Layout

Here is a layout which shows how to connect the sensor to a chipkit

max32 and ml90615
max32 and ml90615

Code

This particular example comes from the following library which I installed for testing – https://github.com/skiselev/MLX90615

#include <Wire.h>
#include <mlx90615.h>
 
MLX90615 mlx = MLX90615();
 
void setup() 
{
  Serial.begin(9600);
  Serial.println("Melexis MLX90615 infra-red temperature sensor test");
  mlx.begin();
  Serial.print("Sensor ID number = ");
  Serial.println(mlx.get_id(), HEX);
}
 
void loop() 
{
  Serial.print("Ambient = ");
  Serial.print(mlx.get_ambient_temp());
  Serial.print(" *C\tObject = ");
  Serial.print(mlx.get_object_temp());
  Serial.println(" *C");
  delay(500);
}

 

Output

Open the serial monitor and you should see something like this displayed

Melexis MLX90615 infra-red temperature sensor test
Sensor ID number = 876736
Ambient = 19.13 *C Object = 20.55 *C
Ambient = 19.13 *C Object = 20.55 *C
Ambient = 19.09 *C Object = 20.49 *C
Ambient = 19.09 *C Object = 20.49 *C
Ambient = 19.09 *C Object = 20.61 *C
Ambient = 19.09 *C Object = 20.65 *C
Ambient = 19.09 *C Object = 20.49 *C
Ambient = 19.13 *C Object = 20.45 *C
Ambient = 19.13 *C Object = 22.91 *C

Links

https://www.melexis.com/-/media/files/documents/datasheets/mlx90615-datasheet-melexis.pdf

1PCS MLX90615 Digital Infrared Temperature Sensor for Arduino

Share