Input shaper causing stutters and blobs on curves RRF3.5.0-rc.1
-
@Arminas Try increasing the extruder jerk but keep X and Y the same. As I said before, you can set extruder jerk to "silly high" numbers - I use 3600mm/min on my machine but 900 for X and Y.
-
@deckingman This issue is related to printing speed or something else?
-
@Arminas Have you tried running ringing tower tests where you change a setting in gcode every 5mm of the print?
At what jerk setting did you find the lines straighten out? Remember that speed, jerk and acceleration can all effect ringing. Which is why I'm currently surrounded my dozens of test prints.
Despite having tuned input shaper and using the same accel and jerk settings as I used for an x carriage that was twice the weight, I'm really struggling to stop the printer from vibrating in curves. The only thing changing in this test print is print speed, from 60mm/s to 400mm/s. It seems like I can't stop the vibration above 100mm/s. Very frustrating when you see people printing with similar hardware at 400mm/s+ with far less ringing than this.
I checked the frequency of the vibration by recording the sound. It seems to be about 103hz. Which mzv @66hz should extend to, but I have a feeling this isn't related to acceleration.
No idea where to go to from here...
-
@Threepwood I had zero ringing at 3k accel, 300 mm/s jerk at 200 mm/s speed, but with such a low jerk for XY, I can not reach 200 mm/s at NOT straight lines. I have some hope that I will be able to solve this
-
I've now reduced acceleration and jerk to half what it was, and the result is exactly the same.
-
@Threepwood It might be worth trying a shaper that spans a large range and change the frequency every 5mm of the print.
If you chose ei3 (which spans about 40Hz) you should be able to change the frequency by 30Hz steps like 30, 60, 90. Hopefully it will give a clue as to what is going on and you would only have to print a 15mm high part.
-
@tas Good idea. I'll give that a go.
I've confirmed something I already suspected. I noticed the test print file I was trying to print had quite low refinement in the STL. I suspected the vibration could be caused by the straight sections that make up the "curve".
I replicated the problematic curve in CAD. At my normal (fairly high) refinement on the STL, the print didn't vibrate like before. I tried saving the file at lower refinements, and these are the results.
Low, medium and high refinement. on the STL.
So the problem is when the increments of an STL at printing speed match a resonant frequency in the printer.
I'll try doing some test prints with a low refinement STL to see what settings can reduce or eliminate this problem with low refinement STLs.
-
After trying MZV @66hz, ZVDDD @66, 80 and 100hz and EI3 @66 and 80hz, there is no difference in the ringing through the whole test. To the point that I can't tell where one test ends and another begins until I look at the sharp corners on the back of the print.
-
-
@Threepwood So the solution is to use a high quality stl's?
-
@Arminas If the solution is high quality STLs then you also have to try out different slicer resolutions.
In PrusaSlicer it is called G-code resolution (in Print Settings>Slicing). I experimented with this and found 0.5mm was terrible, 0.1mm was ok and 0.0125mm was great. The smaller the value the bigger the g-code file but the better the resolution.
I think the idea of this feature is to reduce g-code file size to not overload the printer's brain but still provide good results. It might be worth a look. The default is 0.0125mm.
Too many variables in too many places if you ask me.
-
@Arminas It does fix the problem and I usually print STLs I have exported from CAD myself, but I'm not happy to leave it as it is. For one, there are some occasions that I want to print STLs from elsewhere, but also there may be times where features also trigger this vibration.
I've tried messing with input shaper, acceleration, jerk, speed and even pressure advance. Unfortunately, nothing really eliminates it at or above 100mm/s speed. I did find it became less obvious when I increased to 1200mm/min (20mm/s) jerk. I think this is because the printhead isn't slowing down as much for each section of the curve. Reducing acceleration to 4000 or lower also improved things. So I've set my slicer to print outer walls at 3000 acceleration and 100mm/s speed. I need to run more tests to check how slow I need to print inner perimeters.
I've reduced the weight of my print head and x carriage to half, and increased my max flow rate from 13mm³/s to 50mm³/s, but can't really utilise increased speeds due to unexpected artifacts.
-
@Threepwood interesting to read about your issues, I have the exact same problem and I'm also running a light weight gantry VzBot extruder/hotend with a 1LC toolboard and CPAP.
I needed a funnel today, it printed but looked awful from all "shaking".
-
@Reine I'm using a carbon X gantry and I've just changed over to lightweight aluminium XY joints and mounted the hotend and extruder with a custom CNC aluminium bracket.
Since I've now replaced all the ABS printed parts with aluminium, the printhead is now much more rigidly held. I think it has taken away some of the dampening that the ABS parts gave and causes it to be more susceptible to higher frequency vibration. Sharp corners are no problem once input shaping is utilised, but this vibration in curves is something I have no idea how to approach without industrial equipment to detect where the vibration is eminating from.
The Goliath/LSD hotend is quite long and only held at the top. I wonder if that would be the problem?
I've watched almost all of Vez3D's videos, and he doesn't seem to have any problems like this at all.
-
I've had another thought. I'm now using 3.4.6. One of the updates for 3.5.0 is "Input shaping is now applied to a wider range of move types, in particular to short accelerate/decelerate moves".
Could it be that the 2-3mm distance between the points on a curve made of straight lines are too small to enable input shaping?
How short is a "short move"?
-
Here is another thought. I've always been used to having heavy multiple input , and or multiple heat zone hot ends. By their nature, they are big and heavy. Although primarily these type of hot ends are for multi colour or multi material parts, they are also capable of extremely high melt rates because of their having multiple parallel melt chambers, each one fed by its own extruder. This in turn has allowed me to print at up to 300 mm/sec using an 0.5mm nozzle and 0.3mm layer height (I've posted videos on my YT channel about this). This is despite the hot end gantry having a moving mass in excess of 2 Kgs..
But the point of all this, is that I have never had ringing, ghosting, or other similar artefacts. This will I know be contentious but it seems to me that the ongoing trend to try and reduce moving mass far below the minimum required (because the melt rate is the limiting factor not mass), is the root cause of why so many people have problems and why things like input shaping are necessary.
Higher mass has lower resonant frequency. My latest printer design has a single light weight direct drive extruder (LGX Ace/Mosquito combo) but it's rigiditly mounted to heavier than they need be aluminium carriage plates. Still no sign of ringing, ghosting or other such artefacts so still no need for any sort of compensation.
-
@Threepwood Well, it that case, I will do some test print with the L parameter that we have been talking before, hope it will help...
-
@deckingman It's not maximum speed that we are trying to achieve with a lightweight gantry, but higher accelerations and jerk. I do like the printers you have built, but comparing them to something like the VZbot is like comparing a TGV train to an F1 car, at least in terms of linear acceleration.
@Arminas I don't think the M593 L parameter will change the minimum length move that input shaper will be applied to. It will only stop input shaping being applied if it slows down the overall acceleration of the move too much.
-
@Threepwood said in Input shaper causing stutters and blobs on curves RRF3.5.0-rc.1:
@deckingman It's not maximum speed that we are trying to achieve with a lightweight gantry, but higher accelerations and jerk. I do like the printers you have built, but comparing them to something like the VZbot is like comparing a TGV train to an F1 car, at least in terms of linear acceleration.
You miss the point. In order to achieve high print speeds, one must by necessity use high(ish) accelerations. But that's not the point. Any print move must must keep the axes movement synchronised with the extruded filament flow. If the rate of change of extrusion flow cannot keep up with the rate of change of the print head position, you'll get under extrusion. But the laws of physics dictate that there is a (low) limit to how fast you can alter the rate of flow of a viscous fluid through a small orifice. Essentially, you cannot accelerate that flow rate at anything like the rate that you can accelerate the position of the print head. So using your analogy of an F1 car, it's like using one to do the school run in heavy traffic and without breaking the speed limit for a built up area. No matter how capable it is, you can't use that acceleration for anything other than non-print moves.
-
@Threepwood said in Input shaper causing stutters and blobs on curves RRF3.5.0-rc.1:
@Arminas It does fix the problem and I usually print STLs I have exported from CAD myself, but I'm not happy to leave it as it is. For one, there are some occasions that I want to print STLs from elsewhere, but also there may be times where features also trigger this vibration
you may want to look into arcwelder to post process low quality third party STLs. It might help with curves ...
-
@deckingman You are correct that flow cannot be increased as suddenly as an X/Y acceleration on a well tuned printer. But pressure advance will counter this. As long as the printer knows the hotend is about to slow down for a corner, then speed up again, it can reduce and then increase filament pressure ahead of the X/Y moves by a set time in M572. In my case this is around 0.025 of a second.