Delta - Dimensional accuracy problem
-
Hey everyone,
I have a problem about the accuracy of my printer that I can't figure out.
I have a Delta with aluminium extrusion as corner (the big one) 2060 at bottom and 2040 at top. I've machines every single section of extrusion to be inside 0.005 inch tolerance. I did that because I wanted a straight and square printer, mechanically speaking.
Despite that, my printed parts aren't dimensionally accurate.I printed a part that it is supposed to be 50, 50, 25mm.
The average result I always get is:
X is 49.87 , Y 49.71 , Z 25.02
I don't bother too much about the Z, it's close enough for me, but, as you can see, the X and Y are way off.I tried to adjust with M579 without success, I always end up with the same dimension on my printed parts. After all my try and error, I ended up with these 2 questions:
- Since I'm using a Duet2, maybe I didn't add the line of code M579 in the good repository... I've added the line M579 at the end of the config.g file, is that correct ?
- What could be an other value that I could change to get closer to the proper dimension? I'm thinking like changing the Rod_Length? or the Delta_Radius ? Which one could be the best candidate in my case ?
I'm actually trying to reach as close to zero as possible for X,Y,Z endstops.
I was at: X-0,197 , Y-0,090 , Z0,286
Now at: X-0,016 , Y0,050 , Z-0,034
Despite that adjustment, I still have the same dimensional problem.Site note, my bed is directly screwed to the base of the printer, I use linear bearing, the rod are of the same length (+/- 0,004), all the extrusion are machined inside 0,005 tolerances on their length and I use a glass bed, which mean it is somewhat straight.
I'm clueless to why my print aren't dimensionally accurate. If you have an idea or could point out what I should look for, it will be greatly appreciated !
Thanks for your help
-
M579 is the way to correct small dimensional errors. I've just re-tested it on my delta, and it works. You can send M579 without parameters to display the existing scale factors.
It's also possible to adjust the XY scale by adjusting the lengths of the rods in the M665 command, then recalibrating the delta radius. I don't advise adjusting the rod lengths individually unless you know that they have unequal lengths.
-
@carl IMO, deltas will always be slightly less accurate than a well-built cartesian or the like, due to the tremendous task of inputting accurate and precise measurements for arm lengths and the radius, as well as possibly tower locations/rotations.
Even if you calibrate and tweak and test so that a cube is the right dimensions, the accuracy of the print will change depending on where in the build volume it is printed. I've referred to this, before, as the "lava lamp" of inaccuracy. But, a lava lamp may or not be a useful analogy.
Essentially, because the arms all have to move different speeds at different times depending on print location and geometry, combined with the aforementioned arm length and radius measurement problem, and backlash of the motion system... this leads to small (or large) errors that change depending on where in the build volume you are printing.
IMO, get it as best as you can but don't stress yourself. Be happy with good enough.
-
@bot I understand your point, but here what I know and understand.
From a mathematical point of view, the coordinate can easily be under the tenth of thousand of an inch scale in precision, even if you round the numbers and the Duet2 can easily deal with such calculations... The only flaw is the sum of every little tolerances here and there that could lead to a dimension inaccuracy.
Since I've machined every single parts and made sure it was under 0.005 of a inch or less, even considering all the backlash and sum them up, it can't reach the 0.12mm of inaccuracy I'm currently facing. The problem is elsewhere and I assume it may be related to my manual measurement of the rod_length, which I assembled one by one with a jig and measured the center to center, by eyes, with my caliper or (probably) the delta_radius, which I measured with 2 tiny rope with a little weight hanging from the M3 bolt.
Any idea which one I should try to modify and if I have to add or substract some amount to translate in addition to the dimension accuracy ?
exemple: if I raise the delta_radius, will it translate to a bigger dimension of the printed parts or will the parts get smaller ?
thanks for your answer.
-
@dc42 Ok, you hit the nail on the head !
I sent the M579 command and just realized I did something wrong.After I sent the M579 command, I get that response in the consol:
M579 X1.000 Y1.000 Z1.000But at the end of the config.g I've written that:
M579 X1.015 Y1.085 Z0.980Which mean it does not take into account the scale adjustment I try to push.
Where do I have to write it so it will be implemented ? Maybe I wrote the line at the wrong place ?
Right now, my M579 line is the last one, under the Miscellaneous. Should it be somewhere else ?
[EDITED]
When I open the sonfig.g file, a keyboard appear at the bottom of the screen. The keyboard is hiding the lower part of of file and there is no way to toggle the keyboard on or off. <- this could be a good addition by the way.
So yes, after trying many different setting, I just realized that I had a second M579 many line lower (blank one) and the M579 was with 1.000 on all axis, so it overrided my input.
I've erased it and see if it fixed my problem. I hope it will!