Print quality - low jerk low acceleration
-
I didn't activate pressure advance yet. My speed/accel/jerk are:
M566 X900 Y900 Z60 E600 ; Set maximum instantaneous speed changes (mm/min)
M203 X30000 Y30000 Z1200 E3600 ; Set maximum speeds (mm/min)
M201 X1000 Y1000 Z100 E3000 ; Set accelerations (mm/s^2)Are these params correct? Maximum speed is never reached, I use 50mm/s in slicers. It was just for tests (the carriage does move at these speed, but not usable for printing!).
-
Those parameters look ok to me.
-
Ok, thanks. So, I'll try to use pressure advance.
-
Tuning guide big topic, I can offer my method. Maximum speeds: try moving the axes/effector faster and faster until something doesn't look and sound right, such as motor stalling/resonance. Set just below that speed, you'll never actually move that fast when printing.
Acceleration: trickier as it depends on whether you want to push your machine to its limits, ie print as fast as it can go. 3000 for x, y is a reasonable starting value. Z depends on your machine. Screw drives around 100 works, deltas can go to 9000 or more but there is no need you never move fast in z when printing. E depends on your extruder I've run titans at 9000 it sounds like they're stripping the gears. As a rule of thumb the heavier your moving mass then lower acceleration settings will achieve better (but slower prints). 6000 is quite aggressive, 9000 might work on deltas with 120g effectors. Small details will print more slowly and this is determined by the slicer. If you set low acceleration then with small objects you never reach higher speeds no matter how fast you ask it to go either by setting speed in your slicer or by sliding the speed control faster in DWC or paneldue as every move begins at jerk speed, then accelerates but never gets to the top of the acceleration curve before decelerating. Large moves will show jerk, acceleration then whatever speed you have chosen. You can always set acceleration low for high quality and vice versa.
Jerk: again it's important to have sufficient not to slow the machine down too much but not so much that you overcome your frame and axis rigidity or you'll see ringing and overshoot on corners.
There's a lot written about pressure advance so I won't cover that.
If in doubt start printing towers and vary the settings as you print observe the effect each has and how they depend on one another. You'll learn a lot in the process. Bear in mind that coordinated moves ie moving x, y and e at the same time (typical printing moves) require the firmware to move at the lowest settings of the axes coordinated.
-
You can also throw in filament temperature, filament type and of course nozzle diameter. The maximum acceleration can be calculated if you know the mass of the axis and the torque of the motor. But you'll likely end up setting it lower than this for better print quality. You can set maximum speed to anything you like as long as it's on the high side, as the actual move speed will be governed by the slicer settings or the feedrate that you set for non print moves such as homing and probing. The real maximum print speed will be determined by how fast you can melt filament and will almost always be lower than the capabilities of the printer mechanics and motors.
If you really have a masochistic streak, then you can try using a mixing hot end which opens up a whole new world of other factors. When you hold filament in the melt chamber for maybe hours at a time without it moving forward all sorts of wonderful things happen like PLA starting hydrolyse which results in over extrusion, and PET-G swelling in the heat break area which screws up retraction. Mixing hot ends should really come with health warning…..........
-
Thank you I really think this level of discussion regarding speed, jerk and acceleration should be in the wiki. it certainly helps me understand the basic and enough of a guidance for me to know what to tweak next.
Stephen
-
I think there is probably a presumption (correct me if I'm wrong) that those buying Duet controllers, as probably the best controller on the market and one of the most expensive, come to it with some 3D printing experience. Of course, that's not always going to be the case, but a link in the wiki to some other basic guide to 3D printing might be a good idea. There's plenty of them around.
-
I can concur with that presumption… the people that hang around here seem to know a ton about this stuff.... which is awesome btw and I'm glad that I dove into Duet
-
I'd say this is probably the most helpful, polite and free of BS 3D printing forum I've come across.
-
I'd say this is probably the most helpful, polite and free of BS 3D printing forum I've come across.
+1.
-
+1 Indeed.
I really enjoy reading this forum. -
+1, I regularly stalk this forum just to absorb some of the ludicrous amount of knowledge contained herein.
-
here you go 950 vs 50 jerk setting left to right marvin respectively. Thanks
-
That's better then. It also confirms my theory that most instances of "ringing" aren't actually caused by the print head vibrating due to some sort of resonance, but rather that the print head was doing exactly what it was told to do, and in this case it was due to the instantaneous speed change ("jerk" as we have to call it) being set too low. Glad it worked for you.
-
Very interesting! So, a simple cylinder can highlight this?
I guess that the instantaneous speed change should be as low as possible, to avoid shaking to much the machine, but high enough to avoid such artifacts. Am I right ? So, one should start with a low value, print some cylinders with different diameters (smaller ones should have more artifacts, right?), and increase the value until artifacts are gone?
And if they don't go away, this means than there is a mechanical issue…
-
Yes that pretty well sums it up - works for me anyway. I create the cylinders using OpenScad and set the number of segments to 100 ($fn) so the size of each segment will increase as the diameter of the circle increases.
-
Yes that pretty well sums it up - works for me anyway. I create the cylinders using OpenScad and set the number of segments to 100 ($fn) so the size of each segment will increase as the diameter of the circle increases.
One effect of using a constant $fn is that the angle between segments will always be the same. It's the angle between segments that determines the minimum value that the XY jerk needs to be for a give print speed. The theoretical minimum XY jerk you need is approximately (printing_speed * 6/$fn) when $fn is large.
To check that you haven't set the jerk too high, print octagons and see how the machine sounds.
-
That sounded very subjective… I'll see if I can find octagons to print. How does it should sounds like if jerk set too high? Rough corner turn? Banging sound perhaps?
Stephen
-
Banging sound.
-
It is subjective to some extent but you can still compare one setting against another. It;s how it prints that's important but in my experience if it sounds "rough" or the motion looks "rough", it prints "rough".