Bed leveling - can't get nozzle close enough to bed surface

I have a problem getting the nozzle close enough to the bed after bed leveling.
My configuration: Velleman K8200, Rumba board (80), Repetier firmware 0.9.3, inductive sensor mounted near hotend, no ZMAX endstop.

My Firmware settings:

// #################### Z-Probing #####################

#define Z_PROBE_PULLUP 0
#define Z_PROBE_ON_HIGH 0
#define Z_PROBE_X_OFFSET 28
#define Z_PROBE_Y_OFFSET 2
#define Z_PROBE_SPEED 2
#define Z_PROBE_XY_SPEED 120
#define Z_PROBE_HEIGHT 0.5
#define Z_PROBE_X1 185
#define Z_PROBE_Y1 180
#define Z_PROBE_X2 30
#define Z_PROBE_Y2 180
#define Z_PROBE_X3 100
#define Z_PROBE_Y3 6

My procedure:

G28 >>> nozzle is about 0.5 mm above bed surface

G32 >>> works as expected (Repetier Host displays Z-Position Z = 1.56  , see script)

moving down towards bed by small steps not possible when ZPROBE has triggered; getting closer until nozzle hits bed is not possible.
The setting of Z_PROBE_HEIGHT has no influence.

I assume the Z-endstop (=ZPROBE) should be active only for Z-homing.
For this I deactivated the "Always check endstop" checkbox.

It is not easy to install the inductive Z-probe exactly, so that the nozzle just hits the bed surface, when the Z-probe is triggered)
So means of correction for the Z-position of the nozzle independent of Z-probe triggering point is necessary,
for instance in situations, when you sometimes work with a 1 mm bed covering or sometimes work without it.
In this case the trigger points of the Z-probe are nearly the same position, but the nozzle position have to be tuned.

Probably I did not fully understand how the bed leveling feature works.
Thanks for help to come



  • Z_PROBE_HEIGHT is the value you need to change, but you need to change it in eeprom in case you did not register.

    You said G28 and nozzle is 1mm above bed. With bed leveling z endstop should be at max. If it is at min the z min endstop might stop homing independently of what your measuring returns. 

    Also 1mm start height when enabling is not really what you should put in there. If bed or values are mor ethen 1mm off you may already crash the head.
  • I set different values for Z_PROBE_HEIGHT via configuration tool changing the eprom mode every time; I also put in different values via Repetier Host (writing to the eprom). I could not see any effect. Only in the display you can see the value of Z_PROBE_HEIGHT have been added to the real position of printhead.
    Nevertheless it is not possible to make the nozzle touching the bed surface, because the Z-probe is triggered before.

    So, I would like to know whether a Z endstop is mandatory for this procedure. If yes, its position has to be at the ZMAX position of the printer.
    Will it have to be connected to ZMIN on the PCB and would I have to adjust the setting in order to reach it by the G28 command (before G32)?
    After that where has the Z-probe to be connected? Could it be the ZMAX (or other pin, that the Z-endsop ist not connected to)?

    I am very sorry not to understand the whole process, but after many tries I think, the Z_probe and the Z_endstop must not be identical.

    But in my actual configuration both are identical and my idea was to use endstop only for homing, as in Marlin firmware.
    (See Marlin,configuration.adv.h: #define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing)


  • The Z probe is NOT an endstop. So setting it a e.g. Z_MIN endstop is an error. Z min endstop is always tested on z moves.

    It is ok to to have the z probe in z min endstop connector! But probe has it's own pin definition and does not use z min for this. So set hardware z-min to -1 and only set ZPROBE_PIN to z min endstop pin number.
  • Hi,
    thank you for the quick response.
    Im am looking how to realize this in the settings of the configuration tool, before i deinstall the Z min endstop, put it
    on the Z max position of the printer and make it a Z max endstop. New wiring is included.

    Having optical endstops and a inductive Z-probe sensor I assume - as far as I understand - I will have to set the following:

    Mechanics Tab
    a. Uncheck "Always check endstops)
    b. X,Y and Z homing direction negative (towards the min endstop)
    c. X min and Y min >>> electronic, normally closed
    d. Z min >>> not installed
    e Z max >>> electronic, normally closed
    f. Pin >>> Z max endstop
    g. Pins >>> X min endstop, Y min endstop, Z min endstop
    h. distances in homing procedure >>> 2 - 3 - 0

    Features Tab
    a. Enable Z probing >>> checked, on
    b. Automatic bed leveling >>> enabled
    c. enable pullup resistor for probe pin (I don't know, what setting its be done here)
    d. probe triggers on high >>> disabled
    e. Z probe pin >>> Z MIN
    f. probe height >>> 0.5 mm above bed, when probe is triggered
    g. probe bed distance >>> 10
    h. probe start script >>> "G1 Z10"
    i. X and Y offset depend on mounted position of z probe
    j. probe positions in reachable bed area

    By the way, I do not quite understand in your comment what setting z-min to -1 means. (didn't find it in configuration.h)

    As you see, I not familiar in editing the configuration.h directly. Therefore I listed up the relevant settings in the configuration tool instead.

    Hope you can help me
    schumsel 293

  • Setting z-min to -1 means setting z-min to not installed.

    For z-max endstop you need z homing dir 1

    Why has g) have a z-min endstop? Unless you z-max endstop is in z-min pin, but then z-probe pin would be wrong.
    h) 2 - 3 - 2 is better. Z needs some space from endstop to go up/down as autoleveling requires it.
  • Hello, I have stopped working auto level bed about a year ago after the update Repiter-Host.My probe Z goes now on the top instead of going down, what to do?
  • Does G31 show correct signal?
    What exactly happens with sending G30?
    If you have a delta that would be ok as it homes first and then probes.
Sign In or Register to comment.