Saturday, February 16, 2019

Designing 3D Printed Parts for Assemblies

Here are some of the techniques I have used to design assemblies of 3D printed part and non printed parts.

The first thing I do when designing 3D prints to fit with non printed parts is make CAD models of the nonprinted parts with enough detail to cover mounting the part to the print or other non printed parts.  I have built up a library of nonprinted parts such as stepper motors, bearings, linear guides, etc. that I can reuse as needed, and Fusion360 allows direct import of 3D models of hardware from the McMaster-Carr catalog which can make life really easy.

Once I have modeled the non printed parts, I put the CAD models into their final positions relative to each other, then design the printed parts around them.

If you buy parts from China, you'll often find that if there is a drawing showing dimensions on the web page, it won't match the parts they actually ship to you.  I normally try to buy or scrounge gears, pulleys, belts, motors, switches, bearings, etc., first, and then design around them.  I have learned the hard way to wait until I have the parts in hand so I can measure them and make sure things will fit.

Belts


In machines that use belts, you have to clamp the belts to the moving parts.  I like to use self locking belt clamps in which the belt folds back on itself with the teeth engaged.  The problem is that every manufacturer's belts are different thickness, so you have to customize the clamp slots to match the belt.  I printed this gauge to test the belts.  It has a series of slots that are 1.0 mm to 3.0 mm wide in 0.1 mm steps.  I use it to check the width for a single pass of the belt, and then fold the belt and see which slot will hold it with the teeth engaged.

GT2 belt gauge for designing self locking belt clamps.
Self locking belt clamp.  The entry and exit slot widths are determined using the belt gauge and the belt.

Bearings


Hole gauge used to check fit with hard disk drive bearings.  So far this gauge was used for a filament spool holder and Van de Graaff generator that used HDD bearings for the rollers.
Cutaway view of the top of the Van de Graaff generator.  The green parts are HDD bearings that let the roller (blue) spin very smoothly.

Filament spool holder that uses HDD bearings (12 of them!) for the rollers and pivots.


Rectangular gauge used to fit the Y axis bearing blocks on the ends of a "square" aluminum tube used for the X axis in the sand table project.

The black rectangular tube fits tightly into the Y axis bearing block in the sand table (early version).

Bosses and Alignment


Bosses and mating holes can be used to ensure accurate alignment of printed parts.

Worm gear project that illustrates the wrong way to use bosses. The bosses and mating holes ensure accurate alignment of the two halves of the shell, but in this design, the screws go through the bosses the wrong way.  The problem is that the boss is relatively small and weak.  When the screw starts turning threads into it, the boss is liable to break off.


Test print made to check spacing between the shafts.  1/2" drill bits were used for the gear shafts.
Bosses (done correctly this time) used to align the two halves of the box.  The large screw hole goes in the boss, and the smaller hole that the screw will thread, goes in the boss's mating hole.

Cutaway view of a boss with the screw in place.  I usually make the boss 1 or 2 layer thicknesses shorter than the mating hole.  The screw hole in the boss (the blue part) is larger than the screw diameter, so the screw just drops in.  It will thread into the mating part (orange).
Here's a project I did a few years ago- it involved bearings, gears, a motor and three printed parts that all fit together:

Snakebite extruder printed parts and bearings.  The base fits on a NEMA-17 motor.

Bearings in place... rectangular bosses align the two top cover pieces to each other and the bearings.
Top cover halves in position...  Bosses in the top cover align it to the base.
Gears installed...
Final assembly.

The other way to ensure alignment is to use steel pins and tightly fitting holes.  You can buy 3-5 mm diameter stainless steel rods cheaply and cut them to the lengths needed, and have plenty left over for other projects.

Strength

I frequently use modifier meshes in Slic3r to increase fill density around screw and bolt holes.  Meshes can be created in Slic3r, but I prefer to make them in CAD and export them as a separate STL file(s) that import into Slic3r.

If the modifier mesh touches the surface of the part, it will be visible in your print.  You can make it invisible by putting it entirely within the print surface.  If I am going to reinforce a vertical hole, I will put the bottom of the mesh about 0.4 mm above the bed plate and make it about 0.4 mm shorter than the print.

Thumbwheel with internal modifier mesh (green) in CAD (Fusion360).  Note that the modifier mesh is 0.4 mm below the top surface and 0.4 mm above the bed plate.
First bring in the thumb wheel...

Then import the modifier mesh...

Then set the fill density of the modifier to 100%...
Then check the preview to see that the modifier is there and looking as it is supposed to- the pink solid infill surrounding the hole.
Using a solid modifier around the screw hole lets me crank the nut down on the thumb wheel screw without worrying about breaking the printed wheel.

Some people like to use threaded brass inserts especially for parts that will be screwed and unscrewed frequently.  Keep in mind that the inserts are larger and their threads will never strip out, but they are still installed in printed plastic.  If you apply too much force to the screw, you'll break the insert free of the plastic.  We have a Taz printer at the makerspace that uses threaded brass inserts to hold screws that lock the Y axis guide rails to their mounts.  Turning the screws too tight has jacked the brass inserts right out of the guide rail mounts.

I often use thread rolling screws for plastic.  They look a lot like wood screws without the sharp point and have widely spaced threads that don't strip out the holes very easily.  You can use wood screws and sheet metal screws too, as long as their sharp points are inside the print.

Holes


Holes always print a little smaller than the design size, so it can be useful to print a gauge of different sized holes to allow testing for fit.  If you need really accurate holes, it is best to print slightly undersized pilot holes and then run a drill bit through them.

Hole templates like this one can be a quick reference to check printed holes against other hardware like bearings, screws, and bolts.

A printed hole template like this can be used to check printed hole size against design size.  Numbers indicate design size, not actual hole size.  The printed hole size will be a little smaller. than the design size.  Make sure your extruder is calibrated before you bother printing something like this.
If you're going to be mounting a bearing or other round object in a printed hole and you want it located accurately, when you slice you should use "random" seam placement so that the layer start/stop zits get scattered around the hole instead of all lining up to form a seam that will displace the bearing a little.

Thumb-wheels

Thumb-wheels have all sorts of uses including leveling and zeroing beds, hold down clamps, etc.  There are different ways to make them, but I have found a pretty easy way that makes reliable thumb-wheels every time.

The trickiest part about thumb-wheels is preventing the screw from turning inside the printed plastic wheel.  You can't do it with a round screw head.  You need to either use a hex head bolt (great for larger stuff, but not so good for small screws) or put flats on the head of the screw using a grinding wheel or belt sander.

I use a lot of 6-32 screws because I have a bunch of them and they are a reasonable size for most things I need to adjust with thumb-wheels.  You can't usually find them with hexagonal heads, so I grind flats on the sides of the heads.  When grinding, you need to hold the screw tightly without damaging the threads and without burning your fingers as it heats up.  I drill a hole into a wood block and drive the screw part way in.  Then I put one side of the block on the belt sander table and start grinding until the the flat on the head meets the screw threads.  Then I turn the block over and grind the other side of the screw head.  The flats come out parallel and I don't burn my fingers.

6-32 screw head ground flat.  Careful positioning of the screw in a wood block allows you to preserve most of the tool socket.

All the hardware you need to make a reliable thumbscrew.  You can leave out the lock washer if you use a nylock nut or a drop of Loc-tite.




Use a center hole that just fits the screw, and put in a depression for the flattened screw head.  Flutes are made by drawing a circle at the edge of the wheel, using it to cut away the side of the wheel, then using a circular pattern to duplicate the cut around the wheel.



The 32 TPI thread is about 794 um pitch which is very close to 800 um.  Using 16 flutes means that each flute represents about 50 um of vertical displacement when you turn the screw.

Clearance between moving parts

One of the harder things to do is design moving parts for mechanical clearance.  You can use a sketch and a rectangular or circular pattern to check simple clearance issues:

A sketch (blue) was done on an offset plane and uses a circular pattern to check for movement and clearance at the optical limit switch on the right side of the model.

You can use "joints" in Fusion360 to show part motion in 3 dimensions.  Place the joints and then grab one of them and move it with your mouse- the model will move just like the actual object will when it is assembled.

Rotary joints (the flags) were added at the bearings

Select one of the rotary joints as a handle.

Move the joint and the assembly moves.

You can use this type of thing to model moving assemblies and check for interferences.

I hope you'll find some of this stuff useful in your designs.


Van de Graaff Generator Update

The coming of winter and dry Canadian air brings snow and other awful things, but there's always a bright side:  it's perfect Van de Graaff generator (VDG) weather!

I wanted to play with my VDG a couple weeks ago and discovered that it was producing absolutely no sparks, even though the air in my house was so dry my skin was cracking.  I set about troubleshooting...

First I tried wiping the tube down with alcohol to make sure it hadn't accumulated some sort of conductive dust (?).  Nope, that wasn't it.  

Then I tried swapping the fancy brushes I had pulled from a laser printer for the old standard aluminum tape with the edges clipped to make many sharp points.  Nope.  I put the fancy brushes back.

Then I checked the ground wire to see if the cats had chewed through it.  They had definitely been working on it, but hadn't chewed all the way through it yet.

Finally I took the belt off and examined the pulleys.  The top pulley, covered with Teflon tape, felt sort of rubbery, as if the thin layer of Teflon had worn through.  The bottom roller, covered with aluminum tape, likewise felt sort of rubbery.  Hmmm.  Close examination of the belt found its surface getting sort of crumbly and sticky.  Bingo!  The failing belt had left residue on the Teflon and aluminum rollers so there wasn't any triboelectric effect working any more.

It makes sense, if you think about it- as the belt goes onto a roller it stretches to conform to the roller surface, and as it comes off the roller, it relaxes again.  The  belt is like a pencil eraser scrubbing on a piece of paper, leaving crumbs behind.

I replaced the Teflon and aluminum tapes on the top and bottom rollers, and stitched together a new belt from some fresh therapy-band material, put it all back together, and POW!  The machine was throwing long, painful sparks into my hand again.

Bottom roller covered with fresh aluminum tape, fresh belt, and fancy brush.

Top roller, fresh Teflon tape, fresh belt, and fancy brush.


If you have a VDG and it mysteriously stops working, it may be time to replace the belt and clean or replace the coatings on the rollers.

One more thing- the rims of the two Ikea serving bowls used to make the spherical terminal at the top of the generator have no lips so it's almost impossible to stand one on the other, edge to edge, and have the top one stay in place.  It's a two person job to hold the top bowl in place to tape the two together, but once taped, you can't access the inside of the sphere.  That means you can't show disbelievers the inner workings of the generator.  Who would believe that all it takes is a rubber band, a small motor, and a couple plastic rollers to generate >500 kV if they didn't see it with their own eyes?

I got some help from Jake (the knight who does battle with a giant Tesla Coil at the Milwaukee MakerFaire) at the Milwaukee Makerspace and we TIG welded three small stainless steel screws to the inside edge of the top bowl.  After welding I cut the heads off the screws with bolt cutters and ground what was left down to nubs, just a few mm long.  The screws rest just inside the rim of the bottom bowl and keep the top bowl in alignment, without tape.

top bowl with three screws welded to inside rim.

One of the screws welded to the rim of the top bowl. 


Now when I run the generator, after a few seconds of operation I can draw 600+ mm long sparks to my arm.  If I stay away from it and just let the VDG run, it fires sparks into the air with a menacing "SNAP" every few seconds!

Look ma!  No tape holding the bowls together!


Here are a few fresh pictures of the generator doing what it does best:





Monday, January 14, 2019

Son of MegaMax Gets a New Y-Axis

My second printer, Son of MegaMax (SoM) has been a workhorse at the Milwaukee Makerspace for over 3 years, but there have been a few things I didn't like about it, so I decided it was time to make some changes.

The PEI has been reglued onto the bed surface a couple times and the edges were starting to lift up again.  I also wanted to change from the 450W, 24V heater to a line powered heater that would get the bed up to temperature faster, and eliminate the giant industrial power supply that sounds like a vacuum cleaner.  I gave up on the ball screw drive that has been limiting speed due to a severe mechanical resonance and went back to belt drive.  I also wanted to convert to a kinematic mount for the bed plate.

SoM's bed heater, shortly after it was put into service.

Bed plate just removed from SoM.  Dark spots are scorched kapton where air bubbles got between the heater and the bed plate.  This is how heaters eventually fail...

The New Design


I spent some time modeling the changes I wanted to make and got busy in the machine shop at the makerspace.  My machining skills and time are very limited, so whenever possible, I try to make use of existing parts and materials that will require a minimal amount of machining to make them work.  If you've read any of my other blog posts, you'll know that one of the materials I use a lot is square aluminum tubing.  In UMMD, the pulley supports, motor mounts, and extruder carriage are all made from square aluminum tubing.  I used the same tubing to make the bed supports and motor mount for the new Y axis.

The Kelvin-type kinematic mount uses three leveling screws- one each for reference, pitch, and roll, just like the mount in UMMD.  The reference screw sits in a chamfered hole in the bed plate, while the pitch screw sits in a chamfered slot that allows the bed to expand when heated.  The expanding bed plate is free to slide against the roll screw that simply supports the bottom of the bed plate (no holes or slots).  Springs at each leveler hold the bed plate down on the leveling screws.

Occasionally people ask me why I didn't use a Maxwell-type kinematic mount instead of the Kelvin-type that I used.  The answer is simple: the Kelvin type mount only requires slots/holes to be milled/drilled in the Y direction, just like the motion of the milling machine table.  The Maxwell type mount would require milling three slots, 120 degrees apart.  That would require a rotary table which we have at the makerspace, but it's a real PITA to set it up on the machine.

This is the new carriage plate and bed support designed for kinematic mounting of the new bed plate.  The sphere head screws are the reference and pitch adjusters, and the screw on the left is the roll adjuster.
The tubes used to make the mounts were first cut to a few mm longer than needed, then I drilled the holes, and finally milled the edges to final dimensions.  The angled edges dimensions weren't critical, so I marked the angles on the tubes with a marking pen, then clamped the tube in a vice on the mill table, tilting the tube so that the line I drew was parallel to the top of the vice.  Pieces of wood stacked inside the tubes kept them from collapsing when they were squeezed in the vice.

The springs attach to bolts screwed into the plate on one end and the bed support tubes on the other end.

Springs and the screws that will be used to anchor the springs to the bed plate.  I drilled holes then cut the heads down.

Hold down springs attached to modified bolts.  The bolts will be cut shorter so they don't protrude above the bed surface.
UMMD has a kinematic bed plate mount and it is extremely stable.  Of course, it moves the bed in the Z axis, not Y, like SoM, so we'll see if the concept holds up in a bed-flinger type printer.

Here's the carriage assembly.  The reference adjuster is on the right, pitch on the left, and roll adjuster at the top of the photo.  The plate that links the three bearing blocks is 2.5 mm thick aluminum that was cut on a band saw (no milling on this piece, though the milling machine was used to accurately drill the holes for the bearing blocks).

Here's the heater mounted on the underside of the new bed plate.  The reference screw head sits in the chamfered hole on the left, the pitch adjuster screw head sits in the chamfered slot on the right, and the roll adjuster supports the underside of the bed at the top.

This is the reference ear of the bed.  The dark circle in the chamfered hole is where the spherical head of the reference screw contacts the plate.

This is the pitch ear of the bed plate.  The dark lines in the slot are where the spherical pitch adjuster screw head sits.
This is the reference adjuster screw assembly.  The pitch adjuster is identical.  The screw on the side is there to anchor the spring that will hold the bed plate down on the adjuster screw head.

This is the roll adjuster assembly.  The end of the screw supports the bed plate from below.



This is the reference end of the assembly.  Putting the carriage plate on the bearing blocks instead of on the leveler tubes keeps it far from the bed heater.  All the leveling screws are threaded into teflon blocks that won't melt or soften when the screws get hot.

This is the pitch end of the assembly

This is the assembled roll adjuster.  The knob has 16 ridges, each of which represents 50 um of vertical displacement.

Motor Mount


The motor mount was made from a piece of 2 1/2" square aluminum tubing.  I had to raise it a bit by putting a piece of 1/4" thick aluminum under it so that the belt could easily be clamped to the carriage plate.  The motor mount is held down by two 5/16" carriage bolts that fit into the t-slots in the base plate.  Belt tension can be set by pulling on the motor mount, then tightening the bolts.  I used a 20 tooth pulley.



End Pulley


I had a piece of junk from something I took apart years ago that looked like just what I needed- a milled aluminum bracket with two bearings pressed into it.  The bearings have 1/4" bore, like the motor shaft, so I simply mounted a pulley on a 1/4" shaft that I also had from a junk tear-down.  The only problem was that the shaft height of the motor and the end pulley differed by about 1 mm.  That meant that the belt clamp would have to accommodate that difference.

Y axis end pulley


Belt Clamps


I wanted to mount the belt clamp on the carriage plate, so I calculated the necessary thicknesses of the clamp to keep the belt parallel to the Y axis guide rails.  On the motor side of the clamp, the belt would be 5.6 mm above the carriage plate, and on the end-pulley side, it would be 6.6 mm above the carriage plate.  So I designed a printable clamp with those distances in mind.

At first I designed a one-piece clamp, but thought about it and decided it would be less likely to become a source of backlash if I split it into two pieces.  That way when the bed reverses direction, the belt tension will always keep the clamps in position without introducing any backlash.

New Y axis belt clamps.  Splitting the clamp into two pieces reduced the possibility of backlash.  Steel pins secure the ends of the belt in the clamps and the belt teeth interlock in the slots in the clamps.

Electronics


The original heater was a 24V 450W unit, so it needed a big power supply- 24V at 31A.  That power supply had a fan that sounded like a vacuum cleaner.  Since I have switched to a line powered bed heater, I didn't need the high DC power so I replaced the main power supply with an LRS-220-24, a 24V 8A supply (still overkill) with no fan at all.  Complete silence!

The new, 750 W, line-powered bed heater is capable of getting much too hot, so I added a thermal cut-out for safety.  In UMMD I bolted the TCO to the bed plate, but decided it would be safer to have it attached to the heater.  That way, if the adhesive on the heater lets go (as the adhesive on UMMD's heater is doing now, after about 2 years of use), the TCO will stay with the heater and be able to do its job.  I used the same TCO that I used in UMMD, but in SoM I attached it to the heater using high temperature silicone.  UMMD will be getting modified as soon as I get around to reattaching the bed heater.  When the adhesive eventually lets go on this bed plate I'll reattach it with high temperature silicone.

Here's the heater with the TCO added- it's in the blob of blue goop next to the thermistor at the center of the bed.

Power to the bed is switched using a Crydom D1225 SSR.  It's wired through the 10A circuit breaker that serves as the power switch for the printer, and then goes through the TCO on bottom of the heater.  I used Anderson Power Pole connectors for the heater and thermistor connections to the controller.

Performance


I've been able to crank the acceleration up to 3000 mm/sec^2 and print at 100 mm/sec, and I'm not done tuning it yet.  That's a big improvement over the 40 mm/sec limit that was imposed by the resonance in the ball screw setup that used to drive the Y axis.  Print quality is excellent, as always.

A Few More Changes


I connected the power supply ground to the line input ground and also to the frame of the printer - that should have been in the original build.

SoM's lighting has always looked a little dim, so I added some of the same 24V white LED strips that I used on the top of UMMD.  Much better!

I replaced the Titan extruder with a BondTech BMG.  That means I need a new print cooling fan duct design, so I'll be working on that over the next few weeks.

The BMG mounted on SoM's extruder carriage- the hot end offset from center is different than the Titan, so the print cooling fan would no longer fit.  I'm redesigning that now...