Duet 3 Mini 5+ Max31855 Thermocouple board broken, bad Printer.cfg or otherwise?

Basic Information:

Printer Model: Custom (modified Dremel 3D45)
MCU / Printerboard: Duet 3 mini 5+
Host / SBC: RPI 4B
klippy.log
klippy(12).log (2.2 MB)

Describe your issue:

Hi, I am trying to add a thermocouple to my Duet 3 mini 5+ using the Duet 3 thermocouple daughter board, which has two MAX31855 chips. However, after much effort, I am struggling to get a temperature read. I think that one of the boards/connectors may be damaged, please could someone check my Printer.cfg? I am getting the following output from Klipper graphs:


It seems strange to me that the thermocouple, connected to the extruder is reading 0Celcius and I suspect that the Thermocouple Daughter Board is broken. I have tried a different thermocouple, to check whether the thermocouple was the issue, and I have tried both ports to the thermocouple on the daughter board. This seems to coincide with a similar error reported here:
Similar error, Max 31855

From your log:

Transition to shutdown state: MCU 'mcu' shutdown: Thermocouple reader fault

This means that you have not configured your TC correctly or a defect board or a defect TC.

Refer to MAXxxxxx temperature sensors for the needed settings → the tc_ are the relevant ones.

Personal opinion:

  • Stay clear of thermocouples unless you have the knowledge to deal with them and a compelling reason to use them
  • Stay clear of the MAX31855 chip. It has severe shortcomings like extreme susceptability to noise and typically this chip will error out when your TC gets any contact with GND

Hi Sineos, Thank you for responding, that’s good to know, the reason I am using a thermocouple is because this is what came with the 3D printer. I have looked at the documents and I believe that TC type etc is only valid for the MAX31856, not the MAX31855, which I am using.

What type of thermocouple are you using?

The MAX31856 has on-board 50/60Hz noise filtering and +/-45V input protection whereas the MAX31855 does not. Both devices are thermocouple-to-digital converters for K-, J-, N-, T-, S-, R-, or E-type thermocouples, additionally the MAX31856 can also operate with a B-type thermocouple.

I am using a type K thermocouple (E3D)

Well, I do respect your beliefs, but likely they will not take you anywhere …

Hey, this is from the configuration reference:

#tc_type: K
#tc_use_50Hz_filter: False
#tc_averaging_count: 1
#   The above parameters control the sensor parameters of MAX31856
#   chips. The defaults for each parameter are next to the parameter
#   name in the above list.

The MAX31855 can only use type K thermocouples and it does not have noise filtering, so these features are not enabled for the MAX31855.

Since the MAX31855 anyway supports only Type K TC and type K is default, then you likely will not need it indeed (given you are really using a Type K)

Hi, two questions for you:

  1. Are you sure this is the old configuration of the Duet thermocouple board with MAX31855? Their current boards use MAX31856.

  2. If you are using only one of the MAX chips (single thermocouple) and the second chip is unused, have you explicitly disabled the unused chip in your Klipper configuration? This part is (was) not anywhere in the Klipper documentation and is required for correct function.

I use the Mini with the Duet MAX31865 based PT100 board that I modified to use PT1000 sensors and I use the following configuration block to disable the unused MAX chip:

[static_digital_output rtd_disable]
## set startup pin state
pins: PD11  # disable unused RTD1 MAX31865 SPI chip

Just confirm the pin for your unused MAX chip and you can also rename rtd_disable to tc_disable for consistency. This may or may not make a difference in your case.

I have never used thermocouples on any of my 3D printers, but we used to use them frequently at work with much more sophisticated (industrial) amplifiers. As @Sineos said, they can be very finicky. But when they work, they are extremely accurate and provide very fast response over extreme temperature ranges.

Hey Rex,

  1. I purchased the daughter board from E3D who state that the board sold is the old MAX31855 chip. See photo

    .
  2. Yes, I saw this in another post here https://klipper.discourse.group/t/duet-rtd-thermocouple-daughter-card-configuration/5549 and I have disabled it, see attached printer.cfg (4.2 KB)

Yes I have renamed it to tc_disable, I am pretty sure you can type any name here though?
I have tried both terminals on the daughter board and I have tried swapping the thermocouple wires within each terminal as well.

I noticed that the daughter board layout for the MAX31855 is exactly the same for the MAX31856, I am tempted to solder new MAX31856 chips onto my board to get the noise filtering.

I don’t think anything should be making noise though, I am using a decent power supply. I have tried disconnecting everything but the bare essentials, to see if this was the issue.

I am pretty much out of ideas then. However:

This does not look at all like the MAX31855 board. These look to me like the latest v1.1 version of the 31856 board (FAULT LEDs are present), but I cannot read the chip markings. Is this supposed to be the original Duet3D board or a clone?

In addition, if you look at the data sheet for the 31855, it is an 8 pin device. It does not have a FAULT pin, etc. If you have KICAD, you can load in the 31855 board design from the Duet3D GitHub and confirm that the board layout is totally different from what you have.

I’d try to reconfigure Klipper with 31856 and see if this helps.

EDIT: I am 99.999% certain that this is your issue :slight_smile:. Just had a quick look at the Klipper source and the 31856 code is substantially different from 31855. I bet you are not seeing anything because the 31856 registers are not being configured correctly.

2 Likes

Hey Rex, thanks for your help, aha, I should have checked that. It IS the MAX31856. I guess E3D have been shipping the newer models.

I have been having another issue with my Duet board, which could be related, the ATX supply 12V is always ON, when it should only be triggered only after I have told it to with a command. I am looking into this, by reverting back to the reprap firmware, and I will have another go at changing the printer.cfg to the 31856 as well, so I’ll get back to you, but it will take a while. Thanks everyone for your help so far.

2 Likes

Nice analysis @ReXT3D :+1:

1 Like

Hey, I have managed to get this working, please see attached printer.cfg (4.3 KB).

Changing it to the correct chip and adding the TC_type etc resolves the issues I have been having. Thanks again for your help!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.