lciscon
Posts: 10
Joined: Sun Jun 08, 2014 10:10 am

Dual Hotends Startup Script

Fri Feb 15, 2019 10:52 am

In the startup script we set the extruder temperature directly so that we can turn off the hot end cooling fan during warm-up and then turn it back on afterwords. Here is what we've been using for a single hot end:

M43 ; turn off cooling fan
M140 S[bed0_temperature]
M109 S[extruder0_temperature] T0
M109 S[bed0_temperature]
M42 ; turn on cooling fan

We're now switching over to a dual hot end system. The way our printer works the hot ends are modular and either one of them may not be installed during a particular print. That allows setting up all sorts of interesting combinations (dual materials, different sizes, different nozzle diameters, etc.). It also allows for quick-restart if a jamb occurs.

So we need to modify this startup script to heat up both printheads. Something like this:

M43 ; turn off cooling fan
M140 S[bed0_temperature]
M109 S[extruder0_temperature] T0
M109 S[extruder1_temperature] T1
M42 ; turn on cooling fan

But if either of the printheads is not installed this errors out in the controller. The correct solution is to check whether the extruder0/extruder1 temperatures need to be set and only try to set it if it is. Something like this:

M43 ; turn off cooling fan
M140 S[bed0_temperature]
{IF [extruder0_temperature]>0} M109 S[extruder0_temperature] T0
{IF [extruder1_temperature]>0} M109 S[extruder1_temperature] T1
M109 S[bed0_temperature]
M42 ; turn on cooling fan

Unfortunately this doesn't seem to work. I'm guessing the IF conditional isn't supported in the startup script???

Any other way to do this?


Thanks.

-larry

Aha
Posts: 64
Joined: Sun Jul 28, 2013 10:58 am

Re: Dual Hotends Startup Script

Sat Mar 16, 2019 8:52 am

I've been trying to do a bunch of things with dual print heads and I'm pretty sure it's not possible.

But the good news is that you can do what you want to do pretty easily - set up multiple profiles. It's an extra step, but not everything is perfectly set to work with an IF statement (and most slicers aren't really good with IFs).

Set one profile that is a single extruder, one that is a multiple one, then switch between them - and personally I think you should start that way anyway rather than complicating things with an if statement.

And if you go modular, you simply select your profile set to each of the material types.

It's much easier management to force you into different profile settings if you're doing multiple extruders to properly slice them then to delve into the gcode each time you change that. Though I definitely understand the utility of what you're trying! And if you're just talking switching to PVA for support or not depending on the print, that could get annoying going back and forth on it.

Are there other applications of it that you're trying that might affect other printers as well? I've been looking at the modular head idea and am quite interested in it myself!

Return to “Feature Requests”