tempiso  2.1.0.0
Main Page

Temp ISO Click

Temp ISO Click is a compact add-on board for accurate and isolated temperature measurements in high-voltage environments. This board features the ISOTMP35-Q1, an automotive-grade isolated temperature sensor with analog output from Texas Instruments. This sensor integrates a robust isolation barrier with a withstand voltage of up to 3000VRMS, a linear analog output with a 10mV/°C slope, and a wide temperature range of –40°C to 150°C. It delivers high accuracy of ±2.0°C, fast thermal response, and is AEC-Q100 qualified, ensuring long-term reliability in demanding conditions. The board also features Click Snap, enabling flexible sensor placement by detaching the PCB for standalone operation.

Click Product page


Click library

  • Author : Stefan Filipovic
  • Date : Sep 2024.
  • Type : ADC type

Software Support

We provide a library for the Temp ISO Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Library Description

This library contains API for Temp ISO Click driver.

Standard key functions :

Example key functions :

  • tempiso_read_temperature This function reads the voltage level from AN pin and converts it to temperature in degrees Celsius.
    err_t tempiso_read_temperature ( tempiso_t *ctx, float *data_out );
  • tempiso_read_voltage_avg This function reads a desired number of ADC samples and calculates the average voltage level.
    err_t tempiso_read_voltage_avg ( tempiso_t *ctx, uint16_t num_conv, float *voltage_avg );
  • tempiso_set_vref This function sets the voltage reference for Temp ISO Click driver.
    err_t tempiso_set_vref ( tempiso_t *ctx, float vref );

Example Description

This example demonstrates the use of Temp ISO Click board by reading and displaying the temperature measurements.

The demo application is composed of two sections :

Application Init

Initializes the driver and logger.

void application_init ( void )
{
log_cfg_t log_cfg;
tempiso_cfg_t tempiso_cfg;
LOG_MAP_USB_UART( log_cfg );
log_init( &logger, &log_cfg );
log_info( &logger, " Application Init " );
// Click initialization.
tempiso_cfg_setup( &tempiso_cfg );
TEMPISO_MAP_MIKROBUS( tempiso_cfg, MIKROBUS_1 );
if ( ADC_ERROR == tempiso_init( &tempiso, &tempiso_cfg ) )
{
log_error( &logger, " Communication init." );
for ( ; ; );
}
log_info( &logger, " Application Task " );
}

Application Task

Reads the temperature measurement in degrees Celsius and displays the results on the USB UART approximately once per second.

void application_task ( void )
{
float temperature = 0;
if ( TEMPISO_OK == tempiso_read_temperature ( &tempiso, &temperature ) )
{
log_printf( &logger, " Temperature: %.1f degC\r\n\n", temperature );
Delay_ms ( 1000 );
}
}

The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.

Other Mikroe Libraries used in the example:

  • MikroSDK.Board
  • MikroSDK.Log
  • Click.TempISO

Additional notes and informations

Depending on the development board you are using, you may need 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. UART terminal is available in all MikroElektronika compilers.


tempiso_set_vref
err_t tempiso_set_vref(tempiso_t *ctx, float vref)
Temp ISO set vref function.
tempiso_read_temperature
err_t tempiso_read_temperature(tempiso_t *ctx, float *data_out)
Temp ISO read temperature function.
tempiso_t
Temp ISO Click context object.
Definition: tempiso.h:122
tempiso_read_voltage_avg
err_t tempiso_read_voltage_avg(tempiso_t *ctx, uint16_t num_conv, float *voltage_avg)
Temp ISO read average voltage level function.
application_task
void application_task(void)
Definition: main.c:59
tempiso_init
err_t tempiso_init(tempiso_t *ctx, tempiso_cfg_t *cfg)
Temp ISO initialization function.
application_init
void application_init(void)
Definition: main.c:29
tempiso_cfg_t
Temp ISO Click configuration object.
Definition: tempiso.h:132
TEMPISO_MAP_MIKROBUS
#define TEMPISO_MAP_MIKROBUS(cfg, mikrobus)
MikroBUS pin mapping.
Definition: tempiso.h:111
TEMPISO_OK
@ TEMPISO_OK
Definition: tempiso.h:146
tempiso_cfg_setup
void tempiso_cfg_setup(tempiso_cfg_t *cfg)
Temp ISO configuration object setup function.