… to save a little bit of time 'til job begins ?!?
At the moment first the bed will be heated up, after it reaches the temperature the extruder will heat. Why this?
It’s wasting quite a lot of time 'till the printing starts.
It can’t not really be a “power-consumption” thing, because in working process there are also both heaters active at the same time?
O.k. if you say so, I saw a useless question (from my side) and maybe a useless answer (from your side) …
So let me refine my question:
Wich OS we’re talking about?
Think this is a procedure wich is controlled by the repetier-software. Should be there such a different in the handling between differente OS’s ?
Myself noticed this with the Linux (Ubuntu 12.04) version of repetier.
This is not a firmware limitation but more a Gcode generation (Slic3r) issue (as this is third party software we cannot change this).
The board is capable of handling 2 kind of heating request:
M104 - Set extruder target temp
M140 - Set bed target temp
and
M109 - Sxxx Wait for extruder current temp to reach target temp. Waits only when heating
M190 - Sxxx Wait for bed current temp to reach target temp. Waits only when heating
Slic3r uses the M109 and M190 commands for safety, so it is sure that all temps have been reached before it starts doing anything else. For the Extruder this is critical!!
For the bed it is a bit overkill surely as it takes a bit longer to heat.
You can manually change the M190 command into a M140 command in the Gcode. This will set the bed temp but it will not wait for the temp to be reached before continuing, like this:
this:
G21 ; set units to millimeters
M107 M190 S50 ; wait for bed temperature to be reached
G28 ; home all axes
G90 ; use absolute coordinates
G21 ; set units to millimeters
G92 E0
M82 ; use absolute distances for extrusion
M109 S190 ; wait for temperature to be reached
…
becomes this:
G21 ; set units to millimeters
M107 M140 S50 ; set bed temperature
G28 ; home all axes
G90 ; use absolute coordinates
G21 ; set units to millimeters
G92 E0
M82 ; use absolute distances for extrusion
M109 S190 ; wait for temperature to be reached
…
Know that the printer will probably print on a colder bed in the beginning. This could lead to some problems.
Thanks a lot for this detailed answer.
It helps me a lot for a better understanding, whats going on.
Just did some manual tests and noticed that the extruder heats up faster than the bed, so I agree with you it could be problematic to modify the gcode 'cause the bed will probably not hot enough when printig starts. So I have a plan “B” : be patient
O.k.
I use my plan “B”: that simply means “be patient and let the software do the job”
If one is in hurry he can even heat up both at the same time manually and then start the printing job, but this forces one to stay near by the printer (a time you can surely use for other things then waiting temperatures reaching the endpoints).
Even if the announced possibilty to read the data from SD-Card will be available, this “time-consumption during heating” will be absolutely obsolete …
What about introducing a little margin for the bed temperature? About 5% would be good I think. If you set the target temperature to 50° it would start printing at >= 47.5°.
I realized that heating from 25° up to ~48° goes fast. But at about 48° the regulation kicks in - probably to prevent overshoots - and the temperature increases much slower.
you can change the bed temperature in the Gcode so it will start faster, after the printer has started you can change the temperature in the manual control field as the bed temp is no longer changed in the Gcode.
In the LCD/SD card module (in development) we have a “preheat” function. This will heat both bed and extruder before you have selected a print job.
Personally I start to heat the bed, when I am preparing the print (slicing…) , so the issue does not hit me so much.
I am currently not at my printer to test the code, but would this code do the job:
M107
M140 S50 ; set bed temperature
G28 ; home all axes
G90 ; use absolute coordinates
G21 ; set units to millimeters
G92 E0
M82 ; use absolute distances for extrusion
M109 S190 ; wait for extruder temperature to be reached
M190 S50 ; wait for bed temperature to be reached
…
When I read it right, this code would start to heat the bed, up to 50 degree, make all other settings, start to heat the extruder until it reaches 190 degree and then wait for the bed. In consequence the print would start, when both target temperatures are reached.
The problem in this case would be, that the extruder stays hot for a longer time. Is this a problem?
I know this is an old post, but I searched for this issue and worked out an easy solution to save precious startup minutes. Modify the Start G-Code to first set the bed (M140), then after homing etc. use a set hotend to 140 (M104 Tx 140 ;x=0 or 1). This starts the hotend at the same time but if the bed is slow to heat, allows it to catch up without cooking or oozing. Then the normal set and wait for the bed (M190) which is a smaller wait now, followed by set and wait for the hotend, which is now only 50-60 degrees of waiting. In practice with a cold bed, I find it reaches 50 degrees about when the hotend reaches 140. For restarting with a half warm bed, it avoids letting the hotend cool unnecessarily.
Why is the temperature of the heat bed not plotted when giving the command M140 S50 before the command to heat the hotend M109 S190. Is there a G-code for this to do.