The problem is the following, when the heat bed is preheated and I try to run a print job it basically hangs trying to heat the bed that is already in the correct temperature, and it hangs there forever, in a deadlock. How to avoid this situation?
This problem only happens when the bed is already preheated and the print job that I want to run is in the same temperature that the bed currently is.
That is my start g-code, on the Klippy log file you can see what this macro does but it’s fairly simple:
Hi @EddyMI3D, thanks for your reply, i Just added the missing information in the thread, I call this START_PRINT macro every time that I start a print job, its fairly simple macro to just set the bed/extruder temperature and home the machine.
What slicer do you use? Either the slicer token is wrong, or [first_layer_temperature] is set to zero.
You may also upload a gcode file.
Kind reminder: Always add new information to new posts. It makes it more easy for the supporters to follow up. Also use the Preformatted Text feature of the forum editor for code snippets.
An example of g-code file that just triggered this problem: ipad.gcode (988.2 KB)
The temperature is set correctly as far as I can see, but the printer hangs trying to heat the bed that is already in the correct temperature
#heating_gain: 2
# The minimum temperature (in Celsius) that the heater must increase
# by during the check_gain_time check. It is rare to customize this
# value. The default is 2.
I just comment this parameter, and the temperature still keeps a bit high, like always +2 degrees, maybe the PID controller still thinking that the temperature didn’t reach the target so it keeps in a loop trying to get is stable but never really get there, idk…
Here is the log file with roughly 10 minutes after preheating the bed temp to 50 ºC and ask it to run a print job.
I think a possible dirty way to solve this problem is just add a verification on START_PRINT macro that if the current temperature of the bed is already greater or equal than the target it runs M140 command instead of M190, so it does not have to wait for the bed to reaches the target temperature as it already there.