in the standard config, the bed heater is started first, so the time saved by your version is only a couple of seconds for the hotend to reach its target temperature. Even more important, the homing command is issued after the bed heating procedure has finished, but before the hotend heater is started, which has the advantage that oozing from the hotend is minimized during warmup.
I’m sorry I don’t agree with you here.
This is the standard start g-code when I downloaded it today:
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
G1 E10 F400 ; prime the nozzle
Note that even the heat for the bed is missing.
When I downloaded the g-code it was like this:
G28 ; home all axes
G90 ; use absolute coordinates
G21 ; set units to millimeters
G92 E0
M82 ; use absolute distances for extrusion
M190 S50 ; wait for temperature to be reached
M109 S190 ; wait for temperature to be reached
G1 E10 F400 ; prime the nozzleThe advantage of adding
M140 S50 ; set bed temperature
M104 S190 ; set hotend temperaturein the beginning of the g-code is that both hotend and bed will start to heat simultaneously.
In the standard code, it will wait until the bed has reached the correct temperature before the hotend starts to warm up.
you’re forgetting the start G-code that Slic3r writes even before the Custom Start G-code is added.
M190 S50 ; wait for bed temperature to be reached
M104 S190 ; set temperatureis part of that code.
Please have a look in a sliced .gcode file if you don’t believe me, e.g. the files available on the website, k8200boardcover.gcode or k8200fannozzle.gcode.
you’re forgetting the start G-code that Slic3r writes even before the Custom Start G-code is added.
M190 S50 ; wait for bed temperature to be reached
M104 S190 ; set temperatureis part of that code, and thus your addition to the Custom code does not have any effect - sorry.
Please have a look in a sliced .gcode file if you don’t believe me, e.g. the files available on the website, k8200boardcover.gcode or k8200fannozzle.gcode.
Cheers,
kuraasu[/quote]
If you hower with your mouse at the start g-code edit textbox in printer settings you find this text:
[quote]This start procedure is inserted at the beginning of the output file, right
after the temperature control commands for extruder and bed. If Slic3r
detects M104 or M190 in your custom codes, such commands will not be
prepended automatically. Note that you can use placeholder variables for
all Slic3r settings, so you can put a “M104 S[first_layer_temperature]”
command wherever you want. (default: G28; home all axes
G1 Z5 F5000; lift nozzle)[/quote]
So adding these lines I suggested prevent Slic3r to add these lines you are saying is still there and let the extruder start to warm up before the bed has reached the correct temperature and this saves time.
I’ve also added that the hotend retracts the filament 15 mm at the end of print and prime the nozzle with 20 mm as last command in start g-code.
This helps the hotend to stop leaking filament when it cools after finished print and will prevent the hotend from oozing during warmup.
yes, you’re right about the replacement of the heating commands. I corrected my post above.
[quote=“Snurre”]I’ve also added that the hotend retracts the filament 15 mm at the end of print and prime the nozzle with 20 mm as last command in start g-code.
This helps the hotend to stop leaking filament when it cools after finished print and will prevent the hotend from oozing during warmup.[/quote]
All experience with the original hotend suggests that you can lower oozing, but never fully prevent it. The heater block has a rather large volume that is still filled with molten material even after a long retract like the one you propose.
About the temperature code, I think there’s still one major flaw, but there could actually be a working solution. You want to use M140 for setting the bed temperature, which starts the heater but doesn’t wait. Usually (in case you didn’t upgrade your heated bed or its power supply), heating will take a few minutes. The other start code will have finished before that, so you would start printing on a bed that’s not at its target temperature. You should either replace M140 with M190, or add another M190 command later in the code. If you think your retract code is a good addition to this, please provide a full example of your modified code.
As suggested by Slic3r’s info text and also discussed in another thread here, it’s a good idea to enter the temperatures in the form of variables, so that the code is usable for different materials without the need to manually correct it every time.
yes, you’re right about the replacement of the heating commands. I corrected my post above.
[quote=“Snurre”]I’ve also added that the hotend retracts the filament 15 mm at the end of print and prime the nozzle with 20 mm as last command in start g-code.
This helps the hotend to stop leaking filament when it cools after finished print and will prevent the hotend from oozing during warmup.[/quote]
All experience with the original hotend suggests that you can lower oozing, but never fully prevent it. The heater block has a rather large volume that is still filled with molten material even after a long retract like the one you propose.
About the temperature code, I think there’s still one major flaw, but there could actually be a working solution. You want to use M140 for setting the bed temperature, which starts the heater but doesn’t wait. Usually (in case you didn’t upgrade your heated bed or its power supply), heating will take a few minutes. The other start code will have finished before that, so you would start printing on a bed that’s not at its target temperature. You should either replace M140 with M190, or add another M190 command later in the code. If you think your retract code is a good addition to this, please provide a full example of your modified code.
As suggested by Slic3r’s info text and also discussed in another thread here, it’s a good idea to enter the temperatures in the form of variables, so that the code is usable for different materials without the need to manually correct it every time.
Cheers,
kuraasu[/quote]
Hi Kuraasu,
It seems that we both agree on the benefits with this set bed temperature without wait and then set the hotend temperature without wait,
then do all other initialization and of course in the end, wait for both hotend and bed temperature to be reached. I here provide my complete
start end code that I use. Observe that I retract the filament in the end procedure and I think this helps a lot with preventing oozing.
After this I haven’t even notice that I have any oozing problem at all.
Start g-code:M140 S[first_layer_bed_temperature]; set bed temperature
M104 S[first_layer_temperature]; set hotend temperature
G28; home all axes
G1 Z10 F200;
G90; use absolute coordinates
G21; set units to millimeters
G92 E0
M82; use absolute distances for extrusion
M190 S[first_layer_bed_temperature]; wait for bed temperature to be reached
M109 S[first_layer_temperature]; wait for extruder temperature to be reached
G1 E20 F400; prime the nozzle
G28 Z0; home z axis
End g-code:G28 X0 Y0; home X and Y axis
G1 E-15 F400; retract extruder to prevent oozing
M104 S0; turn off extruder heating
M140 S0; turn off bed heating
M84; disable motors
Don’t forget to add G92 E0; Set extruder length to zero before G28 Z0; Home Axis.
Because if you prime and going to start print the extruder retract the filament up for E20 and then no filament is coming out.
[quote=“Citystars”]Don’t forget to add G92 E0; Set extruder length to zero before G28 Z0; Home Axis.
Because if you prime and going to start print the extruder retract the filament up for E20 and then no filament is coming out.[/quote]That’s correct. I see in the code that I published that the G92 EO command are a few lines to high. That should definitley be after the priming of the nozzzle.
I run the following G-Code when heating the printer
M190 S50;
M140 S55;
…other settings…
M109 S190
That way the extruder starts heating when the bed hits 50C, and they both reach correct temperature in about the same time. This depends of course on heating times and start temperature. I will fine tune the settings a bit more later, anyway a neat trick that saves both time and energy.
Tested with Cura, but it should work regardless of program.
i think the reason why the 2 elements start heating separately is the limite of the power supply !
if you heat the heat bed and the extruder at the same time , the current that flows in the heat bed will be less. so it will take more time to reach the temperature …
the same for the extruder
or it will just sink more current from the power supply, and this can destroy your power supply