Auto bed-levelling a Delta printer with G32

edited September 2017 in Repetier-Firmware
My printer height is 310.51mm
I'm following the instructions for calibration given here:
I'm doing as told in the video "Z levelling for Delta printers"
Before running G32 S2 I home the printer to ZMax (even though it is not mentioned in the video) because I read in a forum that we should do that
After I run G32 S2 it changes my printer height to 312.72
Now Z=0 is 2mm below the bed level
What am I doing wrong?


  • What values have you set for
    z_probe_z_offset (bed coating thickness)
    Z_PROBE_HEIGHT (probe height)

  • if bed coating is not set you need to reduce Z_PROBE_HEIGHT by 2.2mm.
  • Also make sure you go back from z endstop during homing. For z min homing this is normally 0 but for z max homing you need it to be 1-2mm depending on bed tilt.
  • Check what is stored in eeprom. Guess your config data is not the active data any more.
  • ENDSTOP_Z_BACK_ON_HOME 1 is good for z max endstop and what I meant.
  • In EEPROM coating thickness is 0, z-probe height is 0.11
    Rest of the values are not present.
  • Here is the log following G32 if that helps:

    12:07:06.852 : N202 G32 S2*89
    12:07:06.860 : Z correction disabled
    12:07:07.565 : N203 M105*38
    12:07:08.615 : SelectExtruder:0
    12:07:08.615 : X:0.00 Y:0.00 Z:310.513 E:0.0000
    12:07:10.622 : N204 M105*33
    12:07:13.685 : N205 M105*32
    12:07:16.740 : N206 M105*35
    12:07:19.802 : N207 M105*34
    12:07:22.857 : N208 M105*45
    12:07:25.913 : N209 M105*44
    12:07:28.975 : N210 M105*36
    12:07:32.030 : N211 M105*37
    12:07:35.085 : N212 M105*38
    12:07:38.148 : N213 M105*39
    12:07:40.428 : SelectExtruder:0
    12:07:40.428 : X:0.00 Y:0.00 Z:310.513 E:0.0000
    12:07:41.203 : N214 M105*32
    12:07:44.258 : N215 M105*33
    12:07:47.320 : N216 M105*34
    12:07:48.400 : Z-probe:11.99 X:-95.25 Y:-55.00
    12:07:50.375 : N217 M105*35
    12:07:53.430 : N218 M105*44
    12:07:56.493 : N219 M105*45
    12:07:56.658 : Z-probe:11.25 X:95.25 Y:-55.00
    12:07:59.548 : N220 M105*39
    12:08:04.966 : Z-probe:12.27 X:0.00 Y:110.00
    12:08:07.426 : plane: a = -0.0039 b = 0.0039 c = 11.8392
    12:08:07.426 : Transformation matrix: 0.999992 0.000000 0.003893 0.000015 0.999992 -0.003940 -0.003893 0.003940 0.999985
    12:08:07.426 : CurrentZ:12.27 atZ:10.00
    12:08:07.426 : Z after rotation:10.00
    12:08:07.426 : Printer height:312.78
    12:08:08.416 : Info:Autoleveling enabled
    12:08:09.228 : X:0.05 Y:109.95 Z:12.696 E:0.0000
    12:08:09.228 : Info:Autoleveling disabled
    12:08:29.078 : SelectExtruder:0
    12:08:29.078 : X:0.00 Y:0.00 Z:312.787 E:0.0000
    12:08:29.078 : Info:Autoleveling enabled
  • Ok, wrong direction.  Increase Z_PROBE_HEIGHT by 2.2mm then. I always mix the directions.
  • Repetier said:
    Ok, wrong direction.  Increase Z_PROBE_HEIGHT by 2.2mm then. I always mix the directions.
    Can you explain to me why this is required? I calculated the Z-probe height using the metal block method given in the "Z-probing" article. Why do we have to change it now? 
    Also, is there any way that we can change EEPROM values individually instead of uploading a new firmware again? Its an OEM printer and I don't know how many write cycles have been exhausted. I have used about 10 myself.
  • Repetier-Server and host have a eeprom editor to change values on the fly. When you upload a firmware with Arduino IDE this does normally not change the eeprom. It is written in flash. So i hope when you say you checked it in eeprom you used the server/host for this and not change configuration.h.

    eeprom has 100000 cycles guaranteed, flash should hold 10000 uploads, so no problem on this front.

    And why I think it needs to be changed - well you said z length gets computed wrong. And that gets computed by z probe which includes probe height and measuring distance to top. Added minus back on home gives z length.
  • Yes I fetched the EEPROM values from Repetier host.
    As per the video "Z levelling for Delta printers", I have executed till G32. The remaining part from "bed height map tool" and onwards is yet to be done. So I just have to update Z-probe height using the host, and then continue following the video instructions, right?
  • Yes, change it redo G32 S2 and check by going tp Z=10 and then slowly down that it matches the result. If distance is good continue. If geometry is wrong (even 0.1mm) it might differ between center and measurement points so you might need to readjust later when the geometry errors are fixed.
  • I updated Z-probe height to 2.38 and ran G32 again.
    The newly calculated printer height is 314.94
    What has gone wrong?
  • Okay, I played around a bit, and set Z_Max_Length to 311.51, coating to 1, and Z-Probe Height to -1.90
    After running G32 the printer height got calculated as 311.52 which is pretty close.
    Now my question is, how did this work?
    Also I lowered the extruder slowly and Z=0 is pretty much on the bed surface. A sheet of paper is able to slide underneath though, but that is definitely less than 1mm
    Also, right now my print bed has no coating. But while printing when I will apply a coating (sheet of masking paper and a thin coat of adhesive applied by brush), will it cause any problem? How does the coating factor work anyway?
  • For a delta z length gets subtracted by that value after homing so it does not touch bed. But that assumes you have inductive sensor that does not measure surface but the metal of the bed.

    Negative z probe height makes not really sense so I wonder why this is necessary. Does your extruder have a z offset? Extruder 0 should always have z offset 0. There is currently an error not taking tis correctly into account so maybe that is the reason.
  • I don't think it's an inductive one. I'm attaching a picture here.
    No the extruder doesn't have any offset. What error do you think it might be, so that I can investigate further?

  • Alright, so turns out the diagonal rod length and printer radius both were off. My bad. I fixed them both, re-uploaded the firmware, did the entire calibration routine and hit no snags.
    One question though. While calculating tower endstop offsets using G132, I got values of 65, 128 and 0 for X, Y and Z towers respectively. These seem to be rather high. Is this normal?
  • The tower offsets are in steps not mm, so they are not that high.

    Diagonals off are a good hint. Since this causes a dome or bump it differs then where you measure, so calibrating at the edges and measuring in center makes strange differences then. Try to remember this for next one with that problem.
Sign In or Register to comment.