I have been pondering increasing the range of motion for a flexure stage this morning. At some point I was wondering if one could just use a 3D printer. They do move relatively precisely. Range of motion is typically 15 to 30cm, which seems like great to scan a larger number of samples - even if it is just one row. They are also abundant and cheap, especially used.
So after a quick Google search I found the EnderScope that does just that: Adding a OFM like optic module to a 3D printer.
While this project is a great solution for their particular use case (Scanning for plastic particles in water filters) I don’t think is transfers well to many others. They are using a 4x objective, So they are more in the realm of a stereo microscope than a compound microscope (Yes, I know; neither of these terms really apply here).
So I tried to come up with some back of the envelope calculations if this approach would work at all for larger magnification.
X and Y axis of typical 3D printers have typically about 100 steps/mm already including micro stepping. This is 10um per step. The paper above gives a repeatability of +/- 4um so about somewhere within the given step. Field of view for a 100x objective with 20mm image size is 200um, even if a good portion of that is not used we can still assume a field of view of at least 50um (the pictures in the original OFM paper look more like 150um). So being off by 8 or 10 um would still allow scanning and stitching the images. Given that many use cases would rather use an air objective with 60x or less we can conclude that the XY movement should be sufficient. Modern drivers have even higher micro stepping so high demand applications could get even better results.
Z movement is another story, though. Depth of field of large magnification optics is very thin and far from the 0.5mm of the 4x objective used in the EnderScope. 40x has about 1um; 100x 0.4 to 0.2um. So we should aim for 0.1um steps in Z directions, for 100x may be even a bit smaller. If we limit ourselves to 20x and 40x a few less steps per mm may still do.
Most 3D printers use lead screws for the Z axis which gives additional reduction. Steps per mm are about 2560 (200 steps * 16 micro stepping / 1.25 mm per revolution) so ~0.4um steps. This may just be good enough for a 40x objective, assuming this theoretical value matches reality.
One could try to add more reduction to the Z axis, either by using a finer lead screw or adding a reduction between the motor and the lead screw. This would require non trivial changes to the mechanics of the printer. May be there are printer out there that already have a better resolution on the Z axis. I didn’t do a survey yet.
Another possible approach is adding a high precision (flexure based) Z actuator. This is something already demonstrated to have the necessary precision. Such 1 axis activator can replace the print head and be driven by the same model of motor as the printers extruder. This would allow using the printers electronic. Z movement could use the regular Z axis for rough movement (if this is needed at all) and the “extruder” head for focussing.
An elegant solution would be to add a 5:1 or 10:1 mechanical reduction directly in the optics head using a flexure. But this requires a fixed point to leverage against. And that is hard to come by. One could press a lever against the glass slight beside the cover slip and then pushing it down. The leverage would move the optics down at a reduced rate. This would probably work just fine until you try to move the head and have to deal with the friction between the head and the slide or move the head all way up to no longer touch. A 3D printer may just be fast enough to do that. It is still a crazy idea better left until everything else has been tried..
As there are basically no 3D printers that move the bed in X and Y the optics module needs to move in at least one axis. This is less than ideal but should be fine. It is about the same weight and size of an extruder and even similar to an hot end. As we move only very slowly and don’t have any physical contact with the sample (ignore the paragraph above) mechanical strain on the printer is much lower than during actual prints.
A moving optics unfortunately means that the illumination also needs to move. The EnderScope solves this by adding a LED ring around the optics. This is obviously not going to work for larger magnifications which need illumination through the sample.A possible solution is a C frame that wraps around the sample and holds the illumination module underneath pointing up towards the optics. This frame does not need to be attached to the precision Z axis. Adjusting the height of the illumination can probably done with the normal Z axis of the printer or some adjustment screw(s).
For this to work the samples can’t just lie on the build plate but need to be raised up or a custom build plate with holes for the illumination shining through and possibly a place for the C frame - unless it reaches out at the front and there is space underneath for it. The most universal solution is just having a sample holder that gets put on top of the build plate that has room underneath for the illumination.
Reflective illumination that couple the illumination into the tube don’t have this issue and may be a simpler use case for this idea even if this is the more complicated setup over all.
Following this idea most printers should be able to be transformed into an automated microscope without permanent changes. Simple replace the print head with the microscope head and then place/mount the sample holder on or instead of the print plate.
Software of course is another story. One I am not going to look into here. I don’t dare to ask what it would need to switch the movement in the OFM software to controll a 3D printer via gcode.