Confirmation on wiring 2nd z axis motor

  • I'm afraid I'm going to need step by step instructions on how to do this. I have a cr-10 and the two stepper motors for the z sometimes go out of sync. So I want to drive each independently and use my probe to level them. I have read the instruction but i'm still a little confused. I'm homing Z using a single piezo probe.

    M584 X0 Y1 Z2:4 U4 E4 is as far as I have got so far

    The right stepper is plugged into Dive 4 and the left leadscrew is drive 2

    From home.
    Left leadscrew is x-20 y100
    Right leadscrew is x325 y100

    What should M671 be? M671 X-20.0:325.0 Y100.0:100.0;

    Do I need to edit my homing files?

    What gcode is need to level and then mesh level?

    When I try to home all I get errors about U not being homed

  • administrators

    Remove the U4 from the M584 command. Assuming your extruder drive motor is connected to the E0 output it should be E3 not E4 in that command. Set up a bed.g file as described at

    You do not need to change your homing files.

  • Like this?

    M584 X0 Y1 Z2:4 E3 ;enable dual z steppers (right is drive 4, left is drive 2)
    M671 X-20.0:325.0 Y100.0:100.0 ; leadscrew offsets from home
    G28                         ; home
    G30 P0 X20 Y100 Z-99999     ; probe near a leadscrew
    G30 P1 X280 Y100 Z-99999 S2   ; probe near a leadscrew

    It doesn't seem to adjust the leadscrews even though the popup tells me it has

    [c]Leadscrew adjustments made: 0.067 -0.125, points used 2, deviation before 0.078 after 0.000[/c]

    Here is my heightmap

  • administrators

    If you run leadscrew adjustment again, are the reported adjustments larger or smaller?

    What Z probe are you using?

  • This is it again

    Leadscrew adjustments made: 0.058 -0.115, points used 2, deviation before 0.071 after 0.000
    ```and one more for good luck

    Leadscrew adjustments made: 0.075 -0.100, points used 2, deviation before 0.067 after 0.000

    It's piezo probe []( never had any issues with it.

  • Very strange, I've now managed to get it level but it's not worked as slick as I hoped.

    Here is the console log of what I had to do. Not quite sure why I had to run G32 so many times… I must be doing something wrong...

    25 points probed, mean error 0.052, deviation 0.051
    Height map saved to file heightmap.csv
    07:24:22Leadscrew adjustments made: -0.045 -0.048, points used 2, deviation before 0.046 after 0.000
    Leadscrew adjustments made: -0.045 -0.042, points used 2, deviation before 0.044 after 0.000
    Leadscrew adjustments made: 0.001 -0.052, points used 2, deviation before 0.032 after 0.000
    Leadscrew adjustments made: -0.009 -0.082, points used 2, deviation before 0.053 after 0.000
    Leadscrew adjustments made: 0.050 -0.123, points used 2, deviation before 0.074 after 0.000
    Leadscrew adjustments made: 0.153 -0.218, points used 2, deviation before 0.143 after 0.000
    25 points probed, mean error 0.320, deviation 0.105
    Height map saved to file heightmap.csv
    Leadscrew adjustments made: -0.034 -0.044, points used 2, deviation before 0.039 after 0.000
    07:16:3825 points probed, mean error 0.288, deviation 0.109
    Height map saved to file heightmap.csv
    Leadscrew adjustments made: 0.560 -0.627, points used 2, deviation before 0.448 after 0.000
    07:14:46Connection established!

  • Happy to help debug this more if there is a logical series of steps I can take

  • administrators

    The algorithm used by RRF to level the bed using independent leadscrew movements assumes that the bed is free to pivot about the leadscrew nuts. Evidently that is not happening in your case, because your mechanics is resisting attempts to level the bed by adjusting the leadscrews. This could mean that your gantry X axis is not quite at right angles to the leadscrews.

  • I can certainly level the gantry by hand using the leadscrews (the bed is fixed). It needs to lock one motor whilst the other rotates. Does it do that?

    Also, not sure why the G32 reports the bed as level on subsequent runs but G29 does not.

  • administrators

    The firmware adjusts both leadscrews simultaneously.

    It does seem odd that G29 and G32 see the bed differently. Where are the two bed.g probe points in relation to the points on the height map grid? If they are outside the grid then I suggest you move them in a little to coincide with the edges of the grid.

    If you can't see the leadscrews moving at all, maybe you have the Z speed and/or acceleration set too high?


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