Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Toolhead preheat prior to a tool change.

    Scheduled Pinned Locked Moved
    Firmware wishlist
    11
    28
    2.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dc42undefined
      dc42 administrators
      last edited by

      We plan to implement this on Duet 3, by having 2 readers reading the same GCode file. Reader #1 will do the printing, while reader #2 will run in simulation mode and stay ahead, so that it can tell #1 in advance that a tool heater should be switched to active temperature, or (for a mixing extruder) that the mix should be changed.

      On Duet 2 there probably isn't enough RAM to do this easily, because of the additional DDAs needed to run a simulation in parallel with a real print.

      Cura has a facility to advance tool heating and I believe some users have it working with Duets

      Duet WiFi hardware designer and firmware engineer
      Please do not ask me for Duet support via PM or email, use the forum
      http://www.escher3d.com, https://miscsolutions.wordpress.com

      TechNiundefined hestiahuangundefined 2 Replies Last reply Reply Quote 1
      • fmaundefined
        fma
        last edited by

        Why not just implement a pre-processor, more or less like the simulator, to add the heating G-Code lines? This is something one can do using a Python or Perl script, before sending the G-Code to the Duet, but it should not be difficult to implement it on the Duet itself, and should not need much RAM...

        Frédéric

        dc42undefined 1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @fma
          last edited by

          @fma said in Toolhead preheat prior to a tool change.:

          Why not just implement a pre-processor, more or less like the simulator, to add the heating G-Code lines? This is something one can do using a Python or Perl script, before sending the G-Code to the Duet, but it should not be difficult to implement it on the Duet itself, and should not need much RAM...

          To handle forseeable cases such as needing to advance tool heating by 20 seconds when drawing curved perimeters that take 0.1 seconds per segment of the curve, you would need to buffer up to about 200 moves. That would need too much RAM to do it on the Duet.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • fmaundefined
            fma
            last edited by

            Sorry, I was not clear: I was thinking the pre-processor to really pre-process the file, and add some lines to it (on the SD card) without printing. Then, just run the new file as usual...

            Frédéric

            deckingmanundefined 1 Reply Last reply Reply Quote 0
            • dragonnundefined
              dragonn
              last edited by

              Maybe it would be possible to write a simulator for DuetWebControl so it runs in a browser. This way you could prepare the g-code at upload time by using the computer resources

              1 Reply Last reply Reply Quote 0
              • deckingmanundefined
                deckingman @fma
                last edited by

                @fma said in Toolhead preheat prior to a tool change.:

                Sorry, I was not clear: I was thinking the pre-processor to really pre-process the file, and add some lines to it (on the SD card) without printing. Then, just run the new file as usual...

                That would do - I guess you are thinking of much the same way as I advance the tool change point in the gcode file for colour changes. As you say, a Python script or some such.

                Ian
                https://somei3deas.wordpress.com/
                https://www.youtube.com/@deckingman

                1 Reply Last reply Reply Quote 0
                • TechNiundefined
                  TechNi @dc42
                  last edited by TechNi

                  @dc42 said in Toolhead preheat prior to a tool change.:

                  We plan to implement this on Duet 3, by having 2 readers reading the same GCode file. Reader #1 will do the printing, while reader #2 will run in simulation mode and stay ahead, so that it can tell #1 in advance that a tool heater should be switched to active temperature, or (for a mixing extruder) that the mix should be changed.
                  On Duet 2 there probably isn't enough RAM to do this easily, because of the additional DDAs needed to run a simulation in parallel with a real print.
                  Cura has a facility to advance tool heating and I believe some users have it working with Duets

                  @dc42 Sorry for necroing this thread but was this ever implemented? This would actually be useful since some slicers (like PrusaSlicer) don't pre-heat tools before a toolchange happens.

                  dc42undefined 1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators @TechNi
                    last edited by

                    @techni it's still on the firmware wish list.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    o_lampeundefined 1 Reply Last reply Reply Quote 0
                    • o_lampeundefined
                      o_lampe @dc42
                      last edited by

                      @dc42 I'm glad this old thread popped up. Now I know what you're planning with the multi gcode stream.
                      My hashPrinter will take a while before it could benefit from "printing with two heads" simultaneously.
                      But I'd like to know, if that's also possible then?

                      dc42undefined 1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @o_lampe
                        last edited by

                        @o_lampe yes the intention is to allow printing multiple streams in parallel, with the GCode commands for both streams in the same file, more or less interleaved, and a facility to synchronise the two streams at various points in the file.

                        Duet WiFi hardware designer and firmware engineer
                        Please do not ask me for Duet support via PM or email, use the forum
                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                        deckingmanundefined o_lampeundefined 2 Replies Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman @dc42
                          last edited by deckingman

                          @dc42 said in Toolhead preheat prior to a tool change.:

                          @o_lampe yes the intention is to allow printing multiple streams in parallel, with the GCode commands for both streams in the same file, more or less interleaved, and a facility to synchronise the two streams at various points in the file.

                          David,
                          Would this be a mechanism for advancing the tool change point within a file? I don't know if you recall but we've talked about this in the past. It's a useful way to reduce or even eliminate the need for purging when changing between colours with a mixing hot end. I currently use a post process python script to achieve this but that's a bit of a pain. The ability to "tune" the tool change positional offset "on the fly" would be awesome.

                          EDIT. The ability to have "Tn" acted on within a move would be even more awesome. Currently, my post processing scrip has to segment existing G1 moves in order to get the Tn where it needs to go.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          1 Reply Last reply Reply Quote 0
                          • o_lampeundefined
                            o_lampe @dc42
                            last edited by

                            @dc42 said in Toolhead preheat prior to a tool change.:

                            @o_lampe yes the intention is to allow printing multiple streams in parallel, with the GCode commands for both streams in the same file, more or less interleaved, and a facility to synchronise the two streams at various points in the file.

                            That's really great news and motivates me even more to get it finished.
                            Can I assume there is a solution for multiple (mini) Z-axis in the pipeline, too? Printing with mesh leveling and two or more tools involved wouldn't work convenient without it.

                            My proposal was to use mini Z-axis on each toolholder and apply mesh leveling and Z-hop to them when no Z-value is in the gcode line.
                            When there's a Z-value in the gcode, it's a layer change and will move the main Z-steppers.
                            My favourite mini z-axis would be a small geared DC motor with leadscrew and quadrature encoder, but I could live with a light stepper motor and excenter, too.
                            Maybe it needs a new toolboard, which can drive two motors? (direct drive extruder and mini-Z)

                            1 Reply Last reply Reply Quote 0
                            • hestiahuangundefined
                              hestiahuang @dc42
                              last edited by

                              @dc42 said in Toolhead preheat prior to a tool change.:

                              We plan to implement this on Duet 3, by having 2 readers reading the same GCode file. Reader #1 will do the printing, while reader #2 will run in simulation mode and stay ahead, so that it can tell #1 in advance that a tool heater should be switched to active temperature, or (for a mixing extruder) that the mix should be changed.

                              On Duet 2 there probably isn't enough RAM to do this easily, because of the additional DDAs needed to run a simulation in parallel with a real print.

                              Cura has a facility to advance tool heating and I believe some users have it working with Duets

                              Any good news about this feature? 4 years passed, it should be big improvement for the multiple tools change.

                              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                              • jay_s_ukundefined
                                jay_s_uk @hestiahuang
                                last edited by

                                @hestiahuang it's part of the 3.5b1 release a few weeks back

                                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                hestiahuangundefined 2 Replies Last reply Reply Quote 0
                                • hestiahuangundefined
                                  hestiahuang @jay_s_uk
                                  last edited by

                                  @jay_s_uk said in Toolhead preheat prior to a tool change.:

                                  @hestiahuang it's part of the 3.5b1 release a few weeks back

                                  Really? I may miss the milestone. Thank you so much!

                                  1 Reply Last reply Reply Quote 0
                                  • hestiahuangundefined
                                    hestiahuang @jay_s_uk
                                    last edited by

                                    @jay_s_uk said in Toolhead preheat prior to a tool change.:

                                    @hestiahuang it's part of the 3.5b1 release a few weeks back

                                    Sorry, need to distube you again. I read the change log carefully, however I can't see any description about this part. Any idea about the details of this change?

                                    https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-350beta2-in-preparation
                                    https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-350beta1

                                    o_lampeundefined jay_s_ukundefined 2 Replies Last reply Reply Quote 0
                                    • Rushmere3Dundefined
                                      Rushmere3D
                                      last edited by

                                      There is a 3rd party PrusaSlicer post processor for this if your interested?

                                      Follow my adventures in 3D Printing, laser cutting and electronics. https://linktr.ee/Rushmere3D

                                      1 Reply Last reply Reply Quote 0
                                      • o_lampeundefined
                                        o_lampe @hestiahuang
                                        last edited by

                                        @hestiahuang I proposed to establish a tahead.g macro which runs, as soon as the look ahead planner finds a toolchange.
                                        This could probably be too late, depending on the length of look ahead.
                                        Finding the best solution is way harder, since each line of code can take longer or shorter.
                                        My dual extruders always run at full temperature. Even when a tool is parked. I park the nozzle over a piece of nylon to prevent oozing and purge the tool, when it's reactivated.

                                        hestiahuangundefined 1 Reply Last reply Reply Quote 0
                                        • jay_s_ukundefined
                                          jay_s_uk @hestiahuang
                                          last edited by

                                          @hestiahuang its part of the multiple motion support. https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-350beta1:~:text=[Duet 3 MB6HC] [Duet 3 MB6XD] [Duet 3 Mini] Multiple motion systems are supported. See https%3A//docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems. Caution%3A this feature is experimental and may not be fully working in this release.
                                          there are now 2 gcode streams. however, how a user chooses which gcode stream is used I am unsure of

                                          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                                          o_lampeundefined hestiahuangundefined 3 Replies Last reply Reply Quote 0
                                          • o_lampeundefined
                                            o_lampe @jay_s_uk
                                            last edited by

                                            @jay_s_uk I guess these links won't work 🙂

                                            jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA