Welcome! Log In Create A New Profile

Advanced

Can anyone explain this consistent shrinkage across all shapes and sizes?

Posted by neildarlow 
Can anyone explain this consistent shrinkage across all shapes and sizes?
February 25, 2014 03:51PM
Hi,

I am printing using Reprapsource.com 4043D PLA (and the more I use it, the more I feel the higher price is justified - it is very good!).

What I am observing is that any object I print, of any shape or size, exhibits a constant shrinkage in X and Y of approximately 0.15mm. I like that it is consistent but am somewhat puzzled as to where it comes from. Is it perimeter-only shrinkage?

Regards,
Neil Darlow


I try to write with consideration for all nationalities. Please let me know if something is unclear.
Printing with Mendel90 from fedora 25 using Cura, FreeCAD, MeshLab, OpenSCAD, Skeinforge and Slic3r tools.
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 25, 2014 06:20PM
A constant offset in outside dimensions would imply the flow rate is too low but it would also make square holes too big by the same amount. Backlash would also reduce the outside dimensions by a constant and also reduce the inside dimensions I think.

Plastic shrinkage would give a constant percentage, something like 0.5%.


[www.hydraraptor.blogspot.com]
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 26, 2014 06:38AM
Thanks for the suggestions. I think backlash is likely. I have noticed some clicking on retract.

A little adjustment of the motor position has been made and I suppose a re-calibration of E_STEPS_PER_MM would be wise also.

On a side note, I have a set of replacement gears printed in PLA. If I put these into service, some time in the future, should they be run without any lubrication? I would imagine that grease might have undesirable effects.

Regards,
Neil Darlow


I try to write with consideration for all nationalities. Please let me know if something is unclear.
Printing with Mendel90 from fedora 25 using Cura, FreeCAD, MeshLab, OpenSCAD, Skeinforge and Slic3r tools.
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 26, 2014 09:06AM
If the numbers of teeth on the gears are the same then I don't see why E_STEPS_PER_MM will need to change as a result of simply replacing the gears. The gear ratio remains the same so the rate of revolution should be the same?

If nothing else changes then the only tweaking necessary should be to compensate for the slight variations in filament width, which can be done by printing/measuring a calibration object and adjusting the extrusion multiplier.
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 26, 2014 03:52PM
Spring tension and plastic hardness affect E steps per MM.

I don't know if PLA gears need lubrication. I can't remember using any. The heat from the motor shaft is likely to soften the small one.


[www.hydraraptor.blogspot.com]
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 26, 2014 09:57PM
I've been grappling with this for the last few weeks also - everything is consistently a bit too small, about the same amount as Neil although a bit more so on the y-axis (most likely due to backlash).

I printed a 100mm frame (seen attached) with an outer square and an inner square. As you say, the outer is a bit too small and the inner is a bit too large - so the solution is to adjust the flow upward. What confuses me is that a cylinder with 1mm walls made of two 0.5mm perimeters is 0.14mm too thick (the walls, not the whole part). I think this is partly explained because perimeter tracks, being unconstrained on one side, bulge out a bit, but the whole cylinder is still a but undersized.

Edited 1 time(s). Last edit at 02/26/2014 09:58PM by ashleywebster.
Attachments:
open | download - IMG_20140222_220924 (1).jpg (81.5 KB)
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 27, 2014 05:23AM
Whenever I change filament or do anything to the printer that might affect my flow rates, I run through the following process:

- Measure the filament at 10 points around the reel at different locations and orientations, average them and use this as my filament size in Slic3r.
- Print a single-perimeter calibration object of known dimensions, then measure and average the walls to get my actual extrusion width.
- Calculate my extrusion multiplier to compensate for any over/under extrusion, adjust this setting in Slic3r and then print another object to see if it now matches - it usually does +/- 0.01mm

I also double-check the skirt for even thickness all around and that it matches my layer height but I find it takes a lot of effort for the bed to become out of level so I don't think this is necessary. Even letting my head crash into my cardboard blanket (which lifted the x-carriage off the nuts!) didn't result in the bed becoming out of true.

My E_STEPS_PER_MM setting was set in the firmware when I first built the printer using the tape-at-100mm method as described in the manual, but I haven't touched it since.
I find the above calibration routine is more than adequate to give me good dimensionally-accurate prints for any new filament that I buy. I deduce that if I tell it to lay a bead 0.2mm high at 0.5mm wide, and this is what I am measuring coming out in my prints, then my flow rates are good enough.

The small-holes issue with Slic3r still bites me occasionally but I currently compensate by setting an I.D. offset within my OpenSCAD code.
At the moment, the convenience of multiple printer/filament profiles in Slic3r outweighs my perceived effort in learning to use and setup Skeinforge to fit into my workflow, so I'm happy to stick with this.
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 27, 2014 07:02AM
@QuackingPlums: I think nophead and you differ in opinion in this area. You are treating E_STEPS_PER_MM as a constant and compensating with an extrusion multiplier. If I am correct, nophead believes that the extrusion multiplier should be fixed at 1.0 and flow rate adjusted through the E_STEPS_PER_MM calibration.

In my specific case the observation of shrinkage has come about from, I believe, two sources. Firstly backlash has increased in my Wade's gears which may be just bedding-in of the gears (I am not a heavy printer) and this may have affected my flow rate. Secondly, I have recently adopted PID control of my heated bed, which you might think bears no relevance, and as a consequence I found my parts were adhering more strongly to the bed. Looking at the underside of recent prints I noticed that the first layer was more squashed and I found it necessary to raise my Z zero point by 0.05mm. This too may have impacted my flow rate.

Having moved the motor position I think it wise to assess E_STEPS_PER_MM again (based on an extrusion multiplier of 1.0) and then to check initial layer height calibration also.

Regards,
Neil Darlow


I try to write with consideration for all nationalities. Please let me know if something is unclear.
Printing with Mendel90 from fedora 25 using Cura, FreeCAD, MeshLab, OpenSCAD, Skeinforge and Slic3r tools.
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 27, 2014 07:33AM
Oh I have no doubt that E_STEPS_PER_MM is more accurate than simply adjusting the multiplier, but if I had to do that every time I switched colours I would never get round to doing it.
Fudging it with the multiplier is a "close enough" approximation for me given that I'm confident that my filament is within 0.1mm of the calibrated E_STEPS_PER_MM firmware value.

I also run PID on my bed by the way - I think it was one of the features I accidentally turned on when merging the Panelolu2 code way back when I got it. I guess it's possible that my I.D. issue on holes is actually a flow problem and not Slic3r at all...

One of the things I would love to have the time to do is build all of this stuff into a "driver" of sorts. When I send a print job to my laser printer I don't have to worry about the type of toner/paper/drum it has, or the ambient temperature, or converting between PDF/Word/postscript/whatever into instructions that the printer can use. The printer does all of this and I can't see why 3D printing can't be the same. De-coupling the printer-specific configuration from the job-specific description will be the first step to making this technology truly consumer-friendly!
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 27, 2014 08:42AM
Quote
QuackingPlums
One of the things I would love to have the time to do is build all of this stuff into a "driver" of sorts. When I send a print job to my laser printer I don't have to worry about the type of toner/paper/drum it has, or the ambient temperature, or converting between PDF/Word/postscript/whatever into instructions that the printer can use. The printer does all of this and I can't see why 3D printing can't be the same. De-coupling the printer-specific configuration from the job-specific description will be the first step to making this technology truly consumer-friendly!

This is where the latest generation of commercial machines is headed. The introduction of proprietary filament cartridges (aside from the customer lock-in aspect) is moving the machines towards a more controllable environment. Sealed-box machines will start to appear and plug-and-play printing will come shortly thereafter. What a boring world that will be... I will stick with self-build machines.

Regards,
Neil Darlow


I try to write with consideration for all nationalities. Please let me know if something is unclear.
Printing with Mendel90 from fedora 25 using Cura, FreeCAD, MeshLab, OpenSCAD, Skeinforge and Slic3r tools.
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 27, 2014 08:55AM
@neildarlow ,
Backlash in the extruder doesn't affect the flow rate. It has very little effect other than making it more noisy. This is because the flow is always forwards, unlike axes, which move in both directions.

The way I work with multiple filaments and machines is to always slice at 3mm and compensate for the actual diameter in the firmware by scaling E_STEPS_PER_MM.


[www.hydraraptor.blogspot.com]
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 28, 2014 01:53PM
After reading this conversation, it seems that fine-tuning esteps based on the thickness of a single perimeter object (or even a double perimeter object as I have been doing) is not an accurate method if you are using a slicer which assumes a square extrusion profile and doesn't allow different perimeter and infill flows.

Am I understanding correctly?

Edited 1 time(s). Last edit at 02/28/2014 01:53PM by ashleywebster.
Re: Can anyone explain this consistent shrinkage across all shapes and sizes?
February 28, 2014 11:41PM
I should elaborate. The conversation I referenced began with a similar question to Neil's, about parts being too small (in this case on the inside only), and then led into testing whether Slic3r placed paths in the correct place. It delved into the whole issue of square vs rounded extrusion profiles and whether the error introduced on the perimeter from assuming a square extrusion profile could account for the error that the original poster was seeing.

I am very new to this and trying to understand the parameters that go into the accuracy of the finished part and determine the best way of testing and adjusting each. In terms of calibrating the flow rate, many suggest to print a thin wall and measure its thickness to see if it matches your expected extrusion width. I am beginning to think that, unless you apply Nophead's formula below to your thin wall print, the test will not be accurate in any slicer that assumes a square extrusion profile (i.e. Slic3r and Kisslicer).

--- EDIT ---
After a second reading of that conversation, I see that Greg Frost and Nophead have said pretty much the same thing, that the width of a single perimeter wall will be h*(1-pi/4) wider than expected assuming the e-steps are correct. When I apply this formula to the single perimeter calibration cube I made before going down the rabbit hole of reducing e-steps, I find that my original value of 551 e-steps per mm (which was based on moving 100mm of filament with the hotend removed) was closer to correct than the value I have been using since (540). In other words, 551 e-steps produced a single wall thickness of 0.55mm which is exactly what I should have expected had I understood the rounded extrusion profile issue at the time. Lo and behold, when I go back and measure the external dimensions of that print, they are much closer, on average, to target than everything since (although still a tad undersized and still with more deviation than I would prefer).
--- /EDIT ---

Here is a key excerpt from the conversation, thanks to Sublime for his concise summary:

I think we have some answers.

Q) Does Slic3r place the path in the correct place?
A) Yes for a square extrusion profile the width specified by Slic3r.

Q) Does Slic3r produce the correct E value to produce the extrusion width by height by length required for each path?
A) Yes but for a square extrusion.

Q) Why do holes produced by slic3r turn out too small?
A) It expects a square extrusion but physics dictates the unconstrained path will have a rounded edge which causes an error that they expect you to overcome by reducing the flow rate as per [github.com] but unfortunately that may cause all the paths inside to not be well bonded to each other.

Q) How can we make Slic3r produce parts with correct inner hole dimensions without weakening the part?
A) We can try a few things.

1) Print the outer perimeter first. Kisslicer uses the same method of assuming a square profile but prints from the outer perimeter inwards and people report better accuracy with it.

2) Print lower layers. I said below 0.2mm before but even lower will produce less of an error.

3) Reduce the flow rate of the perimeter only so it makes a path the width requested but with a rounded edge using the formula by Nophead (1 + (3.14159/4 -1) / (width/height)) ...... ( this is currently not possible but should be relatively easy via post processing or changing Slic3r's internal code.)


Edited 3 time(s). Last edit at 03/02/2014 03:57PM by ashleywebster.
Sorry, only registered users may post in this forum.

Click here to login