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

    Circles with 3 extra axes.

    Scheduled Pinned Locked Moved Solved
    Gcode meta commands
    3
    5
    264
    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.
    • idcoilgroupundefined
      idcoilgroup
      last edited by

      I have 6 axes in total: XYZ and ABC. I have it configured as follows:

      ; Drives
      M569 P0.0 S1                   
      M569 P0.1 S0                   
      M569 P0.2 S0                    
      M569 P0.3 S1
      M569 P0.4 S1
      M569 P0.5 S0
      
      M584 X0.0 Y0.1 Z0.2      ; set drive mapping XYZ
      M584 A0.3 B0.4 C0.5	 ; set drive mapping ABC
      

      When I try to do this gcode it works:

      G0 X32.5 Y17.5
      G3 X32.5 Y17.5 I0 J20
      

      But when I try the exact same for ABC it doesn't move and instead the XYZ axes move.

      G0 A32.5 B17.5
      G3 A32.5 B17.5 I0 J20
      

      I presume this is because I and J parameters are meant for XY, but as far as I am aware there are no parameters for added axes like mine.

      Is it possible to change the configuration somehow or is it simply undoable?

      Thanks!

      droftartsundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
      • droftartsundefined
        droftarts administrators @idcoilgroup
        last edited by droftarts

        @idcoilgroup There's no command like G17/18/19 (which map arcs to XY/XZ/YZ planes) that lets you map XY arcs to arbitrary axes.

        However, you could try using M563 to map the A and B axes to X and Y. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m563-define-or-remove-a-tool
        Basically, make a new tool with M563, and use the X and Y parameters to map A and B. When you want to do arcs in A and B, change tool, then sending G2/3 with X, Y, I and J, should map to A and B.
        For example, assuming you already have a tool 0:

        M563 P1 X4 Y5 ; define tool 1 with spindle 1
        

        I don't know if this is a 3D printer or CNC machine, so you may have to add extruder drives (D#), heaters (H#), fans (F#), or spindles (R#) to complete the tool.

        Note that:

        X, Y The X and Y mapping option is used to create tools on machines with multiple independent X and/or Y carriages. The additional carriages are set up as axes U, V etc. (see M584) and the X mapping option in M563 defines which carriage or carriages are used. Axes are mapped in the order XYZUVWABC, where X=0, Y=1, Z=2, U=3 etc, not by driver number.

        You have axes XYZABC, so A is the 4th and B is the 5th, hence X4 Y5 in the command above.

        To use the tool, you should be able to send:

        ; Move XY
        T0
        G0 X32.5 Y17.5
        G3 X32.5 Y17.5 I0 J20
        
        ; Move AB
        T1
        G0 X32.5 Y17.5
        G3 X32.5 Y17.5 I0 J20
        

        Let me know if that works.

        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

        idcoilgroupundefined 1 Reply Last reply Reply Quote 0
        • JoergS5undefined
          JoergS5 @idcoilgroup
          last edited by

          @idcoilgroup additionally to Ian's hints I would make clear that ABC are linear axes by specifying the M584 R parameters. ABCD are treated as rotary axes by default. Some calculations are different for linear and rotary axes.

          1 Reply Last reply Reply Quote 0
          • idcoilgroupundefined
            idcoilgroup @droftarts
            last edited by

            @droftarts Thank you for your reply!

            I have tried your solution and while I could not get just the A and B axes mapped, I did manage to do:

            M563 P1 X0:3 Y1:4
            

            Which made them move in sync and worked as expected.

            M563 P1 X3 Y4
            

            This did not work however. The AB axes would not move at all. Using X4 and Y5 also did not have any effect. The axes XYZABC would be numbered 012345 right?

            Anyway, thanks for the reply!

            droftartsundefined 1 Reply Last reply Reply Quote 0
            • idcoilgroupundefined idcoilgroup has marked this topic as solved
            • droftartsundefined
              droftarts administrators @idcoilgroup
              last edited by

              @idcoilgroup you are correct, the axis number should be X0 Y1 Z2 A3 B4 C5, so M563 P1 X3 Y4 should be correct.

              Did you change them to linear axes as @JoergS5 suggested, by adding R0 to the M584 command that creates the ABC axes. Also make sure ABC are homed, and are at an axis position that means they don’t break axis limits set by M208.

              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

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