Bones-3D-Printer

A cheap 3D printer, with a teachable design

Construction Tolerance

We are building what is supposed to be a highly reliable, precise and accurate piece of equipment, but with cheap 3D printed parts? How do we accomplish that at home?

Square Frame

Remember how when we planned out the frame, we decided it’d be nice to buy the right sized aluminum beams pre-cut for us, in packs of four?

Hopefully those guys did a good job cutting them. They usually do. But what if they didn’t?

The easiest way to construct the frame is to just screw together everything as tightly as possible, right? If you did that, but had beams that are not the right lengths, then you might end up with a skewed frame.

But this is a problem we can solve without too much effort, you just need to use some squares (L shaped rulers) to help you when you build your frame.

If the four legs of the printer isn’t exactly the same length, you can use adjustable feet to adjust the level.

Rod Spacing

This printer is much cheaper to build than my Hephaestus 3D printer or my Ultimaker 2, one expensive part of Hephaestus is the usage of water-jet cut aluminum sheets to make sure all the rods are mounted in perfect position. Let me explain with an example

The water-jet machine is specified to have a tolerance of +/- 0.1mm. If I design one sheet of aluminum to have two holes exactly 300mm apart, then I might end up with a sheet that has holes could be 299.8mm apart, or 300.2mm apart. That’s pretty good.

The new design is basically two 3D printed parts, each one with a hole, mounted with a 2020 aluminum beam in between. Pretend my 3D printer can print with a tolerance of +/- 0.1mm, and the aluminum beam was cut on both ends with +/- 0.2mm tolerance. Now the maximum and minimum possible distance between the holes are much more wrong:

(the above diagram ignored the tolerances of the ball bearings themselves)

It will be incredibly hard to measure the spacing of two rods across the entire printer, so we are not going to bother, or even care. What’s more important is that all the rods running along the X axis are parallel with each other, and the same for the Y axis. Remember that parallel lines will form a plane, and now we have two planes, one formed by the X rods, and another one formed by the Y rods. These two planes must be parallel. Being parallel is more important than the distance between these two planes.

The good news is, the part that holds the ball bearings for these rods are 3D printed, and 3D printing is pretty consistent, at least, consistent enough to build parts for other 3D printers. We just have to make sure we keep the printer settings consistent, and the filament consistent.

Why it’s OK to be a little off

What will happen if everything is not perfectly parallel?

If everything is perfectly stiff and solid, then your printer wouldn’t even move, it would get stuck. But, in the real world, everything is soft and squishy. Steel is harder than plastic but the rods we will use will still bend, and the plastic will bend and squish.

There will be extra radial load on all the linear bearings and bushings as well, so there will be more friction, and thus the stepper motors will use more power.

But in the end, the printer will still work, even if it’s not perfectly built!

We are using 8mm diameter hardened steel rods. We have to make sure they are perfectly straight when we buy them! But if they start out being straight and are bent after, that’s actually still OK! There’s two types of deformation: plastic and elastic

Plastic deformation means you’ve bent the rods enough that they will stay bent permanently. This is bad.

Elastic deformation means the rods will spring back into being straight if you remove the stress forces.

So as long as you didn’t do such a horrible job to cause plastic deformation of the steel rods, then your printer will still work!

Leveling and Skew

The design of the printer bed uses four spring loaded adjustment screws so that even if the movement plane of the extruder isn’t level (as in, parallel with the bed), you can adjust the bed level using those screws. This is a pretty standard mechanism used on many 3D printers.

Remember that 3 points make a plane, but with 4 points, that might means bending the bed! Not good!

But don’t worry too much because we will be putting a piece of glass on the bed. Glass can’t bend, so it will stay flat, even if the heater is slightly bent. Plus, you’ll see that one of the 4 corners is a bit wrong and fix it by hand when you see it.

(also, maybe read this article by Cults3D)

(my own Hephaestus 3D printer used a 3 point bed leveling system, but that’s because I used water-jet cutting to custom cut the aluminum bed, not cheap, most cheap off-the-shelf heated beds have 4 screw holes for leveling, not 3)

If you didn’t make your printer square, but your rods are all parallel, then your printer will be skewed like a rhombus. Your printer will still work but if you tried to print a square shape, it will come out looking like a rhombus.

You should be assembling your printer properly! But if the skew is still there, you can actually just tell the printer’s firmware code to compensate and correct for the skew.

(more reading: Marlin source code comment describing skew compensation and Marlin gcode for skew compensation , it’s a bit of an advanced topic)

Metal Surfaces

There are some places in this design where we try to butt up metal marts up against other metal surfaces. Have a look at the design of the plastic clamp that holds the Z axis rods:

Notice how the tangent constraint is used in the 3D model to make the steel rod touch the aluminum beam. Notice how there’s a gap between the plastic part and the aluminum beam.

When you screw the plastic clamp down to the aluminum beam, the plastic will squish the steel rod up against the aluminum beam. Plastic is softer than metal so the plastic will bend and squish a little bit when the screws are really tightened down, this keeps the rod extremely secure.

Remember that there’s a chance that the 3D printer that prints this plastic clamp will have its own tolerance, and also it can over- or under-extrude depending on the filament and print settings. You might end up with a rod bigger or smaller than the hole. We want to be able to handle this situation.

See how our design with the U shape and the gap can handle these situations just fine.

Pretend the Z axis rod is made with +/- 0.1mm diameter tolerance (ie. +/- 0.05mm radius tolerance), the aluminum beam has a width tolerance of +/- 0.05mm, and the 3D printed plastic has a dimensional tolerance of +/- 0.2mm, what is the advantage of this design over a piece of plastic surrounding the entire Z axis rod?

As you can see, butting up the metal rod against another chunk of metal is clearly the best way to go. The metal is not squishy like plastic. This mounting method has better overall positional tolerance and handles more errors in manufacturing.

The same principle is applied to the sliding block part that holds a brass graphite bushing and the middle axis steel rods. Have a look:

Z Axis Wobble

This is an important topic because there’s some bad information out there on the internet.

There’s a common problem around 3D printers called “Z wobble”, which makes the 3D prints look bad because it seems like each layer is shifted a little bit in a spiral pattern.

What causes the wobble? Usually because people attach a leadscrew to their stepper motor via a coupler. Couplers are never perfectly round or stiff. Think about it this way. How can a rod fit into a hole without the hole being just slightly bigger than the rod? Account for manufacturing tolerances and thermal expansion of solids. The hole must be bigger than the rod. This means when you tighten the rod down with the screws inside the coupler, it’s slightly eccentric. Spinning something eccentric will cause it to wobble very slightly.

People tend to think that by affixing the top of the leadscrew will fix the problem:

and it does help, and sometimes people put two of them. But there’s other problems with those printer designs that makes the problem worse than it should be. The example pictures above I found on the internet came from a printer that looks like…

I have highlighted the Z axis rod mountings. No wonder it wobbles! The rod is extended out pretty far, so it’s easier to bend the plastic due to leverage. The amount of plastic used isn’t nearly thick enough to handle the force from this leverage.

The tiniest bend will cause your print to look like it’s wobbling. The diagram above is eggagerated, but it doesn’t take much before it causes you frustrations.

Remember, a top-of-the-line Ultimaker doesn’t need to support its leadscrew at the top, and it doesn’t ever show wobble!

If you secure your Z axis rods correctly, your leadscrew can wobble as much as it wants, and your bed will not wobble with it.

Watch the following video of a leadscrew and lead-nut…

…it shows that the leadnut is a very loose fit around the leadscrew. This is good! It’s supposed to be loose. If it’s too tight then it will bind! Because the bed is heavy, this isn’t a problem, there won’t be backlash because of gravity. Do you see how I’m wiggling around the leadscrew and my bed is staying perfectly still? That’s because the Z axis rods are stiff and secure!

Next Lesson

The next lesson is on “Designing 3D Printed Parts