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

    M350 not working wrt M584

    Scheduled Pinned Locked Moved
    Tuning and tweaking
    3
    8
    957
    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.
    • gtj0undefined
      gtj0
      last edited by

      So I've only had my DuetEthernet a day but it was my understanding that once M584 was executed, an M350 would automatically apply to all drivers mapped to a specific axis. At least with 1.20 and 1.21 this seems to not be the case...

      M584 X4:3 Y0:1 Z2
      M350 X32 Y32 Z16 E16:16 I0
      M92 X320 Y320 Z160 E160:160
      

      results in my X axis motors only moving half the distance they should.

      Setting E0 and E1 (normally drivers 3:4) fixes the issue.

      M350 X32 Y32 Z16 E32:32 I0
      

      results in the correct movement.

      M92 does seem to behave as I'd expect.

      Did I miss something?

      1 Reply Last reply Reply Quote 0
      • whosrdaddyundefined
        whosrdaddy
        last edited by

        keep it easy.
        Put the M92 command in front of M350, M92 will assume x16, so put correct values for that microstepping.
        Any M350 command that comes after M92, the duet will recalculate the steps per mm correctly according the microstepping values provided in M350.

        gtj0undefined 1 Reply Last reply Reply Quote 0
        • gtj0undefined
          gtj0 @whosrdaddy
          last edited by

          @whosrdaddy said in M350 not working wrt M584:

          keep it easy.
          Put the M92 command in front of M350, M92 will assume x16, so put correct values for that microstepping.
          Any M350 command that comes after M92, the duet will recalculate the steps per mm correctly according the microstepping values provided in M350.

          Unfortunately, that makes things worse.
          Even with just...

          M584 X4:3 Y0:1 Z2
          M92 X320 Y320
          M350 X32 Y32
          

          One X axis motor spins at twice the rate as the other.
          The only way to make it work is to set...

          M350 X32 Y32 E32:32
          
          gtj0undefined 1 Reply Last reply Reply Quote 0
          • gtj0undefined
            gtj0 @gtj0
            last edited by gtj0

            The only way to make it work is to set...

            M350 X32 Y32 E32:32
            

            I take it back. The spin at the same rate but the wrong rate. Still too fast.

            M350
            Microstepping - X:32, Y:32, Z:16(on), E:32:32:16:16:16:16:16:16:16
            M92
            Steps/mm: X: 640.000, Y: 640.000, Z: 4000.000, E: 320.000:320.000:420.000:420.000:420.000:420.000:420.000:420.000:420.000
            

            M92 is not what I set it to. Maybe I need to go back and read more because this isn't making sense.

            Just found this in the cartesian guide...

            The M350 command to set microstepping should come before the M92 commands to set steps/mm, because the steps/mm are adjusted automatically when microstepping is changed.

            1 Reply Last reply Reply Quote 0
            • whosrdaddyundefined
              whosrdaddy
              last edited by whosrdaddy

              read the M350 manual

              both setups are possible. If you want to play with microstepping just put M92 in front of M350...

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

                I've got a feeling that it's because of this quote from the explanation of M584

                "Assigning a drive using M584 does not remove its old assignment. Therefore, if you assign a drive that defaults to being an extruder drive, you should also assign the extruder drives explicitly as in the above example. Failure to do so may result in unexpected behaviour."

                The example referred to has this "M584 X0 Y1 Z2:3 E4:5:6"

                So your M584 has to include the extruders as well as X, Y and Z.

                My set up is a bit different to yours but I do remap the drives and the relevant parts of my config,g are as follows:

                M584 X0:3 Y1:4 Z2 U10 V11 E5:6:7:8:9 P3;
                M350 X16 Y16 U16 V16 Z16 E16:16:16:16:16 I1;
                M92 X80 Y80 U80 V80 Z3200 E393:397:403:400:401 ;

                HTH

                Edit. You can just ignore all the U and V values, then it'll look more like your own setup.

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

                1 Reply Last reply Reply Quote 1
                • gtj0undefined
                  gtj0
                  last edited by

                  @deckingman said in M350 not working wrt M584:

                  "Assigning a drive using M584 does not remove its old assignment. Therefore, if you assign a drive that defaults to being an extruder drive, you should also assign the extruder drives explicitly as in the above example. Failure to do so may result in unexpected behaviour."

                  That was it!

                  M584 X4:3 Y0:1 Z2 E5:6
                  M350 X32 Y32 I0
                  M92 X320 Y320
                  

                  Now does what I'd expect.

                  Thanks all!

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

                    @gtj0

                    I thought that would do the trick - glad you got it sorted.

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

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