Auto Bed Leveling issue

edited December 2016 in Feature Requests
I just installed a servo with a switch to have the autobed leveling feauture.It seems to work fine when the bed is almost level by adjusting the screws.But when its not that leveled when its trying to get to the last probe point the switch crashes into the bed causing the G32 to fail.The problem is that the Z axis doesnt raise too much after measuring each point to get to another one.Is there any option to tell the printer to raise the Z a good amount of mm in order to move to the next measuring point?.By the way i have set BED_LEVELING_METHOD 0.

Firmware version is 1.0 Dev



  • Depends on printer a bit what it does. In any case you should set Z_PROBE_BED_DISTANCE to a value that is higher then the biggest error. Start G32 at a height approximately same height. For some combinations it will go lower to that value. When measuring starts it always goes back to last z position. That is why starting height is important.
  • Hey thanks for your reply.
    I dont realy understand what Z_PROBE_BED_DISTANCE does, it is set to 10.I have a max end stop.In slicer i added the G32 command so it can autolevel before every print.Why it goes to the last z position after after each measure?How i can make it go higher?
  • Also how i set my starting height for bed leveling
  • First normally there is no need to relevel every print. Normally bed does not change rotation only if you constantly remove it and even then it depends on printer.

    Your code should be like this if you still do
    G1 Z10 F1200

    then it can relevel everything up to a tilt of 10mm without hitting bed.

  • Yes i already have this settings on my gcode.Probing starts normaly with the first point.My problem is when it needs to move to the other poins it needs to retract the servo or raise the z axis some mm.Is there any way of achieving this?
  • We only have a start/end probe script. Once probe is enganged it does not run any code between.

    If you need more z just start at z=30 and set z probe bed distance to 30. Then you have 20mm more.
  • Ok thanks i will try it out
  • So it cant retract the servo after meassuring each point
  • No normally not. But you can easily program that. For next dev release I have added this

        float distance = static_cast<float>(sum) * invAxisStepsPerMM[Z_AXIS] / static_cast<float>(repeat) + EEPROM::zProbeHeight();

    the top 3 lines are new, serach for last line in BedLeveling.cpp around line 587 to add it yourself. With that you just define

    #define Z_PROBE_RUN_AFTER_EVERY_PROBE "M340 S1000\nG4 P0"

    or whatever you need to run after each probe.

Sign In or Register to comment.