Welcome! Log In Create A New Profile

Advanced

Temperture limit with commands M104/M109 different from screen limit

Posted by asimov-solensan 
Temperture limit with commands M104/M109 different from screen limit
March 09, 2021 11:07AM
Hello,

I got this problem and I'm unable to find a solution by myself. I want to set up the hotend temperature up to 300 degree but the firmware limits the commands M104 and M109 returning a max temperature of 284. I also cannot run PID for higher temperatures.

But I set the MAXTEMP in the firmware to 320 degree and using the screen I can reach set 305 as expected, 320 an 15 degree overshoot.

This is the serial output when using the screen. I mean the standard LCD screen, not an external TFT.

Recv:  T:15.94 /0.00 B:17.03 /0.00 @:0 B@:0
Recv:  T:16.09 /0.00 B:17.19 /0.00 @:0 B@:0
Recv:  T:16.09 /0.00 B:17.19 /0.00 @:0 B@:0
Recv:  T:15.94 /0.00 B:17.19 /0.00 @:0 B@:0
Recv:  T:16.09 /0.00 B:16.72 /0.00 @:0 B@:0
Recv:  T:17.81 /305.00 B:16.87 /0.00 @:127 B@:0
Recv:  T:17.19 /305.00 B:16.72 /0.00 @:127 B@:0
Recv:  T:17.34 /305.00 B:17.03 /0.00 @:127 B@:0
Recv:  T:18.91 /305.00 B:17.03 /0.00 @:127 B@:0
Recv:  T:21.72 /305.00 B:16.72 /0.00 @:127 B@:0
Recv:  T:24.69 /305.00 B:16.56 /0.00 @:127 B@:0
Recv:  T:27.50 /305.00 B:16.56 /0.00 @:127 B@:0
Recv:  T:31.04 /305.00 B:16.87 /0.00 @:127 B@:0
Recv:  T:35.33 /305.00 B:16.87 /0.00 @:127 B@:0

And here is the output when sending commands thorugh an octopront setup.

2021-03-08 19:06:24,144 - Recv:  T:17.81 /0.00 B:17.34 /0.00 @:0 B@:0
2021-03-08 19:06:26,144 - Recv:  T:17.81 /0.00 B:17.50 /0.00 @:0 B@:0
2021-03-08 19:06:26,462 - Send: M104 S300
2021-03-08 19:06:26,473 - Recv: ok
2021-03-08 19:06:28,144 - Recv:  T:17.97 /284.00 B:17.50 /0.00 @:127 B@:0
2021-03-08 19:06:30,144 - Recv:  T:18.28 /284.00 B:17.34 /0.00 @:127 B@:0
2021-03-08 19:06:32,144 - Recv:  T:19.22 /284.00 B:17.50 /0.00 @:127 B@:0
2021-03-08 19:06:34,144 - Recv:  T:20.62 /284.00 B:17.66 /0.00 @:127 B@:0
2021-03-08 19:06:36,144 - Recv:  T:22.97 /284.00 B:17.66 /0.00 @:127 B@:0
2021-03-08 19:06:38,144 - Recv:  T:25.91 /284.00 B:17.66 /0.00 @:127 B@:0

Send: M109 S300
Recv:  T:18.28 /284.00 B:17.19 /0.00 @:0 B@:0 Wmoody smiley
Recv:  T:18.44 /284.00 B:17.19 /0.00 @:127 B@:0 Wmoody smiley
Recv:  T:18.44 /284.00 B:16.72 /0.00 @:127 B@:0

I'm using marlin 2.0 with an skr1.3 board. I configured the firmware from scratch but I have been unable to find what is causing this.

What's the difference between serial command and using screen? Why are limits different and how do I change this?

Any help is welcome.
Re: Temperture limit with commands M104/M109 different from screen limit
March 09, 2021 06:47PM
from another post I made.

"Further the MAXTEMP is also tied to the thermistor your using

_MIN(thermalManager.heater_maxtemp[e] - HOTEND_OVERSHOOT, ui.material_preset[indh].hotend_temp)

ie it will use the minimum value between the HEATER_0_MAXTEMP-HOTEND_OVERSHOOT and the highest temperature value in the thermistor table you using."

My guess is your thermistor table does not go high enough.
Re: Temperture limit with commands M104/M109 different from screen limit
March 10, 2021 04:09AM
I have the code in another computer, I will check later. But the question is if this affects only to serial input. If you check the attached logs I can reach the expected temperature MAXTEMP - OVERSHOOT only when using the screen.

The real question here is why it is limiting only when using commands.
Re: Temperture limit with commands M104/M109 different from screen limit
March 10, 2021 11:03AM
Ok, I retrieved the code and my old board firmware. And can confirm this happens with Marlin 2.0. Mi old firmware based on 1.1.9 is using the same thermistor table.

Old firmware.
#define TEMP_SENSOR_0 1

Actual firmware.
#define TEMP_SENSOR_0 1

And the old firmware behaves as I expect:

Send: M104 S300
Recv: ok
Recv:  T:20.00 /300.00 B:-15.00 /0.00 @:127 B@:0
Recv:  T:20.00 /300.00 B:-15.00 /0.00 @:127 B@:0
Recv:  T:20.00 /300.00 B:-15.00 /0.00 @:127 B@:0
Recv:  T:20.00 /300.00 B:-15.00 /0.00 @:127 B@:0
Re: Temperture limit with commands M104/M109 different from screen limit
March 10, 2021 01:17PM
Thermistor table 1 stops at 300C in both Marlin 1 and Marlin 2. My guess is that Marlin 2 added code to restrict this for safety reasons. In fact, I'm surprised it doesn't also limit the temperature setting via the LCD. You really need a better thermistor if you want to go all the way up to 300C since there need to be correct values to allow the temperature to exceed 300C for PID to work properly.
Re: Temperture limit with commands M104/M109 different from screen limit
March 10, 2021 02:06PM
Yeeeeeees! Man just yes, thanks a lot.

I changed the configuration to #define TEMP_SENSOR_0 61 (which is similar to mine but reaches higher temperature).

Send: M104 S300
Recv: ok
Recv:  T:28.81 /300.00 B:32.81 /0.00 @:127 B@:0
Recv:  T:28.93 /300.00 B:32.81 /0.00 @:127 B@:0
Recv:  T:29.40 /300.00 B:32.81 /0.00 @:127 B@:0
Recv:  T:30.71 /300.00 B:32.81 /0.00 @:127 B@:0
Recv:  T:32.65 /300.00 B:32.92 /0.00 @:127 B@:0

Indeed marlin 2.0 is applying this limit where 1.x wasn't. I'm buying a couple of new thermistors just right now.

Disclaimer to anyone reading: DO NOT CHANGE "TEMP_SENSOR" ARBITRARILY. THIS WAS A 10 SECONDS TEST. CHANGING THIS MAY BE DANGEROUS.
Sorry, only registered users may post in this forum.

Click here to login