Rippling, Vibration and Resonance


This blogpost will be published on if a solution is found:)

The problem

After solving more or less all the other hurdles standing between me and the print quality i'm aiming for, there is one last major problem left that keeps popping up its ugly head over and over again - the so-called "rippling" i.e. "shadowing" of surface features and sharp corners caused by mechanical oscillation.

Here's what it (typically) looks like (effect exaggerated using contrast and unsharp mask):


The generally accepted theory is that this effect is mostly due to belts, with some recommending simple tightening as a cure, and a few reports of people having greatly reduced rippling using GT2 belts instead of MXL. While belts can probably exaggerate rippling if already present, they, however, aren't the main cause and changes to the belt system don't accomplish much.

There appear to be two theories (which aren't mutually exclusive) on the cause of this effect:

  1. resonance caused by the steppers (i.e. carriage + steppers acting as a mass on a spring)
  2. resonance in the rest of the mechanics

Theory #1, as proposed by nophead is that "act like a spring because they exert torque proportional the displacement", which when combined "with the mass of the carriage forms a resonant system". No argument there, the question is - what would the resonant frequency of this system typically be.

Theory #2 is that it's simply due to resonances of the printer's mechanical structure - in particular, the larger masses (extruder and gantry, steppers, build platform) suspended on elastic mounts (screws, standoffs, beams).

It's quite likely it's both of these combined.

Features of the effect:

  • spatial frequency changes with speed
  • "audible" frequency is fixed (indicating it is a resonance)
  • ripples are "phase locked" with surface features on the print - there is no drift correlated with position on the bed or belts or any other component of the system
  • frequency (in my case) is around 30 Hz

Things that were tested so far:

  • lowering the microstepping from 1/16 to 1/4 - result: WORSE (increased amplitude)
  • increasing the current - result: UNDECIDED (increased frequency, phase shifts between layers)
  • switching on Low Current Microstepping (A4985) - result: SLIGHTLY WORSE (should've alleviated the problem)
  • isolating the steppers, idlers, gantry and build platform with foam and silicone tape - result: NO EFFECT
  • switching to GT2 belts - result: SLIGHTLY BETTER
  • flipping the belt around idlers - result: NO EFFECT
  • turning fans off (to eliminate as the vibration source) - result: NO EFFECT

Things untested:

  • switching from 24V driver power supply to 12V driver power supply
  • switching to stiffer stepper and idler mounts
  • vibration isolated feet

Test platform:

Test prints:


Test object: test prints to have comparison datas

These are my test prints to be able to compare the above prints against something.

First layer: 260C
Subsequent layers: 252C
Stock: white 3mm ABS from reprapsource

Perimeter: 34.15mm/s
Solid infill: 41.8mm/s
Normal infill: 54.40mm/s
Layer width: 0.15mm
Perimeter width: 0.35mm
Infill width: 0.45mm
Infill: 20%
Perimeter: 3 loops
Slicer: KISSlicer
Hotend: 0.35mm v4.2
Printing time: 31mins


Microscope photos (zoom 400x, contrast enhanced):


Ending conclusions:

  • The more rigid the machine, the more pronounced the effect
  • Strategic placement of vibration absorbing material and elements can greatly reduce, but not eliminate rippling
  • Increasing the friction in the linear motion systems can eliminate rippling, but is not a permanent solution (more wear and tear, steppers heat up, steps skipped due to low current microsteps become more obvious, "backlash" caused by belt stretch becomes more pronounced)
  • Reducing acceleration (predictably) reduces rippling, but at the cost of high frequency detail and corner sharpness
  • Reducing belt tension reduces rippling, but at the cost of repeatability and layer evenness
  • Most of the rippling in rigid systems seems to come from the stepper/belt/carriage spring/mass system (stepper poles + belt act as a spring, whatever it is they drive acts as a mass)

Final solution:

Unconstrained feet pads with multiple layers of vibration damping material between the foot and the pad, as well as pad and the table:


The idea here is *not* to fix the feet to the table, but the exact opposite - to let the printer to rock freely on the feet pads, so the foam and silicone gel can dissipate the vibration instead of it being reflected back into the printer. If the printer is gently rocking while printing, but you can't feel the vibration on the table surface, you're doing it right.

Vibration damping on stepper and idler plates (rubber washers under the bolts, thin layer of foam under the plates):


Layer of cork padding between the X gantry plate and the extruder, rubber or silicone washers under the extruder mounting bolts to isolate the hotend from high frequency vibration:


If using V-wheels or other adjustable linear motion system for X and Y axes, tightening the wheels against the rails helps:


Anti-vibration stepper mounts were tested and found to help:


It's worth noting, though, that they don't help in the way one would expect - it's not a matter of simple absorption of stepper vibration. A simple cork or rubber spacer doesn't work. The reason these mounts work is because they absorb torsional vibration: at peaks of stepper torque, the mounts flex around the stepper axis slightly and act like a resonance damper.

Considering that, steppers with "puck" dampers, such as the ones from Vexta (Oriental Motors) or Phytron might help too but weren't tested yet:


Final results:

Up - reference print in ABS
Down - Test print in PLA after reducing rippling


ABS tends to exhibit much less rippling in general than PLA, probably due to higher viscosity (left - ABS, right - PLA)…


… although printing ABS at high temperatures and printing PLA at extremely low temperatures can have the opposite effect (again, due to viscosity):


Some PLA stock can be "naturally" less prone to rippling at same temperature and speed (left - NatureWorks 4032D gray, right - Helian Polymers PLA+PHA)


Some PLA colors and transparencies can hide rippling to an extent. Spray-painting or airbrushing a print with matte paint can reveal it (left - painted, right - unpainted):


Final step to totally ripple free prints can be as simple as reducing the temperature (left 210 C, right 185 C):


Final print sample for comparison purposes:


Please, can anyone check if lowering driver-motor current works. Like a spring, for a given system friction, lowering K constant makes movement finish sooner.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License