IrThermo Click Board 5V
IrThermo Click Board 5V
Overview
Introduce an Infrared (Ir) Thermometer to your design with the IrThermo Click Board™ from MikroE. This add-on board offers a compact and easy solution for non-contact temperature measurements.
This 5V version of the IrThermo Click Board™ features a Melexis MLX90614ESF-AAA single-zone infrared thermometer module that is configured to determine the temperature in the range of -70 to +380
The IrThermo 5V Click Board™ is a contactless temperature measurement device that relies on the accurate thermopile sensor chip, which encompasses both the thermopile sensor element and the ASSP. The ASSP - signal conditioning circuitry features 17bit ADC and powerful DSP which allow high degree of accuracy and wide temperature measurement range. The IrThermo click is equipped with both the 10bit PWM interface and the SMBus/I2C interface.
Featuring high degree of integration, as well as great accuracy and a wide temperature measurement range, IrThermo click is perfectly suited for controlling the temperature of the elements which are out of reach for other measurement methods, such as some moving parts in the automotive industry, general purpose industry applications, air conditioning devices, and similar applications that require accurate temperature measurement in hard to reach places.
How Does The IrThermo 5V Click Board™ Work?
The main principle on which the IrThermo 5V Click Board™ relies, is the measurement of the temperature by the contactless IR sensor MLX90614, from Melexis. This sensor is an IR sensor of a thermopile character. A thermopile sensor is actually a serially connected thermocouple array, with hot junctions located on the heat absorbing membrane. The cold junctions are located on a cold base, providing the reference point for generating the voltage. Due to the low-temperature capacity of the membrane, it will react to the heat radiation, generating voltage via the thermoelectric effect. The ASSP circuitry of the MLX90614 sensor, processes the voltage, allowing the accuracy of ±0.5˚C. The MLX90614 sensor is factory calibrated in wide temperature range: -40°C to 125°C for sensor temperature and -70°C to 380°C for object temperature. The ASSP circuitry also provides advanced interfacing options for the MCU, with the CRC error checking.
The MLX90614 is equipped with a portion of EEPROM, which is used to store various config parameters, calibration data, as well as the chip ID address. Changing the values in the EEPROM will not take effect until the device is restarted.
The data can be read both from the SMBus interface and from the PWM. The SMBus interface is mainly compatible with the I2C interface, but there are some minor differences, which require attention while writing custom code. These differences are not specific to the used sensor. They originate from the slightly different design of those two protocols. More information about these differences can be found in the datasheet of the MLX90614 sensor. However, provided libraries contain functions that take care of the proper communication. There is also an example application which demonstrates the usability of these functions, which can be used as a reference for a custom project design.
The I2C/SMBus lines of the IrThermo 5V Click Board™ are routed to the mikroBUS™ for an easy integration with the host MCU. These lines are pulled up to the VCC by the onboard resistors. The communication selection type between the PWM and the SMBus/I2C is done by switching the onboard SMD jumpers labelled as SELECT MODE. These jumpers should both be positioned either to select the PWM communication mode, or the I2C mode. No mixed positions are allowed. Also it should be noted that these two SMD jumpers are the only SMD jumpers that should be switched on the click board™.
There are two types of the IrThermo Click Board™ available: IrThermo 3.3V Click Board™ and IrThermo 5V Click Board™. This is due to a fact that there are two different MLX90614 sensor versions, available for both 3.3V and 5V MCUs. The 3.3V version uses the MLX90614 ESF BAA sensor, while the 5V version uses the MLX90614 ESF AAA sensor.
SPECIFICATIONS
Type | Temperature & humidity |
Applications | The IrThermo 5V Click Board™ is ideal for automotive, industrial temperature control, movement detection, air conditioning control and more |
On-board modules | MLX90614ESF-AAA single zone Infrared Thermometer |
Key Features | 17-bit ADC powerful DSP unit and 10-bit PWM, configured to measure temperature in range of -40°C to 125°C, with the output resolution of 0.14°C |
Interface | I2C,PWM,UART |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Input Voltage | 3.3V |
PINOUT DIAGRAM
This table shows how the pinout of the IrThermo 3.3V Click Board™ corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes | Pin | Pin | Notes | ||||
---|---|---|---|---|---|---|---|
NC | 1 | AN | PWM | 16 | PWM | PWM data | |
NC | 2 | RST | INT | 15 | NC | ||
NC | 3 | CS | TX | 14 | NC | ||
NC | 4 | SCK | RX | 13 | NC | ||
NC | 5 | MISO | SCL | 12 | SCL | I2C clock | |
NC | 6 | MOSI | SDA | 11 | SDA | I2C data | |
Power supply | +3.3V | 7 | 3.3V | 5V | 10 | NC | |
Ground | GND | 8 | GND | GND | 9 | GND | Ground |
ONBOARD SETTINGS AND INDICATORS
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | - | Power LED indicator |
J2 | I2C/PWM | Right | Select Mode communication with target MCU, right position for the I2C, left position for the PWM |
J3 | I2C/PWM | Right | Select Mode communication with target MCU, right position for the I2C, left position for the PWM |
Software Support
We provide a library for the IrThermo 5V Click Board™ on our Libstock page, as well as a demo application (example), developed using MikroElektronika compilers and mikroSDK. The provided click library is mikroSDK standard compliant. The demo application can run on all the main MikroElektronika development boards.
Library Description
Key functions:
float irthrm3v3_getTambient()
- Returns ambient temperature value in Celsius.float irthrm3v3_getTobject()
- Returns object temperature value in Celsius.
Examples Description
The application is composed of three sections:
- System Initialization - Initialization of the I2C and UART modules.
- Application Initialization - Initialization of the IrThermo 3V3 Driver
- Application Task - Reading Ambient Temperature and displaying the value periodically.
void applicationTask() { measuredTemperature = irthrm3v3_getTambient(); FloatToStr(measuredTemperature,text); mikrobus_logWrite("Ambient Temperature: ",_LOG_TEXT); mikrobus_logWrite(text,_LOG_LINE); Delay_ms(1000); }
The full application code, and ready to use projects can be found on our Libstock page.
Other mikroE Libraries used in the example:
- I2C
- UART
- Conversions
Additional notes and information
Depending on the development board you are using, you may need a USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
MIKROSDK
The IrThermo 5V Click Board™ is supported with mikroSDK - MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant click board demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
IrThermo Click Board 5V
Frequently Asked Questions
Have a Question?
Be the first to ask a question about this.