Temperature shrinking compensation
Hello,
the Prusa printers have become so precise that the main inacuracy of parts is the fact that they shrink after cooling down due to their CTE and temperature change. Examples:
PLA 60°C to 21°C 0.25%
PET 85°C to 21°C 0.40%
ABS 60°C to 21°C 0.75%
For a 200mm parts this is approxmatly 1.5mm.
Therefore I scale up my models if I need precision. But it would be awsome if the software had a paramter "CTE" for each Filament, calculate the temperature difference between heat bed and 21°C and finaly scaling up the model automatically. This would conciderably improvem the accuracy of the prints.
More details and a test see: https://www.thingiverse.com/thing:2484766
RE: Temperature shrinking compensation
Such a feature would be very helpful. Sometimes I forget to compensating for the shrinkage and the parts do not fit.
RE: Temperature shrinking compensation
I suppose you could try a test print and use Print Settings->Advanced->Slicing->XY Size Compensation. Calibrating your extrusion multiplier is probably simpler. The problem will be if the shrinkage is not consistent in all axes. I think we're already capable of printing at higher precisions that was considered practical just a few years ago, so it may not be worth the extra effort unless you have high precision requirements.
and miscellaneous other tech projects
He is intelligent, but not experienced. His pattern indicates two dimensional thinking. -- Spock in Star Trek: The Wrath of Khan
RE: Temperature shrinking compensation
You should perform the test in the link.
It is quite well reproducible and you can differenciate from extrusion effects if you analyze the data correctly (see the Excel sheet in the TV link).
The shinking due to temperature is just one impact on accuracy but it is the dominant one. As you have all your data needed to compensate it the material profile you can compensate most of it.
Try it and test it you will see.
RE: Temperature shrinking compensation
@matthias-c2
Hi Matthias, If I have a critical part, I cut a small section of the part and print that in the original orientation as a test piece that saves time and materials
regards Joan
I try to make safe suggestions,You should understand the context and ensure you are happy that they are safe before attempting to apply my suggestions, what you do, is YOUR responsibility. Location Halifax UK
RE: Temperature shrinking compensation
@joantabb
There are may ways to compensate this. It would be just great if the slicer could compensate this automatically as it is a well predictable effect and all needed data is avaliable.
I am NOT refering deviatios in general. just the shirnking caused by the CTE.
This portion of the deviations is reproducible and and can be compensated.
RE: Temperature shrinking compensation
I agree and would like to bump up this but I see a problem.
The "Coefficient of Thermal Expansion" is different for each materials and temperature.
When PLA cools down from a heated plate of 60*C to a room temperature of 23*C, 150,04mm will shrink to 149,66mm. That is quite a shrinkage.
The problem is on higher layers where the temperature isn't 60*C but higher than room temperature it gets harder to predict the shrinkage. Like, what temperature do you have 5 or 15cm over the heated build plate?
One crazy way would be to have a GCode setting for CTE and the firmware would have a thermometer on the back of the carriage and calculate this in firmware at printtime.
But it also depends on the temperature it is intended to be used at. 150mm at 23*C will shrink at 13*C.
RE: Temperature shrinking compensation
@andrei
Material dependant: yes. As it is known and could be stored in the material properties.
Temperature depandant: no. Or at least not relevant.
The object beeing printed is normally near at the heatbed temperature.
It is not a question of doing it perfect. It is just less wrong. I am convinced that it would improve conciderably the accuracy. (Around 70%.)
RE: Temperature shrinking compensation
@jan-k75
Completely agree that this would be a very convenient feature.
Actually there are two issues already filed for this:
https://github.com/prusa3d/PrusaSlicer/issues/3078
https://github.com/prusa3d/PrusaSlicer/issues/4475
Hope that someone takes this up in the near future. 😊
RE: Temperature shrinking compensation
The shrinking applies to internal as well as external sizes. As in the internal opening will get larger with shrinking whereas the external size will get smaller. So a shrinkage adjustment is not fixed by just adjusting extrusion multiplier.
RE: Temperature shrinking compensation
LOL, Buy a 20k dollar printer, and pay a 50k a year service contract, pay 200 dollars a roll for their special ABS and other filaments and you can have this. easy peasy.
LOL , the alternative, educate yourself. I wish I had seen this 2 years ago.
The Filament Whisperer
RE: Temperature shrinking compensation
FWIW Simplify3D has this exact feature but otherwise is lagging behind and I have moved 99% of my workflow to PrusaSlicer.
I should note, that it appears there are work-arounds available... I am looking at this: [ https://www.thingiverse.com/thing:2484766#Summary ]I think it is very possible to add g-code via the M92 steps per mm correction in a script, perhaps even checking the filament profile. Something to consider.
RE: Temperature shrinking compensation
As far as I know, there is no way, other then to use whatever filament your using, print it, and measure the difference as it printed the first time, compared to what you expected and adding that, as a percentage, to your models measurements. As far as I know aside from using an "ecosystem" for example "Stratasys" printers and filament, there is no other way. do you know something I don't?
?????
Swiss_Cheese
The Filament Whisperer
RE: Curing shrinking compensation for resin
I would like to see a way to specify shrinkage compensation for resin printing too (Prusa SL1 + Prusa SL1S Speed). Should be a setting on resin as it may vary for different resins.
Have a look at my models on Printables.com 😉
RE: Temperature shrinking compensation
UPDATE: I used that thingverse technique (link above) and for my printer and printing 3DMAX ASA, I added the following command to the Filament Settings / Custom G-code / Start G-code: M92 X99.77 Y99.75 Z396.83 (which is very specific for my printer and this filament and is the result of the calibration process) and then added the folling code to the Filament End G-code of M501 (again for the Prusa firmware, M501 reloads settings from EPROM which undoes the custom command above).
End Result! My 25x25x25mm cube printed with ASA originally measured 24.75x24.8x25.2mm and now after it is 25.04mmx24.96mmx24.98mm! Very happy! I could tune it further but this is well within any accuracy needs I have.
RE: Temperature shrinking compensation
I realize this an older thread. Where did you actually put the M92 line in the start g code, and same with the M501 line in the end code?
UPDATE: I used that thingverse technique (link above) and for my printer and printing 3DMAX ASA, I added the following command to the Filament Settings / Custom G-code / Start G-code: M92 X99.77 Y99.75 Z396.83 (which is very specific for my printer and this filament and is the result of the calibration process) and then added the folling code to the Filament End G-code of M501 (again for the Prusa firmware, M501 reloads settings from EPROM which undoes the custom command above).
End Result! My 25x25x25mm cube printed with ASA originally measured 24.75x24.8x25.2mm and now after it is 25.04mmx24.96mmx24.98mm! Very happy! I could tune it further but this is well within any accuracy needs I have.
RE: Temperature shrinking compensation
Just tried this myself and it's great, problem solved I reckon.
I merged both models in the slicer so it's just a single print per calibration, 10/10 would recommend.
UPDATE: I used that thingverse technique (link above) and for my printer and printing 3DMAX ASA, I added the following command to the Filament Settings / Custom G-code / Start G-code: M92 X99.77 Y99.75 Z396.83 (which is very specific for my printer and this filament and is the result of the calibration process) and then added the folling code to the Filament End G-code of M501 (again for the Prusa firmware, M501 reloads settings from EPROM which undoes the custom command above).
End Result! My 25x25x25mm cube printed with ASA originally measured 24.75x24.8x25.2mm and now after it is 25.04mmx24.96mmx24.98mm! Very happy! I could tune it further but this is well within any accuracy needs I have.
RE: Temperature shrinking compensation
Hi Danjr80 -- did you get this figured out? Sorry for my slow response this is the first time I have been on the forum in a while.
Regards,
Tad.
RE: Temperature shrinking compensation
I did not.
RE: Temperature shrinking compensation
OK, once you follow the instructions from the Thingiverse link above to get your settings, you put them into the custom code section of the Filament Settings. A screen shot of my settings are here (note where the M92 command is in the Start section and the M501 command is in the End section):