Shifted layers

From RepRap
Jump to: navigation, search

Shifted Layers / Offset Layers / Missed Steps

To Do: Add photos, add more links to solutions.






Driver current is too low

Lower current produces lower motor torque. Rapid starts and stops can exceed the torque of the motor. Note that torque declines rapidly with speed [1]

Before increasing the driver current – first make sure it is not too high (see the next item).

Increase the driver current by turning the trim pot on the driver 1/8 turn clockwise.

Use a non-conductive (ceramic) screwdriver so you don't cause a short. Do not turn it too far.


Driver current is too high

When stepper motor drivers overheat they do a thermal-shutdown. This shutdown can be of any duration from milliseconds to some larger part of a second. This causes steps to be missed.


- Driver chip is burning hot. You can tell by a very quick and very careful touch. Don't burn yourself! If you can touch it for a second or more without burning yourself it is probably OK, but don't burn yourself! NOTE: Even if you don't think it's too hot it could still be overheating.

- Motor may also be very hot

- On a large motor (Nema 23) you may hear repeated clunk sounds when the driver re-engages.

There are several possible solutions:

- Reduce the motor current by turning the trim pot on the driver 1/8 turn counter clockwise.

- Always: add a fan to cool the drivers. The fan may need to be a powerful one, wired to be always on.

- Add heat sinks to the drivers in addition to the fan.


Belt too Loose

- Belt slips

- Excess play

- Heated bed carriage: looser belt tension when the heated bed has been hot for some time.

Tighten the belt.

Here is a simple method using zip ties[2]


Belt too Tight

A belt that is too tight can cause binding.

Loosen the belt slightly.


Cheap Chinese Pulleys

Cheap chinese pulleys have less depth, that cannot hold the belt while in high speed motions, causing slip

Change with the good quality ones, When the pulley is chrome coated, ensure, it can be made with poor standards, aluminium finished pulleys are better.


Loose Set Screw/Grub Screw

The drive pulley spins on the shaft a random amount when under load.

To diagnose: draw a line on the stepper shaft and the end of the drive pulley. See if the pulley has shifted in relation to the pulley after a layer shift.

There are two things that should be done to make sure the drive pulleys do not come loose:

- Grind a flat on the stepper shaft where the set screw will contact it.

- Add a drop of nail polish to the set screw threads before installing the set screw. This acts like a removable thread lock compound.


Belt or Bearing is binding

Contamination on rails/guides

- Move the axes by hand with the power disconnected to feel if there are any sticky spots.

- You may need to temporarily remove a belt to feel the movement more easily without the motor vibration.

- Hairspray or other contaminant on rails or guides can cause them to stick

- Remove any obstruction.

- Remove any hairspray residue from rails or guides with Windex

- Remove other residues with alcohol or acetone. Be careful not to get any acetone on ABS parts.

- Lubricate bearings or guides.


Speeds are too high

- High travel speeds create greater forces that must be overcome by the motors. This combined with acceleration can lead to an offset layer.

- 8-bit controllers have a limited total step rate that varies depending on their total processing load. Exceeding this step rate can cause uneven stepping and missed steps.

- Lower travel and print speeds in your slicer.

- When commissioning a printer: use speeds at or below 50.

- The default speeds, jerk, and acceleration in firmware are often too high.


Acceleration is too high

- The motor's torque at a given speed must be greater than the force needed to accelerate or decelerate the mechanism at a given acceleration rate and maximum speed.

- If the torque required is higher than the motor can supply at that speed then layers will be shifted.

- Note that a stepper motor's torque is much lower at high speed. (give link here)

- Note that a stepper motor can not instantly go from a stop to a high speed, it must be ramped up or it will just squeal and vibrate without moving.

Note that maximum acceleration rates vary for each printer implementation, and by the speeds used (there is less torque at high speed). (Can we give some sane defaults for commissioning?)

Decrease acceleration in firmware.

Sample Low acceleration settings for Marlin:

DEFAULT_MAX_FEEDRATE {500, 500, 2, 45} // (mm/sec)

(Give other references)


Shifted layers in the Y axis

(Shifted layers in any heavy axis)

- For printers that move the print bed in the Y axis there is much more moving mass for that axis' motor to overcome.

- Too much acceleration in that direction causes an offset.

- This may happen more with some objects than others, depending on the geometry that is being printed – the Y axis may have to start and stop and reverse direction more.

Decrease Y axis Acceleration/Jerk settings in firmware. See above.

If the bed is spring loaded it can wiggle - use springs with more spring pressure or another method to secure it (one fixed post for instance).



Backlash can be caused by loose belts, excess friction, etc.
This can show up in different ways such as uneven perimeters or circles that are not round.

- Make sure belts are tight, but not too tight.

- Try to move the axis back and forth by hand with the motor shaft held fixed, there should not be any play.

- Move the axis back and forth with the stepper disconnected from the driver (power off when connecting or disconnecting wires!). This will allow you to feel for binding and extra friction without as much interference from the motor inductance.

- Make sure the belt and pulley are correctly matched.

- Make sure that belts are not rubbing on guide washers, lubricate the washers, make sure the washer's more rounded side is toward the belt.

- Lubricate bearings and guides.

- Use a belt and pulley type that has low backlash by design, like GT2. [3]

- Use a pulley that is large enough that at least 6 teeth are in contact. [4]

- Loose Set Screw / Grub Screw. See above.


Jerk Settings too high

Jerk is a firmware setting for the amount of instantaneous speed change that is allowed without using acceleration. The Jerk setting is used primarily at the very beginning and end of a movement.

(How to diagnose?)

(Settings to change?)

(How to test?)


Step rate too high for stepper motor

Stepper motors have a limited speed that varies by model and size. As noted above, the faster the speed, the lower the torque. Above a certain speed it will loose enough torque to loose it's place. (See here.)

- Lower the travel or print speeds.

- Use a larger pulley if the steps per mm are more than needed. For instance if the steps per mm for that axis is greater than needed, then a larger pulley will drive it faster, and a lower step rate can be used.

- Use a higher voltage. A higher voltage allows a higher motor RPM. (Whereas higher current gives higher torque). You must not exceed the voltage rating of the controller and drivers, and more cooling will be required.


Step rate too high for 8-bit controller (like Arduino)

- 8-bit controllers can only output steps at a limited total rate for all steppers combined.

- Delta printers require much more processing power to compute the paths

- Graphic displays require more processing power than simple text displays.

- Symptoms are: stuttering/jittering motors while traveling at high speed, or in a rounded contour, or with high detail.

- When a stutter happens there is a short pause in motor movement, which can manifest as a blob in the perimeter, or as a shifted layer depending on other factors like speed/motor torque/acceleration settings.

- NOTE: Also see Drv8825 Driver Problems below

- Get a 32-bit controller[5] like a Smoothieboard[6][7] or Duet[8], and never have this issue again.

- Do not use a graphic display with a Delta printer using an 8-bit controller

- Use lower travel and print speeds

- Use lower microstepping where not needed. For example if the extruder steps per MM is > 500 with 16 microsteps, then lowering microsteps to 8 would result in a much lower step overhead without sacrificing print quality.

- Some drivers will deliver 32 microsteps, when only 16 microsteps are usually required, change the jumpers and change steps per mm in firmware.

- Use a larger pulley as noted above.

- Note that a lower microstep setting can make a motor run louder.

- Use a different firmware. Repetier is reported to allow a higher step rate if “quad-stepping” is turned on.

- NOTE: Also see Drv8825 Driver Problems below


Mid-band Resonance

Stepper motors have resonant frequencies where it is difficult to drive them - they loose torque and may not accelerate through these bands, causing missed steps.

- Use lower speeds

- Use larger pulleys if resolution permits it

- Use external DSP based stepper motor drivers. These allow driving the motor faster and quieter, and using a higher voltage.

- Note that more powerful motors like Nema-23 are more prone to mid-band resonance in the RPM ranges used for 3D printers (and they are louder), so a DSP based motor driver is recommended.


USB Communication Problems

USB data may not be evenly streamed from the computer (particularly Windows computers) causing a stall in the print. If the stall happens at the wrong time there can be a layer shift.

- It is very highly recommended to always print from an SD card!

- If you must print using a USB port, then make sure the cable is of high quality. Cheap USB cables can allow more interference.

- Make sure the USB cable does not run near a source of interference – like stepper motor wires.

- Add a toroid to the USB cable (give source)

- Shield the wiring. [9]


Axis is too heavy for motor torque

A heavy axis requires a motor with higher torque.

- Lighten the axis as much as possible

- Use a higher driver current

- Use a more powerful motor / higher current / external drivers rated at higher current. See mid-band resonance above.


Wiring Problem

- Wire may be loose

- Bare wires may be shorting

DO NOT WORK ON MOTOR WIRING WITH THE POWER ON. Disconnecting a motor wire while the power is on can blow the driver chip.

- Make sure all wires are tight and insulated where needed.

- Make sure the motor wires are connected correctly. There are two separate coils in a stepper motor. Use an ohm meter to determine which wires are in each pair (the wire colors may not be standard). The polarity is not important (except if wired backwards the motor will rotate backwards), however the pairs must not be mixed – the pair for one coil are together – say on pin 1 and 2, then the pair for the next coil are together next to the first pair – say on pin 3 and 4.


Electrical Interference

Unshielded wires can cause communications problems with USB cables and displays.

Signals from highly inductive loads such as stepper motor wiring, hot end wiring, heat bed wires can induce a voltage in other wires. This can cause many bad things to happen such as: causing a tripped endstop, altering a temp reading, resetting or freezing the mocrocontroller, and even creating a visible pulse in perimeters.

See this thread for practical ways to shield your wiring [10]


Nozzle Hits the Print

- Extrusion not calibrated and the nozzle hits the extra material.

- Nozzle hits a curled edge.

- Calibrate the extruder (give link)

- Do not use a fan with ABS – that makes curling worse.

- In Slic3r: turn on “z-lift” – on the Printer Settings, Extruder 1 Page.

- In Cura: turn on “z hop when retracting” on the Expert Settings page.


Something loose

Something is loose and causing it to bind.

- Make sure there is not loose wiring that could snag.

- Make sure the print bed/glass is firmly attached.

- Check all other mechanical fasteners.


Endstop Triggered

Something is triggering an endstop

Make sure there is nothing loose that triggers an endstop

Electrical interference can trigger an endstop. See [11]


Heated Bed Temperature Not Well Regulated

-If the heated bed temperature is not well regulated then it may expand and contract throughout the print.

-If the heated bed is thin or made from rolled aluminum then it may flex and warp when the temperature changes

Make sure Hot end is secure when hot.</b> <p>Do a PID tuning for the heated bed. This allows the firmware to more precicely control the temperature. (Need reference)

Use a bed material that does not warp when heated, like Cast Aluminum Tooling Plate, Mic6 Cast plate, etc.


Heat Bed Too Hot

Printing PLA with a heat bed temperature that is too high - for example 70 degrees C, hot enough to cause the lower layers of plastic to soften and shift over slightly.

Set heated bed to a lower temperature


Z Wobble

If the lead screw or threaded rod is slightly bent it can cause the Z axis to wobble

Loose parts

Attach the Z axis lead screw at the bottom only. This allows the upper part to move more freely and is less likely to wiggle the Z axis.

Straiten or replace the bent lead screw.

Make sure there are no loose parts, and print surface is secure.

Make sure any vertical guides or bearings have no play.


Hot End Not Secure

Hot end not secure due to thermal expansion of the Hot end or mounting bolts. This can cause it to tilt back and forth.

Make sure Hot end is secure when hot.

Make sure heater block is secure when hot.


Drv8825 Driver Problems

Drv8825 drivers can run roughly, causing missed microsteps.

Although this does not usually cause shifted layers, it can cause very rough perimeters and blobbing.

These drivers also have issues with making high pitched noise that is quite annoying

There is an excellent article about the problems with this driver: [12] This article details the use of diodes inline with the stepper motors to help solve this problem.

Changing the driver's decay mode to fast "decay" can make the movement smoother, however this makes the noise issue worse.

Changing the drivers to a4988 drivers eliminates both the missed steps and noise problems. This is an option only if your controller board uses removable drivers.


Driver is bad

Rarely a driver works intermittently

Switch the driver with one from another axis, and see if the problem follows. If you switched the X and Y axis drivers, then print the same part rotated 90 degrees, since the part orientation may matter.


Bad Microcontroller

Lightning strike caused microcontroller to be flaky. Realoading firmware and replacing drivers did not help.

Replace the Arduino board (one case found like this).


Printer dimensions incorrect

Printer dimensions in firmware do not match the dimensions in your slicer

The firmware may trigger a limit, or an endstop may be triggered if the printer dimensions are incorrect in firmware (one case found like this).


Drive Pulley Too Large

If using a belt drive axis, the motor pulley should be fairly small (1-1.5cm diameter). For GT2 belts, pulleys should be no more than 16-20 tooth. Too large of pulleys can severely diminish the torque of the motor, causing it to slip when accelerating the axis. If you can move your axis by hand without too much force while the stepper motor is enabled and locked, than this may be the problem.

Switch to smaller pulleys. Ideally, refer to your printer build guide for the correct ones.


Power Interruptions

If power is disconnected momentarily during a print, than the only observable symptom may be that the print is shifted (because the code told the motors to move but they had no power, so the actual and assumed position divirged). This can only really occur on printers where the controller is powered from an external source like USB (e.g. most RAMPS-based printers). This can be due to a bad power supply, a dead control board, or bad wiring.

Check all wires and connectors for breaks and damage. Try shaking various parts of the printer and see if the power shuts off. Attach lights to the printer power as an indicator that it is on, and watch the lights while printing.

In one case, it was due to a loose Powerpole connector which shut off the power when the table was shaken. In another, the wire which carried the PS_ON signal to keep the power supply on was frayed and would disconnect when shaken. In the third, the RAMPS board had failed and flickered the power on and off (by causing a short?) occasionally when the bed was turned on.


TB6560 Driver Problems

There are many brands of bad TB6560 external stepper driver boards from China that are missing some decoupling capacitors. This causes lost steps, which may only appear on one axis - depending on the noise in the system.
(In general - decoupling capacitors keep electromagnetic interference from entering a chip.)

There is a thread on CNCzone that discusses fixes for this: [13] by adding decoupling capacitors.

Another option is to replace the external driver board with a 2M542 as discussed here [14], or other external driver.