Welcome! Log In Create A New Profile

Advanced

Online least-squares delta printer calibration calculator

Posted by dc42 
Re: Online least-squares delta printer calibration calculator
November 05, 2017 03:21PM
I was expecting all the major firmwares to implement least squares auto calibration long ago, so I thought the online calculator would become redundant very quickly. Yet it is still the case that no firmware other than RepRapFirmware includes it as standard, even though I published the code two and a half years ago. Maybe other firmwares are so tight on RAM space that they can't afford the 0.7K or so temporarily space needed for the matrix calculations. Either that or there is a lot of NIH feeling among developers.

Extending the online calculator to correct for be tilt would have little value, because AFAIK no other firmware provides configuration parameters for correcting for bed tilt. In any case, I am very busy right now with firmware for some exciting new developments in 3D printing.

The online calculator already allows you to generate more than 7 points. AFAIR the limit is either 13 or 16.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Online least-squares delta printer calibration calculator
November 05, 2017 03:25PM
Thanks David, I am surprised none of the others use it since it works so well and is so fast. I tried a later version of Marlin (1.1) on a delta a few months back and was surprised that it seemed to use an iterative autocalibration solution like RC's marlin from 3+ years ago, that I was using on that particular machine before. In fact, I'm getting a little annoyed with it and might order up a third Duetwifi board for it, save all the trouble. The only thing stopping me so far is it's a tiny machine and it would mean having the electronics in an external enclosure due to the size of the board.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
LVD
Re: Online least-squares delta printer calibration calculator
November 06, 2017 04:44AM
What the DC2 online calculator (CMIIW) and new Marlin-AC are using is called the displacement method AFAIR from my academic years : build a matrix with in each column the changes in the probe points (displacements) induced by changing one parameter by a small amount (force), invert it with Gauss elimination and for linear equations feeding the real measured probe results into this inverted matrix will give the solution for the required changes to the parameters. For non linear equations like in a delta printer one has to iterate though that matrix until a least square solution is found.

The only difference between DC2 and AC is how this displacement matrix is build and solved: DC2 does that within the FW, which requires some more RAM space but can deal with any configuration of probe points; while in AC the displacement matrix has been calculated and solved externally (in Excel) once and for all for an equally spaced circular probe grid(*), this universal matrix only needs to be scaled to size to match the printer dimensions. Both are basically derived from the same method but are taking a different angle to its implementation.

Rich Cattell Marlin, Marlin Kimbra,... do iterate towards a solution by switching between end-stop iteration, delta radius iteration and tower angle iteration using specific formulae for each, thus requiring approx. 3x more iterations than a displacement matrix method.

(*) in Marlin 1.1 a matrix solution for 1+3, 1+6 and 1+12 probe points are implemented; in Marlin 1.1.7 (or 2.0) besides the 1+3 solution a general matrix for 1+n*6 probe points will be implemented.
Re: Online least-squares delta printer calibration calculator
November 06, 2017 05:38AM
Well, I've been toying with the idea of trying the latest Marlin, possibly even the 32-bit port (since I also have a re-arm currently unused), for this machine. Thanks for the explanation its very interesting.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Online least-squares delta printer calibration calculator
November 06, 2017 05:49AM
What does maximum speed limit apply to in recent Marlin?
In the old Marlin, it did apply to the carriage speeds leading to slow head speed when one arm was almost horizontal.
Did they change the speed limit code so that it applies to the print head speed?
Re: Online least-squares delta printer calibration calculator
November 06, 2017 05:54AM
I don't know the answer to this one, but carriage speed must still be the limiting factor - delta design hasn't changed since then. Unless the carriages can move fast enough, without skipping steps, then you are not going to be printing anything worthwhile.

When one arm is almost horizontal there is no choice but to slow the head down otherwise that carriage will be unable to keep up and move accurately, as it has to move proportionally far further than the other two for any given head movement on the extremities of the printable area.

I'm just curious but what does this information help you with?


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Online least-squares delta printer calibration calculator
November 06, 2017 09:39AM
Repetier limits maximum print head speed and not carriage speed. Of course, that means that carriages must be able to move must faster than the maximum speed limit. How much faster? It depends how much horizontal your diagonal rods can get.

It is good when printers with bowden have constant maximum print head speed so that extrusion is more even over the whole build plate. Different print speeds need different pressure in the hotend and proper pressure management is not easy through bowden ... especially for the case like this where head speed changes non-trivially depending on XY position.
Re: Online least-squares delta printer calibration calculator
November 06, 2017 10:31AM
Quote
DjDemonD
Hi David, any chance of the least squares online calculator being updated to do 8 and 9 factor calibration, and to auto generate more than 7 points?

It does allow 10 points. I couldn't find anything in Repetier to do with tower tilt either.
Re: Online least-squares delta printer calibration calculator
November 06, 2017 10:37AM
I'll try 10 points that will improve the fit.

I was not referring to tower tilt but bed tilt, which is the 8th factor. I am presuming that bed tilt factors into the endstop values, and does not rely on a specific routine in the firmware.

Edited 1 time(s). Last edit at 11/06/2017 10:39AM by DjDemonD.


Simon Khoury

Co-founder of [www.precisionpiezo.co.uk] Accurate, repeatable, versatile Z-Probes
Published:Inventions
Re: Online least-squares delta printer calibration calculator
November 06, 2017 01:41PM
If all towers are tilted the same way (which is what DC42 calibration assumes) then this tower tilt is not distinguishable from bed tilt. It is the same. Just different names.
Re: Online least-squares delta printer calibration calculator
November 06, 2017 05:44PM
Bed tilt is not equivalent to adjusting endstop values. RepRapFirmware adjusts the Z height to compensate for bed tilt during printing.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Online least-squares delta printer calibration calculator
November 07, 2017 03:22AM
Yes, bed tilt is not equivalent to adjusting endstops. But it is equivalent to tower tilt (if all towers have the same tilt). It is just a matter of whether the coordinate system is aligned with the towers xor the bed. There are at least three ways to mitigate this problem:
  • Z-height adjusting based on XY position. The part will be imprecise (as tilted as the bed/towers).
  • Rotating the part in the slicer the same as the bed is tilted. The part will be precise but requires slicer support.
  • Rotating the gcode in the firmware just before transforming it from cartesian to delta coordinates. The part will be precise.
Re: Online least-squares delta printer calibration calculator
November 07, 2017 05:25AM
Quote
hercek
... There are at least three ways to mitigate this problem:
  • Z-height adjusting based on XY position. The part will be imprecise (as tilted as the bed/towers).
    ...

True; but that can be corrected by using orthogonal axis compensation (M556). I had it in mind to do this automatically in RRF, but I haven't got around to it yet.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Online least-squares delta printer calibration calculator
March 30, 2020 05:59AM
Hello dc42 ,I used your calculator to calibrate my delta printer,but there is a problem ,the results don't seem right.I am sure that I measured the parameters nearly accurate.
after 6 attempts in calibration calculator I got error message the second attempt had good results as I got about 40 mm errors at corners.but the fact is that the PRINTER RADIUS in that attempt was too close to the one that I measured myself.(about 190 mm).I believe that my real PRINTER RADIUS is something between 190-195 mm.Further attempts had strange PRINTER RADIUS (like 45.4 mm , 12.5 mm ,-42.3 mm .etc !!).
Here are the parameters and results of my second attempt:

Steps/mm (for Repetier only): 80
Initial endstop corrections: x:0 y:0 z:0
Initial diagonal rod length:442
Initial delta radius:190.17
Initial homed height:619.06
Initial tower angular position corrections:x:3 y:5 z:0
Printable bed radius:170
Number of probe points:7
Number of factors to calibrate:6
Normalise endstop corrections? yes


Point 0 X:0 Y:170.00 Nozzle height error: -44.2

Point 1 X:147.22 Y:85.00 Nozzle height error: -41.7

Point 2 X:147.22 Y:-85.00 Nozzle height error: -41.6

Point 3 X:0 Y:-170 Nozzle height error: -42.6

Point 4 X:-147.22 Y:-85 Nozzle height error: -44.6
Point 5 X:147.22 Y:85 Nozzle height error: -44.6
Point 6 X:0 Y:0 Nozzle height error: -14.6

Success! Calibrated 6 factors using 7 points, deviation before 40.59 after 11.90
New endstop corrections: X:-1.66 Y:3.12 Z: -1.46
New diagonal rod length:442
New delta radius:325
New homed height:613.9
New tower position angle corrections: X:0.88 Y:3.31 Z:0

i think maybe i put measurements in wrong places<i'm using repetier firmware .there are two parameters in the firmware as ROD RADIUS and PRINTER RADIUS and there is one parameter in repetier host called PRINTABLE RADIUS.i don't know which of them is DELTA RADIUS and what to put in those two other parameters.

Regards
Re: Online least-squares delta printer calibration calculator
April 18, 2020 08:09AM
Quote
Mj996
Point 6 X:0 Y:0 Nozzle height error: -14.6

Success! Calibrated 6 factors using 7 points, deviation before 40.59 after 11.90

From my point of view, there is an error value for the 6th point. It shall be near -40 (between -40 & -45 as the others points). Try this !
Re: Online least-squares delta printer calibration calculator
April 20, 2020 03:20AM
Thanks Alesky07.I have the same tought and I'm trying to figer out a way to solve this.I also think that there could be a kind of software(firmware) limit that doesn't let the hardware to move to the appropriate coordinates.
Sorry, only registered users may post in this forum.

Click here to login