Axis Configuration



  • What's the best way to do entries for M584 & M906 when you're assigning 3 steppers to the Z axis?

    My current M584 is:
    M584 Z5:6:7

    and M906 is

    M906 X1500 Y1500 Z1500 E700:1500:1500:1500:1500:1500:1500 I60

    M350 is:
    M350 E16:16:16:16:16:16:16:16:16

    Is there a best practice for cleaning these up and making them clearer?



  • To clarify, this is a corexy. Single Extruder, standard x/y, and the Z are all on the duex5 (5, 6, 7)


  • administrators

    What you have already is just fine. In your M584 command you should declare the extruder drivers, otherwise drivers 5, 6 and 7 will be both axes and extruders.



  • @kraegar said in Axis Configuration:

    What's the best way to do entries for M584 & M906 when you're assigning 3 steppers to the Z axis?

    My current M584 is:
    M584 Z5:6:7

    and M906 is

    M906 X1500 Y1500 Z1500 E700:1500:1500:1500:1500:1500:1500 I60

    M350 is:
    M350 E16:16:16:16:16:16:16:16:16

    Is there a best practice for cleaning these up and making them clearer?

    My suggestion would be to explicitly define everything and not rely on default values. Also add a comment to the end of each line.

    So, M584 X5:6:7 becomes:
    M585 X0 Y1 Z5:6:7 E3 ; map Z motors to drive 5, 6 and 7.

    (assuming that is how you have the other motors assigned)

    M906 X1500 Y1500 Z1500 E700:1500:1500:1500:1500:1500:1500 I60 becomes:

    M906 X1500 Y1500 Z1500 E700 I60; set motor currents and idle hold percent

    You don't need set values for unused axes or extruders.

    And M350 E16:16:16:16:16:16:16:16:16 becomes:

    M350 X16 Y16 Z16 E16 I1; set microsteps to 16X with interpolation.

    Of course, if you use different values for axes or extruders then you need two lines. e.g.

    M350 X16 Y16 Z16 I1; set micro stepping for X,Y and Z to 16X with interpolation
    M350 E32; set micro stepping for extruders to 32X

    Adding the comments makes life a lot easier when you want to change something a few months or years later. Also, and no disrespect to David, but "fat finger syndrome" can affect us all, so explicitly setting values for parameters that have default values will make things safer in the event of said "fat finger syndrome" striking while David is tweaking the firmware. ☺


  • administrators

    I have made a correction to my earlier response.



  • Should I just define all extruders, if I'm going for clarity?

    M584 X0 Y1 Z5:6:7 E2:3:4:8:9 ; Map Z to drivers 5, 6, 7. Define unused drivers as extruders
    M906 X1500 Y1500 Z1500 E700 I60; set motor currents and idle hold percent
    M350 X16 Y16 Z16 E16 I1; set microsteps to 16X with interpolation.



  • @kraegar said in Axis Configuration:

    Should I just define all extruders, if I'm going for clarity?

    M584 X0 Y1 Z5:6:7 E2:3:4:8:9 ; Map Z to drivers 5, 6, 7. Define unused drivers as extruders
    .........................

    I'd say that is just a matter of personal preference. Either explicitly defining unused drivers as extruders or simply not defining unused drives, won't affect how the printer behaves.

    For additional clarity you could use:
    M584 X0 Y1 Z5:6:7 E2:3:4:8:9 ; Map Z to drivers 5, 6, 7. Define unused drivers 3,4,8 and 9 as extruders

    Just a suggestion.........



  • Good call. Thanks for the tips!



  • As a follow up, remapping driver 2 to Z caused issues, extruder wasn't turning, and getting "Error: motor phase A disconnected on drivers 2"

    Removing driver 2 resolved it.


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.