Professional Documents
Culture Documents
MLX90614 Overview: Thermopile Detector Application Processor Stefan-Boltzman Law
MLX90614 Overview: Thermopile Detector Application Processor Stefan-Boltzman Law
Internally, the MLX90614 is a pairing of two devices: an infrared thermopile detector and a
signal-conditioning application processor.
Per the Stefan-Boltzman law, any object that isn't below absolute zero (0°K) emits (non-human-
eye-visible) light in the infrared spectrum that is directly proportional to its temperature. The
special infrared thermopile inside the MLX90614 senses how much infrared energy is being
emitted by materials in its field of view, and produces an electrical signal proportional to that.
MLX90614 internal block digram showing the thermopile (MLX81101) and ASSP (MLX90302)
(from datasheet page 10).
That voltage produced by the thermopile is picked up by the application processor's 17-bit ADC,
then conditioned before being passed over to a microcontroller.
MLX90614 Pinout
Capabilities
The MLX90614 produces two temperature measurements: an object and an ambient reading. The
object temperature is the non-contact measurement you'd expect from the sensor, while the
ambient temperature measures the temperature on the die of the sensor. The ambient can be
useful to calibrate the data, but the real meat of our readings will come from the object
temperature measurement.
The object temperature measurements can range from -70 to 382.2 °C (-94 to 719.96 °F), while
the ambient temperature reading ranges from -40 to 125 °C.
Both the ambient temperature and object temperatures have a resolution of 0.02 °C.
MLX90614BAA
There are many varieties of the MLX90614 out there, each suffixed with three letters. The
different sensor options vary by operating voltage, number of IR thermopiles, and whether they
filter inside our outside the sensor. We're carrying the MLX90614BAA, which is rated for a 3V
operating voltage with a single infrared sensor and an internal filter.
The variant also determines the field of view, which on the MLX90614BAA is 90°.
Speaking of which...
The MLX90614BAA has a relatively wide field-of-view angle: 90°. That means for every 1cm
you move away from an object, the sensing area grows by 2cm. If you're one foot away from an
object (30.48cm), the sensing area will be two feet (60.96cm).
Output Interfaces
The MLX90614 supports two interfaces -- though you'll need one to access the other. The two-
wire SMBus interface is the primary means for communicating with the IR sensor. Once you've
set up an SMBus interface, you can later configure the MLX90614 to produce a pulse-width
modulated (PWM) signal representing the measured temperature(s).
SMBus (I2C)
The sensor is configured and read from over a 2-wire SMBus interface -- very similar, and nearly
functionally equivalent to I2C. The two signals -- SDA and SCL -- carry the data and clock
signals respectively. A master device controls the clock, while the data signal is bi-directionally
controlled.
Every MLX90614 has a default I2C address of 0x5A, but that address can be re-written -- one of
the major features supported by the device. By reconfiguring the address of an MLX90614, you
can add multiple devices (up to 127!) to the same bus to get a larger temperature map.
One last bit to note about the SMBus interface -- every read or write transmission should be
completed with an 8-bit CRC (CRC-8-CCITT) check using a x8+x2+x1+x0 polynomial -- handy
for that extra bit of data-confidence.
The PWM output can be difficult to use with a microcontroller, but it is very powerful if you
want to use the MLX90614 to directly control a relay or other externally triggered device.
By configuring the sensor's range -- setting minimum and/or maximum temperature values -- the
PWM output can be turned into a "thermal relay" signal. The PWM signal will be low unless the
the object temperature exceeds the set threshold.