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

    Rotary 4th axis rollover on 360, G93, macros

    Scheduled Pinned Locked Moved
    Firmware wishlist
    5
    18
    1.1k
    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.
    • MRobundefined
      MRob
      last edited by

      Hi! Looking to build myself a CNC machine dedicated to 4th axis milling (very detailed carving work) . Am using UCCNC on my current rig but would prefer to unshackle myself from a standalone PC acting as controller. A few questions then...

      • When adding a 4th axis, a feature in UCCNC which is REALLY useful for me is roll over on 360deg, so when it hits 360 it just goes to 0 and starts counting up again, or -10 becomes 350 etc. Is there any way to do this in reprap? I run very long programs with thousands of turns, and would like to go full mill/turn with re-homing A after each rough turning operation....

      • Second, just to check, will g93 commands play nicely with a rotary axis? I know that it is excluded from normal feedrate calculations but not sure about the inverse time variety...

      • Final question, just to check, in mach3 and UCCNC you can create fully programmable macros, mach using a variant of VB and UCCNC with c#. From what I can see, duet/reprap macros are limited to pure g-code, is this correct?

      Thanks for your time!

      o_lampeundefined T3P3Tonyundefined 2 Replies Last reply Reply Quote 0
      • o_lampeundefined
        o_lampe @MRob
        last edited by o_lampe

        @mrob said in Rotary 4th axis rollover on 360, G93, macros:

        will g93 commands play nicely with a rotary axis?

        What is G93? It's not listed

        duet/reprap macros are limited to pure g-code, is this correct?

        With RRF3.3 we have meta commands, similar to a basic programming language.
        We are still missing arrays and permanent variables but rrf3.4 is at the horizon

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

          @mrob

          Currently rotary axis in RRF do not have a "continuous" rotation mode where they will roll over 0>360 etc. It is on the list to add, so i have moved this topic the firmware Wishlist category. I think release 3.5 would be the earliest we could look at this.

          G93 is not not currently a command supported by RRF Can you provide more information about how this is useful for your application.

          As @o_lampe has already said it is possible to use meta commands to achieve some level of scripting within gcode itself. See https://duet3d.dozuki.com/Wiki/GCode_Meta_Commands for more information.

          www.duet3d.com

          MRobundefined 1 Reply Last reply Reply Quote 0
          • MRobundefined
            MRob @T3P3Tony
            last edited by

            Thanks for the replies!

            G93 is inverse time feedrate, for some reason I had it in my head that this was supported in RR. It is useful / necessary for rotary movement because, rather than defining the speed at which a move should take place, it gives a value for how long it should take to do the move. Obviously distance moved on a rotary axis depends on distance of the tool head from the axis of rotation, so deg/minute is not very helpful. G93 moves allow for a continuous speed of motion over the surface of the rotary piece, with the time for each move calculated in post, for my by Fusion 360. Since I do lots of detailed carving, I wont be able to use Duet without this feature, a real shame.

            Great to hear you're looking to implement rollover on 360 though, and I'll look into meta commands, sounds good.

            Have to say, I'm really impressed with the speed at which duet and RR are evolving, even if you dont have all my wishlist features yet it's incredibly impressive!

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

              @mrob thanks. so to expand on M93 the parameter passed for the move is the time to complete that move. The controller has to honour that time (assuming the other machine constraints can be met), fair enough. What I don't understand is why this any different from a federate that the controller has to honour? Moves are synchronised either way, or am I missing something?

              www.duet3d.com

              1 Reply Last reply Reply Quote 0
              • MRobundefined
                MRob
                last edited by MRob

                @t3p3tony Sure, so my understanding is that rotary axis do not take part in a normal feedrate calculation in RR. So a move of G1 A100 Y0.1 F100 would ignore the A axis, and only calculate based on the tiny Y move, making it rapidly spin when it should be moving at a sedate pace. Fundamentally deg/minute is different from mm/minute, so you cannot mix them together. G93 sidesteps all that, it is much more elegant. Hope this answers the question!

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

                  @mrob ahh ok, so there is the option to change that behaviour seperate to an axis being rotational or linear

                  Sn (optional, supported in RRF 3.2beta3 and later) 0 = axes created in this command are treated as linear in feedrate calculations, 1 = axes created are treated as rotational in feedrate calculations. See section 2.1.2.5 of the NIST GCode standard for how the feedrate is interpreted. Default is S0 for linear axes and S1 for rotational axes (see the R parameter).

                  https://duet3d.dozuki.com/Wiki/M584

                  But you point about degrees/min vs mm/min makes sense none the less.

                  www.duet3d.com

                  MRobundefined 1 Reply Last reply Reply Quote 0
                  • MRobundefined
                    MRob @T3P3Tony
                    last edited by

                    @t3p3tony Yeah exactly, even if you can include it, it is not very helpful.

                    So ahhh..... any thoughts on whether this could be built into RR at some point? 😀

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

                      @mrob I have added it to the list of requests. I can't give a release target yet. Its very unlikely to be in 3.4.

                      www.duet3d.com

                      MRobundefined 2 Replies Last reply Reply Quote 0
                      • MRobundefined
                        MRob @T3P3Tony
                        last edited by

                        @t3p3tony Amazing! Thank you! I'll keep an eager eye on this.

                        1 Reply Last reply Reply Quote 0
                        • MRobundefined
                          MRob @T3P3Tony
                          last edited by

                          @t3p3tony Looking to start a new build soon, in the design phase at the moment, any thoughts on when these features might be implemented? Not expecting any sort of hard promises obviously, just a very rough eta would be useful! Like 3 months, 6 months etc.

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

                            @mrob I am hopeful (but can't guarantee it) that we will look at this as part of 3.5.

                            www.duet3d.com

                            MRobundefined 1 Reply Last reply Reply Quote 0
                            • MRobundefined
                              MRob @T3P3Tony
                              last edited by

                              @t3p3tony That sounds great!! Although it does mean I need to ask when 3.5 final release is expected :).

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

                                @mrob while we try to work towards a major (3.N) stable release every 4 months or so, thus far it has pretty much always been longer than that (3.3 stable came out in June for example).

                                www.duet3d.com

                                MRobundefined maximyz3dundefined 2 Replies Last reply Reply Quote 0
                                • MRobundefined
                                  MRob @T3P3Tony
                                  last edited by

                                  @t3p3tony Ah OK, so could be around 6 months then, I'll go UCCNC in the meanwhile.

                                  1 Reply Last reply Reply Quote 0
                                  • maximyz3dundefined
                                    maximyz3d @T3P3Tony
                                    last edited by

                                    @T3P3Tony Hey looking into this rotary axis roll over as well for my current application did this feature ever get implemented?

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

                                      @maximyz3d there’s a GitHub issue for this here: https://github.com/Duet3D/RepRapFirmware/issues/780
                                      It hasn’t been implemented yet.

                                      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

                                      maximyz3dundefined 1 Reply Last reply Reply Quote 0
                                      • maximyz3dundefined
                                        maximyz3d @droftarts
                                        last edited by

                                        @droftarts Thank you I will look into this GitHub link. Hopefully the feature is implemented soon. In the meantime, I will try to add the functionality so I can learn more about RepRap firmware.

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