本文以三片式透镜为例介绍了如何进行公差分析,包括如何进行 TOL、BTOL 以及蒙特卡洛分析。如需了解更多信息,请查阅帮助手册。
简介
公差分析是面向制造和装配的产品设计中非常重要的一个环节。本文简单地介绍了公差分析的基本流程,目的是为了让初学者对公差分析有一定的了解。帮助手册中也有针对特殊应用的公差分析的文章。
计算制造公差很重要,但这常常被忽视。SYNOPSYS 为此提供了四大特性,对于大多数镜头来说,这项工作实际上比光学设计更简单。SYNOPSYS 公差分析中,TOL 和 BTOL 都是逆灵敏度分析。TOL 可以选择需要分析哪些面,这些面的公差因素(曲率半径、偏心、倾斜、厚度等),公差因素的的范围上下限,以及目标的极值,例如光斑最大值,MTF 降低到最小的值。BTOL 也是逆灵敏度分析,可以选择反极值或反增量。会分析所有干扰的因素。如果不设置干扰因数,公差因素的干扰因数,就会采用软件默认的参数;如果设置参数,软件就会采用用户给定的参数。同时,软件会给出2份公差结果。一份是满足结果,单一因素的范围。另外一份是,所有参数都正态分布,每个因素的满足结果。蒙特卡罗分析,可以帮助我们看到最终结果的分布。敏感度优化,可以帮助我们降低公差敏感度。楔形误差,可以给我们提供组装的装配角。本文简单介绍了 TOL、BTOL 以及蒙特卡洛分析,并进行了举例说明。
TOL 可以调整你所给定的公差(每次调整一个公差),使得公差变化范围,能够满足你的最低光学规格(每次指定一个光学规格)。在公差运行过程中,可以调整厚度或空气间隙,也可以使用近轴拾取和求解来保持焦点等。下面展示一个使用 TOL 进行公差分析的例子,让我们在下面的三片式透镜中运行 TOL,打开镜头文件 TOL TOLERANCE.RLE,如下所示。
打开宏文件 TOL OPT.MAC,在宏文件的下图所示位置中,加入指令 M 0 .1 A 3 YC 1 1 0 0 7。YC 是对应视场点相对于主光线的差值,就是光线扇形图上的点大小值,该指令就是把 Hy=1,Px=1 处所对应的光线扇形图上的点,优化为 0。
运行优化宏后,在命令窗口输入 FINAL,可以查看所有参数对评价函数的贡献,在命令窗口底部可以看出优化后 Hy=1,Px=1 处,光线扇形图上该点的值为 0.0060。
打开宏文件 TOL OPT2.MAC,如下所示:
PANT...END 指令里面可以自由选择需要分析的公差项,此处分析了曲率半径,厚度,偏心,倾斜。选定了分析项后会分析输入的表面分析,没有选择就不分析。也可以给定公差范围。比如, VY 1 YDC 2 就采用系统给的默认公差范围。指令 VY 1 YDC 2 0.005 0 就是采用我们给定的偏心 0 到 0.005。AANT 中的指令 M 0 .1 A 3 YC 1 1 0 0 7 就是把光扇图上的点目标定为 0,TOL 指令设置像差的最大允许值为 0.007。运行宏文件就可以在命令窗口中查看 TOL 公差分析的结果,在命令窗口的最上面显示的是公差分析的 厚度\ 偏心\ 倾斜的公差范围,最下面显示的是显示了 Hy=1 Px=1 光线点小于 0.007(原本数据为 0.0060),对应的厚度 \偏心 \倾斜的公差应该的范围。
TOL 只有在需要分析部分所选变量的逆灵敏度时,或者当镜头有 BTOL 处理不好的特性时,比如特意的倾斜或偏心等时,才会使用。大部分情况会使用 BTOL。BTOL 考虑了所有可能的变量,并基于统计考虑构建了整个透镜的公差表。BTOL 考虑了所有可能的变量,并基于统计考虑构建了整个透镜的公差表。可以输入大量的权重和控制参数来控制视场的权重,保持参数的相对难度,指定已经存在的工具的半径等,使程序在处理各种实际的透镜和光学加工厂时非常灵活。此外,还可以指定若干调整参数,以帮助纠正由单个扰动引起的缺陷,并且在某些情况下可以放宽一些变量的公差。最后,可以使用蒙特卡罗选项来检验合成误差预算的统计数。BTOL 首先创建一个逆灵敏度列表,然后分配公差,以便在满足像质质量目标的同时,使每个公差保持尽可能宽松。“尽可能宽松”的定义:BTOL 为每个变量赋值一个范围,在满足临界成像质量目标时,这范围尽可能的大。您能够自行输入这个范围,当一个公差变得更紧时,BTOL 会试图放松它,并把这部分像质变差的负担通过对其他变量加紧公差来平衡。这将会产生一个最低成本的公差余量。甚至可以将镜头重新放到 SYNOPSYS 的优化程序中,以重新平衡像差。BTOL 可以使用 MSB 菜单,通过弹窗对话框的方式来输入。也可以直接使用宏代码进行分析。在对话框中填数据易学易用,但是宏命令更为灵活。对话框里面只集成了小部分 BTOL 功能,宏命令的功能更强大。下面将介绍使用宏命令的输入方式来进行 BTOL 公差分析。下面展示一个使用 BTOL 进行公差分析的例子,让我们在下面的三片式透镜中运行 TOL,打开镜头文件 BTOL TOLERANCE.RLE,如下所示:
BTOL 输入的一般格式见用户手册;打开宏文件 BTOL OPT.MAC,如下所示:
命令语句 PREPARE MC 将创建一个 MACro,稍后我们在研究公差预测的统计性能时将使用该 MACro。运行宏命令,在命令窗口将得到分析结果,其内容非常多,所以我们把命令窗口里的输出做一个分类。第一部分:包括截图的前面内容,会对分析的镜头数据做一个总结,包括 SPEC 的输出和 CHG 移除表面 6 的求解等。这是分析之前的常规输出。
第二部分:它显示了光斑方差的初始值,对所要求的三种波长进行了加权。对于轴上点,它大约是 0.000519,预算允许的最大值是 0.000778。对其他两个视场点也进行了类似的总结。比如 1.0 视场,原本光斑时 0.00223,最大增量时 50%,那么最终的光斑要求小于 0.00223*(1 50%)=0.00334。
第三部分给出了轴向误差、放大率和畸变的公差。在本例中,输入的公差与默认值相同且为 100,因此实际上没有影响。重点是强调在这个例子中,我们不关心这些项,并给出了一个大的允许错误,以便程序不会让它们影响预算。
第四部分总结了调整参数,这里只有一个像面倾斜的调整。
第五部分,即 I 表格,列出了每个变量的逆灵敏度。当光斑增大 50% 的时候,曲率半径 、厚度 倾斜、偏心的范围分别是多少。
第六部分,即 B 表格,给出了所有列出项目的实际公差,当光斑增大 50%的时候,曲率半径 、厚度、倾斜、偏心,同时存在的公差,而且实际加工时,这些数据变化呈现正态分布,使每个视场点的 2σ 误差不超过预期的最大值。
第七部分给出了公差预算的简短总结。如果之后输入命令 BTOL LIST,就会重新显示这个部分。
第八部分为由该公差预算产生的预期像质劣化。包括每个视场点的光斑扩大的情况,和轴向误差、放大率和畸变的预期变化。这些数据可以和我们上面设置的理论值,也就是第二部分进行比较,数据很接近,说明当前的公差预算很符合我们实际的要求。
第九部分总结了要求的调整。在这种情况下,在最后一个空气间隔有一个近轴焦点求解,从镜头到镜头的预期调整量约为 0.143 mm,预计像方倾斜为 0.25 度。该公差余量基本上已足以用于制造,并且公差数据可以直接从表格粘贴到 ELD 图纸上。注释编辑器非常适合这样做,您可以通过在图表窗口下单击 afile 保存当前所有公差分析生成的图形。您还可以在 ELD 和 DWG 命令之前通过 USE BTOL 命令使得程序自动向图纸添加公差。
现在我们将用 MC 检查统计假设的准确性。
MC 程序只能在 BTOL 之后运行,并且允许用户执行可能需要的任何类型的重新优化或调整。该程序通过将随机分配的误差应用于每个变量来模拟误差预分析,均匀分布在其公差范围内。运行 MC 非常简单:在上面的 BTOL 输入中,您看到了 PREPARE MC 指令。这告诉 BTOL 在公差分析准备时调用调整参数的时候创建一个 MACro。要运行 MC,必须将标准镜头放入库中,然后选择两种模式中的一种。单行命令模式使用该命令:
其中 NSAMPLES 是制造批次中您需要统计数据的镜头数量, LIBLOC 是库位置。假设您的镜头存储在位置 5,然后您可以使用以下命令:
MC 2 5
您首先请求了一次仅包含了两个镜头的产生批次。如果批次内的数量很大,MC 可能需要运行一段时间,因此首先要检查补偿调整是否可以正常进行。如果一切顺利,请重新运行 MC 命令,比如运行 100 个镜头示例。在命令窗口输入指令 MC 100 5 QUIET, MC 运行完成时,将看到统计信息的摘要,如下图所示。后面可以使用指令 MC STAT,重复这个表的列表,或者使用 MC PLOT 获得一个显示统计数据的直方图。
在命令窗口输入 MC PLOT, 获得下图所示的直方图。