Temp going to zero at tool change



  • I have a SeeMeCNC Artemis that has dual extruders with a single nozzle, the slicer is S3D. For whatever reason when it changes extruders the temp for the new “tool” doesn’t get set resulting in a temp of zero and then of course failure. I made sure the temp settings for both extruders in S3D were correct (both set to 235) but no change. Any thoughts?



  • Hi,

    Do you have two tools defined in DWC?

    Frederick



  • @fcwilt most certainly. Have manually used them each for single extrusion. Also I’ve had one print, a test print, that completed. But I’m not sure how....cause I didn’t change anything. Everything looks correct, as far as I can tell.



  • You have to be sure that it also sets the Standby temperature. It's not in s3d by Default.

    Check the G10 command in the wiki



  • @smoki3 so the standby temp is a must? I don’t even see a standby temp in s3d’s settings. Just have to manually set one via gcode script?



  • So I figured it out. My starting script was breaking things. For single extrusion (tool T0) it looks like this.
    M140 S[bed0_temperature] ; set bed temp no wait
    M104 S[extruder0_temperature] ; set extruder temp no wait
    G28 ; home all
    G1 Z250 Y-140 F6000; Lower nozzle for easy wiping of ooze
    M190 S[bed0_temperature] ; wait for bed temp
    M109 S[extruder0_temperature] ; wait for extruder temp
    That will start warming the bed and hotend and then home, then drop the head to a reachable location in relation to where I'm sitting at my desk. What I had to do was add tool 2 (T1) into the mix for temp setting.
    M140 S[bed0_temperature] ; set bed temp no wait
    M104 T0 S[extruder0_temperature] ; set tool 0 hotend temp no wait
    M104 T1 S[extruder1_temperature] ; set tool 1 hotend temp no wait
    G28 ; home all
    G1 Z250 Y-140 F6000; Lower nozzle for easy wiping of ooze
    M109 T0 S[extruder0_temperature] ; wait for tool 0 hotend temp
    M109 T1 S[extruder1_temperature] ; wait for tool 1 hotend temp
    M190 S[bed0_temperature] ; wait for bed temp
    I just added the last two m109 commands, so I have to test them to confirm they don't mess with anything.... but without them the tool changed happened correctly and I'm currently printing.



  • @guycobb2 For info, I use a mixing hot end so have multiple tools (currently 9). The way I handle it is to use G10 in my start and end scripts. The tools all share a common heater so in my case the active and standby temperatures are the same So at the start I have :
    G10 P1 R190 S190
    G10 P2 R190 S190
    G10 P3 R190 S190
    G10 P4 R190 S190
    G10 P5 R190 S190
    G10 P6 R190 S190
    G10 P7 R190 S190
    G10 P8 R190 S190

    Then at the end I use similar commands but with the R and S parameters set to 0.

    To make it simple for the slicer, I wrap all this stuff inside a macro and simple call the macro from the slicer start script. So my start script just has M98 P"0:/macros/PrePostPrintMacros/PrePrint3CBed50T190". This macro actually does everything from homing to setting the bed and hot end temps (which I disable in the slicer because I don't like the order of the commands that the slicer puts in).



  • @deckingman so you set your temps via a duet macro vs the slicer?



  • @guycobb2 said in Temp going to zero at tool change:

    @deckingman so you set your temps via a duet macro vs the slicer?

    Yes. What my macros actually do is start heating the bed to 40 deg C. When the bed reaches 40, then it starts to heat the bed to print temperature but also calls the homing macro. The homing macro itself pre-heats the nozzle to 140 because I use the nozzle itself as a probe so I need to soften any plastic that might have oozed. Once homing is completed, the macro sets the hot end to print temperature and moves the head to the rear of the bed. Then it waits for all temperatures to reach their set values and performs a nozzle wipe.

    The net result of all that is that homing is completed and the hot end bought up to temperature in the time it takes to heat the bed, but not too long before. It's much easier to do all that via macros which can easily be edited, and simply call the macro from the start script.



  • @guycobb2

    Why do you set the temperatures multiple times?

    Can you not simply set the temps, do those actions that can occur while the temps are rising, wait for the temps and then do the actions that should occur after the temps are stable?

    That works for me.

    And there is a command M116 that by itself will wait for all temperatures to reach their set point, you might find that useful.

    Frederick



  • @fcwilt because if I use m109/m190 first it waits until temps are reached before advancing to any of the rest of my gcode. So it wouldn’t home or lower to my desired position until temp was reached.


  • administrators

    @guycobb2 if you use G10 at the start of your start gcode to set the temperatures, then you can use M116 just before the print starts to ensure they are reached before the print starts.



  • @guycobb2 said in Temp going to zero at tool change:

    @fcwilt because if I use m109/m190 first it waits until temps are reached before advancing to any of the rest of my gcode. So it wouldn’t home or lower to my desired position until temp was reached.

    Hi,

    Please read my post again.

    It should be enough to use M104/M140 ONCE to start the heating processes and then use M116 ONCE where needed to wait for the heating to finish.

    Frederick


  • administrators

    @fcwilt yep, but G10 is preferred 😄



  • @T3P3Tony said in Temp going to zero at tool change:

    @fcwilt yep, but G10 is preferred 😄

    Hmm...

    I don't see anything in the text on G10 that it actually starts the hearing process.

    I just assumed it did what you can do from the DWC where the setting of temperatures is separate from the heater states (off, standby, active).

    Frederick


  • administrators

    @fcwilt G10 sets the temp both as standby and active for the tool it describes. Separately the tool state can be in one of three states, Standby, Active or Off. If it is Off then nothing happens, if it is standby the standby is set, if it is active the active is set.

    That is why G10 is preferred in multiple tool (heater) setups because is explicitly sets those temperatures that are automatically toggled by Tn commands.

    My answer was incomplete however because you do need to start with the tools in at least standby mode. My config.g does this by:
    T3 P0
    T2 P0
    T1 P0
    T0 P0
    T-1 P0

    Which sets all the tools into standby without running any of the tool change macros (which would fail because the axis are not yet homed).

    In @guycobb2 's case its a bit simpler because he has only 2 tools. I was just describing the general case.



  • @T3P3Tony said in Temp going to zero at tool change:

    My answer was incomplete however because you do need to start with the tools in at least standby mode.

    OK using G10 along with the T commands does make sense.

    In reading the docs for G10 the form that allows setting the two temperatures is called out in the list of gcodes as "G10: Tool Offset"

    Perhaps that should be altered to include something about setting of temps.

    G10 certainly does a lot of different things.

    Thanks.

    Frederick


  • administrators

    @fcwilt yes G10 is overloaded a lot.

    The original logic for the temperatures being in G10 along with other offsets is that temperatures are just another offset that is applied to a tool!



  • @T3P3Tony said in Temp going to zero at tool change:

    @fcwilt yes G10 is overloaded a lot.

    The original logic for the temperatures being in G10 along with other offsets is that temperatures are just another offset that is applied to a tool!

    Uh.... OK.... That seems a bit of a stretch. 😉

    Still the documentation of G10 could use a better heading than "Tool Offsets" don't you think?

    Frederick


  • administrators

    @fcwilt indeed:
    https://duet3d.dozuki.com/Wiki/Gcode#Section_G10_Tool_Offset_and_Temperature_Setting

    (yes, i just added the temperature bit to the title!)



  • Thanks much!


Log in to reply