吾爱光设

 找回密码
 注册
会员须知
会员须知
实用帮助
实用帮助
查看: 16207|回复: 5

[技术文章] 如何进行序列模式公差分析

   火.. [复制链接]
  • TA的每日心情
    奋斗
    2024-4-23 07:08
  • 签到天数: 3281 天

    [LV.Master]伴坛终老

    1228

    主题

    5541

    回帖

    894

    积分

    管理员

    积分
    894

    论坛忠实支持者

    发表于 2017-9-13 14:49 | 显示全部楼层 |阅读模式
    摘要:本文以单个透镜为例介绍了如何进行公差分析。适合初学者阅读。
    原文作者:Mark Nicholson
    原文链接:How to Perform a Sequential Tolerance Analysis
    原文发布时间:10/27/2015
    附件下载:Article Attachment




    简介

    公差分析是面向制造和装配的产品设计中非常重要的一个环节。本文简单地介绍了公差分析的基本流程,目的是为了让初学者对公差分析有一定的了解。知识库中也有针对特殊应用的公差分析的文章。

    本案例的设计目的:
        设计一款批量生产的激光扩束器。光源为:氩离子激光,1/e2时光束宽度为:2.5mm。目标:光束出射时1/e2的光束宽度为原来的3倍,波前差必须小于两倍的光束全宽不超过1/20RMS(即:整个光束直接控制在5mm以内)。
    点击文档下载“Beam Expander.zmx”,打开Layout 图。本例由两个平凸透镜构成:



    观察系统OPD图,系统的设计性能远远超过了产品的要求。

        由图可知:坐标轴的最大刻度为0.01 waves,PTV光程差(peak-to-valleyOPD)少于1/200。RMS波前差为(可通过建立预设的波前评价函数得到)2.15*10-3 waves。请注意:本例中系统的孔径类型(system aperture)中设置了高斯切趾(Gaussian apodization),入瞳直径为5mm,切趾系数为2。因此光瞳边缘的强度相对于峰值大约为1/e4=1.8%。

        这就体现了正确设置系统参数的重要性了。5 mm 1/e2直径的激光照射的系统的结果(RMS OPD:~2.10-3)与均匀光照射的结果(RMS OPD :3.10-3)肯定是不同的。因为当光源为高斯光时,球差在光瞳边缘的效应相比于均匀光入射小很多。

        接下来,我们来考虑制造误差对系统的影响。

    制造公差

        公差分析目的是考虑制造误差对系统的影响,因此设计时必须考虑实际的制造情况。为了能够更好地分析公差,模拟出符合实际的情况,首先我们应该了解系统所用镜片在批量生产时的制造流程和测试方法。

        Zemax OpticStudio能够模拟出各种各样的制造和测试方式。本文范例中,我们假设系统透镜是使用传统的手动抛光制造。

        制造公差可以在公差编辑器(Tolerance>Tolerance Data Editor)中设定。公差向导(Tolerance > Tolerance Wizard)可以帮助使用者加入一组常用的预设公差,必要时可手动编辑修订。公差向导的设定如下:

         图中“Surface Tolerance”中主要包含透镜的表面误差,例如半径(Radius)、表面不规则度(Irregularity)等等。           “ElementTolerance”则包含了透镜在系统中的位移和倾斜公差。由所给的预设公差分析设定,可以看出:

          曲率半径:传统的公差测试方法是利用He-Ne激光器照射到double-pass系统中观察其干涉条纹。本例中,我们使用条纹数来评估半径,并且允许待测表面和原器件之间有一个条纹的公差。因为光源为He-Ne激光,因此我们将波长设定为0.6328。注意这并不是系统实际工作时的波长而是测试时所用的波长(实际工作为氩离子激光波长为0.5415微米)。

           中心厚度:预设的公差为0.2mm,这里我们仍需考虑透镜的安装误差,下文会详细讨论这一部分。

           表面偏移以及倾斜:这里我们需要注意,对于非球面表面来说离心以及倾斜是两个不同的概念,例如抛物面镜必须分别描述离心和倾斜公差,因为抛物面只有一个旋转对称轴。但是对于球面来说它有无限个旋转对称轴,因此离心和倾斜代表同一概念。在镜头制造时,一种常见的测量就是测量镜片的楔形公差(Wedge)。楔形公差有两种测量方法:将透镜真空吸附固定(1)将激光照射到镜片中心,旋转透镜观察远方屏幕上光点的运动;(2)旋转透镜使用针盘量规(DialGauge)测量边缘厚度的变化。接着微调透镜位置,尽量缩小上述测试中楔形值。

        本例中,我们假设制造商使用边缘厚度变化作为测试方法。我们在X、Y两个方向输入0.2mm的最大倾斜,因此最大的半径倾斜为sqrt(0.22+0.22)=0.28mm。

        表面不规则度:可以定义为球差和像散的总和(在样板测试的干涉图样中通常显示为形似“眼睛”的图样),也可以使用Zernike系数来定义(这主要是测量仪器为干涉仪时才这么定义)。本例中,我们使用第一种方法,并且设定表面不规则度为1/5。

        元件公差:主要测量系统的“机械轴”对元件的偏差程度。

        折射率公差:描述了实际的折射率与目标设定值之间的差异。在本文范例中只用到了一个波长,所以我们不需要提供阿贝数(AbbeNumber)公差,只需要简单地分析折射率公差就可以了。ZemaxOpticStudio也能够建立后焦距的补偿器。因为本例中系统是无焦的,所以不需要这个补偿要将补偿器的选项取消。
          
         最后点击 OK 则完成一组默认公差的建立。

        机械组装和补偿器

        本例中,系统是由两个平凸透镜构成,因此我们可以假设透镜表面中平的那一面用来组装对位,也就是这一表面会靠在组装结构上,同时,假设两透镜之间的距离200mm可以在组装以及使用时调整,这样该激光扩束器就可以用在不同的波长上。

        观察表面2和表面3构成的透镜,表面3是平面,也就是表面3会靠在机械结构上,所以可以使用TIRX和TIRY来定义表面2相对于表面3的楔形公差。同时,我们不需要指定表面3的TIRX和TIRY,这些可以删除掉。

        类似地,对于表面4和表面5构成的透镜,表面4靠在机械结构上。因此表面5的楔形公差是相对于表面4的,所以应该删除表面4的TIRX和TIRY。

       “厚度”定义了两元件之间Z方向的位移量,设置一个表面的厚度公差不仅仅会影响到所设置的表面,也会影响到系统的其他表面。我们需要了解组装过程是如何影响厚度公差的。

         当第一个透镜的背面承靠在机械结构上,公差分析增加厚度意味着透镜会“往回增长”,并且光学系统的长度会增加。

           TTHI(厚度公差)允许我们指定一个“调节面”来修正厚度变化。例如,如果透镜的前表面被承靠在机械结构上,并且它的厚度在公差分析时额外增加了,这时透镜将会往200mm的空气间隔方向上稍微突出一点,因此实际的空气间隔会小于200mm。Zemax OpticStudio 可以通过“Adjust” 参数实现这一功能。

        默认公差是假设所有的透镜厚度都会被下一个空气界面所吸收,即系统假设这个透镜的承靠面都是前表面。这个调节参数是可开可闭的,如果要关闭它只要把“Adjust” 参数和“Surf”设置一样既可,例如:TTHI 2 2。本文范例中,玻璃的厚度并不会被其他厚度所补偿,因此我们需要取消这一范例中的补偿设定。

        此外,表面1和表面5的厚度其实不重要,他们只是表示光线的进出而已,因此对应的公差操作数也可以删除。

        因为表面3的厚度(两透镜之间的200mm空气间隔)可以在组装和实际使用中调节,所以不应该设定为公差分析中的一部分,表面3的TTHI设定也应该删除。同时,表面3的厚度将会被设定为补偿器,用来调节波前差的最小化,设置方法是在ToleranceData Editor中输入:COMP3 0 -0.2 +0.2,代表定义了一个厚度补偿器,范围是-0.2~+0.2mm。

    测试公差分析设定

        在公差分析的过程中,人们往往会忽略检查公差分析设定的正确性。这很重要,因此我们建立一些Monte-Carlo分析,并了解系统做了些什么事情。

    打开“Tolerance > Tolerancing”,先点击"Reset"恢复所有的预设设定,然后再按照下面步骤进行设定:

          这些设定表示Zemax OpticStudio只会建立Monte-Carlo分析档案,文件名为“MC_Txxxx”,其中xxxx是数字。点击OK执行上面步骤,并打开其中一个文件,你会看到如下设定(实际数字可能会有所不同)。注意在执行公差分析时会有如下警告信息:“Solvesshould be removed prior to tolerancing. Semi-diameter should be fixed”, 在本例中可以不予考虑。

         从上图中,可以看到ZemaxOpticStudio的分析过程。例如“ElementTolerances” (TE**操作数)被设置为一些CoordinateBreak,从而使元件倾斜或者离心。原本设定中是Standard的表面现在被设置为了Irregular的表面形态,因此可以考虑球差或者像散。同样,透镜参数例如厚度、半径、玻璃材料等现在都不是原始值,而是加入了一些扰动来模拟公差。注意:两个透镜之间的厚度被设定为变量,并且评价函数被定义为:

         请仔细查看MonteCarlo文档,以确保你了解并认可ZemaxOpticStudio为公差分析所作的改变。

    执行公差分析

        Set-Up选项卡

        重新打开公差分析前原始的BeamExpander文件,打开OPD图,将坐标轴刻度最大值调节到0.1waves。



         我们一会用这个图和Monte-Carlo结果比较。接着,再次打开公差分析设定窗口,点击“Reset” ,取消之前的改变并恢复预设值。然后按照如下步骤进行公差分析。Set-Up选项卡的内容应该如下:

         对于 “Mode” 中各项的解说如下:
        Sensitivity模式会读取每一个公差操作数的最大和最小值,并计算评价标准(Criterion) 的值会有多大的改变,最后列表整理。公差分析评价标准的定义在 “Criterion”区域中设定,下一章“Criterion区域”会详细介绍。

        Inverse Limit 模式下,使用者可以在 “Criterion”区域中指定一个评价标准极限。然后系统会计算每一个公差操作数偏离多少时会得到这个评价标准的极限值。Inverse表示逆向,它会改变公差操作数的最大最小值。

        InverseIncrement 模式与Inverse Limit接近,不同的是InverseIncrement指定的是相对于原始设计评价标准所允许的变化量。
        SkipSensitivity 模式将会略过所有的敏感度分析,直接开始MonteCarlo分析。
    我们将不会讨论这个设定框中其他的设定,请在Help文件中查找具体的设定细节。本例中选择“Sensitivity”模式。

    Criterion选项卡
        这个选项卡主要是设定在公差分析过程中要应用的评价标准。这边的设定通常与评价函数有关,但不完全是评价函数。

        公差分析的评价标准通常是纯光学的数值(优化函数则还会包含一些边界条件)。为了方便,Zemax OpticStudio提供了一些最常用的公差评价标准,使用者可以直接在下拉菜单中选择,这些选项包含:

    ●点列半径  Spot radius

    ● 波前差      Wavefront error

    ● MTF

    ● 瞄准误差  Boresight error

    ● 角空间半径     Angular radius

         不论选择哪一个,他们在后台都通过评价函数来实现,如果有需要也可以建立自己的评价函数,设定自己的公差评价标准。

         在本文中,我们的设定如下:
        设计目标中要求系统的波前差不超过1/20,即0.05waves。换句话说,我们需要使用RMS波前差作为公差的评价标准,我们使用DLS优化器来优化透镜的间隔。Cycles选择3,因为在实际的微调过程中,工人们并不会耗时耗力的去完成它。本文中, 3个循环是足够的。

    Monte-Carlo 选项卡
        不像Sensitivity或者Inverse sensitivity分析,Monte-Carlo分析会让所有的扰动同时生效。Monte-Carlo的每进行一次循环计算,所有被设定为公差的参数都会在设定范围内根据指定的统计模型随机选取。默认中,所有的公差操作数都使用一样的正态分布,其宽度为4个标准差,两端分别为公差操作数的最大和最小值。默认分布模型可以使用STAT指令改变,这部分超出了这篇文章的讨论范围。本文中,设定Monte-Carlo选项卡如下:

        对话框中有"OverlayMC Graphics"选项,如果勾选则系统每次MonteCarlo会自动更新绘图窗口,并把计算结果叠加上去。这是一个很好的视觉化功能,可以协助判断公差分析能否达到令人满意的结果。

    Display选项卡
         在Display选项卡中的设定并不会影响公差分析,只是定义公差分析的报告中的数据量。

    到此设定结束,点击OK,执行公差分析。

    公差分析结果

        因为我们之前设定了重叠Monte-Carlo分析图,并且在软件中我们打开了OPD图,因此可以看到OPD图中看到20个Monte-Carlo循环计算的结果:看起来距离我们的目标0.05的RMS波长还很远。

        在敏感度分析(SensitivityAnalysis)的过程中,ZemaxOpticStudio首先计算原始设计系统 (nominal system)的公差标准,读取第一个公差操作数,将其调整到最小值,调整补偿器(优化),返回公差评价标准值。然后再重复操作,但这次是将公差操作数调整到最大值。最后所有公差都会执行这一步骤。执行结果如下:

        注意原始设计(nominal)的公差评价标准为0.0022即1/400。我们要求在批量生产时有1/20或者0.05waves,而系统中一部分公差本身就超过了这一标准,例如增加了补偿之后,单单第二片透镜的折射率公差就使得波前差降到了0.058waves 。在所有公差单独计算后,ZemaxOpticStudio会计算各种不同的统计资料,其中最重要的就是 "EstimatedChange" 以及“Estimated Performance” (本文中为Estimated RMS Wavefront)。Zemax OpticStudio使用RSS(Root Sum Square)的计算方法计算EstimatedChange。对于每一个公差操作数,相对于原始设计的评价标准变量的计算方法是最大与最小公差的评价标准的改变各自平方后再取平均值。最大与最小取平均是因为它们不会同时发生,如果相加会导致过分悲观的预测。至此,我们计算出了一个最终成品值的预测。对于这个系统,RSS计算预测了系统的表现应该是0.0597waves,我们目标为0.05。Monte-Carlo的预测也大致相符。

         虽然只有20个测试范本,结果相对比较粗糙。从下表可以看出,RMS波前差低于0.05的镜头的良品率略少于80%。

        很明显,如果需要提高良品率,需要再收紧公差。我们可以手动调节公差编辑器,然后再执行一次公差分析,我们也可以利用反敏感度分析(Inverse SensitivityTolerancing)自动完成。

    InverseSensitivity

    在敏感度分析模式(Sensitivity mode)中,ZemaxOpticStudio读取公差操作数,并计算系统性能降低程度。在逆向敏感度分析模式(Inverse Sensitivity mode)中,ZemaxOpticStudio则是被给予一个允许的性能降低范围,并且系统必须找到一个可以达到这个性能目标的公差的最大最小值。在Set-Up中设定如下:

         在Criterion中,注意看“Limit”栏可以输入参数了,点击check,获得原始设计(nominalsystem)的公差评价标准。

         然后输入我们的目标值,我们假设为0.0075,因此每一个单独的公差操作数都不能让评价函数标准低于1/130。

         其他维持原本设定,并重新执行公差分析。可以看到Root SumSquare的结果变得非常漂亮:

            在Monte-Carlo中也可以看到类似结果

        但是,其实20个Monte-Carlo循环其实是不够的。粗略的来说如果有N个公差操作数,至少需要N2 个Monte-Carlo循环才符合适当的取样分析。本例中我们有24个公差操作数,至少要242=576个Monte-Carlo循环,我们设定1000Monte-Carlo取样得到如下结果:

        重新打开公差编辑器,可以发现系统自动修改了一些最大最小值,以符合逆向敏感度分析,这些改变都在制造可以要求的范围内。注意:执行1000 Monte-Carlo分析,作者的8核电脑中只用了26秒就可以完成。ZemaxOpticStudio并没有使用任何一阶或者其他近似方法来猜测扰动对波前的公差分析的效果。每一个评价函数都在完整精度的透镜波前差计算中完成的。

    总结

    公差分析是一个复杂的流程,这篇文章介绍了公差分析的整个流程,内容包括:
    (1)优化你的设计直到超越目标规格,且要超过一定适当的量。
    (2)建立一组默认公差操作数。ZemaxOpticStudio提供超过一种方法来模拟同一种公差,你必须选择最能代表实际制造,测试以及组装时使用的方法。
    (3)编辑公差操作数以考虑不同的组装方式,并加入可能的补偿器。
    (4)定义公差评价标准,此标准须符合实际工厂的测试方式。
    (5)建立一些Monte-Carlo文件并确认公差操作数有依照你预想的方式工作。
    (6)执行敏感度分析。
    (7)手动紧缩一些棘手的公差,或者使用逆向敏感度分析Inverse Sensitivity,让ZemaxOpticStudio自动计算。
    (8)一旦确定你的公差都没有问题之后,设定执行N2个Monte-Carlo分析,其中N为公差操作数的数量。
    (9)检查逆向敏感度分析产生的公差操作数参数值,确保他们在合理的范围内。
    请记住,并不是所有设计的公差分析结果都可以符合成本利益,很可能为了达到你的设计目标,你需要分析许多不同的设计。你可以在帮助手册中找到更多关于公差分析功能的参数说明。




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?注册

    ×
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-6-17 09:40
  • 签到天数: 484 天

    [LV.9]以坛为家II

    14

    主题

    110

    回帖

    23

    积分

    新手

    积分
    23
    发表于 2018-5-17 16:44 | 显示全部楼层
    站长,附件下载没有东西啊,原文链接也已经不能打开了,能不能再传下附件,谢谢了。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2018-9-25 23:03
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    0

    主题

    19

    回帖

    8

    积分

    小白

    积分
    8
    发表于 2018-7-27 22:08 | 显示全部楼层
    翻译的挺好的,对初学者来说,很有益处,省的猜各个参数是什么意思。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-1-23 16:33
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    9

    回帖

    0

    积分

    小白

    积分
    0
    发表于 2019-12-19 13:52 | 显示全部楼层
    附件下载在哪里啊
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-3-19 08:52
  • 签到天数: 49 天

    [LV.5]常住居民I

    0

    主题

    7

    回帖

    0

    积分

    小白

    积分
    0
    发表于 2021-6-4 10:29 | 显示全部楼层
    站里有正版会员没,帮忙给下载该文章的附件。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-7 14:54
  • 签到天数: 86 天

    [LV.6]常住居民II

    0

    主题

    1

    回帖

    0

    积分

    小白

    积分
    0
    发表于 2023-5-11 19:52 | 显示全部楼层
    这个附件应该就是zemax自带的例子里的吧,在...Samples\Sequential\Afocal路径中。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-4-24 00:24 , Processed in 0.109375 second(s), 24 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表