User Tools

Site Tools

Trace: thermistor_troubleshooting

Thermistor Troubleshooting

Sometimes things simply don't work, despite everything looks good. In such cases it's the best idea to work step by step to find the cause.

How It Should Work

Typical thermistor circuitry.

Typical thermistor circuitry.

Resistors change their resistance with temperature. For fixed value resistors this effect is unwanted. Thermistors take advantage of this effect and do so in a predictable fashion.

A typical thermistor circuitry is shown to the right. About all RepRap controllers use the same design.

  • CT1 means to smooth out noise, it's not directly involved in the measurement circuitry.
  • Connector is where the thermistor is connected.
  • RT1 makes up a voltage divider together with the thermistor. Most controllers have a 4700 ohms resistor here, which gives optimum resolution at about 100 °C. 1000 ohms moves the range of optimum resolution closer to typical extruder temperatures.

Connecting components this way gives a voltage on the signal line which depends on the thermistor's resistance and accordingly, on the thermistor's temperature. If the thermistor is very hot, its resistance is near zero, so the signal's voltage will be close to zero. If the thermistor is very cold, resistance is very high, signal's voltage will beclose to the supplied voltage, 3.3 volts (or 5 volts on other controllers). In between is our measurement range.

Hardware Measurements

Before searching for firmware misconfigurations, it's always a good idea to check hardware. A firmware can only report the voltage on the processor's signal pin.

Thermistor Type

Actually, thermistor type doesn't matter much for troubleshooting. They all work by the same principle, so the circuitry shown above always works (unless it's broken). Most RepRap printers use thermistors with 100 kOhms nominal resistance. This means they have 100 kOhms at 25 °C (“room temperature”).

During firmware configuration types matter a lot more, because there we want not only a working principle, but also reasonably accurate readings.

Check Supply Voltage

Easiest way to do this is to disconnect the thermistor and measure voltage between both pins on the board. With no thermistor connected, it should be full supply voltage, 3.3 or 5 volts depending on the controller.

Check Thermistor Wiring

This measurement is simple, too. Unplug the thermistor connector and measure resistance between both pins there. At room temperature this should be around the nominal value of the thermistor, typically 10 kOhms or 100 kOhms. Warming the thermistor by hand should reduce this resistance by a few kOhms.

Measuring the thermistor while it's plugged in gives false results.

If resistance is always zero, there's a short in your wiring. If resistance is infinite, wiring is broken.

Check Voltage on the Processor Pin

Location of thermistor pins on a Gen7-ARM 2.0

Location of thermistor pins on a Gen7-ARM 2.0

This is what the firmware actually “sees”, so it's crucial. Picture to the right shows where these pins are located on a Gen7-ARM 2.0. It's the 5th and 6th pin in the upper row.

This measurement can be done without the processor installed. If one is installed, the firmware shouldn't make these pins an output, but keep the default, input.

Without a thermistor connected, both pins should read full 3.3 volts (5 volts on 5 V controllers). Connecting a thermistor at room temperature (not to these processor pins, but to the thermistor header on the board) should drop this not much, but a bit. Typically to 3.1 … 3.2 volts.

Warming the thermistor by hand might change that slightly, perhaps by another 0.05 V drop. Warming the thermistor with a lighter or soldering iron (be careful to not overheat it!), should drop that voltage further, down to very low readings, like 0.5 V.

thermistor_troubleshooting.txt · Last modified: 2018/05/27 16:10 (external edit)