Published: 2017-04-22 | Categories: [»] Tutorials, [»] Engineeringand[»] Optics.

Two years ago I published a post about [»] a low cost syringe pump printed from 3D parts that was basically a motorized translation table with a syringe attached on top of it. In this post, I present an update of the same technology but designed to provide a precision motorized translation stage for optical setups. The concept of cheap 3D printing is kept but more robust elements are used to provide even smoother motion.

If you are familiar with optical component suppliers you know how expensive motorized translation tables can be. A typical 25 mm travel table with its electronics will cost you more than 2000 EUR which is often of seldom use for the amateur. Here, I propose a table that costs only a fraction of that price with already very nice specifications. Sure, it will not have the full characteristics of professional tables but they are already quite competitive with low wobble values and sub-micrometric steps.

The assembled motorized table is shown in Figure 1. It consists of a few 3D printed parts (download link at the end of the post) ordered in SLS from [∞] Materialise, two linear bearings LM6UU with rectified 6 mm bars bought on [∞] e-bay, a push button (optional), a ST35 stepper motor and a [∞] Thorlabs precision screw FAS300 with its busing F25SSN2P. All the threaded holes were made from M4/1D helicoils to be more robust over time.

Figure 1

The ST35 stepper motor has a gearbox that already allows for a reduction of 4080 half-steps per revolution. It is fixed on the first part of the table using two M4 screws. When assembling, it is important to let these screws lose to allow the motor to centre itself with the precision screw once it is in place. Only tighten the stepper when everything is in place. The rotary motion is transferred to the screw using the coupler (small cylinder that you can see on Figure 1). I have glued the adjuster knob of the FAS300 screw using strong epoxy glue via the two holes on the side of the coupler and also in front of the coupler. Because of the pitch of the screw (80 TPI), every half-step of the stepper motor provides a linear transfer of 80 nm (yes, 80 nm!). Because we use a precision screw, the steps are more reliable than when using common M6 screws from DIY shops.

The linear motion is captured by the moving centre part where you will have to glue the bushing (not seen on Figure 1) from a hole at the bottom of the part. Please note that there is a few millimetre gap between that part and the base plate so that there is no friction. Also, this time I have used two linear bearings LM6UU to keep the table straight when moving. This is a major improvement over the previous version where I simply used sliding aluminium rods into brass bushings. The LM6UU can be ordered on [∞] e-bay and are relatively cheap thanks to their heavy usage in DIY 3D printers. You will have to glue them from two holes at the bottom of the part as well.

The different parts of the translation table are fixed on the base plate and held via four M4 screws and epoxy glue. A bottom view is given in Figure 2. In case you use a pushbutton to detect the end of the travel, you can put the cables in the small groove at the centre of the part. The four holes on the side were designed to fix the base plate on a metric optical table (25 mm holes spacing) using M6 screws and washers.

Figure 2

When assembling the table, I recommend to glue the bushing and the LM6UU into the moving part first. Then, when the glue has set, you can assemble everything on the base plate and add the four screws and glue at the bottom of the part. Only then you can glue the two rectified rods and the coupler. Once the glue has set, the stepper motor will be centred and you will be able to tighten its screws (you will need to install washers between the motor and the printed parts because of a design mistake).

If you remember the previous translation table I had built, they had quite a lot of wobble and were not very robust against loads. This has been solved using the linear bearings LM6UU and by using SLS printed parts (FDM hollow parts are not of great help in term of robustness). However, it is never possible to completely remove the wobble and I therefore decided to quantify it using a 200 mm focal length [»] autocollimator setup by attaching a mirror on the translation table. Such a setup is sensitive enough to measure deviation of less than 0.001° which is well enough for common wobble values. As an order of magnitude, typical motorized table have wobble on the order of 0.5-1.0 mrad at [∞] Thorlabs and high quality tables go down to 100-150 µrad.

The results are shown in Figure 3 as X and Y deviations in mrad for several revolutions of the stepper motor.

Figure 3 - Measured wobble in mrad

The plot shows clearly a circular motion of about 1.5 mrad radius around a centre. This value corresponds to the measured wobble of the table (hence, ±1.5 mrad wobble) which is quite good when compared to professional tables. I understand this circular motion as the stepper motor being not perfectly centred and pushing slightly on the side of the bushing making the centre part wobble in a periodic motion. I was however not able to get better results by loosening and retightening the screws of the stepper motor.

If you are interested in reducing the wobble even more, I would recommend making the centre part larger and to use two linear bearings per rod separated by some distance to reduce the available angular motion. One way to do that would be to print the centre part twice and using the top M4 screws to hold them togheter. On the downside, you will also reduce the travel range unless you increase the length of the precision screws. The longest available precision screw at Thorlabs is 4” long so please contact me if you manage to find longer ones!


All the files required for the 3D printing can be downloaded [∞] here in STL format. I recommend you to use SLS printing for these and not FDM to keep straightness at a maximum.

[⇈] Top of Page

You may also like:

[»] Ultra-low Flow Rates with DIY Syringes Pumps

[»] Arduino Controller for our Low-Cost Syringe Pump

[»] Thorlabs LD1255R Laser Driver Review

[»] Exploring Thorlabs MTDEVAL TEC Driver

[»] Raman Setup Laser Upgrade to 12 cm-1