If you have never toleranced a lens before, this example can help get you started.
Tolerancing provides information about the sensitivity of an optical system to typical fabrication and mounting errors.
Tolerancing can also help determine which design to make if you have a selection of lens designs to choose from, as well as determine the manufacturing tolerances you need to maintain to achieve a particular level of performance.
1. Tolerance operands tell ZEMAX which parameters in the system to change. ZEMAX uses 4 letter mnemonics for the basic tolerances:
Step By Step Example:
Setup:
To perform a tolerance analysis, load the lens file "COOKE.ZMX". Any unwanted graphics windows may be closed.
As a rule of thumb, tolernace sensitivity goes as a function of the angle of incidence. If the angle of incidence is high, the position of any one ray on the surface is more likely to change as the surface is perturbed, resulting in an entirely new refractive path for the ray. Surfaces with high curvatures, and high ray angles typically have high angles of incidence, and are more sensitive to tolerances.
Before tolerancing the Cooke triplet, try to guess which surface (or group of surfaces) will be most sensitive to perturbations by looking at the radii in the Lens Data Editor, and at the ray angles in a Layout. Write it down, and check your prediction later against the tolerance results.
Next, remove all variables and curvature solves in the Lens Data Editor, as there is no need to change the design while tolerancing. To do this, move the cursor to the Radius column on surface 6 in the Lens Data Editor, where there is a marginal ray angle solve on the radius. Press Ctrl+Z two times. This will toggle the solve status from Marginal to Variable then to Fixed. To quickly remove the other variables in the system, select Tools from the main menu, then click on "Remove All Variables."
To build a list of default tolerances, open the Tolerance Data editor by selecting Editors, Tolerance Data from the main menu. The editor windows may be resized and moved as needed on the screen.
In the Tolerance Editor window, select Tools, then Default Tolerances. The Default Tolerances dialog box will open. Click OK. ZEMAX will build a set of default tolerance operands in the editor. Each tolerance is provided with a default Min and Max value. These values may be changed. ZEMAX also defines a default compensator for the back focus. Compensators are parameters that can be adjusted in the actual system to improve performance. Any lens parameter in ZEMAX can be made into a compensator.
Running a Sensitivity Analysis:
After the tolerance operands are defined, select Tools, then Tolerancing from the main menu. The Tolerancing dialog box will appear.
For this example, make sure the "Fast Tolerance Mode" checkbox is checked. We will also use RMS Spot Radius as the figure of merit. The "Mode" setting should be set to Sensitivity. Change the "Fields" setting to XY-Symmetric. The "Perform Sensitivity" checkbox should also be checked.
Change the "Monte Carlo" setting from 20 to 0. Change the "Show Worst" setting from 10 to 60. Check the "Force Ray Aiming On" checkbox. Now click "OK" to begin tolerancing.
After all the operands are evaluated, a text window will open with the results, and the Toleracing dialog box will automatically close.
The Nominal Merit Function value is displayed in the tolerance report. This is the merit function value before tolerances are applied.
Changes in the merit function value for each tolerance are reported under the Sensitivities Analysis section of the report.
Scroll down to the Worst Offenders section of the report. The operands with the highest merit function values will appear at the top of the report. The worst offenders depend on the operand type, and the min, and max values for the operands. In this analysis, the tilts on surfaces 3 and 4 are at the top of the list. Notice the general correspondence in sensitivity to the surfaces with the highest curvature. The merit function values decrease going down the list.
Scroll further down in the text window to the Estimated RMS Spot Radius. This value is the RSS of the individual merit functions for each tolerance, and is an estimate of the worst case performance of the system with all tolerances combined. The RMS spot radius is printed directly in lens units. The nominal spot radius is about 12 microns. The predicted system performance is about 100 microns which is much larger than the nominal. Some tolerances are too large, particularly the ones on surfaces 3 and 4.
Running an Inverse Sensitivity Analysis:
Re-open the Toleracing dialog box by selecting Tools, then Tolerancing from the main menu.
To demonstrate an easy way to tighten loose tolerances, change the "Mode" from Sensitivity to Inverse. Next click the question mark next to the "Max criteria" setting. The nominal merit function value will be reported in the settings box. Change the "Max Criteria" from 0.0122 to 0.0135, a little larger than the nominal spot radius. Next, change "Show Worst" to 0, since it will have little meaning in this mode. Click "OK".
A new text window will open. Scroll down to the "Estimated RMS Spot Radius." The value given corresponds to an average spot size of about 20 microns, which is much smaller than the 100 micron spot radius before. The estimated performance has improved because the min and max tolerance ranges on loose operands have been iteratively reduced to maintain the maximum criteria.
Open the Tolerancing dialog box again, and repeat this process using a "Max criteria" setting of 0.0125. The "Estimated RMS Spot Radius" for the predicted system performance is further reduced to about 14 microns.
Running Monte Carlo Analysis:
Monte Carlo analysis provides additional detailed information about the overall performance of the system with all tolerances applied.
Open the Tolerancing dialog box again by pressing Ctrl+T on the keyboard, or by selecting Tools, Tolerancing from the main menu. Uncheck the "Perform Sensitivity" checkbox. Change the "Monte Carlo" setting from 0 to 40. Click "OK".
A new text window will open with the results of 40 Monte Carlo trials. As many Monte Carlo trials as are needed, may be run.
The results show that the "Mean" rms spot size for the system is about 17 microns.
Compensator statistics are provided for assembly, and alignment purposes.
Based on the tolerance statistics, in a large production run about 90 percent of the systems will have merit functions below 21 microns. The percentages can also be interpreted as indicating the probability that a single lens will have the indicated level of performance when built.
Difficulty reaching performance goals with suitable tolerances may indicate the need for a redesign. Suitable manufacturing tolerances should be used in the Tolerance Data Editor when known. Tolerance Analysis can be used to select the best design from several comparable designs, provide information about the effects that typical manufacturing tolerances will have on the performance of the system, and help locate problem areas that may require special attention.