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

    M92/M350 Order dependency in 3.0

    Scheduled Pinned Locked Moved
    General Discussion
    3
    8
    401
    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.
    • DaveAundefined
      DaveA
      last edited by

      According to the wiki there should be no need for order dependency for M92 and M350. In 2.x I happened to have the M350 setting the microstepping before the M92 setting the steps/mm and it seemd to work fine. Once I upgraded to 3.0 I was seriously under extruding.
      I reversed the order of the two lines and my extrusion is back to normal.
      I believe the configuration tool places the order that doesn't work for 3.0 (at least for me).

      Any thoughts?

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

        @DaveA There isn't an order dependency as such but one will be influenced by the other depending on the order that the commands are carried out. The two examples in the Wiki illustrate this. Quote

        "........Therefore you can either:

        a) Set Steps/mm correctly for the default 1/16 microstepping, then set the microstepping to the desired amount using M350:

        or

        b) Set the microstepping using M350 and then set the correct steps/mm for that microstepping amount:"

        Having said all that, I'm a bit mystified by your OP because the interaction between M350 and M92 hasn't changed between RRF 2.x and 3.x - it has been that way for a very long time.

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

        1 Reply Last reply Reply Quote 0
        • DaveAundefined
          DaveA
          last edited by

          Thanks for the reply. I'm not sure what's going on then.

          If I have the following two lines in config my extrusion if fine.

          M92 X400.0 Y400.0 Z400.0 E97.60
          M350 X16 Y16 Z16 E32 I1

          If I have these lines in config I get just about one half the filament extruded:

          M350 X16 Y16 Z16 E32 I1
          M92 X400.0 Y400.0 Z400.0 E97.60

          Between these two line in config I have made no other changes. My test for this is to get the hot end up to temp and issue the following commands
          M83
          G1 F50
          G1 E100

          Phaedruxundefined 1 Reply Last reply Reply Quote 0
          • Phaedruxundefined
            Phaedrux Moderator @DaveA
            last edited by

            @DaveA said in M92/M350 Order dependency in 3.0:

            E97.60

            This would seem to be your steps per mm for x16.

            When you set M92 first, it's assuming it's for x16 microstepping. But then you change it to X32, and the firmware recalculates for you.

            In the second example, you're setting x32 first, but haven't updated the steps per mm to reflect that.

            Z-Bot CoreXY Build | Thingiverse Profile

            1 Reply Last reply Reply Quote 0
            • DaveAundefined
              DaveA
              last edited by

              Rats, I read the wiki and thinking it was expecting you would always enter steps/mm for 16x and then it would recalculate. Oh well, never mind. Thanks.

              Phaedruxundefined deckingmanundefined 2 Replies Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @DaveA
                last edited by

                @DaveA said in M92/M350 Order dependency in 3.0:

                thinking it was expecting you would always enter steps/mm for 16x

                Well it does, but in your second example you've explicitly set the microstepping to x32. It assumes x16 until you tell it otherwise.

                Z-Bot CoreXY Build | Thingiverse Profile

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

                  @DaveA IMO, the best thing to do the following:

                  1. Use M350 to set 16X micro-stepping for all axes and extruders. Strictly speaking this step is not necessary as 16X is the default. However, I always like to explicitly assign values which might be defaults just in case something gets altered in the firmware at some future date.
                  2. Use M92 to set the steps per mm at 16X
                  3. Use a second M350 to change the micro stepping for any or all axes and extruders.

                  Then you can merrily change micro stepping for any or all axes or extruders and the steps per mm will get re-calculated. You don't need to put the entire second M350 line in. e.g, to just change the extruder to 32X but leave everything else at 16X, simply use M350 E32. And of course, you can sent that M350 at any time - even "on the fly" during a print (although it may take a few moves before it comes into effect).
                  HTH

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

                  1 Reply Last reply Reply Quote 1
                  • DaveAundefined
                    DaveA
                    last edited by

                    @deckingman Thanks for the idea. I'll do that.

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