commit
6b14f95b3e
2 changed files with 232 additions and 90 deletions
|
@ -38,18 +38,26 @@
|
|||
//===========================================================================
|
||||
//=============================Thermal Settings ============================
|
||||
//===========================================================================
|
||||
|
||||
//
|
||||
//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table
|
||||
//
|
||||
//// Temperature sensor settings:
|
||||
// -2 is thermocouple with MAX6675 (only for sensor 0)
|
||||
// -1 is thermocouple with AD595
|
||||
// 0 is not used
|
||||
// 1 is 100k thermistor
|
||||
// 2 is 200k thermistor
|
||||
// 3 is mendel-parts thermistor
|
||||
// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)
|
||||
// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)
|
||||
// 3 is mendel-parts thermistor (4.7k pullup)
|
||||
// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!
|
||||
// 5 is ParCan supplied 104GT-2 100K
|
||||
// 6 is EPCOS 100k
|
||||
// 7 is 100k Honeywell thermistor 135-104LAG-J01
|
||||
// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan) (4.7k pullup)
|
||||
// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
|
||||
// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
|
||||
//
|
||||
// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
|
||||
// (but gives greater accuracy and more stable PID)
|
||||
// 51 is 100k thermistor - EPCOS (1k pullup)
|
||||
// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
|
||||
// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)
|
||||
|
||||
#define TEMP_SENSOR_0 -1
|
||||
#define TEMP_SENSOR_1 0
|
||||
|
|
|
@ -73,27 +73,41 @@ const short temptable_1[][2] PROGMEM = {
|
|||
#endif
|
||||
#if (THERMISTORHEATER_0 == 2) || (THERMISTORHEATER_1 == 2) || (THERMISTORHEATER_2 == 2) || (THERMISTORBED == 2) //200k bed thermistor
|
||||
const short temptable_2[][2] PROGMEM = {
|
||||
//200k ATC Semitec 204GT-2
|
||||
//Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
|
||||
// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
|
||||
{1*OVERSAMPLENR, 848},
|
||||
{54*OVERSAMPLENR, 275},
|
||||
{107*OVERSAMPLENR, 228},
|
||||
{160*OVERSAMPLENR, 202},
|
||||
{213*OVERSAMPLENR, 185},
|
||||
{266*OVERSAMPLENR, 171},
|
||||
{319*OVERSAMPLENR, 160},
|
||||
{372*OVERSAMPLENR, 150},
|
||||
{425*OVERSAMPLENR, 141},
|
||||
{478*OVERSAMPLENR, 133},
|
||||
{531*OVERSAMPLENR, 125},
|
||||
{584*OVERSAMPLENR, 118},
|
||||
{637*OVERSAMPLENR, 110},
|
||||
{690*OVERSAMPLENR, 103},
|
||||
{743*OVERSAMPLENR, 95},
|
||||
{796*OVERSAMPLENR, 86},
|
||||
{849*OVERSAMPLENR, 77},
|
||||
{902*OVERSAMPLENR, 65},
|
||||
{955*OVERSAMPLENR, 49},
|
||||
{1008*OVERSAMPLENR, 17},
|
||||
{1020*OVERSAMPLENR, 0} //safety
|
||||
{30*OVERSAMPLENR, 300}, //top rating 300C
|
||||
{34*OVERSAMPLENR, 290},
|
||||
{39*OVERSAMPLENR, 280},
|
||||
{46*OVERSAMPLENR, 270},
|
||||
{53*OVERSAMPLENR, 260},
|
||||
{63*OVERSAMPLENR, 250},
|
||||
{74*OVERSAMPLENR, 240},
|
||||
{87*OVERSAMPLENR, 230},
|
||||
{104*OVERSAMPLENR, 220},
|
||||
{124*OVERSAMPLENR, 210},
|
||||
{148*OVERSAMPLENR, 200},
|
||||
{176*OVERSAMPLENR, 190},
|
||||
{211*OVERSAMPLENR, 180},
|
||||
{252*OVERSAMPLENR, 170},
|
||||
{301*OVERSAMPLENR, 160},
|
||||
{357*OVERSAMPLENR, 150},
|
||||
{420*OVERSAMPLENR, 140},
|
||||
{489*OVERSAMPLENR, 130},
|
||||
{562*OVERSAMPLENR, 120},
|
||||
{636*OVERSAMPLENR, 110},
|
||||
{708*OVERSAMPLENR, 100},
|
||||
{775*OVERSAMPLENR, 90},
|
||||
{835*OVERSAMPLENR, 80},
|
||||
{884*OVERSAMPLENR, 70},
|
||||
{924*OVERSAMPLENR, 60},
|
||||
{955*OVERSAMPLENR, 50},
|
||||
{977*OVERSAMPLENR, 40},
|
||||
{993*OVERSAMPLENR, 30},
|
||||
{1004*OVERSAMPLENR, 20},
|
||||
{1012*OVERSAMPLENR, 10},
|
||||
{1016*OVERSAMPLENR, 0},
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -157,73 +171,48 @@ const short temptable_4[][2] PROGMEM = {
|
|||
|
||||
#if (THERMISTORHEATER_0 == 5) || (THERMISTORHEATER_1 == 5) || (THERMISTORHEATER_2 == 5) || (THERMISTORBED == 5) //100k ParCan thermistor (104GT-2)
|
||||
const short temptable_5[][2] PROGMEM = {
|
||||
// ATC Semitec 104GT-2 (Used in ParCan)
|
||||
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
|
||||
// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
|
||||
{1*OVERSAMPLENR, 713},
|
||||
{18*OVERSAMPLENR, 316},
|
||||
{35*OVERSAMPLENR, 266},
|
||||
{52*OVERSAMPLENR, 239},
|
||||
{69*OVERSAMPLENR, 221},
|
||||
{86*OVERSAMPLENR, 208},
|
||||
{103*OVERSAMPLENR, 197},
|
||||
{120*OVERSAMPLENR, 188},
|
||||
{137*OVERSAMPLENR, 181},
|
||||
{154*OVERSAMPLENR, 174},
|
||||
{171*OVERSAMPLENR, 169},
|
||||
{188*OVERSAMPLENR, 163},
|
||||
{205*OVERSAMPLENR, 159},
|
||||
{222*OVERSAMPLENR, 154},
|
||||
{239*OVERSAMPLENR, 150},
|
||||
{256*OVERSAMPLENR, 147},
|
||||
{273*OVERSAMPLENR, 143},
|
||||
{290*OVERSAMPLENR, 140},
|
||||
{307*OVERSAMPLENR, 136},
|
||||
{324*OVERSAMPLENR, 133},
|
||||
{341*OVERSAMPLENR, 130},
|
||||
{358*OVERSAMPLENR, 128},
|
||||
{375*OVERSAMPLENR, 125},
|
||||
{392*OVERSAMPLENR, 122},
|
||||
{409*OVERSAMPLENR, 120},
|
||||
{426*OVERSAMPLENR, 117},
|
||||
{443*OVERSAMPLENR, 115},
|
||||
{460*OVERSAMPLENR, 112},
|
||||
{477*OVERSAMPLENR, 110},
|
||||
{494*OVERSAMPLENR, 108},
|
||||
{511*OVERSAMPLENR, 106},
|
||||
{528*OVERSAMPLENR, 103},
|
||||
{545*OVERSAMPLENR, 101},
|
||||
{562*OVERSAMPLENR, 99},
|
||||
{579*OVERSAMPLENR, 97},
|
||||
{596*OVERSAMPLENR, 95},
|
||||
{613*OVERSAMPLENR, 92},
|
||||
{630*OVERSAMPLENR, 90},
|
||||
{647*OVERSAMPLENR, 88},
|
||||
{664*OVERSAMPLENR, 86},
|
||||
{681*OVERSAMPLENR, 84},
|
||||
{698*OVERSAMPLENR, 81},
|
||||
{715*OVERSAMPLENR, 79},
|
||||
{732*OVERSAMPLENR, 77},
|
||||
{749*OVERSAMPLENR, 75},
|
||||
{766*OVERSAMPLENR, 72},
|
||||
{783*OVERSAMPLENR, 70},
|
||||
{800*OVERSAMPLENR, 67},
|
||||
{817*OVERSAMPLENR, 64},
|
||||
{834*OVERSAMPLENR, 61},
|
||||
{851*OVERSAMPLENR, 58},
|
||||
{868*OVERSAMPLENR, 55},
|
||||
{885*OVERSAMPLENR, 52},
|
||||
{902*OVERSAMPLENR, 48},
|
||||
{919*OVERSAMPLENR, 44},
|
||||
{936*OVERSAMPLENR, 40},
|
||||
{953*OVERSAMPLENR, 34},
|
||||
{970*OVERSAMPLENR, 28},
|
||||
{987*OVERSAMPLENR, 20},
|
||||
{1004*OVERSAMPLENR, 8},
|
||||
{1021*OVERSAMPLENR, 0}
|
||||
{17*OVERSAMPLENR, 300}, //top rating 300C
|
||||
{20*OVERSAMPLENR, 290},
|
||||
{23*OVERSAMPLENR, 280},
|
||||
{27*OVERSAMPLENR, 270},
|
||||
{31*OVERSAMPLENR, 260},
|
||||
{37*OVERSAMPLENR, 250},
|
||||
{43*OVERSAMPLENR, 240},
|
||||
{51*OVERSAMPLENR, 230},
|
||||
{61*OVERSAMPLENR, 220},
|
||||
{73*OVERSAMPLENR, 210},
|
||||
{87*OVERSAMPLENR, 200},
|
||||
{106*OVERSAMPLENR, 190},
|
||||
{128*OVERSAMPLENR, 180},
|
||||
{155*OVERSAMPLENR, 170},
|
||||
{189*OVERSAMPLENR, 160},
|
||||
{230*OVERSAMPLENR, 150},
|
||||
{278*OVERSAMPLENR, 140},
|
||||
{336*OVERSAMPLENR, 130},
|
||||
{402*OVERSAMPLENR, 120},
|
||||
{476*OVERSAMPLENR, 110},
|
||||
{554*OVERSAMPLENR, 100},
|
||||
{635*OVERSAMPLENR, 90},
|
||||
{713*OVERSAMPLENR, 80},
|
||||
{784*OVERSAMPLENR, 70},
|
||||
{846*OVERSAMPLENR, 60},
|
||||
{897*OVERSAMPLENR, 50},
|
||||
{937*OVERSAMPLENR, 40},
|
||||
{966*OVERSAMPLENR, 30},
|
||||
{986*OVERSAMPLENR, 20},
|
||||
{1000*OVERSAMPLENR, 10},
|
||||
{1010*OVERSAMPLENR, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if (THERMISTORHEATER_0 == 6) || (THERMISTORHEATER_1 == 6) || (THERMISTORHEATER_2 == 6) || (THERMISTORBED == 6) // 100k Epcos thermistor
|
||||
const short temptable_6[][2] PROGMEM = {
|
||||
{28*OVERSAMPLENR, 250},
|
||||
{1*OVERSAMPLENR, 350},
|
||||
{28*OVERSAMPLENR, 250}, //top rating 250C
|
||||
{31*OVERSAMPLENR, 245},
|
||||
{35*OVERSAMPLENR, 240},
|
||||
{39*OVERSAMPLENR, 235},
|
||||
|
@ -264,7 +253,8 @@ const short temptable_6[][2] PROGMEM = {
|
|||
|
||||
#if (THERMISTORHEATER_0 == 7) || (THERMISTORHEATER_1 == 7) || (THERMISTORHEATER_2 == 7) || (THERMISTORBED == 7) // 100k Honeywell 135-104LAG-J01
|
||||
const short temptable_7[][2] PROGMEM = {
|
||||
{46*OVERSAMPLENR, 270},
|
||||
{1*OVERSAMPLENR, 500},
|
||||
{46*OVERSAMPLENR, 270}, //top rating 300C
|
||||
{50*OVERSAMPLENR, 265},
|
||||
{54*OVERSAMPLENR, 260},
|
||||
{58*OVERSAMPLENR, 255},
|
||||
|
@ -321,6 +311,150 @@ const short temptable_7[][2] PROGMEM = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if (THERMISTORHEATER_0 == 51) || (THERMISTORHEATER_1 == 51) || (THERMISTORHEATER_2 == 51) || (THERMISTORBED == 51)
|
||||
// 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
|
||||
// Verified by linagee.
|
||||
// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
|
||||
// Advantage: Twice the resolution and better linearity from 150C to 200C
|
||||
const short temptable_51[][2] PROGMEM = {
|
||||
{1*OVERSAMPLENR, 350},
|
||||
{190*OVERSAMPLENR, 250}, //top rating 250C
|
||||
{203*OVERSAMPLENR, 245},
|
||||
{217*OVERSAMPLENR, 240},
|
||||
{232*OVERSAMPLENR, 235},
|
||||
{248*OVERSAMPLENR, 230},
|
||||
{265*OVERSAMPLENR, 225},
|
||||
{283*OVERSAMPLENR, 220},
|
||||
{302*OVERSAMPLENR, 215},
|
||||
{322*OVERSAMPLENR, 210},
|
||||
{344*OVERSAMPLENR, 205},
|
||||
{366*OVERSAMPLENR, 200},
|
||||
{390*OVERSAMPLENR, 195},
|
||||
{415*OVERSAMPLENR, 190},
|
||||
{440*OVERSAMPLENR, 185},
|
||||
{467*OVERSAMPLENR, 180},
|
||||
{494*OVERSAMPLENR, 175},
|
||||
{522*OVERSAMPLENR, 170},
|
||||
{551*OVERSAMPLENR, 165},
|
||||
{580*OVERSAMPLENR, 160},
|
||||
{609*OVERSAMPLENR, 155},
|
||||
{638*OVERSAMPLENR, 150},
|
||||
{666*OVERSAMPLENR, 145},
|
||||
{695*OVERSAMPLENR, 140},
|
||||
{722*OVERSAMPLENR, 135},
|
||||
{749*OVERSAMPLENR, 130},
|
||||
{775*OVERSAMPLENR, 125},
|
||||
{800*OVERSAMPLENR, 120},
|
||||
{823*OVERSAMPLENR, 115},
|
||||
{845*OVERSAMPLENR, 110},
|
||||
{865*OVERSAMPLENR, 105},
|
||||
{884*OVERSAMPLENR, 100},
|
||||
{901*OVERSAMPLENR, 95},
|
||||
{917*OVERSAMPLENR, 90},
|
||||
{932*OVERSAMPLENR, 85},
|
||||
{944*OVERSAMPLENR, 80},
|
||||
{956*OVERSAMPLENR, 75},
|
||||
{966*OVERSAMPLENR, 70},
|
||||
{975*OVERSAMPLENR, 65},
|
||||
{982*OVERSAMPLENR, 60},
|
||||
{989*OVERSAMPLENR, 55},
|
||||
{995*OVERSAMPLENR, 50},
|
||||
{1000*OVERSAMPLENR, 45},
|
||||
{1004*OVERSAMPLENR, 40},
|
||||
{1007*OVERSAMPLENR, 35},
|
||||
{1010*OVERSAMPLENR, 30},
|
||||
{1013*OVERSAMPLENR, 25},
|
||||
{1015*OVERSAMPLENR, 20},
|
||||
{1017*OVERSAMPLENR, 15},
|
||||
{1018*OVERSAMPLENR, 10},
|
||||
{1019*OVERSAMPLENR, 5},
|
||||
{1020*OVERSAMPLENR, 0},
|
||||
{1021*OVERSAMPLENR, -5}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if (THERMISTORHEATER_0 == 52) || (THERMISTORHEATER_1 == 52) || (THERMISTORHEATER_2 == 52) || (THERMISTORBED == 52)
|
||||
// 200k ATC Semitec 204GT-2 (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
|
||||
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
|
||||
// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
|
||||
// Advantage: More resolution and better linearity from 150C to 200C
|
||||
const short temptable_52[][2] PROGMEM = {
|
||||
{1*OVERSAMPLENR, 500},
|
||||
{125*OVERSAMPLENR, 300}, //top rating 300C
|
||||
{142*OVERSAMPLENR, 290},
|
||||
{162*OVERSAMPLENR, 280},
|
||||
{185*OVERSAMPLENR, 270},
|
||||
{211*OVERSAMPLENR, 260},
|
||||
{240*OVERSAMPLENR, 250},
|
||||
{274*OVERSAMPLENR, 240},
|
||||
{312*OVERSAMPLENR, 230},
|
||||
{355*OVERSAMPLENR, 220},
|
||||
{401*OVERSAMPLENR, 210},
|
||||
{452*OVERSAMPLENR, 200},
|
||||
{506*OVERSAMPLENR, 190},
|
||||
{563*OVERSAMPLENR, 180},
|
||||
{620*OVERSAMPLENR, 170},
|
||||
{677*OVERSAMPLENR, 160},
|
||||
{732*OVERSAMPLENR, 150},
|
||||
{783*OVERSAMPLENR, 140},
|
||||
{830*OVERSAMPLENR, 130},
|
||||
{871*OVERSAMPLENR, 120},
|
||||
{906*OVERSAMPLENR, 110},
|
||||
{935*OVERSAMPLENR, 100},
|
||||
{958*OVERSAMPLENR, 90},
|
||||
{976*OVERSAMPLENR, 80},
|
||||
{990*OVERSAMPLENR, 70},
|
||||
{1000*OVERSAMPLENR, 60},
|
||||
{1008*OVERSAMPLENR, 50},
|
||||
{1013*OVERSAMPLENR, 40},
|
||||
{1017*OVERSAMPLENR, 30},
|
||||
{1019*OVERSAMPLENR, 20},
|
||||
{1021*OVERSAMPLENR, 10},
|
||||
{1022*OVERSAMPLENR, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if (THERMISTORHEATER_0 == 55) || (THERMISTORHEATER_1 == 55) || (THERMISTORHEATER_2 == 55) || (THERMISTORBED == 55)
|
||||
// 100k ATC Semitec 104GT-2 (Used on ParCan) (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)
|
||||
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
|
||||
// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
|
||||
// Advantage: More resolution and better linearity from 150C to 200C
|
||||
const short temptable_52[][2] PROGMEM = {
|
||||
{1*OVERSAMPLENR, 500},
|
||||
{76*OVERSAMPLENR, 300},
|
||||
{87*OVERSAMPLENR, 290},
|
||||
{100*OVERSAMPLENR, 280},
|
||||
{114*OVERSAMPLENR, 270},
|
||||
{131*OVERSAMPLENR, 260},
|
||||
{152*OVERSAMPLENR, 250},
|
||||
{175*OVERSAMPLENR, 240},
|
||||
{202*OVERSAMPLENR, 230},
|
||||
{234*OVERSAMPLENR, 220},
|
||||
{271*OVERSAMPLENR, 210},
|
||||
{312*OVERSAMPLENR, 200},
|
||||
{359*OVERSAMPLENR, 190},
|
||||
{411*OVERSAMPLENR, 180},
|
||||
{467*OVERSAMPLENR, 170},
|
||||
{527*OVERSAMPLENR, 160},
|
||||
{590*OVERSAMPLENR, 150},
|
||||
{652*OVERSAMPLENR, 140},
|
||||
{713*OVERSAMPLENR, 130},
|
||||
{770*OVERSAMPLENR, 120},
|
||||
{822*OVERSAMPLENR, 110},
|
||||
{867*OVERSAMPLENR, 100},
|
||||
{905*OVERSAMPLENR, 90},
|
||||
{936*OVERSAMPLENR, 80},
|
||||
{961*OVERSAMPLENR, 70},
|
||||
{979*OVERSAMPLENR, 60},
|
||||
{993*OVERSAMPLENR, 50},
|
||||
{1003*OVERSAMPLENR, 40},
|
||||
{1010*OVERSAMPLENR, 30},
|
||||
{1015*OVERSAMPLENR, 20},
|
||||
{1018*OVERSAMPLENR, 10},
|
||||
{1020*OVERSAMPLENR, 0}
|
||||
};
|
||||
#endif
|
||||
|
||||
#define _TT_NAME(_N) temptable_ ## _N
|
||||
#define TT_NAME(_N) _TT_NAME(_N)
|
||||
|
||||
|
|
Reference in a new issue