I’ve been struggling for a few months to try and get rid of a ringing pattern on my Y-Axis movements. The pattern wasn’t present on my 3D printer prior to upgrading to Klipper and it started appearing after I began calibrating Input Shaping and Pressure Advance settings.
I’ve checked for mechanical issues and the bed feels rigid (nothing’s lose or wobbly), and it’s fairly smooth to move back and forth. Belt tension also feels ok too, and the input shaping graph doesn’t look too bad so I’m starting to wonder if it may be software related. Perhaps some settings in my config that I haven’t quite mastered or may have set up incorrectly (I read somewhere that bed meshing may affect this but haven’t really tried anything different on that front)?
I’ve tested a few prints with different filament brands (all PLA), and have tried with different microstepping ranges starting at 16 microsteps all the way up to 256 on both SpreadCycle and Stealthchop modes for EZ2209 drivers, and have also tried different input shaping algorithms based on the recommended frequency settings. I found that 256 microstepping on SpreadCycle mode with 3hump_ei or MZV give the smoothest/less noticable results, but the pattern is still clealry visible when turning the print. Here’s a couple of pictures to illustrate the issue:
As you already seem to use Shake&Tune you could run the Vibrations Profile test.
Your issue is not ringing but VFAs that might result from motor vibrations/resonances or belt tension or other mechanical issues.
This can be solved or maybe improved by better/other motors if coming from the motor or with avoiding the “bad” speed bands that show the worst VFAs.
However as you are running a cartesian printer with a heavy bed you might be limited in possible printing speed that might not show the issue or trade it in with other problems.
I think in first instance you can reduce the µsteps count and maybe turn on interpolation.
This would be worth rerunning that Vibrations Profile test to check for any changes.
If you check the upper middle graph (Global speed energy profile) you will see three green speed bands where the vibration energy is the lowest - I cropped those a bit more for Y:
0 - 47 mm/s
70 - 98 mm/s
above 150 mm/s
Get the best sweet spots for both axes here.
You should prefere getting your print speeds into those bands. Though I would not consider using above 150 mm/s on a bed slinger but might be worth a test.
Maybe input shaper can get it fixed.
That means you have to set your slicer accordingly. Maybe 45 mm/s for outer perimeter and 95 mm/s for inner perimeter.
Or to test it you can print everything except infill with 45 mm/s.
Be sure to avoid options like slow down on overhangs or other similar settings that can reduce the speed getting it into a bad speed band. That is often a bit tricky to get everything sorted out here.
Your X axis motor has a single resonance frequency but more than 10x more energy there compared to the Y motor. Maybe due to the lighter print head compared to the heavy bed.
If I’m right you are using an acceleration of 400 mm/s²?! You could try increasing this a bit. Maybe to 1000 mm/s² if the belts are properly tensioned. Because the faster your reach the “good” print speeds the less time you are using the “bad” ones.
There are bed slingers with even higher accelerations. Always depending on the particular printer and has to be tested to find the best compromise between quality and print time.
Because the faster you print the more the quality will depend on the input shaping. Meaning you might get rid of those VFAs but get ringing/overshoot the input shaper might not be able to counteract properly. Or you have to use a more smoothing input shaper where you will lose details in your prints.
I’ve got a Anycubic i3 Mega with two light IDEX print heads but a quite heavy aluminum bed right behing me and I think it had higher accelerations. But that project is not yet finished and not really similar to your printer.
you can reduce the µsteps count and maybe turn on interpolation
what is your recommended µsteps count? I also saw a reference to Klipper TMC Autotune on the Shake&Tune Machine vibration profiles documentation and I’m wondering if this is something that would help out here. I’m assumining that I would also need to redo the Input Shaping first when you say
This would be worth rerunning that Vibrations Profile test to check for any changes.
Is that correct? Also, where did you get the 400 mm/s² for the acceleration from? I believe the test was run with the default values which sets the acceleration to 3000 mm/s².
Hope this help, let me know your comments when you get a chance and thanks again for jumping in on this thread! Keen to learn more about what mods & upgrades you’ve done to your Anycubic i3 Mega and also how you went about the fine tuning process… for some reason I seem to be struggling to get this thing to print decently!
Ah, the first input shaper screenshot lists 400mm/s² on the top right area. But your klippy.log says 2100mm/s².
So if you are using the latter it might be ok already, just recheck the input shaper settings.
256 µsteps are just overloading the MCU at least on high speeds. So maybe go down to 32 or 64 and enabled interpolation.
You can try TMC Autotune if you know the exact motor models or parameters your printer uses.
This whole topic is kind of a rabbit hole and you have to pay attention not to get lost there!
I was testing and checking many things on my special CoreXY and this Vibrations Profile was the one thing with the best results.
Somewhere in my replies there is a photo of a speed tower where you can see the change of the VFAs with changing print speeds. I just can’t find it right now.
But that stuff can be caused by different things making it quite hard to eliminate it.
So the best advice is: before swapping parts or changing hardware try testing “software related/controlled” options like different speeds and stuff.
Of course you could change to super high quality motors but it can make things worse or just shift the issue to other speed bands.
Running such tests normally does not make your hands dirty and can give you hints whether or not a hardware replacement can help or it even already gives you a solution without any replacements.
Regarding to the i3 Mega mods you can have a look here:
Thanks for the insights. I’ll try adjusting my microstepping and retuning Input Shaping and the Vibrations Profiles and try reprinting the model within the suggested speeds.
That project looks amazing! I’ll definitely will be keeping an eye out for it. When you get to a stage where it’s good enough let me know as I’d like to attempt those upgrades in the future!
Alright @LifeOfBrian my friend, I’ve got an update for ya!
Here’s what I did:
I changed the µsteps count to 64 for X, Y & Z axes
I installed & set up Klipper TMC Autotune, seems to be working fine although I don’t really know if it’s doing anything outside of shwoing up on the “Vibrations Calibration” profiles
I re-tuned input shaping to account for the new micro step values which gave me slighly higher frequency and acceleration values.
I did a re-run of the Vibrations Calibration profiles. Here are the results for X & Y:
I reduced the print speed of the model to 94 mm/s to print “as fast” as I could whilst still being inside the second “safe zone” provided from the vibration profiles.
Overall, the printer appears to be running much quieter and the print came out much smoother. The pattern is still visible in the Y-Direction but at a much lesser capacity than what it was before. I’m gessuing this probably means I need to reduce my print speed closer to the 80-90 mm/s range to move further away from the “upper limit” of zone 2.
So far this seems to be the right approach to fixing the issue, but I guess I’m just a little dissapointed at the fact that I upgraded to Klipper primarily to be able to push for higher printing speeds, but it won’t be a huge improvement from the stock model of the Anycubic Mega Pro if I have to stick to the 80-90 mm/s print speed range… But I guess it’s just a limitation of the hardware/bed slinger profile on this thing.
I think what I’ll attempt next is to change the heavy glass stock ultrabase to a magnetic PEI sheet to further reduce the weight of the bed and retune input shaping. Hopefully that’ll allow me to push for slightly higher speeds.
I also noticed on your project’s Github page that you’re upgrading your machine to linear rails. Keen to hear what your experience was with this. Do you think it’s a worthwhile update and if so, which linear rails/manufacturer did you use for your setup?
Open to hearing any additional feedback you may have at this stage!
I will only comment to the linear rails question, because the tuning is as of now over my head. I am in essence a mechanical machine design engineer and the electronics and software are still somewhere on the slippery learning curve for me.
Linear rails however are my bread and butter. You need to understand how they work to be able to decide if you will have any benefit from them. The cheapest rails out there are simply useless. I will never ever touch them again. Even as a pair, running horizontally under a bed for instance, they will not improve anything, might even make things worse.
The slightly higher class rails will be fine when you run them in a pair. The reason is that their slack and play can be compensated for by adjusting backlash from one rail to the other with the parallel distance.
But the most important thing in this setup will be your foundation! If your machine is anything like a CR10-S from Creality, they use a sheet metal box for the electronics as their base and this box is far from straigth, not level and warps with heat. Mounting your rails on that box will result in a disaster. First hand experience even with high class Hiwin HGR15 rails. Under heat they started binding because the box warped. I went down the rabbit hole with changing Y motor for a bigger one and eventually thinking about the driver maybe going wrong. All along it was the bed binding causing missed steps but only on hotter prints and after about an hour or 2 printing.
When you use a single rail, for the x-axis for instance, I recommend only a good grade Hiwin and not the smallest you can get for machines of 300mm or over. Get light to medium pre-load and accuracy class P. This way your toolhead will not have any up and down wobble and will not have any rotation in relation to the rail’s plane. All cheap rails will give you these problems because they are not made with precision. One of the things that Voron used to do on their X-axis was use 2 rails setup on 90 degrees from each other. This way they got away with the deflection trouble that one rail gives you and keep the parts cheap enough for most people. The price difference can be substantial so do your research.
Amazon MGN9 brandless can be 18 dollars for a 400 mm rail with carriage, but the same from Hiwin in the higher grade and accuracy is between 100 to 130 dollar. So it can give you gains but it is at a price and with pre meditated modifications if your machine is not on a solid enough base.
Basically if you are like me and you like mechanical things, you can do this and justify the price because you do something you love. But if you are simply in search for a nice machine that prints well enough then don’t go for the expensive rails and simply upgrade the V-wheels to a more expensive bearing and better material.
Nice to see improvements!
But as I said: try printing (just for testing purpose) within the first band up to 45 mm/s for all elements and then put all three speed towers next to each other for comparison.
This will be interesting to others out there as well!
Even my X1C shows that issue… Have to do some research on it when I have time again.
There are way more things you can change and test to get better results and graphs in that Vibrations Profile test, but as I said it is a rabbit hole wherein you might get lost…
My i3 Mega has an aluminum bed with proper heating mat and PEI flex plate but I don’t recall the numbers but think, this is now heavier than the original bed. It is flat now and heating up much quicker but its weight has other drawbacks.
As with my mod the printer itself is finished, even the electronics. So the GitHub project can be used. The printer was already printing with both heads, but the actual Klipper config might need some further tweaks. I did not had time for that due to other projects…
The linear rail for X was just the easiest way to build that axis, but as @3dcase wrote it is important to get proper rails for the job! I have quite cheap rails in use, but washed and greased those properly and they are running fine.
This isn’t a high speed CoreXY and the heads are tiny and lightweight too, so not much issues with the rails here.
I already have rails for the bed but as @3dcase wrote the base of the printer is like a bumpy landscape so it would need a flat and stiff plate between the printer base and the rails.
But maybe for you to better set the belt tension of the bed you can check my Y axis tensioner as well:
And just as some last words for now: it is a good idea getting Klipper running even on such a printer!
But even Klipper can’t do enough magic to mask such mechanical or electrical issues. This is plain physics and I would dare to say all printers out there have some issues, more or less.
If you can’t spend unlimited amounts of money getting best of the best parts only, you have to deal with such issues. And as seen above many of those topics can be improved without money!
And final last words: you might get other issues with the super best parts too!
Thanks for sharing, I’ll definately will be printing that belt-tensioner! Ok, I will reprint the model with the 45 mm/s parameter and share the results. Will keep you posted!
It may be hard to tell on the picture cause of the light angle but the pattern gets progressively smoother with a decrease in speed. The first print was using 100 mm/s, then it was bummped down to 94 mm/s, and finally, 45 mm/s for the last print where the pattern is barely noticable anymore.
This seems to align well with the VFA’s reasoning that @LifeOfBrian suggested. However, as I previously mentioned, I used to print at 60-80 mm/s on the stock printer, so not really happy with having to bump the speed down to get rid of this. I’ll be attempting the reduction of the bed wieght by switching to a magnetic print bed and installing the 3D printed Y-Axis belt tensioner to see if I can get better results at higher speeds.