Welcome! Log In Create A New Profile

Advanced

How to Increase the maximum temperature setting in Marlin

Posted by cghsuw256 
How to Increase the maximum temperature setting in Marlin
July 03, 2024 04:09AM
Hi, I’m using SKR mini e3 v3 board and Marlin 2.1.x bugfix version. I want to increase the maximum temperature to 395. So I corrected lines 651 and 652 in the configuration.h file to 395, and the following error occurred, so I can’t build it.

====error====
PS C:\Users\user\Documents\Marlin-bugfix-2.1.x> platformio run --silent -e STM32G0B1RE_btt
Marlin\src\inc\Warnings.cpp:706:6: warning: #warning “Motherboard DIAG jumpers must be removed when SENSORLESS_HOMING is disabled. (Define DIAG_JUMPERS_REMOVED to suppress this warning.)” [-Wcpp]
706 | #warning “Motherboard DIAG jumpers must be removed when SENSORLESS_HOMING is disabled. (Define DIAG_JUMPERS_REMOVED to suppress this warning.)”
| ^~~~~~~
In file included from Marlin\src\module../inc/MarlinConfigPre.h:37,
from Marlin\src\module../inc/MarlinConfig.h:28,
from Marlin\src\module../MarlinCore.h:24,
from Marlin\src\module\temperature.cpp:30:
Marlin\src\module\temperature.cpp:302:14: error: static assertion failed: HEATER_0_MAXTEMP (395) is too high for thermistor_1.h with HOTEND_OVERSHOOT=15.
302 | S >= 998 || M <= _MAhot smileyTT_NAME(S)[0].celsius, TT_NAME(S)[COUNT(TT_NAME(S)) - 1].celsius) - (HOTEND_OVERSHOOT),
Marlin\src\module../inc/…/core/macros.h:643:24: note: in definition of macro ‘EVAL1’
643 | #define EVAL1(V…) V
| ^
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:24: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:24: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:30: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:640:24: note: in expansion of macro ‘EVAL4’
640 | #define EVAL8(V…) EVAL4(EVAL4(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:24: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:24: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:24: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:30: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:640:30: note: in expansion of macro ‘EVAL4’
640 | #define EVAL8(V…) EVAL4(EVAL4(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:639:24: note: in expansion of macro ‘EVAL8’
639 | #define EVAL16(V…) EVAL8(EVAL8(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:24: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:24: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:24: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:30: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:640:24: note: in expansion of macro ‘EVAL4’
640 | #define EVAL8(V…) EVAL4(EVAL4(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:24: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:24: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:24: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:642:30: note: in expansion of macro ‘EVAL1’
642 | #define EVAL2(V…) EVAL1(EVAL1(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:641:30: note: in expansion of macro ‘EVAL2’
641 | #define EVAL4(V…) EVAL2(EVAL2(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:640:30: note: in expansion of macro ‘EVAL4’
640 | #define EVAL8(V…) EVAL4(EVAL4(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:639:30: note: in expansion of macro ‘EVAL8’
639 | #define EVAL16(V…) EVAL8(EVAL8(V))
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:630:24: note: in expansion of macro ‘EVAL16’
630 | #define EVAL(V…) EVAL16(V)
| ^~~~~~
Marlin\src\module../inc/…/core/macros.h:689:33: note: in expansion of macro ‘EVAL’
689 | #define REPEAT_S(S,N,OP) EVAL(REPEAT(S,SUB##S(N),OP))
| ^~~~
Marlin\src\module../inc/…/core/macros.h:620:26: note: in expansion of macro 'CHECK_MAXTEMP’
620 | #define THIRD(a,b,c,…) c
| ^
Marlin\src\module../inc/…/core/macros.h:209:29: note: in expansion of macro ‘THIRD’
209 | #define ___TERN(P,V…) THIRD(P,V) // If first argument has a comma, A. Else B.
| ^~~~~
Marlin\src\module../inc/…/core/macros.h:208:29: note: in expansion of macro ‘___TERN’
208 | #define __TERN(T,V…) ___TERN(_CAT(_NO,T),V) // Prepend ‘_NO’ to get ‘_NOT_0’ or ‘_NOT_1’
| ^~~~~~~
Marlin\src\module../inc/…/core/macros.h:207:29: note: in expansion of macro ‘__TERN’
207 | #define _TERN(E,V…) _TERN(CAT(T,E),V) // Prepend 'T’ to get ‘T_0’ or ‘T_1’
| ^~~~~~
Marlin\src\module../inc/…/core/macros.h:203:29: note: in expansion of macro ‘_TERN’
203 | #define TERN(O,A,cool smiley TERN(ENA_1(O),B,A) // OPTION ? ‘A’ : ‘B’
| ^~~~~
Marlin\src\module\temperature.cpp:304:28: note: in expansion of macro ‘TERN’
304 | #define CHECK_MAXTEMP(N) TERN(TEMP_SENSOR##N##IS_THERMISTOR, CHECK_MAXTEMP, CODE_0)(N, HEATER##N##MAXTEMP, TEMP_SENSOR##N)
| ^~~~
Marlin\src\module../inc/…/core/macros.h:674:3: note: in expansion of macro ‘CHECK_MAXTEMP’
674 | _RPT_OP(_RPT_I)
| ^~~~~~~
Marlin\src\module../inc/…/core/macros.h:689:38: note: in expansion of macro ‘_REPEAT’
689 | #define REPEAT_S(S,N,OP) EVAL(_REPEAT(S,SUB##S(N),OP))
| ^~~~~~~
Marlin\src\module../inc/…/core/macros.h:690:33: note: in expansion of macro ‘REPEAT_S’
690 | #define REPEAT(N,OP) REPEAT_S(0,N,OP)
| ^~~~~~~~
Marlin\src\module\temperature.cpp:305:3: note: in expansion of macro ‘REPEAT’
305 | REPEAT(HOTENDS, CHECK_MAXTEMP)
| ^~~~~~
*** [.pio\build\STM32G0B1RE_btt\src\src\module\temperature.cpp.o] Error 1
========================================================================= [FAILED] Took 57.57 seconds =========================================================================

Environment Status Duration

STM32G0B1RE_btt FAILED 00:00:57.568
Re: How to Increase the maximum temperature setting in Marlin
July 03, 2024 07:48AM
You need to use a thermistor type that can handle it

You have set thermistor to type 1 for TEMP_SENSOR_0, this thermistor has a absolute max temperature of 320C also the firmware requires a HOTEND_OVERSHOOT this is set to 15 (don't change this without understanding why it is needed and the consequences)

So the highest HEATER_0_MAXTEMP you can set with that thermistor is 320 - 15 ie 305C

You need to physically upgrade your thermistor and tell marlin about it with a new TEMP_SENSOR_0

Also you need to be aware that PTFE breaks down at higher temperature, and it is toxic! you need a hotend that does not have PTFE in it

"While PTFE is stable at lower temperatures, it begins to deteriorate at temperatures of about 260 °C (500 °F), it decomposes above 350"

Edited 3 time(s). Last edit at 07/03/2024 08:11AM by Dust.
Re: How to Increase the maximum temperature setting in Marlin
July 03, 2024 01:39PM
Can you give me an example of how to do that? Because I have no knowledge of the machine, only the software, so I'm a complete novice in this field.
Re: How to Increase the maximum temperature setting in Marlin
July 04, 2024 02:24AM
You need to find the line "#define TEMP_SENSOR_0 1" In Your Configuration.h file
The 1 means your using type 1 thermistor

You need to get a better thermistor

You need to install that thermistor

You need to update #define TEMP_SENSOR_0 1 and replace the 1 with the new number that represents your thermistor type. (see [github.com]) for the list

Once you have updated the value you then need to compile Marlin and upload the firmware to your controller.


And I repeat, If you have PTFE inside the heated part of your hotend, you can not and must not use that hotend. It will off gas a toxin that will make you sick and kill small animals.

Edited 2 time(s). Last edit at 07/04/2024 03:45AM by Dust.
Sorry, only registered users may post in this forum.

Click here to login