切换到宽版
  • 广告投放
  • 稿件投递
  • 繁體中文
    • 3333阅读
    • 5回复

    [原创]SYNOPSYS 光学设计软件课程三十九:设计自由曲面反射系统 [复制链接]

    上一主题 下一主题
    离线optics1210
     
    发帖
    476
    光币
    317
    光券
    0
    只看楼主 倒序阅读 楼主  发表于: 2018-10-10
    — 本帖被 cyqdesign 从 光学理论,设计与产业化 移动到本区(2018-12-29) —

    SYNOPSYS提供可以简化设计自由曲面的过程。阅读帮助文件中的FFBUILD。我们将展示如何设计一个具有自由曲面的反射系统

    第一步是初略的列出几何图形。这里有一个离轴三反镜的例子:

    光将从表面1的左侧进入,打到2,3和4的反射镜,然后进入5处的图像平面。这是FFBUILD的输入:

        FFBUILD

        SYSTEM

        ID EXAMPLE FFBUILD

        OBB 0 2 25 0

        WAVL CDF

        UNI MM

        CFOV

        END

        GEOM

        2    MIRROR  0 0 140

        3    MIRROR  0 40 30

        4    MIRROR 0 40 120

        5    IMAGE  0 -30 60 -10 10

         END

        SHAPES

        2    ZERN

        3    ZERN

        4    ZERN

        END

    在这个例子中,反射镜将被分配Zernike多项式,它接受多达36个系数,这些系数是表面上极坐标的函数。 由于FFBUILD仅支持具有双边对称性的设计,因此不会使用X中的非对称项。

    以上输入包含:圆形半视场角为2度,半孔径为25毫米。我们运行上面的输入文件,它将产生两个结果:一个镜像系统(目前有平面)和一个优化MACro,它包含了完善这个设计所需的大部分输入。系统如下:

    优化 MACro 的命令行很长,包含了Y和Z中镜面的角度和全局位置的变量,以及镜面上的Zernike系数的变量。但是,大多数变量都被注释掉了,因为我们发现,如果您首先粗略地设计出只有半径和角度变化的设计,然后根据需要逐渐添加其他变量,那么这个过程会更好。这是 MACro 的一部分;绿色的命令行被注释掉了。

        PANT

        SKIP

        VY   2 YG

        VY   2 ZG

        VY   3 YG

        VY   3 ZG

        VY   4 YG

        VY   4 ZG

        VY   5 YG

        VY   5 ZG

         EOS

        VY   2 RAD

        ! VY   2 CC 10 -10

        ! VY   2 G   2

        ! VY   2 G   3

        ! VY   2 G   4

        ! VY   2 G   7

        ! VY   2 G   8

        ! VY   2 G  10

        ! VY   2 G  11

        ! VY   2 G  14

        ! VY   2 G  15

        ! VY   2 G  16

        ! VY   2 G  19

        ! VY   2 G  20

        ! VY   2 G  23

        ! VY   2 G  24

        ! VY   2 G  26

        ! VY   2 G  27

        ! VY   2 G  30

        ! VY   2 G  31

        ! VY   2 G  34

        ! VY   2 G  35

        ! VY   2 G  36 ! VY   2 G  39

        …

    大多数命令由操作数组成,操作数将控制光束在反射镜之间反射时的间隙。 以下是该部分的一部分:

        LLL 1.0000 1 1.0000

        A P CCLEAR 1 0 1 0   1  3

        S CAO   3

        LLL 1.0000 1 1.0000

        A P CCLEAR 1 0 -1 0   1  3

        S CAO   3

        LLL 1.0000 1 1.0000

        A P CCLEAR -1 0 1 0   1  3

        S CAO   3

        LLL 1.0000 1 1.0000

        A P CCLEAR -1 0 -1 0   1  3

        S CAO   3

        LLL 1.0000 1 1.0000

        A P CCLEAR 0 0 1 0   1  3

        S CAO   3

        LLL 1.0000 1 1.0000

        A P CCLEAR 0 0 -1 0   1  3

        S CAO   3

        LLL 1.0000 1 1.0000

        A P CCLEAR 1 0 1 0   1  4

        S CAO   4

        LLL 1.0000 1 1.0000

        A P CCLEAR 1 0 -1 0   1  4

        S CAO   4

    在该输入中,程序已经在表面1和2之间的全视场上边缘光线,与表面3相交的点与该表面的通光孔径半径(CAO)之间的差值上,指定了1mm的下限。 结果,如果该交叉点落在该通光孔径内,则评价函数会受到优化,但是如果光线通过该孔径,则不会被优化。 该程序还为反射镜分配了DCCR表面属性,因此,默认的通光孔径是在子午面的光线所要求的极值点之间,而不是默认的顶点处。 剩余的CCLEAR项控制每个反射镜对和其他反射镜之间的视场顶部和底部的上边缘光线和下边缘光线之间的间隙。 有许多组合,它们都必须受到控制。

    评价函数包含YZ平面中要求七个点的GNR和倾斜方向视场中的一个点(因为我们将CFOV指令放在SYSTEM文件中),并使用GDR控制X和Y方向上的畸变(因为我们 在GEOM部分中的IMAGE行的词6和7中放了一个所需图像大小的数据)。

        GDR 0 1 4 P   0.100000E+02  -0.100000E+02

    运行这个MACro。 这将初始设计逐步改进。 运行后,系统看起来更合理。

    像面处在在正确的位置,光束很好地形成了像。

    我们通过在全视场控制YA来间接指定焦距。 控制FOCL本身并不是一个好主意,因为FOCL是一种近轴属性,对于像这样的折叠系统没有多大意义。 我们想要的是在图像上和下视场点之间的距离为20毫米。 如上所述,程序通过GDR控制此操作。

    我们的系统目前还不太好。理应设置其他一些变量。慢慢地改变这个系统是明智的,所以我们要慢慢优化。因此,我们通过删除命令行前的“!”来移除G2到G8变量表面的的注释字符“!”。

         VY   2 RAD

        ! VY   2 CC 10 -10

        VY   2 G   2

        VY   2 G   3

        VY   2 G   4

        VY   2 G   7

        VY   2 G   8

        ! VY   2 G  10

        …

    对表面3和4执行相同操作,然后运行MACro并再次模拟退火。 评价函数下降了。 并继续释放变量G 11到G 20。评价函数下降到0.018。 这是很明显的进步。 现在释放剩余的G变量以及圆锥常数CC,并在YG和ZG变量上注释掉SKIP指令。 (如果你自己运行这个操作,结果通常有所不同,因为模拟退火阶段将随机性纳入过程。但总体质量通常是相似的。)评价函数已降至0.011。 结果非常好。

    您可能想知道为什么我们一开始就不让CC变化。表面从平面开始,不能把圆锥常数赋给平面。所以我们要等到平面变成曲面后才能改变CC。现在评估我们目前的结果。 转到MAP对话框(MMA)并要求在物点网格,物点CREC,光线图样CREC 9,显示圆圈,EANALOG比例1.0和执行的网格上绘制波前差的图案。

    波前在子午方向和弧矢方向上非常好,但在边缘视场不太好。我们再添加两个GNR命令。

    这是AANT文件的相关部分:

        GNR 0 1 4 P 0

        GNR 0 1 4 P 1

        GNR 0 1 4 P -1

        GNR 0 1 4 P .7

        GNR 0 1 4 P -.7

        GNR 0 1 4 P .3

        GNR 0 1 4 P -.3

        GNR 0 1 4 P 0 1 0 F

        GNR 0 1 4 P .7 .7 0 F

        GNR 0 1 4 P -.7 .7 0 F

    最后两行控制有问题的倾斜视场点。 我们运行它并模拟退火,现在MAP显示波像差分布更均匀。 (注意比例变化。)

    现在我们需要直接控制OPD。 我们复制所有GNR行并在它们下面粘贴一份副本。 然后我们将新命令行中的GNR更改为GNO。 这将纠正OPD而不是横向色差。 我们还将这些命令行的权重更改为0.1而不是1.0。 (一个波长的OPD远优于1毫米的弥散斑。)波前差稍微好了一点,但边缘视场角仍然需要注意。 我们将GNO的权重增加到0.2。 以这种方式进行,我们调整那些显示最大方差的视场点的权重,并保持优化和模拟退火。 我们让这些目标和权重取得了很好的平衡:

        GNR 0 1 4 P 0

        GNR 0 1 4 P 1

        GNR 0 1 4 P -1

        GNR 0 1 4 P .7

        GNR 0 1 4 P -.7

        GNR 0 1 4 P .3

        GNR 0 1 4 P -.3

        GNR 0 1 4 P 0 1 0 F

        GNR 0 1 4 P .7 .7 0 F

        GNR 0 1 4 P -.7 .7 0 F

        GNO 0 .2 5 P 0

        GNO 0 .2 5 P 1

        GNO 0 .2 5 P -1

        GNO 0 .1 5 P .7

        GNO 0 .1 5 P -.7

        GNO 0 .1 5 P .3

        GNO 0 .1 5 P -.3

        GNO 0 .2 5 P 0 1 0 F GNO 0 .2 5 P .7 .7 0 F

        GNO 0 .2 5 P -.7 .7 0 F

    我们还将GNO设置的网格数更改为5而不是4。

    我们来看看结果。 最差的视场点是GBAR 0.33。 这是由MDI对话框创建的图像。

    所有其他的点都更好。这是个不错的设计。让我们假设这个应用程序,我们将使用一个CCD阵列传感器,像素为10微米,这看起来很好。

    你可以从RSOLID得到更好的视图,它只显示去中心CAO内部的部分表面。但首先,我们进入Edge向导(MEW),选择Create All,并根据需要调整镜像的厚度。现在反射镜被赋予了真实的边缘和厚度。然后我们创建一个RSOLID图片:

    我们的自由曲面反射系统设计完成。

    现在我们可以看看产生的形状。 请输入以下命令

        FFA 2 0 RSAG SURF

    生成下面的图片,显示实际形状和基本对称形状之间的差异:

    要查看轮廓,我们使用FFA 2 0 RSAG CONTOUR

    实际表面的形状由FFA 2 0 SAG CONTOUR给出:

    以这种方式进行,我们可以看看所有反射镜的形状。

    畸变怎么样? GDR请求也很好地处理了。 这是命令GDIS 31的图片。一点也不差。

    还有一个问题是:如何测试这些反射镜? 最简单的方法是在干涉仪中针对已知半径的参考波前进行测试时观察条纹。 FFA也可以证明这一点。 以下是命令FFA 2 0 RFRINGES的输出:

    如果你看到这种条纹斑图,反射镜是完美的。

    这就是人们如何使用高级工具设计自由形式的镜像系统。 计算机为您完成大部分工作。

    现在由您和加工场进行足够的沟通,以便他们了解结果并正确地制作零件。 以下是一些指示:

    1.在本例中,surface 4是按照我们的要求由Zernike项定义的。变量g39改变了扩张的中心点——因此它不在顶点。而后者也不在通光孔径的中心。有三个中心点需要考虑。

    2.在将这些数据呈现给加工场时,请确保它们理解相关参数的坐标系统和位置

    查看FFA的其他功能。 您可以在曲面上创建一个sags表,这对于运行精密铣削设备的技术人员来说非常重要。

    [ 此帖被optics1210在2019-01-24 13:49重新编辑 ]
     
    分享到
    离线远山和叶
    发帖
    31
    光币
    1
    光券
    0
    只看该作者 1楼 发表于: 2019-09-20
    想学习一下 ne^imht  
    离线coollwl
    发帖
    699
    光币
    141
    光券
    0
    只看该作者 2楼 发表于: 2019-09-21
    对于我们初学者来说,如果多提供一些详细的实例就好了。
    离线小火龙果
    发帖
    916
    光币
    2113
    光券
    0
    只看该作者 3楼 发表于: 2019-11-05
    回 coollwl 的帖子
    coollwl:对于我们初学者来说,如果多提供一些详细的实例就好了。 (2019-09-21 08:59)  @'=Uq  
    ?h1H.s2X  
    更多实例在腾讯课堂或者腾讯视频上有的
    离线elsaqueen
    发帖
    17
    光币
    1
    光券
    0
    只看该作者 4楼 发表于: 2020-01-08
    我在腾讯课堂上看到了很多实例
    离线zycxjl
    发帖
    1785
    光币
    1798
    光券
    0
    只看该作者 5楼 发表于: 2020-01-14
    ,进来看看,多谢分享。