Prices incl. GST
Out of Stock.
- Product Code: MIKROE-1197
- MPN: MIKROE-1197
THERMO click features the MAX31855K thermocouple-to-digital converter as well as PCC-SMP connector for K-type thermocouple probes. The click is designed to run on a 3.3V power supply. It communicates with the target MCU over an SPI interface (Read-only).
THERMO click is a compact solution for adding thermocouple to your device.
Note: K-type thermocouple probe is not included in the package.
MAX31855K thermocouple-to-digital converter
The MAX31855 is a sophisticated thermocouple-to-digital converter with a built-in 14-bit analog-to-digital converter (ADC).
The MAX31855K has a temperature range between -270 and 1372°C with sensitivity of about 41μV/°C.
The device also contains cold-junction compensation sensing and correction, a digital controller, an SPI compatible interface, and associated control logic.
The combination of the MAX31855K and PCC-SMP connector results in support for high-accuracy temperature measurement.
Thermocouple probe
In order to use THERMO click you need to connect the appropriate K-type thermocouple probe (not included in the package) into the PCC-SMP connector.
Cold-Junction Compensation
The function of the thermocouple is to sense a difference in temperature between two ends of the thermocouple wires. The thermocouple’s “hot” junction can be read across the operating temperature range.
The reference junction, or “cold” end (which should be at the same temperature as the board on which the device is mounted) can range from -55°C to +125°C. While the temperature at the cold end fluctuates, the device continues to accurately sense the temperature difference at the opposite end.
Application
THERMO click is ideal for thermostatic, process-control, monitoring applications and more.
Key features
- MAX31855K
- 14-Bit, 0.25°C Resolution Converter
- Temperature range between -270 and 1372°C
- Detects Thermocouple Shorts to GND or VCC
- PCC-SMP connector
- Interface: SPI
- 3.3V power supply
Specification
Type | Temperature,Humidity |
Applications | THERMO Click with K-Type Thermocouple probe is ideal for thermostatic, process-control, monitoring applications and more |
On-board modules | MAX31855K thermocouple-to-digital converter and PCC-SMP connector for K-type thermocouple probes |
Key Features | Cold-Junction Compensation. 14-Bit, 0.25°C Resolution. Detects Thermocouple Shorts to GND or VCC. On-board PCC-SMP connector for K-type thermocouple probes |
Key Benefits | Supports K-type thermocouple probes, measuring temperatures from -200°C to +700°C |
Interface | SPI |
Input Voltage | 3.3V |
Compatibility | mikroBUS |
Click board size | S (28.6 x 25.4 mm) |
Pinout diagram
This table shows how the pinout on THERMO click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Programming
Code examples for THERMO click, written for MikroElektronika hardware and compilers are available on Libstock.
This code snippet configures the MCU, initializes the LCD and SPI module and in an infinite loop reads the temperature value and displays it on the LCD.
01 void main() { 02 PLLEN_bit = 1; // Enable PLL 03 Delay_ms(150); 04 05 CM1CON = 0; // Turn off comparators 06 CM2CON = 0; 07 ANSELB = 0; // Configure PORTB pins as digital 08 ANSELC = 0; // Configure PORTC pins as digital 09 10 THERMO_CS_Dir = 0; 11 THERMO_CS = 1; 12 13 Lcd_Init(); // Initialize Lcd 14 15 Lcd_Cmd(_LCD_CLEAR); // Clear display 16 Lcd_Cmd(_LCD_CURSOR_OFF); // Cursor off 17 Lcd_Out(1,1,"Thermo test"); // Write text in first row 18 Lcd_Out(2,1,"starting..."); // Write text in second row 19 Delay_ms(2000); 20 21 SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV16, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); // Initialize SPI communication 22 SPI_Set_Active(&SPI1_Read, &SPI1_Write); // Sets the SPI1 module active 23 24 Lcd_Cmd(_LCD_CLEAR); 25 Lcd_Out(1,1,"Reading"); // Write text in first row 26 Lcd_Out(2,1,"temperature ..."); // Write text in second row 27 Delay_ms(2000); 28 29 Lcd_Cmd(_LCD_CLEAR); 30 31 while(1) { 32 MAX31855_Read(); 33 // 34 if((temp_byte[1] & 0x01) == 0x01){ // Fault detection 35 Lcd_Cmd(_LCD_CLEAR); 36 Lcd_Out(2,1,"Error!"); 37 if((temp_byte[3] & 0x01) == 0x01){ // Open circuit fault? 38 Lcd_Out(1,1,"Open circuit"); // Write text in first row 39 Delay_ms(1000); 40 } 41 // 42 if((temp_byte[3] & 0x02) == 0x02){ // Short to GND fault? 43 Lcd_Out(1,1,"Short to GND"); // Write text in first row 44 Delay_ms(1000); 45 } 46 // 47 if((temp_byte[3] & 0x04) == 0x04){ // Short to Vcc fault? 48 Lcd_Out(1,1,"Short to Vcc"); // Write text in first row 49 Delay_ms(1000); 50 } 51 } 52 else{ 53 Display_Temp_Value(); 54 } 55 Delay_ms(500); 56 } 57 }