Skip to content

Hardware settings and print quality

repetier edited this page Sep 24, 2011 · 13 revisions

Hardware settings and print quality

Basics

Many people are confused by the many possible hardware settings. The settings are quite easy, if you understand the basics of the firmware and the physics needed for a good print. On this page, I'll try to give an overview over the most important settings and how they may have an effect on print quality.

What the user wants

  • Fast output - no one likes to wait hours for a job to complete.
  • Fine details.
  • No restrictions to shapes, we can print, e.g. unlimited overhangs.
  • Exact copy of the model.

In contrast to our wish list, the real world physics set some limits. Some wishes even contradict each other. A fast print reduces the print quality. The trick is, to find some hardware settings balancing speed and quality.

Physics of printing

The basic concept is very simple. We take some plastic filament, warm it up until it melts and press it to the position, where we want our object. The problem is timing and positioning. When do I need how much pressure and speed, to get the wanted result.

The extruder

The extruder has two parts. The filament driver and the hot end. The driver pushes the filament into the hot end, which creates a pressure

p = E * L_diff / L_ext

with

p = created preesure
E = E-modulo of the filament
L_diff = Length of fileament pushed in - equivalent length printed
L_ext = distance between filament driver and hot end melting zone.

The hot end melts the filament and uses the pressure to push it out with the "desired" speed. A simple approximation of the math behind this is Bernoulli's principle:

v_t^2/2+p_t/rho+gz_t=v_b^2/2+p_b/rho+gz_b+zeta*v_t^2/2

with

v_t = Filament speed at the top of the melting zone.
p_t = Pressure at the top = p from filament + air pressure.
rho = Density of the filament.
g = Gravity.
z_t = Height of the top of the melting zone.
v_b = Speed, the filament leaves the nozzle.
p_b = Pressure at the bottom = air pressure.
z_b = Height of the bottom.
zeta = Friction constant.

The term g * (z_t - z_b) can be omitted for most considerations. I call it the ooze term, because it numbers the gravity on the melted filament, which causes oozing. The simplified version can be reordered, so that we get

v_b = sqrt(v_t^2 * (1-zeta) + 2 * (p_t-p_b)/rho)

Furthermore, we can remove p_b and the ait pressure part of p_t:

v_b = sqrt(v_t^2 * (1 - zeta) + 2 * p / rho)

We see, that the output speed depends on the input speed and on the pressure. As we will see later, the pressure term is the real problem. If we change speed, we need to adjust the pressure, too.

Ooze

There are two reasons for the ooze. If we do not print, but the hot end is on, the filament will melt and slowly flow outside. The other reason is pressure, caused by the filament driver. During the print move, a certain pressure was needed. If we just stop the extruder, the pressure is still there and will force the plastic outside.

Oozing during warm up

  • Always start with your print head over the dump area.
  • Just before the target temperature is reached, remove all plastic hanging from the nozzle.
  • Let the axes home for a clean start.
  • Print a dummy line, long and fat enough to refill the hot end.

A sample code:

M109 S170
G90
G28 X0 Y0 Z0
G92 E0
G1 Z0.38 F80
G1 X100.0 E11 F600
G92 E0

Oozing during print

The standard method, is to tell your G-Code generator to reatract the filament a few (2-3) millimeter for traveling moves and to push it back just before the next print move. If you have a filament driver with backslash, don't forget to tell that, too.

A second method is to use the advance method (Matthew Roberts, see) described later in "Extruder pressure control".

Start speed

Acceleration

Path planning

Trajectory smoothing

Extruder pressure control

Clone this wiki locally