Fighting with huge differences in 6-factor vs. 7-factor calibration



  • I am in the process of dialing in my Delta and there's some strange thing going on with calibration.

    First of all, I read the very good article on the wiki:

    https://duet3d.com/wiki/Calibrating_a_delta_printer

    and paid special attention to the prerequisites on build accurancy, meaning I measured like crazy everything I could measure (and tweaked my build to correct) to make sure my build is as sane as possible.

    I am using fsr's under the bed, optical endstops and tricklaser.com rods with 360mm.

    The real strange thing is that with 6-factor calibration I do not reach a good level of accurancy, also after several runs of G32 the deviation does not get better than 0.3 and it is clear to see that the error really is there when moving the y-axis:

    M666 Endstop adjustments X0.14 Y0.05 Z-0.19, tilt X0.00% Y0.00%
    M665 Diagonal 360.000, delta radius 161.655, homed height 390.530, bed radius 150.0, X -0.366°, Y -0.165°, Z 0.000°
    G32

    Calibrated 6 factors using 28 points, deviation before 0.312 after 0.307
    G32
    Calibrated 6 factors using 28 points, deviation before 3.310 after 0.412

    Start values:
    M666 Endstop adjustments X-0.20 Y-0.26 Z-0.34, tilt X0.00% Y0.00%
    M665 Diagonal 360.000, delta radius 170.000, homed height 391.000, bed radius 150.0, X 0.000°, Y 0.000°, Z 0.000°

    when I switch to 7 point calibration things are a lot better:

    M666 Endstop adjustments X0.16 Y0.03 Z-0.19, tilt X0.00% Y0.00%
    M665 Diagonal 383.964, delta radius 168.312, homed height 390.549, bed radius 150.0, X -0.313°, Y -0.127°, Z 0.000°
    G32
    Calibrated 7 factors using 28 points, deviation before 3.315 after 0.008

    Start values:
    M666 Endstop adjustments X-0.20 Y-0.26 Z-0.34, tilt X0.00% Y0.00%
    M665 Diagonal 360.000, delta radius 170.000, homed height 391.000, bed radius 150.0, X 0.000°, Y 0.000°, Z 0.000°

    but the Rod length is totally off: 383.964mm vs. 360mm and no, the rods are really 360mm long....

    I can of course compensate for the way to large Rod length by adjusting X/Y-ratios with M579 but I would like to better understand what is going on here.

    Any ideas? What should I look for in my build?



  • By the way,

    Firmware Version is 1.18.2

    I first tried with a bed.g version for 10 peripheral and 6 halfway points, this did not work too well with both 6 and 7 point calibration.

    The results above were from probing 6 peripheral points and doing 5 measurements per point, all with correct H offsets.
    I also threw away each first measurement, but I guess that was unnecessary.

    Here's the bed.g file:

    ; 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
    G31 X0 Y0 ; don't want any probe offset for this
    G28 ; home the printer
    ;M109 S230 ; preheat the nozzle
    ;*** Remove the following line if your Z probe does not need to be deployed
    ;M98 Pdeployprobe.g ; deploy the mechanical Z probe

    ; 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-99999

    ; bed.g file for RepRapFirmware, generated by Escher3D calculator
    ; 10 points, 6 factors, probing radius: 150, probe offset (0, 0)

    G30 P0 X0.00 Y150.00 Z-99999 H-0.09
    G30 P1 X0.00 Y150.00 Z-99999 H-0.09
    G30 P2 X0.00 Y150.00 Z-99999 H-0.09
    G30 P3 X0.00 Y150.00 Z-99999 H-0.09

    G30 P4 X129.9 Y75 Z-99999 H-0.037
    G30 P4 X129.9 Y75 Z-99999 H-0.037
    G30 P5 X129.9 Y75 Z-99999 H-0.037
    G30 P6 X129.9 Y75 Z-99999 H-0.037
    G30 P7 X129.9 Y75 Z-99999 H-0.037

    G30 P8 X129.9 Y-75 Z-99999 H0.006
    G30 P8 X129.9 Y-75 Z-99999 H0.006
    G30 P9 X129.9 Y-75 Z-99999 H0.006
    G30 P10 X129.9 Y-75 Z-99999 H0.006
    G30 P11 X129.9 Y-75 Z-99999 H0.006

    G30 P12 X0.00 Y-150.00 Z-99999 H-0.021
    G30 P12 X0.00 Y-150.00 Z-99999 H-0.021
    G30 P13 X0.00 Y-150.00 Z-99999 H-0.021
    G30 P14 X0.00 Y-150.00 Z-99999 H-0.021
    G30 P15 X0.00 Y-150.00 Z-99999 H-0.021

    G30 P16 X-129.9 Y-75 Z-99999 H0.019
    G30 P16 X-129.9 Y-75 Z-99999 H0.019
    G30 P17 X-129.9 Y-75 Z-99999 H0.019
    G30 P18 X-129.9 Y-75 Z-99999 H0.019
    G30 P19 X-129.9 Y-75 Z-99999 H0.019

    G30 P20 X-129.9 Y75 Z-99999 H-0.032
    G30 P20 X-129.9 Y75 Z-99999 H-0.032
    G30 P21 X-129.9 Y75 Z-99999 H-0.032
    G30 P22 X-129.9 Y75 Z-99999 H-0.032
    G30 P23 X-129.9 Y75 Z-99999 H-0.032

    //G30 P24 X0 Y0 Z-99999 H-0.273
    G30 P24 X0 Y0 Z-99999
    G30 P24 X0 Y0 Z-99999
    G30 P25 X0 Y0 Z-99999
    G30 P26 X0 Y0 Z-99999
    G30 P27 X0 Y0 Z-99999 S7

    ;*** Remove the following line if your Z probe does not need to be retracted
    ;M98 Pretractprobe.g ; retract the mechanical Z probe

    G1 X0 Y0 Z150 F15000 ; get the head out of the way of the bed



  • Just a couple of things.

    I never attempted 7 factors due to the advice presented in the "how to" documents.

    Based on other advice I purchased and installed springs on the arms pairs and that made a significant difference.

    I was having trouble with consistent Z-probe readings. So I did a manual calibration using the "strip of paper" method. That turned out quite good.

    Haven't settled on a new Z-probe yet.

    Frederick



  • Again try 8 factor calibration which is everything that 7 does but without adjusting the Rod Length (ie it will adjust the tower position's angularly with respect to the Z tower IIRC



  • Thanks, will try that (again), I tried once (did not work well) but I used a bed.g file without the height offsets for the fsr's. I am not sure if I can measure all points before I have to leave for the weekend, so I will most likely show results on Sunday evening.


  • administrators

    It's quite common for 7 factor calibration to want to increase the rod lengths. The known common causes are:

    1. Steps/mm setting too high. Calibrate the steps/mm by printing one short and one tall cube or cylinder together, measuring the height difference and comparing it with the intended value.

    2. Using FSRs under the bed, and the trigger height is not the same between the towers as it is in front of the towers.



  • What is the relationship between rod length and steps per mm?

    Would adding to the steps per mm produce a similar result as reducing the rod length?

    Also, can steps per mm in the firmware be a decimal and can it be a different value for the X, Y, and Z motors?



  • @dc42:

    It's quite common for 7 factor calibration to want to increase the rod lengths. The known common causes are:

    1. Steps/mm setting too high. Calibrate the steps/mm by printing one short and one tall cube or cylinder together, measuring the height difference and comparing it with the intended value.

    2. Using FSRs under the bed, and the trigger height is not the same between the towers as it is in front of the towers.

    I only probe between the towers anymore inline with my FSR's. Unless all probe points are within the imaginary triangle created by the FSR's, the probing will push down further outside the triangle like a teeter totter. How much will determine how much deviation.



  • How much do steps/mm have to be wrong to show a visible effect?

    Should I measure before or after calibration?

    Before calibration means that I use the real rod length and adjusted delta radius so that that nozzle moves approximately 30cm when I tell it to go from x0 y-150 to x0 y150.
    äAs you can see on the other thread from yesterday all three motors travel the same distance, also when I check height with a ruler all three are the same height +/- 0.5mm and when I do Z only moves at x0 y0 then moving 10cm also shows as 10cm on the ruler.

    I have printed a holder for my dial gauge to get better results, more on this when I am back on Sunday..

    I printed some calibration cubes (allthough not of different height) after calibration and they were close to the expected 2cm, X and Y were too short (1.86 for x and y) will try a much higher cube next time.

    Also here, what is relevant, adjusting after calibration or before calibration?



  • @Alexander: So you say I should try to only probe alone the lines from x0 y0 in direction of the fsrs?

    smething like
    x0 y0
    x0 y50
    x0 y100
    x0 y150

    and similar for the other two fsrs?



  • Yeah, something that stays away from the midpoints between the towers.

    The tilt between towers is minimal, but as others have noticed, enough to alter auto-calibration.

    Like the following:

    [c]G30 P0 X0.00 Y150.00 Z-99999 H0
    G30 P1 X129.90 Y-75.00 Z-99999 H0
    G30 P2 X-129.90 Y-75.00 Z-99999 H0

    G30 P3 X0.00 Y100.00 Z-99999 H0
    G30 P4 X86.60 Y-50.00 Z-99999 H0
    G30 P5 X-86.60 Y-50.00 Z-99999 H0

    G30 P6 X0.00 Y50.00 Z-99999 H0
    G30 P7 X43.30 Y-25.00 Z-99999 H0
    G30 P8 X-43.30 Y-25.00 Z-99999 H0

    G30 P9 X0 Y0 Z-99999 S6
    [/c]

    Also, my rods are 300.15 from Tricklaser and the auto-calibration wants them to be around ~310mm to 315mm, which is a similar increase to your rods. I feel like the Trick Laser built arms are likely accurate though and I would trust the stated rod length, which leaves me to tweaking steps per mm for any sort of scaling issues.

    Are you using the red and white ball-cup arms? I'm still calibrating my printer and I have a larger caliper coming in the mail today, so I will try to do some individual measurements on all 6 arms and the carriage steps per mm movement and update this post with my findings.



  • Yes, I have the red cup / white balls arms.

    All six are very very close in size as far as I can tell, I clamped all of them between two pieces of wood and made sure that eveything is properly aligned. Then I tried if I could move one of the arms a little up and down, not one of them moved so they should be pretty much of the same size.


  • administrators

    Assuming that in all cases you let auto calibration adjust the delta radius to make the overall printing plane neither convex nor concave, the product of configured steps/mm and configured rod length is what determines whether the printing plane has ridges in line with the towers and valleys in between, or vice versa, or neither if the product is exactly right. So if auto calibration wants to increase the rod length, this could be a sign that the configured steps/mm is too low.

    You can have different steps/mm for X Y and Z, but this should not be necessary if you have the same type of belt and same belt tension on all three.



  • So should I try to use 7 factor calibration and tweak steps/mm until it comes back with the correct rod length of 360mm or should I do try and error until I see that horizontal moves stay on even height?

    Or should I try 6 factor calibration and try to minimize the error by tweaking steps/mm?

    I am also thinking of attaching two led's to the front and back of my effector and trying to visualize the movements with a long exposure with my camera.


  • administrators

    You can try changing steps/mm so that 7 factor calibration doesn't change the rod length, but check that the height of your prints comes out correctly afterwards.

    Geometric errors might also cause this problem, e.g. rod bearing spacing not the same on the effector as it is on the carriages.



  • @MiR:

    I am also thinking of attaching two led's to the front and back of my effector and trying to visualize the movements with a long exposure with my camera.

    I have no clue if this would work or not, but it'd make a great time lapse video.

    edit

    Actually, it looks like attaching the right light source to the extruder and running your printer faster under the right time lapse exposure setting would produce something like in the link below: http://www.wasproject.it/w/en/light-extruder-by-gianluca-pugliese/


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.