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
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.
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.
#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.
Are you sure this is the old configuration of the Duet thermocouple board with MAX31855? Their current boards use MAX31856.
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.
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.
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 . 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.
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.