M557 Bed Levelling problem



  • I hope someone can explain what is going on here?
    These are snippets from my various xxx.g files...

    ; config.g
    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X285 Y210 Z295 S0 ; Set axis maxima

    ; Z-Probe
    M558 P1 H5 F600 T6000 ; Set Z probe type, height + speeds
    G31 P500 X27 Y16 Z3 ; Set Z probe trigger value, offset and trigger height
    M557 X28:270 Y17:188 S54 ; Define mesh grid

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2 on Sun Mar 17 2019 09:33:36 GMT+0000 (Greenwich Mean Time)
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 X-290 Y-215 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 S1 X-290 ; home X axis
    G1 S1 Y-215 ; home Y axis
    G1 X5 Y5 F6000 ; go back a few mm
    G1 S1 X-290 F360 ; move slowly to X axis endstop once more (second pass)
    G1 S1 Y-215 ; then move slowly to Y axis endstop
    G1 X5 Y15 F10000 ; position head over probing position
    M558 A1 F500 ; set initial faster probing speed
    G30 ; lower head, stop when probe triggered and set Z to trigger height
    M558 A1 F150 ; set lower probing speed for precision
    G30 ; lower head, stop when probe triggered and set Z to trigger height
    ; adjust the nozzle to bed gap in config.g using the line... G31 P500 X27 Y-16 Z3

    The problem I have is that when I have homed the XYZ either separately or all together using my homeall.g file the axis are homed correctly and the nozzle is at X0 Y15 Z8
    But then when I try to do a G29 bed levelling routine the first bed move brings the nozzle to X0 Y0 Z8 with the IR Z probe off the front of the bed. It then tries to probe the bed which isn't there and would crash if I don't stop it???

    Any help would be much appreciated.



  • Your axis minima limit is set to Y0. If it outside of bed, you should correct it the way, that homing position is at Y0, not Y15 as you have.



  • I believe the axis minima are correct because they are the positions the nozzle can get to, and indeed both X&Y home correctly and set the X0&Y0 position correctly. It is only when I home Z that I have to move to Y15 to get the IR Z probe over the bed. After homing the Z axis at this position I can then call a move to X0Y0Z0.

    It still does not explain why the Y17 figure in my M557 is not seen and it tries to calibrate its first point at X28Y0. I thought that was the whole reason for putting the X&Y offsets in the G31 line?


  • administrators

    @handyandy said in M557 Bed Levelling problem:

    G31 P500 X27 Y16 Z3 ; Set Z probe trigger value, offset and trigger height
    M557 X28:270 Y17:188 S54 ; Define mesh grid
    ...
    The problem I have is that when I have homed the XYZ either separately or all together using my homeall.g file the axis are homed correctly and the nozzle is at X0 Y15 Z8
    But then when I try to do a G29 bed levelling routine the first bed move brings the nozzle to X0 Y0 Z8 with the IR Z probe off the front of the bed. It then tries to probe the bed which isn't there and would crash if I don't stop it???

    I think you have given the G31 X and Y offsets with the wrong sign. The offsets are measured from the head reference point (which is normally the nozzle if there is only one) to the probe. Your first probe point should be X28 Y17, which means putting the head at X(28-27) Y(16-16) = X1 Y1. If that puts the sensor off the bed, then your sensor has negative offsets, not positive ones.



  • You're right as usual! my Y was the wrong sign. It's the simple things that catch us out, and it's always difficult to spot your own errors. Someone else sees them immediately.


 

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