First Extrusion!

Daniel's First ExtrusionWe’ve spent a good chunk of this school year’s time assembling a Prusa Mendel-type printer, which we’ve named Daniel.

Daniel just extruded its first PLA! Not pictured: The team member pushing on the cold end of the filament.

Posted in Uncategorized | Leave a comment

Machine Renovations – Part 2

One of the most frustrating problems with our first Darwin was trying to keep the print platform properly aligned and level all the time. Worse, the polycarbonate bed had a subtle warp to it which made the center higher than the edges, causing all sorts of problems. With print layers dropping to as thin as 0.05 mm (and maybe less in the future?), it’s extremely important that the print platform is flat, level, and at a precisely known height. Otherwise, when the nozzle is aligned at one end of the print bed and moves across to the other, it could crash into the floor and damage the machine.

It’s possible to mount a distance probe on the print head like Nophead has done, and we might experiment with this down the road. That makes it unnecessary to level the bed at the start, but it’s still important to have a very flat surface.

Float glass is an ideal material for this purpose. It’s inexpensive and extremely flat, owing to the way it’s made, and RepRap experiments have shown that it has excellent adhesion properties when printing with PLA. Because the bed will be heated to prevent part warping, I originally thought that something with a low coefficient of thermal expansion would be beneficial, like borosilicate glass. But it turns out that thermal expansion actually helps with the printing process: When the glass cools down, differential contraction between the glass and the printed part makes the parts conveniently pop off the print bed.

The print surface is expected to expand about half a millimetre in each direction when it heats up to ~110 C. To keep the print bed exactly constrained and avoid thermal stress, we’ve designed a four-point kinematic coupling for it, inspired by the National Ignition Facility optics arrangement. Another nice feature of a kinematic coupling is that the entire print bed can be taken off and replaced without worrying about needing to re-adjust it. Typical kinematic couplings use a three-sphere-in-groove combination, but a square table held up at three points isn’t stable.

Four point kinematic coupling

Four point kinematic coupling (Layton, 1999)

Our approach flips this around, hanging the print bed from the top instead of lifting it up from the bottom. That way gravity provides the preload on all four points, and if the printed parts add any extra weight, it will assist rather than counter the preload. There’s two basic ways this can be done:

Rapid coupling

Some variations of the NIF coupling

Note that in the above image, the dark spheres represent attachment points connected to the plate, and the white shape represents the mounting structure. I’m not exactly sure which of these two configurations is technically superior, but the one on the left is a little bit easier to build. So that’s what I’ll go with for now, until I figure out whether there’s an advantage to doing it any of the other way(s).

To make it easy to level the print surface, it would be nice to make it screw-adjustable like a micrometer. But to have stiff, screw-adjustable mechanisms can get very expensive. To resolve this problem I’ve put together a sort of hybrid system, where the V-blocks are held by screws in slots which can be loosened to allow position adjustment with a fine screw. Then the slots are tightened again and the block is fixed in its new position. The V-blocks are all to be made on the waterjet from steel plate, and the spheres (or half-spheres) are off-the-shelf locating pins.

V slider block

With a frame made of extruded aluminum, the baseplate assembly looks like this so far:

Print plate mount

Mount for the glass printing surface

Posted in Uncategorized | Leave a comment

Machine Renovations – Part 1

We’re not just cleaning the parts (although they badly need it!). One of the things we’re doing with the Bernhard robot is redesigning it as we put it back together, to transform it from whatever it used to be into a beautiful new rapid prototyping machine.

Arrangement of X, Y, Z axes

Arrangement of X, Y, Z axes

This robot has a rather unusual construction. At heart it’s a basic Cartesian platform with each axis stacked on top of the previous one – so the X axis rides on the Y axis, and the two of them ride on the Z axis. The nice thing about this is that it means the print bed gets to be stationary, so it can have a nice solid mount. The disadvantage is that the axes move at different speeds, as each one has to carry the weight of all of the parts on top of it, meaning that the axes at the bottom of the stack will accelerate quite slowly. Fortunately the Z axis doesn’t have to move quickly at all on a rapid prototyping machine, but for the other two, speed is quite critical. So without a doubt, the Z axis is going to be the the one that carries all the other ones.

Nonetheless, the X axis will have to carry the entire Y axis assembly around with it. This probably means we’ll need quite a powerful motor to drive one of the axes. On the upside, the print bed is stationary and therefore can be very large, with a stiff and precise mount, without any concern for mass. That’s good because the mass of the bed scales as the square of the axis length, whereas the mass of the axis increases only linearly. So while it may not be perfect, it is a decent architecture for this size of printer (400 x 400 x 400 mm).

X and Y transmission stages

The original X and Y transmission stages on Bernhard

The Bernhard robot has another interesting construction style: Even though the axes are all mobile, all of the motors are stationary, mounted directly to the frame. To accomplish this, the motors each drive a square rod, which works sort of like a spline to transmit torque. Special pulleys with square holes slide back and forth along the rods, so that no matter where the axes are, they can receive power from the motors. In fact, to get all the way to from the frame the X axis, the rotation is transmitted from the first square rod through a bevel gear coupling to a second square rod, to another pulley. It’s quite an elaborate setup!

The advantage of this construction is that very heavy motors can be used, since the extra mass won’t slow anything down – the machine came with three heavy-duty NEMA 34 motors mounted on it. Unfortunately though, each step in the transmission adds a little bit of backlash. That might not be so bad on its own, but due to the aging hardware, the square holes are fairly worn out, so it’s quite a significant problem. And to make matters even worse, pulleys square holes are not so easy to replace, since it’s not a standard part. (And they don’t sell square drill bits at Home Depot!).

Lastly, although the Z axis doesn’t have to move quickly on an RP machine, it has to move with extreme precision. Layers are just fractions of a millimetre thick, and keeping a consistent thickness is very important for inter-layer bonding and decent print quality. The Bernhard robot drives all three of its axes with timing belts. Timing belts are great for many things, especially smooth and high-speed linear motion, but they suffer from two main drawbacks. The first is that they’re not a high-stiffness drive, because even though the belts are reinforced with stiff cables, they need to be very thin to remain flexible. The second is that they don’t have much built in mechanical reduction, because the minimum pulley diameter is limited by the minimum bend radius of the belt. You can always gear it down to get the required reduction, but each gear in the train adds to the backlash, and also to the cost.

So what is to be done to solve all of these problems?

The main problem is how we’re ever going to find replacement square-hole bushings for the transmission, and how we can cut the backlash down to an acceptable level. Fortunately, from the RepRap forums I came across the EvaNut technique, wherein Delrin leadscrew nuts are directly cast onto the leadscrew thread. Why shouldn’t the same technique work to get form-fitting square bushings? These can then be secured inside standard timing pulleys with a pin or a setscrew.

On that note, why not adapt the Z-axis to be driven with a leadscrew? Leadscrews can have a significant built-in mechanical advantage (eg. one full revolution = 2 mm of motion, vs ~30 mm with a timing belt). They aren’t as efficient for moving at high speeds but that’s okay for the Z-axis. The EvaNut would work well for this too, and while I’m a little skeptical of its claimed zero backlash, that wouldn’t even matter since the Z-axis moves in one direction only during a print.

Since the Z-axis is already fully constrained (overconstrained, in fact) by the two linear rails, the trick will be to make sure that the leadscrew doesn’t introduce any undesirable constraint to the motion. This might not be not too hard – milling a flat across the nut allows it to be mounted with a simple piece of thin sheet metal, making a sort of “blade flexure”. This is very stiff along the Z-direction, but flexible in the thin direction. It might be better still if it had a 90-degree bend, to let it flex in two directions, but that might not be torsionally stiff enough (the nut has to resist the twisting force from friction with the screw).

Proposed leadscrew setup for Z axis

Proposed leadscrew setup for Z axis

With a slow, leadscrew-driven Z-axis, there’s very little drawback to putting the Y-axis motor on the moving Z platform. The extra mass of the motor won’t slow anything down, and it cuts out two backlash-inducing stages in the transmission (square rod + bevel gear train). The motor itself can be fairly small too, since this is the lowest-mass axis. The difficulty is just in finding an adequate way to mount it, because the Z pillow block wasn’t designed with a direct-drive motor in mind, and has no conveniently available mounting holes and a scarcity of surfaces in which new ones could be added. However, there ought to be space for some screw holes between the two linear ball bearings, above and below the rail… More updates on this later!

Next post: Planning a print surface

Posted in Bernhard | Leave a comment

Toothpaste

The first thing we have to do before we can get the Bernhard platform up and running is take it apart and meticulously clean every part. As you can see, when we received it it was not the cleanest machine. We don’t have a clear estimate of when the machine was built, but we do know the company that built it ceased to exist in 1976, and based on the age of the electronics in the machine, that looks to be about right.

Berhnard (Early)

An early photograph of the Bernhard platform as we found it

So what’s a cleaning agent heavy-duty enough to use on these dirty parts? As it turns out, the secret is toothpaste, which combines a soap and a mild abraisive into one handy cleaning paste. Check it out…

Awaiting a scrub

Clean and shiny!

Of course, we have to take great care to keep even the mildest of abraisives out of the bearings.

Posted in Bernhard | Leave a comment

Hello world!

UBC Rapid’s website is now online!

Posted in Uncategorized | Leave a comment