Periodicity of ringing
-
I've done a lot of thinking about the pros and cons of S-curve acceleration recently. I've come to the conclusion that a lot depends on the frequency of ringing that is causing the problem. So I'd like to solicit data from users who are having issues with ringing. Please measure the period of the ringing in mm, divide by the print speed at that point expressed in mm/sec, and report the resulting ringing period in seconds here. Also please report what XY acceleration you are using.
-
Kossel XL with flex3drive extruder & E3D V6. Ringing period is 0.025 seconds (1mm ringing at 40 mm/s). M201 X/Y/Z value is 3000.
-
I should add that the ringing is only visible "downstream" of the sharp corners.
-
@burtoogle, thanks for those figures. Is this when printing a cube or similar object, so that the ringing has been excited by the deceleration of another 40mm/sec move in the perpendicular direction? If so, please can you repeat the print using the same speed but with accelerations of 1600 and then 1030 and see what effect that has on the amplitude of the ringing.
-
@dc42 , yes, that's measured on a rectangular object with reasonably long sides so it will be going "full tilt" before the corner. I will do as you requested although I think I know what the answer will be, the ringing reduces in amplitude and the corners bulge more. What I can't remember is whether the ringing frequency changes with lower acceleration, I wouldn't have thought it would so I will do the experiment anyway.
-
@burtoogle, I don't expect the ringing frequency to change but I do expect the amplitude to change in a nonlinear way. How much will depend on how accurately you measured the ringing period, your XY jerk setting (which I omitted to ask for), and how good my understanding is of what is going on.
-
Hi @dc42 , jerk is set to 300. I printed some of the same object using acceleration of 1600 and I cannot see any ringing (but the corner is fatter). I haven't bothered to try using 1030.
-
@burtoogle can you try jerk values at 600-700?
-
@dragonn said in Periodicity of ringing:
@burtoogle can you try jerk values at 600-700?
With acceleration back at 3000?
-
Yeah, I think then you should see ringing. I think wee need to do some tests on other kinematics then delta. I will try this weekend to do some tests.
-
@dragonn said in Periodicity of ringing:
Yeah, I think then you should see ringing. I think wee need to do some tests on other kinematics then delta. I will try this weekend to do some tests.
Hold on, I'm confused now. I could see ringing with acceleration at 3000 anyway. Do you really mean jerk of 600 with acceleration of 1600. I wish you could be more precise.
-
Oh, sorry for misunderstanding. In this situation it would makes sens to test high jerk with less acl so for example 1600 acl and jerk 600
-
@dragonn said in Periodicity of ringing:
Oh, sorry for misunderstanding. In this situation it would makes sens to test high jerk with less acl so for example 1600 acl and jerk 600
OK, doing it now...
-
The print using jerk 650 and accel 1600 looks (as best as I can tell) identical to the print using jerk 300 and accel 1600. However, a factor here could be that because I am using a flex3drive extruder, the E jerk/accel are low (jerk 10, accel 400).
-
@burtoogle, by my calculations there is a critical acceleration value calculated as (print_speed - jerk)/ringing_period. For you this works out as (40-5)/0.025 =1400. At this acceleration, or sub multiples of it such as 700, there should be almost no ringing. At twice this acceleration or more there will be a lot of ringing. At 2/3 of this acceleration there should also be noticeable ringing. That is why I suggested you try 1030 (before I was allowing for jerk; 930 would be the value allowing for jerk).
This calculation only considers the contribution of acceleration to ringing, not the contribution of jerk, and only ringing that occurs when one print move follows another.
-
Interesting. I'll have to do some testing. I've been having a tough time eliminating ringing at anything over 300 or so acceleration.
-
@dc42 Does this apply to cartesian mechanisms or is it a delta-only phenomenon? I can test on my corexy ...
-
@mrehorstdmd said in Periodicity of ringing:
@dc42 Does this apply to cartesian mechanisms or is it a delta-only phenomenon? I can test on my corexy ...
It should apply to Cartesian and CoreXY too, however there may be different periods of ringing in the X and Y directions because of the differing amounts of mass being moved.
-
Interesting concept, though I'm not exactly sure what @dc42 is suspecting is happening. I do want to say that if you're doing corner quality tests with accel and jerk changes, you need to be using an extruder with much higher effective jerk/accel settings so the extruder limits aren't ever controlling corner speed. (EG calculate out your linear filament speed through the print moves.)
AFAIK, the jerk / velocity-jump to zero at the end the segment prior to the corner are the primary cause of visible ringing, because that's what creates the transverse oscillation you see in the segment after the corner. Decel, jerk out of the corner, and accel into the next segment should be much smaller effects.
Different kinematics and trajectories are going to make a difference though... even on a Cartesian machine, you have slightly different stuff happening when you do a turn from 0 degree heading to 90 degree heading, versus 45 degree heading to 135 degree heading. The motors and linear rods see different forces in these cases, even though most firmware treats these as equivalent.
-
@rcarlyle said in Periodicity of ringing:
AFAIK, the jerk / velocity-jump to zero at the end the segment prior to the corner are the primary cause of visible ringing, because that's what creates the transverse oscillation you see in the segment after the corner. Decel, jerk out of the corner, and accel into the next segment should be much smaller effects.
According to my calculations, the critical value is the ratio of the deceleration time of the previous move to the period of the ringing that is causing the trouble. The configured jerk reduces the acceleration time, but otherwise doesn't have much effect unless you have troublesome high frequency resonances too.
If P is the period of the ringing and T is the deceleration time of the previous move, then I calculate that if T is significantly less than P but the velocity change is significant, you will get severe ringing and there is nothing you can do about it. S-curve acceleration will make it worse. When T = P the ringing is almost completely cancelled out if you use constant acceleration, but will still be bad using S-curve acceleration (allowing for using double the peak acceleration to get the same acceleration time). When T reaches 1.3P then S-curve acceleration starts to be better. The higher the ratio of T to P, the greater the advantage of S-curve acceleration.
I need to do some beer-glass tests to confirm these theoretical results. If they are confirmed, then for many printers, controlling the acceleration time will be more effective than using S-curve acceleration.
Different kinematics and trajectories are going to make a difference though... even on a Cartesian machine, you have slightly different stuff happening when you do a turn from 0 degree heading to 90 degree heading, versus 45 degree heading to 135 degree heading. The motors and linear rods see different forces in these cases, even though most firmware treats these as equivalent.
Yes, however I think the time spent accelerating and decelerating will still be the most important factor. Another complication is that on a Cartesian machine the X and Y axis ringing frequencies will be different.
I have also been working out the stiffness of motors and belts in order to work out what ranges of ringing period are inevitable, which in turn affects the accelerations that can be used.