Applying Height Map - Help me understand what's going on here

  • I've got a large format machine and I've just updated to RRF firmware 2.05 after coming from 1.19 which basically means I've had to set up the machine from scratch again since my homing and bed leveling routines no longer seem to work as they did in the old firmware. The printer is a large format machine (1000x1000x500) that uses inductive end stops on x, y and z but is also equipped with BL Touch for bed mapping. Currently I'm getting an error that a z datum hasn't been set after homing when I try to load a height map.

    Previously, my process to level the bed and get things working was as follows.

    • Physically level the gantry.
    • Physically level the bed using a dial indicator mounted on the gantry.
    • Move the left nozzle in the center of the bed and physically adjust it's height to be 0.15mm above the glass using a feeler gauge.
    • Repeat for the second nozzle.
    • Move the probe to the center of the bed to probe the same point and use G30 S-1 determine the z offset necessary for G31 command in config.g.
    • Run G29 mesh probe and store the results.
    • My startup G Code would then home all, load the mesh file and I would have the slicer apply a -0.15mm global offset.
    • First layer bliss. No issues.

    With the older firmware the BL touch was setup using M558 P6 probe type and was physically wired to the E1 end stop position. Upon changing to the newer 2.05 firmware I've had to rewire the BL Touch to use the z probe connector on the board and change the M558 command to a P9 probe type. This seems to have changed how BL Touch interacts with the firmware leading to my z-datum issue.

    Is there a way to get the machine to use the z=0 point set by the z endstop as the datum for the height map? Or can someone suggest a series of commands I should be running to probe the bed and properly establish a z-datum using the BL Touch?

  • Moderator

    You could simply have the BLTouch do a G30 at the center of the bed before doing the G29, and have it do a G30 before loading the saved heightmap. That would ensure you're using the same reference point.

  • Thanks Phaedrux, I'll give that a try.

    I'm a bit confused as to what G30 parameters I should be using to set the datum though? Is is just a plain G30 command that will set it or are there additional parameters that I need to use?

    When I call G32 and run bed.g, this is what I have right now. Does this look reasonable?

    M561			; clear any bed transform
    M280 P7 S60 I0		; clear probe errors
    M401			; deploy probe
    M402			; retract probe 
    G28			; home all
    M400			; wait for homing to complete
    T0			; activate left extruder and move within its coordinate system
    G1 X417 Y303 Z10	; move probe to the center of the bed
    G30			; probe center of bed to set z=0 datum
    G29			; perform bed mesh probe
    G1 X50 Y50 Z5 F6000	; move to (50,50,5) at 100mm/s
    M280 P7 S60 I0		; clear any errors
    M402			; retract bed probe

    Then in my startup G-Code I'll run:

    G1 X417 Y303 Z10 F6000	; move probe to center of bed
    M400		; wait for move to complete
    G30		; Probe center of bed and set z datum
    M400		; wait for probe to complete
    G29 S1		; load height map from file (to enable bed compensation)

  • Moderator

    Yes just a G30 without parameters.

    Your macro looks good.

Log in to reply