Strange behaviour
-
@Scottbg1. The settings you posted above don't look to be a mile out.
Jerk as it is implemented in 3D printers isn't the same as it is the sense of physics. In physics jerk is a change in the rate of change of acceleration. It's difficult to put into layman's terms but try this. Imagine a locomotive pulling a long line of carriages and there is a bit of slack in the couplings between the carriages. If the driver starts out accelerating the engine at a fixed but slow rate of acceleration he experiences smooth motion but what happens is that the engine moves smoothly from standstill but for the first few inches, the front rail car doesn't move because of the slack in the coupling. By the time that slack is taken up, the engine is doing say 2mph. So the front carriage has to move instantly from 0 to 2mph to catch up with what the engine is doing. Hence the term Jerk. If the driver continues with his nice smooth acceleration, by the time the slack in the second coupling has been taken up, the engine might be doing say 4mph so the second carriage gets jerked instantly from 0 to 4mph. If the driver carried on accelerating nice and smoothly, the jerk for the 100th car would be like going from 0-80mph in zero seconds which is just going to snap the coupling (or some ones neck). So, if the driver knows his job, he'll start slowly but not accelerate further until the slack has been taken up in all the couplings. (Next time you are on a train, take the car nearest the front and you'll get a smoother ride).
So Jerk in the physics sense is bad and it isn't used in 3D printers. That is to say, a longish move will start from zero speed, accelerate up to the demand speed, maintain that speed, then decelerate down to zero. All without any jerk being applied. The problem occurs mostly with circles and curves because slicers don't do arcs. Instead, a curve is made up of a lot of very small straight lines. Think of a hexagon that has 6 sides- it's kind of roundish. An octagon has 8 sides and is even more roundish so if we go up to say 100 sides, it'll look more like a circle. If we try to print that, for every one of those little tiny straight lines we'd have to start at zero speed, accelerate up to speed then decelerate down to zero and move on to the next little line. The trouble is that because each move is so short, it'll hardly start moving before it has to slow down again and the result would be that the curve would simply take too long to print. So in this situation, an instantaneous speed is applied (what is referred to as Jerk in 3D printer terms) which allows small moves and small changes of direction without having to slow right down to zero then accelerate up to speed again.
You'll note that M566 is referred to setting the "allowable instantaneous speed change" which is a more accurate description but most people refer to it as "Jerk" (which in the physics sense, it most certainly isn't).
Did that help or have I confused you even more?
-
Did that help or have I confused you even more?
You sir, are a scholar and a gentleman.
Yes indeed. The jerk settings are applied where the acceleration begins and ends, enabling a constant and fluid move throughout the run.
Explaining how a slicer sees an arc was the kicker. That is very useful information.Now, I can see how there might be a 'sweet spot' in jerk settings. Too much and you experience a hammering effect which would of course be detrimental. Too little and you'll lose speed throughout the print. But is there a 'sweet spot' for acceleration? Can there be?
I can see myself setting acceleration for say a large flat print to tweak a perfect speed setting. I can't even imagine getting that dialed in on a small print with lots of moves.
Would the setting I have for long continuous runs be left and it work ok for smaller stuff? Or would I dial it down on purpose to have more of a one size fits all setting?I love this forum. Not only do I get top notch information on 3D Printing, but invaluable travel advice as well. If I ever find myself on a train, the first car is where I will be!
I just hope the Lounge car is located in Carriage #2.Deckingman, a million thank yous for taking the time to break it down like that.
I hope that someone like me runs across this conversation and they find it as profound as I have.
I can't wait to get home tonight so I can get to work on this! -
Great explanation Ian,
Scott by what DC42 says my understanding of jerk was correct. Without a geared extruder you should be able to set your extruder jerk to 3600 without issue which will allow it to do 55mm/s speed changes for these small quick movements. Just make sure your tensioner is set correctly to avoid slipping.
There are situations where this will not be beneifical, like when printing with filaments such as nylon or acetal pom during retraction heavy prints.
You can compensate for those in your slicer by either turning off pressure advance or slowing down your retraction speed and or print. ( i am still playing around with what settings work best for these slippery filaments so sorry i cannot give a definitive on them at the moment)
Everything mostly looks good in your settings as Ian said, but there is one more thing i would try changing. By the looks of your settings you have a Z screw similar to mine (assumption based on your settings) You might try changing your jerk to match your top speed 375 this will allow snappier z hop movements (if enabled in your slicer) i prefer not to use z hop with a screw because its rough on small parts but if you do this will help.
Your z accell is fine really it can never achieve that because of the speed limit of the screw (accell is in mm/s not mm/m like the others) but because of that your layer changes will be as quick as they can be which is really all that matters with a slow screw (snappy as possible layer changes)
You can always play around with your xy accell up or down until you are satisfied with print quality vs speed (lower values will decrease ringing and higher values will make the printer faster but increase ringing)
I hope that all this helps you get a better understanding of how these settings affect everything.
-
Yes indeed. The jerk settings are applied where the acceleration begins and ends, enabling a constant and fluid move throughout the run.
Explaining how a slicer sees an arc was the kicker. That is very useful information.Now, I can see how there might be a 'sweet spot' in jerk settings. Too much and you experience a hammering effect which would of course be detrimental. Too little and you'll lose speed throughout the print. But is there a 'sweet spot' for acceleration? Can there be?
@Scottbg1. Not sure is you fully understood but "Jerk" is NOT applied to "normal" moves, only short segmented ones such as arcs.
Ref the sweet spot for accelerations - yes there can be. Consider if you were printing a largish rectangle with 45 degree infill. Lets assume a print speed of 50mm/sec which is about average. If you had infinitely high acceleration, the speed would change instantly from one direction to the next. So, as you move into the corner when the diagonal distance travelled is 50mm, it'll take one second to do the move at 50mm/sec. When you get closer to the corner, the diagonal move gets shorter so when it's 25mm, it'll take 0.5 seconds (at 50mm/sec). That's not so bad but when you get even closer and it's only 10mm, then it'll take 0.2 (one fifth) seconds so the head will be moving back and forth 5 times per second. Then when the move gets down to 5mm, the head will be moving back and forth at 10 times per seconds which is pretty alarming to watch and when the move is only 1mm, it's time to don your tin helmet . Now if we introduce acceleration, instead of an instantaneous speed change, we have to start at zero, accelerate up to (in this case) 50mm/sec, maintain that speed and then decelerate down to zero before we change direction.
I'm going to have to do some maths here but bear with me. With an acceleration of 1200 mm/sec (which is what I have) to reach a speed of 50mm/sec takes 0.042 seconds and the head moves 1.042mm. So for a move that is 50m long, it'll accelerate for 0.042 seconds and move 1.042mm during that time, then it'll maintain 50mm/sec for 47.916mm (50-(1.0422)) then decelerate for 0.042 seconds and 1.042mm down to zero before it changes direction and starts again. So the total time it takes to make the move is (47.916/50 +(0.0422) = 1.04232 seconds. That isn't much different (about 4%) than if acceleration was infinitely high and the time would be exactly 1 second. Now let's look at what happens when the move is only 5mm. The acceleration time and distance travelled during acceleration are the same but now we only have 2.916 mm at full speed so the time to make a 5mm move becomes (2.916/50 +(0.042 *2)) =0.14232 seconds. This is a lot different (about 40%) to the 0.1 second that it would take if acceleration was infinitely high. So effectively we've slowed down the 5mm move by about 40% but the 50mm move by only 4%. The numbers become much more dramatic when you push the print speed higher. At 100mm/sec print speed, it takes 0.083 seconds to accelerate up to speed and the head moves 4.167mm during the acceleration phase. So in fact, for a 5mm long move, it'll never reach 100mm/sec before it needs to start slowing down again.
So in a nutshell, you can print at higher speeds but use the acceleration setting to control the speed of very short zigzag moves which would otherwise appear too fast. Also, a low acceleration setting has more of an impact on the time it takes to do short moves than longer moves. My default "everyday" print speed is 90mm/sec but with my accelerations set to 1200mm/sec^2, smaller details are printed much slower which I have found gives me the best compromise between speed and quality. I print at slower speeds for really detailed objects but you get the idea.
Hope that helps and I haven't fried your brain too much.
Ian
-
Also keep in mind that Ian here is very smart when it comes to these calculations so if you cannot fully wrap your head around it there is a reprap culculator for accelerations on their website. There are some people who default to a 3000 accelleration i have read a few opinions to the pros of doing so, i believe even the calculator does so, but it also comes down to your printer design. With a large mass its going to benefit to lower the accelleration but lighter designs (carbon fiber rods etc can get away with faster accellerations) personally i do not have as light of setup as you and can push these limits quite high without my printer sounding like its going to explode. But that also depends on how rigid you are. My printer design is very rigid but i am thinking about testing out some igus carbon fiber rods to see if i can push it even more.
Really you have to decide whats most important to you, finding some settings that work so you can get on with printing or exploring the limits of your printer through a lot of testing and adjusting to find the perfect sweet spot for your design.
I do a lot of the latter just because i like to learn the limits and test against different hardware configurations, different extruders, bowden, direct drive, cable drive etc. that and because im learning a lot doing so, before i had a closed source printer and was limited in what i could do or learn.
-
Ian… just damn.
I bet your printer can make a waffle too, huh? I felt like I needed to don a tin helmet from just reading that.
But you did give me something to work with, and you've confirmed that my setting of 1500 might be in the neighborhood of where I want it.Whitewolf, I actually used the calculator last night when I was trying to find a starting point to set the jerk. And yes, 3000 is what it recommended. As you saw in my gcode, I came down from that significantly.
I am soaking this up like a sponge. I find myself coming back and reading everyone's comments and then cooking on them a little while. I too want to know the how and why of this stuff. I am not a plug and play guy. And having you guys around is truly a Godsend. Because you are all a fountain of knowledge.
I was hoping to come home tonight and jump right into it, but I have a new girlfriend. And I am meeting her mother for the first time tonight. I am 46 years old, btw. Happily divorced with 2 grown daughters, and I feel like a kid in high school.
Wish me luck.I'm eager to get back and give these things a try. I will report my results.
Truly, thank you both. You can't imagine how big of a help you have been.
Cheers
-
Ian… just damn.
I bet your printer can make a waffle too, huh? I felt like I needed to don a tin helmet from just reading that
Cheers
Our local maker space has a cheese whiz 3d printer…. it will serve up some fancy crackers for you
-
Hahaha! Sounds like a den of madcaps!
-
Ian… just damn.
I bet your printer can make a waffle too, huh?
Of course. Multi-coloured too, but only up to about 330mm square and 750mm tall.
-
[…]
@Scottbg1. Not sure is you fully understood but "Jerk" is NOT applied to "normal" moves, only short segmented ones such as arcs.
[…]
What do you mean by this? AFAIK, Jerk is "applied" to any move that is not starting from a stand still – not only small moves.
-
Yes true enough but I was just trying to keep it simple for the OP. Apart from short segmented moves, there aren't all that many other moves that start from a non zero speed. Generally perimeters because infill is usually back and forth (at this point you tell me that you use honeycomb ) but I'm not even sure about rectangular perimeters for example. Say you go from left to right, then when you get to the corner you go front to back. The motion starts with X while Y is at zero, then X goes down to zero and Y increases. I'd guess in that case that Jerk isn't applied because there must be a point where both axes are at zero speed but maybe not? I guess that's one for David.
-
We are really going to confuse the OP with this one, because it is to my understanding that it is just to the small back and fourth moves because like deckingmam explained before it would really slow the print down if we accell then slow down then accell again on short segments.
Things that I have observed:
Layer changes the x and y have stopped… there is a noticeable pause (i see the pause mostly because i have a slow z axis so maybe thats why jerk isnt applied here?)
Turning up jerk to 9000 can really show just where your prints are banging around, very loud on small prints especially the curves.
I do not see a noticeable affect of jerk with PA turned off when printing a single wall 40mm cube with 0 infill
-
I might break out my gopro one of these days and do a recording with a high jerk setting so we can compare the noise across different parts and moves.
I have a unique printer design that is rather light and strong at the same time so turning it up really isnt going to damage much more than the motors and we'll be able to hear when jerk is applied
I would love to do it now but I am in the middle of building a craft studio for my wife and in my free time am designing a new type of bowden extruder for flexible filaments