Calibrating Delta

  • I have been struggling to properly calibrate my delta printer (Atom 2.5).

    It seems that the most outer part of the bed surface doesn't calibrate correctly. In the parts close to the pilars, the nozzle lowers too much while in between pilars the nozzle rises in exceed. This only happens in the outer part of the bed and it is working fine in the inner part.

    I attach a picture of a calibration file that I have created. In it there are 4 concentric rings (radii 50, 100, 150 and 200mm), the three inner cicles are perfectly calibrated but the last one is not.


    I have been messing around with the G32 and G29 comands and I do obtain different results, however it seems that this problem is persistent.

    My bed.g looks like this:
    ;################### BED.G BEGIN ####################
    ; Auto calibration routine for delta printers
    ; Before running this, you should have set up your zprobe Z offset to suit your build, in the G31 command in config.g.

    M561 ; clear any bed transform, otherwise homing may be at the wrong height

    G28 ; home the printer
    M109 S210 ; set hotend temperature to 210ºC and wait

    ; The first time the mechanical probe is used after deployment, it gives slightly different results.
    ; So do an extra dummy probe here. The value stored gets overwritten later. You can remove this if you use an IR probe.
    G30 P0 X0 Y0 Z-9999

    ; Probe the bed and do 6- or 7-factor auto calibration
    ; bed.g file for RepRapFirmware, generated by Escher3D calculator
    ; 7 points, 6 factors, probing radius: 100, probe offset (0, 0)
    G30 P0 X0.00 Y100.00 Z-99999 H0
    G30 P1 X86.60 Y50.00 Z-99999 H0
    G30 P2 X86.60 Y-50.00 Z-99999 H0
    G30 P3 X0.00 Y-100.00 Z-99999 H0
    G30 P4 X-86.60 Y-50.00 Z-99999 H0
    G30 P5 X-86.60 Y50.00 Z-99999 H0
    G30 P6 X0 Y0 Z-99999 S6

    G30 S7 ;Adjust homing switch corrections, delta radius, X and Y tower position offsets, and diagonal rod length

    M84 ; Stop idle hold
    M106 P1 S0
    ;################### BED.G END ####################

    Also, my M557 in the config.g looks like this:

    M557 R120 S40

    I have been trying to do the bed compensation with as few points as possible but it really doesn't help much if I include some more points.

    I am working with a 0.2mm nozzle and 0.1mm layer height.

    Have any of you ever had a similar trouble? And most importantly, have any of you been able to solve such issues?

    Thank you all for your help in advanced.

  • A couple of things spring to mind:

    1. what are you probing with? Is it accurate? Can you try using the manual probing method and a piece of paper?
    2. Is your bed actually flat? Delta calibration does not compensate for uneven bed surfaces it just tries to match the XY plane of the effector with the plane of the bed. If you think the bed is uneven do a mesh grid compensation after calibration.
    3. Why not use a 0.25mm first layer? Expecting to be able to travel over an entire surface just 100 microns above it without getting a little too close or too far away requires a very accurate mechanism.

  • Thank you for your quick reply.

    1. I'm probing with the nozzle head, I believe it is quite accurate, it has an adjustable optical sensor and it triggers with the slightest touch. However I cannot use the manual probing method since the bed is firmly joined to the structure.

    2. The bed is a 4mm thick glass bed with very tight tolerances. However I was also concern about the lack of flatness on the bed so I have tried with different bed platforms and also I have rotated it around to check if that was the problem but it seems to be perfectly flat.

    3. It is true that it is a very demanding task but that is also why I have chosen Duet3D! My intention is to be able to print with a very low failure percentage and with high surface finish. Also it is not recomended to use a 0.2mm layer height with a 0.2mm nozzle. I also think that the atom has one of the most accurate mechanisms, with aluminium profiles and casted joints. Te question therefore is; is it possible to obtain better results than what i am getting now or do i need to find a different approach?

    Thank you again.

  • Okay so accurate machine, flat bed.
    Apologies for layer height suggestion I didn't read the 0.2mm nozzle. Still go to 75% of nozzle width and print 0.15mm 1st layer it gives you a better chance of a good one.

    Tell me more about the probe? I only ask as being in the probe business (and this isn't a sales pitch), many probes are not as accurate as you might think. Can you perform a test of just doing:

    G1 X0 Y0 Z10

    G30 S-1
    G1 Z10
    (and repeat lines 2 and 3 - 30 times)

    Collate the results to determine the range and std deviation, this will (basically) test your probe,

    Then perhaps add a move between G30 S-1 to take the nozzle to the edge of the bed and maybe lift it 50mm, then come back to bed centre and repeat. This tests both your probe and the machines repeatability in positioning.

    I cannot see any case where you cannot use manual probing , set your probe type in M558 as P0

    Then calibrate, use the jog controls to jog down until you grip the paper, click okay, then repeat for the other probing points.

    Also try more probing points, I usually do at least 16, the more you probe the more accurate the result becomes.

  • Additionally, it is best to measure the rod length from centre of rotation to centre of rotation and enter it in your M665 then use either G30 S6 in your bed.g or G30 S8 (which compensates for tilt), neither of these change the rod length, which should be the same as actual rod length. If after achieving an acceptable calibration your objects are consistently larger or smaller in XY then you can increase (for small objects) or decrease (for larger objects) the rod length (or use firmware scaling - but I've never had a satisfactory result from scaling in firmware on a delta - I have scaled in my slicer).

  • Ok, on monday I will perform the test that you suggested and I will be posting the results (I have the printer working at the moment).

    About the probing system, I think Thomas Sanladerer can explain it much better than me. You can see his review on the printer here: (Probe system after min 2:30).

    I will be back on monday with the results.

  • administrators

    You are calibrating 6 factors but using only 7 probe points. I suggest you use more probe points, especially around the periphery of the printable area where the problems are. For example, 9 points around the periphery, 3 half way to the periphery, and one at the centre (total 13). Or 9/6/1, or 12/3/1. You may also find that calibrating 8 points factors instead of 6 helps.

  • After doing more tests, we have come to the conclusion that it is mainly a hardware issue, it is due to the fact that the probe tilts slightly when touching the bed at the periphery, which results on an innaccurate measurement.
    However, we have listen to your advices and found them quite helpfull, thank you.

    As a final doubt, if the bed was 100% flat and the probe 100% precise, would we obtain the same results in the calibration process regardless of the number of points (at least 3) and their distances from the center?

  • I'll leave that one to David, but I would advise to consider a more accurate probe, or just use the manual calibration for now. If you want any info on one particular probing system that might help see my signature.