Electronic – Large excursions in thermocouple readings with MAX6675

thermocouple

I have a 3d printer that has the ability to read the gcode from the sd card so it knows what to print.

I have added to this a MAX6675 thermocouple driver. I believe the sd card shares the same spi bus. I am getting major problems with temperature readings shouting up and down when I'm printing.

since they both have to in real-time i.e. ideally no delay could my woes be because the arduino (mega 2560) is simply struggling to do both at the same time hence the temperature goes down then shoots up when the SPI is available again?

The max6675 is meant to be support by the marlin firmware. Am guessing they didn't mean it to be used in conjunction with the sd card reader.

[moderator note
The original title of this question was: "Two slave devices on the same SPI bus. What are the limitations?"
On closer examination, however, this turned out to be an analog thermocouple problem, rather than a digital SPI problem.]

Best Answer

Chances are that this is a thermocouple issue. I doubt that this is an SPI bus issue.

MAX6657 is intended for a a floating thermocouple. When you connect the tip of the thermocouple to the aluminium block, it's no longer floating.

We have a thread about floating vs grounded thermocouple. See this answer and the discussion in the comments under it.