Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
A long time ago, I read this in E. E. “Doc” Smith’s The Skylark of Space:
He could study safeblowing fifteen minutes and be top man in the field
Even back then, I knew knowledge didn’t work that way. If your fingers haven’t done it, you don’t know how to do it. The more you do it, the better you get.
After a bit of OpenSCAD twiddling, those doodles turned into a printable model. This view shows what it looks like all neatly assembled:
The tiny hole on the top of the Elevation Body accepts a 2-56 setscrew that grabs the arc protruding from the Elevation Plate and locks the up-and-down setting. The Azimuth Mount pivots on the 3-48 screw holding it to the Elevation Mount.
Both of those pivots must be loose enough to move when you bump the mirror and tight enough to stay put in normal use. It’s a delicate balance and I’m not convinced this will work for the long term, but it’s a brassboard.
The 2-56 stud on the end of the mirror shaft screws into a socket in the rear side of the Az Mount. Another 2-56 setscrew in the Az Mount (facing the El Body), grabs the side of the shaft and prevents it from rotating.
The mirror shaft shoulder on the Az Mount (front center) sticks out in mid air and requires a little bit of support.
The El Mount (left rear) builds surprisingly well with its curved top surface downward. If it’s rotated 90 degrees with the curve facing to the left, Skeinforge grumps about not being able to do something or another and generates totally bogus G-Code.
The Helmet Plate has a 3 mm deep depression that more-or-less corresponds to the helmet’s surface. It’s gouged out by a huge sphere sitting on the plate, with a radius calculated from the measured helmet curvature.
The OpenSCAD source code has two useful parameters near the top:
Layout selects the overall appearance: Fit, Show, or Build
Examine selects a single part for inspection & tweakage
You’ll need the MCAD and Visibone libraries to make this work. It’s the original code, without the tweaks to the grid mentioned in the comments there:
This OpenSCAD module spreads an array of cubes across the otherwise featureless preview window, so I know whether the gizmo I’m building or the parts I’m arranging actually fit on the Thing-O-Matic’s build platform. This doesn’t get out to the very edge, but if it looks close, then I should pay more attention anyway.
module ShowPegGrid(Size) {
for (x=[-5:5])
for (y=[-5:5])
translate([x*10,y*10,Size/2])
cube(Size,center=true);
}
ShowPegGrid(1.0);
You obviously don’t want to extrude these things, so put the ShowPegGrid() statement inside an if, so you can turn it off for the final build layout.
Here’s how the stepper drive voltage affects the current rise, using that kludge to sync the scope on one of those motors with L=2.6 mH and R=2.2 Ω. The peak winding current is 1 A, so the first step current-limits at 200 mA.
At 9 V:
Current Rise – 9 V 1A 3 RPS
At 18 V:
Current Rise – 18 V 1A 3 RPS
Knowing the rise time and current change, you can calculate the actual voltage across the inductor using:
VL = L di/dt
With 9 V drive the motor sees:
4.4 V = 2.6 mH x 220 mA / 130 us
With 18 V drive the motor sees:
14 V = 2.6 mH x 240 mA / 45 us
So, in round numbers, the driver MOSFETs, winding resistance, and all the crappy solderless breadboard connections soak up about 4 V of the available supply voltage. There’s some back EMF in there, too, but I haven’t measured that part of the puzzle yet.
The motor is turning at 3 rev/s in 1/8 microstepping mode, so each microstep is:
This 2-56 stud will hold the mirror shaft into whatever helmet mount I eventually decide on. It’s a pan-head screw that miraculously fits snugly inside the cut-down shaft section, held in with a delicate epoxy dribble around the edge.
The head abuts the end of the smaller shaft section, so the two no longer slide. I think a length of heat-shrink tubing will stabilize them in rotation, although perhaps I should have just slobbered more epoxy into that joint.
After the epoxy cured, I sliced off all but 2 mm of the screw thread with an abrasive wheel and cleaned up the wreckage with a file. I actually remembered to spin on a nut before cutting, which ensured I finished the threads properly.
The business end of the mirror has far too many moving parts: two indented plates for the balls on the mirror and shaft, a screw, and a nut. That’s one too many ball joints, at least, and Wouldn’t It Be Nice If the mirror had a watertight seal around its perimeter?
Mirror ball joint clamp
For now, I just epoxied the nut in place after scuffing up the plate and nut with some sandpaper to give the epoxy something to grip:
Mirror ball joint – epoxied nut
You can’t see the new washer and rubber grommet under the screw head that provides a bit of compliance to hold the balls more securely, plus a dot of low-strength Loctite in the nut to discourage things from falling apart on the road.
With those doodles in mind, I applied an abrasive cutoff wheel to the shaft of an inspection mirror (from the usual eBay supplier) about 15 mm behind the second joint. That puts a short section of the third tube inside the yet-to-be-built helmet mirror mount.
The two copper-colored springs center the smaller tube inside the larger one and provide enough friction to make the whole thing work. The tubes seem to be chrome-plated brass and the springs might be phosphor bronze. I suppose they’re Matryoshka-sized from one end to the other.
I’d never taken one of those shafts apart before; now we both know.
Having had many bike helmet mirrors disintegrate over the miles and years, I’ve had a background project bubbling along to build something more durable. Whether that’s feasible or not remains to be seen, but here’s another go at it.
A full-up ball joint seems to be more trouble than it’s worth and, in any event, requires far too much precision to be easily duplicated. That renders those doodles, mmm, inoperative.
These doodles aren’t workable, either, but they convert the ball joint into two orthogonal rotating joints that could be 3D printed with some attention to detail.
The general idea:
An ordinary inspection mirror has most of the tricky bits
An azimuth-elevation mount aligns the shaft relative to the helmet
The mirror shaft extends to put the mirror forward of your eye
The existing mirror ball joint aligns the mirror relative to your eye
What’s not to like:
Exposed screw heads
Off-center, hard-to-grip adjustments
Probably not printable without support due to all the bearing surfaces and cutouts and suchlike
Mirror Mount – Doodles
A few more days of doodling produced something that seems better. The az-el joint axes and the mirror shaft axis now meet at a common point, so the mirror shaft moves as the radius of a sphere. The elevation screw hides behind the azimuth mount, out of the way, which makes it awkward to adjust the tension.
The helmet mount plate must be concave to more-or-less match the helmet curvature. I’ve been securing mirrors using double-sided foam tape to good effect, but it requires a fairly large pad to provide enough adhesive force.
Two glue joints make everything buildable and should have basically the same strength as the parts themselves. The helmet plate builds concave face up. The az and el mounts build with the bearings upward, as do the mating surfaces on the other parts. Maybe the screws need actual nuts embedded in the mating parts, in which case there may be problems.
The setscrew holding the mirror shaft can crush the tube; I think they’re thin brass, at best. Putting a stud screw on the end will hold the shaft in place, leaving the setscrew to prevent rotation. Perhaps the stud can reinforce the tube.