Electronic – Understanding slow response of multiplexed thermocouples

multiplexerspithermocouple

I have a simple circuit swapping eight thermocouples through a MAX31855 analog-temperature-to-digital converter with two CD74HC4067 multiplexers. The MAX31855 is wired to the SPI pins on a raspberry pi.

I can poll the temperatures without issue, but I'm surprised that I need a ~125 ms delay between each poll for reliable data. If I shorten this, I end up polling the same thermocouple twice. For my own education, I'm trying to figure out why this is the case.

In my current understanding, almost everything should have a microsecond response time. The thermocouples' Seeback effect is near-instantaneous, and SPI communication is 32 bits at 500 kbps = 64 us. The system is behaving like the multiplexers are slow, but nothing in the datasheet suggests that this is the case.

What am I missing?

Edit Here's a sketch of the circuit. I'm using the Adafruit and Sparkfun breakout boards, and the red and yellow stubs are thermocouple hookups. The signal outputs are attached to the screw terminal block of the Adafruit board.

muxed thermocouples

Best Answer

If you read the datasheet, the conversion time of that chip is 100ms maximum. It effectively samples the input voltage then goes off and does a conversion and cold-junction compensation.

enter image description here

Offhand, I don't see any number indicating how long the valid voltage must be present at the inputs before doing a conversion. You may be able to overlap acquisition and conversion to some degree (perhaps start a conversion, wait 50ms then switch to the next channel, then you could immediately start a new conversion after 100ms for 10 channels/second), but that's not entirely clear from my skimming of the datasheet. In any case you can't do any better than 100msec/channel (reliably) though some samples of the chip may be a fair bit faster.