• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    deckingman
    last edited by 22 Aug 2020, 16:11

    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

    undefined 1 Reply Last reply 22 Aug 2020, 17:16 Reply Quote 7
    • undefined
      oozeBot
      last edited by 22 Aug 2020, 16:41

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

      1 Reply Last reply Reply Quote 0
      • undefined
        droftarts administrators @deckingman
        last edited by 22 Aug 2020, 17:16

        @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

        undefined 1 Reply Last reply 22 Aug 2020, 17:37 Reply Quote 0
        • undefined
          deckingman @droftarts
          last edited by 22 Aug 2020, 17:37

          @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

          undefined 1 Reply Last reply 22 Aug 2020, 19:02 Reply Quote 1
          • undefined
            dc42 administrators
            last edited by dc42 22 Aug 2020, 18:06

            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

            undefined 2 Replies Last reply 22 Aug 2020, 18:42 Reply Quote 0
            • undefined
              deckingman @dc42
              last edited by 22 Aug 2020, 18:42

              @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
              • undefined
                droftarts administrators @deckingman
                last edited by 22 Aug 2020, 19:02

                @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

                undefined 1 Reply Last reply 22 Aug 2020, 19:18 Reply Quote 0
                • undefined
                  deckingman @dc42
                  last edited by 22 Aug 2020, 19:10

                  @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
                  • undefined
                    T3P3Tony administrators
                    last edited by 22 Aug 2020, 19:15

                    @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

                    undefined 1 Reply Last reply 22 Aug 2020, 19:31 Reply Quote 0
                    • undefined
                      deckingman @droftarts
                      last edited by 22 Aug 2020, 19:18

                      @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
                      • undefined
                        deckingman @T3P3Tony
                        last edited by 22 Aug 2020, 19:31

                        @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

                        undefined 1 Reply Last reply 22 Aug 2020, 21:05 Reply Quote 1
                        • undefined
                          gtj0
                          last edited by 22 Aug 2020, 19:47

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

                          1 Reply Last reply Reply Quote 1
                          • undefined
                            T3P3Tony administrators @deckingman
                            last edited by 22 Aug 2020, 21:05

                            @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
                            • undefined
                              OwenD
                              last edited by 22 Aug 2020, 21:19

                              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
                              3 out of 14
                              • First post
                                3/14
                                Last post
                              Unless otherwise noted, all forum content is licensed under CC-BY-SA