Welcome! Log In Create A New Profile

Advanced

Squares are not square

Posted by PRZ 
PRZ
Squares are not square
September 05, 2015 07:59AM
While printing calibration part, I got significant differences between X and Y dimensions, and I discovered why.
When I replaced my bed by an aluminium one, I set wood insulation and the compression of this wood insulators created small height differences between my balls. Realigning the balls height corrected the biggest error, while there is remaining default.

I assume that the calibration algorithm try to compensate the levelling and create a fictive geometry with that X/Y differences

The problem is that the default is amplified, say a level difference of 0.1mm will translate in a larger X/Y difference.
It is not easy to measure accurately the bed height, and even if it is aligned on the bottom acrylic plate, the plate itself may not be well perpendicular to the columns.
The original plate may had less default than my modified one, but the system is not very precise. If you got not square parts, you may try to use paper washers below the balls.

Maybe an adjustable bed height part shall be designed. Two are needed to level the bed.

Edited 1 time(s). Last edit at 09/05/2015 08:51AM by PRZ.
Re: Squares are not square
September 05, 2015 12:07PM
Same problem on my printer, squares are not square. But I'm not sure of the leveling problem.
When I print a square of 60mm, I obtain 65x64 with sides not perpendicular.
Two sides are almost straight. One is concave.

All parts of my Fisher are the original ones. For now.
Firmware is the last one from RRP.
Re: Squares are not square
September 05, 2015 12:31PM
I observe the same problems with the stock firmware. If you haven't noticed, I've recently ported my own APrinter firmware to Fisher/Duet, and I have managed to manually calibrate the delta parameters reasonably well. In the linked post I also describe the calibration procedure I used. I think the issue is that the stock firmware in the automatic calibration procedure actually adjusts the various delta parameters (endstop positions, delta radius and diagonal rod length) rather than just compensates height, which achieves flatness but messes up the shape and size. With APrinter instead the calibration just compensates height and lets you manually correct for other stuff.

It would be really great if you gave my firmware a try!

Edited 1 time(s). Last edit at 09/05/2015 12:34PM by ambrop7.
Re: Squares are not square
September 05, 2015 12:39PM
Quote
ambrop7
I think the issue is that the stock firmware in the automatic calibration procedure actually adjusts the various delta parameters (endstop positions, delta radius and diagonal rod length) rather than just compensates height, which achieves flatness but messes up the shape and size.

It only adjusts diagonal rod length if you use 7-factor calibration, which I don't recommend because the diagonal rod length (a) should be known, and (b) isn't easy to establish by probing, because changing it only affects the flatness of the printing plane slightly if you make a corresponding change in the delta radius.

You can choose to calibrate 3, 4, 6 or 7 parameters automatically. Or none if that's what you really want.



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: Squares are not square
September 05, 2015 12:46PM
Quote
dc42
It only adjusts diagonal rod length if you use 7-factor calibration, which I don't recommend because the diagonal rod length (a) should be known, and (b) isn't easy to establish by probing, because changing it only affects the flatness of the printing plane slightly if you make a corresponding change in the delta radius.
You can choose to calibrate 3, 4, 6 or 7 parameters automatically. Or none if that's what you really want.

Maybe it would help if the input to the calibration wasn't just bed probing (heights at various points), but also one or more measurements of the XY distance between two points? I found I can do such measurements by slightly colliding the nozzle into some paper on the bed, which leaves an imprint. I know it can't be automatic (would need user assistance), but with this info it should be possible to prevent over-adjustment of the parameters and calibrate the size and shape too not just the bed height.
PRZ
Re: Squares are not square
September 05, 2015 12:53PM
I don't think this is the firmware, or more exactly, I think this is the side effect of the matrix rotation driven by the calibration procedure.
I searched the Internet, and this unsquare problem does occur with other firmware than RRP/DC42 branch.

Understanding the side effect of unaccurate geometry with the delta algorithm is really not easy and to be honest, I don't visualize what occurs here in the algorithms. Normally, If you rotate the local X,Y,Z space according bed inclination, you shall not have such problem. Maybe the inclination is not detected and considered as an offset on one column. The local space may be twisted instead of being inclined ?

With the side panels, the Fisher is more geometrically accurate than most Deltas.
But you cannot obtain a good bed levelling with non adjustable parts. We shall have a precision below 0.1mm for good accuracy.

What have driven me to test the bed level was that it is by construction the less precise element of this machine. Also, my mod was amplifying the defaults, so that was an easy take.

Ambrop, About your Firmware, I don't want to discourage you, but the big advantage of the duet/RRP is the control by the web server. If you don't propose something equivalent, you won't get many chances.

Edited 2 time(s). Last edit at 09/05/2015 12:56PM by PRZ.
Re: Squares are not square
September 05, 2015 12:58PM
Quote
PRZ
About your Firmware, I don't want to discourage you, but the big advantage of the duet/RRP is the control by the web server. If you don't propose something equivalent, you won't get many chances.

True, I do not have any kind of Ethernet/web-interface support. Personally I find controlling with a USB port quite sufficient, as do many other people with printers without Ethernet. But I do plan on implementing some TCP/IP stuff at some point; one of the reasons I bought the Fisher kit is so I could play with the Ethernet smiling smiley
Re: Squares are not square
September 05, 2015 12:59PM
Quote
ambrop7
Quote
dc42
It only adjusts diagonal rod length if you use 7-factor calibration, which I don't recommend because the diagonal rod length (a) should be known, and (b) isn't easy to establish by probing, because changing it only affects the flatness of the printing plane slightly if you make a corresponding change in the delta radius.
You can choose to calibrate 3, 4, 6 or 7 parameters automatically. Or none if that's what you really want.

Maybe it would help if the input to the calibration wasn't just bed probing (heights at various points), but also one or more measurements of the XY distance between two points? I found I can do such measurements by slightly colliding the nozzle into some paper on the bed, which leaves an imprint. I know it can't be automatic (would need user assistance), but with this info it should be possible to prevent over-adjustment of the parameters and calibrate the size and shape too not just the bed height.

That's an interesting idea. However, the question then becomes what balance should the firmware seek between getting the printing plane flat and getting the size right.

Going back to the original problem, I suspect that either the bed is not flat, or it is a long way off being perpendicular to the towers, or the trigger heights in the bed.g file are not in line with the actual trigger heights. So I suggest:

1. Make sure you are using the latest firmware (1.09i-dc42).

2. Check that the bed is flat and perpendicular to the towers.

3. Measure the probe trigger heights at the probe positions you are using and use H parameter corrections on the G30 commands in bed.g. Use at least 7 probe points. See [reprap.org].

4. Run 4-factor auto calibration.

5. Do a couple of test prints:

(a) your square, to check the measurements and the angles;

(b) a calibration spiral to check the flatness of the printing plane.

Edited 2 time(s). Last edit at 09/05/2015 01:01PM by dc42.



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].
PRZ
Re: Squares are not square
September 05, 2015 01:12PM
You could have a better result than trying to measure the distance on a paper, by simply measuring the calibration part, which is, by the way, how we do the test.
I think that having a mean to enter the X,Y size of a given part in the calibration procedure is a route which may help evaluate more accurately the faulty geometry.
Re: Squares are not square
September 05, 2015 01:18PM
Quote
PRZ
You could have a better result than trying to measure the distance on a paper,

Actually I was doing that but I then started the paper method since it is in my experience faster to perform, and also more precise. For measuring the object, I think for good precision you'd need a specially designed part (e.g. a thin rectangle of a single extrusion), because measuring just the outer size will have error due to uncalibrated extrusion width.
PRZ
Re: Squares are not square
September 05, 2015 01:30PM
David,

1. I run the 1.09d firmware. Was there modifications on the calibration since ?

2. My aluminium bed is reasonnably flat (that was the motive to change it, the original bed was completely warped).
My bed was NOT perpendicular to the the towers, and that was the point of my post, to explain what could be the consequences.

3. Done

4. I systematically run the 7 points/ 6 parameters calibration, because I got less problem with that than with the 4 points calibration. What is the point to restrict to 4 points calibration ?
I solved the mechanical stability problems of the machine by renforcing it, but I created another instability by heating the bed with a light spot, which is required because the thermal conductivity of the aluminium bed created problems. I shall go back to wood/plastic bed, but a flat one. So a complete calibration is always needed.

5. (a) That was how I detected the problem

(b) I will do that

Edited 1 time(s). Last edit at 09/05/2015 01:31PM by PRZ.
Re: Squares are not square
September 05, 2015 01:44PM
Quote
PRZ
David,

1. I run the 1.09d firmware. Was there modifications on the calibration since ?

2. My aluminium bed is reasonnably flat (that was the motive to change it, the original bed was completely warped).
My bed was NOT perpendicular to the the towers, and that was the point of my post, to explain what could be the consequences.

3. Done

4. I systematically run the 7 points/ 6 parameters calibration, because I got less problem with that than with the 4 points calibration. What is the point to restrict to 4 points calibration ?
I solved the mechanical stability problems of the machine by renforcing it, but I created another instability by heating the bed with a light spot, which is required because the thermal conductivity of the aluminium bed created problems. I shall go back to wood/plastic bed, but a flat one. So a complete calibration is always needed.

5. (a) That was how I detected the problem

(b) I will do that

The firmware has advanced since 1.09d, in particular I added the H parameter on the G30 command. The movement code has also been changed to fix some issues that were observed on larger deltas, although AFAIK they didn't affect the Fisher.

I suggested you try 4-factor calibration to see what bed height errors you have when you don't allow the firmware to adjust the tower positions to compensate for them, and also to see how accurate the cube sides are and whether they have the same length.

Another good test is to use 6-factor calibration but increase the number of probe points to 10, 13 or 16. Then the "deviation after" figure you can achieve gives you an idea of how much the delta geometry is off. Using 10 or more probe points with 6-factor calibration will very likely also help with your square corners.



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: Squares are not square
September 05, 2015 02:02PM
...I should find how I can upgrade the firmware for the Duet since I'm still in 1.09c grinning smiley
Is there a tutorial on the subject ?
Re: Squares are not square
September 05, 2015 02:10PM
Quote
Martoh
...I should find how I can upgrade the firmware for the Duet since I'm still in 1.09c grinning smiley
Is there a tutorial on the subject ?

1.09c appears to be the latest version of my fork that RepRapPro has tested and approved. I would upgrade, because I know what I have fixed/improved in it smiling smiley But if your machine is working well, you may prefer to leave it alone.

Firmware updating instructions are at [reprappro.com] and the 1.09i-dc42 binary is at [github.com] (follow the link, then click Raw to download it). Keep your existing SD card files.

Edited 1 time(s). Last edit at 09/05/2015 02:12PM by dc42.



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].
PRZ
Re: Squares are not square
September 05, 2015 02:39PM
Ok,
Following a comment in the arm topic, I have done a macro with ten points/6 param, and while the deviation is larger, the results are more consistent and the tower inclinations are more realistic. I never trusted the tower inclination I get with 7points/6param as they were way too large and inconsistant.

Following that I was using 4points/3 parameters with tower inclination blocked to 0, but I had problems (that was with the warped bed).
I now understand your point to lock the inclination tower, maybe while using 7 points, 4 parameters.
It is more clear now that even if that drive to a larger deviation, having at least 3 points more than the adjusted parameters will give at the end better results.
Re: Squares are not square
September 05, 2015 02:52PM
Quote
PRZ
It is more clear now that even if that drive to a larger deviation, having at least 3 points more than the adjusted parameters will give at the end better results.

That's right. If your printer had perfect delta geometry, 4-point 4-factor calibration would be enough. If it had perfect geometry apart from the towers not being quite at the corners of an equilateral triangle, 6-point 6-factor calibration would be enough. But if you have leaning towers, or the diagonal rods in a pair not quite the same length, or a bed not quite flat or not quite level, then the 6-point calibration calculation doesn't take account of those and will instead move the towers to minimise the height errors at the probe points you specify. This may increase the height errors at points you haven't probed, and cause other effects such as non-straight lines. By probing more points (including points neither at centre nor the periphery of the bed), you stop the auto cal routine making adjustments that would cause height errors at those additional points.



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: Squares are not square
September 05, 2015 07:11PM
Hey DC if you want to add a physical measurement method to the calibration maybe have a look at this method I developed for setting extruder and xy orthographic correction.

[forums.reprap.org]

Interesting the comment on three straight sides and one concave, I generated a mathematical model of a delta in Excel and predicted this exact shape if the am lengths are wrong.

Ambrop, if you want to generte interest for your firmware your going to have to demonstrate some significant improvements over dc's, I looked at it and it may have some attraction to those with multiple printers with different controllers, but as a guy with two duet based printers that I can control at the same time from a single computer or tablet over wifi, the loss of the Web interface is a big deal.



RepRapPro Mendel 3 Tricolour
RepRapPro Fisher
-Carbon Arms
-Easy adjust Carriage+effector
-axis stiffness mods
HE3D -600 delta
-Duet 0.8.5
-PanelDue
-DC42 Height probe
-RobotDigg metal components
Simplyfy3D
RS Design Spark CAD
Sorry, only registered users may post in this forum.

Click here to login