Thermistor
Contents
Thermistors
RepRap 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)
- Rz: 348394
// 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
<div class="thumb tright"></div>- Beta: 3960
// 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
<div class="thumb tright"></div>- Rz: 29000
// 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
- Beta: 3480
- Rz: 29000
// 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.
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.