Browse Source

Bring thermistor_75.h up to speed

Scott Lahteine 6 years ago
parent
commit
46360f18b4
1 changed files with 53 additions and 44 deletions
  1. 53
    44
      Marlin/src/module/thermistor/thermistor_75.h

+ 53
- 44
Marlin/src/module/thermistor/thermistor_75.h View File

@@ -20,51 +20,60 @@
20 20
  *
21 21
  */
22 22
 
23
-// R25 = 100 kOhm, beta25 = 4100 K, 4.7 kOhm pull-up,
24
-// Generic Silicon Heat Pad with NTC 100K thermistor
25
-//
26
-// Many of the generic silicon heat pads use the MGB18-104F39050L32 Thermistor   It is used for various
27
-// wattage and voltage heat pads.  This table is correct if this part is used.   It has been
28
-// optimized to provide good granularity around the 60 C. and 110 C. which corrisponds to bed temperatures
29
-// for PLA and ABS.  If you are printing higher temperature filament such as nylon you can uncomment
30
-// the higher earlier entries in the table to give better accuracy.  But for speed reasons, if these
31
-// temperatures are not going to be used, it is better to leave them commented out.
23
+/**
24
+ * R25 = 100 kOhm, beta25 = 4100 K, 4.7 kOhm pull-up,
25
+ * Generic Silicon Heat Pad with NTC 100K thermistor
26
+ *
27
+ * Many generic silicone heat pads use the MGB18-104F39050L32 thermistor, applicable to various
28
+ * wattages and voltages. This table is correct if this part is used. It's been optimized
29
+ * to provide good granularity in the 60-110C range, good for PLA and ABS. For higher temperature
30
+ * filament (e.g., nylon) uncomment HIGH_TEMP_RANGE_75 for increased accuracy. If higher
31
+ * temperatures aren't used it can improve performance slightly to leave it commented out.
32
+ */
33
+
34
+//#define HIGH_TEMP_RANGE_75
32 35
 
33 36
 const short temptable_75[][2] PROGMEM = { // Generic Silicon Heat Pad with NTC 100K MGB18-104F39050L32 thermistor
34
-    { (short) ( 111.06 * OVERSAMPLENR ),  200 }, // v=0.542 r=571.747 res=0.501 degC/count
35
-//  { (short) ( 174.87 * OVERSAMPLENR ),  175 }, // v=0.854 r=967.950 res=0.311 degC/count  These values are valid.  But they serve no
36
-//  { (short) ( 191.64 * OVERSAMPLENR ),  170 }, // v=0.936 r=1082.139 res=0.284 degC/count  purpose.  It is better to delete them so
37
-//  { (short) ( 209.99 * OVERSAMPLENR ),  165 }, // v=1.025 r=1212.472 res=0.260 degC/count  the search is quicker and get to the meaningful
38
-//  { (short) ( 230.02 * OVERSAMPLENR ),  160 }, // v=1.123 r=1361.590 res=0.239 degC/count  part of the table sooner.
39
-//  { (short) ( 251.80 * OVERSAMPLENR ),  155 }, // v=1.230 r=1532.621 res=0.220 degC/count
40
-    { (short) ( 275.43 * OVERSAMPLENR ),  150 }, // v=1.345 r=1729.283 res=0.203 degC/count
41
-//  { (short) ( 300.92 * OVERSAMPLENR ),  145 }, // v=1.469 r=1956.004 res=0.189 degC/coun
42
-    { (short) ( 328.32 * OVERSAMPLENR ),  140 }, // v=1.603 r=2218.081 res=0.176 degC/count
43
-    { (short) ( 388.65 * OVERSAMPLENR ),  130 }, // v=1.898 r=2874.980 res=0.156 degC/count
44
-    { (short) ( 421.39 * OVERSAMPLENR ),  125 }, // v=2.058 r=3286.644 res=0.149 degC/count
45
-    { (short) ( 455.65 * OVERSAMPLENR ),  120 }, // v=2.225 r=3768.002 res=0.143 degC/count
46
-    { (short) ( 491.17 * OVERSAMPLENR ),  115 }, // v=2.398 r=4332.590 res=0.139 degC/count
47
-    { (short) ( 527.68 * OVERSAMPLENR ),  110 }, // v=2.577 r=4996.905 res=0.136 degC/count
48
-    { (short) ( 564.81 * OVERSAMPLENR ),  105 }, // v=2.758 r=5781.120 res=0.134 degC/count
49
-    { (short) ( 602.19 * OVERSAMPLENR ),  100 }, // v=2.940 r=6710.000 res=0.134 degC/count
50
-    { (short) ( 676.03 * OVERSAMPLENR ),   90 }, // v=3.301 r=9131.018 res=0.138 degC/count
51
-    { (short) ( 745.85 * OVERSAMPLENR ),   80 }, // v=3.642 r=12602.693 res=0.150 degC/count
52
-    { (short) ( 778.31 * OVERSAMPLENR ),   75 }, // v=3.800 r=14889.001 res=0.159 degC/count
53
-    { (short) ( 808.75 * OVERSAMPLENR ),   70 }, // v=3.949 r=17658.700 res=0.171 degC/count
54
-    { (short) ( 836.94 * OVERSAMPLENR ),   65 }, // v=4.087 r=21028.040 res=0.185 degC/count
55
-    { (short) ( 862.74 * OVERSAMPLENR ),   60 }, // v=4.213 r=25144.568 res=0.204 degC/count
56
-    { (short) ( 886.08 * OVERSAMPLENR ),   55 }, // v=4.327 r=30196.449 res=0.227 degC/count
57
-    { (short) ( 906.97 * OVERSAMPLENR ),   50 }, // v=4.429 r=36424.838 res=0.255 degC/count
58
-    { (short) ( 941.65 * OVERSAMPLENR ),   40 }, // v=4.598 r=53745.337 res=0.333 degC/count
59
-    { (short) ( 967.76 * OVERSAMPLENR ),   30 }, // v=4.725 r=80880.630 res=0.452 degC/count
60
-    { (short) ( 978.03 * OVERSAMPLENR ),   25 }, // v=4.776 r=100000.000 res=0.535 degC/count
61
-    { (short) ( 981.68 * OVERSAMPLENR ),   23 }, // v=4.793 r=109024.395 res=0.573 degC/count
62
-    { (short) ( 983.41 * OVERSAMPLENR ),   22 }, // v=4.802 r=113875.430 res=0.594 degC/count
63
-    { (short) ( 985.08 * OVERSAMPLENR ),   21 }, // v=4.810 r=118968.955 res=0.616 degC/count
64
-    { (short) ( 986.70 * OVERSAMPLENR ),   20 }, // v=4.818 r=124318.354 res=0.638 degC/count
65
-    { (short) ( 993.94 * OVERSAMPLENR ),   15 }, // v=4.853 r=155431.302 res=0.768 degC/count
66
-    { (short) ( 999.96 * OVERSAMPLENR ),   10 }, // v=4.883 r=195480.023 res=0.934 degC/count
67
-    { (short) (1008.95 * OVERSAMPLENR ),    0 }  // v=4.926 r=314997.575 res=1.418 degC/count
68
-};
37
+  { OV(111.06), 200 }, // v=0.542 r=571.747 res=0.501 degC/count
38
+
39
+  #ifdef HIGH_TEMP_RANGE_75
40
+    { OV(174.87), 175 }, // v=0.854 r=967.950 res=0.311 degC/count  These values are valid.  But they serve no
41
+    { OV(191.64), 170 }, // v=0.936 r=1082.139 res=0.284 degC/count  purpose.  It is better to delete them so
42
+    { OV(209.99), 165 }, // v=1.025 r=1212.472 res=0.260 degC/count  the search is quicker and get to the meaningful
43
+    { OV(230.02), 160 }, // v=1.123 r=1361.590 res=0.239 degC/count  part of the table sooner.
44
+    { OV(251.80), 155 }, // v=1.230 r=1532.621 res=0.220 degC/count
45
+  #endif
69 46
 
47
+  { OV(275.43), 150 }, // v=1.345 r=1729.283 res=0.203 degC/count
70 48
 
49
+  #ifdef HIGH_TEMP_RANGE_75
50
+    { OV(300.92), 145 }, // v=1.469 r=1956.004 res=0.189 degC/coun
51
+  #endif
52
+
53
+  { OV(328.32), 140 }, // v=1.603 r=2218.081 res=0.176 degC/count
54
+  { OV(388.65), 130 }, // v=1.898 r=2874.980 res=0.156 degC/count
55
+  { OV(421.39), 125 }, // v=2.058 r=3286.644 res=0.149 degC/count
56
+  { OV(455.65), 120 }, // v=2.225 r=3768.002 res=0.143 degC/count
57
+  { OV(491.17), 115 }, // v=2.398 r=4332.590 res=0.139 degC/count
58
+  { OV(527.68), 110 }, // v=2.577 r=4996.905 res=0.136 degC/count
59
+  { OV(564.81), 105 }, // v=2.758 r=5781.120 res=0.134 degC/count
60
+  { OV(602.19), 100 }, // v=2.940 r=6710.000 res=0.134 degC/count
61
+  { OV(676.03),  90 }, // v=3.301 r=9131.018 res=0.138 degC/count
62
+  { OV(745.85),  80 }, // v=3.642 r=12602.693 res=0.150 degC/count
63
+  { OV(778.31),  75 }, // v=3.800 r=14889.001 res=0.159 degC/count
64
+  { OV(808.75),  70 }, // v=3.949 r=17658.700 res=0.171 degC/count
65
+  { OV(836.94),  65 }, // v=4.087 r=21028.040 res=0.185 degC/count
66
+  { OV(862.74),  60 }, // v=4.213 r=25144.568 res=0.204 degC/count
67
+  { OV(886.08),  55 }, // v=4.327 r=30196.449 res=0.227 degC/count
68
+  { OV(906.97),  50 }, // v=4.429 r=36424.838 res=0.255 degC/count
69
+  { OV(941.65),  40 }, // v=4.598 r=53745.337 res=0.333 degC/count
70
+  { OV(967.76),  30 }, // v=4.725 r=80880.630 res=0.452 degC/count
71
+  { OV(978.03),  25 }, // v=4.776 r=100000.000 res=0.535 degC/count
72
+  { OV(981.68),  23 }, // v=4.793 r=109024.395 res=0.573 degC/count
73
+  { OV(983.41),  22 }, // v=4.802 r=113875.430 res=0.594 degC/count
74
+  { OV(985.08),  21 }, // v=4.810 r=118968.955 res=0.616 degC/count
75
+  { OV(986.70),  20 }, // v=4.818 r=124318.354 res=0.638 degC/count
76
+  { OV(993.94),  15 }, // v=4.853 r=155431.302 res=0.768 degC/count
77
+  { OV(999.96),  10 }, // v=4.883 r=195480.023 res=0.934 degC/count
78
+  { OV(008.95),   0 }  // v=4.926 r=314997.575 res=1.418 degC/count
79
+};

Loading…
Cancel
Save