Can we get some guidance on Mesh bed and config/startup scripts



  • Im on 2.01 and looking at testing 2.02.

    I see changes is mesh bed storage, and now separate grids. Can we get an update to documentation or a short explanation on recommended configurations? I want to store a base mesh and reuse it for every print. I only probe one point to set z at the start of each print. What S3D start up script, bed.g and config.g is now recommended in 2.02?


  • Moderator

    Have you seen this?

    https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation

    https://duet3d.dozuki.com/Wiki/GCode#Section_G29_Detailed_Z_Probe

    If you're only using 1 point for a mesh grid you might as well just home z with a single G30 and not bother with G29 and mesh compensation.

    I'm not really clear on what exactly you're looking for. Can you give some more context?



  • Thanks, let me add more context. I have a bed that rarely every changes in is topography ( variance in z at different x and y positions). But there is about .4 mm difference across the bed so i need mesh compensation to account for this variance.

    I wish to turn the printer on, probe bed center to home/set Z 0.00, then load the stored mesh and re-use it every print to compensate for bed variance.

    Reading through the release notes and upgrade notes there are dispersed mentions of changes to g29, g30 and m557. There is mention of changes to how mesh grids are stored and loaded to avoid previous issues with them overwriting each other.

    Link to the documentation do not yet completely reflect the changes in 2.02RC builds ( don't expect them to until the official release). That said tacking down snippets across forum posts and multiple RC build upgrade notes has left me confused on how I should change my configuration to test. I can piece together some of the changes but i'm always interested in a good example of this is a recommended setup or some sample code. I dont want to assume what i have is correct.



  • here is my bed.g:

    ; called to perform automatic bed compensation via G32
    ;
    M561                                                ; Clear any bed transform
    G29 S2
    M557 X25:270 Y20:185 S27:27.5                       ; fill 314 x 214
    ;
    ;Mesh probe
    ;
    G29 S0                                              ;Probe Mesh table
    G29 S1                                              ;Store bed mesh table
    M376 H2.5                                           ;Enable mesh fall off over 2.5 mm
    M500			                            ;Store all values
    


  • here is my probe section in config.g:

    ; Z-Probe
    M574 Z0 S2                                         ; Set endstops controlled by probe
    M558 P1 X0 Y0 Z1 F200 T6000 H2.0 R0                ; Set Z probe type to modulated and the dive height + speeds
    G31 P500 X-24 Y0 Z2.4                              ; Set Z probe trigger value, offset and trigger height
    M557 X25:270 Y20:185 S27:27.5                      ; Define mesh grid
    

    EDIT: I call up the mesh with G29 S1 as part of my slicer startup script.


  • Moderator

    Alright, well here's what I do.

    I have a bed that is very solid (coreXY) and once manually leveled, stays level, but the surface of the bed has some slight +- variation across the surface, much like you describe. So I use mesh compensation to account for that, but it doesn't change often, so I use a saved heightmap. Does that sound like what you're after?

    I use G29 to do a detailed mesh grid probing with as many points as I can. It takes about 30-45 minutes, so I don't want to do it often, but since it doesn't change often, it works fine to save and load it. By default G29 will just save to heightmap.csv. This is fine. Then I have M375 (same as G29 S1) in config.g to load the default heightmap at startup. Before a print I use G28 to home all axis, which does a single G30 in bed center to set Z0. Nothing else required.

    I don't use bed.g since I'm not doing anything complicated. I don't use the firmware provided manual bed leveling, though I could use it for that if I wanted.



  • Have you moved to 2.02RC6?


  • Moderator

    @schneik80 Yes, I'm actually testing 2.02 RC7 right now.

    I don't think any of the changes recent or upcoming will have any impact on how I'm using G29.

    Can you link to specific examples of the changes you're concerned about?



  • 2.02 RC3 - Please test your Z probe after installing this release, before you rely on it for Z homing or bed probing!

    Based on this I'm review ing previous changes trying to identify what change would warrant an all bold warning. All i can find are:

    RC3
    M557 now supports a P parameter to set the number of X and Y points, as an alternative to using the S parameter to set the spacing

    Above is not covered in the documentation

    M558: zero or negative Z probe tolerance (S parameter) with A parameter > 1 now means always average all readings

    Sounds interesting to reduce errant readings. I am not currently using an S or A parameter.


  • Moderator

    I'm not exactly sure what that warning was referring to either.



  • The G-Code wiki is uptodate as far as I can tell see M557
    and M558 for all the parameter specs and what they do


  • administrators

    @phaedrux said in Can we get some guidance on Mesh bed and config/startup scripts:

    I'm not exactly sure what that warning was referring to either.

    I had made some changes to Z probing, so the warning was in case I had got them wrong - especially as I don't test every type of Z probe. I didn't intend the behaviour to change.


Log in to reply