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

Beta testers for multiple motion system support

Scheduled Pinned Locked Moved
Beta Firmware
21
70
6.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.
  • undefined
    wdenker @dc42
    last edited by 25 Mar 2022, 15:09

    @dc42 I sure would love to! I have a corexyuvab utilizing 4 leadscrews, two independent gantries and heads. Would love this capability.

    www.bd3dcustoms.com | BD3DCUSTOMS Supercube

    1 Reply Last reply Reply Quote 1
    • undefined
      martin7404
      last edited by 25 Mar 2022, 17:20

      @wdenker i am in for this testing.
      I have a machne with 1 x axis and 2 independant Z axis with drilling velocity spindles VFD for simultaneously driling 2 diferent operations

      Muldex IDEX Duet2+Duex5
      Custom CoreXY 600x400 Hemera , Duet3+Toolboard+1HCL closed loop
      Sapphire Pro with Duet2, with closed-loop motors
      custom high temp E3D tool changer with Duet2+Duex

      1 Reply Last reply Reply Quote 1
      • undefined
        GeneRisi @dc42
        last edited by 25 Mar 2022, 23:19

        @dc42 is the memory space too limited with the duet2s ?

        1 Reply Last reply Reply Quote 1
        • undefined
          deckingman @dc42
          last edited by 26 Mar 2022, 00:47

          @dc42 I don't know if my machine would fit your criteria but if you recal, the (6 input) hot end is on the XY gantry, and the 6 extruders run on the UV gantry. I currently use a python script to generate the UV moves such that the extruder gantry (UV) tracks the hot end (XY) but within a tollerance of +/-20mm so the UV moves are always shorter than the XY moves. It wouldn't be too difficult to slice the same part twice - once to generate the XY moves and then a scaled down version to generate the UV moves (although I'd likely have to run a python script to convert the G1 XY moves to G1 UV).
          But if the goal is for the firmware to process two concurrent gcode streams, then I reckon I could test it.

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

          1 Reply Last reply Reply Quote 1
          • undefined
            kazolar @dc42
            last edited by kazolar 26 Mar 2022, 03:32

            @dc42 my machine has 2 gantries with 2 independent heads on each. So as I called before a quad. 2 of the tools can be fully independent of each other, z is shared. If there is a way to synch z moves, this would be a cool project.

            1 Reply Last reply Reply Quote 1
            • undefined
              o_lampe @dc42
              last edited by o_lampe 26 Mar 2022, 06:35

              @dc42 I'd really like to be part of the test-team with my hashprinter. But it runs on @gloomyandy 's branch of RRF.
              If he's part of the dev team or has access to your latest code (and is willing to colaborate) I'd love to test his branch.

              A Duet3 setup with 11-12 stepper drivers is currently not affordable for me. (independent Z-axis would require 4 more steppers)
              As a last straw I would sell the hashprinter (as-is) to someone in EU, who has the knowledge and funds to make it work.
              PM me if you're interested...

              undefined undefined 2 Replies Last reply 26 Mar 2022, 07:18 Reply Quote 1
              • undefined
                JoergS5 @dc42
                last edited by 26 Mar 2022, 06:47

                @dc42 I will participate with two robot arms. Main focus will be collision detection and avoidance and I will help writing needed code.

                1 Reply Last reply Reply Quote 1
                • undefined
                  gloomyandy @o_lampe
                  last edited by 26 Mar 2022, 07:18

                  @o_lampe It looks like the code for this will be on the 3.5-dev repo. I will at some point be picking that code up and providing an STM32 version, so hopefully we will be able to contribute to the testing of this new feature. I usually try to track new developments reasonably closely so hopefully it will be possible to do that again.

                  1 Reply Last reply Reply Quote 4
                  • undefined
                    oliof @o_lampe
                    last edited by 26 Mar 2022, 08:41

                    @o_lampe I have an unused MB6HC and 3HC expansion board I can loan out to you. DM me for details.

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

                    undefined 1 Reply Last reply 26 Mar 2022, 09:13 Reply Quote 1
                    • undefined
                      o_lampe @oliof
                      last edited by 26 Mar 2022, 09:13

                      @oliof That's very kind of you, but I'd need at least three 3HC boards or many other toolboards with 2 drivers per board. 15 drivers in total...

                      undefined 1 Reply Last reply 26 Mar 2022, 09:15 Reply Quote 0
                      • undefined
                        oliof @o_lampe
                        last edited by 26 Mar 2022, 09:15

                        @o_lampe if one other kind soul finds they have a 6HC lying around you'd be set (-:

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

                        undefined 1 Reply Last reply 26 Mar 2022, 09:25 Reply Quote 0
                        • undefined
                          o_lampe @oliof
                          last edited by 26 Mar 2022, 09:25

                          @oliof
                          Jepp, passing the hat is not my style. Unfortunately the shopping list would be alot longer (eg. hotends, direct drive extruders). That's why I proposed to sell my frame.
                          But it's over the top for a dual-motion system anyway. It would need 4 independent Z-axes and then it could work with two tools simultaneously. (then changing tools for perimeter and infill)
                          It's quite a challenge

                          undefined 1 Reply Last reply 26 Mar 2022, 09:26 Reply Quote 0
                          • undefined
                            oliof @o_lampe
                            last edited by 26 Mar 2022, 09:26

                            @o_lampe you are not passing the hat if people propose giving, but I catch your drift. Unfortunately I have neither the funds nor the space for yet another machine, or I´d consider your offer.

                            <>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 1
                            • undefined
                              breed
                              last edited by breed 28 Mar 2022, 08:58

                              Untitled.jpg

                              ive been working on this layout in the background while I finish other printers. should be what you are thinking correct?

                              undefined 1 Reply Last reply 29 Mar 2022, 06:06 Reply Quote 0
                              • undefined
                                o_lampe @breed
                                last edited by 29 Mar 2022, 06:06

                                @breed The critical thing about dual print heads and dual toolheads working simultaneously has always been the z-height. (mesh -leveling etc)
                                Idk if that's already in the scope of @dc42 project, but independent z-motion is the key for succesful multi tool systems.
                                Since you are still in the planning phase, you might consider adding an Z-adjustable toolholder. (I prefer dovetail sliders)

                                David, would you be so kind and tell us the options to drive the independent mini-z axes?
                                Geared DC-encoder motors would be small and strong, but they'd need a supporting toolboard.
                                Steppers would be huge and heavy. Remotely driven, it might be an option, if mesh leveling with backlash-compensation is available.

                                undefined undefined 2 Replies Last reply 29 Mar 2022, 09:05 Reply Quote 0
                                • undefined
                                  dc42 administrators @o_lampe
                                  last edited by dc42 29 Mar 2022, 09:05

                                  @o_lampe wouldn't a Nema 11 or Nema 8 stepper motor with leadscrews be suitable? Although the Nema 8 ones tend to be expensive. https://www.omc-stepperonline.com/linear-motor

                                  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

                                  undefined 1 Reply Last reply 30 Mar 2022, 06:32 Reply Quote 0
                                  • undefined
                                    breed @o_lampe
                                    last edited by breed 29 Mar 2022, 10:51

                                    @o_lampe I haven't gotten near the point of adjustable z on one of the tool heads. I have 2 printers with makertech tilting hotend. They have grub screws for adjusting the heatbreaks, seems to work fine. I was hoping to get this one figured out and together by mrrf, but there are 4 other printers in the que in front of it. Maybe next year. Having automatic z adjustment would be awesome but the weight....I didn't want the common rail double x carriage because of carrying the second x carriage for all the y axis moves. I have an i3 style idex and basically never print mirror or duplicate mode. I def could see a path for simultaneous g code. Printing two different objects would be a useful time saver.

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      o_lampe @dc42
                                      last edited by o_lampe 30 Mar 2022, 06:32

                                      @dc42
                                      It would work, but the weight penalty isn't worth the +/-1mm movement we need for Z-hop and mesh leveling.
                                      Even a small hobby servo with excenter could do this, but their speed isn't controlable. That makes it difficult to move them in sync with XY motion.
                                      So IMHO a dc motor with encoder would be the best option.
                                      A mockup picture of a modified PTFE dovetail slider with dc motor/leadscrew

                                      In a perfect world we'd have access to the heightmap(s)-data and route the z-correction to a device of our choice.

                                      1 Reply Last reply Reply Quote 0
                                      • undefined
                                        bot
                                        last edited by 30 Mar 2022, 16:11

                                        What about shims to adjust hot end Z height? On my printer, I'm able to add shims to the top of the hot end to lower its nozzle's Z height.

                                        *not actually a robot

                                        undefined 1 Reply Last reply 30 Mar 2022, 19:33 Reply Quote 0
                                        • undefined
                                          dc42 administrators @bot
                                          last edited by dc42 30 Mar 2022, 19:33

                                          Thanks for all who have responded. I may be able to provide a first build of RRF with dual motion system by this Friday. This version will have some limitations:

                                          • The two motion systems must share a common Z axis
                                          • Standalone mode only (not SBC mode)
                                          • Resume-after-power fail will not be supported
                                          • Simulation mode may not be supported
                                          • Pause/resume may not be fully implemented
                                          • There will be no attempt to predict collisions between the two print heads, so the GCode commands must avoid potential collisions
                                          • There will be no checking that commands for different motion systems don't attempt to drive the same axis simultaneously
                                          • No mesh bed compensation

                                          It's time to think about preparing GCode files that case use both motion systems. There is some documentation at https://docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems on how the different motion systems are addressed in GCode.

                                          The simplest way to use the two motion systems is probably to load two objects on the build plate in your slicer and space them far enough apart so that they can be printed independently by your two motion systems without collisions. Then change the GCode file produced by the slicer so that the commands for one object are assigned to motion system 0 (by using the M596 P0 command before a block of commands for that motion system) and commands for motion system 1 are assigned to motion system 1 (using M596 P1 before a block of commands for that motion system).

                                          You will need to add a M400 command to sync the motion systems before and after each G1 Z command that does a layer change. Obviously you cannot use Z hop on travel moves. Don't let the blocks of contiguous commands for one motion system get too long, or the other motion system might pause for a short while as it skips the block.

                                          You will need to select one tool for each motion system at the start. One of those tools should map the X and Y axes to the corresponding axes of your second motion system, for example U and V.

                                          In the future I hope we will be able to do the splitting of objects into multiple motion systems either in the slicer, or in a standard post-processing script.

                                          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

                                          undefined 2 Replies Last reply 31 Mar 2022, 06:21 Reply Quote 2
                                          11 out of 70
                                          • First post
                                            11/70
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA