Y Axis print scale 0.5% too small
I was printing a 40 x 40mm box today and noticed X was 40mm dead on by Y is 39.8mm. What could cause this and how do I correct this without scaling up the Y in the slicer for everything I print? Firmware is 5.1.2
Assuming you are using the default 0.4mm nozzle the default extrusion width is 0.45mm. Your limit of accuracy is about half an extrusion - you are within this.
Simplest for high-precision is to design slightly oversize and machine to fit.
Cheerio,
RE: Y Axis print scale 0.5% too small
Seems spot on for what I consider the expected tolerances of FDM printing (0.5%, ±0.2mm)
Formerly known on this forum as @fuchsr -- until all hell broke loose with the forum software...
RE: Y Axis print scale 0.5% too small
I am not asking if it seems good enough, which it is not for me. I am asking if you can change the Y axis calibration settings somewhere and keep the change. This would be a stupid restriction for Prusa to force. Not able to calibrate your own machine without jailbreaking it, LAME.
RE:
You can indeed change the calibration settings (At least the MK3S series; search the help for Gcodes M92 M500 and M503; As for MK4 and XL I do not yet know). But: changing this, so that your 40mm box is spot on is the wrong way. If you do this, then only the 40mm of only the material with the temperature you used during printing will fit. Everything else will deviate and you will complain again.
Although you often see beginners using 20mm cubes or so to scale their machines does not proove that their way is correct (see this video from CNCKitchen).
Please remember, that the filaments have a relatively high thermal expansion coefficient (compared to metal) and different materials (PLA, ASA, PC, PA etc.) have quite different coefficients. The one and only calibration of your printer on the other hand is always used, regardless of material. Therefore, I recommend to calibrate the printer so that each axis actually drives the stroke it is supposed to, regardless of any printed plastics. I calibrated my machine with gauge blocks I put onto the bed and touched them using an indicating calliper.
If you need to fine tune your part sizes, please consider scaling them according to material and print temperature.
That is similar to cast iron parts. When making a model for those, you also have to consider shrinkage. There are even specialized folding rules for cast iron.
RE:
Thanks for the suggestion. According to this link=> Steps per mm correction M92 needs to be an integer value for Y and the default is 100, so 100.5 is not possible. Maybe it's a mechanical problem. I'll look into adjusting belt tension as suggested in the linked thread or see if I have a damaged belt. At least the slicer allows me to correct the issue for now. I can ignore the error for basic prints, but today I'm trying to print some parts that must align well (spacing between shaft bearings for 3 parts).
how do I correct this without scaling up the Y in the slicer for everything I print?
It looks like you have a greater error in X than Y.
The contraction of solidifying plastic is not linear and much of the contraction in the semi-liquid phase of unconstrained melt serves to align polymer molecules with reduced overall contraction until below the glass transition temperature but then the aligned molecules contract more along the alignment than across.
The coefficient of thermal expansion of pla is often approximated as: 7.6 × 10−5 to 3.8 × 10−4 µm • °C−1 but this is frequently simplified to 8.5 10-5 /°C 'though we ought, strictly, to calculate in °K.
Assuming you printed at 210°C and measured at 20°C that gives a temperature drop of 190°C although the higher part of this is in the semi-liquid phase and only the 40°C drop below the glass transition temperature follows a simple curve.
Using the simplified calculation and your original dimensions the 190° drop gives an expected contraction of 0.646mm and the 40° drop gives 0.136mm. You measured an 'error' of 0.2mm.
The extrusion process partially aligns the polymers so, depending on the direction of lay you can expect differential contraction and of course the geometry of the part, its fill and its fill density cause local distortions; and you shouldn't ignore forces from the contraction of the print-sheet.
However, this is for pure pla. As soon as you add pigment the coefficient changes, different pigments and different amounts of pigment naturally have different effects.
The printer and the slicer have no idea which are the critical measurements so gcode is generated as the central line of extrusion after allowing for the spread as the extruded plastic is squished into place.
So:
how do I correct this without scaling up the Y in the slicer for everything I print?
You don't.
You calibrate each print/material/pigment combination individually.
No single calibration will apply for everything. Luckily very few prints require sub millimetre accuracy so this is not a frequent chore.
Cheerio,
RE: Y Axis print scale 0.5% too small
I did apply filament shrinkage in the slicer for the test prints. The printer was plugged in and turned on as well. ;P
Prints were compensated +0.5% for 3DO 10%GF-ASA and +0.1% Prusa PC Blend. Both filaments were printed in a 50C enclosure and cooled slowly on completion. Both filaments showed adequate correction in X, but both showed a need for an additional +0.5% compensation in Y above the shrinkage compensation already applied. The fact that the same Y error occurred regardless of filament type led me to believe recalibration of the Y axis is needed.
I did apply filament shrinkage in the slicer for the test prints.
Better done in cad - seperate x, y and z gains.
Cheerio,
RE: Y Axis print scale 0.5% too small
better done in cad - seperate x, y and z gains.
Cheerio,
That's a very limiting approach, filament choice wise. I might investigate if there is slicer scaling error by scaling in CAD. Sounds like a wild goose chase, but maybe there is a bug in the slicer.
That's a very limiting approach, filament choice wise.
Make it parametric if multiple filaments are to be used per part.
I might investigate if there is slicer scaling error by scaling in CAD.
?? The slicer is for slicing. Design, including calibration, belongs in CAD. The slicer scaling is intended as a last resort for those downloading parts they cannot otherwise adapt.
Cheerio,
RE: Y Axis print scale 0.5% too small
You win. Will stop posting on this site.
RE:
You can check whether the slicer generates correct movements e.g. by making a cube in vase-modus and look into the G-code by pulling the sliders right and below the drawing area. If I make an adhoc cube sized 100*100*100 and subtract the Y coordinates of G1 commands in a sequence I get e.g. 241.767-142.217=99.55. Add the extrusion width of 0.45mm and you get the expected 100. You can also try Cura and check/compare the outcome printed, in numbers or mesure the movements.
Granted, it can be a little tedious when you have to adapt a part in case you print it from different materials. But it is actually the slicer that has limited capabilities for manipulating the geometry because it is not its main purpose. Prusa-slicer got some nice manipulators over the years though. If you need to selectively tweak parameters differently, e.g. here a hole for a bearing, there a length for whatever, then CAD is the tool for the job. By parametrizing especially repeatedly ocurring features the tedious work can be mitigated a little.
RE: Y Axis print scale 0.5% too small
OK, I can see why a few of you might not trust slicers now.
The gcode from one of the 40mm squares I printed produced a PC Blend square measuring X39.95mm x Y39.75mm without any scaling, just 40.00mm x 40.00mm sliced and printed. The gcode command was moving between Y75.2 and Y114.8 with .40 line width; 114.8-75.2 +.40 = 40.00mm. On X it's between X65.2 to X104.8; 104.8-65.2+.40=40.00mm. So, no error in gcode for X or Y. The 0.05mm shrinkage in X seemed about right for PC to shrink. The 0.25mm Y error is not accounted for in the gcode and does not seem appropriate for PC shrinkage. I can see 0.05mm of the 0.25 mm being due to the filament shrinking after cooling, but not the full 0.25mm. Where is the additional 0.20mm undersizing of Y coming from if not a mechanical issue or a calibration error? Is +0.5% Y calibration overriding allowed by Prusa without slicing it in or making oddly compensated, X & Y direction specific, CAD models for every precision print? Measured the belt tensions with the frequency tester; Y belt tension is in the green, X tension is a little tight. I can inspect the Y Axis for loose pulleys, belt rib damage or other signs of an issue this weekend. Any other areas of concern I should look into to find where the error is coming from before blaming it on the calibration being off?