Start-Up Temp Control

Post your prints with the GCode used to help other users achieve a similar result, or get help.
Post Reply
Krinje
Prints-a-lot
Posts: 20
Joined: Wed May 27, 2015 12:15 pm

Start-Up Temp Control

Post by Krinje »

So I'm looking for a way to improve my startup Gcode. I have an E3D v6 Hotend and it heats up to temp in maybe a minute, but the bed takes a significant amount of time to reach 80* 20-30+ minutes. What I'd like to do is have the bed reach the target heat and then bring the hotend up to temp. I also have a hunch that this will allow the bed to heat up more quickly too.

Unfortunately M190 will allow M109 to be instructed while 'waiting'

default is:

Code: Select all

M104 S[temperature]
M190 S[bed_temperature]
M109 S[temperature]
G28
I Tried

Code: Select all

M190 S[bed_temperature]
M109 S[temperature]
G28

Code: Select all

M190 S[bed_temperature]
G4 P1000
M109 S[temperature]
G28

Code: Select all

M190 S[bed_temperature]
G28
M109 S[temperature]
G28
But it sees and executes the M109 every time. (out of order from the G instruction as well eg: it will heat, home, home.)

Also, a variation on what I'd like to do is to wait for a user input before printing, Often I'll have a towel or cloth to insulate the bed as it heats, having it home when ready would be signal enough for me to remove the towel and say 'go'

All in all, nothing lost if I can't make it work this way.
IMBoring25
Printmaster!
Posts: 616
Joined: Wed Mar 18, 2015 1:11 am

Re: Start-Up Temp Control

Post by IMBoring25 »

What slicer are you using? The standalone Slic3r has a tooltip on the Start Gcode field (that displays when you hover the mouse over it) that reads, in part:
If Slic3r detects M104 or M190 in your custom codes, such commands will not be prepended automatically so you're free to customize the order of heating commands and other custom actions
The implication is that you need to include M104 and M190 in your start gcode to prevent Slic3r from prepending its own M104 and M190 commands. If you set your hot end temperature using M104 and THEN pass it an M109 command (with or without the temperature specified) to wait until it reaches temperature, Slic3r will not insert the extra M104 and it will do your commands in the desired order. That's how I have my Rostock start gcode configured and it's working for me.

Incidentally, if you're using the same temperature across the board it doesn't matter, but it would technically be more correct to use the [first_layer_bed_temperature] and [first_layer_temperature] variables.

For the waiting for user input, you're going to be sitting by the machine anyway. The way I handle it is to manually set the temperatures that I'll be using (this can be done either in your host software or using the LCD) and launch the print when the temperatures are stabilized, with or without a manual purge and extrudate removal.
Krinje
Prints-a-lot
Posts: 20
Joined: Wed May 27, 2015 12:15 pm

Re: Start-Up Temp Control

Post by Krinje »

I'm using MatterControl w/ matterSlice as the engine. See I though that M104 was specified before M190 for these reasons (if it was an M109 it would heat/wait the hotend and ~then the bed) so that both would heat together and wait for the bed, double check the hotend again with the M109 and be on its way. That's why I figured a simple removal of M104 would produce the results I'm looking for. It does not. Something else must be happening, I'm going to take a peak at the generated Gcode.

Update:
This line:

Code: Select all

M104 T0 S236 ; start heating extruder 1
gets plastered above the other lines if the M104 is removed from the start options.

Code: Select all

M190 S[bed_temperature]
M104 S[temperature]
M109 S[temperature]
G28
Seems to have worked, I'm going to test now. The M104 stops it from being auto-added at the beginning of the script

Update:
Works perfectly. Thanks for the inspiration to tinker with it.
Post Reply

Return to “GCode & Test Prints”