Resonance, spreadCycle and stealthChop
-
What you need to know about tweaking spreadCycle/stealthChop is a little all over the places. Here below a list of all the docs you need (I read them all!):
- Tuning Stepper Motor Drivers
- Stall detection and sensorless homing
- Reducing Stand-Still Noise
- TMC reference (pdf)
- Parameterization of spreadCycle (pdf)
- Help needed with Duet 3 6hc TMC5160 StealthChop config (forum)
- Duet 3 StealthChop 2 Tuning for Nema23 (forum)
My issue is as follow.
Custom CoreXY. XY are 0.9° steppers. I get very bad vibrations at about 60mm/s (resonance?). It happens only if both motors are moving, diagonals are fine.
It's not a noise issue, I don't care about that. The problem is that the printer vibrates A LOT.
My motors are rated 2A and I run them at 1.4A. If I drastically lower the current the problem alleviates (≤1A).
I tried tweaking SpreadCycle but nothing seems to be helping. Increasing TOFF over 6 makes it noticeably worse.
I was able to enable and configure StealthChop and that seems to be solving the problem completely, but I have to set it at about 100mm/s otherwise I get "false positives" (ie: spreadCycle triggers too early) and I get a lot of jerks during printing.
So my only option is to always keep stealthChop but both @dc42 and @Phaedrux advise against that over and over again (I print pretty fast... not warp speed but still).
I tried with different motors from different companies (LDO and moons) and they have more or less the same issue at slightly different speeds. To be fair the two sets of motors are very close in specs.
Dampening the motors makes no difference. I also tried different kind of brackets and idlers.
I can't be the only one with this issue... any suggestion or I can finally tableflip this thing? Thanks!
-
Can you show a video of the behaviour?
-
@Phaedrux sure
https://www.youtube.com/watch?v=G3vrt1p1U2s&feature=youtu.be
First run: spreadCycle 3000mm/m (no issue)
Second run: spreadCycle 4000mm/m (you can hear it)
Third run: stealthChop 40000mm/m (no issue) -
@matt3o said in Resonance, spreadCycle and stealthChop:
Dampening the motors makes no difference.
What did you try for dampening? I would think that some cushioning between the motors and the mounts would help a bit. Even a cork pad.
Resonance is a tricky thing to beat.
-
@Phaedrux said in Resonance, spreadCycle and stealthChop:
What did you try for dampening?
I tried everything cork, hard rubber, soft silicone (under the motor, under the bracket, over the carriages...). The motors themselves don't seem to be vibrating that much to honest (I guess it's the shaft alone?)...
-
have you varied the belt tension a bit to see if it makes a difference?
-
@Phaedrux said in Resonance, spreadCycle and stealthChop:
have you varied the belt tension a bit to see if it makes a difference?
only if they are uncomfortably loose it gets better. When they they reach a good tension the issue doesn't change (ie: from tight to super tight it's the same).
-
+1. I have the same issue with my E3D Toolchanger. I have changed over to 0.9 degree motors and that helped a lot but it did not entirely go away. I have the same vibration problem you are talking about and the community has noticed the same as well. Similar speeds as you demonstrated too.
Going faster is smoother, switching to 0.9 degree motors is basically doubling the speed. I've also ended up with Stealth Mode being the quietest.
-
@garethky thanks for chiming it. I'm somewhat relieved... by Stealth mode you mean stealthChop? What's the speed limitation? Do you have some numbers?
-
I found this document from Trinamic.
They seem to suggest that up to 400rpm there's no difference in torque between spreadcycle and stealthchop. Over that stealthchop has slightly less torque but it's smoother.
Depending on the motor (eg: Moons 17HD3423-01) StealthChop appears to be even better up to 400rpm and basically the same up to 900rpm (with still smoother performance).
Am I misreading something?
-
@matt3o I do mean Stealth Chop, I don't really have numbers. One of the frustrations here is not having the right measuring equipment to really put numbers to this problem. It would be good to know the frequency of the vibration and what speed it occurs at. Certainly a deeper investigation on my part is required to get to that. I need to design a test to isolate the speed and direction where this is worst, but that would be based on my subjective judgement without a way to do measurements.
I think this deep dive is way better than anything I could do.
Here are my own wild theories:
- Its the grease in the linear rails: at the speeds where we run these printers an oil may be more appropriate. We may just be experiencing the speed where the grease causes the most stiction. I plan to disassemble and clean my bearings and replace the grease with PTFE oil. (mine are Hiwin so its unlikely to be a quality issue)
- It is some unavoidable frame resonance. Damping the frame may help with this.
- Its something in the way the steppers are driven. I don't even know where to begin here. The carriage is basically on the end of 2 springs (the belts) which allow it to vibrate. Steppers don't perform continuous velocity movements, every microstep has an acceleration and deceleration phase. At some step frequency these cause a constructive resonance in the carriage.
- Maybe running the stepper pulses out of phase to try and eliminate the constructive interference. Maybe this is what M593 is attempting to do?
- Maybe we can try a tuned mass damper on the carriage to soak up the vibrations?
I'm pretty sure using true servo motors would eliminate this issue but I haven't found any Nema17 servos that I could try that out with.
-
In my System Dynamics and Controls theory class a million years ago, we did a LOT of analysis of mechanical systems and one thing I learned that was of practical use is that damping is good and stopping oscillations.
Dampening the stepper is probably not going to effectively control vibrations at the extruder however.
There's a nice way to add dampening in a linear motion system by adding a conductive plate (copper or aluminum) and then adding a STRONG magnet to the moving part. It damps through the process of Eddy Current.
If there's a way for you to add a copper or aluminum bar along your axis and then attack a magnet to the moving part and have them VERY close together with just a tiny gap, I think you'll see dramatic reduction in vibration.
-
@alankilian That is a very cool and lightweight idea. The gantry is aluminum.
-
@garethky thanks for your reply.
I ran some tests yesterday and the results are not comforting.
On my machine I can run stealthChop up to about 8000mm/m, after that I start losing steps . I can increase the current a little, but I'm testing without an extruder/hotend so the actual speed will be actually lower. I could try nema23 but I bet I would simply get resonance at a different speed.
Switching between stealth to spread is really not an option. I noticed that the switch happens even during acceleration/deceleration and movements become very jerky.
@garethky said in Resonance, spreadCycle and stealthChop:
Its the grease in the linear rails:
I thought about this too. I'm using a hiwin grease which is very thin and it slowly melts into an oil over time... so I would tend to exclude that as the cause of the resonance. But of course it's worth trying. Also the fact that with stealthchop it doesn't happen makes me think that it's something else.
@garethky said in Resonance, spreadCycle and stealthChop:
Maybe running the stepper pulses out of phase
I tried to make the two motors "different" in a multitude of ways. Different currents, backward/forward, playing with spreadcycle variables and trying various M593... but nothing seems to be working. I feel your "unavoidable frame resonance" is the most likely explanation.
Thanks again for your reply, you gave me something to work with.
@alankilian said in Resonance, spreadCycle and stealthChop:
If there's a way for you to add a copper or aluminum bar along your axis and then attack a magnet to the moving part and have them VERY close together with just a tiny gap, I think you'll see dramatic reduction in vibration.
I'll try this right away and report back!
-
@matt3o have you tried using different motors for x and y? Changing the current snd timing might shift the natural frequency a bit, but there's only so much you can do if the physical system is the same. I'm particularly thinking different length motors (so different torque and inertia). Maybe also try a 0.9 and a 1.8 combo?
On the other hand, you may just end up with two natural frequencies...
I'm currently rebuilding my corexy to fix some mechanical issues I found when looking into a very similar issue. One 9f the things I did to try and diagnose the frequency was to print a segmented arc as large as I could, going from pure x to pure y motion in steps of 10deg. Try running it at different print speeds and look for the spacing of the artefacts in the print. If you get them at 45deg at 2/3rds the speed you get in pure x/y, you'll know it is just individual motors resonating (as that will be the same speed for one motor). If not, it is either the two motors interacting, or some other vibration response in your system
-
I tried with strong neodymium magnets and made no difference, I don't know if the problem is the anodized aluminum @alankilian
@engikeneer said in Resonance, spreadCycle and stealthChop:
have you tried using different motors for x and y? Changing the current snd timing might shift the natural frequency a bit, but there's only so much you can do if the physical system is the same. I'm particularly thinking different length motors (so different torque and inertia). Maybe also try a 0.9 and a 1.8 combo?
I have tried with 1 LDO and 1 Moons, both 0.9°, and basically nothing changed. They are very close specs-wise though, so I don't know if that might be the problem.
I haven't tried but I feel like using a 1.8 and a 0.9 would work as the resonance changes quite a bit changing the motor angle... not sure what would be the effect on the print quality. Also there's a chance to get resonance at two different speeds
It's all very frustrating....
-
Throwing a log on the fire for Servos: someone has done it, with a Duet no less:
https://www.youtube.com/watch?v=m6DoKoESPdg
I don't really care about printing a sub 20 minute Benchy. I just want a quiet, high quality Benchy. The Clearpaths are about $250 each. You can run them on 24V, so you wont need an external power supply (they get de-rated but we clearly don't need all that power!). And they run on step+direction control, so no extra boxes are needed.
The only things stopping me are:
- The need for custom mounting brackets to adapt NEMA 23 to NEMA 17
Not having step+direction out of the Duet 3 (maybe I could get around that with some sort of opto-isolation board from the Trinamic Drivers?).There is a tool board for step/direction breakout, the 1XD: https://duet3d.dozuki.com/Wiki/Duet_3_Expansion_1XD- Will linear advance compensate for s-curve acceleration in the servos? i.e. will I get weird extrusion artifacts that I cant fix?
$500 in motors is swatting a mosquito with a laser, but... so cool!
-
I guess the cheap version of this would be using a planetary gearbox at maybe 10:1? If there is some speed below which we get resonance we should just gear the system to always run above that speed. Maybe something like this:
This has an effective step angle of 0.18. So 1/10th a 1.8 degree stepper or 1/5th a 0.9. I dont know exactly what the right values to use are, just throwing out ideas.
-
@matt3o said in Resonance, spreadCycle and stealthChop:
Have you tried using a vibration "finder"? It's like a stethoscope but it has a metal rod that you touch to different parts of the machine.
I have one and it works well for locating the nodes and antinodes.
It might help in your case.
Frederick
-
Around here it's called 'Mechanic's Stethoscope' in case you want to search for it.
The problem with stiff metal structures is that vibrations spread everywhere. There are fancy one with multiple electronic microphones but identifying source of vibration was not as easy as I thought. Had to do a lot of trial and error. Eventually stepper dumpers solve the problem here.
https://www.amazon.com/8MILELAKE-Electronic-Stethoscope-diagnosis-mechanics/dp/B01GFKIKN2
Edit: reminds me, met once a guy that worked at local car dealership and his expertise was 'squeaks and rattling'.