• 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
    o_lampe
    last edited by 2 Apr 2022, 06:37

    For me it's obvious, that in the future the SBC will play a major role in this.
    I know, it's not in the scope yet, but why not start the project with that in mind?

    If we had a way to merge two gcode files into one SBC-stream, we would also overcome the RAM limitations of Duet2.
    I'm sure the Klipper guys would go that way. I already regret mentioning that, sorry.

    undefined 1 Reply Last reply 3 Apr 2022, 21:15 Reply Quote 0
    • undefined
      oliof
      last edited by oliof 4 Feb 2022, 12:56 2 Apr 2022, 12:55

      I don't see a single threaded non-realtime process (and I don't even want to start consider multiple threads or processes...) being reliably able to emit interleaving gcode that requires cooperation. So I am not sure the SBC will be a help here.

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

      undefined 1 Reply Last reply 3 Apr 2022, 06:30 Reply Quote 0
      • undefined
        o_lampe @oliof
        last edited by 3 Apr 2022, 06:30

        @oliof
        You think of a real-time process, but I believe the pre-processing can take place in such short time, that it's done before the bed is heated.

        I've seen it on my K40 laser: the controller is dumb with no memory. A raster-file or vector-graphics are fully controlled by the PC or a RasPi400 in my case. Although it's written in python, which only uses one CPU-core, it's fast ( upto 500mm/s raster engraving) and reliable.

        undefined 1 Reply Last reply 3 Apr 2022, 12:42 Reply Quote 0
        • undefined
          oliof @o_lampe
          last edited by 3 Apr 2022, 12:42

          @o_lampe slight deviations are not a problem as long as you have a single tool. Coordinated moves from independent streams are another story.

          <>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
          • undefined
            dc42 administrators @o_lampe
            last edited by 3 Apr 2022, 21:15

            @o_lampe we are already planning to use one SBC controlling multiple Duets to implement larger numbers of concurrent motion systems. For example, one SBC controlling two or three Duets, each of which controls two or three motion systems.

            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 2
            • undefined
              wiego
              last edited by 9 May 2022, 12:41

              @dc42 I have built the latest 3.5-dev RRF. M596 is accepted. But I can't get asynchronous motion running. It doesn't start the second (P1) motion system and waits forever.
              What I am trying to do is simply running X and Y asynchronously.

              Could you please provide an example?

              undefined 1 Reply Last reply 9 May 2022, 15:46 Reply Quote 0
              • undefined
                dc42 administrators @wiego
                last edited by 9 May 2022, 15:46

                @wiego unfortunately I had to pause work on multiple motion system support due to other pressing work. The current state is that multiple motion systems won't work in SBC mode, but might work in standalone mode. However, pause and resume will not work because the changes have not been completed.

                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 28 Jun 2022, 08:35 Reply Quote 0
                • undefined
                  Hoops40 @dc42
                  last edited by 28 Jun 2022, 08:35

                  @dc42 was wonder if there is a way to implement a trigger function. This might allow independent z axis.
                  I'm not a programmer so probably asking a stupid question.
                  Thinking if each head has trigger for layer completion to tell the system to send next line of commands to specific head.
                  Mechanical or digital not sure which would be best.
                  Sorry if it's a stupid question.

                  1 Reply Last reply Reply Quote 0
                  • undefined oliof referenced this topic 1 Jul 2022, 09:33
                  • undefined
                    slaughter2k
                    last edited by slaughter2k 7 Jan 2022, 10:51 1 Jul 2022, 10:50

                    @dc42 just to let you know: I am new to Duet3d but not new to mechanics and 3d printing --> I have already built a corexy multi gantry system, will purchase the latest duet 3 board with extension to 11 drivers and install the latest 3.5 beta for testing. It is definitively aimed to run in SBC mode as the printer has to download and start print jobs via firebase cloud triggered via API.
                    Side comment: I raised a question in the general thread regarding "is it possible to let reprap run a complete separate stepper motor in parallel to the print job". If'd get this solved in addition, my dreams coming true 😄
                    01.JPG

                    undefined 1 Reply Last reply 1 Jul 2022, 11:07 Reply Quote 0
                    • undefined
                      dc42 administrators @slaughter2k
                      last edited by dc42 7 Jan 2022, 12:57 1 Jul 2022, 11:07

                      I've updated the preliminary documentation on multiple motion systems at https://docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems.

                      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
                      • undefined
                        slaughter2k
                        last edited by 1 Jul 2022, 12:38

                        is there a special login / permission needed to see this beta documentation? Or are we talking about this one https://docs.duet3d.com/en/User_manual/RepRapFirmware/Multiple_motion_systems

                        I am currently studying this

                        undefined 1 Reply Last reply 1 Jul 2022, 12:57 Reply Quote 0
                        • undefined
                          dc42 administrators @slaughter2k
                          last edited by dc42 7 Jan 2022, 12:58 1 Jul 2022, 12:57

                          @slaughter2k I'm sorry, I accidentally gave the URL of that page that allows editing. Your link is correct.

                          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
                          • undefined
                            slaughter2k
                            last edited by 1 Jul 2022, 13:16

                            no issue...
                            "one" thing I don't fully understand yet from the documentation:
                            "For command streams that originate from file, each motion system uses a separate GCode processor..."
                            --> Is my understanding correct that ...from file... means that the gcode has to be stored on SD card?

                            undefined 1 Reply Last reply 1 Jul 2022, 13:31 Reply Quote 0
                            • undefined
                              dc42 administrators @slaughter2k
                              last edited by 1 Jul 2022, 13:31

                              @slaughter2k yes, to make maximum use of the multiple motion support, you must print from SD card on the Duet, or if using attached SBC then from a file n the SBC. The beta1 release may not support using multiple motion systems when printing from SBC.

                              It's possible to use multiple motion systems when not printing a file, however in this case a single GCode processor is used so it will only possible to move the two motion systems concurrently while both movement queues are not full. Whereas when printing from file, each motion system has its own GCode processor that reads from the file independently of the other one.

                              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
                              • undefined
                                o_lampe
                                last edited by 26 Jul 2022, 07:32

                                I started a discussion about various printer kinematics here.
                                Meshleveling with two tools is still unsolved, but it's worth keeping this option in mind for a future build.

                                undefined 1 Reply Last reply 26 Jul 2022, 17:27 Reply Quote 0
                                • undefined
                                  dc42 administrators @o_lampe
                                  last edited by 26 Jul 2022, 17:27

                                  @o_lampe said in Beta testers for multiple motion system support:

                                  I started a discussion about various printer kinematics here.
                                  Meshleveling with two tools is still unsolved, but it's worth keeping this option in mind for a future build.

                                  Independent mesh levelling requires independent adjustment of Z heights. Unfortunately there is a patent on that in (at least) US and EU. There is another patent on independent motion systems, but I have been told it is US-only.

                                  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 27 Jul 2022, 05:57 Reply Quote 0
                                  • undefined
                                    o_lampe @dc42
                                    last edited by o_lampe 27 Jul 2022, 05:57

                                    @dc42
                                    As it turned out in my thread, there are only two candidates left for independent z-adjustment: dual delta or dual SCARA option.
                                    I don't believe, the patents you mentioned forbid me to build such a printer?
                                    Or is it about a certain software method?

                                    Finding workarounds or improve the patented methods is still an option...
                                    Do you have a link to the patents, please?
                                    THX

                                    undefined undefined 2 Replies Last reply 27 Jul 2022, 06:03 Reply Quote 0
                                    • undefined
                                      oliof @o_lampe
                                      last edited by 27 Jul 2022, 06:03

                                      @o_lampe I don't think those patents necessarily bar you from building a printer with those features yourself, but you may not be allowed to commercially exploit them. I'm not a patent lawyer so this is a random claim on the internet and don't rely on it as legal advice (-:

                                      <>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
                                      • undefined
                                        dc42 administrators @o_lampe
                                        last edited by 27 Jul 2022, 11:23

                                        @o_lampe said in Beta testers for multiple motion system support:

                                        Do you have a link to the patents, please?

                                        Here are links to some relevant patents. There may be others.

                                        https://patents.google.com/patent/US20150231827A1/en
                                        https://patents.google.com/patent/US11086295B2/en
                                        https://patentimages.storage.googleapis.com/dd/95/ae/df14d6ce71d74b/US20200233399A1.pdf
                                        https://patentimages.storage.googleapis.com/dc/d9/a1/69e28a28a70d1e/EP3347190B1.pdf

                                        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

                                        oozeBotundefined 1 Reply Last reply 20 Aug 2022, 11:11 Reply Quote 0
                                        • oozeBotundefined
                                          oozeBot @dc42
                                          last edited by oozeBot 20 Aug 2022, 11:11

                                          @dc42 we have a unique use case that this might solve - or there may be an existing way that you can point us towards. We are interested in using a second extruder as an automatic filament unwinder as we use 10KG spools that put a lot strain on primary extruder.

                                          The idea would be to create another axis (F). It would be simple to have our post-processor duplicate the E commands into F commands like:

                                          G1 X124.761 Y43.556 E2.46118 F2.46118
                                          

                                          That would work, but its not how we want to tackle it. I threw together an algorithm which calculates the amount of filament used per layer and then generates a new command before the layer begins.

                                          ;LAYER_CHANGE
                                          G1 F304.84405
                                          ;Z:0.5
                                          ;HEIGHT:0.5
                                          G1 Z.5 F9600
                                          G10 ; retract
                                          G1 X95.404 Y57.128
                                          G11 ; unretract
                                          ;TYPE:Skirt/Brim
                                          ;WIDTH:0.75
                                          G1 F1440
                                          G1 X102.111 Y45.927 E1.74422
                                          G1 X103.445 Y44.47 E.26393
                                          G1 X105.244 Y43.654 E.26393
                                          G1 X106.339 Y43.531 E.14722
                                          G1 X124.761 Y43.556 E2.46118
                                          G1 X127 Y43.935 E.30343
                                          G1 X128.648 Y44.49 E.23234
                                          G1 X130.206 Y45.262 E.23226
                                          

                                          This would allow the second extruder to advance the next layer's filament at once. This would work as well, but currently, the print would pause while the F-axis "extruded" the next layer's filament.

                                          So our question is, with the new multiple motion system or anything existing, is there a way for commands to be executed out of process from the primary job's gCode stream?

                                          undefined 1 Reply Last reply 20 Aug 2022, 11:20 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA