Thermocouple Guide
Thermocouples let you measure a wide temperature range. This guide explains the basics: how thermocouples work, how to choose a thermocouple, how to connect a thermocouple and more.
The TMP1101 allows you to measure extreme temperatures with up to 4 thermocouples. It is great for measuring temperatures in enclosed spaces or in liquids. This Phidget connects to your computer through a VINT Hub.
Thermocouples also have the advantage of being able to work with wire segments as long as 100m, while USB and other sensors suffer from voltage drops after only 5 or 10m.
Here are some handy accessories for working with thermocouples. Extension wire, adapters, and plugs can be found here.
$4.00/Meter
This Phidget is a smart device that must be controlled by a VINT Hub. For more information about VINT, have a look at the VINT Overview page. You can use a Phidget Cable to simply and easily connect the two devices. Here's a list of all of the different VINT Hubs currently available:
Product | Board Properties | |||
---|---|---|---|---|
Part Number | Price | Number of VINT Ports | VINT Communication Speed Max | Controlled By |
VINT Hub Phidget
|
$40.00 | 6 | 1 Mbit/s | USB (Mini-USB) |
1-Port VINT Hub Phidget
|
$24.00 | 1 | 1 Mbit/s | USB (USB-A) |
VINT Hub Phidget
|
$35.00 | 6 | 1 Mbit/s | USB (Mini-USB) |
VINT Hub Phidget
|
$30.00 | 6 | 100 kbit/s | USB (Mini-USB) |
Wireless VINT Hub
|
$60.00 | 6 | 100 kbit/s | Local Network (Ethernet or Wi-Fi) |
PhidgetSBC4
|
$120.00 | 6 | 100 kbit/s | — |
Use a Phidget cable to connect this device to the hub. You can solder multiple cables together in order to make even longer Phidget cables, but you should be aware of the effects of having long wires in your system.
Product | Physical Properties | |
---|---|---|
Part Number | Price | Cable Length |
Phidget Cable 10cm
|
$1.50 | 100 mm |
Phidget Cable 30cm
|
$1.75 | 300 mm |
Phidget Cable 60cm
|
$2.00 | 600 mm |
Phidget Cable 60cm
|
$2.00 | 600 mm |
Phidget Cable 90cm
|
$2.00 | 900 mm |
Phidget Cable 120cm
|
$2.25 | 1.2 m |
Phidget Cable 150cm
|
$2.50 | 1.5 m |
Phidget Cable 180cm
|
$2.75 | 1.8 m |
Phidget Cable 350cm
|
$3.00 | 3.5 m |
Phidget Cable Kit
|
$10.00 | 80 mm |
You can connect up to four J,K,E or T type thermocouples to this Phidget. See the product page or data sheet for the thermocouple to determine which end plugs into the positive terminal on the Phidget. If you're not sure which end is which, it won't harm anything to try both configurations to determine which one is right. If the thermocouple is hooked up backward, you'll get erratic readings and the temperature will decrease when it should be increasing.
Product | Temperature Sensor | ||||
---|---|---|---|---|---|
Part Number | Price | Thermocouple Type | Ambient Temperature Min | Ambient Temperature Max | Ambient Temperature Error Max |
K-Type Fiberglass Bead Probe Thermocouple
|
$10.00 | K | -40 °C | 400 °C | ± 0.75 °C |
K-Type Probe Thermocouple 11cm
|
$16.00 | K | -40 °C | 400 °C | 3.3 °C |
K-Type Probe Thermocouple 20cm
|
$16.00 | K | -40 °C | 400 °C | 3.3 °C |
K-Type Probe Thermocouple 30cm
|
$20.00 | K | -40 °C | 400 °C | 3.3 °C |
K-Type Teflon Bead Probe Thermocouple (-40°C to +200°C)
|
$5.00 | K | -40 °C | 200 °C | ± 0.75 °C |
The TMP1100 allows you to measure extreme temperatures with up to 4 thermocouples. This Phidget connects to a J, K, E, or T type thermocouple. Choose the thermocouple type in software and data will be converted to degrees Celsius automatically. If you have other thermocouple types, you can open the channel in VoltageInput mode and convert it to Celsius manually.
You can use your Control Panel to explore your Phidget's channels.
1. Open your Control Panel, and you will find the following channels:
2. Double click on a channel to open an example program.
In your Control Panel, double click on "Temperature Sensor (IC)":
In your Control Panel, double click on "Thermocouple Input":
In your Control Panel, double click on "Voltage Input":
Before you open a Phidget channel in your program, you can set these properties to specify which channel to open. You can find this information through the Control Panel.
1. Open the Control Panel and double-click on the red map pin icon:
2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.
See the Phidget22 API for your language to determine exact syntax for each property.
The Change Trigger is the minimum change in the sensor data needed to trigger a new data event.
The Data Interval is the time (in ms) between data events sent out from your Phidget.
The Data Rate is the reciprocal of Data Interval (measured in Hz), and setting it will set the reciprocal value for Data Interval and vice-versa.
You can modify one or both of these values to achieve different data outputs. You can learn more about these properties here.
Note: Graphing and logging is currently only supported in the Windows version of the Phidget Control Panel.
In the Phidget Control Panel, open the channel for your device and click on the icon next to the data type that you want to plot. This will open up a new window:
If you need more complex functionality such as logging multiple sensors to the same sheet or performing calculations on the data, you'll need to write your own program. Generally this will involve addressing the correct channel, opening it, and then creating an Event Handler and adding graphing/logging code to it.
The quickest way to get started is to download some sample code for your desired programming language and then search google for logging or plotting in that language (e.g. "how to log to csv in python") and add the code to the existing change handler.
You can perform filtering on the raw data in order to reduce noise in your graph. For more information, see the Control Panel Graphing page.
You can perform a transform on the incoming data to get different graph types that may provide insights into your sensor data. For more information on how to use these graph types, see the Control Panel Graphing page.
Firmware Upgrade
MacOS users can upgrade device firmware by double-clicking the device row in the Phidget Control Panel.
Linux users can upgrade via the phidget22admin tool (see included readme for instructions).
Windows users can upgrade the firmware for this device using the Phidget Control Panel as shown below.
Firmware Downgrade
Firmware upgrades include important bug fixes and performance improvements, but there are some situations where you may want to revert to an old version of the firmware (for instance, when an application you're using is compiled using an older version of phidget22 that doesn't recognize the new firmware).
MacOS and Linux users can downgrade using the phidget22admin tool in the terminal (see included readme for instructions).
Windows users can downgrade directly from the Phidget Control Panel if they have driver version 1.9.20220112 or newer:
Firmware Version Numbering Schema
Phidgets device firmware is represented by a 3-digit number. For firmware patch notes, see the device history section on the Specifications tab on your device's product page.
Thermocouples consist of two junctions, one where the thermocouple meets the Phidget and one where the two wires are welded together at the sensing end of the device. In simplified terms, a thermocouple works by detecting the temperature difference between these two junctions. To measure the temperature at the sensing end we need to know the temperature where the thermocouple connects to the Phidget. There is an ambient temperature sensor on the board. The thermocouple reading is automatically calculated using the data from the on board temperature sensor.
An important thing to note is that the ambient temperature sensor measures the temperature of the board and the air around it, though not specifically at the junction. Generally you can assume they are nearly the same temperature, however as the electronics heat up by being powered on there can be some small error introduced. This is exacerbated by having the board in an enclosed space where normal airflow is restricted thereby increasing the effect of self-heating. As a result we recommend that the board be left in as open and well ventilated/cooled a place as possible to minimize this error source.
For more information on thermocouples, check out the Thermocouple Guide.
One of the most common sources of electrical noise in a system is 50Hz or 60Hz hum from the local power grid. For firmware versions 107 and later for this Phidget, we have added a filter to compensate for 50Hz or 60Hz hum in your system.
Without filtering, sensors in electrically noisy environments could see a repeating drift of tens of degrees, as noise from power lines finds its way into the system. The timing of this drift could vary, depending on how the samples from the sensor lined up with the noise from the power lines.
To combat this issue, all thermocouple temperature and voltage measurements on this device are now passed through a 100ms moving average filter, with samples taken at specific intervals designed to cancel out frequencies of 50Hz and 60Hz (the most common power grid frequencies). The filtering on this Phidget will reduce the effect of power line noise by 95% or more, becoming more effective as the power line frequency approaches 50Hz or 60Hz exactly.
All samples from the sensor will be subject to filtering. When used with data intervals longer than 100ms, the sensor will measure the thermocouple(s) for 100ms to perform a measurement. When using data intervals less than 100ms, your application will see the effects of the latest measurements as they pass through the filter.
Board Properties | |
---|---|
Controlled By | VINT |
VINT Communication Speed Max | 100 kbit/s |
Number of Thermocouple Inputs | 4 |
Thermocouple Input | |
Thermocouple Error Max (K-Type) | ± 2 °C |
Thermocouple Temperature Resolution (K-Type) | 0.04 °C |
Sampling Interval Min | 20 ms/sample |
Sampling Interval Max | 60 s/sample |
Thermocouple Voltage Resolution | 1 μV DC |
Onboard Temperature Sensor | |
Temperature Error Max | ± 1 °C |
Sampling Interval Max | 60 s/sample |
Sampling Interval Min | 500 ms/sample |
Temperature Error Typical (At 25°C) | ± 0.25 °C |
Temperature Resolution | 0.063 °C |
Temperature Max | 85 °C |
Temperature Min | -40 °C |
Electrical Properties | |
Current Consumption Min | 10 μA |
Current Consumption Max | 7 mA |
Input Voltage Max | 79 mV DC |
Physical Properties | |
Recommended Wire Size | 16 - 26 AWG |
Operating Temperature Min | -40 °C |
Operating Temperature Max | 85 °C |
Customs Information | |
Canadian HS Export Code | 8471.80.00 |
American HTS Import Code | 8471.80.40.00 |
Country of Origin | CN (China) |
Date | Board Revision | Device Version | Comment |
---|---|---|---|
June 2017 | 0 | 104 | Product Release |
June 2017 | 0 | 105 | Fixed change trigger and voltage saturation limits |
June 2017 | 0 | 106 | Fixed timing when changing dataIntervals |
February 2019 | 0 | 107 | Implemented 50/60Hz notch filter, fixed crash when seeing temperatures near maximum range |
March 2021 | 0 | 108 | Added filtering on ambient temperature sensor to improve temp correction accuracy |
May 2021 | 0 | 109 | Adjusted interrupt priority to improve stability |
October 2021 | 1 | 200 | Added break detection to alert user if TC wire is broken or disconnected. |
October 2021 | 1 | 202 | Improved stability, other minor optimizations |
December 2021 | 1 | 203 | Improved recovery from malfunctioning states |
Channel Name | API | Channel |
---|---|---|
Thermocouple Input | TemperatureSensor | 0 - 3 |
Temperature Sensor (IC) | TemperatureSensor | 4 |
Voltage Input | VoltageInput | 0 - 3 |
API | Detail | Language | OS | |
---|---|---|---|---|
TemperatureSensor | Visual Studio GUI | C# | Windows | Download |
TemperatureSensor | JavaScript | Browser | Download | |
TemperatureSensor | Objective-C | macOS | Download | |
TemperatureSensor | Swift | macOS | Download | |
TemperatureSensor | Swift | iOS | Download | |
TemperatureSensor | Visual Basic .NET | Windows | Download | |
TemperatureSensor | Max/MSP | Multiple | Download | |
VoltageInput | Visual Studio GUI | C# | Windows | Download |
VoltageInput | Multi-Channel Example | JavaScript | Browser | Download |
VoltageInput | JavaScript | Browser | Download | |
VoltageInput | Objective-C | macOS | Download | |
VoltageInput | Swift | macOS | Download | |
VoltageInput | Swift | iOS | Download | |
VoltageInput | Visual Basic .NET | Windows | Download | |
VoltageInput | Max/MSP | Multiple | Download |
Product | Board Properties | Thermocouple Input | ||
---|---|---|---|---|
Part Number | Price | Controlled By | Number of Thermocouple Inputs | Thermocouple Voltage Resolution |
4x Thermocouple Phidget
|
$35.00 | VINT | 4 | 1 μV DC |
Isolated Thermocouple Phidget
|
$30.00 | VINT | 1 | 1 μV DC |
PhidgetTemperatureSensor 4-Input
|
$100.00 | USB (Mini-USB) | 4 | 100 nV DC |