Apr 20, 2017

Mysterious z ribbing with PLA... solved!

I've been having consistent z ribbing on different custom printers since a year or so...
No matter what I've tried (z wobble isolator, z axis strabilizer, threaded rod diameter/pitch changed, etc.).
Yesterday my heated bed's MOSFET failed while printing yet another calibration cube and guess what... NO Z RIBBING!!!

After this event, I started to suspect some bed temperature related issue was causing my z ribbing, which was consistent across different custom 3D printer prototypes.
Usually I print with PLA and the bed set at 45ºC for best adhesion. When the MOSFET broke the bed temperature rised up to 90ºC, probably because the current was flowing freely to the heated bed, limited only by the 20A maximum supply capabilities.
Here is a side by side comparison of the calibration cubes printed with the at 20ºC, 45ºC and 90ºC (the one with faulty MOSFET):

Initially, the only guess I could make is that the current Marlin firmware I'm using on my atmega 2560p (Marlin 1.1.0-RCBugFix - 26 July 2016) might have some trouble managing all the tasks to be done when the bed heater is on, and was missing some steps/accuracy in the motors movements... 
then I came across this:
Horizontal Banding, or Z-Ribbing investigated. [SOLVED!]

It seems the "PID loop needs to be tuned very well on a bed such that the power applied to the bed doesn't fluctuate wildly"
See also:

Finally, after doing the PID tunning:


  1. Note for those reading this later from a google search.. The real, end problem was the Power Supply fan kicking on, and holes from the case blowing air onto the bed thermistor, causing it to read incorrectly and kick on a lot more power to the bed. Adjusting the PID only compensates somewhat for this, the real solution is to tape over or block the holes..

    1. Thanks for the info about your setup and how you solved it. In my case the power supply was far away from the heated bed, which also had an insulation layer of cork covering the bottom of the bed, including the thermistor.