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

    Continuous rotation axis for "CoreKinematics" machine

    Scheduled Pinned Locked Moved
    Firmware developers
    2
    3
    193
    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.
    • joshuabirdundefined
      joshuabird
      last edited by joshuabird

      Hi all,

      I am interested in specifying a continuous rotation axis for my multi axis machine. It's kinematics is configured using a motor-to-axis matrix in the M669 command (ie. the CoreKinematics class in the code).

      Specifically, I have a rotating bed (axis "C") on my 4 axis printer which I would like to rotate infinitely. Eg. G1 C10 then G C350 should rotate the C axis the "short" way around.

      This has been touched upon a few times in the past:

      1. What’s the best way to set up a continuous rotation for an axis?
      2. U-axis without limit

      However, as far as I can tell, there is no way to configure an axis as a continuous rotation axis.

      Am I missing anything? If not, I am happy to add an extra parameter to the M669 that specifies if an axis should be a continuous rotation axis and sets the IsContinuousRotationAxis function as true for that axis. (Would that be enough to get the desired behaviour?)

      Thanks

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

        @joshuabird Currently, continuous rotation axes are not supported. It has been requested, and there is a feature request on Github: https://github.com/Duet3D/RepRapFirmware/issues/780

        There are some workarounds that allow for a nearly-unlimited axis, but there are various limitations.

        The 'IsContinuousRotationAxis' function currently doesn't support continuous rotation! I think it is implemented for specific kinematics (polar and SCARA) to support their movement, and allow rotational movements beyond the 180 degree boundary. See where it's used in the code here: https://github.com/search?q=repo%3ADuet3D%2FRepRapFirmware IsContinuousRotationAxis&type=code

        Ian

        T3P3 created this issue in Duet3D/RepRapFirmware

        open Support configuring an axis as "continuous rotary" #780

        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
        • joshuabirdundefined
          joshuabird
          last edited by

          Thanks for giving me some context, I might tackle that feature request at some point 🙂

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