A K-type thermocouple is a type of temperature sensor that is widely used in industrial applications to measure temperature. It is made up of two different metals, typically nickel-chromium and nickel-aluminium, which are joined together at one end to form a junction. When the junction is exposed to a temperature difference, a voltage is generated, which can be measured and used to determine the temperature.
Then we will design a PCB shied using the PCBWAY custom PCB manufacturing service, PCBWAY is the one of the leading manufacturers from CHINA deals in printed circuit board related products. You can see the different services offered by them by visiting the website, Sign-up using this link to PCBWAY and get free PCB coupon (Valid for every new user).
In K Type Thermocouple positive leg is composed of 90% nickel, 10%chromium and a negative leg is composed of 95% nickel, 2% aluminium, 2% manganese and 1% silicon. These are the most common general-purpose thermocouple with a sensitivity of approx 41µV/°C.
Temperature measurement in K type sensor:The principle behind how a thermocouple works is called the Setback effect, which states that when two dissimilar metals are joined together at two different temperatures, a small voltage is generated. The amount of voltage generated is proportional to the temperature difference between the two junctions. The K-type thermocouple generates a voltage of approximately 41 microvolts per degree Celsius.
Comparison with other temperature sensors:Other temperature measurement transducers like PT-100, PT-1000 and NTC are linear in a very small range. Overall temperature measurement bandwidth is very less.
These sensors are not made to measure a temperature above 300°C but K type transducer give a very good range of over 1200°C. in this sensor no calibration is required the internal compensator circuit adjust accordingly and data is supplied digitally with 12-bit precision.
MAX 6675 Precision Amplifier:The MAX6675 is a thermocouple-to-digital converter IC that can read the voltage output from a K-type thermocouple and convert it into a digital temperature reading. The amplifier in the MAX6675 has a gain of 8, which means that the output voltage of the amplifier is eight times larger than the input voltage from the thermocouple. The amplified voltage is then fed into an analog-to-digital converter (ADC) that converts the voltage into a digital temperature reading.
The MAX6675 also has a built-in cold-junction compensation (CJC) circuit that compensates for the ambient temperature at the junction of the thermocouple and the MAX6675. The CJC circuit measures the temperature at the junction and subtracts it from the temperature reading obtained from the thermocouple to provide a more accurate temperature measurement.
Features:
- Direct Digital Conversion of Type -K Thermocouple Output
- Cold-Junction Compensation
- Simple SPI-Compatible Serial Interface
- 12-Bit, 0.25°C Resolution
- Open Thermocouple Detection
1) K-Type Temperature Sensor
2) Arduino NANO/UNO
3) OLED display
4) Custom PCB shield from PCBWAY
Circuit diagram and PCB:I made the circuit using Altium designer, this is the shield having headers for K type temperature sensor, Arduino nano, OLED display and battery. Just plug all the components/ peripherals in the shield and we are ready to go.
In the circuit there are very less number of external components. Because of digital interface the data and clock lines are shared with the microcontroller and final output contains the decoded data. Download the Gerber files, code and circuit diagram.
Interfacing with Arduino:In the figure the basic circuit of MAX6675 amplifier and Arduino is shown. The connections are done according to the below given program. A small OLED panel is used to show the temperature readings on it. The sensor is refreshed after every 500ms, so we got the real time readings of temperature w.r.t time.
Program for Arduino:First of all the MAX6675 Arduino library is required, this will help to set the communication between the microcontroller and Arduino. Library includes the predefined data decoding statements; at the end of day, we have an analog time varying signal corresponds to the temperature of sensor. You can download all the required libraries from the manage library section under the tool’s menu. This code is taken from the examples in the MAX6675 library.
#include "MAX6675.h"
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 1
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
const int dataPin = 7;
const int clockPin = 6;
const int selectPin = 5;
MAX6675 thermoCouple;
uint32_t start, stop;
void setup()
{
Serial.begin(115200);
Serial.println(__FILE__);
Serial.println(MAX6675_LIB_VERSION);
Serial.println();
thermoCouple.begin(clockPin, selectPin, dataPin);
// thermoCouple.begin(selectPin); // HW SPI
thermoCouple.setSPIspeed(4000000);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop()
{
delay(100);
start = micros();
int status = thermoCouple.read();
stop = micros();
float temp = thermoCouple.getTemperature();
Serial.print(millis());
Serial.print("\tstatus: ");
Serial.print(status);
Serial.print("\ttemp: ");
Serial.print(temp);
Serial.print("\tus: ");
Serial.println(stop - start);
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(35,10);
display.print("TEMPERATURE");
display.setTextSize(2);
display.setCursor(35,35);
display.print(temp);
display.display();
delay(1000);
}
Working and temperature testing:After uploading the code and connecting wires according to the schematics, I tested the circuit. Precision is good, and due to digital sensor interface no calibrations required here. Gerber files and circuit schematics can be downloaded from here. You can use the Gerber files to place the order directly on PCBWAY for the same prototype shield.
Comments