SYNOPSYS 光学设计软件课程四十:从Scratch开始的非球面相机镜头

网友投稿 2018-09-25 11:18

 光学设计中最强最快优化算法

在开发一款现代手机镜头或针孔间谍相机时,设计师们越来越多地使用非球面。它们通常是小的塑料元件,尽管制作模具很昂贵,但镜头可以大量生产,成本很低。甚至可以用法兰机直接模压到元件上,使组装更简单,使某些尺寸保持在非常紧密的公差范围内。

为帮助设计此类系统,DSEARCH™可以对具有非球面的系统进行全局搜索。 建议用户阅读SYNOPSYS™用户手册中的这一强大功能。 我们在此给出一个如何将DSEARCH用于典型系统的示例。

https://cdn.china-scratch.com/timg/180927/111U51M4-0.jpg

我们应该在这里提一些微妙的考虑因素。 首先,这些将是非常小的镜头,而DSEARCH在其优化MACro中的默认边缘控制目标(1 mm)太厚了。 所以我们用自己的AEC监视器覆盖它。 此外,默认的最小空气间隔和厚度监视器1毫米,也太厚,被我们自己的0.2毫米ACM覆盖。 我们增加的ACC显示器不会让厚度增加到超过1.0毫米,覆盖默认值25.4毫米。

这些显示器输入时很弱。这样做是有目的的:如果你强烈地控制这些项目,DSEARCH将倾向于那些不会冒犯它们的设计——但是我们希望这个程序能支持图像错误较小的设计,并且一开始并不太在意机械性能。当我们得到一个好的设计,我们可以很容易地修改这些监视器,增加其权重,使以后的设计更加实用。

由于我们允许使用非球面,我们必须小心提供高于默认NGRID为4的网格,并在六个视场进行校正。 否则可能会有中间光瞳和镜外视场区域失控。玻璃变量的界限也需要注意。当我们得到一个好的设计时,我们将用来自U目录(不寻常的材料)的塑料替换模型玻璃,并且我们希望模型玻璃掉在塑料的区域。这是输入文件中的塑料声明的目的。任何指定的表面都被限制在下面的玻璃地图上。

https://cdn.china-scratch.com/timg/180927/111U5E91-1.jpg

红点是目前在不寻常的材料目录(U)中的塑料。该程序将在所示区域内保留玻璃模型变量。那些到达边界的玻璃(因为这个区域很小,所有的玻璃都是)会沿着边界上下滑动。

好的,我们运行上面列出的DSEARCH MACro,大约八分钟后,我们看到程序找到的最佳设计,如下所示。

https://cdn.china-scratch.com/timg/180927/111U521H-2.jpg

这是惊人的。透镜几乎是衍射极限,直接来自DSEARCH。波前差都小于½波。然而,0.75视场的TFAN值得怀疑。我们必须关注视场的表现,看看哪里需要校正。我们打开几何图像菜单(MGI)在RMS部分的视场上选择,多色,然后单击RMS按钮。光斑尺寸在0.7和0.9视场中最大。

https://cdn.china-scratch.com/timg/180927/111UB405-3.jpg

该程序创建了一个优化MACro,我们又向AANT文件添加了两行:

   GNO     0.000000     0.094362      6  M     0.700000
   GNO     0.000000     0.094362      6  M     0.900000

然后我们运行MACro并退火。 MF出现在0.037,我们有一个很棒的设计!

https://cdn.china-scratch.com/timg/180927/111U61293-4.jpg

现在是时候切换到真正的透镜 - 但首先我们将表面9上的材料更改为客户想要使用的真实玻璃:Hoya型BSC7。 为此,我们打开WorkSheet(WS)并键入编辑窗格

9 GTB H BSC7

单击“更新”,然后保存检查点。 该模型已被替换。 现在我们打开真实玻璃菜单(MRG)并选择U目录。 该目录没有普通的光学玻璃 - 但它确实有塑料材料。 当您指定U目录时,ARGLASS程序(从MRG对话框运行)会自动仅选择塑料,并且仅替换RLE文件中指定为PLASTIC的GLM。 它有两种模式; 它可以按数字顺序替换镜头,或者它可以对它们进行分类,以便它首先取代最远离真实材料的镜头。 第二个选项有时更好,因此我们在MRG对话框中选择Sort,选择Quiet选项,然后选择OK。

有时换成真正的玻璃会导致光线故障。 程序调整曲率以保持元件光焦度,但如果存在非球面项,则某些光线仍然可能失效。 如果发生这种情况,请在更改其他材料后再次运行ARGLASS。 这通常有效。

https://cdn.china-scratch.com/timg/180927/111U64211-5.jpg

现在到处都是真实的材料。 为了确保我们有一个最佳设计,我们删除PANT文件中的GLM变量(或将它们更改为单个VLIST GLM ALL,这只会改变镜头中已有的GLM),并进一步优化。 我们就快实现了。 现在是时候尝试更多的非球面术语了。 我们在PANT文件中添加了这些行:

   VY 1 G 10
   VY 2 G 10
   VY 3 G 10
   VY 4 G 10

并再次优化。但是现在全视场的OPD TFAN开始向上边缘光线飞去。

https://cdn.china-scratch.com/timg/180927/111U62F8-6.jpg

因此,我们在AANT文件中添加了一个新行,并进行了更多优化。 好多了!

   M 0 .5 A P OPD 1 0 1

https://cdn.china-scratch.com/timg/180927/111UA427-7.jpg

以下是此设计的MTF曲线。 它接近完美。

https://cdn.china-scratch.com/timg/180927/111UM105-8.jpg

再来一个

这是一个开始,现在你知道如何使用这个程序了,但是我们能做些什么不同的呢?这种设计是在衍射极限,但在全视场的MTF要比在轴上低得多。这是为什么呢?由于镜头前面有光阑,我们正在校正畸变,因此图像必然会显示cos ** 4变暗。 事实上,在41.3度的视场角,这意味着边缘比中心暗32%。 它如何做到这一点? 通过改变有效F /number! 我们输入命令:

   FN 0 FN 1

并且观察到轴上F/number大约是2.7时,在边缘处切向方向是6.2,在矢状面是3.5。F/number越高,Airy衍射斑的尺寸越大,在Y方向的截止频率越低。这就是MTF曲线告诉我们的。

如果这种情况令人满意,我们就完成了。 但是我们假设你真的希望在视场上照度均匀。 除非你让畸变变大,否则你无法得到它。 如果您计划事后以电子方式进行补偿,这可能不是问题。 接下来做:

删除(或注释掉)SEARCH输入的SPECIAL AANT部分中的那一行,这些行在三个视场点为主光线YA提供目标。

   SKIP
   M 1.35 10 A P YA 1 M .945 10 A P YA .7
   M .54 10 A P YA .4
   EOS

添加一些新要求。 这些将控制五个视场点的相对照度。

   M1 1 A P ILLUM .2
   M 1 1 A P ILLUM .4
   M 1 1 A P ILLUM .6
   M 1 1 A P ILLUM .8
   M 1 1 A P ILLUM 1

由于场的边缘处的F /number现在将更小 - 这更难校正,我们将外部两个视场的权重从3.0增加到4.0。

   MI
   MII0 1 A P OPD 1 0 -1

现在在DSEARCH上运行此版本,镜头结构非常不同。 我们进行了一些优化,并注意到全视场的下边缘射线正在快速消失,因此我们将MF添加到线上

   M0 1 A P OPD 1 0 -1

并再次优化。 镜头更好。

在优化并使用MRG对话框插入真正的塑料后,这是镜头:

https://cdn.china-scratch.com/timg/180927/111UHS3-9.jpg

MTF非常好,如下所示。

https://cdn.china-scratch.com/timg/180927/111UGU9-10.jpg

并且用命令绘制的照度相当均匀:

   ILLUM 500 P

https://cdn.china-scratch.com/timg/180927/111UI529-11.jpg

该计划确实引入了严重的畸变。 这是命令生成的图:

   GDIS  21 G

https://cdn.china-scratch.com/timg/180927/111UU045-12.jpg

结尾

我们让它看起来很简单,如果你按照上面的步骤操作。 但是当然,镜头设计在所有的步骤中可能会变糟,而且第一次事情并不总是完美无缺。 以下是您可能遇到的一些问题,以及如何处理它们:

1.我们在这个例子中指定了非球面计数为3;将表达式R ** 6分配给曲面。如果您使用的约束少于或多于此,会发生什么?作为一项规则,最好从较小的数字开始,然后在尽可能优化结果后添加更多数字,如上所述。一开始就有太多的约束可能将设计发送到一个尴尬的区域,这些区域的约束相互冲突并变得太大。此外,光线追踪可以证明许多高阶项的问题,因为光束可以表现出焦散或大光线角度,而您不需要它们。我们只用两个约束开始,然后在优化结果时添加更多约束,从而获得了出色的结果。

2.注意DSEARCH输入文件中的FNUM请求指定权重为10; 这比表面看起来更重要。 如果我们不考虑权重因子,程序将通过近轴求解精确地控制F /number - 如果得到的半径太大,则可能导致光线失效。 因此,对于像这样的快速镜头,我们通常会增加一个权重。 然后程序向评价函数添加一个控制F /number的约束,半径由RSTART值给出。 在第二个例子中,我们没有以图像高度为目标,如果我们分配了较低的权重,则F / number可能会比目标值大。如果我们分配了更低的权重。这个程序将会做任何事情来减少评价函数,并且放弃一点代价可能会显著降低其他的像差,从而在更高的F/number下产生一个完美的图像。所以我们指定了一个10的权重,这样解看起来就不会那么吸引人了。

3.在本例中,我们选择将后焦距设为固定值。如果我们在BACK行上输入权重因子,程序会将YMT求解分配给最后一个表面,因此图像将始终处于近轴焦点,然后将目标添加到AANT文件以将其驱动到所请求的值。这两种方法都有效,但是当您定位所选光线的YA以控制图像高度时,最好自己设置该值。否则程序可能无法校正虚拟图像,因为图像高度必须在过程中改变。

4.请记住DSEARCH使用退火功能(如果您要求它,这几乎总是一个好主意),并且该功能会一次又一次地对镜头进行小的随机更改。这极大地改善了每种情况的优化,但结果在运行期间不可重复。出于这个原因,通常不止一次运行DSEARCH,并查看每次返回的其他一些配置。我们为本课程运行了几次,上面显示的结果是最好的。

5.这些设计很好地实现了我们的目标。但是假设你不想用四个透镜镜头那么大的成本。你能用三个元透镜设计出来么?试一试,找出来!它可能不会那么好,但是,也许你的探测器不需要那么高的分辨率。

6.请记住,DSEARCH正在搜索一个非常浓密的设计树,并且每次都无法检查每个分支。如果您更改DSEARCH输入中的几乎任何内容,例如RT参数,视场权重,监视目标等等 - 程序将搜索不同的分支集并返回不同的结果。这种方法的强大之处在于它可以同时搜索大量的分支,并且大多数情况我们可以发现并运行返回至少一个符合或接近我们要求的镜头。通过各种方式尝试输入并在库中保持更好的结果,以便您可以在闲暇时检查它们。这是在此过程中返回的另一个镜头,经过畸变校正。它与我们的第一个设计有很大的不同,但具有相同的性能:

https://cdn.china-scratch.com/timg/180927/111UR3B-13.jpg

本课程所有镜片都使用塑料。如果你想要一些元件由玻璃和其他塑料制成怎么办?简单。只需在DSEARCH输入文件中声明哪些元件是塑料的,程序会将它们限制在可以找到塑料的较小范围内。另一方面,玻璃元件仍然可以在玻璃目录的通常范围内自由移动。当设计令人满意并运行ARG时,如果选择“U”目录,程序将仅匹配塑料元素 - 并且不会与任何其他目录匹配。确实很简单。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com