Z Calibration - Prusa Style



  • Hello All,

    I have recently converted from a Prusa MK2 miniRambo to a Duet Wifi.

    I can notice that the Z steppers lose steps every once in a while and the gantry isnt parallel to the bed anymore.

    I set up the independent Z bed levelling and sometimes, it pushes the gantry even more lopsided if the motors were badly out of sync.

    Hence, I thought I could whip up a macro to emulate the Z calibration procedure on the MK2 before levelling the bed.

    In order to do this, I would like to use the motor stall endstop at Z_Max and the Pinda probe at Z_Min.

    Is this configuration possible?

    When I set the below endstop configuration and then command the gantry to move to 210mm, it just crashes into the bed:

    M574 Z2 U2 S3 ; Set Z_Max as stall
    M915 Z U S0 F1 R1 ; Configure stall

    ; Z-Probe
    M574 Z1 U1 S2 ; Set endstops controlled by probe
    M558 P1 H5 F600 T6000 ; Set Z probe type to unmodulated and the dive height + speeds
    G31 P855 X23 Y5 Z0 ; Set Z probe trigger value, offset and trigger height
    M557 X41:247 Y10.5:206.9 S102:98 ; Define mesh grid

    Any help would be deeply appreciated.

    My entire config.g is attached.

    Thanks,
    Madhu.0_1537773804312_config.g


  • administrators

    Are you sure that you have the independent Z motor levelling configured correctly? In particular, the M671 coordinates must be in the same order as the Z motor drivers in the M584 command. Otherwise it will make the levelling worse as you described.

    It should also be possible to use stall detect homing to max first as you describe, but you will need to calibrate the stall detection first and probably reduce the motor current for that homing move. See https://duet3d.dozuki.com/Wiki/Stall_detection_and_sensorless_homing.



  • @dc42 said in Z Calibration - Prusa Style:

    Are you sure that you have the independent Z motor levelling configured correctly? In particular, the M671 coordinates must be in the same order as the Z motor drivers in the M584 command. Otherwise it will make the levelling worse as you described.

    Hi David,

    So, I change M671 to be at the same Y but different X... Right? I was trying to level the bed using the assistant; these are the locations of the screws.

    Anyway, are my settings for the Z_Max endstop correct?

    If they are, why would a G30 make the gantry dive into the bed?

    Thanks,
    Madhu.



  • G30 is a probe move. To use an endstop you'd have to use a G1 S1 move towards zmax.

    You may have to explicitly define the zmax endstop in your macro to home zmax. Then at the end of the macro redefine it back to the zmin probe.



  • @phaedrux said in Z Calibration - Prusa Style:

    You may have to explicitly define the zmax endstop in your macro to home zmax. Then at the end of the macro redefine it back to the zmin probe.

    Understood. I will try this and then report back.

    Thanks a ton for your help!


 

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