Diff
checker
텍스트
텍스트
이미지
문서
Excel
폴더
Legal
Enterprise
데스크톱
요금제
로그인
데스크톱 앱 다운로드
텍스트 비교
두 텍스트 파일의 차이점을 찾아보세요
도구
기록
실시간 편집
변경 없는 행 숨기기
줄바꿈 비활성화
레이아웃
나란히 보기
합쳐 보기
비교 단위
스마트
단어
글자
구문 강조
언어 선택
제외
텍스트 변환
첫 변경으로
수정
Diffchecker Desktop
가장 안전하게 Diffchecker를 사용하는 방법. 데스크톱 앱을 사용하면 비교 데이터가 외부로 전송되지 않습니다!
데스크톱 앱 받기
Untitled diff
생성일
10년 전
비교 결과 만료 없음
초기화
내보내기
공유
설명
0 삭제
행
총
삭제
글자
총
삭제
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
785 행
복사
0 추가
행
총
추가
글자
총
추가
이 기능을 계속 사용하려면 업그레이드해 주세요
Diff
checker
Pro
요금제 보기
785 행
복사
/**
/**
* Marlin 3D Printer Firmware
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
*
* Based on Sprinter and grbl.
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
*
*
* This program is free software: you can redistribute it and/or modify
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
*/
#ifndef THERMISTORTABLES_H_
#ifndef THERMISTORTABLES_H_
#define THERMISTORTABLES_H_
#define THERMISTORTABLES_H_
#include "Marlin.h"
#include "Marlin.h"
#include "macros.h"
#include "macros.h"
#define OVERSAMPLENR 16
#define OVERSAMPLENR 16
#define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORBED == n)
#define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORBED == n)
#if ANY_THERMISTOR_IS(1) // 100k bed thermistor
#if ANY_THERMISTOR_IS(1) // 100k bed thermistor
const short temptable_1[][2] PROGMEM = {
const short temptable_1[][2] PROGMEM = {
{ 23 * OVERSAMPLENR, 300 },
{ 23 * OVERSAMPLENR, 300 },
{ 25 * OVERSAMPLENR, 295 },
{ 25 * OVERSAMPLENR, 295 },
{ 27 * OVERSAMPLENR, 290 },
{ 27 * OVERSAMPLENR, 290 },
{ 28 * OVERSAMPLENR, 285 },
{ 28 * OVERSAMPLENR, 285 },
{ 31 * OVERSAMPLENR, 280 },
{ 31 * OVERSAMPLENR, 280 },
{ 33 * OVERSAMPLENR, 275 },
{ 33 * OVERSAMPLENR, 275 },
{ 35 * OVERSAMPLENR, 270 },
{ 35 * OVERSAMPLENR, 270 },
{ 38 * OVERSAMPLENR, 265 },
{ 38 * OVERSAMPLENR, 265 },
{ 41 * OVERSAMPLENR, 260 },
{ 41 * OVERSAMPLENR, 260 },
{ 44 * OVERSAMPLENR, 255 },
{ 44 * OVERSAMPLENR, 255 },
{ 48 * OVERSAMPLENR, 250 },
{ 48 * OVERSAMPLENR, 250 },
{ 52 * OVERSAMPLENR, 245 },
{ 52 * OVERSAMPLENR, 245 },
{ 56 * OVERSAMPLENR, 240 },
{ 56 * OVERSAMPLENR, 240 },
{ 61 * OVERSAMPLENR, 235 },
{ 61 * OVERSAMPLENR, 235 },
{ 66 * OVERSAMPLENR, 230 },
{ 66 * OVERSAMPLENR, 230 },
{ 71 * OVERSAMPLENR, 225 },
{ 71 * OVERSAMPLENR, 225 },
{ 78 * OVERSAMPLENR, 220 },
{ 78 * OVERSAMPLENR, 220 },
{ 84 * OVERSAMPLENR, 215 },
{ 84 * OVERSAMPLENR, 215 },
{ 92 * OVERSAMPLENR, 210 },
{ 92 * OVERSAMPLENR, 210 },
{ 100 * OVERSAMPLENR, 205 },
{ 100 * OVERSAMPLENR, 205 },
{ 109 * OVERSAMPLENR, 200 },
{ 109 * OVERSAMPLENR, 200 },
{ 120 * OVERSAMPLENR, 195 },
{ 120 * OVERSAMPLENR, 195 },
{ 131 * OVERSAMPLENR, 190 },
{ 131 * OVERSAMPLENR, 190 },
{ 143 * OVERSAMPLENR, 185 },
{ 143 * OVERSAMPLENR, 185 },
{ 156 * OVERSAMPLENR, 180 },
{ 156 * OVERSAMPLENR, 180 },
{ 171 * OVERSAMPLENR, 175 },
{ 171 * OVERSAMPLENR, 175 },
{ 187 * OVERSAMPLENR, 170 },
{ 187 * OVERSAMPLENR, 170 },
{ 205 * OVERSAMPLENR, 165 },
{ 205 * OVERSAMPLENR, 165 },
{ 224 * OVERSAMPLENR, 160 },
{ 224 * OVERSAMPLENR, 160 },
{ 245 * OVERSAMPLENR, 155 },
{ 245 * OVERSAMPLENR, 155 },
{ 268 * OVERSAMPLENR, 150 },
{ 268 * OVERSAMPLENR, 150 },
{ 293 * OVERSAMPLENR, 145 },
{ 293 * OVERSAMPLENR, 145 },
{ 320 * OVERSAMPLENR, 140 },
{ 320 * OVERSAMPLENR, 140 },
{ 348 * OVERSAMPLENR, 135 },
{ 348 * OVERSAMPLENR, 135 },
{ 379 * OVERSAMPLENR, 130 },
{ 379 * OVERSAMPLENR, 130 },
{ 411 * OVERSAMPLENR, 125 },
{ 411 * OVERSAMPLENR, 125 },
{ 445 * OVERSAMPLENR, 120 },
{ 445 * OVERSAMPLENR, 120 },
{ 480 * OVERSAMPLENR, 115 },
{ 480 * OVERSAMPLENR, 115 },
{ 516 * OVERSAMPLENR, 110 },
{ 516 * OVERSAMPLENR, 110 },
{ 553 * OVERSAMPLENR, 105 },
{ 553 * OVERSAMPLENR, 105 },
{ 591 * OVERSAMPLENR, 100 },
{ 591 * OVERSAMPLENR, 100 },
{ 628 * OVERSAMPLENR, 95 },
{ 628 * OVERSAMPLENR, 95 },
{ 665 * OVERSAMPLENR, 90 },
{ 665 * OVERSAMPLENR, 90 },
{ 702 * OVERSAMPLENR, 85 },
{ 702 * OVERSAMPLENR, 85 },
{ 737 * OVERSAMPLENR, 80 },
{ 737 * OVERSAMPLENR, 80 },
{ 770 * OVERSAMPLENR, 75 },
{ 770 * OVERSAMPLENR, 75 },
{ 801 * OVERSAMPLENR, 70 },
{ 801 * OVERSAMPLENR, 70 },
{ 830 * OVERSAMPLENR, 65 },
{ 830 * OVERSAMPLENR, 65 },
{ 857 * OVERSAMPLENR, 60 },
{ 857 * OVERSAMPLENR, 60 },
{ 881 * OVERSAMPLENR, 55 },
{ 881 * OVERSAMPLENR, 55 },
{ 903 * OVERSAMPLENR, 50 },
{ 903 * OVERSAMPLENR, 50 },
{ 922 * OVERSAMPLENR, 45 },
{ 922 * OVERSAMPLENR, 45 },
{ 939 * OVERSAMPLENR, 40 },
{ 939 * OVERSAMPLENR, 40 },
{ 954 * OVERSAMPLENR, 35 },
{ 954 * OVERSAMPLENR, 35 },
{ 966 * OVERSAMPLENR, 30 },
{ 966 * OVERSAMPLENR, 30 },
{ 977 * OVERSAMPLENR, 25 },
{ 977 * OVERSAMPLENR, 25 },
{ 985 * OVERSAMPLENR, 20 },
{ 985 * OVERSAMPLENR, 20 },
{ 993 * OVERSAMPLENR, 15 },
{ 993 * OVERSAMPLENR, 15 },
{ 999 * OVERSAMPLENR, 10 },
{ 999 * OVERSAMPLENR, 10 },
{ 1004 * OVERSAMPLENR, 5 },
{ 1004 * OVERSAMPLENR, 5 },
{ 1008 * OVERSAMPLENR, 0 } // safety
{ 1008 * OVERSAMPLENR, 0 } // safety
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(2) // 200k bed thermistor
#if ANY_THERMISTOR_IS(2) // 200k bed thermistor
// 200k ATC Semitec 204GT-2
// 200k ATC Semitec 204GT-2
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
const short temptable_2[][2] PROGMEM = {
const short temptable_2[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 848 },
{ 1 * OVERSAMPLENR, 848 },
{ 30 * OVERSAMPLENR, 300 }, // top rating 300C
{ 30 * OVERSAMPLENR, 300 }, // top rating 300C
{ 34 * OVERSAMPLENR, 290 },
{ 34 * OVERSAMPLENR, 290 },
{ 39 * OVERSAMPLENR, 280 },
{ 39 * OVERSAMPLENR, 280 },
{ 46 * OVERSAMPLENR, 270 },
{ 46 * OVERSAMPLENR, 270 },
{ 53 * OVERSAMPLENR, 260 },
{ 53 * OVERSAMPLENR, 260 },
{ 63 * OVERSAMPLENR, 250 },
{ 63 * OVERSAMPLENR, 250 },
{ 74 * OVERSAMPLENR, 240 },
{ 74 * OVERSAMPLENR, 240 },
{ 87 * OVERSAMPLENR, 230 },
{ 87 * OVERSAMPLENR, 230 },
{ 104 * OVERSAMPLENR, 220 },
{ 104 * OVERSAMPLENR, 220 },
{ 124 * OVERSAMPLENR, 210 },
{ 124 * OVERSAMPLENR, 210 },
{ 148 * OVERSAMPLENR, 200 },
{ 148 * OVERSAMPLENR, 200 },
{ 176 * OVERSAMPLENR, 190 },
{ 176 * OVERSAMPLENR, 190 },
{ 211 * OVERSAMPLENR, 180 },
{ 211 * OVERSAMPLENR, 180 },
{ 252 * OVERSAMPLENR, 170 },
{ 252 * OVERSAMPLENR, 170 },
{ 301 * OVERSAMPLENR, 160 },
{ 301 * OVERSAMPLENR, 160 },
{ 357 * OVERSAMPLENR, 150 },
{ 357 * OVERSAMPLENR, 150 },
{ 420 * OVERSAMPLENR, 140 },
{ 420 * OVERSAMPLENR, 140 },
{ 489 * OVERSAMPLENR, 130 },
{ 489 * OVERSAMPLENR, 130 },
{ 562 * OVERSAMPLENR, 120 },
{ 562 * OVERSAMPLENR, 120 },
{ 636 * OVERSAMPLENR, 110 },
{ 636 * OVERSAMPLENR, 110 },
{ 708 * OVERSAMPLENR, 100 },
{ 708 * OVERSAMPLENR, 100 },
{ 775 * OVERSAMPLENR, 90 },
{ 775 * OVERSAMPLENR, 90 },
{ 835 * OVERSAMPLENR, 80 },
{ 835 * OVERSAMPLENR, 80 },
{ 884 * OVERSAMPLENR, 70 },
{ 884 * OVERSAMPLENR, 70 },
{ 924 * OVERSAMPLENR, 60 },
{ 924 * OVERSAMPLENR, 60 },
{ 955 * OVERSAMPLENR, 50 },
{ 955 * OVERSAMPLENR, 50 },
{ 977 * OVERSAMPLENR, 40 },
{ 977 * OVERSAMPLENR, 40 },
{ 993 * OVERSAMPLENR, 30 },
{ 993 * OVERSAMPLENR, 30 },
{ 1004 * OVERSAMPLENR, 20 },
{ 1004 * OVERSAMPLENR, 20 },
{ 1012 * OVERSAMPLENR, 10 },
{ 1012 * OVERSAMPLENR, 10 },
{ 1016 * OVERSAMPLENR, 0 }
{ 1016 * OVERSAMPLENR, 0 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(3) // mendel-parts
#if ANY_THERMISTOR_IS(3) // mendel-parts
const short temptable_3[][2] PROGMEM = {
const short temptable_3[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 864 },
{ 1 * OVERSAMPLENR, 864 },
{ 21 * OVERSAMPLENR, 300 },
{ 21 * OVERSAMPLENR, 300 },
{ 25 * OVERSAMPLENR, 290 },
{ 25 * OVERSAMPLENR, 290 },
{ 29 * OVERSAMPLENR, 280 },
{ 29 * OVERSAMPLENR, 280 },
{ 33 * OVERSAMPLENR, 270 },
{ 33 * OVERSAMPLENR, 270 },
{ 39 * OVERSAMPLENR, 260 },
{ 39 * OVERSAMPLENR, 260 },
{ 46 * OVERSAMPLENR, 250 },
{ 46 * OVERSAMPLENR, 250 },
{ 54 * OVERSAMPLENR, 240 },
{ 54 * OVERSAMPLENR, 240 },
{ 64 * OVERSAMPLENR, 230 },
{ 64 * OVERSAMPLENR, 230 },
{ 75 * OVERSAMPLENR, 220 },
{ 75 * OVERSAMPLENR, 220 },
{ 90 * OVERSAMPLENR, 210 },
{ 90 * OVERSAMPLENR, 210 },
{ 107 * OVERSAMPLENR, 200 },
{ 107 * OVERSAMPLENR, 200 },
{ 128 * OVERSAMPLENR, 190 },
{ 128 * OVERSAMPLENR, 190 },
{ 154 * OVERSAMPLENR, 180 },
{ 154 * OVERSAMPLENR, 180 },
{ 184 * OVERSAMPLENR, 170 },
{ 184 * OVERSAMPLENR, 170 },
{ 221 * OVERSAMPLENR, 160 },
{ 221 * OVERSAMPLENR, 160 },
{ 265 * OVERSAMPLENR, 150 },
{ 265 * OVERSAMPLENR, 150 },
{ 316 * OVERSAMPLENR, 140 },
{ 316 * OVERSAMPLENR, 140 },
{ 375 * OVERSAMPLENR, 130 },
{ 375 * OVERSAMPLENR, 130 },
{ 441 * OVERSAMPLENR, 120 },
{ 441 * OVERSAMPLENR, 120 },
{ 513 * OVERSAMPLENR, 110 },
{ 513 * OVERSAMPLENR, 110 },
{ 588 * OVERSAMPLENR, 100 },
{ 588 * OVERSAMPLENR, 100 },
{ 734 * OVERSAMPLENR, 80 },
{ 734 * OVERSAMPLENR, 80 },
{ 856 * OVERSAMPLENR, 60 },
{ 856 * OVERSAMPLENR, 60 },
{ 938 * OVERSAMPLENR, 40 },
{ 938 * OVERSAMPLENR, 40 },
{ 986 * OVERSAMPLENR, 20 },
{ 986 * OVERSAMPLENR, 20 },
{ 1008 * OVERSAMPLENR, 0 },
{ 1008 * OVERSAMPLENR, 0 },
{ 1018 * OVERSAMPLENR, -20 }
{ 1018 * OVERSAMPLENR, -20 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(4) // 10k thermistor
#if ANY_THERMISTOR_IS(4) // 10k thermistor
const short temptable_4[][2] PROGMEM = {
const short temptable_4[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 430 },
{ 1 * OVERSAMPLENR, 430 },
{ 54 * OVERSAMPLENR, 137 },
{ 54 * OVERSAMPLENR, 137 },
{ 107 * OVERSAMPLENR, 107 },
{ 107 * OVERSAMPLENR, 107 },
{ 160 * OVERSAMPLENR, 91 },
{ 160 * OVERSAMPLENR, 91 },
{ 213 * OVERSAMPLENR, 80 },
{ 213 * OVERSAMPLENR, 80 },
{ 266 * OVERSAMPLENR, 71 },
{ 266 * OVERSAMPLENR, 71 },
{ 319 * OVERSAMPLENR, 64 },
{ 319 * OVERSAMPLENR, 64 },
{ 372 * OVERSAMPLENR, 57 },
{ 372 * OVERSAMPLENR, 57 },
{ 425 * OVERSAMPLENR, 51 },
{ 425 * OVERSAMPLENR, 51 },
{ 478 * OVERSAMPLENR, 46 },
{ 478 * OVERSAMPLENR, 46 },
{ 531 * OVERSAMPLENR, 41 },
{ 531 * OVERSAMPLENR, 41 },
{ 584 * OVERSAMPLENR, 35 },
{ 584 * OVERSAMPLENR, 35 },
{ 637 * OVERSAMPLENR, 30 },
{ 637 * OVERSAMPLENR, 30 },
{ 690 * OVERSAMPLENR, 25 },
{ 690 * OVERSAMPLENR, 25 },
{ 743 * OVERSAMPLENR, 20 },
{ 743 * OVERSAMPLENR, 20 },
{ 796 * OVERSAMPLENR, 14 },
{ 796 * OVERSAMPLENR, 14 },
{ 849 * OVERSAMPLENR, 7 },
{ 849 * OVERSAMPLENR, 7 },
{ 902 * OVERSAMPLENR, 0 },
{ 902 * OVERSAMPLENR, 0 },
{ 955 * OVERSAMPLENR, -11 },
{ 955 * OVERSAMPLENR, -11 },
{ 1008 * OVERSAMPLENR, -35 }
{ 1008 * OVERSAMPLENR, -35 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(5) // 100k ParCan thermistor (104GT-2)
#if ANY_THERMISTOR_IS(5) // 100k ParCan thermistor (104GT-2)
// ATC Semitec 104GT-2 (Used in ParCan)
// ATC Semitec 104GT-2 (Used in ParCan)
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
// Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf
// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
// Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance
const short temptable_5[][2] PROGMEM = {
const short temptable_5[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 713 },
{ 1 * OVERSAMPLENR, 713 },
{ 17 * OVERSAMPLENR, 300 }, // top rating 300C
{ 17 * OVERSAMPLENR, 300 }, // top rating 300C
{ 20 * OVERSAMPLENR, 290 },
{ 20 * OVERSAMPLENR, 290 },
{ 23 * OVERSAMPLENR, 280 },
{ 23 * OVERSAMPLENR, 280 },
{ 27 * OVERSAMPLENR, 270 },
{ 27 * OVERSAMPLENR, 270 },
{ 31 * OVERSAMPLENR, 260 },
{ 31 * OVERSAMPLENR, 260 },
{ 37 * OVERSAMPLENR, 250 },
{ 37 * OVERSAMPLENR, 250 },
{ 43 * OVERSAMPLENR, 240 },
{ 43 * OVERSAMPLENR, 240 },
{ 51 * OVERSAMPLENR, 230 },
{ 51 * OVERSAMPLENR, 230 },
{ 61 * OVERSAMPLENR, 220 },
{ 61 * OVERSAMPLENR, 220 },
{ 73 * OVERSAMPLENR, 210 },
{ 73 * OVERSAMPLENR, 210 },
{ 87 * OVERSAMPLENR, 200 },
{ 87 * OVERSAMPLENR, 200 },
{ 106 * OVERSAMPLENR, 190 },
{ 106 * OVERSAMPLENR, 190 },
{ 128 * OVERSAMPLENR, 180 },
{ 128 * OVERSAMPLENR, 180 },
{ 155 * OVERSAMPLENR, 170 },
{ 155 * OVERSAMPLENR, 170 },
{ 189 * OVERSAMPLENR, 160 },
{ 189 * OVERSAMPLENR, 160 },
{ 230 * OVERSAMPLENR, 150 },
{ 230 * OVERSAMPLENR, 150 },
{ 278 * OVERSAMPLENR, 140 },
{ 278 * OVERSAMPLENR, 140 },
{ 336 * OVERSAMPLENR, 130 },
{ 336 * OVERSAMPLENR, 130 },
{ 402 * OVERSAMPLENR, 120 },
{ 402 * OVERSAMPLENR, 120 },
{ 476 * OVERSAMPLENR, 110 },
{ 476 * OVERSAMPLENR, 110 },
{ 554 * OVERSAMPLENR, 100 },
{ 554 * OVERSAMPLENR, 100 },
{ 635 * OVERSAMPLENR, 90 },
{ 635 * OVERSAMPLENR, 90 },
{ 713 * OVERSAMPLENR, 80 },
{ 713 * OVERSAMPLENR, 80 },
{ 784 * OVERSAMPLENR, 70 },
{ 784 * OVERSAMPLENR, 70 },
{ 846 * OVERSAMPLENR, 60 },
{ 846 * OVERSAMPLENR, 60 },
{ 897 * OVERSAMPLENR, 50 },
{ 897 * OVERSAMPLENR, 50 },
{ 937 * OVERSAMPLENR, 40 },
{ 937 * OVERSAMPLENR, 40 },
{ 966 * OVERSAMPLENR, 30 },
{ 966 * OVERSAMPLENR, 30 },
{ 986 * OVERSAMPLENR, 20 },
{ 986 * OVERSAMPLENR, 20 },
{ 1000 * OVERSAMPLENR, 10 },
{ 1000 * OVERSAMPLENR, 10 },
{ 1010 * OVERSAMPLENR, 0 }
{ 1010 * OVERSAMPLENR, 0 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(6) // 100k Epcos thermistor
#if ANY_THERMISTOR_IS(6) // 100k Epcos thermistor
const short temptable_6[][2] PROGMEM = {
const short temptable_6[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 350 },
{ 1 * OVERSAMPLENR, 350 },
{ 28 * OVERSAMPLENR, 250 }, // top rating 250C
{ 28 * OVERSAMPLENR, 250 }, // top rating 250C
{ 31 * OVERSAMPLENR, 245 },
{ 31 * OVERSAMPLENR, 245 },
{ 35 * OVERSAMPLENR, 240 },
{ 35 * OVERSAMPLENR, 240 },
{ 39 * OVERSAMPLENR, 235 },
{ 39 * OVERSAMPLENR, 235 },
{ 42 * OVERSAMPLENR, 230 },
{ 42 * OVERSAMPLENR, 230 },
{ 44 * OVERSAMPLENR, 225 },
{ 44 * OVERSAMPLENR, 225 },
{ 49 * OVERSAMPLENR, 220 },
{ 49 * OVERSAMPLENR, 220 },
{ 53 * OVERSAMPLENR, 215 },
{ 53 * OVERSAMPLENR, 215 },
{ 62 * OVERSAMPLENR, 210 },
{ 62 * OVERSAMPLENR, 210 },
{ 71 * OVERSAMPLENR, 205 }, // fitted graphically
{ 71 * OVERSAMPLENR, 205 }, // fitted graphically
{ 78 * OVERSAMPLENR, 200 }, // fitted graphically
{ 78 * OVERSAMPLENR, 200 }, // fitted graphically
{ 94 * OVERSAMPLENR, 190 },
{ 94 * OVERSAMPLENR, 190 },
{ 102 * OVERSAMPLENR, 185 },
{ 102 * OVERSAMPLENR, 185 },
{ 116 * OVERSAMPLENR, 170 },
{ 116 * OVERSAMPLENR, 170 },
{ 143 * OVERSAMPLENR, 160 },
{ 143 * OVERSAMPLENR, 160 },
{ 183 * OVERSAMPLENR, 150 },
{ 183 * OVERSAMPLENR, 150 },
{ 223 * OVERSAMPLENR, 140 },
{ 223 * OVERSAMPLENR, 140 },
{ 270 * OVERSAMPLENR, 130 },
{ 270 * OVERSAMPLENR, 130 },
{ 318 * OVERSAMPLENR, 120 },
{ 318 * OVERSAMPLENR, 120 },
{ 383 * OVERSAMPLENR, 110 },
{ 383 * OVERSAMPLENR, 110 },
{ 413 * OVERSAMPLENR, 105 },
{ 413 * OVERSAMPLENR, 105 },
{ 439 * OVERSAMPLENR, 100 },
{ 439 * OVERSAMPLENR, 100 },
{ 484 * OVERSAMPLENR, 95 },
{ 484 * OVERSAMPLENR, 95 },
{ 513 * OVERSAMPLENR, 90 },
{ 513 * OVERSAMPLENR, 90 },
{ 607 * OVERSAMPLENR, 80 },
{ 607 * OVERSAMPLENR, 80 },
{ 664 * OVERSAMPLENR, 70 },
{ 664 * OVERSAMPLENR, 70 },
{ 781 * OVERSAMPLENR, 60 },
{ 781 * OVERSAMPLENR, 60 },
{ 810 * OVERSAMPLENR, 55 },
{ 810 * OVERSAMPLENR, 55 },
{ 849 * OVERSAMPLENR, 50 },
{ 849 * OVERSAMPLENR, 50 },
{ 914 * OVERSAMPLENR, 45 },
{ 914 * OVERSAMPLENR, 45 },
{ 914 * OVERSAMPLENR, 40 },
{ 914 * OVERSAMPLENR, 40 },
{ 935 * OVERSAMPLENR, 35 },
{ 935 * OVERSAMPLENR, 35 },
{ 954 * OVERSAMPLENR, 30 },
{ 954 * OVERSAMPLENR, 30 },
{ 970 * OVERSAMPLENR, 25 },
{ 970 * OVERSAMPLENR, 25 },
{ 978 * OVERSAMPLENR, 22 },
{ 978 * OVERSAMPLENR, 22 },
{ 1008 * OVERSAMPLENR, 3 },
{ 1008 * OVERSAMPLENR, 3 },
{ 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
{ 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(7) // 100k Honeywell 135-104LAG-J01
#if ANY_THERMISTOR_IS(7) // 100k Honeywell 135-104LAG-J01
const short temptable_7[][2] PROGMEM = {
const short temptable_7[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 941 },
{ 1 * OVERSAMPLENR, 941 },
{ 19 * OVERSAMPLENR, 362 },
{ 19 * OVERSAMPLENR, 362 },
{ 37 * OVERSAMPLENR, 299 }, // top rating 300C
{ 37 * OVERSAMPLENR, 299 }, // top rating 300C
{ 55 * OVERSAMPLENR, 266 },
{ 55 * OVERSAMPLENR, 266 },
{ 73 * OVERSAMPLENR, 245 },
{ 73 * OVERSAMPLENR, 245 },
{ 91 * OVERSAMPLENR, 229 },
{ 91 * OVERSAMPLENR, 229 },
{ 109 * OVERSAMPLENR, 216 },
{ 109 * OVERSAMPLENR, 216 },
{ 127 * OVERSAMPLENR, 206 },
{ 127 * OVERSAMPLENR, 206 },
{ 145 * OVERSAMPLENR, 197 },
{ 145 * OVERSAMPLENR, 197 },
{ 163 * OVERSAMPLENR, 190 },
{ 163 * OVERSAMPLENR, 190 },
{ 181 * OVERSAMPLENR, 183 },
{ 181 * OVERSAMPLENR, 183 },
{ 199 * OVERSAMPLENR, 177 },
{ 199 * OVERSAMPLENR, 177 },
{ 217 * OVERSAMPLENR, 171 },
{ 217 * OVERSAMPLENR, 171 },
{ 235 * OVERSAMPLENR, 166 },
{ 235 * OVERSAMPLENR, 166 },
{ 253 * OVERSAMPLENR, 162 },
{ 253 * OVERSAMPLENR, 162 },
{ 271 * OVERSAMPLENR, 157 },
{ 271 * OVERSAMPLENR, 157 },
{ 289 * OVERSAMPLENR, 153 },
{ 289 * OVERSAMPLENR, 153 },
{ 307 * OVERSAMPLENR, 149 },
{ 307 * OVERSAMPLENR, 149 },
{ 325 * OVERSAMPLENR, 146 },
{ 325 * OVERSAMPLENR, 146 },
{ 343 * OVERSAMPLENR, 142 },
{ 343 * OVERSAMPLENR, 142 },
{ 361 * OVERSAMPLENR, 139 },
{ 361 * OVERSAMPLENR, 139 },
{ 379 * OVERSAMPLENR, 135 },
{ 379 * OVERSAMPLENR, 135 },
{ 397 * OVERSAMPLENR, 132 },
{ 397 * OVERSAMPLENR, 132 },
{ 415 * OVERSAMPLENR, 129 },
{ 415 * OVERSAMPLENR, 129 },
{ 433 * OVERSAMPLENR, 126 },
{ 433 * OVERSAMPLENR, 126 },
{ 451 * OVERSAMPLENR, 123 },
{ 451 * OVERSAMPLENR, 123 },
{ 469 * OVERSAMPLENR, 121 },
{ 469 * OVERSAMPLENR, 121 },
{ 487 * OVERSAMPLENR, 118 },
{ 487 * OVERSAMPLENR, 118 },
{ 505 * OVERSAMPLENR, 115 },
{ 505 * OVERSAMPLENR, 115 },
{ 523 * OVERSAMPLENR, 112 },
{ 523 * OVERSAMPLENR, 112 },
{ 541 * OVERSAMPLENR, 110 },
{ 541 * OVERSAMPLENR, 110 },
{ 559 * OVERSAMPLENR, 107 },
{ 559 * OVERSAMPLENR, 107 },
{ 577 * OVERSAMPLENR, 105 },
{ 577 * OVERSAMPLENR, 105 },
{ 595 * OVERSAMPLENR, 102 },
{ 595 * OVERSAMPLENR, 102 },
{ 613 * OVERSAMPLENR, 99 },
{ 613 * OVERSAMPLENR, 99 },
{ 631 * OVERSAMPLENR, 97 },
{ 631 * OVERSAMPLENR, 97 },
{ 649 * OVERSAMPLENR, 94 },
{ 649 * OVERSAMPLENR, 94 },
{ 667 * OVERSAMPLENR, 92 },
{ 667 * OVERSAMPLENR, 92 },
{ 685 * OVERSAMPLENR, 89 },
{ 685 * OVERSAMPLENR, 89 },
{ 703 * OVERSAMPLENR, 86 },
{ 703 * OVERSAMPLENR, 86 },
{ 721 * OVERSAMPLENR, 84 },
{ 721 * OVERSAMPLENR, 84 },
{ 739 * OVERSAMPLENR, 81 },
{ 739 * OVERSAMPLENR, 81 },
{ 757 * OVERSAMPLENR, 78 },
{ 757 * OVERSAMPLENR, 78 },
{ 775 * OVERSAMPLENR, 75 },
{ 775 * OVERSAMPLENR, 75 },
{ 793 * OVERSAMPLENR, 72 },
{ 793 * OVERSAMPLENR, 72 },
{ 811 * OVERSAMPLENR, 69 },
{ 811 * OVERSAMPLENR, 69 },
{ 829 * OVERSAMPLENR, 66 },
{ 829 * OVERSAMPLENR, 66 },
{ 847 * OVERSAMPLENR, 62 },
{ 847 * OVERSAMPLENR, 62 },
{ 865 * OVERSAMPLENR, 59 },
{ 865 * OVERSAMPLENR, 59 },
{ 883 * OVERSAMPLENR, 55 },
{ 883 * OVERSAMPLENR, 55 },
{ 901 * OVERSAMPLENR, 51 },
{ 901 * OVERSAMPLENR, 51 },
{ 919 * OVERSAMPLENR, 46 },
{ 919 * OVERSAMPLENR, 46 },
{ 937 * OVERSAMPLENR, 41 },
{ 937 * OVERSAMPLENR, 41 },
{ 955 * OVERSAMPLENR, 35 },
{ 955 * OVERSAMPLENR, 35 },
{ 973 * OVERSAMPLENR, 27 },
{ 973 * OVERSAMPLENR, 27 },
{ 991 * OVERSAMPLENR, 17 },
{ 991 * OVERSAMPLENR, 17 },
{ 1009 * OVERSAMPLENR, 1 },
{ 1009 * OVERSAMPLENR, 1 },
{ 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
{ 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(71) // 100k Honeywell 135-104LAF-J01
#if ANY_THERMISTOR_IS(71) // 100k Honeywell 135-104LAF-J01
// R0 = 100000 Ohm
// R0 = 100000 Ohm
// T0 = 25 °C
// T0 = 25 °C
// Beta = 3974
// Beta = 3974
// R1 = 0 Ohm
// R1 = 0 Ohm
// R2 = 4700 Ohm
// R2 = 4700 Ohm
const short temptable_71[][2] PROGMEM = {
const short temptable_71[][2] PROGMEM = {
{ 35 * OVERSAMPLENR, 300 },
{ 35 * OVERSAMPLENR, 300 },
{ 51 * OVERSAMPLENR, 270 },
{ 51 * OVERSAMPLENR, 270 },
{ 54 * OVERSAMPLENR, 265 },
{ 54 * OVERSAMPLENR, 265 },
{ 58 * OVERSAMPLENR, 260 },
{ 58 * OVERSAMPLENR, 260 },
{ 59 * OVERSAMPLENR, 258 },
{ 59 * OVERSAMPLENR, 258 },
{ 61 * OVERSAMPLENR, 256 },
{ 61 * OVERSAMPLENR, 256 },
{ 63 * OVERSAMPLENR, 254 },
{ 63 * OVERSAMPLENR, 254 },
{ 64 * OVERSAMPLENR, 252 },
{ 64 * OVERSAMPLENR, 252 },
{ 66 * OVERSAMPLENR, 250 },
{ 66 * OVERSAMPLENR, 250 },
{ 67 * OVERSAMPLENR, 249 },
{ 67 * OVERSAMPLENR, 249 },
{ 68 * OVERSAMPLENR, 248 },
{ 68 * OVERSAMPLENR, 248 },
{ 69 * OVERSAMPLENR, 247 },
{ 69 * OVERSAMPLENR, 247 },
{ 70 * OVERSAMPLENR, 246 },
{ 70 * OVERSAMPLENR, 246 },
{ 71 * OVERSAMPLENR, 245 },
{ 71 * OVERSAMPLENR, 245 },
{ 72 * OVERSAMPLENR, 244 },
{ 72 * OVERSAMPLENR, 244 },
{ 73 * OVERSAMPLENR, 243 },
{ 73 * OVERSAMPLENR, 243 },
{ 74 * OVERSAMPLENR, 242 },
{ 74 * OVERSAMPLENR, 242 },
{ 75 * OVERSAMPLENR, 241 },
{ 75 * OVERSAMPLENR, 241 },
{ 76 * OVERSAMPLENR, 240 },
{ 76 * OVERSAMPLENR, 240 },
{ 77 * OVERSAMPLENR, 239 },
{ 77 * OVERSAMPLENR, 239 },
{ 78 * OVERSAMPLENR, 238 },
{ 78 * OVERSAMPLENR, 238 },
{ 79 * OVERSAMPLENR, 237 },
{ 79 * OVERSAMPLENR, 237 },
{ 80 * OVERSAMPLENR, 236 },
{ 80 * OVERSAMPLENR, 236 },
{ 81 * OVERSAMPLENR, 235 },
{ 81 * OVERSAMPLENR, 235 },
{ 82 * OVERSAMPLENR, 234 },
{ 82 * OVERSAMPLENR, 234 },
{ 84 * OVERSAMPLENR, 233 },
{ 84 * OVERSAMPLENR, 233 },
{ 85 * OVERSAMPLENR, 232 },
{ 85 * OVERSAMPLENR, 232 },
{ 86 * OVERSAMPLENR, 231 },
{ 86 * OVERSAMPLENR, 231 },
{ 87 * OVERSAMPLENR, 230 },
{ 87 * OVERSAMPLENR, 230 },
{ 89 * OVERSAMPLENR, 229 },
{ 89 * OVERSAMPLENR, 229 },
{ 90 * OVERSAMPLENR, 228 },
{ 90 * OVERSAMPLENR, 228 },
{ 91 * OVERSAMPLENR, 227 },
{ 91 * OVERSAMPLENR, 227 },
{ 92 * OVERSAMPLENR, 226 },
{ 92 * OVERSAMPLENR, 226 },
{ 94 * OVERSAMPLENR, 225 },
{ 94 * OVERSAMPLENR, 225 },
{ 95 * OVERSAMPLENR, 224 },
{ 95 * OVERSAMPLENR, 224 },
{ 97 * OVERSAMPLENR, 223 },
{ 97 * OVERSAMPLENR, 223 },
{ 98 * OVERSAMPLENR, 222 },
{ 98 * OVERSAMPLENR, 222 },
{ 99 * OVERSAMPLENR, 221 },
{ 99 * OVERSAMPLENR, 221 },
{ 101 * OVERSAMPLENR, 220 },
{ 101 * OVERSAMPLENR, 220 },
{ 102 * OVERSAMPLENR, 219 },
{ 102 * OVERSAMPLENR, 219 },
{ 104 * OVERSAMPLENR, 218 },
{ 104 * OVERSAMPLENR, 218 },
{ 106 * OVERSAMPLENR, 217 },
{ 106 * OVERSAMPLENR, 217 },
{ 107 * OVERSAMPLENR, 216 },
{ 107 * OVERSAMPLENR, 216 },
{ 109 * OVERSAMPLENR, 215 },
{ 109 * OVERSAMPLENR, 215 },
{ 110 * OVERSAMPLENR, 214 },
{ 110 * OVERSAMPLENR, 214 },
{ 112 * OVERSAMPLENR, 213 },
{ 112 * OVERSAMPLENR, 213 },
{ 114 * OVERSAMPLENR, 212 },
{ 114 * OVERSAMPLENR, 212 },
{ 115 * OVERSAMPLENR, 211 },
{ 115 * OVERSAMPLENR, 211 },
{ 117 * OVERSAMPLENR, 210 },
{ 117 * OVERSAMPLENR, 210 },
{ 119 * OVERSAMPLENR, 209 },
{ 119 * OVERSAMPLENR, 209 },
{ 121 * OVERSAMPLENR, 208 },
{ 121 * OVERSAMPLENR, 208 },
{ 123 * OVERSAMPLENR, 207 },
{ 123 * OVERSAMPLENR, 207 },
{ 125 * OVERSAMPLENR, 206 },
{ 125 * OVERSAMPLENR, 206 },
{ 126 * OVERSAMPLENR, 205 },
{ 126 * OVERSAMPLENR, 205 },
{ 128 * OVERSAMPLENR, 204 },
{ 128 * OVERSAMPLENR, 204 },
{ 130 * OVERSAMPLENR, 203 },
{ 130 * OVERSAMPLENR, 203 },
{ 132 * OVERSAMPLENR, 202 },
{ 132 * OVERSAMPLENR, 202 },
{ 134 * OVERSAMPLENR, 201 },
{ 134 * OVERSAMPLENR, 201 },
{ 136 * OVERSAMPLENR, 200 },
{ 136 * OVERSAMPLENR, 200 },
{ 139 * OVERSAMPLENR, 199 },
{ 139 * OVERSAMPLENR, 199 },
{ 141 * OVERSAMPLENR, 198 },
{ 141 * OVERSAMPLENR, 198 },
{ 143 * OVERSAMPLENR, 197 },
{ 143 * OVERSAMPLENR, 197 },
{ 145 * OVERSAMPLENR, 196 },
{ 145 * OVERSAMPLENR, 196 },
{ 147 * OVERSAMPLENR, 195 },
{ 147 * OVERSAMPLENR, 195 },
{ 150 * OVERSAMPLENR, 194 },
{ 150 * OVERSAMPLENR, 194 },
{ 152 * OVERSAMPLENR, 193 },
{ 152 * OVERSAMPLENR, 193 },
{ 154 * OVERSAMPLENR, 192 },
{ 154 * OVERSAMPLENR, 192 },
{ 157 * OVERSAMPLENR, 191 },
{ 157 * OVERSAMPLENR, 191 },
{ 159 * OVERSAMPLENR, 190 },
{ 159 * OVERSAMPLENR, 190 },
{ 162 * OVERSAMPLENR, 189 },
{ 162 * OVERSAMPLENR, 189 },
{ 164 * OVERSAMPLENR, 188 },
{ 164 * OVERSAMPLENR, 188 },
{ 167 * OVERSAMPLENR, 187 },
{ 167 * OVERSAMPLENR, 187 },
{ 170 * OVERSAMPLENR, 186 },
{ 170 * OVERSAMPLENR, 186 },
{ 172 * OVERSAMPLENR, 185 },
{ 172 * OVERSAMPLENR, 185 },
{ 175 * OVERSAMPLENR, 184 },
{ 175 * OVERSAMPLENR, 184 },
{ 178 * OVERSAMPLENR, 183 },
{ 178 * OVERSAMPLENR, 183 },
{ 181 * OVERSAMPLENR, 182 },
{ 181 * OVERSAMPLENR, 182 },
{ 184 * OVERSAMPLENR, 181 },
{ 184 * OVERSAMPLENR, 181 },
{ 187 * OVERSAMPLENR, 180 },
{ 187 * OVERSAMPLENR, 180 },
{ 190 * OVERSAMPLENR, 179 },
{ 190 * OVERSAMPLENR, 179 },
{ 193 * OVERSAMPLENR, 178 },
{ 193 * OVERSAMPLENR, 178 },
{ 196 * OVERSAMPLENR, 177 },
{ 196 * OVERSAMPLENR, 177 },
{ 199 * OVERSAMPLENR, 176 },
{ 199 * OVERSAMPLENR, 176 },
{ 202 * OVERSAMPLENR, 175 },
{ 202 * OVERSAMPLENR, 175 },
{ 205 * OVERSAMPLENR, 174 },
{ 205 * OVERSAMPLENR, 174 },
{ 208 * OVERSAMPLENR, 173 },
{ 208 * OVERSAMPLENR, 173 },
{ 212 * OVERSAMPLENR, 172 },
{ 212 * OVERSAMPLENR, 172 },
{ 215 * OVERSAMPLENR, 171 },
{ 215 * OVERSAMPLENR, 171 },
{ 219 * OVERSAMPLENR, 170 },
{ 219 * OVERSAMPLENR, 170 },
{ 237 * OVERSAMPLENR, 165 },
{ 237 * OVERSAMPLENR, 165 },
{ 256 * OVERSAMPLENR, 160 },
{ 256 * OVERSAMPLENR, 160 },
{ 300 * OVERSAMPLENR, 150 },
{ 300 * OVERSAMPLENR, 150 },
{ 351 * OVERSAMPLENR, 140 },
{ 351 * OVERSAMPLENR, 140 },
{ 470 * OVERSAMPLENR, 120 },
{ 470 * OVERSAMPLENR, 120 },
{ 504 * OVERSAMPLENR, 115 },
{ 504 * OVERSAMPLENR, 115 },
{ 538 * OVERSAMPLENR, 110 },
{ 538 * OVERSAMPLENR, 110 },
{ 552 * OVERSAMPLENR, 108 },
{ 552 * OVERSAMPLENR, 108 },
{ 566 * OVERSAMPLENR, 106 },
{ 566 * OVERSAMPLENR, 106 },
{ 580 * OVERSAMPLENR, 104 },
{ 580 * OVERSAMPLENR, 104 },
{ 594 * OVERSAMPLENR, 102 },
{ 594 * OVERSAMPLENR, 102 },
{ 608 * OVERSAMPLENR, 100 },
{ 608 * OVERSAMPLENR, 100 },
{ 622 * OVERSAMPLENR, 98 },
{ 622 * OVERSAMPLENR, 98 },
{ 636 * OVERSAMPLENR, 96 },
{ 636 * OVERSAMPLENR, 96 },
{ 650 * OVERSAMPLENR, 94 },
{ 650 * OVERSAMPLENR, 94 },
{ 664 * OVERSAMPLENR, 92 },
{ 664 * OVERSAMPLENR, 92 },
{ 678 * OVERSAMPLENR, 90 },
{ 678 * OVERSAMPLENR, 90 },
{ 712 * OVERSAMPLENR, 85 },
{ 712 * OVERSAMPLENR, 85 },
{ 745 * OVERSAMPLENR, 80 },
{ 745 * OVERSAMPLENR, 80 },
{ 758 * OVERSAMPLENR, 78 },
{ 758 * OVERSAMPLENR, 78 },
{ 770 * OVERSAMPLENR, 76 },
{ 770 * OVERSAMPLENR, 76 },
{ 783 * OVERSAMPLENR, 74 },
{ 783 * OVERSAMPLENR, 74 },
{ 795 * OVERSAMPLENR, 72 },
{ 795 * OVERSAMPLENR, 72 },
{ 806 * OVERSAMPLENR, 70 },
{ 806 * OVERSAMPLENR, 70 },
{ 818 * OVERSAMPLENR, 68 },
{ 818 * OVERSAMPLENR, 68 },
{ 829 * OVERSAMPLENR, 66 },
{ 829 * OVERSAMPLENR, 66 },
{ 840 * OVERSAMPLENR, 64 },
{ 840 * OVERSAMPLENR, 64 },
{ 850 * OVERSAMPLENR, 62 },
{ 850 * OVERSAMPLENR, 62 },
{ 860 * OVERSAMPLENR, 60 },
{ 860 * OVERSAMPLENR, 60 },
{ 870 * OVERSAMPLENR, 58 },
{ 870 * OVERSAMPLENR, 58 },
{ 879 * OVERSAMPLENR, 56 },
{ 879 * OVERSAMPLENR, 56 },
{ 888 * OVERSAMPLENR, 54 },
{ 888 * OVERSAMPLENR, 54 },
{ 897 * OVERSAMPLENR, 52 },
{ 897 * OVERSAMPLENR, 52 },
{ 905 * OVERSAMPLENR, 50 },
{ 905 * OVERSAMPLENR, 50 },
{ 924 * OVERSAMPLENR, 45 },
{ 924 * OVERSAMPLENR, 45 },
{ 940 * OVERSAMPLENR, 40 },
{ 940 * OVERSAMPLENR, 40 },
{ 955 * OVERSAMPLENR, 35 },
{ 955 * OVERSAMPLENR, 35 },
{ 967 * OVERSAMPLENR, 30 },
{ 967 * OVERSAMPLENR, 30 },
{ 970 * OVERSAMPLENR, 29 },
{ 970 * OVERSAMPLENR, 29 },
{ 972 * OVERSAMPLENR, 28 },
{ 972 * OVERSAMPLENR, 28 },
{ 974 * OVERSAMPLENR, 27 },
{ 974 * OVERSAMPLENR, 27 },
{ 976 * OVERSAMPLENR, 26 },
{ 976 * OVERSAMPLENR, 26 },
{ 978 * OVERSAMPLENR, 25 },
{ 978 * OVERSAMPLENR, 25 },
{ 980 * OVERSAMPLENR, 24 },
{ 980 * OVERSAMPLENR, 24 },
{ 982 * OVERSAMPLENR, 23 },
{ 982 * OVERSAMPLENR, 23 },
{ 984 * OVERSAMPLENR, 22 },
{ 984 * OVERSAMPLENR, 22 },
{ 985 * OVERSAMPLENR, 21 },
{ 985 * OVERSAMPLENR, 21 },
{ 987 * OVERSAMPLENR, 20 },
{ 987 * OVERSAMPLENR, 20 },
{ 995 * OVERSAMPLENR, 15 },
{ 995 * OVERSAMPLENR, 15 },
{ 1001 * OVERSAMPLENR, 10 },
{ 1001 * OVERSAMPLENR, 10 },
{ 1006 * OVERSAMPLENR, 5 },
{ 1006 * OVERSAMPLENR, 5 },
{ 1010 * OVERSAMPLENR, 0 }
{ 1010 * OVERSAMPLENR, 0 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(8)
#if ANY_THERMISTOR_IS(8)
// 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
// 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
const short temptable_8[][2] PROGMEM = {
const short temptable_8[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 704 },
{ 1 * OVERSAMPLENR, 704 },
{ 54 * OVERSAMPLENR, 216 },
{ 54 * OVERSAMPLENR, 216 },
{ 107 * OVERSAMPLENR, 175 },
{ 107 * OVERSAMPLENR, 175 },
{ 160 * OVERSAMPLENR, 152 },
{ 160 * OVERSAMPLENR, 152 },
{ 213 * OVERSAMPLENR, 137 },
{ 213 * OVERSAMPLENR, 137 },
{ 266 * OVERSAMPLENR, 125 },
{ 266 * OVERSAMPLENR, 125 },
{ 319 * OVERSAMPLENR, 115 },
{ 319 * OVERSAMPLENR, 115 },
{ 372 * OVERSAMPLENR, 106 },
{ 372 * OVERSAMPLENR, 106 },
{ 425 * OVERSAMPLENR, 99 },
{ 425 * OVERSAMPLENR, 99 },
{ 478 * OVERSAMPLENR, 91 },
{ 478 * OVERSAMPLENR, 91 },
{ 531 * OVERSAMPLENR, 85 },
{ 531 * OVERSAMPLENR, 85 },
{ 584 * OVERSAMPLENR, 78 },
{ 584 * OVERSAMPLENR, 78 },
{ 637 * OVERSAMPLENR, 71 },
{ 637 * OVERSAMPLENR, 71 },
{ 690 * OVERSAMPLENR, 65 },
{ 690 * OVERSAMPLENR, 65 },
{ 743 * OVERSAMPLENR, 58 },
{ 743 * OVERSAMPLENR, 58 },
{ 796 * OVERSAMPLENR, 50 },
{ 796 * OVERSAMPLENR, 50 },
{ 849 * OVERSAMPLENR, 42 },
{ 849 * OVERSAMPLENR, 42 },
{ 902 * OVERSAMPLENR, 31 },
{ 902 * OVERSAMPLENR, 31 },
{ 955 * OVERSAMPLENR, 17 },
{ 955 * OVERSAMPLENR, 17 },
{ 1008 * OVERSAMPLENR, 0 }
{ 1008 * OVERSAMPLENR, 0 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(9)
#if ANY_THERMISTOR_IS(9)
// 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
// 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
const short temptable_9[][2] PROGMEM = {
const short temptable_9[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 936 },
{ 1 * OVERSAMPLENR, 936 },
{ 36 * OVERSAMPLENR, 300 },
{ 36 * OVERSAMPLENR, 300 },
{ 71 * OVERSAMPLENR, 246 },
{ 71 * OVERSAMPLENR, 246 },
{ 106 * OVERSAMPLENR, 218 },
{ 106 * OVERSAMPLENR, 218 },
{ 141 * OVERSAMPLENR, 199 },
{ 141 * OVERSAMPLENR, 199 },
{ 176 * OVERSAMPLENR, 185 },
{ 176 * OVERSAMPLENR, 185 },
{ 211 * OVERSAMPLENR, 173 },
{ 211 * OVERSAMPLENR, 173 },
{ 246 * OVERSAMPLENR, 163 },
{ 246 * OVERSAMPLENR, 163 },
{ 281 * OVERSAMPLENR, 155 },
{ 281 * OVERSAMPLENR, 155 },
{ 316 * OVERSAMPLENR, 147 },
{ 316 * OVERSAMPLENR, 147 },
{ 351 * OVERSAMPLENR, 140 },
{ 351 * OVERSAMPLENR, 140 },
{ 386 * OVERSAMPLENR, 134 },
{ 386 * OVERSAMPLENR, 134 },
{ 421 * OVERSAMPLENR, 128 },
{ 421 * OVERSAMPLENR, 128 },
{ 456 * OVERSAMPLENR, 122 },
{ 456 * OVERSAMPLENR, 122 },
{ 491 * OVERSAMPLENR, 117 },
{ 491 * OVERSAMPLENR, 117 },
{ 526 * OVERSAMPLENR, 112 },
{ 526 * OVERSAMPLENR, 112 },
{ 561 * OVERSAMPLENR, 107 },
{ 561 * OVERSAMPLENR, 107 },
{ 596 * OVERSAMPLENR, 102 },
{ 596 * OVERSAMPLENR, 102 },
{ 631 * OVERSAMPLENR, 97 },
{ 631 * OVERSAMPLENR, 97 },
{ 666 * OVERSAMPLENR, 92 },
{ 666 * OVERSAMPLENR, 92 },
{ 701 * OVERSAMPLENR, 87 },
{ 701 * OVERSAMPLENR, 87 },
{ 736 * OVERSAMPLENR, 81 },
{ 736 * OVERSAMPLENR, 81 },
{ 771 * OVERSAMPLENR, 76 },
{ 771 * OVERSAMPLENR, 76 },
{ 806 * OVERSAMPLENR, 70 },
{ 806 * OVERSAMPLENR, 70 },
{ 841 * OVERSAMPLENR, 63 },
{ 841 * OVERSAMPLENR, 63 },
{ 876 * OVERSAMPLENR, 56 },
{ 876 * OVERSAMPLENR, 56 },
{ 911 * OVERSAMPLENR, 48 },
{ 911 * OVERSAMPLENR, 48 },
{ 946 * OVERSAMPLENR, 38 },
{ 946 * OVERSAMPLENR, 38 },
{ 981 * OVERSAMPLENR, 23 },
{ 981 * OVERSAMPLENR, 23 },
{ 1005 * OVERSAMPLENR, 5 },
{ 1005 * OVERSAMPLENR, 5 },
{ 1016 * OVERSAMPLENR, 0 }
{ 1016 * OVERSAMPLENR, 0 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(10)
#if ANY_THERMISTOR_IS(10)
// 100k RS thermistor 198-961 (4.7k pullup)
// 100k RS thermistor 198-961 (4.7k pullup)
const short temptable_10[][2] PROGMEM = {
const short temptable_10[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 929 },
{ 1 * OVERSAMPLENR, 929 },
{ 36 * OVERSAMPLENR, 299 },
{ 36 * OVERSAMPLENR, 299 },
{ 71 * OVERSAMPLENR, 246 },
{ 71 * OVERSAMPLENR, 246 },
{ 106 * OVERSAMPLENR, 217 },
{ 106 * OVERSAMPLENR, 217 },
{ 141 * OVERSAMPLENR, 198 },
{ 141 * OVERSAMPLENR, 198 },
{ 176 * OVERSAMPLENR, 184 },
{ 176 * OVERSAMPLENR, 184 },
{ 211 * OVERSAMPLENR, 173 },
{ 211 * OVERSAMPLENR, 173 },
{ 246 * OVERSAMPLENR, 163 },
{ 246 * OVERSAMPLENR, 163 },
{ 281 * OVERSAMPLENR, 154 },
{ 281 * OVERSAMPLENR, 154 },
{ 316 * OVERSAMPLENR, 147 },
{ 316 * OVERSAMPLENR, 147 },
{ 351 * OVERSAMPLENR, 140 },
{ 351 * OVERSAMPLENR, 140 },
{ 386 * OVERSAMPLENR, 134 },
{ 386 * OVERSAMPLENR, 134 },
{ 421 * OVERSAMPLENR, 128 },
{ 421 * OVERSAMPLENR, 128 },
{ 456 * OVERSAMPLENR, 122 },
{ 456 * OVERSAMPLENR, 122 },
{ 491 * OVERSAMPLENR, 117 },
{ 491 * OVERSAMPLENR, 117 },
{ 526 * OVERSAMPLENR, 112 },
{ 526 * OVERSAMPLENR, 112 },
{ 561 * OVERSAMPLENR, 107 },
{ 561 * OVERSAMPLENR, 107 },
{ 596 * OVERSAMPLENR, 102 },
{ 596 * OVERSAMPLENR, 102 },
{ 631 * OVERSAMPLENR, 97 },
{ 631 * OVERSAMPLENR, 97 },
{ 666 * OVERSAMPLENR, 91 },
{ 666 * OVERSAMPLENR, 91 },
{ 701 * OVERSAMPLENR, 86 },
{ 701 * OVERSAMPLENR, 86 },
{ 736 * OVERSAMPLENR, 81 },
{ 736 * OVERSAMPLENR, 81 },
{ 771 * OVERSAMPLENR, 76 },
{ 771 * OVERSAMPLENR, 76 },
{ 806 * OVERSAMPLENR, 70 },
{ 806 * OVERSAMPLENR, 70 },
{ 841 * OVERSAMPLENR, 63 },
{ 841 * OVERSAMPLENR, 63 },
{ 876 * OVERSAMPLENR, 56 },
{ 876 * OVERSAMPLENR, 56 },
{ 911 * OVERSAMPLENR, 48 },
{ 911 * OVERSAMPLENR, 48 },
{ 946 * OVERSAMPLENR, 38 },
{ 946 * OVERSAMPLENR, 38 },
{ 981 * OVERSAMPLENR, 23 },
{ 981 * OVERSAMPLENR, 23 },
{ 1005 * OVERSAMPLENR, 5 },
{ 1005 * OVERSAMPLENR, 5 },
{ 1016 * OVERSAMPLENR, 0 }
{ 1016 * OVERSAMPLENR, 0 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(11)
#if ANY_THERMISTOR_IS(11)
// QU-BD silicone bed QWG-104F-3950 thermistor
// QU-BD silicone bed QWG-104F-3950 thermistor
const short temptable_11[][2] PROGMEM = {
const short temptable_11[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 938 },
{ 1 * OVERSAMPLENR, 938 },
{ 31 * OVERSAMPLENR, 314 },
{ 31 * OVERSAMPLENR, 314 },
{ 41 * OVERSAMPLENR, 290 },
{ 41 * OVERSAMPLENR, 290 },
{ 51 * OVERSAMPLENR, 272 },
{ 51 * OVERSAMPLENR, 272 },
{ 61 * OVERSAMPLENR, 258 },
{ 61 * OVERSAMPLENR, 258 },
{ 71 * OVERSAMPLENR, 247 },
{ 71 * OVERSAMPLENR, 247 },
{ 81 * OVERSAMPLENR, 237 },
{ 81 * OVERSAMPLENR, 237 },
{ 91 * OVERSAMPLENR, 229 },
{ 91 * OVERSAMPLENR, 229 },
{ 101 * OVERSAMPLENR, 221 },
{ 101 * OVERSAMPLENR, 221 },
{ 111 * OVERSAMPLENR, 215 },
{ 111 * OVERSAMPLENR, 215 },
{ 121 * OVERSAMPLENR, 209 },
{ 121 * OVERSAMPLENR, 209 },
{ 131 * OVERSAMPLENR, 204 },
{ 131 * OVERSAMPLENR, 204 },
{ 141 * OVERSAMPLENR, 199 },
{ 141 * OVERSAMPLENR, 199 },
{ 151 * OVERSAMPLENR, 195 },
{ 151 * OVERSAMPLENR, 195 },
{ 161 * OVERSAMPLENR, 190 },
{ 161 * OVERSAMPLENR, 190 },
{ 171 * OVERSAMPLENR, 187 },
{ 171 * OVERSAMPLENR, 187 },
{ 181 * OVERSAMPLENR, 183 },
{ 181 * OVERSAMPLENR, 183 },
{ 191 * OVERSAMPLENR, 179 },
{ 191 * OVERSAMPLENR, 179 },
{ 201 * OVERSAMPLENR, 176 },
{ 201 * OVERSAMPLENR, 176 },
{ 221 * OVERSAMPLENR, 170 },
{ 221 * OVERSAMPLENR, 170 },
{ 241 * OVERSAMPLENR, 165 },
{ 241 * OVERSAMPLENR, 165 },
{ 261 * OVERSAMPLENR, 160 },
{ 261 * OVERSAMPLENR, 160 },
{ 281 * OVERSAMPLENR, 155 },
{ 281 * OVERSAMPLENR, 155 },
{ 301 * OVERSAMPLENR, 150 },
{ 301 * OVERSAMPLENR, 150 },
{ 331 * OVERSAMPLENR, 144 },
{ 331 * OVERSAMPLENR, 144 },
{ 361 * OVERSAMPLENR, 139 },
{ 361 * OVERSAMPLENR, 139 },
{ 391 * OVERSAMPLENR, 133 },
{ 391 * OVERSAMPLENR, 133 },
{ 421 * OVERSAMPLENR, 128 },
{ 421 * OVERSAMPLENR, 128 },
{ 451 * OVERSAMPLENR, 123 },
{ 451 * OVERSAMPLENR, 123 },
{ 491 * OVERSAMPLENR, 117 },
{ 491 * OVERSAMPLENR, 117 },
{ 531 * OVERSAMPLENR, 111 },
{ 531 * OVERSAMPLENR, 111 },
{ 571 * OVERSAMPLENR, 105 },
{ 571 * OVERSAMPLENR, 105 },
{ 611 * OVERSAMPLENR, 100 },
{ 611 * OVERSAMPLENR, 100 },
{ 641 * OVERSAMPLENR, 95 },
{ 641 * OVERSAMPLENR, 95 },
{ 681 * OVERSAMPLENR, 90 },
{ 681 * OVERSAMPLENR, 90 },
{ 711 * OVERSAMPLENR, 85 },
{ 711 * OVERSAMPLENR, 85 },
{ 751 * OVERSAMPLENR, 79 },
{ 751 * OVERSAMPLENR, 79 },
{ 791 * OVERSAMPLENR, 72 },
{ 791 * OVERSAMPLENR, 72 },
{ 811 * OVERSAMPLENR, 69 },
{ 811 * OVERSAMPLENR, 69 },
{ 831 * OVERSAMPLENR, 65 },
{ 831 * OVERSAMPLENR, 65 },
{ 871 * OVERSAMPLENR, 57 },
{ 871 * OVERSAMPLENR, 57 },
{ 881 * OVERSAMPLENR, 55 },
{ 881 * OVERSAMPLENR, 55 },
{ 901 * OVERSAMPLENR, 51 },
{ 901 * OVERSAMPLENR, 51 },
{ 921 * OVERSAMPLENR, 45 },
{ 921 * OVERSAMPLENR, 45 },
{ 941 * OVERSAMPLENR, 39 },
{ 941 * OVERSAMPLENR, 39 },
{ 971 * OVERSAMPLENR, 28 },
{ 971 * OVERSAMPLENR, 28 },
{ 981 * OVERSAMPLENR, 23 },
{ 981 * OVERSAMPLENR, 23 },
{ 991 * OVERSAMPLENR, 17 },
{ 991 * OVERSAMPLENR, 17 },
{ 1001 * OVERSAMPLENR, 9 },
{ 1001 * OVERSAMPLENR, 9 },
{ 1021 * OVERSAMPLENR, -27 }
{ 1021 * OVERSAMPLENR, -27 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(13)
#if ANY_THERMISTOR_IS(13)
// Hisens thermistor B25/50 =3950 +/-1%
// Hisens thermistor B25/50 =3950 +/-1%
const short temptable_13[][2] PROGMEM = {
const short temptable_13[][2] PROGMEM = {
{ 20.04 * OVERSAMPLENR, 300 },
{ 20.04 * OVERSAMPLENR, 300 },
{ 23.19 * OVERSAMPLENR, 290 },
{ 23.19 * OVERSAMPLENR, 290 },
{ 26.71 * OVERSAMPLENR, 280 },
{ 26.71 * OVERSAMPLENR, 280 },
{ 31.23 * OVERSAMPLENR, 270 },
{ 31.23 * OVERSAMPLENR, 270 },
{ 36.52 * OVERSAMPLENR, 260 },
{ 36.52 * OVERSAMPLENR, 260 },
{ 42.75 * OVERSAMPLENR, 250 },
{ 42.75 * OVERSAMPLENR, 250 },
{ 50.68 * OVERSAMPLENR, 240 },
{ 50.68 * OVERSAMPLENR, 240 },
{ 60.22 * OVERSAMPLENR, 230 },
{ 60.22 * OVERSAMPLENR, 230 },
{ 72.03 * OVERSAMPLENR, 220 },
{ 72.03 * OVERSAMPLENR, 220 },
{ 86.84 * OVERSAMPLENR, 210 },
{ 86.84 * OVERSAMPLENR, 210 },
{ 102.79 * OVERSAMPLENR, 200 },
{ 102.79 * OVERSAMPLENR, 200 },
{ 124.46 * OVERSAMPLENR, 190 },
{ 124.46 * OVERSAMPLENR, 190 },
{ 151.02 * OVERSAMPLENR, 180 },
{ 151.02 * OVERSAMPLENR, 180 },
{ 182.86 * OVERSAMPLENR, 170 },
{ 182.86 * OVERSAMPLENR, 170 },
{ 220.72 * OVERSAMPLENR, 160 },
{ 220.72 * OVERSAMPLENR, 160 },
{ 316.96 * OVERSAMPLENR, 140 },
{ 316.96 * OVERSAMPLENR, 140 },
{ 447.17 * OVERSAMPLENR, 120 },
{ 447.17 * OVERSAMPLENR, 120 },
{ 590.61 * OVERSAMPLENR, 100 },
{ 590.61 * OVERSAMPLENR, 100 },
{ 737.31 * OVERSAMPLENR, 80 },
{ 737.31 * OVERSAMPLENR, 80 },
{ 857.77 * OVERSAMPLENR, 60 },
{ 857.77 * OVERSAMPLENR, 60 },
{ 939.52 * OVERSAMPLENR, 40 },
{ 939.52 * OVERSAMPLENR, 40 },
{ 986.03 * OVERSAMPLENR, 20 },
{ 986.03 * OVERSAMPLENR, 20 },
{ 1008.7 * OVERSAMPLENR, 0 }
{ 1008.7 * OVERSAMPLENR, 0 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(20) // PT100 with INA826 amp on Ultimaker v2.0 electronics
#if ANY_THERMISTOR_IS(20) // PT100 with INA826 amp on Ultimaker v2.0 electronics
// The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature.
// The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature.
// This does not match the normal thermistor behaviour so we need to set the following defines
// This does not match the normal thermistor behaviour so we need to set the following defines
#if (THERMISTORHEATER_0 == 20)
#if (THERMISTORHEATER_0 == 20)
#define HEATER_0_RAW_HI_TEMP 16383
#define HEATER_0_RAW_HI_TEMP 16383
#define HEATER_0_RAW_LO_TEMP 0
#define HEATER_0_RAW_LO_TEMP 0
#endif
#endif
#if (THERMISTORHEATER_1 == 20)
#if (THERMISTORHEATER_1 == 20)
#define HEATER_1_RAW_HI_TEMP 16383
#define HEATER_1_RAW_HI_TEMP 16383
#define HEATER_1_RAW_LO_TEMP 0
#define HEATER_1_RAW_LO_TEMP 0
#endif
#endif
#if (THERMISTORHEATER_2 == 20)
#if (THERMISTORHEATER_2 == 20)
#define HEATER_2_RAW_HI_TEMP 16383
#define HEATER_2_RAW_HI_TEMP 16383
#define HEATER_2_RAW_LO_TEMP 0
#define HEATER_2_RAW_LO_TEMP 0
#endif
#endif
#if (THERMISTORHEATER_3 == 20)
#if (THERMISTORHEATER_3 == 20)
#define HEATER_3_RAW_HI_TEMP 16383
#define HEATER_3_RAW_HI_TEMP 16383
#define HEATER_3_RAW_LO_TEMP 0
#define HEATER_3_RAW_LO_TEMP 0
#endif
#endif
#if (THERMISTORBED == 20)
#if (THERMISTORBED == 20)
#define HEATER_BED_RAW_HI_TEMP 16383
#define HEATER_BED_RAW_HI_TEMP 16383
#define HEATER_BED_RAW_LO_TEMP 0
#define HEATER_BED_RAW_LO_TEMP 0
#endif
#endif
const short temptable_20[][2] PROGMEM = {
const short temptable_20[][2] PROGMEM = {
{ 0 * OVERSAMPLENR, 0 },
{ 0 * OVERSAMPLENR, 0 },
{ 227 * OVERSAMPLENR, 1 },
{ 227 * OVERSAMPLENR, 1 },
{ 236 * OVERSAMPLENR, 10 },
{ 236 * OVERSAMPLENR, 10 },
{ 245 * OVERSAMPLENR, 20 },
{ 245 * OVERSAMPLENR, 20 },
{ 253 * OVERSAMPLENR, 30 },
{ 253 * OVERSAMPLENR, 30 },
{ 262 * OVERSAMPLENR, 40 },
{ 262 * OVERSAMPLENR, 40 },
{ 270 * OVERSAMPLENR, 50 },
{ 270 * OVERSAMPLENR, 50 },
{ 279 * OVERSAMPLENR, 60 },
{ 279 * OVERSAMPLENR, 60 },
{ 287 * OVERSAMPLENR, 70 },
{ 287 * OVERSAMPLENR, 70 },
{ 295 * OVERSAMPLENR, 80 },
{ 295 * OVERSAMPLENR, 80 },
{ 304 * OVERSAMPLENR, 90 },
{ 304 * OVERSAMPLENR, 90 },
{ 312 * OVERSAMPLENR, 100 },
{ 312 * OVERSAMPLENR, 100 },
{ 320 * OVERSAMPLENR, 110 },
{ 320 * OVERSAMPLENR, 110 },
{ 329 * OVERSAMPLENR, 120 },
{ 329 * OVERSAMPLENR, 120 },
{ 337 * OVERSAMPLENR, 130 },
{ 337 * OVERSAMPLENR, 130 },
{ 345 * OVERSAMPLENR, 140 },
{ 345 * OVERSAMPLENR, 140 },
{ 353 * OVERSAMPLENR, 150 },
{ 353 * OVERSAMPLENR, 150 },
{ 361 * OVERSAMPLENR, 160 },
{ 361 * OVERSAMPLENR, 160 },
{ 369 * OVERSAMPLENR, 170 },
{ 369 * OVERSAMPLENR, 170 },
{ 377 * OVERSAMPLENR, 180 },
{ 377 * OVERSAMPLENR, 180 },
{ 385 * OVERSAMPLENR, 190 },
{ 385 * OVERSAMPLENR, 190 },
{ 393 * OVERSAMPLENR, 200 },
{ 393 * OVERSAMPLENR, 200 },
{ 401 * OVERSAMPLENR, 210 },
{ 401 * OVERSAMPLENR, 210 },
{ 409 * OVERSAMPLENR, 220 },
{ 409 * OVERSAMPLENR, 220 },
{ 417 * OVERSAMPLENR, 230 },
{ 417 * OVERSAMPLENR, 230 },
{ 424 * OVERSAMPLENR, 240 },
{ 424 * OVERSAMPLENR, 240 },
{ 432 * OVERSAMPLENR, 250 },
{ 432 * OVERSAMPLENR, 250 },
{ 440 * OVERSAMPLENR, 260 },
{ 440 * OVERSAMPLENR, 260 },
{ 447 * OVERSAMPLENR, 270 },
{ 447 * OVERSAMPLENR, 270 },
{ 455 * OVERSAMPLENR, 280 },
{ 455 * OVERSAMPLENR, 280 },
{ 463 * OVERSAMPLENR, 290 },
{ 463 * OVERSAMPLENR, 290 },
{ 470 * OVERSAMPLENR, 300 },
{ 470 * OVERSAMPLENR, 300 },
{ 478 * OVERSAMPLENR, 310 },
{ 478 * OVERSAMPLENR, 310 },
{ 485 * OVERSAMPLENR, 320 },
{ 485 * OVERSAMPLENR, 320 },
{ 493 * OVERSAMPLENR, 330 },
{ 493 * OVERSAMPLENR, 330 },
{ 500 * OVERSAMPLENR, 340 },
{ 500 * OVERSAMPLENR, 340 },
{ 507 * OVERSAMPLENR, 350 },
{ 507 * OVERSAMPLENR, 350 },
{ 515 * OVERSAMPLENR, 360 },
{ 515 * OVERSAMPLENR, 360 },
{ 522 * OVERSAMPLENR, 370 },
{ 522 * OVERSAMPLENR, 370 },
{ 529 * OVERSAMPLENR, 380 },
{ 529 * OVERSAMPLENR, 380 },
{ 537 * OVERSAMPLENR, 390 },
{ 537 * OVERSAMPLENR, 390 },
{ 544 * OVERSAMPLENR, 400 },
{ 544 * OVERSAMPLENR, 400 },
{ 614 * OVERSAMPLENR, 500 },
{ 614 * OVERSAMPLENR, 500 },
{ 681 * OVERSAMPLENR, 600 },
{ 681 * OVERSAMPLENR, 600 },
{ 744 * OVERSAMPLENR, 700 },
{ 744 * OVERSAMPLENR, 700 },
{ 805 * OVERSAMPLENR, 800 },
{ 805 * OVERSAMPLENR, 800 },
{ 862 * OVERSAMPLENR, 900 },
{ 862 * OVERSAMPLENR, 900 },
{ 917 * OVERSAMPLENR, 1000 },
{ 917 * OVERSAMPLENR, 1000 },
{ 968 * OVERSAMPLENR, 1100 }
{ 968 * OVERSAMPLENR, 1100 }
};
};
#endif
#endif
#if ANY_THERMISTOR_IS(51)
#if ANY_THERMISTOR_IS(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!)
// Verified by linagee.
// Verified by linagee.
// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
// Calculated using 1kohm pullup, voltage divider math, and manufacturer provided temp/resistance
// Advantage: Twice the resolution and better linearity from 150C to 200C
// Advantage: Twice the resolution and better linearity from 150C to 200C
const short temptable_51[][2] PROGMEM = {
const short temptable_51[][2] PROGMEM = {
{ 1 * OVERSAMPLENR, 350 },
{ 1 * OVERSAMPLENR, 350 },
{ 190 * OVERSAMPLENR, 250 }, // top rating 250C
{ 190 * OVERSAMPLENR, 250 }, // top rating 250C
{ 203 * OVERSAMPLENR, 245 },
{ 203 * OVERSAMPLENR, 245 },
{ 217 * OVERSAMPLENR, 240 },
{ 217 * OVERSAMPLENR, 240 },
{ 232 * OVERSAMPLENR, 235 },
{ 232 * OVERSAMPLENR, 235 },
{ 248 * OVERSAMPLENR, 230 },
{ 248 * OVERSAMPLENR, 230 },
{ 265 * OVERSAMPLENR, 225 },
{ 265 * OVERSAMPLENR, 225 },
{ 283 * OVERSAMPLENR, 220 },
{ 283 * OVERSAMPLENR, 220 },
{ 302 * OVERSAMPLENR, 215 },
{ 302 * OVERSAMPLENR, 215 },
{ 322 * OVERSAMPLENR, 210 },
{ 322 * OVERSAMPLENR, 210 },
{ 344 * OVERSAMPLENR, 205 },
{ 344 * OVERSAMPLENR, 205 },
{ 366 * OVERSAMPLENR, 200 },
{ 366 * OVERSAMPLENR, 200 },
{ 390 * OVERSAMPLENR, 195 },
{ 390 * OVERSAMPLENR, 195 },
{ 415 * OVERSAMPLENR, 190 },
{ 415 * OVERSAMPLENR, 190 },
{ 440 * OVERSAMPLENR, 185 },
{ 440 * OVERSAMPLENR, 185 },
{ 467 * OVERSAMPLENR, 180 },
{ 467 * OVERSAMPLENR, 180 },
{ 494 * OVERSAMPLENR, 175 },
{ 494 * OVERSAMPLENR, 175 },
{ 522 * OVERSAMPLENR, 170 },
{ 522 * OVERSAMPLENR, 170 },
{ 551 * OVERSAMPLENR, 165 },
{ 551 * OVERSAMPLENR, 165 },
{ 580 * OVERSAMPLENR, 160 },
{ 580 * OVERSAMPLENR, 160 },
{ 609 * OVERSAMPLENR, 155 },
{ 609 * OVERSAMPLENR, 155 },
{ 638 * OVERSAMPLENR, 150 },
{ 638 * OVERSAMPLENR, 150 },
{ 666 * OVERSAMPLENR, 145 },
{ 666 * OVERSAMPLENR, 145 },
{ 695
{ 695
저장된 비교 결과
원본
파일 열기
/** * Marlin 3D Printer Firmware * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * * Based on Sprinter and grbl. * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ #ifndef THERMISTORTABLES_H_ #define THERMISTORTABLES_H_ #include "Marlin.h" #include "macros.h" #define OVERSAMPLENR 16 #define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORBED == n) #if ANY_THERMISTOR_IS(1) // 100k bed thermistor const short temptable_1[][2] PROGMEM = { { 23 * OVERSAMPLENR, 300 }, { 25 * OVERSAMPLENR, 295 }, { 27 * OVERSAMPLENR, 290 }, { 28 * OVERSAMPLENR, 285 }, { 31 * OVERSAMPLENR, 280 }, { 33 * OVERSAMPLENR, 275 }, { 35 * OVERSAMPLENR, 270 }, { 38 * OVERSAMPLENR, 265 }, { 41 * OVERSAMPLENR, 260 }, { 44 * OVERSAMPLENR, 255 }, { 48 * OVERSAMPLENR, 250 }, { 52 * OVERSAMPLENR, 245 }, { 56 * OVERSAMPLENR, 240 }, { 61 * OVERSAMPLENR, 235 }, { 66 * OVERSAMPLENR, 230 }, { 71 * OVERSAMPLENR, 225 }, { 78 * OVERSAMPLENR, 220 }, { 84 * OVERSAMPLENR, 215 }, { 92 * OVERSAMPLENR, 210 }, { 100 * OVERSAMPLENR, 205 }, { 109 * OVERSAMPLENR, 200 }, { 120 * OVERSAMPLENR, 195 }, { 131 * OVERSAMPLENR, 190 }, { 143 * OVERSAMPLENR, 185 }, { 156 * OVERSAMPLENR, 180 }, { 171 * OVERSAMPLENR, 175 }, { 187 * OVERSAMPLENR, 170 }, { 205 * OVERSAMPLENR, 165 }, { 224 * OVERSAMPLENR, 160 }, { 245 * OVERSAMPLENR, 155 }, { 268 * OVERSAMPLENR, 150 }, { 293 * OVERSAMPLENR, 145 }, { 320 * OVERSAMPLENR, 140 }, { 348 * OVERSAMPLENR, 135 }, { 379 * OVERSAMPLENR, 130 }, { 411 * OVERSAMPLENR, 125 }, { 445 * OVERSAMPLENR, 120 }, { 480 * OVERSAMPLENR, 115 }, { 516 * OVERSAMPLENR, 110 }, { 553 * OVERSAMPLENR, 105 }, { 591 * OVERSAMPLENR, 100 }, { 628 * OVERSAMPLENR, 95 }, { 665 * OVERSAMPLENR, 90 }, { 702 * OVERSAMPLENR, 85 }, { 737 * OVERSAMPLENR, 80 }, { 770 * OVERSAMPLENR, 75 }, { 801 * OVERSAMPLENR, 70 }, { 830 * OVERSAMPLENR, 65 }, { 857 * OVERSAMPLENR, 60 }, { 881 * OVERSAMPLENR, 55 }, { 903 * OVERSAMPLENR, 50 }, { 922 * OVERSAMPLENR, 45 }, { 939 * OVERSAMPLENR, 40 }, { 954 * OVERSAMPLENR, 35 }, { 966 * OVERSAMPLENR, 30 }, { 977 * OVERSAMPLENR, 25 }, { 985 * OVERSAMPLENR, 20 }, { 993 * OVERSAMPLENR, 15 }, { 999 * OVERSAMPLENR, 10 }, { 1004 * OVERSAMPLENR, 5 }, { 1008 * OVERSAMPLENR, 0 } // safety }; #endif #if ANY_THERMISTOR_IS(2) // 200k bed thermistor // 200k ATC Semitec 204GT-2 // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance const short temptable_2[][2] PROGMEM = { { 1 * OVERSAMPLENR, 848 }, { 30 * OVERSAMPLENR, 300 }, // top rating 300C { 34 * OVERSAMPLENR, 290 }, { 39 * OVERSAMPLENR, 280 }, { 46 * OVERSAMPLENR, 270 }, { 53 * OVERSAMPLENR, 260 }, { 63 * OVERSAMPLENR, 250 }, { 74 * OVERSAMPLENR, 240 }, { 87 * OVERSAMPLENR, 230 }, { 104 * OVERSAMPLENR, 220 }, { 124 * OVERSAMPLENR, 210 }, { 148 * OVERSAMPLENR, 200 }, { 176 * OVERSAMPLENR, 190 }, { 211 * OVERSAMPLENR, 180 }, { 252 * OVERSAMPLENR, 170 }, { 301 * OVERSAMPLENR, 160 }, { 357 * OVERSAMPLENR, 150 }, { 420 * OVERSAMPLENR, 140 }, { 489 * OVERSAMPLENR, 130 }, { 562 * OVERSAMPLENR, 120 }, { 636 * OVERSAMPLENR, 110 }, { 708 * OVERSAMPLENR, 100 }, { 775 * OVERSAMPLENR, 90 }, { 835 * OVERSAMPLENR, 80 }, { 884 * OVERSAMPLENR, 70 }, { 924 * OVERSAMPLENR, 60 }, { 955 * OVERSAMPLENR, 50 }, { 977 * OVERSAMPLENR, 40 }, { 993 * OVERSAMPLENR, 30 }, { 1004 * OVERSAMPLENR, 20 }, { 1012 * OVERSAMPLENR, 10 }, { 1016 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(3) // mendel-parts const short temptable_3[][2] PROGMEM = { { 1 * OVERSAMPLENR, 864 }, { 21 * OVERSAMPLENR, 300 }, { 25 * OVERSAMPLENR, 290 }, { 29 * OVERSAMPLENR, 280 }, { 33 * OVERSAMPLENR, 270 }, { 39 * OVERSAMPLENR, 260 }, { 46 * OVERSAMPLENR, 250 }, { 54 * OVERSAMPLENR, 240 }, { 64 * OVERSAMPLENR, 230 }, { 75 * OVERSAMPLENR, 220 }, { 90 * OVERSAMPLENR, 210 }, { 107 * OVERSAMPLENR, 200 }, { 128 * OVERSAMPLENR, 190 }, { 154 * OVERSAMPLENR, 180 }, { 184 * OVERSAMPLENR, 170 }, { 221 * OVERSAMPLENR, 160 }, { 265 * OVERSAMPLENR, 150 }, { 316 * OVERSAMPLENR, 140 }, { 375 * OVERSAMPLENR, 130 }, { 441 * OVERSAMPLENR, 120 }, { 513 * OVERSAMPLENR, 110 }, { 588 * OVERSAMPLENR, 100 }, { 734 * OVERSAMPLENR, 80 }, { 856 * OVERSAMPLENR, 60 }, { 938 * OVERSAMPLENR, 40 }, { 986 * OVERSAMPLENR, 20 }, { 1008 * OVERSAMPLENR, 0 }, { 1018 * OVERSAMPLENR, -20 } }; #endif #if ANY_THERMISTOR_IS(4) // 10k thermistor const short temptable_4[][2] PROGMEM = { { 1 * OVERSAMPLENR, 430 }, { 54 * OVERSAMPLENR, 137 }, { 107 * OVERSAMPLENR, 107 }, { 160 * OVERSAMPLENR, 91 }, { 213 * OVERSAMPLENR, 80 }, { 266 * OVERSAMPLENR, 71 }, { 319 * OVERSAMPLENR, 64 }, { 372 * OVERSAMPLENR, 57 }, { 425 * OVERSAMPLENR, 51 }, { 478 * OVERSAMPLENR, 46 }, { 531 * OVERSAMPLENR, 41 }, { 584 * OVERSAMPLENR, 35 }, { 637 * OVERSAMPLENR, 30 }, { 690 * OVERSAMPLENR, 25 }, { 743 * OVERSAMPLENR, 20 }, { 796 * OVERSAMPLENR, 14 }, { 849 * OVERSAMPLENR, 7 }, { 902 * OVERSAMPLENR, 0 }, { 955 * OVERSAMPLENR, -11 }, { 1008 * OVERSAMPLENR, -35 } }; #endif #if ANY_THERMISTOR_IS(5) // 100k ParCan thermistor (104GT-2) // ATC Semitec 104GT-2 (Used in ParCan) // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance const short temptable_5[][2] PROGMEM = { { 1 * OVERSAMPLENR, 713 }, { 17 * OVERSAMPLENR, 300 }, // top rating 300C { 20 * OVERSAMPLENR, 290 }, { 23 * OVERSAMPLENR, 280 }, { 27 * OVERSAMPLENR, 270 }, { 31 * OVERSAMPLENR, 260 }, { 37 * OVERSAMPLENR, 250 }, { 43 * OVERSAMPLENR, 240 }, { 51 * OVERSAMPLENR, 230 }, { 61 * OVERSAMPLENR, 220 }, { 73 * OVERSAMPLENR, 210 }, { 87 * OVERSAMPLENR, 200 }, { 106 * OVERSAMPLENR, 190 }, { 128 * OVERSAMPLENR, 180 }, { 155 * OVERSAMPLENR, 170 }, { 189 * OVERSAMPLENR, 160 }, { 230 * OVERSAMPLENR, 150 }, { 278 * OVERSAMPLENR, 140 }, { 336 * OVERSAMPLENR, 130 }, { 402 * OVERSAMPLENR, 120 }, { 476 * OVERSAMPLENR, 110 }, { 554 * OVERSAMPLENR, 100 }, { 635 * OVERSAMPLENR, 90 }, { 713 * OVERSAMPLENR, 80 }, { 784 * OVERSAMPLENR, 70 }, { 846 * OVERSAMPLENR, 60 }, { 897 * OVERSAMPLENR, 50 }, { 937 * OVERSAMPLENR, 40 }, { 966 * OVERSAMPLENR, 30 }, { 986 * OVERSAMPLENR, 20 }, { 1000 * OVERSAMPLENR, 10 }, { 1010 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(6) // 100k Epcos thermistor const short temptable_6[][2] PROGMEM = { { 1 * OVERSAMPLENR, 350 }, { 28 * OVERSAMPLENR, 250 }, // top rating 250C { 31 * OVERSAMPLENR, 245 }, { 35 * OVERSAMPLENR, 240 }, { 39 * OVERSAMPLENR, 235 }, { 42 * OVERSAMPLENR, 230 }, { 44 * OVERSAMPLENR, 225 }, { 49 * OVERSAMPLENR, 220 }, { 53 * OVERSAMPLENR, 215 }, { 62 * OVERSAMPLENR, 210 }, { 71 * OVERSAMPLENR, 205 }, // fitted graphically { 78 * OVERSAMPLENR, 200 }, // fitted graphically { 94 * OVERSAMPLENR, 190 }, { 102 * OVERSAMPLENR, 185 }, { 116 * OVERSAMPLENR, 170 }, { 143 * OVERSAMPLENR, 160 }, { 183 * OVERSAMPLENR, 150 }, { 223 * OVERSAMPLENR, 140 }, { 270 * OVERSAMPLENR, 130 }, { 318 * OVERSAMPLENR, 120 }, { 383 * OVERSAMPLENR, 110 }, { 413 * OVERSAMPLENR, 105 }, { 439 * OVERSAMPLENR, 100 }, { 484 * OVERSAMPLENR, 95 }, { 513 * OVERSAMPLENR, 90 }, { 607 * OVERSAMPLENR, 80 }, { 664 * OVERSAMPLENR, 70 }, { 781 * OVERSAMPLENR, 60 }, { 810 * OVERSAMPLENR, 55 }, { 849 * OVERSAMPLENR, 50 }, { 914 * OVERSAMPLENR, 45 }, { 914 * OVERSAMPLENR, 40 }, { 935 * OVERSAMPLENR, 35 }, { 954 * OVERSAMPLENR, 30 }, { 970 * OVERSAMPLENR, 25 }, { 978 * OVERSAMPLENR, 22 }, { 1008 * OVERSAMPLENR, 3 }, { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C }; #endif #if ANY_THERMISTOR_IS(7) // 100k Honeywell 135-104LAG-J01 const short temptable_7[][2] PROGMEM = { { 1 * OVERSAMPLENR, 941 }, { 19 * OVERSAMPLENR, 362 }, { 37 * OVERSAMPLENR, 299 }, // top rating 300C { 55 * OVERSAMPLENR, 266 }, { 73 * OVERSAMPLENR, 245 }, { 91 * OVERSAMPLENR, 229 }, { 109 * OVERSAMPLENR, 216 }, { 127 * OVERSAMPLENR, 206 }, { 145 * OVERSAMPLENR, 197 }, { 163 * OVERSAMPLENR, 190 }, { 181 * OVERSAMPLENR, 183 }, { 199 * OVERSAMPLENR, 177 }, { 217 * OVERSAMPLENR, 171 }, { 235 * OVERSAMPLENR, 166 }, { 253 * OVERSAMPLENR, 162 }, { 271 * OVERSAMPLENR, 157 }, { 289 * OVERSAMPLENR, 153 }, { 307 * OVERSAMPLENR, 149 }, { 325 * OVERSAMPLENR, 146 }, { 343 * OVERSAMPLENR, 142 }, { 361 * OVERSAMPLENR, 139 }, { 379 * OVERSAMPLENR, 135 }, { 397 * OVERSAMPLENR, 132 }, { 415 * OVERSAMPLENR, 129 }, { 433 * OVERSAMPLENR, 126 }, { 451 * OVERSAMPLENR, 123 }, { 469 * OVERSAMPLENR, 121 }, { 487 * OVERSAMPLENR, 118 }, { 505 * OVERSAMPLENR, 115 }, { 523 * OVERSAMPLENR, 112 }, { 541 * OVERSAMPLENR, 110 }, { 559 * OVERSAMPLENR, 107 }, { 577 * OVERSAMPLENR, 105 }, { 595 * OVERSAMPLENR, 102 }, { 613 * OVERSAMPLENR, 99 }, { 631 * OVERSAMPLENR, 97 }, { 649 * OVERSAMPLENR, 94 }, { 667 * OVERSAMPLENR, 92 }, { 685 * OVERSAMPLENR, 89 }, { 703 * OVERSAMPLENR, 86 }, { 721 * OVERSAMPLENR, 84 }, { 739 * OVERSAMPLENR, 81 }, { 757 * OVERSAMPLENR, 78 }, { 775 * OVERSAMPLENR, 75 }, { 793 * OVERSAMPLENR, 72 }, { 811 * OVERSAMPLENR, 69 }, { 829 * OVERSAMPLENR, 66 }, { 847 * OVERSAMPLENR, 62 }, { 865 * OVERSAMPLENR, 59 }, { 883 * OVERSAMPLENR, 55 }, { 901 * OVERSAMPLENR, 51 }, { 919 * OVERSAMPLENR, 46 }, { 937 * OVERSAMPLENR, 41 }, { 955 * OVERSAMPLENR, 35 }, { 973 * OVERSAMPLENR, 27 }, { 991 * OVERSAMPLENR, 17 }, { 1009 * OVERSAMPLENR, 1 }, { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C }; #endif #if ANY_THERMISTOR_IS(71) // 100k Honeywell 135-104LAF-J01 // R0 = 100000 Ohm // T0 = 25 °C // Beta = 3974 // R1 = 0 Ohm // R2 = 4700 Ohm const short temptable_71[][2] PROGMEM = { { 35 * OVERSAMPLENR, 300 }, { 51 * OVERSAMPLENR, 270 }, { 54 * OVERSAMPLENR, 265 }, { 58 * OVERSAMPLENR, 260 }, { 59 * OVERSAMPLENR, 258 }, { 61 * OVERSAMPLENR, 256 }, { 63 * OVERSAMPLENR, 254 }, { 64 * OVERSAMPLENR, 252 }, { 66 * OVERSAMPLENR, 250 }, { 67 * OVERSAMPLENR, 249 }, { 68 * OVERSAMPLENR, 248 }, { 69 * OVERSAMPLENR, 247 }, { 70 * OVERSAMPLENR, 246 }, { 71 * OVERSAMPLENR, 245 }, { 72 * OVERSAMPLENR, 244 }, { 73 * OVERSAMPLENR, 243 }, { 74 * OVERSAMPLENR, 242 }, { 75 * OVERSAMPLENR, 241 }, { 76 * OVERSAMPLENR, 240 }, { 77 * OVERSAMPLENR, 239 }, { 78 * OVERSAMPLENR, 238 }, { 79 * OVERSAMPLENR, 237 }, { 80 * OVERSAMPLENR, 236 }, { 81 * OVERSAMPLENR, 235 }, { 82 * OVERSAMPLENR, 234 }, { 84 * OVERSAMPLENR, 233 }, { 85 * OVERSAMPLENR, 232 }, { 86 * OVERSAMPLENR, 231 }, { 87 * OVERSAMPLENR, 230 }, { 89 * OVERSAMPLENR, 229 }, { 90 * OVERSAMPLENR, 228 }, { 91 * OVERSAMPLENR, 227 }, { 92 * OVERSAMPLENR, 226 }, { 94 * OVERSAMPLENR, 225 }, { 95 * OVERSAMPLENR, 224 }, { 97 * OVERSAMPLENR, 223 }, { 98 * OVERSAMPLENR, 222 }, { 99 * OVERSAMPLENR, 221 }, { 101 * OVERSAMPLENR, 220 }, { 102 * OVERSAMPLENR, 219 }, { 104 * OVERSAMPLENR, 218 }, { 106 * OVERSAMPLENR, 217 }, { 107 * OVERSAMPLENR, 216 }, { 109 * OVERSAMPLENR, 215 }, { 110 * OVERSAMPLENR, 214 }, { 112 * OVERSAMPLENR, 213 }, { 114 * OVERSAMPLENR, 212 }, { 115 * OVERSAMPLENR, 211 }, { 117 * OVERSAMPLENR, 210 }, { 119 * OVERSAMPLENR, 209 }, { 121 * OVERSAMPLENR, 208 }, { 123 * OVERSAMPLENR, 207 }, { 125 * OVERSAMPLENR, 206 }, { 126 * OVERSAMPLENR, 205 }, { 128 * OVERSAMPLENR, 204 }, { 130 * OVERSAMPLENR, 203 }, { 132 * OVERSAMPLENR, 202 }, { 134 * OVERSAMPLENR, 201 }, { 136 * OVERSAMPLENR, 200 }, { 139 * OVERSAMPLENR, 199 }, { 141 * OVERSAMPLENR, 198 }, { 143 * OVERSAMPLENR, 197 }, { 145 * OVERSAMPLENR, 196 }, { 147 * OVERSAMPLENR, 195 }, { 150 * OVERSAMPLENR, 194 }, { 152 * OVERSAMPLENR, 193 }, { 154 * OVERSAMPLENR, 192 }, { 157 * OVERSAMPLENR, 191 }, { 159 * OVERSAMPLENR, 190 }, { 162 * OVERSAMPLENR, 189 }, { 164 * OVERSAMPLENR, 188 }, { 167 * OVERSAMPLENR, 187 }, { 170 * OVERSAMPLENR, 186 }, { 172 * OVERSAMPLENR, 185 }, { 175 * OVERSAMPLENR, 184 }, { 178 * OVERSAMPLENR, 183 }, { 181 * OVERSAMPLENR, 182 }, { 184 * OVERSAMPLENR, 181 }, { 187 * OVERSAMPLENR, 180 }, { 190 * OVERSAMPLENR, 179 }, { 193 * OVERSAMPLENR, 178 }, { 196 * OVERSAMPLENR, 177 }, { 199 * OVERSAMPLENR, 176 }, { 202 * OVERSAMPLENR, 175 }, { 205 * OVERSAMPLENR, 174 }, { 208 * OVERSAMPLENR, 173 }, { 212 * OVERSAMPLENR, 172 }, { 215 * OVERSAMPLENR, 171 }, { 219 * OVERSAMPLENR, 170 }, { 237 * OVERSAMPLENR, 165 }, { 256 * OVERSAMPLENR, 160 }, { 300 * OVERSAMPLENR, 150 }, { 351 * OVERSAMPLENR, 140 }, { 470 * OVERSAMPLENR, 120 }, { 504 * OVERSAMPLENR, 115 }, { 538 * OVERSAMPLENR, 110 }, { 552 * OVERSAMPLENR, 108 }, { 566 * OVERSAMPLENR, 106 }, { 580 * OVERSAMPLENR, 104 }, { 594 * OVERSAMPLENR, 102 }, { 608 * OVERSAMPLENR, 100 }, { 622 * OVERSAMPLENR, 98 }, { 636 * OVERSAMPLENR, 96 }, { 650 * OVERSAMPLENR, 94 }, { 664 * OVERSAMPLENR, 92 }, { 678 * OVERSAMPLENR, 90 }, { 712 * OVERSAMPLENR, 85 }, { 745 * OVERSAMPLENR, 80 }, { 758 * OVERSAMPLENR, 78 }, { 770 * OVERSAMPLENR, 76 }, { 783 * OVERSAMPLENR, 74 }, { 795 * OVERSAMPLENR, 72 }, { 806 * OVERSAMPLENR, 70 }, { 818 * OVERSAMPLENR, 68 }, { 829 * OVERSAMPLENR, 66 }, { 840 * OVERSAMPLENR, 64 }, { 850 * OVERSAMPLENR, 62 }, { 860 * OVERSAMPLENR, 60 }, { 870 * OVERSAMPLENR, 58 }, { 879 * OVERSAMPLENR, 56 }, { 888 * OVERSAMPLENR, 54 }, { 897 * OVERSAMPLENR, 52 }, { 905 * OVERSAMPLENR, 50 }, { 924 * OVERSAMPLENR, 45 }, { 940 * OVERSAMPLENR, 40 }, { 955 * OVERSAMPLENR, 35 }, { 967 * OVERSAMPLENR, 30 }, { 970 * OVERSAMPLENR, 29 }, { 972 * OVERSAMPLENR, 28 }, { 974 * OVERSAMPLENR, 27 }, { 976 * OVERSAMPLENR, 26 }, { 978 * OVERSAMPLENR, 25 }, { 980 * OVERSAMPLENR, 24 }, { 982 * OVERSAMPLENR, 23 }, { 984 * OVERSAMPLENR, 22 }, { 985 * OVERSAMPLENR, 21 }, { 987 * OVERSAMPLENR, 20 }, { 995 * OVERSAMPLENR, 15 }, { 1001 * OVERSAMPLENR, 10 }, { 1006 * OVERSAMPLENR, 5 }, { 1010 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(8) // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) const short temptable_8[][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 ANY_THERMISTOR_IS(9) // 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) const short temptable_9[][2] PROGMEM = { { 1 * OVERSAMPLENR, 936 }, { 36 * OVERSAMPLENR, 300 }, { 71 * OVERSAMPLENR, 246 }, { 106 * OVERSAMPLENR, 218 }, { 141 * OVERSAMPLENR, 199 }, { 176 * OVERSAMPLENR, 185 }, { 211 * OVERSAMPLENR, 173 }, { 246 * OVERSAMPLENR, 163 }, { 281 * OVERSAMPLENR, 155 }, { 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, 92 }, { 701 * OVERSAMPLENR, 87 }, { 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 ANY_THERMISTOR_IS(10) // 100k RS thermistor 198-961 (4.7k pullup) const short temptable_10[][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 ANY_THERMISTOR_IS(11) // QU-BD silicone bed QWG-104F-3950 thermistor const short temptable_11[][2] PROGMEM = { { 1 * OVERSAMPLENR, 938 }, { 31 * OVERSAMPLENR, 314 }, { 41 * OVERSAMPLENR, 290 }, { 51 * OVERSAMPLENR, 272 }, { 61 * OVERSAMPLENR, 258 }, { 71 * OVERSAMPLENR, 247 }, { 81 * OVERSAMPLENR, 237 }, { 91 * OVERSAMPLENR, 229 }, { 101 * OVERSAMPLENR, 221 }, { 111 * OVERSAMPLENR, 215 }, { 121 * OVERSAMPLENR, 209 }, { 131 * OVERSAMPLENR, 204 }, { 141 * OVERSAMPLENR, 199 }, { 151 * OVERSAMPLENR, 195 }, { 161 * OVERSAMPLENR, 190 }, { 171 * OVERSAMPLENR, 187 }, { 181 * OVERSAMPLENR, 183 }, { 191 * OVERSAMPLENR, 179 }, { 201 * OVERSAMPLENR, 176 }, { 221 * OVERSAMPLENR, 170 }, { 241 * OVERSAMPLENR, 165 }, { 261 * OVERSAMPLENR, 160 }, { 281 * OVERSAMPLENR, 155 }, { 301 * OVERSAMPLENR, 150 }, { 331 * OVERSAMPLENR, 144 }, { 361 * OVERSAMPLENR, 139 }, { 391 * OVERSAMPLENR, 133 }, { 421 * OVERSAMPLENR, 128 }, { 451 * OVERSAMPLENR, 123 }, { 491 * OVERSAMPLENR, 117 }, { 531 * OVERSAMPLENR, 111 }, { 571 * OVERSAMPLENR, 105 }, { 611 * OVERSAMPLENR, 100 }, { 641 * OVERSAMPLENR, 95 }, { 681 * OVERSAMPLENR, 90 }, { 711 * OVERSAMPLENR, 85 }, { 751 * OVERSAMPLENR, 79 }, { 791 * OVERSAMPLENR, 72 }, { 811 * OVERSAMPLENR, 69 }, { 831 * OVERSAMPLENR, 65 }, { 871 * OVERSAMPLENR, 57 }, { 881 * OVERSAMPLENR, 55 }, { 901 * OVERSAMPLENR, 51 }, { 921 * OVERSAMPLENR, 45 }, { 941 * OVERSAMPLENR, 39 }, { 971 * OVERSAMPLENR, 28 }, { 981 * OVERSAMPLENR, 23 }, { 991 * OVERSAMPLENR, 17 }, { 1001 * OVERSAMPLENR, 9 }, { 1021 * OVERSAMPLENR, -27 } }; #endif #if ANY_THERMISTOR_IS(13) // Hisens thermistor B25/50 =3950 +/-1% const short temptable_13[][2] PROGMEM = { { 20.04 * OVERSAMPLENR, 300 }, { 23.19 * OVERSAMPLENR, 290 }, { 26.71 * OVERSAMPLENR, 280 }, { 31.23 * OVERSAMPLENR, 270 }, { 36.52 * OVERSAMPLENR, 260 }, { 42.75 * OVERSAMPLENR, 250 }, { 50.68 * OVERSAMPLENR, 240 }, { 60.22 * OVERSAMPLENR, 230 }, { 72.03 * OVERSAMPLENR, 220 }, { 86.84 * OVERSAMPLENR, 210 }, { 102.79 * OVERSAMPLENR, 200 }, { 124.46 * OVERSAMPLENR, 190 }, { 151.02 * OVERSAMPLENR, 180 }, { 182.86 * OVERSAMPLENR, 170 }, { 220.72 * OVERSAMPLENR, 160 }, { 316.96 * OVERSAMPLENR, 140 }, { 447.17 * OVERSAMPLENR, 120 }, { 590.61 * OVERSAMPLENR, 100 }, { 737.31 * OVERSAMPLENR, 80 }, { 857.77 * OVERSAMPLENR, 60 }, { 939.52 * OVERSAMPLENR, 40 }, { 986.03 * OVERSAMPLENR, 20 }, { 1008.7 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(20) // PT100 with INA826 amp on Ultimaker v2.0 electronics // The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature. // This does not match the normal thermistor behaviour so we need to set the following defines #if (THERMISTORHEATER_0 == 20) #define HEATER_0_RAW_HI_TEMP 16383 #define HEATER_0_RAW_LO_TEMP 0 #endif #if (THERMISTORHEATER_1 == 20) #define HEATER_1_RAW_HI_TEMP 16383 #define HEATER_1_RAW_LO_TEMP 0 #endif #if (THERMISTORHEATER_2 == 20) #define HEATER_2_RAW_HI_TEMP 16383 #define HEATER_2_RAW_LO_TEMP 0 #endif #if (THERMISTORHEATER_3 == 20) #define HEATER_3_RAW_HI_TEMP 16383 #define HEATER_3_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 ANY_THERMISTOR_IS(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 } }; #endif #if ANY_THERMISTOR_IS(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 } }; #endif #if ANY_THERMISTOR_IS(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_55[][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 } }; #endif #if ANY_THERMISTOR_IS(60) // Maker's Tool Works Kapton Bed Thermistor // ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=3950 // r0: 100000 // t0: 25 // r1: 0 (parallel with rTherm) // r2: 4700 (series with rTherm) // beta: 3950 // min adc: 1 at 0.0048828125 V // max adc: 1023 at 4.9951171875 V const short temptable_60[][2] PROGMEM = { { 51 * OVERSAMPLENR, 272 }, { 61 * OVERSAMPLENR, 258 }, { 71 * OVERSAMPLENR, 247 }, { 81 * OVERSAMPLENR, 237 }, { 91 * OVERSAMPLENR, 229 }, { 101 * OVERSAMPLENR, 221 }, { 131 * OVERSAMPLENR, 204 }, { 161 * OVERSAMPLENR, 190 }, { 191 * OVERSAMPLENR, 179 }, { 231 * OVERSAMPLENR, 167 }, { 271 * OVERSAMPLENR, 157 }, { 311 * OVERSAMPLENR, 148 }, { 351 * OVERSAMPLENR, 140 }, { 381 * OVERSAMPLENR, 135 }, { 411 * OVERSAMPLENR, 130 }, { 441 * OVERSAMPLENR, 125 }, { 451 * OVERSAMPLENR, 123 }, { 461 * OVERSAMPLENR, 122 }, { 471 * OVERSAMPLENR, 120 }, { 481 * OVERSAMPLENR, 119 }, { 491 * OVERSAMPLENR, 117 }, { 501 * OVERSAMPLENR, 116 }, { 511 * OVERSAMPLENR, 114 }, { 521 * OVERSAMPLENR, 113 }, { 531 * OVERSAMPLENR, 111 }, { 541 * OVERSAMPLENR, 110 }, { 551 * OVERSAMPLENR, 108 }, { 561 * OVERSAMPLENR, 107 }, { 571 * OVERSAMPLENR, 105 }, { 581 * OVERSAMPLENR, 104 }, { 591 * OVERSAMPLENR, 102 }, { 601 * OVERSAMPLENR, 101 }, { 611 * OVERSAMPLENR, 100 }, { 621 * OVERSAMPLENR, 98 }, { 631 * OVERSAMPLENR, 97 }, { 641 * OVERSAMPLENR, 95 }, { 651 * OVERSAMPLENR, 94 }, { 661 * OVERSAMPLENR, 92 }, { 671 * OVERSAMPLENR, 91 }, { 681 * OVERSAMPLENR, 90 }, { 691 * OVERSAMPLENR, 88 }, { 701 * OVERSAMPLENR, 87 }, { 711 * OVERSAMPLENR, 85 }, { 721 * OVERSAMPLENR, 84 }, { 731 * OVERSAMPLENR, 82 }, { 741 * OVERSAMPLENR, 81 }, { 751 * OVERSAMPLENR, 79 }, { 761 * OVERSAMPLENR, 77 }, { 771 * OVERSAMPLENR, 76 }, { 781 * OVERSAMPLENR, 74 }, { 791 * OVERSAMPLENR, 72 }, { 801 * OVERSAMPLENR, 71 }, { 811 * OVERSAMPLENR, 69 }, { 821 * OVERSAMPLENR, 67 }, { 831 * OVERSAMPLENR, 65 }, { 841 * OVERSAMPLENR, 63 }, { 851 * OVERSAMPLENR, 62 }, { 861 * OVERSAMPLENR, 60 }, { 871 * OVERSAMPLENR, 57 }, { 881 * OVERSAMPLENR, 55 }, { 891 * OVERSAMPLENR, 53 }, { 901 * OVERSAMPLENR, 51 }, { 911 * OVERSAMPLENR, 48 }, { 921 * OVERSAMPLENR, 45 }, { 931 * OVERSAMPLENR, 42 }, { 941 * OVERSAMPLENR, 39 }, { 951 * OVERSAMPLENR, 36 }, { 961 * OVERSAMPLENR, 32 }, { 981 * OVERSAMPLENR, 23 }, { 991 * OVERSAMPLENR, 17 }, { 1001 * OVERSAMPLENR, 9 }, { 1008 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(66) // DyzeDesign 500°C Thermistor const short temptable_66[][2] PROGMEM = { { 17.5 * OVERSAMPLENR, 850 }, { 17.9 * OVERSAMPLENR, 500 }, { 21.7 * OVERSAMPLENR, 480 }, { 26.6 * OVERSAMPLENR, 460 }, { 33.1 * OVERSAMPLENR, 440 }, { 41.0 * OVERSAMPLENR, 420 }, { 52.3 * OVERSAMPLENR, 400 }, { 67.7 * OVERSAMPLENR, 380 }, { 86.5 * OVERSAMPLENR, 360 }, { 112.0 * OVERSAMPLENR, 340 }, { 147.2 * OVERSAMPLENR, 320 }, { 194.0 * OVERSAMPLENR, 300 }, { 254.3 * OVERSAMPLENR, 280 }, { 330.2 * OVERSAMPLENR, 260 }, { 427.9 * OVERSAMPLENR, 240 }, { 533.4 * OVERSAMPLENR, 220 }, { 646.5 * OVERSAMPLENR, 200 }, { 754.4 * OVERSAMPLENR, 180 }, { 844.3 * OVERSAMPLENR, 160 }, { 911.7 * OVERSAMPLENR, 140 }, { 958.6 * OVERSAMPLENR, 120 }, { 988.8 * OVERSAMPLENR, 100 }, { 1006.6 * OVERSAMPLENR, 80 }, { 1015.8 * OVERSAMPLENR, 60 }, { 1021.3 * OVERSAMPLENR, 30 }, { 1023 * OVERSAMPLENR - 1, 25}, { 1023 * OVERSAMPLENR, 20} }; #endif #if ANY_THERMISTOR_IS(12) // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) const short temptable_12[][2] PROGMEM = { { 35 * OVERSAMPLENR, 180 }, // top rating 180C { 211 * OVERSAMPLENR, 140 }, { 233 * OVERSAMPLENR, 135 }, { 261 * OVERSAMPLENR, 130 }, { 290 * OVERSAMPLENR, 125 }, { 328 * OVERSAMPLENR, 120 }, { 362 * OVERSAMPLENR, 115 }, { 406 * OVERSAMPLENR, 110 }, { 446 * OVERSAMPLENR, 105 }, { 496 * OVERSAMPLENR, 100 }, { 539 * OVERSAMPLENR, 95 }, { 585 * OVERSAMPLENR, 90 }, { 629 * OVERSAMPLENR, 85 }, { 675 * OVERSAMPLENR, 80 }, { 718 * OVERSAMPLENR, 75 }, { 758 * OVERSAMPLENR, 70 }, { 793 * OVERSAMPLENR, 65 }, { 822 * OVERSAMPLENR, 60 }, { 841 * OVERSAMPLENR, 55 }, { 875 * OVERSAMPLENR, 50 }, { 899 * OVERSAMPLENR, 45 }, { 926 * OVERSAMPLENR, 40 }, { 946 * OVERSAMPLENR, 35 }, { 962 * OVERSAMPLENR, 30 }, { 977 * OVERSAMPLENR, 25 }, { 987 * OVERSAMPLENR, 20 }, { 995 * OVERSAMPLENR, 15 }, { 1001 * OVERSAMPLENR, 10 }, { 1010 * OVERSAMPLENR, 0 }, { 1023 * OVERSAMPLENR, -40 } }; #endif #if ANY_THERMISTOR_IS(70) // bqh2 stock thermistor const short temptable_70[][2] PROGMEM = { { 22 * OVERSAMPLENR, 300 }, { 24 * OVERSAMPLENR, 295 }, { 25 * OVERSAMPLENR, 290 }, { 27 * OVERSAMPLENR, 285 }, { 29 * OVERSAMPLENR, 280 }, { 32 * OVERSAMPLENR, 275 }, { 34 * OVERSAMPLENR, 270 }, { 37 * OVERSAMPLENR, 265 }, { 40 * OVERSAMPLENR, 260 }, { 43 * OVERSAMPLENR, 255 }, { 46 * OVERSAMPLENR, 250 }, { 50 * OVERSAMPLENR, 245 }, { 54 * OVERSAMPLENR, 240 }, { 59 * OVERSAMPLENR, 235 }, { 64 * OVERSAMPLENR, 230 }, { 70 * OVERSAMPLENR, 225 }, { 76 * OVERSAMPLENR, 220 }, { 83 * OVERSAMPLENR, 215 }, { 90 * OVERSAMPLENR, 210 }, { 99 * OVERSAMPLENR, 205 }, { 108 * OVERSAMPLENR, 200 }, { 118 * OVERSAMPLENR, 195 }, { 129 * OVERSAMPLENR, 190 }, { 141 * OVERSAMPLENR, 185 }, { 154 * OVERSAMPLENR, 180 }, { 169 * OVERSAMPLENR, 175 }, { 185 * OVERSAMPLENR, 170 }, { 203 * OVERSAMPLENR, 165 }, { 222 * OVERSAMPLENR, 160 }, { 243 * OVERSAMPLENR, 155 }, { 266 * OVERSAMPLENR, 150 }, { 290 * OVERSAMPLENR, 145 }, { 317 * OVERSAMPLENR, 140 }, { 346 * OVERSAMPLENR, 135 }, { 376 * OVERSAMPLENR, 130 }, { 408 * OVERSAMPLENR, 125 }, { 442 * OVERSAMPLENR, 120 }, { 477 * OVERSAMPLENR, 115 }, { 513 * OVERSAMPLENR, 110 }, { 551 * OVERSAMPLENR, 105 }, { 588 * OVERSAMPLENR, 100 }, { 626 * OVERSAMPLENR, 95 }, { 663 * OVERSAMPLENR, 90 }, { 699 * OVERSAMPLENR, 85 }, { 735 * OVERSAMPLENR, 80 }, { 768 * OVERSAMPLENR, 75 }, { 800 * OVERSAMPLENR, 70 }, { 829 * OVERSAMPLENR, 65 }, { 856 * OVERSAMPLENR, 60 }, { 881 * OVERSAMPLENR, 55 }, { 903 * OVERSAMPLENR, 50 }, { 922 * OVERSAMPLENR, 45 }, { 939 * OVERSAMPLENR, 40 }, { 954 * OVERSAMPLENR, 35 }, { 966 * OVERSAMPLENR, 30 }, { 977 * OVERSAMPLENR, 25 }, { 986 * OVERSAMPLENR, 20 }, { 994 * OVERSAMPLENR, 15 }, { 1000 * OVERSAMPLENR, 10 }, { 1005 * OVERSAMPLENR, 5 }, { 1009 * OVERSAMPLENR, 0 } // safety }; #endif // Pt1000 and Pt100 handling // // Rt=R0*(1+a*T+b*T*T) [for T>0] // a=3.9083E-3, b=-5.775E-7 #define PtA 3.9083E-3 #define PtB -5.775E-7 #define PtRt(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(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 }, #if ANY_THERMISTOR_IS(110) // Pt100 with 1k0 pullup const short temptable_110[][2] PROGMEM = { // only few values are needed as the curve is very flat PtLine( 0, 100, 1000) PtLine( 50, 100, 1000) PtLine(100, 100, 1000) PtLine(150, 100, 1000) PtLine(200, 100, 1000) PtLine(250, 100, 1000) PtLine(300, 100, 1000) }; #endif #if ANY_THERMISTOR_IS(147) // Pt100 with 4k7 pullup const short temptable_147[][2] PROGMEM = { // only few values are needed as the curve is very flat PtLine( 0, 100, 4700) PtLine( 50, 100, 4700) PtLine(100, 100, 4700) PtLine(150, 100, 4700) PtLine(200, 100, 4700) PtLine(250, 100, 4700) PtLine(300, 100, 4700) }; #endif #if ANY_THERMISTOR_IS(1010) // Pt1000 with 1k0 pullup const short temptable_1010[][2] PROGMEM = { PtLine( 0, 1000, 1000) PtLine( 25, 1000, 1000) PtLine( 50, 1000, 1000) PtLine( 75, 1000, 1000) PtLine(100, 1000, 1000) PtLine(125, 1000, 1000) PtLine(150, 1000, 1000) PtLine(175, 1000, 1000) PtLine(200, 1000, 1000) PtLine(225, 1000, 1000) PtLine(250, 1000, 1000) PtLine(275, 1000, 1000) PtLine(300, 1000, 1000) }; #endif #if ANY_THERMISTOR_IS(1047) // Pt1000 with 4k7 pullup const short temptable_1047[][2] PROGMEM = { // only few values are needed as the curve is very flat PtLine( 0, 1000, 4700) PtLine( 50, 1000, 4700) PtLine(100, 1000, 4700) PtLine(150, 1000, 4700) PtLine(200, 1000, 4700) PtLine(250, 1000, 4700) PtLine(300, 1000, 4700) }; #endif #if ANY_THERMISTOR_IS(999) // User-defined table // Dummy Thermistor table.. It will ALWAYS read a fixed value. #ifndef DUMMY_THERMISTOR_999_VALUE #define DUMMY_THERMISTOR_999_VALUE 25 #endif const short temptable_999[][2] PROGMEM = { { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE }, { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE } }; #endif #if ANY_THERMISTOR_IS(998) // User-defined table // Dummy Thermistor table.. It will ALWAYS read a fixed value. #ifndef DUMMY_THERMISTOR_998_VALUE #define DUMMY_THERMISTOR_998_VALUE 25 #endif const short temptable_998[][2] PROGMEM = { { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE }, { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE } }; #endif #define _TT_NAME(_N) temptable_ ## _N #define TT_NAME(_N) _TT_NAME(_N) #ifdef THERMISTORHEATER_0 #define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0) #define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE) #else #ifdef HEATER_0_USES_THERMISTOR #error "No heater 0 thermistor table specified" #else // HEATER_0_USES_THERMISTOR #define HEATER_0_TEMPTABLE NULL #define HEATER_0_TEMPTABLE_LEN 0 #endif // HEATER_0_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_0_RAW_HI_TEMP #ifdef HEATER_0_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_0_RAW_HI_TEMP 0 #define HEATER_0_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_0_RAW_HI_TEMP 16383 #define HEATER_0_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORHEATER_1 #define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1) #define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE) #else #ifdef HEATER_1_USES_THERMISTOR #error "No heater 1 thermistor table specified" #else // HEATER_1_USES_THERMISTOR #define HEATER_1_TEMPTABLE NULL #define HEATER_1_TEMPTABLE_LEN 0 #endif // HEATER_1_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_1_RAW_HI_TEMP #ifdef HEATER_1_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_1_RAW_HI_TEMP 0 #define HEATER_1_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_1_RAW_HI_TEMP 16383 #define HEATER_1_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORHEATER_2 #define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2) #define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE) #else #ifdef HEATER_2_USES_THERMISTOR #error "No heater 2 thermistor table specified" #else // HEATER_2_USES_THERMISTOR #define HEATER_2_TEMPTABLE NULL #define HEATER_2_TEMPTABLE_LEN 0 #endif // HEATER_2_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_2_RAW_HI_TEMP #ifdef HEATER_2_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_2_RAW_HI_TEMP 0 #define HEATER_2_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_2_RAW_HI_TEMP 16383 #define HEATER_2_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORHEATER_3 #define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3) #define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE) #else #ifdef HEATER_3_USES_THERMISTOR #error "No heater 3 thermistor table specified" #else // HEATER_3_USES_THERMISTOR #define HEATER_3_TEMPTABLE NULL #define HEATER_3_TEMPTABLE_LEN 0 #endif // HEATER_3_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_3_RAW_HI_TEMP #ifdef HEATER_3_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_3_RAW_HI_TEMP 0 #define HEATER_3_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_3_RAW_HI_TEMP 16383 #define HEATER_3_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORBED #define BEDTEMPTABLE TT_NAME(THERMISTORBED) #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE) #else #ifdef BED_USES_THERMISTOR #error "No bed thermistor table specified" #endif // BED_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_BED_RAW_HI_TEMP #ifdef BED_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_BED_RAW_HI_TEMP 0 #define HEATER_BED_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_BED_RAW_HI_TEMP 16383 #define HEATER_BED_RAW_LO_TEMP 0 #endif #endif #endif // THERMISTORTABLES_H_
수정본
파일 열기
/** * Marlin 3D Printer Firmware * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * * Based on Sprinter and grbl. * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ #ifndef THERMISTORTABLES_H_ #define THERMISTORTABLES_H_ #include "Marlin.h" #include "macros.h" #define OVERSAMPLENR 16 #define ANY_THERMISTOR_IS(n) (THERMISTORHEATER_0 == n || THERMISTORHEATER_1 == n || THERMISTORHEATER_2 == n || THERMISTORHEATER_3 == n || THERMISTORBED == n) #if ANY_THERMISTOR_IS(1) // 100k bed thermistor const short temptable_1[][2] PROGMEM = { { 23 * OVERSAMPLENR, 300 }, { 25 * OVERSAMPLENR, 295 }, { 27 * OVERSAMPLENR, 290 }, { 28 * OVERSAMPLENR, 285 }, { 31 * OVERSAMPLENR, 280 }, { 33 * OVERSAMPLENR, 275 }, { 35 * OVERSAMPLENR, 270 }, { 38 * OVERSAMPLENR, 265 }, { 41 * OVERSAMPLENR, 260 }, { 44 * OVERSAMPLENR, 255 }, { 48 * OVERSAMPLENR, 250 }, { 52 * OVERSAMPLENR, 245 }, { 56 * OVERSAMPLENR, 240 }, { 61 * OVERSAMPLENR, 235 }, { 66 * OVERSAMPLENR, 230 }, { 71 * OVERSAMPLENR, 225 }, { 78 * OVERSAMPLENR, 220 }, { 84 * OVERSAMPLENR, 215 }, { 92 * OVERSAMPLENR, 210 }, { 100 * OVERSAMPLENR, 205 }, { 109 * OVERSAMPLENR, 200 }, { 120 * OVERSAMPLENR, 195 }, { 131 * OVERSAMPLENR, 190 }, { 143 * OVERSAMPLENR, 185 }, { 156 * OVERSAMPLENR, 180 }, { 171 * OVERSAMPLENR, 175 }, { 187 * OVERSAMPLENR, 170 }, { 205 * OVERSAMPLENR, 165 }, { 224 * OVERSAMPLENR, 160 }, { 245 * OVERSAMPLENR, 155 }, { 268 * OVERSAMPLENR, 150 }, { 293 * OVERSAMPLENR, 145 }, { 320 * OVERSAMPLENR, 140 }, { 348 * OVERSAMPLENR, 135 }, { 379 * OVERSAMPLENR, 130 }, { 411 * OVERSAMPLENR, 125 }, { 445 * OVERSAMPLENR, 120 }, { 480 * OVERSAMPLENR, 115 }, { 516 * OVERSAMPLENR, 110 }, { 553 * OVERSAMPLENR, 105 }, { 591 * OVERSAMPLENR, 100 }, { 628 * OVERSAMPLENR, 95 }, { 665 * OVERSAMPLENR, 90 }, { 702 * OVERSAMPLENR, 85 }, { 737 * OVERSAMPLENR, 80 }, { 770 * OVERSAMPLENR, 75 }, { 801 * OVERSAMPLENR, 70 }, { 830 * OVERSAMPLENR, 65 }, { 857 * OVERSAMPLENR, 60 }, { 881 * OVERSAMPLENR, 55 }, { 903 * OVERSAMPLENR, 50 }, { 922 * OVERSAMPLENR, 45 }, { 939 * OVERSAMPLENR, 40 }, { 954 * OVERSAMPLENR, 35 }, { 966 * OVERSAMPLENR, 30 }, { 977 * OVERSAMPLENR, 25 }, { 985 * OVERSAMPLENR, 20 }, { 993 * OVERSAMPLENR, 15 }, { 999 * OVERSAMPLENR, 10 }, { 1004 * OVERSAMPLENR, 5 }, { 1008 * OVERSAMPLENR, 0 } // safety }; #endif #if ANY_THERMISTOR_IS(2) // 200k bed thermistor // 200k ATC Semitec 204GT-2 // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance const short temptable_2[][2] PROGMEM = { { 1 * OVERSAMPLENR, 848 }, { 30 * OVERSAMPLENR, 300 }, // top rating 300C { 34 * OVERSAMPLENR, 290 }, { 39 * OVERSAMPLENR, 280 }, { 46 * OVERSAMPLENR, 270 }, { 53 * OVERSAMPLENR, 260 }, { 63 * OVERSAMPLENR, 250 }, { 74 * OVERSAMPLENR, 240 }, { 87 * OVERSAMPLENR, 230 }, { 104 * OVERSAMPLENR, 220 }, { 124 * OVERSAMPLENR, 210 }, { 148 * OVERSAMPLENR, 200 }, { 176 * OVERSAMPLENR, 190 }, { 211 * OVERSAMPLENR, 180 }, { 252 * OVERSAMPLENR, 170 }, { 301 * OVERSAMPLENR, 160 }, { 357 * OVERSAMPLENR, 150 }, { 420 * OVERSAMPLENR, 140 }, { 489 * OVERSAMPLENR, 130 }, { 562 * OVERSAMPLENR, 120 }, { 636 * OVERSAMPLENR, 110 }, { 708 * OVERSAMPLENR, 100 }, { 775 * OVERSAMPLENR, 90 }, { 835 * OVERSAMPLENR, 80 }, { 884 * OVERSAMPLENR, 70 }, { 924 * OVERSAMPLENR, 60 }, { 955 * OVERSAMPLENR, 50 }, { 977 * OVERSAMPLENR, 40 }, { 993 * OVERSAMPLENR, 30 }, { 1004 * OVERSAMPLENR, 20 }, { 1012 * OVERSAMPLENR, 10 }, { 1016 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(3) // mendel-parts const short temptable_3[][2] PROGMEM = { { 1 * OVERSAMPLENR, 864 }, { 21 * OVERSAMPLENR, 300 }, { 25 * OVERSAMPLENR, 290 }, { 29 * OVERSAMPLENR, 280 }, { 33 * OVERSAMPLENR, 270 }, { 39 * OVERSAMPLENR, 260 }, { 46 * OVERSAMPLENR, 250 }, { 54 * OVERSAMPLENR, 240 }, { 64 * OVERSAMPLENR, 230 }, { 75 * OVERSAMPLENR, 220 }, { 90 * OVERSAMPLENR, 210 }, { 107 * OVERSAMPLENR, 200 }, { 128 * OVERSAMPLENR, 190 }, { 154 * OVERSAMPLENR, 180 }, { 184 * OVERSAMPLENR, 170 }, { 221 * OVERSAMPLENR, 160 }, { 265 * OVERSAMPLENR, 150 }, { 316 * OVERSAMPLENR, 140 }, { 375 * OVERSAMPLENR, 130 }, { 441 * OVERSAMPLENR, 120 }, { 513 * OVERSAMPLENR, 110 }, { 588 * OVERSAMPLENR, 100 }, { 734 * OVERSAMPLENR, 80 }, { 856 * OVERSAMPLENR, 60 }, { 938 * OVERSAMPLENR, 40 }, { 986 * OVERSAMPLENR, 20 }, { 1008 * OVERSAMPLENR, 0 }, { 1018 * OVERSAMPLENR, -20 } }; #endif #if ANY_THERMISTOR_IS(4) // 10k thermistor const short temptable_4[][2] PROGMEM = { { 1 * OVERSAMPLENR, 430 }, { 54 * OVERSAMPLENR, 137 }, { 107 * OVERSAMPLENR, 107 }, { 160 * OVERSAMPLENR, 91 }, { 213 * OVERSAMPLENR, 80 }, { 266 * OVERSAMPLENR, 71 }, { 319 * OVERSAMPLENR, 64 }, { 372 * OVERSAMPLENR, 57 }, { 425 * OVERSAMPLENR, 51 }, { 478 * OVERSAMPLENR, 46 }, { 531 * OVERSAMPLENR, 41 }, { 584 * OVERSAMPLENR, 35 }, { 637 * OVERSAMPLENR, 30 }, { 690 * OVERSAMPLENR, 25 }, { 743 * OVERSAMPLENR, 20 }, { 796 * OVERSAMPLENR, 14 }, { 849 * OVERSAMPLENR, 7 }, { 902 * OVERSAMPLENR, 0 }, { 955 * OVERSAMPLENR, -11 }, { 1008 * OVERSAMPLENR, -35 } }; #endif #if ANY_THERMISTOR_IS(5) // 100k ParCan thermistor (104GT-2) // ATC Semitec 104GT-2 (Used in ParCan) // Verified by linagee. Source: http://shop.arcol.hu/static/datasheets/thermistors.pdf // Calculated using 4.7kohm pullup, voltage divider math, and manufacturer provided temp/resistance const short temptable_5[][2] PROGMEM = { { 1 * OVERSAMPLENR, 713 }, { 17 * OVERSAMPLENR, 300 }, // top rating 300C { 20 * OVERSAMPLENR, 290 }, { 23 * OVERSAMPLENR, 280 }, { 27 * OVERSAMPLENR, 270 }, { 31 * OVERSAMPLENR, 260 }, { 37 * OVERSAMPLENR, 250 }, { 43 * OVERSAMPLENR, 240 }, { 51 * OVERSAMPLENR, 230 }, { 61 * OVERSAMPLENR, 220 }, { 73 * OVERSAMPLENR, 210 }, { 87 * OVERSAMPLENR, 200 }, { 106 * OVERSAMPLENR, 190 }, { 128 * OVERSAMPLENR, 180 }, { 155 * OVERSAMPLENR, 170 }, { 189 * OVERSAMPLENR, 160 }, { 230 * OVERSAMPLENR, 150 }, { 278 * OVERSAMPLENR, 140 }, { 336 * OVERSAMPLENR, 130 }, { 402 * OVERSAMPLENR, 120 }, { 476 * OVERSAMPLENR, 110 }, { 554 * OVERSAMPLENR, 100 }, { 635 * OVERSAMPLENR, 90 }, { 713 * OVERSAMPLENR, 80 }, { 784 * OVERSAMPLENR, 70 }, { 846 * OVERSAMPLENR, 60 }, { 897 * OVERSAMPLENR, 50 }, { 937 * OVERSAMPLENR, 40 }, { 966 * OVERSAMPLENR, 30 }, { 986 * OVERSAMPLENR, 20 }, { 1000 * OVERSAMPLENR, 10 }, { 1010 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(6) // 100k Epcos thermistor const short temptable_6[][2] PROGMEM = { { 1 * OVERSAMPLENR, 350 }, { 28 * OVERSAMPLENR, 250 }, // top rating 250C { 31 * OVERSAMPLENR, 245 }, { 35 * OVERSAMPLENR, 240 }, { 39 * OVERSAMPLENR, 235 }, { 42 * OVERSAMPLENR, 230 }, { 44 * OVERSAMPLENR, 225 }, { 49 * OVERSAMPLENR, 220 }, { 53 * OVERSAMPLENR, 215 }, { 62 * OVERSAMPLENR, 210 }, { 71 * OVERSAMPLENR, 205 }, // fitted graphically { 78 * OVERSAMPLENR, 200 }, // fitted graphically { 94 * OVERSAMPLENR, 190 }, { 102 * OVERSAMPLENR, 185 }, { 116 * OVERSAMPLENR, 170 }, { 143 * OVERSAMPLENR, 160 }, { 183 * OVERSAMPLENR, 150 }, { 223 * OVERSAMPLENR, 140 }, { 270 * OVERSAMPLENR, 130 }, { 318 * OVERSAMPLENR, 120 }, { 383 * OVERSAMPLENR, 110 }, { 413 * OVERSAMPLENR, 105 }, { 439 * OVERSAMPLENR, 100 }, { 484 * OVERSAMPLENR, 95 }, { 513 * OVERSAMPLENR, 90 }, { 607 * OVERSAMPLENR, 80 }, { 664 * OVERSAMPLENR, 70 }, { 781 * OVERSAMPLENR, 60 }, { 810 * OVERSAMPLENR, 55 }, { 849 * OVERSAMPLENR, 50 }, { 914 * OVERSAMPLENR, 45 }, { 914 * OVERSAMPLENR, 40 }, { 935 * OVERSAMPLENR, 35 }, { 954 * OVERSAMPLENR, 30 }, { 970 * OVERSAMPLENR, 25 }, { 978 * OVERSAMPLENR, 22 }, { 1008 * OVERSAMPLENR, 3 }, { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C }; #endif #if ANY_THERMISTOR_IS(7) // 100k Honeywell 135-104LAG-J01 const short temptable_7[][2] PROGMEM = { { 1 * OVERSAMPLENR, 941 }, { 19 * OVERSAMPLENR, 362 }, { 37 * OVERSAMPLENR, 299 }, // top rating 300C { 55 * OVERSAMPLENR, 266 }, { 73 * OVERSAMPLENR, 245 }, { 91 * OVERSAMPLENR, 229 }, { 109 * OVERSAMPLENR, 216 }, { 127 * OVERSAMPLENR, 206 }, { 145 * OVERSAMPLENR, 197 }, { 163 * OVERSAMPLENR, 190 }, { 181 * OVERSAMPLENR, 183 }, { 199 * OVERSAMPLENR, 177 }, { 217 * OVERSAMPLENR, 171 }, { 235 * OVERSAMPLENR, 166 }, { 253 * OVERSAMPLENR, 162 }, { 271 * OVERSAMPLENR, 157 }, { 289 * OVERSAMPLENR, 153 }, { 307 * OVERSAMPLENR, 149 }, { 325 * OVERSAMPLENR, 146 }, { 343 * OVERSAMPLENR, 142 }, { 361 * OVERSAMPLENR, 139 }, { 379 * OVERSAMPLENR, 135 }, { 397 * OVERSAMPLENR, 132 }, { 415 * OVERSAMPLENR, 129 }, { 433 * OVERSAMPLENR, 126 }, { 451 * OVERSAMPLENR, 123 }, { 469 * OVERSAMPLENR, 121 }, { 487 * OVERSAMPLENR, 118 }, { 505 * OVERSAMPLENR, 115 }, { 523 * OVERSAMPLENR, 112 }, { 541 * OVERSAMPLENR, 110 }, { 559 * OVERSAMPLENR, 107 }, { 577 * OVERSAMPLENR, 105 }, { 595 * OVERSAMPLENR, 102 }, { 613 * OVERSAMPLENR, 99 }, { 631 * OVERSAMPLENR, 97 }, { 649 * OVERSAMPLENR, 94 }, { 667 * OVERSAMPLENR, 92 }, { 685 * OVERSAMPLENR, 89 }, { 703 * OVERSAMPLENR, 86 }, { 721 * OVERSAMPLENR, 84 }, { 739 * OVERSAMPLENR, 81 }, { 757 * OVERSAMPLENR, 78 }, { 775 * OVERSAMPLENR, 75 }, { 793 * OVERSAMPLENR, 72 }, { 811 * OVERSAMPLENR, 69 }, { 829 * OVERSAMPLENR, 66 }, { 847 * OVERSAMPLENR, 62 }, { 865 * OVERSAMPLENR, 59 }, { 883 * OVERSAMPLENR, 55 }, { 901 * OVERSAMPLENR, 51 }, { 919 * OVERSAMPLENR, 46 }, { 937 * OVERSAMPLENR, 41 }, { 955 * OVERSAMPLENR, 35 }, { 973 * OVERSAMPLENR, 27 }, { 991 * OVERSAMPLENR, 17 }, { 1009 * OVERSAMPLENR, 1 }, { 1023 * OVERSAMPLENR, 0 } // to allow internal 0 degrees C }; #endif #if ANY_THERMISTOR_IS(71) // 100k Honeywell 135-104LAF-J01 // R0 = 100000 Ohm // T0 = 25 °C // Beta = 3974 // R1 = 0 Ohm // R2 = 4700 Ohm const short temptable_71[][2] PROGMEM = { { 35 * OVERSAMPLENR, 300 }, { 51 * OVERSAMPLENR, 270 }, { 54 * OVERSAMPLENR, 265 }, { 58 * OVERSAMPLENR, 260 }, { 59 * OVERSAMPLENR, 258 }, { 61 * OVERSAMPLENR, 256 }, { 63 * OVERSAMPLENR, 254 }, { 64 * OVERSAMPLENR, 252 }, { 66 * OVERSAMPLENR, 250 }, { 67 * OVERSAMPLENR, 249 }, { 68 * OVERSAMPLENR, 248 }, { 69 * OVERSAMPLENR, 247 }, { 70 * OVERSAMPLENR, 246 }, { 71 * OVERSAMPLENR, 245 }, { 72 * OVERSAMPLENR, 244 }, { 73 * OVERSAMPLENR, 243 }, { 74 * OVERSAMPLENR, 242 }, { 75 * OVERSAMPLENR, 241 }, { 76 * OVERSAMPLENR, 240 }, { 77 * OVERSAMPLENR, 239 }, { 78 * OVERSAMPLENR, 238 }, { 79 * OVERSAMPLENR, 237 }, { 80 * OVERSAMPLENR, 236 }, { 81 * OVERSAMPLENR, 235 }, { 82 * OVERSAMPLENR, 234 }, { 84 * OVERSAMPLENR, 233 }, { 85 * OVERSAMPLENR, 232 }, { 86 * OVERSAMPLENR, 231 }, { 87 * OVERSAMPLENR, 230 }, { 89 * OVERSAMPLENR, 229 }, { 90 * OVERSAMPLENR, 228 }, { 91 * OVERSAMPLENR, 227 }, { 92 * OVERSAMPLENR, 226 }, { 94 * OVERSAMPLENR, 225 }, { 95 * OVERSAMPLENR, 224 }, { 97 * OVERSAMPLENR, 223 }, { 98 * OVERSAMPLENR, 222 }, { 99 * OVERSAMPLENR, 221 }, { 101 * OVERSAMPLENR, 220 }, { 102 * OVERSAMPLENR, 219 }, { 104 * OVERSAMPLENR, 218 }, { 106 * OVERSAMPLENR, 217 }, { 107 * OVERSAMPLENR, 216 }, { 109 * OVERSAMPLENR, 215 }, { 110 * OVERSAMPLENR, 214 }, { 112 * OVERSAMPLENR, 213 }, { 114 * OVERSAMPLENR, 212 }, { 115 * OVERSAMPLENR, 211 }, { 117 * OVERSAMPLENR, 210 }, { 119 * OVERSAMPLENR, 209 }, { 121 * OVERSAMPLENR, 208 }, { 123 * OVERSAMPLENR, 207 }, { 125 * OVERSAMPLENR, 206 }, { 126 * OVERSAMPLENR, 205 }, { 128 * OVERSAMPLENR, 204 }, { 130 * OVERSAMPLENR, 203 }, { 132 * OVERSAMPLENR, 202 }, { 134 * OVERSAMPLENR, 201 }, { 136 * OVERSAMPLENR, 200 }, { 139 * OVERSAMPLENR, 199 }, { 141 * OVERSAMPLENR, 198 }, { 143 * OVERSAMPLENR, 197 }, { 145 * OVERSAMPLENR, 196 }, { 147 * OVERSAMPLENR, 195 }, { 150 * OVERSAMPLENR, 194 }, { 152 * OVERSAMPLENR, 193 }, { 154 * OVERSAMPLENR, 192 }, { 157 * OVERSAMPLENR, 191 }, { 159 * OVERSAMPLENR, 190 }, { 162 * OVERSAMPLENR, 189 }, { 164 * OVERSAMPLENR, 188 }, { 167 * OVERSAMPLENR, 187 }, { 170 * OVERSAMPLENR, 186 }, { 172 * OVERSAMPLENR, 185 }, { 175 * OVERSAMPLENR, 184 }, { 178 * OVERSAMPLENR, 183 }, { 181 * OVERSAMPLENR, 182 }, { 184 * OVERSAMPLENR, 181 }, { 187 * OVERSAMPLENR, 180 }, { 190 * OVERSAMPLENR, 179 }, { 193 * OVERSAMPLENR, 178 }, { 196 * OVERSAMPLENR, 177 }, { 199 * OVERSAMPLENR, 176 }, { 202 * OVERSAMPLENR, 175 }, { 205 * OVERSAMPLENR, 174 }, { 208 * OVERSAMPLENR, 173 }, { 212 * OVERSAMPLENR, 172 }, { 215 * OVERSAMPLENR, 171 }, { 219 * OVERSAMPLENR, 170 }, { 237 * OVERSAMPLENR, 165 }, { 256 * OVERSAMPLENR, 160 }, { 300 * OVERSAMPLENR, 150 }, { 351 * OVERSAMPLENR, 140 }, { 470 * OVERSAMPLENR, 120 }, { 504 * OVERSAMPLENR, 115 }, { 538 * OVERSAMPLENR, 110 }, { 552 * OVERSAMPLENR, 108 }, { 566 * OVERSAMPLENR, 106 }, { 580 * OVERSAMPLENR, 104 }, { 594 * OVERSAMPLENR, 102 }, { 608 * OVERSAMPLENR, 100 }, { 622 * OVERSAMPLENR, 98 }, { 636 * OVERSAMPLENR, 96 }, { 650 * OVERSAMPLENR, 94 }, { 664 * OVERSAMPLENR, 92 }, { 678 * OVERSAMPLENR, 90 }, { 712 * OVERSAMPLENR, 85 }, { 745 * OVERSAMPLENR, 80 }, { 758 * OVERSAMPLENR, 78 }, { 770 * OVERSAMPLENR, 76 }, { 783 * OVERSAMPLENR, 74 }, { 795 * OVERSAMPLENR, 72 }, { 806 * OVERSAMPLENR, 70 }, { 818 * OVERSAMPLENR, 68 }, { 829 * OVERSAMPLENR, 66 }, { 840 * OVERSAMPLENR, 64 }, { 850 * OVERSAMPLENR, 62 }, { 860 * OVERSAMPLENR, 60 }, { 870 * OVERSAMPLENR, 58 }, { 879 * OVERSAMPLENR, 56 }, { 888 * OVERSAMPLENR, 54 }, { 897 * OVERSAMPLENR, 52 }, { 905 * OVERSAMPLENR, 50 }, { 924 * OVERSAMPLENR, 45 }, { 940 * OVERSAMPLENR, 40 }, { 955 * OVERSAMPLENR, 35 }, { 967 * OVERSAMPLENR, 30 }, { 970 * OVERSAMPLENR, 29 }, { 972 * OVERSAMPLENR, 28 }, { 974 * OVERSAMPLENR, 27 }, { 976 * OVERSAMPLENR, 26 }, { 978 * OVERSAMPLENR, 25 }, { 980 * OVERSAMPLENR, 24 }, { 982 * OVERSAMPLENR, 23 }, { 984 * OVERSAMPLENR, 22 }, { 985 * OVERSAMPLENR, 21 }, { 987 * OVERSAMPLENR, 20 }, { 995 * OVERSAMPLENR, 15 }, { 1001 * OVERSAMPLENR, 10 }, { 1006 * OVERSAMPLENR, 5 }, { 1010 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(8) // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) const short temptable_8[][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 ANY_THERMISTOR_IS(9) // 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup) const short temptable_9[][2] PROGMEM = { { 1 * OVERSAMPLENR, 936 }, { 36 * OVERSAMPLENR, 300 }, { 71 * OVERSAMPLENR, 246 }, { 106 * OVERSAMPLENR, 218 }, { 141 * OVERSAMPLENR, 199 }, { 176 * OVERSAMPLENR, 185 }, { 211 * OVERSAMPLENR, 173 }, { 246 * OVERSAMPLENR, 163 }, { 281 * OVERSAMPLENR, 155 }, { 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, 92 }, { 701 * OVERSAMPLENR, 87 }, { 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 ANY_THERMISTOR_IS(10) // 100k RS thermistor 198-961 (4.7k pullup) const short temptable_10[][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 ANY_THERMISTOR_IS(11) // QU-BD silicone bed QWG-104F-3950 thermistor const short temptable_11[][2] PROGMEM = { { 1 * OVERSAMPLENR, 938 }, { 31 * OVERSAMPLENR, 314 }, { 41 * OVERSAMPLENR, 290 }, { 51 * OVERSAMPLENR, 272 }, { 61 * OVERSAMPLENR, 258 }, { 71 * OVERSAMPLENR, 247 }, { 81 * OVERSAMPLENR, 237 }, { 91 * OVERSAMPLENR, 229 }, { 101 * OVERSAMPLENR, 221 }, { 111 * OVERSAMPLENR, 215 }, { 121 * OVERSAMPLENR, 209 }, { 131 * OVERSAMPLENR, 204 }, { 141 * OVERSAMPLENR, 199 }, { 151 * OVERSAMPLENR, 195 }, { 161 * OVERSAMPLENR, 190 }, { 171 * OVERSAMPLENR, 187 }, { 181 * OVERSAMPLENR, 183 }, { 191 * OVERSAMPLENR, 179 }, { 201 * OVERSAMPLENR, 176 }, { 221 * OVERSAMPLENR, 170 }, { 241 * OVERSAMPLENR, 165 }, { 261 * OVERSAMPLENR, 160 }, { 281 * OVERSAMPLENR, 155 }, { 301 * OVERSAMPLENR, 150 }, { 331 * OVERSAMPLENR, 144 }, { 361 * OVERSAMPLENR, 139 }, { 391 * OVERSAMPLENR, 133 }, { 421 * OVERSAMPLENR, 128 }, { 451 * OVERSAMPLENR, 123 }, { 491 * OVERSAMPLENR, 117 }, { 531 * OVERSAMPLENR, 111 }, { 571 * OVERSAMPLENR, 105 }, { 611 * OVERSAMPLENR, 100 }, { 641 * OVERSAMPLENR, 95 }, { 681 * OVERSAMPLENR, 90 }, { 711 * OVERSAMPLENR, 85 }, { 751 * OVERSAMPLENR, 79 }, { 791 * OVERSAMPLENR, 72 }, { 811 * OVERSAMPLENR, 69 }, { 831 * OVERSAMPLENR, 65 }, { 871 * OVERSAMPLENR, 57 }, { 881 * OVERSAMPLENR, 55 }, { 901 * OVERSAMPLENR, 51 }, { 921 * OVERSAMPLENR, 45 }, { 941 * OVERSAMPLENR, 39 }, { 971 * OVERSAMPLENR, 28 }, { 981 * OVERSAMPLENR, 23 }, { 991 * OVERSAMPLENR, 17 }, { 1001 * OVERSAMPLENR, 9 }, { 1021 * OVERSAMPLENR, -27 } }; #endif #if ANY_THERMISTOR_IS(13) // Hisens thermistor B25/50 =3950 +/-1% const short temptable_13[][2] PROGMEM = { { 20.04 * OVERSAMPLENR, 300 }, { 23.19 * OVERSAMPLENR, 290 }, { 26.71 * OVERSAMPLENR, 280 }, { 31.23 * OVERSAMPLENR, 270 }, { 36.52 * OVERSAMPLENR, 260 }, { 42.75 * OVERSAMPLENR, 250 }, { 50.68 * OVERSAMPLENR, 240 }, { 60.22 * OVERSAMPLENR, 230 }, { 72.03 * OVERSAMPLENR, 220 }, { 86.84 * OVERSAMPLENR, 210 }, { 102.79 * OVERSAMPLENR, 200 }, { 124.46 * OVERSAMPLENR, 190 }, { 151.02 * OVERSAMPLENR, 180 }, { 182.86 * OVERSAMPLENR, 170 }, { 220.72 * OVERSAMPLENR, 160 }, { 316.96 * OVERSAMPLENR, 140 }, { 447.17 * OVERSAMPLENR, 120 }, { 590.61 * OVERSAMPLENR, 100 }, { 737.31 * OVERSAMPLENR, 80 }, { 857.77 * OVERSAMPLENR, 60 }, { 939.52 * OVERSAMPLENR, 40 }, { 986.03 * OVERSAMPLENR, 20 }, { 1008.7 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(20) // PT100 with INA826 amp on Ultimaker v2.0 electronics // The PT100 in the Ultimaker v2.0 electronics has a high sample value for a high temperature. // This does not match the normal thermistor behaviour so we need to set the following defines #if (THERMISTORHEATER_0 == 20) #define HEATER_0_RAW_HI_TEMP 16383 #define HEATER_0_RAW_LO_TEMP 0 #endif #if (THERMISTORHEATER_1 == 20) #define HEATER_1_RAW_HI_TEMP 16383 #define HEATER_1_RAW_LO_TEMP 0 #endif #if (THERMISTORHEATER_2 == 20) #define HEATER_2_RAW_HI_TEMP 16383 #define HEATER_2_RAW_LO_TEMP 0 #endif #if (THERMISTORHEATER_3 == 20) #define HEATER_3_RAW_HI_TEMP 16383 #define HEATER_3_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 ANY_THERMISTOR_IS(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 } }; #endif #if ANY_THERMISTOR_IS(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 } }; #endif #if ANY_THERMISTOR_IS(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_55[][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 } }; #endif #if ANY_THERMISTOR_IS(60) // Maker's Tool Works Kapton Bed Thermistor // ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=3950 // r0: 100000 // t0: 25 // r1: 0 (parallel with rTherm) // r2: 4700 (series with rTherm) // beta: 3950 // min adc: 1 at 0.0048828125 V // max adc: 1023 at 4.9951171875 V const short temptable_60[][2] PROGMEM = { { 51 * OVERSAMPLENR, 272 }, { 61 * OVERSAMPLENR, 258 }, { 71 * OVERSAMPLENR, 247 }, { 81 * OVERSAMPLENR, 237 }, { 91 * OVERSAMPLENR, 229 }, { 101 * OVERSAMPLENR, 221 }, { 131 * OVERSAMPLENR, 204 }, { 161 * OVERSAMPLENR, 190 }, { 191 * OVERSAMPLENR, 179 }, { 231 * OVERSAMPLENR, 167 }, { 271 * OVERSAMPLENR, 157 }, { 311 * OVERSAMPLENR, 148 }, { 351 * OVERSAMPLENR, 140 }, { 381 * OVERSAMPLENR, 135 }, { 411 * OVERSAMPLENR, 130 }, { 441 * OVERSAMPLENR, 125 }, { 451 * OVERSAMPLENR, 123 }, { 461 * OVERSAMPLENR, 122 }, { 471 * OVERSAMPLENR, 120 }, { 481 * OVERSAMPLENR, 119 }, { 491 * OVERSAMPLENR, 117 }, { 501 * OVERSAMPLENR, 116 }, { 511 * OVERSAMPLENR, 114 }, { 521 * OVERSAMPLENR, 113 }, { 531 * OVERSAMPLENR, 111 }, { 541 * OVERSAMPLENR, 110 }, { 551 * OVERSAMPLENR, 108 }, { 561 * OVERSAMPLENR, 107 }, { 571 * OVERSAMPLENR, 105 }, { 581 * OVERSAMPLENR, 104 }, { 591 * OVERSAMPLENR, 102 }, { 601 * OVERSAMPLENR, 101 }, { 611 * OVERSAMPLENR, 100 }, { 621 * OVERSAMPLENR, 98 }, { 631 * OVERSAMPLENR, 97 }, { 641 * OVERSAMPLENR, 95 }, { 651 * OVERSAMPLENR, 94 }, { 661 * OVERSAMPLENR, 92 }, { 671 * OVERSAMPLENR, 91 }, { 681 * OVERSAMPLENR, 90 }, { 691 * OVERSAMPLENR, 88 }, { 701 * OVERSAMPLENR, 87 }, { 711 * OVERSAMPLENR, 85 }, { 721 * OVERSAMPLENR, 84 }, { 731 * OVERSAMPLENR, 82 }, { 741 * OVERSAMPLENR, 81 }, { 751 * OVERSAMPLENR, 79 }, { 761 * OVERSAMPLENR, 77 }, { 771 * OVERSAMPLENR, 76 }, { 781 * OVERSAMPLENR, 74 }, { 791 * OVERSAMPLENR, 72 }, { 801 * OVERSAMPLENR, 71 }, { 811 * OVERSAMPLENR, 69 }, { 821 * OVERSAMPLENR, 67 }, { 831 * OVERSAMPLENR, 65 }, { 841 * OVERSAMPLENR, 63 }, { 851 * OVERSAMPLENR, 62 }, { 861 * OVERSAMPLENR, 60 }, { 871 * OVERSAMPLENR, 57 }, { 881 * OVERSAMPLENR, 55 }, { 891 * OVERSAMPLENR, 53 }, { 901 * OVERSAMPLENR, 51 }, { 911 * OVERSAMPLENR, 48 }, { 921 * OVERSAMPLENR, 45 }, { 931 * OVERSAMPLENR, 42 }, { 941 * OVERSAMPLENR, 39 }, { 951 * OVERSAMPLENR, 36 }, { 961 * OVERSAMPLENR, 32 }, { 981 * OVERSAMPLENR, 23 }, { 991 * OVERSAMPLENR, 17 }, { 1001 * OVERSAMPLENR, 9 }, { 1008 * OVERSAMPLENR, 0 } }; #endif #if ANY_THERMISTOR_IS(66) // DyzeDesign 500°C Thermistor const short temptable_66[][2] PROGMEM = { { 17.5 * OVERSAMPLENR, 850 }, { 17.9 * OVERSAMPLENR, 500 }, { 21.7 * OVERSAMPLENR, 480 }, { 26.6 * OVERSAMPLENR, 460 }, { 33.1 * OVERSAMPLENR, 440 }, { 41.0 * OVERSAMPLENR, 420 }, { 52.3 * OVERSAMPLENR, 400 }, { 67.7 * OVERSAMPLENR, 380 }, { 86.5 * OVERSAMPLENR, 360 }, { 112.0 * OVERSAMPLENR, 340 }, { 147.2 * OVERSAMPLENR, 320 }, { 194.0 * OVERSAMPLENR, 300 }, { 254.3 * OVERSAMPLENR, 280 }, { 330.2 * OVERSAMPLENR, 260 }, { 427.9 * OVERSAMPLENR, 240 }, { 533.4 * OVERSAMPLENR, 220 }, { 646.5 * OVERSAMPLENR, 200 }, { 754.4 * OVERSAMPLENR, 180 }, { 844.3 * OVERSAMPLENR, 160 }, { 911.7 * OVERSAMPLENR, 140 }, { 958.6 * OVERSAMPLENR, 120 }, { 988.8 * OVERSAMPLENR, 100 }, { 1006.6 * OVERSAMPLENR, 80 }, { 1015.8 * OVERSAMPLENR, 60 }, { 1021.3 * OVERSAMPLENR, 30 }, { 1023 * OVERSAMPLENR - 1, 25}, { 1023 * OVERSAMPLENR, 20} }; #endif #if ANY_THERMISTOR_IS(12) // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup) (calibrated for Makibox hot bed) const short temptable_12[][2] PROGMEM = { { 35 * OVERSAMPLENR, 180 }, // top rating 180C { 211 * OVERSAMPLENR, 140 }, { 233 * OVERSAMPLENR, 135 }, { 261 * OVERSAMPLENR, 130 }, { 290 * OVERSAMPLENR, 125 }, { 328 * OVERSAMPLENR, 120 }, { 362 * OVERSAMPLENR, 115 }, { 406 * OVERSAMPLENR, 110 }, { 446 * OVERSAMPLENR, 105 }, { 496 * OVERSAMPLENR, 100 }, { 539 * OVERSAMPLENR, 95 }, { 585 * OVERSAMPLENR, 90 }, { 629 * OVERSAMPLENR, 85 }, { 675 * OVERSAMPLENR, 80 }, { 718 * OVERSAMPLENR, 75 }, { 758 * OVERSAMPLENR, 70 }, { 793 * OVERSAMPLENR, 65 }, { 822 * OVERSAMPLENR, 60 }, { 841 * OVERSAMPLENR, 55 }, { 875 * OVERSAMPLENR, 50 }, { 899 * OVERSAMPLENR, 45 }, { 926 * OVERSAMPLENR, 40 }, { 946 * OVERSAMPLENR, 35 }, { 962 * OVERSAMPLENR, 30 }, { 977 * OVERSAMPLENR, 25 }, { 987 * OVERSAMPLENR, 20 }, { 995 * OVERSAMPLENR, 15 }, { 1001 * OVERSAMPLENR, 10 }, { 1010 * OVERSAMPLENR, 0 }, { 1023 * OVERSAMPLENR, -40 } }; #endif #if ANY_THERMISTOR_IS(70) // bqh2 stock thermistor const short temptable_70[][2] PROGMEM = { { 22 * OVERSAMPLENR, 300 }, { 24 * OVERSAMPLENR, 295 }, { 25 * OVERSAMPLENR, 290 }, { 27 * OVERSAMPLENR, 285 }, { 29 * OVERSAMPLENR, 280 }, { 32 * OVERSAMPLENR, 275 }, { 34 * OVERSAMPLENR, 270 }, { 37 * OVERSAMPLENR, 265 }, { 40 * OVERSAMPLENR, 260 }, { 43 * OVERSAMPLENR, 255 }, { 46 * OVERSAMPLENR, 250 }, { 50 * OVERSAMPLENR, 245 }, { 54 * OVERSAMPLENR, 240 }, { 59 * OVERSAMPLENR, 235 }, { 64 * OVERSAMPLENR, 230 }, { 70 * OVERSAMPLENR, 225 }, { 76 * OVERSAMPLENR, 220 }, { 83 * OVERSAMPLENR, 215 }, { 90 * OVERSAMPLENR, 210 }, { 99 * OVERSAMPLENR, 205 }, { 108 * OVERSAMPLENR, 200 }, { 118 * OVERSAMPLENR, 195 }, { 129 * OVERSAMPLENR, 190 }, { 141 * OVERSAMPLENR, 185 }, { 154 * OVERSAMPLENR, 180 }, { 169 * OVERSAMPLENR, 175 }, { 185 * OVERSAMPLENR, 170 }, { 203 * OVERSAMPLENR, 165 }, { 222 * OVERSAMPLENR, 160 }, { 243 * OVERSAMPLENR, 155 }, { 266 * OVERSAMPLENR, 150 }, { 290 * OVERSAMPLENR, 145 }, { 317 * OVERSAMPLENR, 140 }, { 346 * OVERSAMPLENR, 135 }, { 376 * OVERSAMPLENR, 130 }, { 408 * OVERSAMPLENR, 125 }, { 442 * OVERSAMPLENR, 120 }, { 477 * OVERSAMPLENR, 115 }, { 513 * OVERSAMPLENR, 110 }, { 551 * OVERSAMPLENR, 105 }, { 588 * OVERSAMPLENR, 100 }, { 626 * OVERSAMPLENR, 95 }, { 663 * OVERSAMPLENR, 90 }, { 699 * OVERSAMPLENR, 85 }, { 735 * OVERSAMPLENR, 80 }, { 768 * OVERSAMPLENR, 75 }, { 800 * OVERSAMPLENR, 70 }, { 829 * OVERSAMPLENR, 65 }, { 856 * OVERSAMPLENR, 60 }, { 881 * OVERSAMPLENR, 55 }, { 903 * OVERSAMPLENR, 50 }, { 922 * OVERSAMPLENR, 45 }, { 939 * OVERSAMPLENR, 40 }, { 954 * OVERSAMPLENR, 35 }, { 966 * OVERSAMPLENR, 30 }, { 977 * OVERSAMPLENR, 25 }, { 986 * OVERSAMPLENR, 20 }, { 994 * OVERSAMPLENR, 15 }, { 1000 * OVERSAMPLENR, 10 }, { 1005 * OVERSAMPLENR, 5 }, { 1009 * OVERSAMPLENR, 0 } // safety }; #endif // TABLA PARA EL TERMISTOR DE BQ #if (THERMISTORHEATER_0 == 99) || (THERMISTORHEATER_1 == 99) || (THERMISTORHEATER_2 == 99) || (THERMISTORHEATER_3 == 99) || (THERMISTORBED == 99) //100k bed thermistor const short temptable_99[][2] PROGMEM = { { 22 * OVERSAMPLENR , 300 }, { 24 * OVERSAMPLENR , 295 }, { 25 * OVERSAMPLENR , 290 }, { 27 * OVERSAMPLENR , 285 }, { 29 * OVERSAMPLENR , 280 }, { 32 * OVERSAMPLENR , 275 }, { 34 * OVERSAMPLENR , 270 }, { 37 * OVERSAMPLENR , 265 }, { 40 * OVERSAMPLENR , 260 }, { 43 * OVERSAMPLENR , 255 }, { 46 * OVERSAMPLENR , 250 }, { 50 * OVERSAMPLENR , 245 }, { 54 * OVERSAMPLENR , 240 }, { 59 * OVERSAMPLENR , 235 }, { 64 * OVERSAMPLENR , 230 }, { 70 * OVERSAMPLENR , 225 }, { 76 * OVERSAMPLENR , 220 }, { 83 * OVERSAMPLENR , 215 }, { 90 * OVERSAMPLENR , 210 }, { 99 * OVERSAMPLENR , 205 }, { 108 * OVERSAMPLENR , 200 }, { 118 * OVERSAMPLENR , 195 }, { 129 * OVERSAMPLENR , 190 }, { 141 * OVERSAMPLENR , 185 }, { 154 * OVERSAMPLENR , 180 }, { 169 * OVERSAMPLENR , 175 }, { 185 * OVERSAMPLENR , 170 }, { 203 * OVERSAMPLENR , 165 }, { 222 * OVERSAMPLENR , 160 }, { 243 * OVERSAMPLENR , 155 }, { 266 * OVERSAMPLENR , 150 }, { 290 * OVERSAMPLENR , 145 }, { 317 * OVERSAMPLENR , 140 }, { 346 * OVERSAMPLENR , 135 }, { 376 * OVERSAMPLENR , 130 }, { 408 * OVERSAMPLENR , 125 }, { 442 * OVERSAMPLENR , 120 }, { 477 * OVERSAMPLENR , 115 }, { 513 * OVERSAMPLENR , 110 }, { 551 * OVERSAMPLENR , 105 }, { 588 * OVERSAMPLENR , 100 }, { 626 * OVERSAMPLENR , 95 }, { 663 * OVERSAMPLENR , 90 }, { 699 * OVERSAMPLENR , 85 }, { 735 * OVERSAMPLENR , 80 }, { 768 * OVERSAMPLENR , 75 }, { 800 * OVERSAMPLENR , 70 }, { 829 * OVERSAMPLENR , 65 }, { 856 * OVERSAMPLENR , 60 }, { 881 * OVERSAMPLENR , 55 }, { 903 * OVERSAMPLENR , 50 }, { 922 * OVERSAMPLENR , 45 }, { 939 * OVERSAMPLENR , 40 }, { 954 * OVERSAMPLENR , 35 }, { 966 * OVERSAMPLENR , 30 }, { 977 * OVERSAMPLENR , 25 }, { 986 * OVERSAMPLENR , 20 }, { 994 * OVERSAMPLENR , 15 }, { 1000 * OVERSAMPLENR , 10 }, { 1005 * OVERSAMPLENR , 5 }, { 1009 * OVERSAMPLENR , 0 } //safety }; #endif // Pt1000 and Pt100 handling // // Rt=R0*(1+a*T+b*T*T) [for T>0] // a=3.9083E-3, b=-5.775E-7 #define PtA 3.9083E-3 #define PtB -5.775E-7 #define PtRt(T,R0) ((R0)*(1.0+(PtA)*(T)+(PtB)*(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 }, #if ANY_THERMISTOR_IS(110) // Pt100 with 1k0 pullup const short temptable_110[][2] PROGMEM = { // only few values are needed as the curve is very flat PtLine( 0, 100, 1000) PtLine( 50, 100, 1000) PtLine(100, 100, 1000) PtLine(150, 100, 1000) PtLine(200, 100, 1000) PtLine(250, 100, 1000) PtLine(300, 100, 1000) }; #endif #if ANY_THERMISTOR_IS(147) // Pt100 with 4k7 pullup const short temptable_147[][2] PROGMEM = { // only few values are needed as the curve is very flat PtLine( 0, 100, 4700) PtLine( 50, 100, 4700) PtLine(100, 100, 4700) PtLine(150, 100, 4700) PtLine(200, 100, 4700) PtLine(250, 100, 4700) PtLine(300, 100, 4700) }; #endif #if ANY_THERMISTOR_IS(1010) // Pt1000 with 1k0 pullup const short temptable_1010[][2] PROGMEM = { PtLine( 0, 1000, 1000) PtLine( 25, 1000, 1000) PtLine( 50, 1000, 1000) PtLine( 75, 1000, 1000) PtLine(100, 1000, 1000) PtLine(125, 1000, 1000) PtLine(150, 1000, 1000) PtLine(175, 1000, 1000) PtLine(200, 1000, 1000) PtLine(225, 1000, 1000) PtLine(250, 1000, 1000) PtLine(275, 1000, 1000) PtLine(300, 1000, 1000) }; #endif #if ANY_THERMISTOR_IS(1047) // Pt1000 with 4k7 pullup const short temptable_1047[][2] PROGMEM = { // only few values are needed as the curve is very flat PtLine( 0, 1000, 4700) PtLine( 50, 1000, 4700) PtLine(100, 1000, 4700) PtLine(150, 1000, 4700) PtLine(200, 1000, 4700) PtLine(250, 1000, 4700) PtLine(300, 1000, 4700) }; #endif #if ANY_THERMISTOR_IS(999) // User-defined table // Dummy Thermistor table.. It will ALWAYS read a fixed value. #ifndef DUMMY_THERMISTOR_999_VALUE #define DUMMY_THERMISTOR_999_VALUE 25 #endif const short temptable_999[][2] PROGMEM = { { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE }, { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_999_VALUE } }; #endif #if ANY_THERMISTOR_IS(998) // User-defined table // Dummy Thermistor table.. It will ALWAYS read a fixed value. #ifndef DUMMY_THERMISTOR_998_VALUE #define DUMMY_THERMISTOR_998_VALUE 25 #endif const short temptable_998[][2] PROGMEM = { { 1 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE }, { 1023 * OVERSAMPLENR, DUMMY_THERMISTOR_998_VALUE } }; #endif #define _TT_NAME(_N) temptable_ ## _N #define TT_NAME(_N) _TT_NAME(_N) #ifdef THERMISTORHEATER_0 #define HEATER_0_TEMPTABLE TT_NAME(THERMISTORHEATER_0) #define HEATER_0_TEMPTABLE_LEN COUNT(HEATER_0_TEMPTABLE) #else #ifdef HEATER_0_USES_THERMISTOR #error "No heater 0 thermistor table specified" #else // HEATER_0_USES_THERMISTOR #define HEATER_0_TEMPTABLE NULL #define HEATER_0_TEMPTABLE_LEN 0 #endif // HEATER_0_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_0_RAW_HI_TEMP #ifdef HEATER_0_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_0_RAW_HI_TEMP 0 #define HEATER_0_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_0_RAW_HI_TEMP 16383 #define HEATER_0_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORHEATER_1 #define HEATER_1_TEMPTABLE TT_NAME(THERMISTORHEATER_1) #define HEATER_1_TEMPTABLE_LEN COUNT(HEATER_1_TEMPTABLE) #else #ifdef HEATER_1_USES_THERMISTOR #error "No heater 1 thermistor table specified" #else // HEATER_1_USES_THERMISTOR #define HEATER_1_TEMPTABLE NULL #define HEATER_1_TEMPTABLE_LEN 0 #endif // HEATER_1_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_1_RAW_HI_TEMP #ifdef HEATER_1_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_1_RAW_HI_TEMP 0 #define HEATER_1_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_1_RAW_HI_TEMP 16383 #define HEATER_1_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORHEATER_2 #define HEATER_2_TEMPTABLE TT_NAME(THERMISTORHEATER_2) #define HEATER_2_TEMPTABLE_LEN COUNT(HEATER_2_TEMPTABLE) #else #ifdef HEATER_2_USES_THERMISTOR #error "No heater 2 thermistor table specified" #else // HEATER_2_USES_THERMISTOR #define HEATER_2_TEMPTABLE NULL #define HEATER_2_TEMPTABLE_LEN 0 #endif // HEATER_2_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_2_RAW_HI_TEMP #ifdef HEATER_2_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_2_RAW_HI_TEMP 0 #define HEATER_2_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_2_RAW_HI_TEMP 16383 #define HEATER_2_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORHEATER_3 #define HEATER_3_TEMPTABLE TT_NAME(THERMISTORHEATER_3) #define HEATER_3_TEMPTABLE_LEN COUNT(HEATER_3_TEMPTABLE) #else #ifdef HEATER_3_USES_THERMISTOR #error "No heater 3 thermistor table specified" #else // HEATER_3_USES_THERMISTOR #define HEATER_3_TEMPTABLE NULL #define HEATER_3_TEMPTABLE_LEN 0 #endif // HEATER_3_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_3_RAW_HI_TEMP #ifdef HEATER_3_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_3_RAW_HI_TEMP 0 #define HEATER_3_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_3_RAW_HI_TEMP 16383 #define HEATER_3_RAW_LO_TEMP 0 #endif #endif #ifdef THERMISTORBED #define BEDTEMPTABLE TT_NAME(THERMISTORBED) #define BEDTEMPTABLE_LEN COUNT(BEDTEMPTABLE) #else #ifdef BED_USES_THERMISTOR #error "No bed thermistor table specified" #endif // BED_USES_THERMISTOR #endif // Set the high and low raw values for the heater, this indicates which raw value is a high or low temperature #ifndef HEATER_BED_RAW_HI_TEMP #ifdef BED_USES_THERMISTOR // In case of a thermistor the highest temperature results in the lowest ADC value #define HEATER_BED_RAW_HI_TEMP 0 #define HEATER_BED_RAW_LO_TEMP 16383 #else // In case of an thermocouple the highest temperature results in the highest ADC value #define HEATER_BED_RAW_HI_TEMP 16383 #define HEATER_BED_RAW_LO_TEMP 0 #endif #endif #endif // THERMISTORTABLES_H_
비교하기