Problem with bed leveling and U axis



  • Hi, I have updated my Ender 3 with a Duet WiFi, bltouch and a dual stepper motor system for the Z axis with two end-stops at high position. Now I'm the "setup phase" and I have some problem with bed leveling. When I launch G32 I have this error "Some computed corrections exceed configured limit of 1.00mm: 1.402 -37.558". If I'm not wrong it means that at left leadscrew it probe 1.402mm and at right leadscrew 37.558mm, but this difference is impossible.
    I think that the problem is in the position of the U axis, in fact when I launch "M584 Z2 U4 P4" to split axes with all axex homed I have on the dashboard Z=3.73 and U=206.6
    Is this the problem? And if it is how can solve it?
    These are my files:
    homez.g
    homeall.g
    config.g
    bed.g

    Firmware version is 3.1.1

    Please, someone could help me?

    P.S. Sorry for my english


  • Moderator

    In RRF3 you no longer need to split the axis to home using mutliple endstops. Further, if you have a z probe, it's a much better idea to use the probe to do tilt correction.

    https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors
    With this method you don't need to mess with a U axis at all.

    And if you don't want to use the probe, do you can still use multiple endstops, but you still don't need to use a U axis in RRF3. Just add the second endstop to the M574 pin and home Z to the endstop as normal.



  • Thank you so much, It works



  • Now bed leveling works, but why when I home only Z-axis in the dashboard Z=199 even if I have set max Z-axix to 235?


  • Moderator

    Please post your current config and homing files.



  • Here config and homing files
    homez.g
    homeall.g
    config.g


  • Moderator

    How are you leveling? G32 and bed.g? If so, post bed.g.
    What is your sequence of operations?

    M584 X0 Y1 Z2:4 E3 P3                             ; Driver 0 For X, 1 for Y, Z=2:4, Extruder 3
    M671 X-30:265 Y100:100
    M92 X80.81 Y80.31 Z400:400 E415.04                ; set steps per mm
    M350 E128 I0                                                    ; configure microstepping without interpolation
    M350 X16 Y16 Z16:16 I1                                      ; configure microstepping with interpolation
    M566 X800.00 Y800.00 Z60.00:60.00 E300.00 P1             ; set maximum instantaneous speed changes (mm/min)
    M203 X12000.00 Y12000.00 Z900.00:900.00 E6000.00        ; set maximum speeds (mm/min)
    M201 X6000.00 Y6000.00 Z200.00:200.00 E5000.00          ; set accelerations (mm/s^2)
    M906 X700 Y700 Z700:700 E800 I30                       ; set motor currents (mA) and motor idle factor in per cent
    M84 S30                                            ; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0:0 S1                              ; set axis minima
    M208 X235 Y235 Z235.8:235.8 S0                  ; set axis maxima
    

    You don't need to provide dual values for the Z axis in all of those places. The settings are configured per axis, rather than per motor.

    Z60.00:60.00 should just be Z60.

    Extruders are the only axis that must be defined individually.



  • If I home first only Z-axis and then home all axes, there's no problem with Z coordinates, but if instead I do the opposite, in the dashboard the Z-axis, that is homed to its max, is equal to 199 and not 235 that is the value that I have in config.g.

    Here my bed.g
    bed.g



  • @Phaedrux said in Problem with bed leveling and U axis:

    You don't need to provide dual values for the Z axis in all of those places. The settings are configured per axis, rather than per motor.

    Z60.00:60.00 should just be Z60.

    Extruders are the only axis that must be defined individually.

    Thanks, I will remove this junk this evening


  • Moderator

    When you use the probe to home the Z axis in home all it knows where Z0 actually is, but when you use the endstop to home to Z max it sets the height to whatever you've set the Z axis length to in M208, but the actual distance from the bed to where the endstop is may be different. Also when you use G32 to do tilt correction, that tilt change can change the position of the bed height relative to the nozzle.

    Generally you should be using the probe to home the Z axis whenever possible for best accuracy.

    In your bed.g you should add another G30 at the center of the bed after the tilt correction so that any change from the tilt can be accounted for.

    And finally, for those times when you want to home to Z max like for power loss recovery you can create a macro that will measure the actual height of the z axis for you. something like this: https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+5:+Upgrades/54#s221



  • Ok, therefore it is preferable to use the probe to home Z axis, but I don't understand why when I home to Z max the system thinks that Z max is 199 and not 235 that is the value that I have used in M208. Do you have any idea?


  • Moderator

    Remove all the junk and try again maybe it's not reading the maxima value correctly because of the duplicate values

    ; Axis Limits
    M208 X0 Y0 Z0:0 S1 ; set axis minima
    M208 X235 Y235 Z235.8:235.8 S0 ; set axis maxima



  • Thanks, now with junk code removed everythings works as it should.

    Now I can start with the part 4 of this guide https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+4:+Calibration/40


Log in to reply