K-type thermocouples are normally chosen . The thermocouple must be electrically isolated from the hot end heater block. If the thermocouple has a bare junction, you will need to insulate it, for example with high-temperature sleeving. You can buy cartridge-style insulated thermocouples from E3D and elsewhere.
The thermocouple leads should be long enough to reach your printer electronics, so that the cold junction will be at the thermocouple interface board.
To connect a thermocouple to the Duet, you will need a thermocouple interface board based on the MAX31855 chip.
Duet WiFi, Duet Ethernet and Duet Maestro ¶
The Duet WiFi and Duet Ethernet support up to two daughterboards stacked (with a further two stacked on the Duex2 or 5):
Version 1.1 thermocouple boards: MAX31856-based daughter boards each supporting two thermocouples of type B, E,J K, N, R, S or T.
Older versions: MAX31855-based daughter boards, each supporting two K-type thermocouples
These daughter boards can be purchased from duet3d.com and from Duet distributors.
Connect the thermocouple leads to one of the two terminal blocks on the daughter board. If you are using a K-type thermocouple with white and green wires, the white wire goes into the left hand terminal, looking from the wire into the terminal block.
If your daughter board uses MAX31855 chips then the terminal blocks labelled 1 and 2 on the lower daughter board will be temperature measurement channels 100 and 101 respectively. If you stack two daughter boards, the terminal blocks on the upper board will be channels 102 and 103.
If your daughter board has two LEDs labelled FAULT then it uses MAX31856 chips. In this case the terminal blocks labelled 1 and 2 on the lower daughter board will be temperature measurement channels 150 and 151 respectively. If you stack two daughter boards, the terminal blocks on the upper board will be channels 152 and 153.
You can also add thermocouple daughter boards to a DueX2 or DueX5 expansion board For MAX31855-based daughter boards, the lower daughter board on a DueXn provides channels 104 and 105, and the upper board provides channels 106 and 107. For MAX31856-based boards, the channel numbers are 154-157.
Duet 0.6 and Duet 0.8.5 ¶
Purchase a third-party MAX31855 or MAX31856 board. The Duet uses 3.3V signalling, so get one without 5V level shifters. These boards are readily available on eBay. You will need one MAX31855/6 for each thermocouple you want to connect. You can also buy boards with two or four MAX31855/6 chips, providing two or four channels.
Make sure that the board has a capacitor connected across the thermocouple terminals. This is normally a ceramic chip capacitor located between the MAX31855 chip and the terminal block for the thermocouple. If your board has only the MAX31855 chip and one capacitor on board, that capacitor is the supply decoupling capacitor and you will need to add the other one. A 10nF or greater ceramic disc capacitor is suitable. It can be soldered on the underside of the pins of the terminal block used to connect the thermocouple.
The MAX31855 chip is available in variants for different types of thermocouple. The most common variant is the MAX31855K which is for use with K-type thermocouples. The MAX31856 chip supports several different types of thermocouple in a single version of the chip.
Connect the thermocouple leads to the terminal block on the MAX31855/6 board. Connect the MAX31855/6 board(s) to the Duet 0.6 or 0.8.5 50-way expansion connector as follows. If the expansion connector is already being used to connect a DueX4, you can connect the MAX31855/6 board to the 26-way expansion connector on the DueX4 instead.
|MAX31855 signal name||Duet signal name||Duet 50-way expansion connector pin||DueX4 26-way expansion connector pin|
|CS (see below)||NPCS0,NPCS1,TXD1,RXD1||27,26,11,12||20,11,6,7|
Connect the CS pin to one of the pins listed above, a different one for each MAX31855 board. The pins listed are for temperature sensor channels 100, 101, 102 and 103 respectively using a MAX31855 board, or for channels 150, 151, 152 and 153 using a MAX31856 board. If you have Roland mill support enabled in the firmware, only two channels (100 and 101) are available because the mill uses the other two pins.
Firmware configuration ¶
To tell the firmware to use a thermocouple channel for one of the heaters, use the X parameter in the M305 command for that heater to specify the required channel (100 to 103 for MAX31855-based interface boards, or 150-153 for MAX31856-based interface boards). For example:
M305 P1 X100
This tells the firmware that for heater 1 (which is normally the first hot end heater) it should sense the temperature using the thermocouple board whose CS pin is connected to NPCS0. The B H L and R parameters of the M305 command are not required when using thermocouples. When using MAX31856-based interface boards, the T parameter is used to specify the thermocouple type, for example:
M305 P1 X150 T"J"
If the T parameter is not present then type K is assumed.
If you have difficulty getting correct readings from the thermocouple board, try connecting a wire link between the two terminals of the terminal block instead of a thermocouple. This should produce a room temperature reading.
If the temperature readout decreases when you heat the hotend instead of increasing, swap over the thermocouple wires in the terminal block.
If you get wildly inaccurate or fluctuating readings, check that the thermocouple wires are securely connected in the terminal block. If you purchased a third-party thermocouple interface board, check that there is a 10nF or greater capacitor in parallel with the thermocouple terminals.
Check that there is no connection between the thermocouple wires and the metal case of the thermocouple - this will give poor readings and could provide a short from the heater cartridge voltage to the Duet if the heater cartridge develops a fault.
Themocouples only output about 40 microvolts per degC, so the wiring between the thermocouple and the daughter board picks up interference easily, especially by induction. Use twisted pair wiring all the way back to daughter board, and keep it away from other wiring as far as possible. If you are using a bare tip thermocouple, make sure that the thermocouple tip is insulated from the printer metalwork. If you are using a cartridge thermocouple, grounding the cartridge housing may help.
Here is a report from a user who was getting temperature spikes in the thermocouple reading:
''I was able to fix that problem by taking a piece of RG-59 coax (same stuff used for cable tv) and removing the inside conductor and white insulation but leaving the wire shield in there. I helps to warm the cable up in the oven at a low temperature before pulling the the center conductor out, it helps to have two people, you have to work it out a little at a time. Then I ran the thermocouple wires through the cable, there should be plenty of room, on my dual head I ran two thermocouples through it. Then on the Duet side solder a short wire (the shorter the better) onto the shield wires in the RG-59 coax, put some heat shrink over the connection, then connect the other end of the short wire to a ground on the Duet board, any ground should work. Problem solved."
Another way to solve interference problems is to add a 10nF ceramic capacitor between each input pin and ground. See https://www.duet3d.com/forum/thread.php?... for details. Current production thermocouple daughter boards have these capacitors installed already.