概要
这篇文章介绍了:
如何使用操作数TOLR优化所有实际加工中的误差对系统带来的影响。这一功能非常强大且稳定,它充分利用了OpticStudio强大的并行计算能力。
文中示例文件可通过以下链接下载:
http://customers.zemax.com/support/knowledgebase/Knowledgebase-Attachments/How-To-Optimize-for-As-Built-Performance/tolr.aspx
简介
公差分析是用来评估加工中的种种误差对所设计系统的影响,这包括元件的倾斜、偏心以及表面不规则度和玻璃材料折射率误差等等。
传统的设计方法分为两步。先在优化设计阶段会得到一些备选的结构,然后对这些结构进行公差分析。这一过程通常会重复几遍直到一个符合要求的结果出现。
该方法的问题在于,当一个结构进行优化时,OpticStudio通常会“榨干”最后一点可优化的空间来提高系统性能,并且通常会得到一个对公差比较敏感的结构,通常在这种结构中,透镜的参数存在扰动而偏离它们的设计值时系统性能会迅速下降。这是因为在优化(Optimize)过程中,系统根本就没有考虑生产加工时的公差(Tolerance)对设计产生的影响。
这篇文章描述了一种评价函数中充分考虑生产加工公差的优化方法。这一方法允许加工公差直接影响优化过程,从而直接得到可加工的优化结果。
传统方法
假设要加工一个薄空气间隙的双透镜组。由于整个透镜的预算限制,设计者大概可以预估加工公差应该设置为怎样的标准。以下是对该系统的传统设计流程。
示例文件中的公差文件TOLR999.TOP必须放置在Zemax的根目录下,其他文件的位置可以放在你想要的其他地方。
打开文件Doublet_Starting_Point.zmx,可以看到设计的初始结构。这个双透镜组使用了薄空气间隔,小视场角,且工作在可见光波长范围内,其中评价函数为默认评价函数来优化所有视场和波长下均方根光斑最小,其中还包含了一些边界条件,例如限制玻璃以及空气的中心厚度和边缘厚度。优化这个透镜后,我们会得到如下的结果:
全视场下的均方根光斑尺寸看起来非常好:
然而我们必须对透镜组进行公差分析来看他是否适合加工。示例中已经建立了一组(非常宽松的)公差,同时设置后焦距作为补偿器来允许系统尝试对焦。移除所有变量并设置最后一个面的曲率半径的求解类型为F数求解。点击工具(Tools)-公差分析(Tolerancing)运行公差分析,点击加载按钮加载TOLR999.TOP文件。此时公差分析参数设置应该如下所示:
在点击OK开始之前,先点击 “Save” 按键,并储存文件名为TOLR999.TOP。储存完毕后再点击 “OK” 开始分析。运行蒙特卡洛显示出系统性能显著下降:
公差分析统计结果为:
灵敏度分析可以单独分析每一项公差,其结果为:
结果显示,公差分析结果比原设计结果(名义值,即未考虑任何公差时的值)差十倍。这表明我们设计还远不符合现有公差。
使用TOLR
我们现在将重新设计这一系统,但这一次我们直接将公差添加在优化操作数中。上文中进行的灵敏度分析中包含了两个关键参数:
其中名义均方根光斑半径(Nominal RMS Spot Radius)是设计中不考虑加工公差时能达到的结果,预计变化(Estimated change)是考虑公差影响时结果的变化量。预计均方根光斑半径(Estimated RMS Spot Radius)是两者的总和,它代表了设计实际加工出来的结果。
OpticStudio使用和的平方根(RSS)的计算方式来预计结果的变化量。对于每一个公差操作数,其扰动对结果产生的变化量先取平方,然后将最小值的平方值和最大值的平方值取平均。每一种公差的平方平均值线性累加在一起并计算平方根。采用公差的最大和最小取平均是因为这两个值不会同时出现,而使用平方和的话,公差分析预估结果则过于悲观。RSS结果即分析中的预计变化量(详见用户手册The RSS Estimated Change)。
优化操作数TOLR允许您直接从优化函数编辑器中获得这三个参数。想要使用TOLR,首先将系统优化至一个理想的初始结构。其次,定义相关的公差操作数、限制、补偿器和文章之前提到的公差条件。保存公差分析对话框中的选项设置,OpticStudio将在计算TOLR返回的数据时使用这些保存的设置。如果您想使用一个已经保存好的设置文件,请使用1到999之间的任意整数做为文件名。保存的设置文件的名称格式必须为TOLRnnn.TOP,其中nnn为操作数TOLR中设置的数字。例如,如果想使用的公差设置文件保存为TOLR005.TOP,则文件数值应为5。
在公差灵敏度分析中,OpticStudio将计算名义评价标准值结果并预估出RSS预计变化量。预计评价标准值是名义评价标准值和预计变化量的总和。这些数据将在优化过程中计算并返回给操作数TOLR。TOLR返回的数值可以做为优化目标或被其他优化操作数使用。
打开所包含的示例文件:Doublet_starting_point_with_TOLR.zmx。这和之前设计的初始结构相同,但评价函数不相同:
这一评价函数中包含对有效焦距(EFFL)的限制以及对玻璃中心厚度的最大最小的限制(MNCA、MXCA)以及玻璃和空气边缘厚度的最小限制(MNEG、MNEA)。然而成像质量则由TOLR来指定。注意‘文件’参数值为999。这表示公差设置文件TOLR999.TOP将被使用。其中,该文件必须保存在Zemax根目录下。
TOLR中的数据编号1表示名义评价标准值,编号0表示预计变化量,编号2表示最终的结果(前两者的总和)。本文选择将编号2的数据向0优化。这意味着我们得到的名义系统性能(nominal performance)没有之前的设计好,但是考虑加工公差的最终结果会更好。经过大约15圈优化后,我们将得到:
可以看到如我们所预期,名义性能(nominal performance)并没有比之前设计的好很多,有时候还会变差。然而相比之前的设计经过公差分析后得到的120μm均方根光斑直径的结果,预计均方根光斑现在只有74μm。下图为当前透镜组名义评价标准的结果:
经过20圈蒙特卡洛分析叠加后:
我们可以看到相比两步进行的优化&公差分析方法,使用操作数TOLR直接进行优化的系统,其公差敏感度降低了两倍多。以下是两种方法所得系统灵敏度分析的对比结果:
两步法 优化&公差
TOLR
使用TOLR时的几点建议
TOLR允许用户直接将系统加载加工公差后的表现作为优化目标。它相比传统方法的唯一缺点在于其计算强度更大,因此其优化时间更长。然而它能得到更适于加工公差的设计结果。
为了在最快的时间里得到最好的结果,以下为几点建议:
使用多线程电脑。OpticStudio支持最多到64核CPU的电脑工作。光线追迹的速度与处理器的数量成线性关系。
建立一个合理的初始结构。当系统还未达到其设计要求时,公差分析无法进行。在设计的早期引入公差灵敏度分析是没有必要的。
在最开始单独运行一次灵敏度分析来确定哪些公差是不显著的。电脑对于不敏感的公差,其计算速度和敏感的公差计算速度是相同的!在本例中使用的双胶合透镜案例中,系统对其中一片透镜的倾斜和偏心相比另一片更加敏感。并且玻璃折射率的变化对系统几乎没有影响。巧妙的删减公差列表中的部分公差将大幅减少计算时间。
总结
使用操作数TOLR来设计透镜组是非常高效的一种方法,它会在优化时就考虑实际加工引入的公差对设计的影响。