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

    A new trick with my CoreXYUV(AB)

    Scheduled Pinned Locked Moved
    My Duet controlled machine
    7
    14
    503
    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.
    • deckingmanundefined
      deckingman
      last edited by

      Some of you might find this reasonably interesting https://www.youtube.com/watch?v=rOP9QYAlhZU

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

      droftartsundefined 1 Reply Last reply Reply Quote 7
      • oozeBotundefined
        oozeBot
        last edited by

        That's a crazy amount of tech you've built in.. love it!

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

          @deckingman glad you came up with a workaround that works for you. Giving each pair of axes specific commands seems sensible.

          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

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

            @droftarts said in A new trick with my CoreXYUV(AB):

            Giving each pair of axes specific commands seems sensible.

            Kind of sensible but a great deal of caution is required because it would be fairly easy to command a move for either the hot end gantry, or the extruder gantry, such that only one gantry moved. That could tear out the Bowden tubes and/or some of the cables that connect the two together.

            So all the homing files and user macros for things like nozzle wipe, had to be changed to use XYUVAB moves instead of just XY. I also need to change all the jog buttons on DWC to restrict individual axes to say 10mm max. I'll write macros to jog all axes simultaneously.

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

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

              Very nice!

              Are you using the attached Raspberry Pi now? If you are, then you could implement your Python script as an interceptor.

              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 2 Replies Last reply Reply Quote 0
              • deckingmanundefined
                deckingman @dc42
                last edited by

                @dc42 said in A new trick with my CoreXYUV(AB):

                Very nice!

                Are you using the attache Raspberry Pi now? If you are, then you could implement your Python script as an interceptor.

                No. I've been too busy with other stuff to get myself up to speed with the RPi. So it's still bolted to the machine but otherwise not connected.

                That would certainly be a more elegant solution that post processing slicer generated gcodes, but that will have to wait until I get this 6 input hot end working properly.

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

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

                  @deckingman did you see my reply to your other thread? I tested (in the rather limited way I was able to) that you could use a Kinematic solution, where each gantry (ie CoreXY pair of axes) followed a virtual XY for position, but each was individually addressable too. This made all motor settings specific to each gantry, and only used X and Y for coordinated movement. Homing files would need to change a bit, but otherwise would have been much as before, just that you would know exactly the motor settings for each gantry.

                  If you want me to work out the kinematic command for you to try, let me know.

                  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

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

                    @dc42 BTW - I should say that it's thanks to your firmware which does all the heavy lifting, which made this easy.

                    All I have to do is supply absolute coordinates for each of the axes and the firmware takes care of all the calculations to translate those coordinates into relative moves. As well as the step pulse timings to keep all the moves (which may differ in length for each axis) in sync. The more I think about, the more impressive that seems. And I can simply tack any UVA or B parameters onto the end of an existing G1 Xnn Ynn Enn, command in any order. Neat!

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

                    1 Reply Last reply Reply Quote 0
                    • T3P3Tonyundefined
                      T3P3Tony administrators
                      last edited by

                      @deckingman this is very cool to see in action! It would be awesome for the slicer developers to allow you to do this directly. For example specifying an allowed deviation between the XY and UV axis and then move the UV axis just enough to keep within the deviation. So for example, in a circle the UV axis would end up traversing a smaller arc inside the larger arc that the hotend traversed.

                      www.duet3d.com

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

                        @droftarts I did see it but I got lost in your explanation somewhere along the way.
                        I think I'll stick with this solution though - I quite like having the extruder gantry tracking the hot end but with a degree of positional freedom. I'm hoping this will allow me to crank up the acceleration settings without shaking the extruder gantry to bits by not having it doing short zigzag moves.

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

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

                          @T3P3Tony said in A new trick with my CoreXYUV(AB):

                          @deckingman this is very cool to see in action! It would be awesome for the slicer developers to allow you to do this directly. For example specifying an allowed deviation between the XY and UV axis and then move the UV axis just enough to keep within the deviation. So for example, in a circle the UV axis would end up traversing a smaller arc inside the larger arc that the hotend traversed.

                          @T3P3Tony Yes, that would be cool but I can't see it happening - there aren't many crazy old farts like me around that would use it.

                          My "rules" make a very crude motion planning algorithm. The circular part in that video (and any smaller arcs or circles) could have been done by "parking" the extruder gantry in the centre of that circle, where it could have remained static while the hot end described the circular print paths. But I'm not clever enough to write a script which could interpret a gcode file and work out what is an arc and where it's origin is.

                          I'd say the ultimate solution would be some sort of look ahead program running on the SBC which could do all that clever stuff and generate the UVAB moves as a parallel stream. But that's way beyond anything I could do.

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

                          T3P3Tonyundefined 1 Reply Last reply Reply Quote 1
                          • gtj0undefined
                            gtj0
                            last edited by

                            Ian, You and that printer continue to amaze me! Great work!!

                            1 Reply Last reply Reply Quote 1
                            • T3P3Tonyundefined
                              T3P3Tony administrators @deckingman
                              last edited by

                              @deckingman I think the information required to generalise this is easiest gathered by the slicer. You are right that it's a very specific usecase though! Probably a plugin for cura or prusaslicer might be possible but I have not worked with either of those plugin architectures.

                              www.duet3d.com

                              1 Reply Last reply Reply Quote 0
                              • OwenDundefined
                                OwenD
                                last edited by

                                Very cool!
                                I'd just stick your post processor into Prusa Slicer's list and you're done.
                                It's a bit more work in Cura, but on the upside, you could have configurable settings for your "rules" in the GUI.
                                Of course the hours you spend on that could also be spent adding more....
                                Don't know what, just more!

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