chiark / gitweb /
get temp tables from "RepRapPro-Huxley-July-2012" ie c33ed4dcb852815f16f0ebb7dd9433e4...
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 28 Jul 2012 19:56:43 +0000 (19:56 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 28 Jul 2012 19:56:43 +0000 (19:56 +0000)
Marlin/thermistortables.h

index 6cff32930a878eab2dddff415ca9b3050e57c2ec..8d2e710ad64e94f022617221d2d8d5a1be8b5df3 100644 (file)
@@ -310,148 +310,267 @@ const short temptable_7[][2] PROGMEM = {
    {1005*OVERSAMPLENR, 5}
 };
 #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}
+//
+#if (THERMISTORHEATER_0 == 100) || (THERMISTORHEATER_1 == 100) || (THERMISTORHEATER_2 == 100) || (THERMISTORBED == 100) // 100k DO-35 NTC
+const short temptable_100[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 929},
+   {36*OVERSAMPLENR, 299},
+   {71*OVERSAMPLENR, 246},
+   {106*OVERSAMPLENR, 217},
+   {141*OVERSAMPLENR, 198},
+   {176*OVERSAMPLENR, 184},
+   {211*OVERSAMPLENR, 173},
+   {246*OVERSAMPLENR, 163},
+   {281*OVERSAMPLENR, 154},
+   {316*OVERSAMPLENR, 147},
+   {351*OVERSAMPLENR, 140},
+   {386*OVERSAMPLENR, 134},
+   {421*OVERSAMPLENR, 128},
+   {456*OVERSAMPLENR, 122},
+   {491*OVERSAMPLENR, 117},
+   {526*OVERSAMPLENR, 112},
+   {561*OVERSAMPLENR, 107},
+   {596*OVERSAMPLENR, 102},
+   {631*OVERSAMPLENR, 97},
+   {666*OVERSAMPLENR, 91},
+   {701*OVERSAMPLENR, 86},
+   {736*OVERSAMPLENR, 81},
+   {771*OVERSAMPLENR, 76},
+   {806*OVERSAMPLENR, 70},
+   {841*OVERSAMPLENR, 63},
+   {876*OVERSAMPLENR, 56},
+   {911*OVERSAMPLENR, 48},
+   {946*OVERSAMPLENR, 38},
+   {981*OVERSAMPLENR, 23},
+   {1005*OVERSAMPLENR, 5},
+   {1016*OVERSAMPLENR, 0}
+};
+#endif
+#if (THERMISTORHEATER_0 == 101) || (THERMISTORHEATER_1 == 101) || (THERMISTORHEATER_2 == 101) || (THERMISTORBED == 101) // 100k Honeywell 135-104LAG-J01
+const short temptable_101[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 704},
+   {54*OVERSAMPLENR, 216},
+   {107*OVERSAMPLENR, 175},
+   {160*OVERSAMPLENR, 152},
+   {213*OVERSAMPLENR, 137},
+   {266*OVERSAMPLENR, 125},
+   {319*OVERSAMPLENR, 115},
+   {372*OVERSAMPLENR, 106},
+   {425*OVERSAMPLENR, 99},
+   {478*OVERSAMPLENR, 91},
+   {531*OVERSAMPLENR, 85},
+   {584*OVERSAMPLENR, 78},
+   {637*OVERSAMPLENR, 71},
+   {690*OVERSAMPLENR, 65},
+   {743*OVERSAMPLENR, 58},
+   {796*OVERSAMPLENR, 50},
+   {849*OVERSAMPLENR, 42},
+   {902*OVERSAMPLENR, 31},
+   {955*OVERSAMPLENR, 17},
+   {1008*OVERSAMPLENR, 0}
+};
+#endif
+#if (THERMISTORHEATER_0 == 102) || (THERMISTORHEATER_1 == 102) || (THERMISTORHEATER_2 == 102) || (THERMISTORBED == 102) // EPCOS G57540
+const short temptable_102[][2] PROGMEM = {
+{15*OVERSAMPLENR,286},
+{16*OVERSAMPLENR,282},
+{17*OVERSAMPLENR,278},
+{18*OVERSAMPLENR,274},
+{19*OVERSAMPLENR,270},
+{20*OVERSAMPLENR,266},
+{21*OVERSAMPLENR,262},
+{22*OVERSAMPLENR,258},
+{23*OVERSAMPLENR,254},
+{25*OVERSAMPLENR,250},
+{27*OVERSAMPLENR,246},
+{28*OVERSAMPLENR,242},
+{31*OVERSAMPLENR,238},
+{33*OVERSAMPLENR,234},
+{35*OVERSAMPLENR,230},
+{38*OVERSAMPLENR,226},
+{41*OVERSAMPLENR,222},
+{44*OVERSAMPLENR,218},
+{48*OVERSAMPLENR,214},
+{52*OVERSAMPLENR,210},
+{56*OVERSAMPLENR,206},
+{61*OVERSAMPLENR,202},
+{66*OVERSAMPLENR,198},
+{71*OVERSAMPLENR,194},
+{78*OVERSAMPLENR,190},
+{84*OVERSAMPLENR,186},
+{92*OVERSAMPLENR,182},
+{100*OVERSAMPLENR,178},
+{109*OVERSAMPLENR,174},
+{120*OVERSAMPLENR,170},
+{131*OVERSAMPLENR,166},
+{143*OVERSAMPLENR,162},
+{156*OVERSAMPLENR,158},
+{171*OVERSAMPLENR,154},
+{187*OVERSAMPLENR,150},
+{205*OVERSAMPLENR,146},
+{224*OVERSAMPLENR,142},
+{224*OVERSAMPLENR,160},
+{245*OVERSAMPLENR,155},
+{268*OVERSAMPLENR,150},
+{293*OVERSAMPLENR,145},
+{320*OVERSAMPLENR,140},
+{348*OVERSAMPLENR,135},
+{379*OVERSAMPLENR,130},
+{411*OVERSAMPLENR,125},
+{480*OVERSAMPLENR,115},
+{553*OVERSAMPLENR,105},
+{628*OVERSAMPLENR,95},
+{702*OVERSAMPLENR,85},
+{770*OVERSAMPLENR,75},
+{830*OVERSAMPLENR,65},
+{881*OVERSAMPLENR,55},
+{922*OVERSAMPLENR,45},
+{954*OVERSAMPLENR,35},
+{977*OVERSAMPLENR,25},
+{993*OVERSAMPLENR,15},
+{999*OVERSAMPLENR,10},
+{1008*OVERSAMPLENR,0},
+};
+#endif
+#if (THERMISTORHEATER_0 == 103) || (THERMISTORHEATER_1 == 103) || (THERMISTORHEATER_2 == 103) || (THERMISTORBED == 103) // EPCOS G57540
+const short temptable_103[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 628},
+   {187*OVERSAMPLENR, 156},
+   {218*OVERSAMPLENR, 148},
+   {249*OVERSAMPLENR, 141},
+   {280*OVERSAMPLENR, 135},
+   {311*OVERSAMPLENR, 129},
+   {342*OVERSAMPLENR, 124},
+   {373*OVERSAMPLENR, 120},
+   {404*OVERSAMPLENR, 115},
+   {435*OVERSAMPLENR, 111},
+   {466*OVERSAMPLENR, 107},
+   {497*OVERSAMPLENR, 103},
+   {528*OVERSAMPLENR, 99},
+   {559*OVERSAMPLENR, 96},
+   {590*OVERSAMPLENR, 92},
+   {621*OVERSAMPLENR, 88},
+   {652*OVERSAMPLENR, 84},
+   {683*OVERSAMPLENR, 81},
+   {714*OVERSAMPLENR, 77},
+   {745*OVERSAMPLENR, 73},
+   {776*OVERSAMPLENR, 68},
+   {807*OVERSAMPLENR, 64},
+   {838*OVERSAMPLENR, 59},
+   {869*OVERSAMPLENR, 54},
+   {900*OVERSAMPLENR, 48},
+   {931*OVERSAMPLENR, 40},
+   {962*OVERSAMPLENR, 31},
+   {993*OVERSAMPLENR, 17},
+   {1008*OVERSAMPLENR,0}
+};
+#endif
+#if (THERMISTORHEATER_0 == 104) || (THERMISTORHEATER_1 == 104) || (THERMISTORHEATER_2 == 104) || (THERMISTORBED == 104) // EPCOS G57540G103F - r2=4k7
+const short temptable_104[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 599},
+   {54*OVERSAMPLENR, 160},
+   {107*OVERSAMPLENR, 123},
+   {160*OVERSAMPLENR, 103},
+   {213*OVERSAMPLENR, 90},
+   {266*OVERSAMPLENR, 79},
+   {319*OVERSAMPLENR, 70},
+   {372*OVERSAMPLENR, 62},
+   {425*OVERSAMPLENR, 55},
+   {478*OVERSAMPLENR, 49},
+   {531*OVERSAMPLENR, 43},
+   {584*OVERSAMPLENR, 37},
+   {637*OVERSAMPLENR, 31},
+   {690*OVERSAMPLENR, 25},
+   {743*OVERSAMPLENR, 19},
+   {796*OVERSAMPLENR, 12},
+   {849*OVERSAMPLENR, 5},
+   {902*OVERSAMPLENR, -3},
+   {955*OVERSAMPLENR, -16},
+   {1008*OVERSAMPLENR, -42}
+};
+#endif
+#if (THERMISTORHEATER_0 == 105) || (THERMISTORHEATER_1 == 105) || (THERMISTORHEATER_2 == 105) || (THERMISTORBED == 105) // EPCOS G57540G103F - r2=10k
+const short temptable_105[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 460},
+   {54*OVERSAMPLENR, 123},
+   {107*OVERSAMPLENR, 92},
+   {160*OVERSAMPLENR, 75},
+   {213*OVERSAMPLENR, 63},
+   {266*OVERSAMPLENR, 54},
+   {319*OVERSAMPLENR, 46},
+   {372*OVERSAMPLENR, 40},
+   {425*OVERSAMPLENR, 34},
+   {478*OVERSAMPLENR, 28},
+   {531*OVERSAMPLENR, 23},
+   {584*OVERSAMPLENR, 17},
+   {637*OVERSAMPLENR, 12},
+   {690*OVERSAMPLENR, 7},
+   {743*OVERSAMPLENR, 2},
+   {796*OVERSAMPLENR, -3},
+   {849*OVERSAMPLENR, -10},
+   {902*OVERSAMPLENR, -18},
+   {955*OVERSAMPLENR, -29},
+   {1008*OVERSAMPLENR, -53}
 };
 #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}
+#if (THERMISTORHEATER_0 == 110) || (THERMISTORHEATER_1 == 110) || (THERMISTORHEATER_2 == 110) || (THERMISTORBED == 110) // RS thermistor 198-961
+const short temptable_110[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 704},
+   {15*OVERSAMPLENR, 280},
+   {21*OVERSAMPLENR, 266},
+   {41*OVERSAMPLENR, 234},
+   {61*OVERSAMPLENR, 208},
+   {81*OVERSAMPLENR, 191},
+   {101*OVERSAMPLENR, 178},
+   {121*OVERSAMPLENR, 168},
+   {141*OVERSAMPLENR, 159},
+   {161*OVERSAMPLENR, 152},
+   {181*OVERSAMPLENR, 146},
+   {221*OVERSAMPLENR, 135},
+   {261*OVERSAMPLENR, 126},
+   {301*OVERSAMPLENR, 118},
+   {341*OVERSAMPLENR, 111},
+   {381*OVERSAMPLENR, 105},
+   {421*OVERSAMPLENR, 99},
+   {461*OVERSAMPLENR, 94},
+   {501*OVERSAMPLENR, 88},
+   {541*OVERSAMPLENR, 83},
+   {581*OVERSAMPLENR, 78},
+   {621*OVERSAMPLENR, 73},
+   {661*OVERSAMPLENR, 68},
+   {741*OVERSAMPLENR, 58},
+   {781*OVERSAMPLENR, 52},
+   {821*OVERSAMPLENR, 46},
+   {861*OVERSAMPLENR, 40},
+   {901*OVERSAMPLENR, 32},
+   {981*OVERSAMPLENR, 7},
+   {1008*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}
+#if (THERMISTORHEATER_0 == 111) || (THERMISTORHEATER_1 == 111) || (THERMISTORHEATER_2 == 111) || (THERMISTORBED == 111) //100k EPCOS
+const short temptable_111[][2] PROGMEM = {
+   {1*OVERSAMPLENR, 704},
+   {54*OVERSAMPLENR, 216},
+   {107*OVERSAMPLENR, 175},
+   {160*OVERSAMPLENR, 152},
+   {213*OVERSAMPLENR, 137},
+   {266*OVERSAMPLENR, 125},
+   {319*OVERSAMPLENR, 115},
+   {372*OVERSAMPLENR, 106},
+   {425*OVERSAMPLENR, 99},
+   {478*OVERSAMPLENR, 91},
+   {531*OVERSAMPLENR, 85},
+   {584*OVERSAMPLENR, 78},
+   {637*OVERSAMPLENR, 71},
+   {690*OVERSAMPLENR, 65},
+   {743*OVERSAMPLENR, 58},
+   {796*OVERSAMPLENR, 50},
+   {849*OVERSAMPLENR, 42},
+   {902*OVERSAMPLENR, 31},
+   {955*OVERSAMPLENR, 17},
+   {1008*OVERSAMPLENR, 0}
 };
 #endif