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

    Independent Dual Gantry - any examples out there?

    Scheduled Pinned Locked Moved
    General Discussion
    8
    21
    2.5k
    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.
    • zrunchoundefined
      zruncho
      last edited by

      Re: independant dual gantry corexy

      I've recently built an independent dual gantry printer. This is not an IDEX; the toolheads are on independent gantries.

      I'm looking for any examples of how to configure it so that, like an IDEX, the toolheads can both share in a single print, by taking turns.

      Any ideas out there, especially @dc42 ?

      There was this thread:
      https://forum.duet3d.com/topic/24258/independant-dual-gantry-corexy/10

      ... but it seemed to die long ago, and the forum encouraged me to create a new thread vs rekindling the old.

      Thanks! I've got a Duet2 WiFi all upgraded to the latest code now, and I'd love to know if/how this is possible.

      droftartsundefined breedundefined 3 Replies Last reply Reply Quote 0
      • zrunchoundefined
        zruncho
        last edited by

        Probably relevant, it's a dual CoreXY setup.

        chrishammundefined zrunchoundefined 2 Replies Last reply Reply Quote 0
        • chrishammundefined
          chrishamm administrators @zruncho
          last edited by

          @zruncho I don't think it is possible yet but it will come in v3.5 - RRF is being changed to support that. We will publish a first beta in a few weeks.

          Duet software engineer

          1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @zruncho
            last edited by

            @zruncho if you mean that you want one tool/gantry to print, then park that tool, then have the second tool/gantry print, yes you can do that. Each axis will need to be set up as a separate axis, eg X, Y, U and V. Each axis pair (X, Y and U, V) and nozzle will need to be set up as a different tool. As most slicers generate Gcode just for X and Y positions, your tools will need to define which axes to use when a particular tool is enabled. This is done in the tool definition M563 using the X and Y parameter. There’s an example of how this is used on IDEX page here: https://docs.duet3d.com/en/User_manual/Machine_configuration/Configuration_IDEX#creating-a-tool-that-uses-more-than-one-carriage-to-print-multiple-copies-of-an-object

            Homing and tool change macros will have to customised, to home the XY and UV axes in opposite corners so the tools don’t clash, and set the tool offsets on tool change.

            I think that covers it in theory! Let us know if you need more specific help setting it up.

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            zrunchoundefined 1 Reply Last reply Reply Quote 0
            • zrunchoundefined
              zruncho @droftarts
              last edited by

              @droftarts

              Thanks... that does seem to cover most of what I'd need for config.

              Should the g-code that the slicer generates then include T0 and T1 commands to trigger the 'tfree*.g'? That's the bit I'm missing here, and maybe it's just that.

              Looks like no g-code postprocessor will be needed here to make use of the second gantry, which is pretty cool. Seems like Duet's been designed for this or something... 🙂

              1 Reply Last reply Reply Quote 0
              • zrunchoundefined
                zruncho @zruncho
                last edited by

                @zruncho

                I got a different message in this thread about the possibility of making a dual gantry work; what missing feature would be needed in RRF 3.5 to enable this?

                Thanks.

                Also, are you aware of any public references to a machine like this? I'll put mine on GitHub soon enough, but curious to see any others. Dual Gantry is a lotta work, but it's definitely an interesting setup if your goal is to learn.

                droftartsundefined 1 Reply Last reply Reply Quote 0
                • droftartsundefined
                  droftarts administrators @zruncho
                  last edited by

                  @zruncho Yes, if you define multiple tools in the slicer, and load a model that needs more than one type of extrusion, the slicer takes care of sending the commands to change tool. When a tool change command is received, the Duet takes over the actual tool change, using whatever has been programmed into the tool change macros. See https://docs.duet3d.com/en/User_manual/Tuning/Tool_changing

                  The development in RRF 3.5 is for independent streams of Gcode, ie you can run two different gcode files at the same time, and cause the different tools to move independently. However, some coordination may be necessary if trying to print two different objects, each with a different tool; the firmware doesn't stop clashes between tools trying to move in the same area (probably best to limit print area of each tool so they can't clash), or synchronising layer changes (not sure how this is going to get dealt with). Fun times!

                  Ian

                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                  zrunchoundefined 2 Replies Last reply Reply Quote 0
                  • zrunchoundefined
                    zruncho @droftarts
                    last edited by

                    @droftarts

                    Interesting. I really don't see how that would be useful without a way to sync Z motion between the two streams. What's the driving use case for that functionality?

                    1 Reply Last reply Reply Quote 0
                    • breedundefined
                      breed @zruncho
                      last edited by

                      @zruncho for a simple single gcode stream idexy it's def possible. I've been working on two designs for a while now but other projects have pushed them back in priority. Remember you are still gonna need a way to adjust z on one head to the other with the probe.

                      zrunchoundefined 1 Reply Last reply Reply Quote 0
                      • breedundefined
                        breed @zruncho
                        last edited by

                        @zruncho would love to see the printer and what belt routings you went with.

                        zrunchoundefined 1 Reply Last reply Reply Quote 1
                        • zrunchoundefined
                          zruncho @breed
                          last edited by

                          @breed

                          On my Hybrid-CoreXY IDEX ("Double Dragon"), I enlarged the toolhead mount holes slightly, then tapped one toolhead into position, using a shared nozzle endstop to precisely measure the Z height difference. Took < 5 m to get < 0.01mm alignment.

                          https://github.com/zruncho3d/double-dragon

                          https://www.youtube.com/watch?v=GY29F2O1unw

                          Gonna do the same thing on the IDG printer, since I know it works...

                          o_lampeundefined 1 Reply Last reply Reply Quote 0
                          • zrunchoundefined
                            zruncho @breed
                            last edited by zruncho

                            @breed

                            I'll share it all on GitHub once I've addressed a few minor items, just like all my other printer mods:

                            https://github.com/zruncho3d/

                            As a teaser, imagine two BoxZero gantries, with one rotated 180 degrees, plus all-custom XY joints so that both gantries can have shared rails.

                            1 Reply Last reply Reply Quote 1
                            • zrunchoundefined
                              zruncho @droftarts
                              last edited by

                              @droftarts

                              On v3.4, I was able to get everything working without issue, from your suggestions. Thanks!

                              It was all pretty straightforward - define a CoreXYUV, map the axes and endstops, and verify it all as a CoreXYUV, first. Then set up to the tools, where the second one maps (U, V) to (X, Y), and ensure they work as expected with T0 and T1, where each of these parks the toolhead.

                              Seems all good... with no pain, surprisingly, so far. I know the XY offset calibration to come will be the bigger pain.

                              1 Reply Last reply Reply Quote 1
                              • oliofundefined
                                oliof
                                last edited by

                                @zruncho super interesting! for someonwhat simplified belt runs, you could look at Dual Wire Gantry / Slid3r kinematics.

                                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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

                                  @zruncho said in Independent Dual Gantry - any examples out there?:

                                  @breed

                                  On my Hybrid-CoreXY IDEX ("Double Dragon"), I enlarged the toolhead mount holes slightly, then tapped one toolhead into position, using a shared nozzle endstop to precisely measure the Z height difference. Took < 5 m to get < 0.01mm alignment.

                                  https://github.com/zruncho3d/double-dragon

                                  https://www.youtube.com/watch?v=GY29F2O1unw

                                  Gonna do the same thing on the IDG printer, since I know it works...

                                  The main culprit about dual independent gcodes is: you can't use mesh leveling.
                                  So, even when you have adjusted both toolheads to same height, your bed needs to be 100% flat and true to the XYUV axes.

                                  I've designed a 4-toolhead printer called the hashPrinter. It's not a CoreXY design, which makes beltpaths short enough to increase the framesize. I can park all tools outside of the printzone, which eliminates the need of most of the endzone dance you described on your Github.
                                  See here for details

                                  zrunchoundefined 1 Reply Last reply Reply Quote 0
                                  • zrunchoundefined
                                    zruncho @o_lampe
                                    last edited by

                                    @o_lampe

                                    Amazing work on that! I hadn't really understood it from skimming the thread, but I watched your video:
                                    https://www.youtube.com/watch?v=Lo-ymCO0Ekw

                                    ... and the great animations made it clear. How did you do them?!?!?

                                    Anyway, I'm personally not too worried about mesh leveling, as all my printers either use a MIC6 bed or glass plate and none require mesh leveling, just bed tramming. A little variance in the first layer is probably OK anyway, especially if using textured beds, with parts that have first-layer chamfers.

                                    re: parking outside - that's an option w/a Dual Gantry too. You can do that with the world's simplest T0/T1 gcodes to move to a parking position:

                                    https://github.com/zruncho3d/DuelingZero/blob/main/Diagrams/workspace_dual_corners.png 0f479fdb-70d8-495e-b7d8-40e5f06cc3f4-image.png

                                    oliofundefined o_lampeundefined 2 Replies Last reply Reply Quote 0
                                    • oliofundefined
                                      oliof @zruncho
                                      last edited by

                                      modern magnetic flex Steel print surfaces are easy to shim too. you can even have differently shimmed sets for different target temperatures.

                                      <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

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

                                        @zruncho said in Independent Dual Gantry - any examples out there?:

                                        ... and the great animations made it clear. How did you do them?!?!?

                                        They're not my work, but a starting point for my design with the anti-racking Aramid wire stuff. I can drive each axis with only one belt, which makes the whole setup very compact and simple.

                                        @oliof I agree, we don't necessarily need mesh leveling, since there is also the option to print a raft first.
                                        But I mainly build prototypes with a little less accuracy, just as a proof of concept. So I'm glad there is some cheat mode available.

                                        ...and there is still no cure against gantry sag, other than mesh leveling. Except building an oversized, but heavy gantry.

                                        1 Reply Last reply Reply Quote 1
                                        • dwuk3dundefined
                                          dwuk3d
                                          last edited by

                                          Appreciate that this is an old post - but I have been recently doing some investigations of dual gantry IDEX printers, and came across this post via the zrucho3d DuelingZero design on github.

                                          I am looking at creating something probably based on a Ratrig VCore4 RMMU IDEX, but with a 2nd IDEX Gantry added.

                                          Looks like with that number of motors and also ideally getting the system to do parallel colour changes on idle extruders that I would need to be looking at Reprap 3.5 at least as the firmware.

                                          Initial ideas in a series of video animations if anyone is interested.

                                          It won't let me post the link as I am new to this forum - but should come up hopefully if you search for 'IDEX Part 3 dual' on youtube.

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

                                            @dwuk I presume the link you were not allowed to post is https://www.youtube.com/watch?v=IhzRKjXgYK4. and the Github link is https://github.com/zruncho3d/DuelingZero.

                                            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

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