Main Content

A auxiliary board capable of handling 16 thermocouples and passing their temperatures to a Raspberry Pi via SPI
An SPI board which allows temperature measurement from 16 thermocouples to a Raspberry Pi. Temperature is measured using a Maxim 31856. It will handle different thermocouple types attached and a temperature range from -200 C to + 1700 C (Thermocouple Dependant) Example Python software allows the direct display to screen and periodic logging to file. This project is released under the Creative Commons Attribution licence CC-BY. This license lets others distribute, remix, tweak, and build upon our work, even commercially, as long as they credit us for the original creation.

Measuring Temperature
Thermocouples are thin wires of two different types. The most common are Type T which can measure a range of temperature between -270 to 370C. The unit can handle other thermocouple types for different temperature ranges. Thermocouples are connected together at one end. This end is generally referred to as the Hot Junction. The other end connects to your measurement device and is known as the cold junction. A voltage proportional to the difference between the Cold Junction and the Hot Junction temperature is generated by this temperature gradient. This voltage can be corrected and read as a temperature.

This project allows up to 16 thermocouples to be connected and their temperature read in turn. The normalisation and compensation for the ambient temperature are automatically applied and the end temperatures displayed or logged to a comma separated list in a file. Temperatures are displayed and logged in Celsius. Conversions to Fahrenheit can be done by the end user if required.

PiPlay Temperature Circuit Board
The designed circuit board consists of two Analog Devices multiplexer chips for switching between the attached thermocouples and a Maxim Precision Thermocouple to Digital converter. It also has the termination screw terminals for the attachment of the thermocouples. The board also can detect an open circuit thermocouple and flag an error to the operator.

Raspberry Pi
The project is based on a Raspberry Pi which drives the Serial Peripheral Interface (SPI) to set the Thermocouple being read and to read the temperatures. Any device capable of SPI transactions could be used if the end user prefers

Software is written for the Raspberry Pi in Python which can read and display temperatures to the screen. It can also periodically log to a file in comma separated variable form. That file can then be imported to a spreadsheet and graphed if wanted.

Software is available for download in the Files area of this project. Software is in a Tarball format and a discussion on setting up your environment will be available in the Build Instructions area soon.

Screen Output
When running the screen is updated with the readings from all active thermocouples. The names provided for each channel in the .INI file will also be shown in brackets on the screen. This screen update occurs periodically as set in the variable display_interval in the .INI file.”

Link to article