"Perfect" Delta Calibration Method
  • 0
  • Godlike Fuzzydice

    Credit for this method goes to Jay Couture. Credit for the writeup goes to @festerND-NaN.

    You can watch the original calibration video for this method here:
    http://www.youtube.com/watch?v=tDLbqLve128


    This method will get you to within 0.1mm quickly, and can easily be used to get within 0.05mm with a few additional iterations. It consists of two parts; the first is your primary calibration routine, the next is an iterative method of calculating your arm radius.

    Editor’s Note: You will notice that all of the Z offset values you’re going for are negative. The simple reason is this: No sanely generated gcode will specify a negative value for Z. That literally means printing into your buildplate, and that does not make sense. So, the trick we are pulling off here is that by setting 0 to some point above the buildplate, even if we screw up badly, we’re not going to be slamming our nozzle into the buildplate damaging things. We then use the offset ability to hide this fact, and cheat the value of 0 down to about the right spot. We don’t have to do things this way, but if we don’t then we have no room to go in the event that we move the printer and end up with a tower that’s a little high.

    Trust me, watching your expensive robot try to print inside a solid aluminum plate is not a fun experience. Especially as parts snap or bend. You can literally feel the repair cost growing as you scramble for the power cord.

    Calculate gamma_max

    This will insure that your trim setting will be a negative value, at the cost of a small amount of build height. (The build height that you lose has an exceptionally small diameter due to the weird delta build area, so no big loss.)

    1. Go to Home. (G28)
    2. Carefully step the nozzle down until you are ~1-2mm above the build plate.
    3. Find the current Z height. (M114)
    4. Set the gamma_max value in your config.txt to your maximum height minus ~5mm less than the measured Z height from step 3.
    5. Repeat steps 1 through 4 until the value from step 3 is -5mm or greater. This value must be negative, and larger than 5mm. If it is not, you will not have enough headroom for calibrating the towers, and keeping the value negative.

    Finding Zero + Leveling

    This is a recursive method. We start by calibrating the X axis, and then move on to calibrate Y and Z. Every time we make a change to one axis, we need to recalibrate the others. This is a little tedious, but once you get it down, you should be able to knock it out in about 5 minutes. (You should probably recalibrate before any large prints, or every 10 prints or so, depending on your printer.)

    Note: It’s entirely possible during this calibration that you will find two of your tower measurements oscillating between values. Because we’re assuming .1mm is the smallest step size you move your nozzle, you could end up oscillating trim values by .1mm. In that case, you actually are .05mm off, and should try adding that to the trim, instead of the .1mm reported by M114.

    Finding .1mm above the bed

    This calibration method relies on you being able to accurately find a position .1mm above your bed, at various locations. Our preferred method for doing this is as follows:

    1. Position your nozzle 5mm above the position you’re attempting to measure.
    2. Take a strip of standard paper, and start sliding it back and forth right below the nozzle.
    3. Manually jog the nozzle down 4mm, in 1mm increments.
    4. Manually jog the nozzle down the rest of the way in .1mm increments.
    5. Once the nozzle grips the paper (it can no longer move back and forth, back up .1mm.

    Calibrate X Trim

    • Note: Trim offsets are always negative.
    1. Go to Home. (G28)
    2. Move to the base of your X tower. (G1 X-86.6 Y-50 Z5)
    3. Manually jog the nozzle down until it’s .1mm above the bed. (See above.)
    4. Find the current Z height. (M114)
    5. Find the current trim offsets. (M666)
    6. Add the current Z height (from step 4) to the X trim value (from step 5). (M666 X<value>)
      • ex: M114 reports Z: -1.4, M666 reports X:-4.2, so the new trim should be -5.6: M666 X-5.6
    7. Save the trim. (M500)
    8. Repeat from step 1 until no more adjustments are necessary.

    Calibrate Y Trim

    • Note: Trim offsets are always negative.
    1. Go to Home. (G28)
    2. Move to the base of your Y tower. (G1 X86.6 Y-50 Z5)
    3. Repeat steps 3 through 8 of “Calibrate X Trim”.
    4. Recalibrate X trim (starting at step 1).
    5. Once X trim is calibrated, recalibrate Y trim (repeat from step 1) until no more adjustments are necessary.

    Calibrate Z Trim

    • Note: Trim offsets are always negative.
    1. Go to Home. (G28)
    2. Move to the base of your Z tower. (G1 X0 Y100 Z5)
    3. Repeat steps 3 through 8 of “Calibrate X Trim”.
    4. Recalibrate X and Y trim (starting at step 1 of “Calibrate Y Trim”).
    5. Once X and Y trim is calibrated, recalibrate Z trim (repeat from step 1) until no more adjustments are necessary.
    6. Save your calibration. (M500)

    Congratulations, you have calibrated your towers!


    Calculating Arm Radius


    delta.png
    Visual representation of the part we’re trying to measure.


    1. Trim X, Y, and Z first.
    2. Go to Home. (G28)
    3. Move to 0,0,5. (G1 X0 Y0 Z5)
    4. Manually jog the nozzle down until it’s .1mm above the bed. (See above.)
    5. Find the current Z height. (M114)
      • If Z is positive, reduce the radius (M665 R<value>)
      • If Z is negative, increase the radius (M665 R<value>)
      • Note: The relationship between height and radius are non linear. (Most likely cos, sin, or tan.) We recommend you attempt to measure as closely as you can first, then using that number, try adjusting in .2mm increments.
    6. Set your Z offset. (M306 Z0).
    7. Save your configuration. (M500)
    8. Recalculate trim on X, Y, Z.
    9. Repeat from step 1 until no more adjustments are needed.
    10. Save your configuration. (M500)

    Congratulations, you have calculated your arm radius!


    last edited by Morgul
  • 0
  • @Morgul the example positions have a x5 instead of a z5 parameter on the tower position

    First, one should home the delta printer, and carefully step down until the nozzle is ~1-2mm above buildplate – this will be your height found in config.txt as gamma_max

    one should set gamma_max to about 5mm less than measured amount. this will insure that your trim setting will be a negative value, as the cost of a small amount of build height – the build height that you lose has an exceptionally small diameter due to the weird delta build area – so no big loss

    last edited by festerND NaN
  • 0
  • Godlike Fuzzydice

    @festerND-NaN Updated.

    Let me know if I translated your gamma_max procedure correctly.

  • 4
    Posts
  • 1166
    Views
  • Log in to reply
  • Looks like your connection to "Perfect" Delta Calibration Method was lost, please wait while we try to reconnect.