I have designed a board with four MAX6675 thermocouple digitisers to measure temperatures at four different positions in a device. The board is connected to a Raspberry Pi, which reads the data via SPI. Unfortunately, the measured values are very different at room temperature (e.g. U8 got 16°C, U7 got 19°C, U6 got 30°C and U5 got 25°C).
This is the relevant part of the PCB:
- Blue: T+ of Thermocouple to MAX6675
- Grey: T- of Thermocouple Connector to MAX6675 (via GND)
- Green: 3.3 V
- Purple: CLK and MISO for SPI, connected to Pi
- White: CS via U4
- Red: GND
- C6-C9: 0.1 µF ±10% 25V Ceramic Capacitor 0805
- U5-U8: MAX 6675 ISA
- U4 is used for Chipselect: 74HC139D
We have ruled out a problem in the software by testing it with another board with the same interface. We also excluded the type k thermocouples by swapping them. The measured temperature jumps back to the same wrong value with swapped sensor at room temperature.
Are there any faults on the board that may be causing the problem? On the backside of the board there are no traces above the purple trace.
Edit: The Cable Length are all the same and around 75cm.