SYNOPSYS 光学设计软件课程四十:从 DSEARCH 开始设计非球面相机镜头
在开发一款现代手机镜头或针孔相机时,设计师们越来越多地使用非球面。它们通常是很小的塑料元件,尽管制作模具很昂贵,但镜头可以大量生产,成本很低。甚至可以用法兰机直接模压到元件上,使组装更简单,这种方法可以使某些元件尺寸保持在非常小的公差范围内。
为帮助设计此类系统,DSEARCH™ 可以对具有非球面的系统进行全局搜索。建议用户阅读 SYNOPSYS™ 用户手册中关于这一强大功能的介绍。我们在此给出一个如何将DSEARCH 用于典型系统的示例。
PROJ ! 开始项目的计时器
CCW ! 清除命令窗口
CORE 16 ! 使用16个核心以提高速度
DSEARCH 1 QUIET ! 启动DSEARCH;将最好的镜头放在库中的位置1。SYSTEM ! 定义系统规格
ID DSEARCH ASPHERIC CAMERA LENS ! 识别ID
OBB 0 41.3 .285 ! 无限远的物体,半视场角41.3度,半直径为0.285mm
UNI MM ! 镜头将以毫米为单位
WAVL CDF ! 使用C、D和F波长
END ! 系统部分结束
GOALS ! 在此确定目标
ELEMENTS 5 ! 我们想要一个带保护玻璃的四片式镜头
BACK 0.4 SET ! 要求有0.4毫米的后焦距离
FNUM 2.7 10 ! 要求提供F/2.7,权重为10
THSTART 1 ! 全球搜索使用厚度为1毫米
RSTART 30 ! 和起始半径为30毫米
ASPH Q ! 在快速模式下也使用圆锥常数
ASPH 3 ! 允许三个非球面项。非球面的CC、4、6次方
DELAY OFF !这些运行是快速的,所以不要要求在超时时继续运行
ANNEAL 10 1 Q !退火,温度为10度,冷却速率1,包括快速模式
SNAP 5 ! 每隔五次重绘PAD屏幕
STOP FIRST ! 光阑放在前面
STOP FIXED ! 固定光阑
QUICK 50 50 ! 运行快速模式50次,然后运行真实模式50次
NGRID 6 ! 6x6光线网格
NPASS 50 !优化宏进行50次迭代
TOPD ! 纠正横向像差和OPD
FOV 0.2.4.6.8 1 ! 六个视场点
FWT 5 4 3 3 3 3 ! 视场权重
COVER .3 1.51872 64 ! 使用这种GLM,保护玻璃的厚度为0.3毫米。
PLASTIC 1 3 5 7 ! 四个元件定义为塑料
END ! 目标部分结束
SPECIAL PANT !特殊变量的部分从这里开始
RDR .001 !下限给出了导数增量的范围,并利用增量来计算有限差分法的导数
TLIMIT 3 .1 !对厚度的限制
SLIMIT 5 .1 !对空气的限制
END !PANT部分结束
SPECIAL AANT !特殊评价函数部分的开始;
ACC 1.0 ! 中心厚度小于1.0毫米
ACM .2 .1 .2 ! 中心厚度大于0.2 mm
ACA 60 ! 边缘光线入射角最大值为60度AEC .2 .1 .2 ! 边缘厚度大于0.2毫米
M 1.35 10 A P YA 1 ! 控制全视场像高在1.35mm
M .945 10 A P YA .7 ! 控制0.7视场像高在0.945mm
M .54 10 A P YA .4
END ! AANT部分结束GO ! DSEARCH运行
PROJ ! 当它完成后,看看运行了多长时间。
DSEARCH 在其优化 MACro 中的默认边缘控制目标(1mm),这对于上面的镜头边缘控制来说太厚了。所以我们用自己的 AEC 指令来控制它。此外,这些指令默认的最小空气间隔和厚度为1毫米,这也太厚,让我们用 0.2 毫米的 ACM 替换它。我们增加的 ACC 指令不会让厚度增加到超过 1.0 毫米从而替换默认值 25.4mm。
这些指令控制的设置权重不会很高。这样做是有目的的:如果你严格地控制这些项,DSEARCH 将倾向于那些不会违反它们的要求——但是我们希望这个程序能支持图像误差较小的设计,并且一开始并不太在意机械性能。当我们得到一个好的设计,我们可以很容易地修改这些控制量,增加其权重,使以后的设计更加实用。
由于我们允许使用非球面,我们必须小心提供高于默认网格数量为 4 的网格,并在六个视场进行校正。否则可能会有中间光瞳和镜外视场区域失控。玻璃变量的界限也需要注意。当我们得到一个好的设计时,我们将用来自 U 目录(不寻常的材料)的塑料材料替换模型玻璃,并且我们希望模型玻璃分布在塑料材料的区域。任何指定的表面都被限制在下面的玻璃库中。
红点是在塑料材料区内。该程序将在所示区域内保留玻璃模型变量。那些到达边界的玻璃材料会沿着边界上下滑动。
我们运行上面的 DSEARCH MACro,我们看到程序找到的最佳设计,如下所示。
透镜几乎达到衍射极限,波前差都小于 ½ 波长。然而,0.75 视场的 TFAN 值得怀疑。我们必须关注视场的像质,看看哪里需要校正。我们打开几何图像菜单 (MGI) 在 RMS 部分的视场上选择,多波长,然后单击 RMS 按钮。光斑尺寸在0.018 视场中最大。
该程序创建了一个优化宏,我们又向 AANT 文件添加了两个命令行:
GNO 0.000000 0.094362 6 M 0.700000
GNO 0.000000 0.094362 6 M 0.900000
然后我们运行 MACro 并模拟退火。评价函数值为0.016,我们有了一个很棒的设计。
我们将表面9上的材料更改为客户想要使用的真正的玻璃材料:Hoya 库的 BSC7。为此,我们打开 WorkSheet(WS)并在编辑窗格中键入 9 GTB H BSC7
单击“更新”,然后保存检查点。该模型已被替换。现在我们打开真实玻璃菜单( MRG)并选择U目录。该目录没有普通的光学玻璃 - 但它确实有塑料材料。当您指定 U 目录时, ARGLASS 程序(从 MRG 对话框运行)会自动选择塑料材料,并且替换 RLE 文件中指定为 PLASTIC 的 GLM。它有两种模式; 它可以按数字顺序替换镜头,或者可以对它们进行分类,以便它首先取代最远离真实材料的镜头。第二个选项有时更好,因此我们在 MRG 对话框中选择 Sort,选择 Quiet 选项,然后选择 OK。
有时换成真正的玻璃材料会导致光线故障。程序调整曲率以保持元件光焦度,但如果存在非球面项,则某些光线仍然可能失效。如果发生这种情况,请在更改其他材料后再次运行ARGLASS,这通常有效。
现在都是真实的材料。为了确保我们有一个最佳设计,我们删除 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 开始向上边缘光线偏离。
因此,我们在 AANT 文件中添加了一个新命令行,并进行了更多优化。结果好多了!
M 0 .5 A P OPD 1 0 1
以下是此设计的 MTF 曲线。
现在你知道如何使用这个程序了,但是我们能做些什么不同的呢?这种设计达到衍射极限,但在全视场的 MTF 要比在轴上低得多。这是为什么呢?由于镜头前面有光阑,我们正在校正畸变。事实上,在 41.3 度的视场角,这意味着边缘比中心暗32%。它如何做到这一点?通过改变有效 F /number!我们输入命令 FN 0
FN 1
并且观察到轴上 F/number 大约是2.7时,在边缘处子午方向是 6.2,在弧矢方向是3.5。F/number 越高,艾里衍射斑的尺寸越大,在 Y 方向的截止频率越低。这就是 MTF 曲线告诉我们的。
如果这种情况令人满意,我们就完成了。但是我们假设你真的希望在视场上照度均匀分布。除非你让畸变变大,否则你无法得到这样的结果。如果您计划设计完成以后以电子方式进行补偿,这可能不是问题。接下来执行如下操作:
1. 删除(或注释掉)DSEARCH 输入的 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
2.添加一些新的要求。这些将控制五个视场点的相对照度。
M 1 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
3.由于视场的边缘处的 F /number 现在将更小,这更难校正,我们将外部两个视场的权重从 3.0 增加到 4.0。
MI
MII 0 1 A P OPD 1 0 -1
现在在 DSEARCH 上运行此版本,镜头结构非常不同。我们进行了一些优化,并注意到全视场的下边缘射线正在快速消失,因此我们将命令行添加到评价函数上 M0 1 A P OPD 1 0 -1
并再次优化。镜头更好。
在优化并使用 MRG 对话框插入真正的塑料材料后,镜头如下:
MTF 非常好,如下所示。
用命令绘制的照度相当均匀,在命令窗口输入 ILLUM 500 P
该操作确实引入了严重的畸变。这是命令生成的图 GDIS 21 G
结尾
如果你按照上面的步骤操作,它看起来会很简单。以下是您可能遇到的一些问题,以及如何处理它们:
1. 我们在这个例子中指定了3个高阶项给非球面,将表达式的第六次项分配给曲面。作为一项规则,最好从较小的项开始,然后在尽可能优化结果后添加更多高次项。如上所述,一开始就有太多的约束可能将设计发送到一个尴尬的区域,这些区域的约束相互冲突并变得太大。此外,光线追踪可以证明许多高阶项的问题,因为光束可以表现出离焦或大光线角度,而您不需要它们。我们只用两个约束开始,然后在优化结果时添加更多约束,从而获得了出色的结果。
2.注意 DSEARCH 输入文件中的 FNUM 请求指定权重为10。如果我们不考虑权重因子,程序将通过近轴求解精确地控制 F /number。如果得到的半径太大,则可能导致光线失效。因此,对于像这样的 F /number 镜头,我们通常会增加一个权重。然后程序向评价函数添加一个控制 F /number 的约束,半径由 RSTART 值给出。在第二个例子中,我们没有以像高为目标,如果我们分配了较低的权重,则 F / number可能会比目标值大。如果我们分配了更低的权重。这个程序将会做任何事情来减少评价函数,并且放弃一点代价可能会显著降低其他的像差,从而在更高的 F/number 下产生一个完美的图像。所以我们指定了一个 10 的权重,这样的解是一个最终平衡的结果。
3.在本例中,我们选择将后焦距设为固定值。如果我们在 BACK 命令行上输入权重因子,程序会将 YMT 求解分配给最后一个表面,因此图像将始终处于近轴焦点,然后将目标添加到 AANT 文件以将目标优化到设置的值。这两种方法都有效,但是当您定位所选光线的 YA 以控制像高时,最好自己设置该值。否则程序可能无法校正虚拟图像,因为像高在优化的过程中会发生改变。
4.请记住 DSEARCH 使用模拟退火功能,并且该功能会一次又一次地对镜头进行小的随机更改。这极大地改善了每种情况的优化,但结果在运行期间不可重复。出于这个原因,通常不止一次运行 DSEARCH,并查看每次返回的其他结果。我们运行了几次,上面显示的结果是最好的。
5.这些设计很好地实现了我们的目标。但是假设你不想用四个镜片的透镜。你能用三个镜片设计出来么?请尝试一下,它可能不会那么好,但是,也许你的探测器不需要那么高的分辨率。
6.请记住,DSEARCH 搜索初始结构会进行非常大的计算,并且每次都无法检查每个分支。如果您更改 DSEARCH 输入中的任何内容,例如 RT 参数,视场权重,监视目标等等 - 程序将搜索不同的分支集并返回不同的结果。这种方法的强大之处在于它可以同时搜索大量的分支,并且大多数情况下我们可以发现并运行返回至少一个符合或接近我们要求的镜头。通过各种方式尝试输入并在库中保持更好的结果,以便您可以查看它们。这是在此过程中返回的另一个镜头,经过畸变校正。它与我们的第一个设计有很大的不同,但具有相同的性能:
本课程所有镜片都使用塑料材料。如果你想要一些元件由玻璃材料和其他塑料材料制成怎么办?只需在 DSEARCH 输入文件中声明哪些元件是塑料的,程序会将它们限制在可以找到塑料材料范围内。另一方面,玻璃元件仍然可以在玻璃目录的通常范围内自由移动。当设计令人满意并运行 MRG 时,如果选择“U”目录,程序将仅匹配塑料材料元素,并且不会与任何其他目录匹配。
扫码添加工作人员
还可领取文章中学习文档及视频讲解