Welcome! Log In Create A New Profile

Advanced

Persistent scaling issue

Posted by nebbian 
Persistent scaling issue
February 14, 2016 11:37PM
I've recently been on a crusade to get my Kossel Mini to print objects at the correct dimensions.

The issue I have is that measurements in the Y dimension are consistently 0.5% too large (+- 0.1mm). Measurements in the X dimension are perfect (+- 0.1mm). I've printed around 50 calibration parts, most of my own design, to try to narrow this problem down.

Things I have tried:

  • Rebuilt diagonal arms, all are closer than I can measure (<0.1mm different)
  • Spaced out diagonal arm mounting points so that all are mounted within 0.1mm (within tolerance of what I can measure, measured when mounted, I find these difficult to measure properly)
  • Adjusted frame so that linear bearing tracks are parallel (< 0.05mm difference between top and bottom of tracks, measured between towers)
  • Adjusted frame so that linear bearing tracks are equidistant (< 0.05mm difference between between towers)
  • Ensured that all towers are at exactly 90 degrees to the bed
  • Adjusted steps per mm in the firmware so that all carriages move exactly 100 mm when I move the effector down 100 mm using Pronterface. All are between 80.1 and 80.2 steps/mm.
  • Rewired motors and endstops so that X became Y, Y became Z etc to see if it was a firmware issue. The problem stayed with the hardware, it didn't rotate around.
  • Adjusted steps per mm in the firmware so that all dimensions were spot on as printed (Z was at 79.6 or so), but this introduced other errors such as a crinkled print surface which meant that I couldn't use this as a solution.

I'm running out of ideas.

About the only thing I can think of is to measure the effector tilt, maybe this is causing the issue (as my nozzle hangs down about 60mm from the effector plane). Can anyone think how to measure effector tilt, in the region of 0.5 degrees difference between two points?

Or maybe my printed effector doesn't have its diagonal rod mounting points at exactly 120 degrees from each other, would this cause similar issues?
Re: Persistent scaling issue
February 15, 2016 03:05AM
Yes you will get nozzle tilt if the angles between the three sets of lines joining pairs of upper bearings is not the same as for the lower bearings.

Is there any play in the joints? If you have the standard MK build with the extruder mounted on the Z tower, then the force exerted by the Bowden tube on the effector reverses direction as the effector moves in the Y direction. Any play in the joints will cause a Y scaling error. I use pieces of elastic to support the Bowden tube from the top frame, to reduce the sideways force exerted by the weight of the tube - but I have a much longer Bowden tube than a MK.

It's hard to eliminate scaling errors completely on a delta. Some firmwares provide the M579 command [reprap.org] to allow you to adjust residual scaling errors after you have got the mechanics as precise as you can.



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: Persistent scaling issue
February 15, 2016 03:41AM
Quote
dc42
Yes you will get nozzle tilt if the angles between the three sets of lines joining pairs of upper bearings is not the same as for the lower bearings.

Is there any play in the joints? If you have the standard MK build with the extruder mounted on the Z tower, then the force exerted by the Bowden tube on the effector reverses direction as the effector moves in the Y direction. Any play in the joints will cause a Y scaling error. I use pieces of elastic to support the Bowden tube from the top frame, to reduce the sideways force exerted by the weight of the tube - but I have a much longer Bowden tube than a MK.

It's hard to eliminate scaling errors completely on a delta. Some firmwares provide the M579 command [reprap.org] to allow you to adjust residual scaling errors after you have got the mechanics as precise as you can.

Thanks David.

I'm using a flying extruder now which imparts more tilting force than a standard bowden cable, but I really don't think that this is the problem. I made sure when building my machine that all traxxas joints were slop free (had to build 15 joints to get 12 good ones), and the effector doesn't have any clickiness or slop in it that I can feel. I can tilt the effector slightly by hand, but it takes a lot of force to do so and it seems equal in all directions. This tilt gets transferred to the linear rail carriages. I really don't think that the scaling issue is to do with slop, I'm pretty sure it's something that's off in the geometry.

Thanks for the info on the M579 command, is RepRap firmware available for Arduino / RAMPS?
Re: Persistent scaling issue
February 15, 2016 03:54AM
Quote
nebbian
Thanks for the info on the M579 command, is RepRap firmware available for Arduino / RAMPS?

No, it's 32-bit firmware, available for Duet and RADDS.



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: Persistent scaling issue
February 15, 2016 09:49AM
As far as I can tell, it's not effector tilt. I just made up a piece that clamps onto the effector, and shows if the effector is changing its tilt as you move the effector around. It showed me that one set of rods was spaced 0.3mm too closely, but after sorting this out the scaling issue was still present.

*sigh*

Really running out of ideas now.

Edited 1 time(s). Last edit at 02/15/2016 09:50AM by nebbian.
Re: Persistent scaling issue
February 15, 2016 11:41AM
Is the 0.5% too large in the Y direction the same everywhere on the bed?



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: Persistent scaling issue
February 19, 2016 10:25AM
After a couple of hours every night, for literally weeks, I've finally found something that has made a big difference.

The RobotDigg carriages I've been using weren't totally square to the rails. Or the rails weren't perpendicular to the centreline. In any case, I made up some lead spacers to go between the linear rail carriage and the aluminium carriage that the ball joints mount to. Then I was able to tweak the tension in the 4 bolts which would squish the lead spacer, to adjust the angle of the ball joints so that either the left or the right one was closer to the centre of the bed.

I found this very difficult to measure.

The only way that made sense to me was to take the diagonal rods off the effector, bolt the end of each pair together, then measure the distance between each rail and the centre of the diagonal rod pair. Hard to explain, but it seemed to work. The worst carriage was out by a couple of mm off centre when measured this way. I wouldn't have thought that this would make much difference, but I was wrong.

Now I'm down to something like 0.2% difference between X and Y measurements, which is on the border of being acceptable to me.
Re: Persistent scaling issue
February 19, 2016 01:12PM
That's a neat way of checking the angles between the carriage bearing lines. I must try it on my delta, because I am still getting a little effector tilt and I suspect my build has a similar problem to the one you had.



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: Persistent scaling issue
February 19, 2016 09:22PM
Hey dc42,

Can you please try printing this calibration piece?

I'd be interested to see how close your auto calibration routine gets to a perfect scale.




The way to measure is:

Print this using PLA (not ABS, it shrinks too much), I use 0.2mm layer heights with a brim.

Start with the axis that is aligned with the Z tower.

Put your calipers around the rectangle that is closest to you. Measure the length of this rectangle. Now keep the lower jaw on that rectangle, and move the top jaw to the next rectangle in. Measure this distance. Keep going until you hit the centre.
Eg: Z: 10.04, 30.00, 50.01, 70.02, 89.96

What we're interested in here is the difference between the measurements. This cancels out any errors in extrusion or wall width, and we're left with pure positioning. In the example above, I'd be perfectly happy with those numbers.

Here's another set:
X: 9.86, 29.76, 49.50, 69.59, 89.5

This indicates that this axis is undersized, by about 0.1mm per 20mm, or 0.5 %. Don't sweat each individual measurement, you're after a general trend for each set of numbers. Remeasuring each block can give slightly different numbers, but the trend stays the same. In the example above, the third measurement (49.5) seems a little low, perhaps I didn't measure it properly, so we treat that as an outlier and discard that measurement.


I'd be interested to hear your results.

Edited 1 time(s). Last edit at 02/19/2016 09:24PM by nebbian.
Attachments:
open | download - Delta Stripes_0.02.stl (166.8 KB)
Sorry, only registered users may post in this forum.

Click here to login