Tolerancing in Zemax - University of Arizona

Download Report

Transcript Tolerancing in Zemax - University of Arizona

Tolerancing in Zemax
OPTI 521 Tutorial
By Stacie Hvisc
December 5, 2006
Outline
• Motivation
• Zemax tolerancing capabilities
– Sensitivity Analysis
– Inverse Sensitivity Analysis
– Monte Carlo
• Zemax Demo
• Conclusion
Motivation
• Once you design a lens, you will want to know how it will
perform once it is built.
• Tolerancing a lens is a very important skill to have.
– We can do this by perturbing each element individually and
reoptimizing the system, which is very slow, but accurate.
• On homework 4, we perturbed each element at a time to find the
sensitivities
– We can find all the sensitivities at once by using Zemax’s
tolerancing function.
• This method is very fast, but there is a lot of room for mistakes.
– On the homework, some people hit the sensitivity analysis button and
got numbers that were incorrect – up to two orders of magnitude off!
Zemax tolerancing capabilities
• You can set tolerances in the tolerance data editor for a
wide variety of parameters
– There is a default tolerance generator which can automatically
enter tolerances for: Radius of curvature, fringes, thickness,
position, x and y tilt, x and y decenter, irregularity, wedge, glass
index, Abbe number, and more.
– Other things you can tolerance include: aspheric constants,
decenters/tilts, solve and parameter tolerances, etc
• You can define what compensators you wish to use,
such as focus, tilt, or position of any optical element,
surface, or element group.
– Remember on the homework, we used the final focus position
• You can select the tolerance criteria
– For example, on the homework, we used RMS wavefront
Zemax tolerancing capabilities
• ZEMAX conducts an analysis of the
tolerances using any or all of these three
tools:
– Sensitivity Analysis
– Inverse Sensitivity Analysis
– Monte Carlo Analysis
Sensitivity Analysis
• The sensitivity analysis considers each
defined tolerance independently.
Parameters are adjusted to the limits of
the tolerance range, and then the optimum
value of each compensator is determined.
A table is generated listing the contribution
of each tolerance to the performance loss.
Inverse Sensitivity Analysis
• The inverse sensitivity analysis iteratively
computes the tolerance limits on each
parameter when the maximum or
incremental degradation in performance is
defined. Limits may be overall or specific
to each field or configuration.
Monte Carlo
• The Monte Carlo analysis is extremely powerful and
useful because all tolerances are considered at once.
Random systems are generated using the defined
tolerances. Every parameter is randomly perturbed using
appropriate statistical models, all compensators are
adjusted, and then entire system is evaluated with all
defects considered. User defined statistics based upon
actual fabrication data is supported. ZEMAX can quickly
simulate the fabrication of a huge number of lenses and
reports statistics on simulated manufacturing yields.
Zemax Demo
• How to do Homework 4 in Zemax:
• 1st step: open the HW4.zmx file
downloaded from the course website
Zemax demo
 In the Zemax window, go to “Editors” drop
down menu and choose “Tolerance data”
and the Tolerance Data Editor will open.
Zemax demo
 On the Tolerance Data Editor window, go
to the “Tools” drop down menu and select
“Default Tolerances…”
Zemax demo
• …and the following Default Tolerances
window will open.
Zemax demo
 Adjust the perturbations to match what I
used on the homework and click “OK”.
Zemax demo
• …and the following table appears
Zemax demo
• This table is the Tolerance Data Editor
mentioned earlier.
– Here you adjust each of the tolerances.
– Columns:
• 1) Operand number
• 2) 4 letter mnemonic for the tolerance
– see next slide for a list
•
•
•
•
•
3) Surface number for tolerance
4 and 5) Skip for now
6) Nominal value (helps me identify surfaces)
7 and 8) Minimum and Maximum perturbations
9) Comments
Tolerance mnemonics in Zemax
• Tolerance
operands tell
ZEMAX
which
parameters
in the system
to change.
• ZEMAX uses
4 letter
mnemonics
for the basic
tolerances:
Zemax demo
• After using the generate default tolerances
window, you need to check to make sure all the
numbers are correct.
– For example, the lens spacing between lens 1 and
lens 2, I had a perturbation of 0.2mm on the
homework, but all thicknesses were set to be 0.1mm
perturbations.
– Zemax adds an additional compensator for
thicknesses (in column 4). If you don’t want this,
delete it – possible room for mistakes here!
Zemax demo
 Next go to the “Tools” drop down window
and choose “Tolerancing” and then
“Tolerancing…”
Zemax demo
• Then the following
Tolerancing window opens
up.
– Choose your mode:
(Sensitivity, Inverse
Sensitivity, Inverse
Increment, Skip
Sensitivity). We want
Sensitivity right now, which
is the default already
chosen.
– Choose the Criteria: (RMS
Spot Radius, RMS
Wavefront, Merit Function,
Boresight Error, MTF and
more). We need to select
RMS Wavefront.
Zemax demo
– Tolerancing window
cont.
• Choose the
Compensator: (Paraxial
focus, Optimize All,
None). We want the
paraxial focus to be the
compensator, which is
already the default.
• Check “Force Ray
Aiming On” (makes
more accurate, but
slower)
• You can also check
“Show Compensators”
(for example to see
how much focus
changes for example).
Zemax - results
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Here are the results:
Analysis of Tolerances
File : C:\Documents and Settings\shvisc\Desktop\HW4.zmx
Title: Focusing doublet
Date : TUE DEC 5 2006
Units are Millimeters.
Paraxial Focus compensation only.
WARNING: Boundary constraints on compensators will be ignored.
Criteria
: RMS Wavefront Error in waves
Mode
: Sensitivities
Sampling
: 20
Nominal Criteria : 0.00065152
Test Wavelength : 0.6328
Fields: Y Symmetric Angle in degrees
#
X-Field
Y-Field
Weight VDX VDY VCX VCY
1 0.000E+000 0.000E+000 1.000E+000 0.000 0.000 0.000 0.000
Sensitivity Analysis:
|----------------- Minimum ----------------| |----------------- Maximum ----------------|
Type
Value
Criteria
Change
Value Criteria
Change
TRAD 2
-0.100000000 0.001543200 0.000891675 0.100000000 0.001773699 0.001122174
TRAD 3
-0.100000000 0.000721251 6.9726E-005 0.100000000 0.000642781 -8.7431E-006
TRAD 4
-0.100000000 0.002301125 0.001649600 0.100000000 0.002559580 0.001908056
TRAD 5
-0.100000000 0.000888400 0.000236876 0.100000000 0.000731590 8.0066E-005
TTHI 2 0
-0.100000000 0.001036787 0.000385263 0.100000000 0.000845486 0.000193961
TTHI 3 0
-0.200000000 0.004974029 0.004322505 0.200000000 0.004698490 0.004046966
TTHI 4 0
-0.100000000 0.000693073 4.1548E-005 0.100000000 0.000828411 0.000176886
TEDX 2 3
-0.100000000 0.009626142 0.008974618 0.100000000 0.009626142 0.008974618
TETX 2 3
-0.100000000 0.005722684 0.005071160 0.100000000 0.005722684 0.005071160
TEDX 4 5
-0.100000000 0.009681031 0.009029507 0.100000000 0.009681031 0.009029507
TETX 4 5
-0.100000000 0.011549130 0.010897605 0.100000000 0.011549130 0.010897605
TIRX 2
-0.100000000 0.017751740 0.017100215 0.100000000 0.017751740 0.017100215
TIRX 3
-0.100000000 0.031032656 0.030381132 0.100000000 0.031032656 0.030381132
TIRX 4
-0.100000000 0.063785240 0.063133716 0.100000000 0.063785240 0.063133716
TIRX 5
-0.100000000 0.034639912 0.033988387 0.100000000 0.034639912 0.033988387
TIND 2
-0.000500000 0.000890818 0.000239294 0.000500000 0.000735714 8.4190E-005
TIND 4
-0.000500000 0.000814628 0.000163103 0.000500000 0.000998033 0.000346509
Numbers needed to calculate the sensitivities:
Perturbations
Change in merit function
Zemax - results cont.
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Worst offenders:
Type
Value
Criteria
Change
TIRX 4
-0.100000000 0.063785240 0.063133716
TIRX 4
0.100000000 0.063785240 0.063133716
TIRX 5
-0.100000000 0.034639912 0.033988387
TIRX 5
0.100000000 0.034639912 0.033988387
TIRX 3
-0.100000000 0.031032656 0.030381132
TIRX 3
0.100000000 0.031032656 0.030381132
TIRX 2
-0.100000000 0.017751740 0.017100215
TIRX 2
0.100000000 0.017751740 0.017100215
TETX 4 5
-0.100000000 0.011549130 0.010897605
TETX 4 5
0.100000000 0.011549130 0.010897605
Estimated Performance Changes based upon Root-Sum-Square method:
Nominal RMS Wavefront : 0.000651524
Estimated change
: 0.081762126
Estimated RMS Wavefront : 0.082413650
Compensator Statistics:
Change in back focus:
Minimum
:
-0.327629
Maximum
:
0.327965
Mean
:
0.000030
Standard Deviation :
0.105018
Monte Carlo Analysis:
Number of trials: 20
Initial Statistics: Normal Distribution
Trial
Criteria
Change
1 0.045548742 0.044897218
2 0.013286277 0.012634752
3 0.036228419 0.035576894
4 0.009442727 0.008791203
5 0.014894832 0.014243307
6 0.020252474 0.019600949
7 0.047652045 0.047000521
8 0.013279680 0.012628156
9 0.009529791 0.008878266
10 0.088488208 0.087836684
11 0.019946472 0.019294947
12 0.014766018 0.014114493
13 0.008394405 0.007742881
14 0.069265579 0.068614055
15 0.005727527 0.005076003
16 0.026195678 0.025544154
17 0.009141888 0.008490364
Worst Offenders
Monte Carlo
Zemax - results
 From these numbers, we can calculate the
sensitivities by dividing the change in the
criteria (RMS wavefront) by the
perturbation.


xi
xi  xi 
xi
2
  02
Zemax - results
• Paste the results
into Excel and
calculate the
sensitivities
– (A possible place
for error: mixing up
degrees and mm
for the tilt terms.)
Zemax - results
• So, how did we do?
• Not too good, but not too bad either,
nothing is more than an order of
magnitude off.
– Possible differences due to using a
slightly different RMS wavefront error
as the criteria:
• I used on the homework: “RMS (to
centroid) from integration of the rays”
• Zemax used RWCE: “RMS (to
centroid) from integration of the fixed
coefficients”
• The one with the -734% difference is
due to the insensitivity of that
perturbation
• Zemax also calculates the change in
criteria differently (doesn’t do a root
sum square) – see next slide
Zemax - results
   02  1    2   ...
2
2
Conclusions
• Zemax is very powerful and has many
tolerancing design capabilities.
• You must understand how Zemax does the
sensitivity analysis before you can blindly
use it.
References
•
•
•
http://zemax.com/appnotes/tolerancing_example/index.html
http://www.optima-research.com/Software/Optical/Zemax/tolerancing.htm
Zemax Users Manual