Browse Source

This table is made for thermistor 3950 (can be found on ebay for cheap)

it's caracteristics are :

R25℃ ;100KΩ±1%

B Value(R25/50℃):3990K 1%
Dissipation Factor(mW/℃):1.1~1.6 In still Air
Thermal Time Constant(S):10~17 In Still Air
Operating temperature range:  (-50~+260°C)
Dimension:  1.8mm Dia X4.1mm
Lead Length  :30mm

This table was found on the following blogs:
http://cae2100.wordpress.com/2014/03/08/beta3950-thermistor-table-for-marlin/

and

http://microfabricator.com/articles/view/id/531ad7e59aad9d3131000000/beta-3950-thermistor-table-for-marlin
pull/1/head
Nutz95 11 years ago
parent
commit
3161740df9
  1. 1
      Marlin/Configuration.h
  2. 198
      Marlin/thermistortables.h

1
Marlin/Configuration.h

@ -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
// //

198
Marlin/thermistortables.h

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

Loading…
Cancel
Save