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

    4 axis CNC with single rotary axis on spindle

    Scheduled Pinned Locked Moved
    CNC
    2
    3
    179
    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.
    • Jon vdkundefined
      Jon vdk
      last edited by

      Hello,

      I am currently designing/building a CNC which has the standard 3 cartesian axes (prismatic) xyz, as well as a rotary axis 'a' on the spindle. I am looking to achieve at minimum 3+1 machining hopefully with TCP on the duet.

      Looking through the forum and documentation I am unsure how to define my kinematics or if my kinematics can even be defined. I have looked into the m669 command but am unsure how to use it the C parameter for my application. I have looked briefly at how to add custom kinematics but I'd prefer not to go down that road.

      My kinematics vary only slightly compared to cartesian kinematics: (tool pointed down at 0 angle)
      Xdesired = Xaxis
      Ydesired = Yaxis + sin(A) * L
      Zdesired = Zaxis - cos(A) * L

      Inverted: (always solve for prismatic axes, A angle never to be driven)
      Xaxis = Xdesired
      Yaxis = Ydesired - sin(A)
      Zaxis = Zdesired +cos(A) * L

      If I am not able to achieve TCP in duet I will just change the RepRap fusion 360 post processor to accommodate my kinematics. I most likely have to alter the post processor anyway to achieve 4-axis machining.

      Any help or guidance on how to achieve my goal would be greatly appreciated.
      -Jon
      4axis CNC.png

      1 Reply Last reply Reply Quote 0
      • Jon vdkundefined
        Jon vdk
        last edited by

        An update:

        I have modified the RepRap fusion 360 post processor to allow for my 4th axis with two options to handle 3 + 1 machining. This enables the configuration of my machine to simply think the A axis is a 4th prismatic axis with no rotational kinematics to consider.

        The first option rotates the orientation from the angled tool orientation back to the wcs. This was done so that an easy kinematic configuration on the duet which would just translate the tool according to the given A angle so that the the tip remains in the desired location. The machines kinematics would look like the one described in my above post.

        The second option in the post processor is to both rotate and translate the tool orientation back to the wcs. This uses the selected tools length or an optional input length to calculate the translation required. With this option no transformation or kinematics are needed on the machine. As long as an accurate length from the centre of rotation to the tool tip is known, this should work fine.
        I will post the post processor once I know it works once I complete the build.

        While this option should be able to work currently, it is not optimal. Optimally the machine touches off the tool to determine its z offset which will translate to the length from centre of rotation to the tool tip. With that offset length the duet can handle the kinematics.

        My question to @JoergS5 and @dc42 is how should I approach this? would this be relatively simple to implement if I was to add/modify a src/Movement/Kinematics file? In reality it is a CNC5AC with no C.

        Thank you for your time.

        dc42undefined 1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @Jon vdk
          last edited by

          @Jon-vdk I suggest you take a look at https://github.com/Duet3D/RepRapFirmware/wiki/Adding-New-Kinematics.

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