Thermal Infrared (TIR)

The Thermal Infrared for Mindstorms NXTIntroduction

The Dexter Industries Thermal Infrared Sensor reads surface temperatures of objects.  It is a non-contact thermometer based on the MLX90614.  Detecting the infrared radiation from an object, the sensor can read object temperatures between -90°F and 700°F (-70°C and +380°C).  The sensor has a high accuracy of 0.5°C and a resolution of 0.02°C.

The Thermal Infrared Sensor reads both the ambient temperature (the temperature of the air around the sensor) and  the surface temperature of the object that the sensor is pointed towards.

 

Hardware

The Thermal Infrared Sensor can be connected to any of the four sensor ports on the Mindstorms NXT.  The sensor uses I2C protocol to communicate with the Mindstorms NXT.

Layout

Layout for the Thermal Infrared Sensor For Mindstorms NXT

On the frontside of the sensor:

 

 

 

 

 

Thermal Infrared Sensor - Backside of the Sensor

On the backside of the sensor:

 

Hints and Warnings

 

Software

Overview

The Thermal Infrared Sensor communicates with the LEGO Mindstorms through any sensor port on the NXT.  The detector on the front of the sensor board is controlled by a microcontroller (on the back of the sensor board).  The microcontroller translates signals from the detector to the Mindstorms NXT.

For most program, the Thermal Infrared Sensor NXT-G Block will be sufficient.

NXT-G

NXT-G blocks have been developed for the Thermal Infrared Sensor.  These blocks read object temperature and the ambient temperature.  They can be downloaded here:

Thermal Infrared Sensor NXT-G Block: The NXT-G Block has two outputs.  One reads an object’s temperature and one reads the ambient temperature.  Temperatures are output in 100XKelvin.

Thermal Infrared NXT-G Block Marker for Mindstorm NXT Sensor

The Sensor Icon in NXT-G

NXT-G-Block for Mindstorms NXT

The Sensor Block in NXT-G

NXT-G Block Control Panel for Thermal Infrared Sensor for Lego Mindstorm NXT

The Thermal Infrared Sensor NXT-G Control Panel

 

 

 

 

 

 

 

 

 

 

Thermal Infrared Emissivity NXT-G Block: Most objects and materials you will want to measure the temperature of will not need the emissivity adjusted.  The sensor has a default emissivity of 1.0, representing a black body.  However, some materials (especially polished metals and reflective materials) will need the emissivity adjusted to measure temperature accurately.  This block can be used to changewrite the emissivity of the object being read.  Emissivity is typically expressed as a fraction, were 1.0 is a perfect black body.  To set the emissivity to 1.0, the number into the block should be 10,000.  To set the emissivity to Aluminum aluminum foil (ε = 0.04), for example, the number into the block should be 400.

If the emissivity value is set to a new value, it will remain set to that value until the emissivity is reprogrammed.

The emissivity of common materials can be found here.

Emissivity Block

A quick program in NXT-G for setting the emissivity.

 

 

 

 

 

 

 

 

 

Sensor Firmware

Advanced users that want to develop firmware are able to do so.  This information is provided to advanced users, but is by no means necessary to understand to fully use the thermal infrared sensor.

The firmware for the TIR sensor was written in Atmel’s AVR Studio 5.0.  The firmware polls the SMBus protocol of the MLX90614 and translates it into standard I2C for the Mindstorms NXT.  The I2C slave address of the sensor is 0x0E (in hex format).  The TIR has two registers it updates with temperature information:

When the LEGO MINDSTORM NXT requests a register, the Infrared sensor returns two bytes:  a High Byte and a Low Byte.  The High and Low Bytes.  When these are shifted and combined into a single floating point number and then multiplied by the Temperature Factor (0.02), this gives the temperature, in Kelvin, multiplied by 100 (divide by 100 to get an accurate floating point value).  See the examples below for more information.

RobotC

An example in RobotC.  This example reads the object temperature, ambient temperature, and emissivity, and writes the emissivity.  The RobotC example for LEGO MINDSTORMS NXT can be found here.

NXC

Lejos

Labview

Labview VI’s for the Dexter Industries Thermal Infrared Sensor can be found here:  Dexter_Industries_TIR_For_Labview.zip

Frequently Asked Questions

Got a question?  Post it below or contact Dexter Industries about it!

Author: Administrator on May 16, 2011
Category:
9 responses to “Thermal Infrared (TIR)”
  1. [...] 09 Jun Hey baby, you’re on fire!  No really, you are, I can tell with my new Thermal Infrared Sensor from Dexter [...]

  2. [...] 12 Jun Having spent most of yesterday hacking and optimizing the firmware for the new Dexter Industries Thermal IR Sensor, I thought I would go ahead and make something fun with it [...]

  3. [...] built a pan and tilt rig for the Dexter Industries Thermal IR Sensor with a great deal of gearing down to allow me to take a lot of measurements as the rig moved [...]

  4. [...] the initial post about my thermal imaging system using the Dexter Industries Thermal Infrared Sensor, I made some improvements with both the speed and accuracy of the whole thing. I made the sensor [...]

  5. [...] spent most of yesterday hacking and optimizing the firmware for the new Dexter Industries Thermal IR Sensor, I thought I would go ahead and make something fun with it [...]

  6. Chris says:

    What IR frequencies will this sensor read? Could it be used to detect an artificial IR source?

    • Administrator says:

      Chris,

      An optical filter (long-wave pass) cuts off visible and near IR radiant flux to provide ambient and sunlight immunity. Wavelength pass-band of this filter is from 5.5
      to 14μm.

      • Chris says:

        This may be too technical, but what is the correlation between temp. & IR frequency? I’m sure its not linear, but your sensor has a range of -90 to 700F, how does that relate to the 5.5-14um frequency range? Any idea about how hard it would be to build a tunable IR source that could be set within the 5.5-14um range to provide an artificial IR source for the sensor? I’m thinking about using the sensor for IR navigation and would like to be able to build IR towers that could be setup with specific frequencies that could be detected by the NXT as specific temperatures. Any ideas?

        • Administrator says:

          Chris, you would be better off with a sensor operating in a different range I think. It would seem intuitively that you would receive a lot of interference from anything that is in that temperature range. There are a wide spectrum of IR detectors out there, some built for single-purpose wavelengths. I would for one of those for your solution.

Leave a Reply