Is the a misconception about printing speeds?
-
@theruttmeister said in Is the a misconception about printing speeds?:
Unless you are running some special gears I would expect you to have far more backlash than you have resolution... I've only seen extruder resolution become a noticeable factor in print quality at very low speeds, when you can actually see the full-step cogging that steppers are prone to. The gears are great for increasing torque, but are also good for getting the motor into its optimum speed range (which is a thing for steppers).
Trailing 0 errors (I think that's the right term) would probably need to be fairly high for you to see a significant error over a print that involves 30 meters of filament.
And you are assuming that the slicing engine isn't using more (or even unlimited) resolution internally, which it could easily do.But, like you say, with smaller aspect-ratio layers, the inaccuracy does become problematic. I haven't quite considered to what extent, because printing at low >resolution doesn't really go hand-in-hand with caring about fine tuning the extrusion rate.
Even at high aspect ratios (say 5:1) you can still easily have error of 5%. Not critical, but if you are trying to get screw-threads to fit without having to use horizontal offset, it makes a significant difference.
It's not about accuracy, it's about resolution. Absolutely of course the backlash is more than the microstep resolution (backlash doesn't affect extruder accuracy as much as it affects retraction accuracy). But if you don't even have the resolution, tiny amounts of inaccuracy mean nothing. If you want to complain or deal with tiny amounts of inaccuracy, you better have about ten times the amount of resolution as the motion you want to be accurate.
50:1 may very well be excessive in most cases, but when dealing with 0.15 mm nozzles and 20 micron layers, it's absolutely a requirement to have that resolution, especially if your models are tiny with small segments -- which they probably are if using such nozzles and layer heights. Using 64x microstepping might help, but IMO the gearbox is a better alternative because you're always basically guaranteed the full step resolution. When using 64 x microstepping, your actual consistently achievable resolution is worse.
As for the slicer engine internally using higher resolution than output -- it better be! But even still, if that added resolution is thrown out before GCode output, what's the point? Consider this GCode:
; [...] G1 xxx E0.0002 G1 xxx E0.0005 G1 xxx E0.0002 G1 xxx E0.0005 G1 xxx E0.0002 G1 xxx E0.0005 ; [...]
Let's assume that each of those segments is alternately x length and 0.5x length. The extrusion rate is varying wildly.
Of course, it should actually be:
; [...] G1 xxx E0.00025 G1 xxx E0.00050 G1 xxx E0.00025 G1 xxx E0.00050 G1 xxx E0.00025 G1 xxx E0.00050 ; [...]
In the first case, given a microstep resolution of 0.00025 mm, what would the step pulse generation look like? Something like this?:
; [...] G1 xxx E0.0002 ; no steps generated, nearly a full step amount "saved" in memory by firmware. G1 xxx E0.0005 ; two steps generated. Is the partial step acted upon yet? Probably not. G1 xxx E0.0002 ; okay another nearly full step. Do we now step twice or wait until we have 3 nearly-full microsteps? G1 xxx E0.0005 ; Well, I know we can do 2. But wait, we're way out of whack here. Should we just step 4 whole microsteps? TBH I'm confused. G1 xxx E0.0002 ; god damnit... G1 xxx E0.0005 ; just send them all send all the damn microsteps ; [...]
But if your GCode resolution comfortably exceeds your microstep resolution, you can not really encounter this problem to that degree. Granted, it really is an edge case, but if you're arguing about the width of a trace being 50 microns too wide, this is the kind of stuff we're dealing with to be able to reliably extrude smoothly and realize good accuracy. If your walls are bumpy messes due to weird extrusion movement, you're never gonna be accurate at all.
-
@bot
Unless you have a very special extruder with the worlds smallest melt chamber I suspect the extruder being in steady-state is more important than the resolution in either g-code or filament control.I've occasionally though about trying to design an extruder for high detail/high resolution. But I think you would need to go down to 1mm or smaller filament to get the kind of control you need. And I don't have anything I need to print that badly.
If you are printing at those sort of layer heights and extrusion widths, yes that resolution is important... but if you are doing that, are you also using a decent screw-drive for X/Y positioning? Have you switched to ball-screws? Are you using a linear encoder on your Z axis to make sure you 20 micron layers are actually 20 microns, consistently? Aiming for sub-micron resolution while also using belt-drive is a strange place to be.
FDM machines are inherently low resolution devices, its one of their biggest advantages.Besides, with just a 50 micron error on trace width... that's at least 100 microns of tolerance. That means for a screw I have to leave 200 microns of clearance.
I know I just said low resolution... but 8 thou of clearance? That's just rubbish.
Besides, its not like its hard to calculate it correctly. -
@theruttmeister I don't think a special extruder is needed. I'm using an E3D v6, with their 0.15 mm nozzle.
I usually print 40 micron layers with 0.16 mm extrusion widths. Theoretically, I could do 20 micron layers, but some smaller details might get slightly over or under extruded.
My Z axis has a c5 precision ball screw, and my full step resolution on Z is 5 microns.
X/Y are belt driven, with 40 micron full step resolution.
But, even with all that resolution, I'm happy if my accuracy is within 0.2 mm. It's usually much better when I can measure it. Cubes come out within 0.05 or less consistently.
50 micron error on the trace width was just a number I threw out. I seem to see much less variation than that on an individual trace. But, measuring an individual trace can be an exercise in frustration. All I do is strive for the best accuracy possible, and that always entails "throwing resolution at the problem." Accuracy is essentially impossible without resolution. Resolution in no way guarantees accuracy, though. Granted.
But, to me, the "error" in approximating a trace width to a rectangular prism is not really an error in the calculation, but an error in how the wet noodle of filament decides to fall out of the nozzle. If your layers are so damn small that the difference in nominal width and actual width is 0.01 mm or less, is that really a concern that the slicer should deal with? Maybe. I don't know. Is there a good way of dealing with it that isn't just akin to dialing up or down the extrusion rate, which introduces other problems?
Interesting discussion. Thanks for bringing it up. I have long ago accepted the "limitation" of the rectangular prism approximation. I'll give it a second thought if it seems like print accuracy can be improved noticeably.
-
@bot
The challenge is that for Cura at least, extrusion volume is a global value. So you can't use flow rate to correct it, because doing that messes up the flow rate on solid surfaces.Poking at a calculator I made a while ago, an error of about 11%, for 0.25x0.5 extrusion... is about 5 microns of extra width. Maybe. I've not had enough caffeine to really try and work out the correct formula for running that backwards.
What I remember is that in empirical testing back when we were working on this, gave us threaded parts that went together first time when we made the flow rate correction. But would jam if we didn't. Then we realised it would be a real pain to work a fix into Cura, so we worked on other things.
-
@theruttmeister said in Is the a misconception about printing speeds?:
The challenge is that for Cura at least, extrusion volume is a global value. So you can't use flow rate to correct it, because doing that messes up the flow rate on solid surfaces.
Not so. Cura allows you to control flow rate on a per print move basis.
-
@Phaedrux
As I mentioned umpteen posts ago, the last time I looked was several years ago.I see that Cura now lets you control flow rate for the outer walls. Which will be enough to let me correct there.
Now get off my lawn!
shakes fist at young people