Using PT100 temperature sensors with the Duet and RepRapFirmware

From RepRap
Revision as of 05:59, 30 June 2016 by Dc42 (talk | contribs) (Firmware configuration)
Jump to: navigation, search

This page describes the support for PT100 and other RTD temperature sensors in RepRapFirmware version 1.12a-dc42 and later with Duet electronics. For thermocouple temperature sensors, see Using thermocouples with the Duet and RepRapFirmware instead.

Hardware

To connect a PT100 sensor to a Duet, you need a RTD interface board based on the MAX31865 chip.

Duet WiFi

The Duet WiFi supports up to two MAX31865-based daughter boards. Each daughter board supports two PT100 temperature sensors. These daughter boards can be purchased from Duet distributors and from Think3DPrint3D. The terminal blocks labelled RTD1 and RTD2 will be channels 200 and 201 respectively. If you stack two daughter boards, the terminal blocks on the upper board will be channels 202 and 203.

Duet 0.6 or 0.8

Purchase a third-party MAX31865-based PT100 interface board. The Duet uses 3.3V signalling, so get a board without 5V level shifters. These boards are readily available on eBay at reasonable prices. You will need one MAX31865 for each RTD sensor you want to connect. You can also buy boards with two MAX31865 chips, providing two channels on a single board.

These boards generally work with both 2- and 4-wire RTDs so they have a 4-pin terminal block. When using a 2-wire RTD, connect it to the RTD+ and RTD- terminals, and also add a wire link between the Force+ terminal and the RTD+ terminal, and another between the Force- terminal and the RTD- terminal.

The MAX31865 boards are connected to a Duet 0.6 or 0.8.5 as follows:

MAX31865 signal name Duet signal name Duet expansion connector pin DueX4 expansion connector pin
Vcc +3.3V 3 25
Gnd GND 2 21
SDO MISO0 30 26
CS (see below) NPCS0,NPCS1,TXD1,RXD1 27,26,11,12 20,11,6,7
SCK SPCK0 28 24
SDI MOSI0 29 23

Connect the CS pin to one of the pins listed above, a different one for each MAX31865 board. The pins listed are for temperature sensor channels 200, 201, 202 and 203 respectively. If you have Roland mill support enabled in the firmware, only two channels (200 and 201) are available because the mill uses the other two pins.

You may connect both thermocouple and RTD boards to the SPI bus at the same time, but each device must have its own CS pin. For example, you can have a thermocouple board on channel 100 and a RTD board on channel 201.

Your RTD interface board may also have a DR (Data Ready) pin. Leave it unconnected.

The communication between the Duet and the RTD interface board uses 4MHz SPI signalling, so the wires should be kept short.

Firmware configuration

To tell the firmware to use a RTD channel for one of the heaters, use the X parameter in the M305 command for that heater to specify the required channel (200 to 203). For example, M305 P1 X200 tells the firmware that for heater 1 (which is normally the first hot end heater) it should sense the temperature using the PT100 board whose CS pin is connected to NPCS0. The R, S, T, B, H and L parameters of the M305 command are not used.

Troubleshooting

If the reading at room temperature is higher than it should be, then you probably have a bad connection between the RTD interface board and the sensor, or the wires to the sensor are too long or too thin. Each additional ohm of wiring resistance will increase the temperature reading by 0.25C.