-
Microscope LED Ring Illuminator
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
bettermore professional without the full-frontal Barbie color scheme:
Microscope LED Ring light – snout view It’s less overwhelming from the top:

Microscope with LED illuminator 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.

LED ring light – mounting plate and shade 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:

Microscope LED Ring Light – Mount Plate 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:

Microscope LED Ring Light – Shade The two parts got glued together with the same ABS-in-MEK gunk that I apply to the aluminum build plate:

Clamping LED ring light parts 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:

Sample image using LED ring light 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(); }