Our new website is available at new.dizzy.co.za :-).

X
+27 (0)11 022 5323 +27 (0)64 681 8495
Basket/Checkout
R
- -
MagnifierSearch:
Thermo 8 click (Go to Parent Category)

Thermo 8 click

Thermo 8 click is a very accurate thermometer Click board™, with a very high typical measurement accuracy of ±0.25°C, and great data repeatability, with drift in the range of ±0.0625°C. Besides measuring the temperature, this Click board™ offers a set of very useful features, such as the thermostat function, interrupt event and critical temperature alert function. The programmable thresholds allow the user to set trigger conditions, adapting the Click board™ to any type of thermal measurement application. This Click board™ can measure a wide range of temperatures, from -20 °C, up to +100 °C.

The Click board™ is supported by a mikroSDK compliant library, which includes functions that simplify software development. The Click board™ comes as a fully tested product, ready to be used on a system equipped with a mikroBUS™ socket.

R190  Qty:
Price ex. VAT. Weight: 24g. Stock: Lead-time applicable [i]. mikroE Icon

Due to its high precision and flexible alerting possibilities, programmable thresholds, threshold hysteresis that prevents false alerts, and a dedicated programmable alert pin with the user selectable logic status, this Click board™ represents an ideal development solution for a variety of applications based on the accurate temperature measurement such as the PC peripherals cooling solutions, air conditioners, different types of freezers and refrigerators, battery operated portable ambient temperature thermometers, and similar.

How does it work?

Thermo 8 click is based on the MCP9808, a digital temperature sensor with ±0.5 °C maximum accuracy, from Microchip. The MCP9808 uses a bandgap type temperature sensor, which is converted by a delta-sigma A/D converter to a digital value, available via the I2C interface. The user has the ability to select the resolution of the measurement, ranging from ±0.5°C, down to ±0.0625°C. The resolution is determined by the internal sample averaging. Therefore, a higher resolution results in longer conversion times. For example, the conversion time for the resolution of ±0.0625 °C is 250ms, while the conversion time for the resolution of ±0.5 °C is only 30ms.

MikroElektronika Thermo 8 Click

The temperature is stored to an output register after the conversion is done. This register is double-buffered, which means that the new data can be written in the background, while the host microcontroller (MCU) performs a reading of the current value. The thermal data is stored as a 13-bit value, in 2's complement format. Along with the thermal data, this register also contains bits that indicate a thermal alert condition. There are three possible alert conditions. The extensive alerting engine is one of the key features of the MCP9808.

The ALERT pin of the MCP9808 is routed to the INT pin of the mikroBUS™, which is labeled as ALE on this Click board™. It can be programmed to be asserted to a HIGH or to a LOW logic level. However, the Click board™ uses the pull-up resistor to predetermine its idle state to a logic HIGH level. Depending on the application, this pin can be set to operate as a typical interrupt pin, or as a comparator. When set to operate as the interrupt, this pin will be latched until the host MCU sets the Interrupt Clear bit (bit 5 of the CONFIG register, more information in the MCP9808 datasheet).

When set to operate as the comparator, the ALERT pin will be asserted only while the alert condition exists. As soon as the temperature falls within the programmed limits, the pin will be de-asserted. While the interrupt mode is useful when an MCU is used to control some process, having to acknowledge the action, the comparator mode can be used to directly control a device, such as a cooling fan in electronic equipment, or PC peripheral.

The alert thresholds can be programmed by the user. There are dedicated registers, where the user can enter the threshold value, along with the sign. The value should be entered in 2's complement format. There is also a dedicated register where the thermal hysteresis can be entered, reducing the probability of false reporting when the temperature drifts near the threshold value. The hysteresis can be set in the range from 0 °C up to +6 °C, in four discrete steps.

Besides the threshold registers, there is another register which contains the value used to trigger a special alert mode: the critical temperature mode. This mode will force the device to work in the comparator mode, as long as the critical temperature condition exists. The same hysteresis value is applied to this threshold, reducing the probability of false reports. For more details about the alert modes, please refer to the datasheet of the MCP9808s. However, the Click board™ comes with the mikroSDK compliant library of functions, which simplify the firmware development by encapsulating all the conversion and initialization routines required by the MCP9808 IC.

The MCP9808 also supports a SHUTDOWN mode, which reduces the power consumption by turning off the sensor. However, the last conversion is still available in the output register. Even the alert pin state remains unaffected when the SHUTDOWN mode is engaged.

The I2C slave address of the device can be selected by switching a group of SMD jumpers, labeled as ADDR SEL. Each jumper will set the appropriate LSB of the device to either logic 0 or logic 1, determining the final I2C slave address. The power supply voltage can also be set by an SMD jumper labeled as VCC SEL, between 3.3V and 5V. This will also set the logic voltage level of the Click board™.

Specifications

Type Temperature / Humidity
Applications An ideal development solution for a variety of applications based on the accurate temperature measurement including PC peripheral cooling solutions, air conditioners, various types of freezers and refrigerators, battery operated portable ambient temperature thermometers, and similar
On-board modules MCP9808, a digital temperature sensor with ±0.5 °C maximum accuracy, from Microchip
Key Features A very high measurement accuracy and repeatability, programmable thresholds and hysteresis, a dedicated ALERT pin with a programmable function, selectable resolution, and more
Interface I2C
Input Voltage 3.3V or 5V
Click board size M (42.9 x 25.4 mm)

Pinout diagram

This table shows how the pinout on Thermo 8 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

Notes Pin Mikrobus logo.png Pin Notes
NC 1 AN PWM 16 NC
NC 2 RST INT 15 ALE Alert OUT
NC 3 CS RX 14 NC
NC 4 SCK TX 13 NC
NC 5 MISO SCL 12 SCL I2C Clock
NC 6 MOSI SDA 11 SDA I2C Data
Power Supply 3V3 7 3.3V 5V 10 5V Power Supply
Ground GND 8 GND GND 9 GND Ground

Onboard settings and indicators

Label Name Default Description
JP2 VCC SEL Left Power supply voltage selection: left position 3V3, right position 5V
LD1 PWR - Power LED indicator
AO-A2 ADDR SEL - Network status LED indicator

Software support

We provide a library for the Thermo 8 click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.

Library Description

Library contains generic functions for working with the click board.

Key functions:

  • void thermo8_setResolution(uint8_t rCfg) - Function for setting the measurement resolution.
  • uint8_t thermo8_aleGet() - Function for returning the state of the alert pin.
  • float thermo8_getTemperatue() - Function for reading the temperature.

Examples description

The application is composed of the three sections :

  • System Initialization - Initialize the GPIO, I2C and LOG structures.
  • Application Initialization - Initialize the communication interface and configure the click board.
  • Application Task - Wait for the interrupt pin to be triggered. When the measured temperature breaches the upper or lower limit the temperature value as well as the status of the breach is is shown on the serial port (UART).
void applicationTask()
{
   float T_Data;
   char text[15];
   char alert;
   char alertOn;

   Delay_ms(2000);
   alert = thermo8_aleGet();

   if(alert == 0)
   {
      T_Data  = thermo8_getTemperatue();
      alertOn = thermo8_getAlertstat();
      FloatToStr(T_Data,&text[0]);
      text[5] = 0;
   }

   if(alertOn & THERMO8_TLOWER_REACHED)
   {
      mikrobus_logWrite("Temperature under the low limit: ",_LOG_TEXT);
      mikrobus_logWrite(&text[0],_LOG_TEXT);
      mikrobus_logWrite("°C",_LOG_LINE);
   }

   if(alertOn & THERMO8_TUPPER_REACHED)
   {
      mikrobus_logWrite("Temperature over the high limit: ",_LOG_TEXT);
      mikrobus_logWrite(&text[0],_LOG_TEXT);
      mikrobus_logWrite("°C",_LOG_LINE);
   }
}


The full application code, and ready to use projects can be found on our LibStock page.

Other mikroE Libraries used in the example:

  • Conversions Library
  • C_String Library
  • I2C Library
  • UART Library

Additional notes and information

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. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.

Downloads