Welcome! Log In Create A New Profile

Advanced

Printing size error and printer calibration

Printing size error and printer calibration
January 31, 2016 11:27AM
I have been puzzled by something for a while. When I use the mathematical ustep/mm based on belt pitch, pulley teeth, motor steps/rev and microsteps/step my calibration prints comes out about 0.5% small. I have been compensating for this by adjusting the usteps/mm by multiplying the calculated values by 1.005. I thought there might be some error in the belt calculation due to belt stretch- 0.5% is within the realm of believably, but why would the screw driven Y axis also be off by the same amount?

Then it occurred to me that I have always calibrated using ABS test prints since that is what I print with most. ABS shrinks as it cools, and as it turns out, it shrinks by about 0.5%. That explains the 0.5% errors in both the belt driven and screw driven axes in my printer. Recently I've been printing with other materials, so the 0.5% compensation I have built into the printer will cause errors with the other materials which do not shrink the same as ABS.

The problem is what to do about it. I use slic3r a lot, so I looked at slic3r's options. The scaling is all done in 1% steps- there's no way to input a value that is a fraction of a %. The XY size compensation could be used, but since it works in mm, the value would have to be set for each printed part depending on it's size. That's not going to work if you're printing multiple, different sized objects simultaneously. So if you're going to use Slic3r, the only way to compensate is to either scale the object in CAD before exporting to STL, which will make the STL file material dependent, or scale the way I have been doing by tweaking the steps/mm values for X and Y axes.

It would be better if Slic3r had a means to scale the print based on the material shrinkage, so in the filament settings you might enter the material and slic3r would apply a scaling factor to the gcode so that the cool part will match the target size.

Cura allows you to scale the print by any multiplier, so the material shrinkage can easily be applied at slice time, assuming you know the value. The value is easy to determine- print an object and measure it.

A little more research finds that the M579 command allows scaling in RepRap firmware (but not Marlin or Smoothie). Hmmm. Back to either CAD scaling or Cura scaling.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Printing size error and printer calibration
January 31, 2016 11:59AM
If you plate in repetier host you can apply arbitrary scaling before calling the slicer. I haven't checked to see if sub % scaling actually changes the g-code though...
Re: Printing size error and printer calibration
January 31, 2016 12:20PM
That's an option if you use host software, but I don't. In Smoothieware I can set the steps/mm of the axes from the LCD panel and the set values will apply until the board reboots, so I could set them at print time, every time I print, but that would be a bit of a PITA.

Would the extruder steps/mm also need to be scaled? Hmmm. I calibrated the extruder using ABS before calibrating the steps/mm in the axes. Maybe the extruder steps/mm should be reduced by 0.5% for a baseline value, then the steps/mm also adjust depending on the material shrinkage. If I print with ABS, I scale E steps/mm by 1.005. If I use PLA I scale by whatever the appropriate value is for PLA, maybe 1.002.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Printing size error and printer calibration
January 31, 2016 04:30PM
I don't know about others but I don't calibrate to a printed part, I calibrate to physical measurements of axis movements.
This way I get consistent results and all "deformaties" are material specific.
There are some g-code editors out there that allow sizing of g-code but I guess it would be easier to do that in a program if you have to do it.
Re: Printing size error and printer calibration
January 31, 2016 05:11PM
How do you accurately measure movement of the axis?


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Printing size error and printer calibration
January 31, 2016 05:51PM
Quite simple:
Use a fixed point to place the calipers, extend till they touch the print head or related parts, move the axis a fixed amount and read the result from the calipers.
If you move x by 100mm and they show 95mm instead it means you need to reduce a few steps.
Re: Printing size error and printer calibration
January 31, 2016 06:46PM
That's a good point- the baseline should be the motion of the machine, not the printed part size, which is going to shrink as it cools and going to shrink by different amounts depending on the type of plastic. Directly measuring machine movement is going to be a better way to get at the baseline than measuring a shrunken plastic part, unless that type of plastic is the only type you use. That's exactly what I have been doing- the reason I've been getting excellent part sizes is because for most of the 2+ years I've been printing is because I've printed exclusively ABS and used ABS to calibrate.

Now that I've started playing with other materials, I was investigating why there was a difference between the theoretical steps/mm and the actual as measured in a (shrunken) printed part. My initial assumption was that there was some mechanical problem, but it didn't make sense because I was getting the same error in a belt drive axis and a screw drive axis, which just seemed very unlikely.

I'll have to look at my machine and figure out how to set up to measure motion in the axes.

A scaling factor will have to be applied for each material, based on its shrinkage. That scaling factor will have to be found empirically by printing a part and measuring it.

Edited 1 time(s). Last edit at 01/31/2016 06:47PM by the_digital_dentist.


Ultra MegaMax Dominator 3D printer: [drmrehorst.blogspot.com]
Re: Printing size error and printer calibration
January 31, 2016 07:52PM
It's difficult accurately taking two measurements to get a travel. You could go all in and fit a set of dro's smiling smiley

[www.micromark.com]
Sorry, only registered users may post in this forum.

Click here to login