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

    CoreXY diagonal moves slower than M203 limit

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    4
    8
    424
    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.
    • lalaundefined
      lala
      last edited by

      Sorry in case there is already a thread like this, but I do not know what exactly I should search for.

      In my config.g I have set M203 X30000 Y30000.
      In case I am at X0 Y0 and type “G1 X266 F30000” DWC will show 500mm/s for the move. Same if I type “G1 Y266 F30000”.
      However if I type “G1 X266 Y266 F30000” DWC does only show about 353 mm/s as requested and top movement speed.
      M201 is set to both 5000, so the speed should be reachable.
      In case I Set M203 to 180000, then F30000 does result in 500 mm/s for diagonal moves too.

      Is this the expected behaviour? Does M203 limit the engine RPM instead of the tool head moving speed?

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

        @lala Yes it is expected behaviour. When you ask for a G1 XY move, the actual length of that move is greater than each individual component. Think right angled triangle where the hypotenuse is greater than each side. In fact we can do that calculation. So if X and Y are 266 then the move length is sqrt(x^2 +y^2) which is sqrt (266^2 +266^2) =376.2 mm. So to move that diagonal length at 500mm/sec means that each X and Y component must run slower (because they are shorter but have to start and end together). We can check that. If we divide 500mm/sec by the move distance of 376.2mm and multiply it by 266mm which is the X component, we get 353.5mm/sec which, funnily enough, is exactly the speed you are seeing per axis.

        In summary, the print head is moving at the requested speed but because a diagonal move length is greater than each individual axis travel, then the reported speed for each axis will be correspondingly lower.

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

        lalaundefined 1 Reply Last reply Reply Quote 3
        • lalaundefined
          lala @deckingman
          last edited by lala

          @deckingman
          Ok, thanks for the detailed explanation. That makes sense. So it means that the DWC does not show the tool head speed, but instead shows the speed of the fastest moving axis (If I move at a different angle than 45 degrees, the displayed speed is higher). So from functional point everything should be fine, only the display is not as expected (by me).

          Is it possible to adapt/configure the DWC so that it shows the tool head speed? Finally that is the more interesting part during a print.

          deckingmanundefined dc42undefined 2 Replies Last reply Reply Quote 0
          • deckingmanundefined
            deckingman @lala
            last edited by

            @lala TBH, I've never really noticed nor thought about it. Most of the things I print are either circular or rectangular. Which means that the print head is either doing straight lines in X or Y, or circular moves which are very short segmented straight lines. So most of the time, the speed displayed by DWC is the actual print head speed. I've never taken much notice of the diagonal infill speed which is set lower in any case.

            As I think about, I'm a bit surprised that DWC is not showing the actual print head speed. What version are you using?

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

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

              @lala said in CoreXY diagonal moves slower than M203 limit:

              @deckingman
              Ok, thanks for the detailed explanation. That makes sense. So it means that the DWC does not show the tool head speed, but instead shows the speed of the fastest moving axis (If I move at a different angle than 45 degrees, the displayed speed is higher).

              No, DWC shows the combined speed of the linear axis components of the move if at least one linear axis is moving.

              The M203 limits are the limits for single-axis moves. On a Cartesian printer, the maximum diagonal speed will be higher. On a CoreXY machine the diagonal speed will be lower, because only one motor is powering both axes. We implemented this several versions ago because one of our OEMs complained that we had got it wrong. However, I think there is a case for being able to specify a single maximum speed for any move in the XY plane; so we may revisit this.

              A consequence of this is that on a CoreXY machine, the RRF M203 limits should be set higher than the corresponding limits for a machine running Klipper, by a factor of sqrt(2).

              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 2
              • deckingmanundefined
                deckingman
                last edited by

                @lala, So I was only partly right. Taking DC's comments into account, you had set the maximum speeds for X and Y to 30000 (mm/minute) which is 500 mm/sec. So DWC is indeed reporting the head speed but that speed had to be reduced to keep each individual axis within it's 500mm/sec limit. To be able to achieve the desired head speed (and if your machine is capable of it), as DC pointed out you need to increase the limits by sqrt(2) or about 1.4 to say 42,300 or thereabouts for X and Y.

                As a side note, by most people's standards, I use a fast travel speed of 300 mm/sec (18,000 mm/minute) with 1.8 Amp motor current - any higher than 350 and I start getting skipped steps. Are you sure your motors are capable of 500mm/sec?

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

                lalaundefined 1 Reply Last reply Reply Quote 0
                • mikeabuilderundefined
                  mikeabuilder
                  last edited by

                  Another thing you may encounter is that when the move starts, the print head needs to get up to speed. The time it takes to get to speed is determined by the max acceleration (M201) and also max instantaneous speed change (M566). Halfway through the move distance, the process reverses and the M201 settings are used to slow the print head down. It's possible you are not moving far enough to get up to speed before it starts slowing.

                  1 Reply Last reply Reply Quote 1
                  • lalaundefined
                    lala @deckingman
                    last edited by lala

                    @deckingman
                    I am using LDO-42STH48-2504AC which can be run with 2.5 A. However I run them with 0.9 A (because they are quieter), 24 V and a 20 teeth pulley.
                    These are able to accelerate my 1.5 kg gantry to 600 mm/s with an acceleration of 8000 mm/s2 (Y direction). At 10000 mm/s2 I am loosing steps.
                    Diagonal I only tried 600 mm/s with 5000 mm/s2 (which worked, by setting the speed limit high enough).

                    Most other steppers are not able to reach this speed due to higher inductance and resistance. Meanwhile LDO brought the 2804 which are capable of even more acceleration and speed.
                    https://youtu.be/szJ_krWbRaQ

                    @mikeabuilder
                    My move is long enough according to the prusa/reprap calculator. With 8000 mm/s2 the 600 mm/s are reached after about 15 mm and I am moving 266 mm.

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