Yesterday I install a new closet door in our front entrance hall, and discovered a problem which I then solved with 3D Printing. The door is a standard bi-fold type, with pins in the top and bottom of one side for rotation, a central vertical hinge, and a track along the top to keep the far side in alignment.
The problem was – with the volume of coats we need to survive a the winter on the ice planet Hoth (Chicago) and the positioning of the hanger rail, the coats push the door out and prevent it from staying fulling closed. Given that this is immediately adjacent to the front door, not an ideal solution at all.
There are lots of types of locks/clasps/magnets designed to solve this problem, but the one I chose to emulated is this over-the-door babyproofing product. It’s essentially a c-channel of plastic that slides over the middle-hinge when the door is closed, to prevent it from swinging open. Genius.
I created my own variant in Fusion360, thinking about how to make the design rigid, printable, and aesthetically pleasing. I added ridges along the sides to increase its lateral strength, and little pull-tabs to make it easier to grip. I trussed-out the top to give it some additional strength and reduce weight. Here’s how it ended up after about an hour of drafting:
Printing took a little over 10 hours, and the final result works great. I selected a blue-green PLA+ for ease of printing and aesthetic considerations:
This weekend I’ve added the pinion gears to the seven-segment display, and performed the first test rotation of the mechanism.
As previous noted, the arm gears are 6-tooth gears of module 4 (metric) – in clockmaking terms, these would be pinions. In the clockmaking world, where I’ve been doing quite a bit of research during this project, there doesn’t seem to be a hard dividing line between what’s considered a “gear” and what’s considered a “pinion,” except that gears are big and pinions are small. Fair enough. From this point forward I’ll be referring to the arm gears as arm pinions.
I printed 6 of the pinions in just over an hour, and fitted them to their axles, which are just hacked-off pieces of 1/8″ rod stock from the hardware store. With the tolerancing on the prints as it is, the pinions are a snug fit on the axles, so I’m not too concerned about slippage once I can get the whole thing turning smoothly.
Speaking of turning, here are the first (partial) rotations of the mechanism.
Right now, the biggest impediment seems to be that the frame lacks rigidity, and easy warps and slews far enough to drive the arm pinions out of mesh with the drive gears. I’m currently working on a two-part version of the frame with interlocking members that firmly affixes both halves on the frame so that they remain rigid and parallel.
I’d assumed when I started this project that the axles (arbors) would need to be made of metal rod or dowel stock, so that they were firm, perfectly round, and rigid. But this being a 3d printing project, I’m now experimenting with a fully3D printed arbor-and-arm-pinion assemblies. These have the advantage that there’s no need to manually locate the pinion on the arbor by sliding the arm pinons up and down the arbors – they’re all one piece. As a sample, I printed a C-Arm assembly in two different orientations, both vertically and horizontally:
The vertically-printed arbor and pinion came out much better – the axle on the horizontally-printed unit is limited in smoothness by the layer height of the print, while on the vertical print it’s limited by the X and Y resolution of the printer. Additionally, while there is significantly more support plastic on the vertically printed unit, it’s not touching any of the working surfaces of the pinion itself, making the post-processing and filing significantly simpler. Both seemed to rotate well in the axle holes, however; well enough that I plan to work up a full set of these and test them in the next version of the frame. That means the only non-3D printed part in the project would be the main axle, and possibly the G-Arm tubing.
Next steps are printing the stiffer frame and the pinion/arbor assemblies.
The heart of the seven segment display is the seven drive gears with select teeth, which share a common shaft and all rotate together. As I was developing the idea of the drive gears and conceiving of how the presence/lack of teeth could “signal” the arm gears to turn or not, I though of them as plain, 2-dimensional shapes. I had planned on spacing them out along their common shaft using 3D printed washers of a set thickness. As for aligning them at the appropriate relative rotation, I thought I might print a jig (some kind of tall internal gear) to hold all the drive gears in the right relationship. Then I would either affix the gears and washers with superglue, or drill an alignment hole through all 7 gears and insert a small alignment rod to maintain their orientation.
Here are the first three drive gears (A, B, C) with a 2mm-tall washer between each. Looking good!
But this is thinking like someone who only has access to subtraction manufacturing. Why carve out a hole and insert new material when we could print the holes and alignment rods as part of the gear themselves?
I took another pass through all the drive gears, and added two 3mm wide, 7mm long “pegs” to the front side of each one (except gear A, the front gear). I also carved out a matching “slot” in each gear to receive the pegs behind it, with 0.3mm of clearance in all dimensions. (0.3 is my standard clearance value when I want two mechanical parts to fit together with no problem at all – your experience may vary.) Additionally, I extruded the center portion of the gear an extra 3mm upward to eliminate the need for the spacing washers I’d previously planned on.
Here’s the new E gear as an example:
You can see the two protruding rectangular “pegs” on the top that fit into the D gear, and the two similar slots on the bottom that receives the pegs of the F gear.
So, here’s what all 7 interlocking gears look like on an axle:
I whipped up a couple of minimalist end-frames to hold the drive axle and the axles for the arm gears – with both front and back in place, the mechanism is starting to take shape:
These endframes are a good example of something I’ve noticed with mechanical objects and additive manufacturing – there are huge time paybacks for small investments in drafting time. I’d first conceived of these end-frames and simple, 2mm thick rectangles with 7 holes in them. Cura estimated that each of those plates would take around seven and a half hours to print. Oof! There goes the weekend. But another 15 minutes of casually cutting things away in Fusion360 and the resulting frame took about two hours and 45 minutes. That’s ten hours of printing time saved with a quarter hour of drafting, a massive return on time invested.
Next step will be to re-print the pinion arm gears with appropriate axle holes, and then test fit the gears together. Here goes nothing.
While time at home is scarce this week, I’ve stolen a couple moments late night to continue working on the design of the geared 7-segment display, including finishing the modelling of the 7 drive gears.
Each drive gear is based on a 30-tooth, involute gear of module 4. Each segment of 3 adjacent teeth represents a single transition of a segment (or lack there of) – if there are teeth in a segment, the associated arm gear will rotate, changing a segment from active to inactive for a given transition or vice versa.
As a side note, each gear has a even number of teeth remaining, and each segment makes an even number of transitions as the display makes a full cycle of ten digits. If a segment made an odd number of transitions, it would start the next “cycle” in a different state than on the previous cycle, causing the numbers to “look” different on each time a given number came up, which is clearly wrong. This served as a useful sanity check as I was working through each gear in turn.
Here is the mechanism in its current Fusion360 form (support plates, arms and mounts, and a drive mechanism yet to come):
The A, D, and G arm gears lie on the vertical axis of the mechanism. The A and G arm gears, as noted in my previous post, are currently intended to be co-axial, the shaft of the A segment being a small hollow tube which completely surrounds the shaft of the G segment. Of all the details in this mechanism, this one seems the most fiddly at the moment, since any tolerance issues are going to compound on each other.
The B, C, E, and F arm gears lie at ±50° from the vertical axis, which is just about as close to the vertical axis as they can be and still have their arms clear the axes of the A/D/G segments.
In contrast to what I said a the end of my last post, I’m thinking I’ll print each of the gears individually and then mount them on the center axle with spacer washers. The whole-gear-assembly-as-barrel has one fatal flaw: printability. That’s a lot of overhanging teeth to worry about. That said, the print-individual-gears approach means needing to worry about registering adjacent gears to each other, but that seems like a solvable problem.
Looking down the road, here’s a quick Vectorworks sketch of how close adjacent digit displays could be. It seems I could squeeze them to about 175mm (~7 inch) centers.
Currently, the plan is to build one digit and evaluate… but the only thing better than N mechanisms is N+1 mechanisms…
Over the weekend, I got started on a project I’ve been musing about for a few months – making a mechanical 7-segment display, using gears to move individual segments in and out of the display area via rotation of a central shaft or belt.
The inspiration for this idea is undoubtedly Arthur Ganson’s mechanical sculpture Gary’s Yellow Chair at the MIT Museum in Cambridge, video of which periodically makes the rounds on Reddit. In it, a bicycle-chain drive six separate sprockets, each of which moves a long rod to which is connected one sixth of a chair. Each time the sprockets make a full rotation, their connected arms point toward a central point and the fragments of the chair briefly assemble into a whole (if tiny) yellow chair. Then the pieces split apart again, sent on another rotation by the action of the driving chain.
In this vein, my goal is to create a series of seven moving arms, each with a segment of a 7-segment display on it. A central shaft will drift seven attached gears, each with teeth placed and left out at specific intervals. These seven drive gears will turn seven arm gears, which in turn attach via shafts to long, thin (metal?) arms at the front of the device. The spacing of the teeth on the drive gears will ensure that each of the arm gears turns at the appropriate time to move the segments in and out of the display area. Each time the arm gear needs to move an arm in or out of the way, the drive gear will cause its paired arm gear
Here is a quick drafting of how I currently think this project will be laid out. The grey circles indicate the base circle of each gear, while the concentric circles are the pitch and addendum (i.e. maximum extent) circles. The green segments indicate when a given physical segment is in its “displayed” position, while blue indicates where that segment will be when “not displayed”. The dotted lines around each segment indicate its travel, and are useful that none of the arms sweep through another segment’s shaft. In section, you can see that the segments are going to be situated on 3 different front-to-back planes to avoid collisions between arms and shafts. You can also see the concentric relationship between the top segment and the center segment.
It turns out, fitting 7 arm gears around what is essentially one central drive gear shaft is tricky, especially to do so in such a way that none of the arms contact each others’ shafts as they rotate. To accommodate this, I currently have the top segment operated with a hollow shaft, and the shaft for the center segment runs through this hollow shaft to protrude out the top. We’ll see how that goes.
Here is a quick sketch of the digits on a typical 7-segment display as it moves through the digits 0 through 9. The small red marks in between each digital denote which segments change between digits.
Which leads us to the following chart of which segments need to move between which digits. Note that the horizontal axis is for “moving to this digit,” so that an X in the “7” column, for example, means that that segment needs to change when moving from a 6 to a 7.
After some preliminary work in Fusion360, I did a couple preliminary test prints, both of one of the “30-tooth” drive gears and some of the 6-tooth pinion gears. (Since the total number of possible necessary transitions is 10, and each transition only needs to turn the arm gears ½ a rotation, the arm gears have 1/5 as many teeth as the drive gears.) You can also see one of the 2mm spacer washes I whipped up, which I think will be unnecessary (see below).
With the slight creep and elephant’s-foot that my printer makes, I think I will need to depth these a little further apart than the idealized spacing – even when the teeth are not engaged, the tips of the pinon teeth drag a bit on the drive gear. Even another .2 or .4 millimeters would help here.
It occurs to me at this point that there’s no reason for the central gears to all be separate assemblies and prints – they’re all meant to rotate in lockstep, so there’s no reason not to print them as one large barrel with protruding teeth at 7 depths. That will be a necessary future improvement. Of course, the supports, axel holes, and whatever I’m doing for that hollow shaft are also future problems to be solved.
In our upcoming production of Macbeth at work, one of the many spooky ingredients that the Three Witches drop into their wondrous cauldron is "scale of dragon." To that end, I'm helping our props department out by printing some dragon scales onto some toule. The design is essentially some raised, horned scales repeated in a hexagonal pattern.
The print is in silver eSUN PLA+, which strikes a nice balance between the darker, dull tone of most grey filaments, and the super shiny "metallic" filaments. eSUN PLA+ has become my defacto standard in the past couple months, after I used 4kg or so to complete a project printing portable
So far, I've had three failed prints with this file and technique. The first was my own fault: after pausing the print between the second and third layers to insert to toule, I hit "Stop Print" instead of "Resume Print." Arg. The second and third failures, though, are a mystery. They appear to have stopped extruding following printing the bottom layers before starting on the infill and walls. I don't know why exactly this happened, as I started both prints late at night after work before heading to bed. But both times, I came out in the morning to find the print head at the final Z height I would have expected had the print completed... but with only a small bottom layer of rectangles trapping the fabric.
I'm currently printing the pattern again, re-sliced. Here's hoping!
Update after printing: close, but no cigar.
Re-slicing the file alleviated the "no extrusion after the bottom layers" problem, so I can only assume it was some odd setting in Cura that was to blame. I'd been trying out a "pause at given height" plug-in script, but a little more googling has lead to believe that this not usable in its current form with the Duplicator i3. Perhaps that was the cause.
This time, the error was my fault. It seems that one of the binder clips holding the toule to the heated bed was contacting the frame of the printer at one end of its Y travel. This only turned out to be an issue for the top %30 of the print, when the tip of the "frontmost" scale leaned far enough in the Y+ direction to cause the binder clip to contact the frame. Thus, everything above this level shows layer-shifts every two or three layers as the clip hits the frame and causes the y-stepper to skip a step.
In my experiments with Fusion360 recently and casting around for inspiration, I stumbled across my old copy of Godel, Escher, Bach: An Eternal Golden Braid, which has a curious cover design consisting of two objects that cast shadows of three different letters along three different axes. In the following video, I look at the process of designing one of these shapes with arbitrary letters for 3D printing.
Start with a basic solid, like a sphere or a cube.
Decimate the solid (reduce the number of triangles that make up the shape) to a very very low level, perhaps down to 20 or 30 polygons.
Stretch and place the vertices of this blocky solid until satisfied.
In this case, I had ideas about turning this shape into a lighting table topper, with an Arduino and LEDs underneath the open base. But other projects popped up, and this open-base blocky pyramid has sat dormant for several months. This week, I finally found a use.
In my living room, I have a tall two-socket light fixture standing in the corner. One socket stands at the top of the lamp, with a broad frosted dish shade, and there’s a small flexible arm coming off the side of the lamp which lost its shade long ago. My partner and I both enjoy using this flexible arm as a re-positionable reading lamp, but that lack of a shade means it’s been pretty glare-y.
By trimming the top off of the clear pyramid, I converted the Agrocrag into a lampshade.
The shade is trapped in place by the bulb itself. Of course, an LED bulb is a must, since the heat of an incandescent (or even CFL) light bulb will melt or deform the shade.