Merge pull request #877 from Nutz95/Marlin_v1

pull Request to Add beta 3950 1% thermistor table into marlin firmware
This commit is contained in:
nothinman 2014-04-13 22:33:58 +01:00
commit a23a5395f9
2 changed files with 130 additions and 72 deletions

View file

@ -115,6 +115,7 @@
// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) // 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) // 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
// 10 is 100k RS thermistor 198-961 (4.7k pullup) // 10 is 100k RS thermistor 198-961 (4.7k pullup)
// 11 is 100k beta 3950 1% thermistor (4.7k pullup)
// 20 is the PT100 circuit found in the Ultimainboard V2.x // 20 is the PT100 circuit found in the Ultimainboard V2.x
// 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950 // 60 is 100k Maker's Tool Works Kapton Bed Thermistor beta=3950
// //

View file

@ -563,78 +563,135 @@ const short temptable_10[][2] PROGMEM = {
{1016*OVERSAMPLENR, 0} {1016*OVERSAMPLENR, 0}
}; };
#endif #endif
#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20) // PT100 with INA826 amp on Ultimaker v2.0 electronics #if (THERMISTORHEATER_0 == 11) || (THERMISTORHEATER_1 == 11) || (THERMISTORHEATER_2 == 11) || (THERMISTORBED == 11)
/* The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature. // QU-BD silicone bed QWG-104F-3950 thermistor
This does not match the normal thermistor behaviour so we need to set the following defines */
#if (THERMISTORHEATER_0 == 20) const short temptable_11[][2] PROGMEM = {
# define HEATER_0_RAW_HI_TEMP 16383 {1*OVERSAMPLENR, 938},
# define HEATER_0_RAW_LO_TEMP 0 {31*OVERSAMPLENR, 314},
#endif {41*OVERSAMPLENR, 290},
#if (THERMISTORHEATER_1 == 20) {51*OVERSAMPLENR, 272},
# define HEATER_1_RAW_HI_TEMP 16383 {61*OVERSAMPLENR, 258},
# define HEATER_1_RAW_LO_TEMP 0 {71*OVERSAMPLENR, 247},
#endif {81*OVERSAMPLENR, 237},
#if (THERMISTORHEATER_2 == 20) {91*OVERSAMPLENR, 229},
# define HEATER_2_RAW_HI_TEMP 16383 {101*OVERSAMPLENR, 221},
# define HEATER_2_RAW_LO_TEMP 0 {111*OVERSAMPLENR, 215},
#endif {121*OVERSAMPLENR, 209},
#if (THERMISTORBED == 20) {131*OVERSAMPLENR, 204},
# define HEATER_BED_RAW_HI_TEMP 16383 {141*OVERSAMPLENR, 199},
# define HEATER_BED_RAW_LO_TEMP 0 {151*OVERSAMPLENR, 195},
#endif {161*OVERSAMPLENR, 190},
const short temptable_20[][2] PROGMEM = { {171*OVERSAMPLENR, 187},
{ 0*OVERSAMPLENR , 0 }, {181*OVERSAMPLENR, 183},
{ 227*OVERSAMPLENR , 1 }, {191*OVERSAMPLENR, 179},
{ 236*OVERSAMPLENR , 10 }, {201*OVERSAMPLENR, 176},
{ 245*OVERSAMPLENR , 20 }, {221*OVERSAMPLENR, 170},
{ 253*OVERSAMPLENR , 30 }, {241*OVERSAMPLENR, 165},
{ 262*OVERSAMPLENR , 40 }, {261*OVERSAMPLENR, 160},
{ 270*OVERSAMPLENR , 50 }, {281*OVERSAMPLENR, 155},
{ 279*OVERSAMPLENR , 60 }, {301*OVERSAMPLENR, 150},
{ 287*OVERSAMPLENR , 70 }, {331*OVERSAMPLENR, 144},
{ 295*OVERSAMPLENR , 80 }, {361*OVERSAMPLENR, 139},
{ 304*OVERSAMPLENR , 90 }, {391*OVERSAMPLENR, 133},
{ 312*OVERSAMPLENR , 100 }, {421*OVERSAMPLENR, 128},
{ 320*OVERSAMPLENR , 110 }, {451*OVERSAMPLENR, 123},
{ 329*OVERSAMPLENR , 120 }, {491*OVERSAMPLENR, 117},
{ 337*OVERSAMPLENR , 130 }, {531*OVERSAMPLENR, 111},
{ 345*OVERSAMPLENR , 140 }, {571*OVERSAMPLENR, 105},
{ 353*OVERSAMPLENR , 150 }, {611*OVERSAMPLENR, 100},
{ 361*OVERSAMPLENR , 160 }, {641*OVERSAMPLENR, 95},
{ 369*OVERSAMPLENR , 170 }, {681*OVERSAMPLENR, 90},
{ 377*OVERSAMPLENR , 180 }, {711*OVERSAMPLENR, 85},
{ 385*OVERSAMPLENR , 190 }, {751*OVERSAMPLENR, 79},
{ 393*OVERSAMPLENR , 200 }, {791*OVERSAMPLENR, 72},
{ 401*OVERSAMPLENR , 210 }, {811*OVERSAMPLENR, 69},
{ 409*OVERSAMPLENR , 220 }, {831*OVERSAMPLENR, 65},
{ 417*OVERSAMPLENR , 230 }, {871*OVERSAMPLENR, 57},
{ 424*OVERSAMPLENR , 240 }, {881*OVERSAMPLENR, 55},
{ 432*OVERSAMPLENR , 250 }, {901*OVERSAMPLENR, 51},
{ 440*OVERSAMPLENR , 260 }, {921*OVERSAMPLENR, 45},
{ 447*OVERSAMPLENR , 270 }, {941*OVERSAMPLENR, 39},
{ 455*OVERSAMPLENR , 280 }, {971*OVERSAMPLENR, 28},
{ 463*OVERSAMPLENR , 290 }, {981*OVERSAMPLENR, 23},
{ 470*OVERSAMPLENR , 300 }, {991*OVERSAMPLENR, 17},
{ 478*OVERSAMPLENR , 310 }, {1001*OVERSAMPLENR, 9},
{ 485*OVERSAMPLENR , 320 }, {1021*OVERSAMPLENR, -27}
{ 493*OVERSAMPLENR , 330 }, };
{ 500*OVERSAMPLENR , 340 }, #endif
{ 507*OVERSAMPLENR , 350 },
{ 515*OVERSAMPLENR , 360 }, #if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20) // PT100 with INA826 amp on Ultimaker v2.0 electronics
{ 522*OVERSAMPLENR , 370 }, /* The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature.
{ 529*OVERSAMPLENR , 380 }, This does not match the normal thermistor behaviour so we need to set the following defines */
{ 537*OVERSAMPLENR , 390 }, #if (THERMISTORHEATER_0 == 20)
{ 544*OVERSAMPLENR , 400 }, # define HEATER_0_RAW_HI_TEMP 16383
{ 614*OVERSAMPLENR , 500 }, # define HEATER_0_RAW_LO_TEMP 0
{ 681*OVERSAMPLENR , 600 }, #endif
{ 744*OVERSAMPLENR , 700 }, #if (THERMISTORHEATER_1 == 20)
{ 805*OVERSAMPLENR , 800 }, # define HEATER_1_RAW_HI_TEMP 16383
{ 862*OVERSAMPLENR , 900 }, # define HEATER_1_RAW_LO_TEMP 0
{ 917*OVERSAMPLENR , 1000 }, #endif
{ 968*OVERSAMPLENR , 1100 } #if (THERMISTORHEATER_2 == 20)
}; # define HEATER_2_RAW_HI_TEMP 16383
#endif # define HEATER_2_RAW_LO_TEMP 0
#endif
#if (THERMISTORBED == 20)
# define HEATER_BED_RAW_HI_TEMP 16383
# define HEATER_BED_RAW_LO_TEMP 0
#endif
const short temptable_20[][2] PROGMEM = {
{ 0*OVERSAMPLENR , 0 },
{ 227*OVERSAMPLENR , 1 },
{ 236*OVERSAMPLENR , 10 },
{ 245*OVERSAMPLENR , 20 },
{ 253*OVERSAMPLENR , 30 },
{ 262*OVERSAMPLENR , 40 },
{ 270*OVERSAMPLENR , 50 },
{ 279*OVERSAMPLENR , 60 },
{ 287*OVERSAMPLENR , 70 },
{ 295*OVERSAMPLENR , 80 },
{ 304*OVERSAMPLENR , 90 },
{ 312*OVERSAMPLENR , 100 },
{ 320*OVERSAMPLENR , 110 },
{ 329*OVERSAMPLENR , 120 },
{ 337*OVERSAMPLENR , 130 },
{ 345*OVERSAMPLENR , 140 },
{ 353*OVERSAMPLENR , 150 },
{ 361*OVERSAMPLENR , 160 },
{ 369*OVERSAMPLENR , 170 },
{ 377*OVERSAMPLENR , 180 },
{ 385*OVERSAMPLENR , 190 },
{ 393*OVERSAMPLENR , 200 },
{ 401*OVERSAMPLENR , 210 },
{ 409*OVERSAMPLENR , 220 },
{ 417*OVERSAMPLENR , 230 },
{ 424*OVERSAMPLENR , 240 },
{ 432*OVERSAMPLENR , 250 },
{ 440*OVERSAMPLENR , 260 },
{ 447*OVERSAMPLENR , 270 },
{ 455*OVERSAMPLENR , 280 },
{ 463*OVERSAMPLENR , 290 },
{ 470*OVERSAMPLENR , 300 },
{ 478*OVERSAMPLENR , 310 },
{ 485*OVERSAMPLENR , 320 },
{ 493*OVERSAMPLENR , 330 },
{ 500*OVERSAMPLENR , 340 },
{ 507*OVERSAMPLENR , 350 },
{ 515*OVERSAMPLENR , 360 },
{ 522*OVERSAMPLENR , 370 },
{ 529*OVERSAMPLENR , 380 },
{ 537*OVERSAMPLENR , 390 },
{ 544*OVERSAMPLENR , 400 },
{ 614*OVERSAMPLENR , 500 },
{ 681*OVERSAMPLENR , 600 },
{ 744*OVERSAMPLENR , 700 },
{ 805*OVERSAMPLENR , 800 },
{ 862*OVERSAMPLENR , 900 },
{ 917*OVERSAMPLENR , 1000 },
{ 968*OVERSAMPLENR , 1100 }
};
#endif
#if (THERMISTORHEATER_0 == 51) || (THERMISTORHEATER_1 == 51) || (THERMISTORHEATER_2 == 51) || (THERMISTORBED == 51) #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!) // 100k EPCOS (WITH 1kohm RESISTOR FOR PULLUP, R9 ON SANGUINOLOLU! NOT FOR 4.7kohm PULLUP! THIS IS NOT NORMAL!)