|
@@ -1033,7 +1033,9 @@ const short temptable_12[][2] PROGMEM = {
|
|
|
|
|
|
#define PtA 3.9083E-3
|
|
|
#define PtB -5.775E-7
|
|
|
+#define PtC -4.183E-12
|
|
|
#define PtRt(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(T)*(T)))
|
|
|
+#define PtRtNew(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(T)*(T) + (T-100)*PtC*(T)*(T)*(T)))
|
|
|
#define PtAdVal(T,R0,Rup) (short)(1024/(Rup/PtRt(T,R0)+1))
|
|
|
#define PtLine(T,R0,Rup) { PtAdVal(T,R0,Rup)*OVERSAMPLENR, T },
|
|
|
|
|
@@ -1061,6 +1063,124 @@ const short temptable_147[][2] PROGMEM = {
|
|
|
PtLine(300,100,4700)
|
|
|
};
|
|
|
#endif
|
|
|
+// E3D Pt100 with 4k7 MiniRambo pullup, no Amp on the MiniRambo v1.3a
|
|
|
+#if (THERMISTORHEATER_0 == 148) || (THERMISTORHEATER_1 == 148) || (THERMISTORHEATER_2 == 148) || (THERMISTORBED == 148)
|
|
|
+const short temptable_148[][2] PROGMEM = {
|
|
|
+// These values have been calculated and tested over many days. See https://docs.google.com/spreadsheets/d/1MJXa6feEe0mGVCT2TrBwLxVOMoLDkJlvfQ4JXhAdV_E
|
|
|
+// Values that are missing from the 5C gap are missing due to resolution limits.
|
|
|
+{19.00000 * OVERSAMPLENR, 0},
|
|
|
+{19.25000 * OVERSAMPLENR, 5},
|
|
|
+{19.50000 * OVERSAMPLENR, 10},
|
|
|
+{19.87500 * OVERSAMPLENR, 15},
|
|
|
+{20.25000 * OVERSAMPLENR, 20},
|
|
|
+{21.00000 * OVERSAMPLENR, 25},
|
|
|
+{21.75000 * OVERSAMPLENR, 35},
|
|
|
+{22.00000 * OVERSAMPLENR, 40},
|
|
|
+{23.00000 * OVERSAMPLENR, 50}, // 55C is more commonly used.
|
|
|
+{23.75000 * OVERSAMPLENR, 60},
|
|
|
+{24.00000 * OVERSAMPLENR, 65},
|
|
|
+{24.06250 * OVERSAMPLENR, 70},
|
|
|
+{25.00000 * OVERSAMPLENR, 75},
|
|
|
+{25.50000 * OVERSAMPLENR, 85},
|
|
|
+{26.00000 * OVERSAMPLENR, 90},
|
|
|
+{26.93750 * OVERSAMPLENR,100},
|
|
|
+{27.00000 * OVERSAMPLENR,105},
|
|
|
+{27.37500 * OVERSAMPLENR,110},
|
|
|
+{28.00000 * OVERSAMPLENR,115},
|
|
|
+{29.00000 * OVERSAMPLENR,125},
|
|
|
+{29.25000 * OVERSAMPLENR,135},
|
|
|
+{30.00000 * OVERSAMPLENR,140},
|
|
|
+{35.50000 * OVERSAMPLENR,150},
|
|
|
+{31.00000 * OVERSAMPLENR,155},
|
|
|
+{32.00000 * OVERSAMPLENR,165},
|
|
|
+{32.18750 * OVERSAMPLENR,175},
|
|
|
+{33.00000 * OVERSAMPLENR,180},
|
|
|
+{33.62500 * OVERSAMPLENR,190},
|
|
|
+{34.00000 * OVERSAMPLENR,195},
|
|
|
+{35.00000 * OVERSAMPLENR,205},
|
|
|
+{35.50000 * OVERSAMPLENR,215},
|
|
|
+{36.00000 * OVERSAMPLENR,220},
|
|
|
+{36.75000 * OVERSAMPLENR,230},
|
|
|
+{37.00000 * OVERSAMPLENR,235},
|
|
|
+{37.75000 * OVERSAMPLENR,245},
|
|
|
+{38.00000 * OVERSAMPLENR,250},
|
|
|
+{38.12500 * OVERSAMPLENR,255},
|
|
|
+{39.00000 * OVERSAMPLENR,260},
|
|
|
+{40.00000 * OVERSAMPLENR,275},
|
|
|
+{40.25000 * OVERSAMPLENR,285},
|
|
|
+{41.00000 * OVERSAMPLENR,290},
|
|
|
+{41.25000 * OVERSAMPLENR,300},
|
|
|
+{42.00000 * OVERSAMPLENR,305},
|
|
|
+{43.00000 * OVERSAMPLENR,315},
|
|
|
+{43.25000 * OVERSAMPLENR,325},
|
|
|
+{44.00000 * OVERSAMPLENR,330},
|
|
|
+{44.18750 * OVERSAMPLENR,340},
|
|
|
+{45.00000 * OVERSAMPLENR,345},
|
|
|
+{45.25000 * OVERSAMPLENR,355},
|
|
|
+{46.00000 * OVERSAMPLENR,360},
|
|
|
+{46.62500 * OVERSAMPLENR,370},
|
|
|
+{47.00000 * OVERSAMPLENR,375},
|
|
|
+{47.25000 * OVERSAMPLENR,385},
|
|
|
+{48.00000 * OVERSAMPLENR,390},
|
|
|
+{48.75000 * OVERSAMPLENR,400},
|
|
|
+{49.00000 * OVERSAMPLENR,405},
|
|
|
+};
|
|
|
+#endif
|
|
|
+#if (THERMISTORHEATER_0 == 247) || (THERMISTORHEATER_1 == 247) || (THERMISTORHEATER_2 == 247) || (THERMISTORBED == 247) // Pt100 with 4k7 MiniRambo pullup & PT100 Amplifier
|
|
|
+const short temptable_247[][2] PROGMEM = {
|
|
|
+// Calculated from Bob-the-Kuhn's PT100 calculator listed in https://github.com/MarlinFirmware/Marlin/issues/5543
|
|
|
+// and the table provided by E3D at http://wiki.e3d-online.com/wiki/E3D_PT100_Amplifier_Documentation#Output_Characteristics.
|
|
|
+{ 0 * OVERSAMPLENR, 0},
|
|
|
+{241 * OVERSAMPLENR, 1},
|
|
|
+{249 * OVERSAMPLENR, 10},
|
|
|
+{259 * OVERSAMPLENR, 20},
|
|
|
+{267 * OVERSAMPLENR, 30},
|
|
|
+{275 * OVERSAMPLENR, 40},
|
|
|
+{283 * OVERSAMPLENR, 50},
|
|
|
+{291 * OVERSAMPLENR, 60},
|
|
|
+{299 * OVERSAMPLENR, 70},
|
|
|
+{307 * OVERSAMPLENR, 80},
|
|
|
+{315 * OVERSAMPLENR, 90},
|
|
|
+{323 * OVERSAMPLENR, 100},
|
|
|
+{331 * OVERSAMPLENR, 110},
|
|
|
+{340 * OVERSAMPLENR, 120},
|
|
|
+{348 * OVERSAMPLENR, 130},
|
|
|
+{354 * OVERSAMPLENR, 140},
|
|
|
+{362 * OVERSAMPLENR, 150},
|
|
|
+{370 * OVERSAMPLENR, 160},
|
|
|
+{378 * OVERSAMPLENR, 170},
|
|
|
+{386 * OVERSAMPLENR, 180},
|
|
|
+{394 * OVERSAMPLENR, 190},
|
|
|
+{402 * OVERSAMPLENR, 200},
|
|
|
+{410 * OVERSAMPLENR, 210},
|
|
|
+{418 * OVERSAMPLENR, 220},
|
|
|
+{426 * OVERSAMPLENR, 230},
|
|
|
+{432 * OVERSAMPLENR, 240},
|
|
|
+{440 * OVERSAMPLENR, 250},
|
|
|
+{448 * OVERSAMPLENR, 260},
|
|
|
+{454 * OVERSAMPLENR, 270},
|
|
|
+{462 * OVERSAMPLENR, 280},
|
|
|
+{469 * OVERSAMPLENR, 290},
|
|
|
+{475 * OVERSAMPLENR, 300},
|
|
|
+{483 * OVERSAMPLENR, 310},
|
|
|
+{491 * OVERSAMPLENR, 320},
|
|
|
+{499 * OVERSAMPLENR, 330},
|
|
|
+{505 * OVERSAMPLENR, 340},
|
|
|
+{513 * OVERSAMPLENR, 350},
|
|
|
+{519 * OVERSAMPLENR, 360},
|
|
|
+{527 * OVERSAMPLENR, 370},
|
|
|
+{533 * OVERSAMPLENR, 380},
|
|
|
+{541 * OVERSAMPLENR, 390},
|
|
|
+{549 * OVERSAMPLENR, 400},
|
|
|
+{616 * OVERSAMPLENR, 500},
|
|
|
+{682 * OVERSAMPLENR, 600},
|
|
|
+{741 * OVERSAMPLENR, 700},
|
|
|
+{801 * OVERSAMPLENR, 800},
|
|
|
+{856 * OVERSAMPLENR, 900},
|
|
|
+{910 * OVERSAMPLENR, 1000},
|
|
|
+{960 * OVERSAMPLENR, 1100},
|
|
|
+};
|
|
|
+#endif
|
|
|
#if (THERMISTORHEATER_0 == 1010) || (THERMISTORHEATER_1 == 1010) || (THERMISTORHEATER_2 == 1010) || (THERMISTORBED == 1010) // Pt1000 with 1k0 pullup
|
|
|
const short temptable_1010[][2] PROGMEM = {
|
|
|
PtLine(0,1000,1000)
|