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

    Dumb question about travel limits

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    7
    16
    667
    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.
    • mrehorstdmdundefined
      mrehorstdmd
      last edited by

      In config.sys we can set maximum travel speeds and accelerations, as well as minimum and maximum ordinates for each axis. How does Duet handle a gcode file that commands movement beyond axis limits? Does it "replace" the gcode commanded travel distance with a value that will stop at the set limit? Will it apply the set acceleration to the new ordinate?

      https://drmrehorst.blogspot.com/

      engikeneerundefined dc42undefined 2 Replies Last reply Reply Quote 0
      • engikeneerundefined
        engikeneer @mrehorstdmd
        last edited by

        @mrehorstdmd I believe it just limits the position the the axis limits, applying the motion (accel/jerk) to that.

        If you run a print that goes out of the axis limits (/set them wrong), it will print the part, but the bit that goes outside the limits will be 'smushed' up at the limit

        E3D TC with D3Mini and Toolboards.
        Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
        i3 clone with a bunch of mods

        mrehorstdmdundefined 1 Reply Last reply Reply Quote 0
        • mrehorstdmdundefined
          mrehorstdmd @engikeneer
          last edited by

          @engikeneer I actually asking about this for my sand table that is driven with servomotors, where there is no extrusion, just travel moves, sometimes at speeds up to 1600 mm/sec (and maybe faster in next generation). If the mechanism slams into the end of an axis at speed, the motor generates a large voltage spike that can kill the power supply and anything connected to it (I learned about this the hard way).

          I am building protection circuits to connect between motor and power supply, but knowing how RRF handles errors in programming (i.e. movement beyond limits set in config.sys) would be useful.

          https://drmrehorst.blogspot.com/

          Stephen6309undefined 1 Reply Last reply Reply Quote 0
          • Stephen6309undefined
            Stephen6309 @mrehorstdmd
            last edited by

            @mrehorstdmd The axis won't go past the setting you made in M208. Once homed, the controller won't send it past the maximum or less than the minimum setting.

            deckingmanundefined 1 Reply Last reply Reply Quote 0
            • deckingmanundefined
              deckingman @Stephen6309
              last edited by

              @stephen6309 said in Dumb question about travel limits:

              @mrehorstdmd The axis won't go past the setting you made in M208. Once homed, the controller won't send it past the maximum or less than the minimum setting.

              I can confirm that this is so. I once attempted to print something which was about 400mm diameter on a build plate where the limits were set to 410mm in Y but only 390mm in X. The resultant part was a "D" shaped circle with a flat 🙂

              Ian
              https://somei3deas.wordpress.com/
              https://www.youtube.com/@deckingman

              oliofundefined mrehorstdmdundefined 2 Replies Last reply Reply Quote 1
              • oliofundefined
                oliof @deckingman
                last edited by oliof

                @deckingman I tried to print a large box on a delta once. Got nice fillets (-: For this the kinematics need to implement the feature to check if a move would go out of bound and limit it to stay within the bounds of the reachable area. Cartesian, Core, and Delta kinematics have this implemented. It's the one thing I can't figure out for the Tripteron ...

                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                mrehorstdmdundefined JoergS5undefined 2 Replies Last reply Reply Quote 0
                • mrehorstdmdundefined
                  mrehorstdmd @deckingman
                  last edited by mrehorstdmd

                  @deckingman Does it do it gracefully- i.e. does it apply acceleration - or does it just slam into the end of the axis when it gets there?

                  It's the slam that causes the problem in my situation. The kinetic energy ends up as electrical energy on the power supply line. If the controller applies the acceleration/jerk set in the config.sys file it shouldn't be a problem.

                  https://drmrehorst.blogspot.com/

                  deckingmanundefined 1 Reply Last reply Reply Quote 0
                  • mrehorstdmdundefined
                    mrehorstdmd @oliof
                    last edited by

                    @oliof The slicer should prevent you from trying to slice an object that doesn't fit entirely within the printable area of the bed. Of course, you can make an error in defining the bed size, or the position of the origin that could still allow a print that won't fit to get sliced...

                    https://drmrehorst.blogspot.com/

                    oliofundefined 1 Reply Last reply Reply Quote 0
                    • deckingmanundefined
                      deckingman @mrehorstdmd
                      last edited by

                      @mrehorstdmd said in Dumb question about travel limits:

                      @deckingman Does it do it gracefully- i.e. does it apply acceleration - or does it just slam into the end of the axis when it gets there?

                      TBH, it was so long ago that I can't really remember. I don't recall seeing anything alarming but then the print head would only have been travelling at a modest speed of 60 to 80mm/sec or so. Also being circular, the print head continued to travel in Y but not in X. So it was more a case of an earlier than expected change of direction of segmented moves, than a sudden end of a single long move. Sorry, that's probably not much help for your situation.

                      Ian
                      https://somei3deas.wordpress.com/
                      https://www.youtube.com/@deckingman

                      1 Reply Last reply Reply Quote 0
                      • oliofundefined
                        oliof @mrehorstdmd
                        last edited by

                        @mrehorstdmd yes, it was sliced with the wrong profile.

                        <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                        1 Reply Last reply Reply Quote 0
                        • mrehorstdmdundefined
                          mrehorstdmd
                          last edited by

                          I guess I just need to run a test on my printer at low speed and see what happens.

                          https://drmrehorst.blogspot.com/

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

                            @mrehorstdmd in my understanding of the code,

                            if the printer is in laser or cnc mode, it doesn't process the G1 move and aborts the complete move with "G0/G1: target position outside machine limits".

                            If in other mode, it checks whether an intermediate position is reachable and processes this partly move. The reachability is additionally checked with the option to move part of the axes (uncoordinated move of coordinated axes).

                            Those checks are done before the move is segmented. Segments are additionally checked in case of a segment is unreachable. This is especially for arc moves and kinematics with nonlinear behaviour like scara.

                            G2/G3 moves are handled differently: if the end position is not reachable, it completely aborts with "G2/G3: outside machine limits".

                            The checks whether a move is reachable or partly reachable is implemented kinematic specific (in method LimitPosition). Sometimes M208 limits are considered, sometimes not (CoreXY considers M208 limits).

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

                              @oliof said in Dumb question about travel limits:

                              Tripteron

                              may I ask an OT shortly? Do you use Tripteron with RRF and how? I thought about developing kinematics for it because patent will expire in september this year, but are you able to use it today?

                              oliofundefined 1 Reply Last reply Reply Quote 0
                              • oliofundefined
                                oliof @JoergS5
                                last edited by oliof

                                @joergs5 I have an implementation of the colinear tripteron kinematics, but am missing the algebra to detect whether a move is inside the reachable volume or not. I didn't build it for quite a while but since the implementation is largely self contained it should probably still work.

                                As you may remember we discussed working on alu dibond living hinges a while back but then you fell into a 6dof robot shaped hole (-;

                                https://github.com/oliof/RepRapFirmware/tree/colinear-tripteron

                                parallel tripteron in a box frame is fully Cartesian and doesn't need any code changes.

                                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                                JoergS5undefined 1 Reply Last reply Reply Quote 0
                                • dc42undefined
                                  dc42 administrators @mrehorstdmd
                                  last edited by

                                  @mrehorstdmd said in Dumb question about travel limits:

                                  In config.sys we can set maximum travel speeds and accelerations, as well as minimum and maximum ordinates for each axis. How does Duet handle a gcode file that commands movement beyond axis limits? Does it "replace" the gcode commanded travel distance with a value that will stop at the set limit? Will it apply the set acceleration to the new ordinate?

                                  In FFF mode it will limit the coordinates so as to be within the printable area. This handles the case of a skirt being outside the printable area even though the print is within it.

                                  In CNC or Laser mode the job will be terminated with an error message.

                                  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
                                  • JoergS5undefined
                                    JoergS5 @oliof
                                    last edited by JoergS5

                                    @oliof said in Dumb question about travel limits:

                                    you fell into a 6dof robot shaped hole (-;

                                    yes, it's a very deep and dark hole and I haven't found my way out of it yet 😉

                                    When the patent of Tripteron is expired, I may try to build a printer. It should have high precision. When the patent is expired, we could finish the code and push it to the official RRF together.

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