As a small project, I wanted to make a home-built photography lens. There are a few boundary conditions for the project:
- Constructed from off-the-shelf optics and opto-mechanics components to avoid manufacturing of custom parts.
- Should be compatible with Nikon f-mount (because I have a Nikon DSLR).
- About 100 mm focal length – I think the optical aberrations will be more pleasant with a portrait focal length.
- F-number as large as possible, ideally close to f# 2.
- Decent resolution at least in the center.
- Somewhat affordable – total costs should not exceed 1,000 Euro.
- Not too complicated to assemble and align: I am limited to the tolerances of mounting the lenses in threaded lens mounts.
Besides these boundary conditions, a short survey on the internet shows that there are some additional restrictions:
- F-mount flange distance is 46.5 mm, so I will not be able to place any element closer than that to the sensor. In practice, I found it difficult to place anything closer than at ~70 mm distance from the sensor because of the f-mount adapter height and some kind of focusing mechanism for the lens.
- If I use 2-inch lenses in SM2 lens mounts, I need to use an SM3 threaded aperture to have an aperture that can open to up to 50 mm diameter. This means the mechanical assembly will be more complicated than just one type of threaded lens mount (for example SM2).
Considering all boundary conditions and limitations, I chose to try to make a Petzval type lens. A Petzval lens is a rather simple optical design consisting of two separated positive groups of elements. The rear principle plane of the system is located between these two lens groups.
The optical design is done in Zemax and I am using lenses from the Thorlabs catalog. In my design, I am using simply achromats as the two positive groups. I placed two 200-mm achromats such that the aperture stop is located between the two lenses and the second lens is closer to the image plane than its effective focal length:
Surface 3 has a fixed thickness for the distance between the last surface of the first lens and the aperture stop for the mechanical design. Surface 4 is the aperture stop, thickness was an optimization parameter in the merit function. Surface 8 is a dummy surface for the f-mount adapter inner diameter.
In the optical layout shown, the object is placed at infinity. The optical design is done for different image space f#, in the shown case f# is 2.4. The design is optimized for standard F, d, C wavelengths. I optimized for three fields: One in the center, one at 12 mm radius in image space and one at 18 mm radius in image space; these are the two extreme positions for a full frame sensor (36 x 24 mm). The effective focal length of the lens is about 105 mm. The distance of the last surface to the image plane (object at infinity) is about 88 mm. Vignetting starts to appear for f# < 4.
The merit function optimizes the focal position (thickness of surface 7) and the distance between the aperture stop and the second achromat (thickness of surface 4). I am using a weighted combination of radial spot size and Strehl ratio to optimize which works well when dealing with systems exhibiting optical aberrations.
Next, we look at the spot diagram for different image space f#, after optimization.
We can see that we can reach a relatively good resolution on the order of 20-25 µm across the 24 mm diagonal field for smaller f#.
Next, I looked at the Seidel diagram for different image space f#:
f# 2.4 f# 4 f# 8 f# 16
Across all f#, the dominating aberrations are astigmatism and field curvature as expected for this lens design. These two types of aberrations will give the lens its characteristic swirly bokeh. For small f#, the aberrations become larger and also spherical aberrations and coma are being introduced. Especially when using the lens fully open, a soft haze will be present, even when focused and in the center of the field, as a result from the spherical aberrations.
Next, I introduced different configurations for different objective distances: 1) object at infinity, 2) object at 5 m distance, 3) object at 2 m distance and 4) object at 1 m distance.
We can see that the performance of the lens is very similar for all four configurations and across the fields. The required focusing adjustments inform the mechanical design: To focus at 1 m object distance, the lens must be moved ~11.7 mm away from the sensor. The thread length for focusing will determine the closest object distance.
Next, I exported the optical design from Zemax. I also exported some dummy surfaces to define critical positions along the optical axis such as the sensor position, aperture stop, and the f-mount flange position.
For the mechanical design, there are a few design parameters I need to consider:
- I would like to allow for a maximum f# 2. As a result, I need for the ~100 mm lens an iris diaphragm that has a maximal opening diameter of 50 mm. The Thorlabs SM3 threaded iris can open that large.
- I would like a closest object distance of about 1.5 m. This object distance will result in the frame filling of a typical head-shot portrait. As a focusing mechanism, I will simply use an SM2 thread. For 1.5 m closest-object distance, about 8 mm of thread is required.
- I would like to minimize lens alignment by keeping distances defined by retaining rings.
The mechanical design is done in Autodesk Fusion 360. Step files of all opto-mechanical designs can be downloaded from the Thorlabs website. I placed and aligned the opto-mechanical parts with respect to the optics components and dummy surfaces from the optical design.
Bill of materials:
- 2x Thorlabs AC508-200-A: f = 200.0 mm, Ø2″ Achromatic Doublet, ARC: 400 – 700 nm.
- 1x Thorlabs SM2NFM2: Adapter with External SM2 Threads and Nikon Male F-Mount Ring.
- 1x Thorlabs SM3D50D: SM3 Ring-Actuated Iris Diaphragm (Ø2 – Ø50 mm).
- 2x Thorlabs SM3A3: Adapter with External SM3 Threads and Internal SM2 Threads.
- 1x Thorlabs SM2L10: SM2 Lens Tube, 1″ Thread Depth, One Retaining Ring Included.
- 1x Thorlabs SM2V05: Ø2″ Adjustable Lens Tube, 0.31″ Travel.
- 1x Thorlabs SM3L10: SM3 Lens Tube, 1″ Thread Depth, One Retaining Ring Included.
- 1x Thorlabs SM2M05: SM2 Lens Tube Without External Threads, 0.5″ Thread Depth.
- 1x Thorlabs SM2T2: SM2 (2.035″-40) Coupler, External Threads, 1/2″ Long.
All necessary retaining rings are already included in these parts. The total costs of the all parts are 661.95 Euro (pricing may vary). Note: The f-mount to SM2 adapter is an export-controlled component and may not ship to every country.
After all parts from Thorlabs came in, assembly was completed within a few minutes. It turned out that the focusing using the SM2 thread and a locking ring works quite well with the fine focusing being done by moving the camera. The SM3 threaded iris works very nicely.
I have taken some pictures of a resolution (USAF 1951) target and compared my Petzval lens to my Nikon Nikkor kit lens (24-120 mm, f# 4), of course only for the center of the field. For this, I have set the kit lens to a similar focal length (~100 mm) as my lens, and I adjusted the f# such that they are identical (f# 4) in both cases.
I zoomed in on groups 0 and 1:
The difference between the two lenses is minor, albeit the Nikkor lens has a bit better resolution. With the home-built lens, element 2 in group 1 is, in my opinion, the last where the bars are clearly distinguishable. With the Nikkor lens, I think element 3 in the same group 1 is still distinguishable. This means in this experiment the resolution of the Nikkor objective is 2^(1/6) ~ 1.125 times better. This is of course by no means a scientific way of comparing the two lenses, especially since I am only comparing performance in the center of the field.
Finally, here are some example pictures taken with my home-built Petzval type lens:
Bumblebee on a flower. Moorhen on a meadow.
For more pictures, you can check out my Instagram account.
The optical and mechanical design files (Autodesk Fusion 360 CAD and Zemax) can be downloaded here: Download