Solved

Problem with designing simple spectrometer

  • 19 May 2022
  • 1 reply
  • 331 views

Hello,

I am a new user of Zemax and as a Biomedical Engineer also anything but an expert with optics. 

I have to design a simple spectrometer setup for a project. The basics are:

  • light source: end of polymer optical fiber, 1mm diameter, NA=0.5
  • diffraction grating: 500 l/mm
  • Sensor: 1/3” CMOS from USB Webcam, no optics attached (meaning 4,8mm sensor width)
  • Lenses preferably from Thorlabs

Now, I have been trying to work along with the “How to build a spectrometer”-Tutorial from the Zemax Website, but I am running into problems. I tried rebuilding the setup with my own specifications. More precisely, I:

  • Set Object Space NA to around 0.1 (will use mechanical aperture in final setup - BTW can I simulate that as well?)
  • Used f =10.2mm achromatic triplet (from Thorlabs) as a collimator, so that the spectrum fits onto my sensor (instead of achromatic doublet with greater focal length in example)
  • Used 2x 50mm best form spherical lenses to focus the beam (similar to example)
  • Used f=-50mm plano-concave lens to reduce field curvature (like in exapmple)

When I put everything into Zemax and use the example merit function from the tutorial downloads (obviously I made sure the surfaces are defined correctly and the distances make sense) and let the global optimization run, Zemax arranges my lenses in a way that my beam is totally going all over the place. Also, Zemax sets some surface thicknesses to values that are outside of the ones I specified in the merit function.

I can’t figure out, where the problem is and what I would have to change in order for it to work. I attached my Zemax file and the merit function file. Can anyone help me with this? I’ll be very thankful.

Cheers,

Tobias

icon

Best answer by Mark.Nicholson 19 May 2022, 18:04

View original

1 reply

Userlevel 7
Badge +3

Whenever I see this type of problem, I remind myself that the optimizer finds values of variables that reduce the value of the merit function. That’s the only thing it does. So as long as the value of the merit function reduces during optimization, it’s doing its job. If it’s not giving you what you want, that’s because the merit function does not represent what you want.

My strategy for solving problems like this is to simplify things until they work, then add the complexity back in. I’m always suspicious of operand weights of 100 so I start there. 60% of the merit function is due to one operand…

  • Mark

Reply