G32 maximum deviation over 2mm



  • I use g32 successfully and the first layer is great. However sometimes after a power off or a rebuild etc the error is reported as more than 2mm and the system wont mechanically level. I believe the 2mm error and I can manually tweak the lead screws to get it closer but is there anyway to relax the 2mm max, say to 5mm?


  • Moderator

    What do you have specified in your M671 command?

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M671_Define_positions_of_Z_leadscrews_or_bed_levelling_screws

    M671: Define positions of Z leadscrews or bed levelling screws
    Parameters

    Xnn:nn:nn... List of between 2 and 4 X coordinates of the leadscrews that drive the Z axis or the bed levelling screws
    Ynn:nn:nn... List of between 2 and 4 Y coordinates of the leadscrews that drive the Z axis or the bed levelling screws
    Snn Maximum correction to apply to each leadscrew in mm (optional, default 1.0)
    Pnnn Pitch of the bed levelling screws (not used when bed levelling using independently-driven leadscrews). Defaults to 0.5mm which is correct for M3 bed levelling screws.
    Fnn Fudge factor, default 1.0
    Order dependency

    M671 must come later in config.g than any M667 or M669 command.
    Example

    M671 X-15.0:100.0:215.0 Y220.0:-20.0:220.0 ; Z leadscrews are at (-15,220), (100,-20) and (215,220)
    Informs the firmware of the positions of the leadscrews used to raise/lower the bed or gantry. When this command is used to define the leadscrew positions, the numbers of X and Y coordinates must both be equal to the number of drivers used for the Z axis (see the M584 command). This allows the firmware to perform bed levelling by adjusting the leadscrew motors individually after bed probing. See the G32 command.

    For machines without multiple independently-driven Z leadscrews, this command can also be used to define the positions of the bed levelling screws instead. Then bed probing can be used to calculate and display the adjustment required to each screw to level the bed. The thread pitch (P parameter) is used to translate the height adjustment needed to the number of turns of the levelling screws.

    For printers that print directly onto a desktop and have levelling feet, this command can be used to define the coordinates of the levelling feet, so that bed probing can be used to calculate and display the adjustments needed to the feet. In this case the displayed corrections must be reversed. For example, "0.2 turn down" means the bed needs to be lowered or the printer raised by 0.2 turn lower at that screw position.

    The firmware algorithm assumes perfect gimbal joints between the bed and the leadscrews, so that the bed is completely free to adopt the plane (or the twisted plane if there are 4 leadscrews) defined by the leadscrews. In real printers this is rarely the case and the corrections are insufficient to level the bed, so multiple G32 commands need to be sent if the bed is a long way off level. The F parameter allows for the corrections calculated by the firmware to be multiplied by a factor so as to achieve faster convergence in this situation.

    Note: the M671 command in config.g must come after any command to change the kinematics, for example M667 or M669.



  • aha, I have M671 X-85:620:620 Y300:60:500 S2
    Presumably I change the 2 to say a 5 and we are off?

    cheers


  • Moderator

    @CTRDevelopments Yes, just increase the 'S' value. Can be as high as you want. I'd run G32 at least a couple of times if it is a long way out the first time you run G32.

    Ian


Log in to reply