From 827f9ae7923cb80ffa0bb480b53a85e016e4b789 Mon Sep 17 00:00:00 2001 From: discip <53649486+discip@users.noreply.github.com> Date: Mon, 26 Sep 2022 23:42:52 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Pt1000=20with=202k2=20pullup=20(SKR?= =?UTF-8?q?=203=20/=20EZ)=20(#24790)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/Configuration.h | 1 + Marlin/src/lcd/thermistornames.h | 2 + .../src/module/thermistor/thermistor_1022.h | 45 +++++++++++++++++++ Marlin/src/module/thermistor/thermistors.h | 3 ++ 4 files changed, 51 insertions(+) create mode 100644 Marlin/src/module/thermistor/thermistor_1022.h diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index a2370d99d0..1d2542e266 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -518,6 +518,7 @@ * 110 : Pt100 with 1kΩ pullup (atypical) * 147 : Pt100 with 4.7kΩ pullup * 1010 : Pt1000 with 1kΩ pullup (atypical) + * 1022 : Pt1000 with 2.2kΩ pullup * 1047 : Pt1000 with 4.7kΩ pullup (E3D) * 20 : Pt100 with circuit in the Ultimainboard V2.x with mainboard ADC reference voltage = INA826 amplifier-board supply voltage. * NOTE: (1) Must use an ADC input with no pullup. (2) Some INA826 amplifiers are unreliable at 3.3V so consider using sensor 147, 110, or 21. diff --git a/Marlin/src/lcd/thermistornames.h b/Marlin/src/lcd/thermistornames.h index 2571efe075..1b40a8c7d4 100644 --- a/Marlin/src/lcd/thermistornames.h +++ b/Marlin/src/lcd/thermistornames.h @@ -124,6 +124,8 @@ #define THERMISTOR_NAME "ATC104GT-2 1K" #elif THERMISTOR_ID == 1047 #define THERMISTOR_NAME "PT1000 4K7" +#elif THERMISTOR_ID == 1022 + #define THERMISTOR_NAME "PT1000 2K2" #elif THERMISTOR_ID == 1010 #define THERMISTOR_NAME "PT1000 1K" #elif THERMISTOR_ID == 147 diff --git a/Marlin/src/module/thermistor/thermistor_1022.h b/Marlin/src/module/thermistor/thermistor_1022.h new file mode 100644 index 0000000000..1db928fbb8 --- /dev/null +++ b/Marlin/src/module/thermistor/thermistor_1022.h @@ -0,0 +1,45 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2022 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 . + * + */ +#pragma once + +#define REVERSE_TEMP_SENSOR_RANGE_1022 1 + +// Pt1000 with 1k0 pullup +constexpr temp_entry_t temptable_1022[] PROGMEM = { + PtLine( 0, 1000, 2200), + PtLine( 25, 1000, 2200), + PtLine( 50, 1000, 2200), + PtLine( 75, 1000, 2200), + PtLine(100, 1000, 2200), + PtLine(125, 1000, 2200), + PtLine(150, 1000, 2200), + PtLine(175, 1000, 2200), + PtLine(200, 1000, 2200), + PtLine(225, 1000, 2200), + PtLine(250, 1000, 2200), + PtLine(275, 1000, 2200), + PtLine(300, 1000, 2200), + PtLine(350, 1000, 2200), + PtLine(400, 1000, 2200), + PtLine(450, 1000, 2200), + PtLine(500, 1000, 2200) +}; diff --git a/Marlin/src/module/thermistor/thermistors.h b/Marlin/src/module/thermistor/thermistors.h index a38b7f381f..5d89dd3aa9 100644 --- a/Marlin/src/module/thermistor/thermistors.h +++ b/Marlin/src/module/thermistor/thermistors.h @@ -193,6 +193,9 @@ typedef struct { raw_adc_t value; celsius_t celsius; } temp_entry_t; #if ANY_THERMISTOR_IS(1010) // Pt1000 with 1k0 pullup #include "thermistor_1010.h" #endif +#if ANY_THERMISTOR_IS(1022) // Pt1000 with 2k2 pullup + #include "thermistor_1022.h" +#endif #if ANY_THERMISTOR_IS(1047) // Pt1000 with 4k7 pullup #include "thermistor_1047.h" #endif