Thermistors
Each thermistor has a variety of special values such as
Beta and
Rz value. A variety of thermistors you may encounter when building a
RepRap are listed below, along with the appropriate information.
EPCOS 100K Thermistor (B57540G0104F000)
// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4066
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 841},
{54, 255},
{107, 209},
{160, 184},
{213, 166},
{266, 153},
{319, 142},
{372, 132},
{425, 124},
{478, 116},
{531, 108},
{584, 101},
{637, 93},
{690, 86},
{743, 78},
{796, 70},
{849, 61},
{902, 50},
{955, 34},
{1008, 3}
};
RRRF 100K Thermistor
// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=3960 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 3960
// max adc: 1023
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 929},
{54, 266},
{107, 217},
{160, 190},
{213, 172},
{266, 158},
{319, 146},
{372, 136},
{425, 127},
{478, 119},
{531, 111},
{584, 103},
{637, 96},
{690, 88},
{743, 80},
{796, 71},
{849, 62},
{902, 50},
{955, 34},
{1008, 2}
};
RRRF 10K Thermistor
// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=10000 --t0=25 --r1=680 --r2=1600 --beta=3964 --max-adc=305
// r0: 10000
// t0: 25
// r1: 680
// r2: 1600
// beta: 3964
// max adc: 305
#define NUMTEMPS 19
short temptable[NUMTEMPS][2] = {
{1, 601},
{17, 260},
{33, 213},
{49, 187},
{65, 170},
{81, 156},
{97, 144},
{113, 134},
{129, 125},
{145, 117},
{161, 109},
{177, 101},
{193, 94},
{209, 86},
{225, 78},
{241, 69},
{257, 59},
{273, 46},
{289, 28}
};
RS 10K Thermistor
// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=10000 --t0=25 --r1=680 --r2=1600 --beta=3480 --max-adc=315
// r0: 10000
// t0: 25
// r1: 680
// r2: 1600
// beta: 3480
// max adc: 315
#define NUMTEMPS 20
short temptable[NUMTEMPS][2] = {
{1, 922},
{17, 327},
{33, 260},
{49, 225},
{65, 202},
{81, 184},
{97, 169},
{113, 156},
{129, 145},
{145, 134},
{161, 125},
{177, 115},
{193, 106},
{209, 96},
{225, 87},
{241, 76},
{257, 64},
{273, 50},
{289, 29},
{305, -45}
};
Thermistor Calculations
If you are using a non-standard thermistor, or you simply want more information on how they work, check these pages out. Do bear in mind that the PIC will not correctly calculate temperature if the resistance drops below 1K, so if yours does, stick a small resistance in series with the thermistor to ensure that the overall resistance remains above 1K.
Calculating Thermistor Beta / Rz Values
This is how you calculate the
Beta and
Rz values for a thermistor. You'll need this valuable if you plan on using a non-standard thermistor for sure. The page contains a javascript calculator to make things easy.
Read more here
Calculating PIC Temperatures
The PIC uses a capacitor and charges it through the thermistor. It sends the temperature back to the host as a timer reading. This page describes how it is calculated and how to choose the right capacitor.
Read more here
to top