A batch of LED ring lights arrived from halfway around the planet and I’d earmarked one for a microscope ring illuminator, despite the crappy color spectrum of white LEDs. It’s better than the fluorescent desk lamp I’d been using up to this point.
This shows the business end of the LED ring light, which would probably look better more professional without the full-frontal Barbie color scheme:

It’s less overwhelming from the top:

The power cable came with the ring. I unsoldered it, fed the end through the shade, resoldered it, snipped off the automobile lamp adapter, wired it to a switch and a 12 V 200 mA wall wart, and hot-melt-glued the switch to the microscope. Yet another vampire load, alas.
The two parts must be printed separately to eliminate any problem with overhang, as the finished widget would have vertical walls on both sides. I thought about support material, realized that would be a lot like work, and split the thing into two parts.

The walls on the shade ring show the same backlash problem that cropped up there; I built these before tweaking the belts.
The mounting plate screws into the microscope’s accessory thread:

Admittedly, “screws into” may be an exaggeration: the mount is just a cylindrical feature slightly larger than the microscope’s minor thread diameter; it’s barely more than a snug friction fit. I clipped out four small sections to allow that ring to bend slightly as it engages the threads.
A shade contains the LED ring and keeps direct light off the objective lenses. There’s a tiny hole on one side to let the power wires out:

The two parts got glued together with the same ABS-in-MEK gunk that I apply to the aluminum build plate:

I applied three blobs of hot-melt glue inside the shade, lined up the LED ring’s power wire with the exit hole, and smooshed it into place. Pause for a breath and it’s done!
The result actually looks pretty good, despite the weird yellow-and-blue spectrum you get free with every “white” LED. I reset the camera’s color correction using a white sheet of paper. This is an ordinary M3 socket head cap screw, familiar to Thing-O-Matic owners everywhere, and a tweaked needle-point tweezer:

The microscope camera mount works surprisingly well, particularly given how simple it was to build.
The OpenSCAD source makes the shade walls a bit taller than you see above. When I run out of pink filament, this one’s on the rebuild list!
// Microscope LED Ring Illuminator Mount // Ed Nisley - KE4ZNU - Mar 2011 // Build with... // extrusion parameters matching the values below // 2 extra shells // 3 solid surfaces at top + bottom Build = "Ring"; // Mount or Ring // Extrusion parameters for successful building ThreadZ = 0.33; // should match extrusion thickness WT = 1.75; // width over thickness ThreadWidth = ThreadZ * WT; // should match extrusion width HoleWindage = ThreadWidth; // enlarge hole dia by extrusion width // Screw mount dimensions MountOD = 46.85 - ThreadWidth; // Microscope thread diameter (thread minor) MountDepth = 2.5; // ... length MountID = MountOD - 6*ThreadWidth; // ID of mount body -- must clear lenses echo(str("Mount ID: ",MountID)); echo(str("Mount OD: ",MountOD)); PlateThick = 3*ThreadZ; // Thickness of mounting plate beyond rings echo(str("Plate: ",PlateThick)); // LED Ring holder dimensions RingID = 54.0; RingOD = 71.0; RingFit = 0.5; // radial gap from ID and OD InnerShade = 6.0; // Shade walls around ring OuterShade = 10.0; ShadeWall = 4*ThreadWidth; // wall thickness HolderID = RingID - 2*RingFit - 2*ShadeWall; HolderOD = RingOD + 2*RingFit + 2*ShadeWall; echo(str("Holder ID:",HolderID)); echo(str("Holder OD:",HolderOD)); LeadWidth = 4.0 + HoleWindage; // LED power lead hole LeadTall = 2.0 + HoleWindage; Protrusion = 0.1; // extend holes beyond surfaces for visibility //--------------- // Create thread gripper and plate module Mount() { difference() { union() { translate([0,0,PlateThick]) cylinder(r=(MountOD/2 + HoleWindage),h=MountDepth); cylinder(r=HolderOD/2,h=PlateThick); } translate([0,0,-Protrusion]) cylinder(r=MountID/2,h=(PlateThick + MountDepth + 2*Protrusion)); } } //---------------- // Create LED ring holder module Ring() { difference() { union() { cylinder(r=HolderOD/2,h=PlateThick); translate([0,0,PlateThick]) { difference() { cylinder(r=HolderOD/2,h=OuterShade); cylinder(r=(HolderOD/2 - ShadeWall),h=(OuterShade + Protrusion)); } cylinder(r=(HolderID/2 + ShadeWall),h=InnerShade); } } translate([0,0,-Protrusion]) cylinder(r=HolderID/2,h=(InnerShade + PlateThick + 2*Protrusion)); translate([(HolderOD/2 - ShadeWall/2),0,(PlateThick + ShadeWall/2 + LeadTall/2)]) { scale([ShadeWall*2,LeadWidth,LeadTall]) rotate(a=[0,90,0]) cylinder(r=0.5,h=1.0,center=true,$fn=12); } } } //--------------- // Build what's needed if (Build == "Mount") { Mount(); } else { Ring(); }
Hey that’s really cool! I just built one of those but nowhere nearly as pretty (because I don’t have a thing-o-matic.)
We’re working on the blue-and-yellow issue, believe me.
nice project. have you posted this to Thingiverse yet?
on a side note, you can smooth out the circles by using the $fs variable in openscad: http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Other_Language_Features
put this line at the beginning of your script:
$fs = 0.1;
it basically defaults the smallest line segment in an arc to 0.1mm instead of the much larger line segments you’re getting. you’ll want to comment that line out while developing, otherwise it will take much longer for the csg operations to run. re-enable it when you’re ready for the final compile before export.
Those facets do add a certain 8-bit charm, don’t they? [grin]
I used $fn=12 for the little bitty power cord hole to force some easy-to-overhang angles at the top & bottom, but for the ring circumference I didn’t much care one way or the other.
IMO, Thingiverse has become a write-only graveyard: there’s no way to actually find anything amid all the noise, which negates the advantage of a central repository. Even unleashing Google directly on the site dredges up a ton of irrelevant pages, all of which mention the object: they’ve built it, they’ve commented on it, they’ve used it as a part of something, they like it, or whatever. Finding the original listing amid all that dross simply isn’t possible, unless it’s one of the few highly popular objects that bubble to the top of the pile.
Sort of like the useless WordPress search function on this blog… [sigh]
Conversely, if you ask Google for [microscope illuminator thing-o-matic], guess what’s at the top of that list? [grin] Heck, it’s near the top even if you leave out “illuminator”! Now, maybe that’s slighting somebody else’s project, but I’ll go with the flow.
FWIW I use the wordpress search function to find stuff on your blog on at least a weekly basis, as I’m working on getting the mill running. It takes some filtering but it’s not so bad.
I’d call it barely tolerable. Mostly, I aim Google at my own site to find stuff: it delivers the post and every summary page containing it, plus other detritus, but what I’m looking for is somewhere in the top few entries.
Which is why I’m doing this: so I can find it again!