Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Rotary 4th axis rollover on 360, G93, macros

    Firmware wishlist
    3
    15
    309
    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.
    • MRob
      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_lampe T3P3Tony 2 Replies Last reply Reply Quote 0
      • o_lampe
        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
        • T3P3Tony
          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

          MRob 1 Reply Last reply Reply Quote 0
          • MRob
            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!

            T3P3Tony 1 Reply Last reply Reply Quote 0
            • T3P3Tony
              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
              • MRob
                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!

                T3P3Tony 1 Reply Last reply Reply Quote 0
                • T3P3Tony
                  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

                  MRob 1 Reply Last reply Reply Quote 0
                  • MRob
                    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? 😀

                    T3P3Tony 1 Reply Last reply Reply Quote 0
                    • T3P3Tony
                      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

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

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

                        1 Reply Last reply Reply Quote 0
                        • MRob
                          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.

                          T3P3Tony 1 Reply Last reply Reply Quote 0
                          • T3P3Tony
                            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

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

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

                              T3P3Tony 1 Reply Last reply Reply Quote 0
                              • T3P3Tony
                                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

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