Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析

附件下载

联系工作人员获取附件

本文是 3 篇系列文章的一部分,该系列文章将讨论智能手机镜头模组设计的挑战,从概念、设计到制造和结构变形的分析。本文是三部分系列的第三部分。它涵盖了使用 Ansys Zemax OpticStudio Enterprise 版本提供的 STAR 技术对智能手机镜头进行自动的结构、热、光学性能 (STOP) 分析。有限元分析数据的导入和拟合过程通过使用 ZOS-API 实现自动化(本文提供了用户扩展和用户分析)。通过内置分析功能,以及利用 ZOS-API 用户分析实现的扩展仿真,对不同热条件下手机镜头的热致结构变形进行光学性能分析。

所需工具

  • Ansys Zemax OpticStudio 企业版

    • 或 旧版 Zemax OpticStudio 专业版/旗舰版以及 STAR 模块授权
  • FEA 模拟分析工具(Ansys Mechanical 在本示例中使用,作为 FEA 有限元分析软件)

  • Ansys Mechanical 数据导出扩展程序(可选)

简介

通常,制造延迟和生产成本增加将导致公司需要寻找方法来维持新产品的交付,以应对紧迫的时间表。"构建并推翻" 的设计模型形式推高了成本,因为样机需要在多次迭代中构建和测试。精确的多物理场仿真可以帮助工程和设计团队预测系统在各种使用情况下的性能,并仿真可能的条件,以在设计阶段了解对系统性能的影响。综合模拟是从一开始就避免浪费时间并节省生产周期成本的方法之一。由于材料在不同温度下性能的变化,物理影响不仅是结构上的,而且是光学上的。这些影响可能很关键,严重影响批量生产后产品的使用。

在手机相机镜头模组的设计阶段要考虑的因素之一是,如果手机在温度与室温不同的环境中使用,它是否可按照规格运行。随着温度的变化,透镜材料膨胀或收缩,导致透镜的表面形状以及材料折射率发生变化,这将使光线发生偏离。此时的表面形状不再能够通过已知的参数化多项式来描述,也不再能将各向同性折射率赋予整个透镜几何体。这些变化会影响最终图像,并可能降低图像质量,MTF 值可能也会低于设计要求,从而导致最终图像损失对比度而变得模糊。

光学产品不仅包含光学透镜,还具有机械封装元件,这些元件会因为改变镜片的位置和对镜片施加压力(这是镜片表面变形的另一种方式)而显著影响性能。Ansys Zemax OpticStudio 企业版可用于对手机镜头光学系统进行结构和热分析,当热条件和机械负载得到模拟时,输出的结果可用于量化它们对手机镜头系统的影响。通过将 Ansys Mechanical 的仿真结果加载到 Ansys Zemax OpticStudio 企业版进行静态和瞬态仿真,从而建立互操作性以全面了解光学性能。

STAR 用户扩展程序

为了分析热致结构变形的影响,共计 14 个结构数据集可以分配给系统中的透镜表面。OpticStudio 用户界面可实现为每个表面单独分配数据集。

共有 14 个光学表面和 7 个对应时间点,总共有 98 个不同的 FEA 数据集需要分配给正确的光学表面才能全面分析系统。为了减少重复点击并避免数据分配过程中的错误,可通过 ZOS-API 编写用户扩展程序,将数据加载到当前镜头系统。用户扩展程序可以:

  • 从数据集文本文件的名称中识别表面编号和 FEA 数据类型

  • 自动将数据集应用于正确的表面

  • 自动应用所有时间点的数据集

如何使用用户扩展程

  1. 选择保存有限元分析数据集的相应坐标系
  • 此扩展模块假定所有 FEA 数据集都在同一坐标系中保存
  1. 要加载FEA数据集文本文件,请单击Load FEA

  2. 在弹出的"文件资源管理器"窗口中,选择包含系统数据集的文件夹。

  • 默认路径与当前镜头文件所在的位置相同

  • 请务必确认内部文本文件的格式正确,以避免加载错误

  1. 在 OpticStudio 界面中,打开 STAR 拟合评估工具检查(如果需要,进行修改)拟合设置选项,然后点击OK。
  • 此用户扩展对所有调整的表面和此 FEA 数据类型应用相同的拟合设置。

  • 报告拟合参数和拟合结果以供核查并保存为 txt 文件。

自动化瞬态分析工作流程(多个时间点)

需要在不同阶段或操作模式下进行分析的应用,例如不同的阶段(地面、发射和在轨)、不同的时间(激光关闭、激光开启 0 秒、激光开启 5 秒、激光开启 5 分钟等)或不同的温度(0℃、25℃、50℃),要求团队使用多组 FEA 数据集。在每个阶段将 FEA 数据集分配给光学表面可能既耗时又容易出错。附件中的用户扩展处理数据分配,并在后台为当前手机镜头添加 STAR 系统。

为了载入多个时间点的 FEA 数据集:

  1. 选择保存 FEA 数据集所在的合适坐标系。

  2. 接下来选择要加载的 FEA 数据类型。在此示例中,我们将使用Structural Only:

  • 通过用户扩展,我们只需点击一下即可轻松加载仅结构数据、仅温度数据或两者兼有的数据。

  • 为表面指定数据时,将根据该文本文件的名称应用这些数据,例如,Surface_05_Temperature.txt将应用于表面5。当名义镜头文件中有虚拟表面或其他透镜表面添加镜头数据编辑器中时,还可以进行补偿分配操作,例如,如果在所有镜头元件之前添加了两个表面,并且分配补偿设置为2,那么Surface_05_Temperature.txt现在将应用于表面7。

  1. 点击加载多组有限元分析数据。
  1. 在弹出的文件资源管理器窗口中,选择存有不同时间点 FEA 数据集的多个文件夹,然后点击 OK。
  • 在后台会创建初始镜头系统的副本,并以以下命名架构进行保存:{original_lens_filename} + 'sys'{n}.zos(e.g. 710_reoptimized_MTF_materials_QType_sys6.zos)

  • 具有 FEA 数据集的不同 OpticStudio 系统将列在一个表中,其中每行代表一个创建的系统。

  • 用户扩展将每个表面的拟合设置和FEA数据集的拟合结果保存到与镜头设计文件位于同一目录中的 MultiFEAfitResults.txt。

  • 用户扩展遵循 本文 中使用的命名架构。该扩展仅识别具有以下名称的 FEA 数据文件:

    • Surface_XX_Temperature

    • Surface_XX_Deformation

    • Surface_XX_Temperature_deformed

  • 如果 FEA 数据集的格式或命名不正确,则在数据加载过程中,OpticStudio 将显示一条错误信息。此外,PV 和 RMS 拟合结果将为 0。

  1. 加载 FEA 数据集后,您可以使用 ActiveFEA 列中的复选框来快速验证该特定系统的 STAR 数据或其他性能。
  1. 要想无需重新导入 FEA 数据集而保存进度并返回到过程中,您可以点击 "Save" 按钮。
  • mygrid.bin 文件将保存在 C:\Users\...\Documents\Zemax\Configs路径中

  • Load 按钮将从 bin 文件中加载扩展中的所有数据和相关设置。

系统布局图导出

从各个时间点生成系统视图对于了解系统在整个时间范围内经历的变化非常有用。当使用 ZOS-API 扩展执行多 FEA 数据加载时,会自动生成一个 ZPL,以便将分析图形窗口保存为不同 STAR 系统的图像文件。ZPL 宏保存到 C:\Users\...\Documents\Zemax\Macros\ZPL Image Export.zpl。在此示例中,我们将重点介绍 STAR 系统查看器,以查找可能由有问题的 FEA 数据集引起的任何明显错误。

  • 打开当前文件路径中的任一 STAR 系统,系统查看器功能仅适用于加载了 FEA 数据的镜头文件。

  • 在 OpticStudio 界面中,关闭所有图形和分析窗口(即布局图、WFE 图等)

  • 在命令功能区中,点击 STAR选项卡> 系统查看器

  • 在命令功能区中,点击 "编程"选项卡 > 宏列表 > ZPL Image Export.zpl

  • 宏运行后,图像文件保存在输出目录中。

    • 该宏会将表中所列所有系统的图像导出到 C:\TEMP 中
  • 输出目录可以根据具体喜好和情况修改。

此方法可用于生成其他 STAR 模拟分析结果的对比报告。

通过使用上述 ZOS-API 功能,我们可以快速了解有限元数据集的质量,并向机械工程师反馈,以便在做有限元分析时进行实际设置项检查或参数调整。

STAR 用户分析

查看一个系统中所有表面的拟合结果

一旦 FEA 数据集通过用户扩展程序得到分配,单独的用户分析就可以加载并显示所有系统的结果总结。这在处理来自不同时间点的多组数据集时提供了更高效的工作流。

  1. 要分析多个时间点的结果,请在OpticStudio界面的"编程"选项卡中点击 User Analyses > STARUSER_ANALYSIS。

  2. 在STAR用户分析中,点击设置下拉按钮。

  1. 要检查一个系统中所有光学表面的拟合结果,请点击 Check Fit Error/User Plot
  • 右侧面板将改变
  1. 更改以下设置,然后点击 "OK":
  • 数据:Structural

  • STAR系统:1

  • 拟合误差:RMS + PV

显示所有表面和所有时间点的RMS拟合误差

  1. 要显示所有光学表面在所有时间点下的拟合误差,请点击 Fit Error / User Plot
  • 右侧面板将改变
  1. 更改以下设置,然后点击 "OK":
  • 数据:Structural

  • STAR系统:All

  • 拟合误差:RMS

  1. 点击 STAR 用户分析窗口中的更新,将出现绘图:

当前拟合设置对拟合误差结果的影响可以在所有 STAR 系统的绘图中看到。例如,我们可以在 OpticStudio 界面中手动更改拟合设置,并重新加载数据以进行拟合误差比较。

  1. 在 OpticStudio 界面的 STAR 选项卡中,点击 Fit Assessment

  2. 将表面 13 和表面 14 的拟合设置更改为:

  • Grid 1:3

  • Grid 2:3

  • Max Level:9

  1. 点击 OK。

通过STAR用户分析评估瞬态性能

加载 FEA 数据集并执行其各自的拟合后。现在,我们可以使用相同的技术继续分析光学性能。七个 STAR 系统代表不同的温度条件:分别为 -40°C、60°C、65°C、70°C、75°C、80°C、85°C。以下结果表明,在不同温度下性能会快速下降。

镜头系统在各种热力条件下的对比度可以通过监测 FFT MTF 分析的结果来量化。名义系统的性能会随着温度从室温的变化而迅速下降。在低于和高于室温的温度下,性能低于规格。

FFT 离焦 MTF 也可用于更深入地了解系统性能。对于名义系统,在相对于像面的偏移量为 +/-0.015mm 的位置,200 cyc/mm 空间频率的 MTF 值,大致高于 0.2。然而,随着温度的变化性能峰值会偏移。这会导致在各种热条件下成像模糊。

另一个观察 MTF 下降的方法是利用 MTF vs. Field 分析。尽管初始系统性能设计为在 ~45° 的视场下工作,随着温度的升高,38° 左右视场的MTF值下降到了 0.2 以下。

对所有系统进行STOP分析

到目前为止,ZOS-API 已被用于评估拟合误差并输出不同分析的图像。在接下来的部分,STAR 用户分析将用于生成 1D 和 2D 绘图,以评估不同的性能指标和设计更改以提高系统性能。

为了分析光学系统在整个温度范围内的性能,利用用户分析绘制评价函数操作数对温度的各种性能指标。用户分析可以绘制:

  1. 一维绘图
  • 自变量:

    • 系统编号(例如温度条件或时间步长)

    • MFE 中定义的评价操作数的输入参数

    • 或者使用多重结构并选择一个 MCE 操作数行,这里的想法是使得绘图更通用地由一个操作数控制

    • X 和 Z 有以下组合,它们能够在测试下显示结果。

|------------------------------------|-------------------|
| 自变量 X | 因变量 Z |
| 所选操作数的输入参数 | MFE 操作数行返回值 |
| MCE 操作数行 | MF 值/ MFE 操作数行返回值 |
| 加载不同有限元分析数据的不同镜头文件(不同的热条件) 单曲线情况 | MF 值/ MFE 操作数行返回值 |
| 加载不同有限元分析数据的不同镜头文件(不同的热条件) 多系列情况 | MFE 操作数行返回值 |

  1. 二维图
  • 响应/因变量 Z 可以是

    • MFE 中的评价函数值

    • MFE 中定义的特定操作数的评估结果

使用 1D 绘图针对不同 STAR 系统计算平均 MTF 值情况:

  1. 在 OpticStudio 的评价函数编辑器中,在新行中插入一个操作数。

  2. 将操作数类型更改为 MTFA,然后输入以下值:

  • 采样:3(采样)

  • 波长:0(复色)

  • 视场:1(轴上视场)

  • 频率:50(空间频率为 50 个 cyc/mm)

  • 网格:0(计算 MTF 的快速采样积分方法)

  • 数据类型:0(返回调制幅度)

  • 目标:0

  • 权重:0

  1. 在 STAR 用户分析中,点击设置下拉菜单

  2. 将 X 范围设置更改为 STAR 系统

  3. 在评价操作数行中选择 MTFA

  4. 勾选 "Multi Series" 复选框

  5. 输入以下设置

  • 在参数下拉菜单中选择 Par3

    • 对于 MTFA 操作数,Par3 代表视场数

    • 起始值: 1

    • 结束值: 5

    • #步数: 5

    • 对于 MTFA 操作数,Par3 代表视场数. 这些设置最终进入用户分析,将视场从 1 更改到 5,并收集平均 MTF 值.

  1. 输入适当的设置后,点击 OK,然后刷新窗口。

下图是用户分析的输出结果。X 轴显示代表不同温度环境的 STAR 子系统。纵轴是从步骤 2 中定义的 MTFA 操作数中得到的平均 MTF。不同颜色的线代表在步骤 7 中定义的不同视场点。为清楚起见,图表中添加了额外的标签。

从用户分析扩展生成了第二幅绘图,空间频率设置为 100 cyc/mm。从两幅图中可以清楚地看出,第 4 视场的性能是所有 STAR 子系统中最差的。

使用二维绘图模拟设计变更并提高系统性能

为了获得有关可提高系统性能的更改的设计见解,用户分析可以创建 2D 绘图以可视化多个系统配置的性能。在此用户分析中,X 轴代表 STAR 系统,Y 轴代表配置。该分析将用于评估当调整最后一个镜片和图像传感器之间的距离时系统的性能。

要创建 2D 用户分析图,请执行以下操作:

  1. 在多重结构编辑器 (MCE) 中,添加新的操作数行

  2. 点击操作数属性下拉列表,并将操作数类型更改为 THIC(厚度)

  3. 在 Surface 下拉菜单中选择 16

  1. 在 "用户分析" 窗口中,将 X 范围更改为 STAR 系统

  2. 在 Y 类别下拉列表中,选择 Configuration

  3. 更改以下设置:

  • 选择 THIC

  • 起始值:0.285 (mm)

  • 结束值:0.365 (mm)

  • #步数:10

  1. 评价操作数行:MTFA

  2. 点击OK并刷新分析窗口。

生成分别显示 50 cyc/mm 和 100 cyc/mm 处平均 MTF 的两张图。

基于这些图形,我们可以预测,通过将最后一个镜片和传感器之间的距离调整 0.309mm 左右,可以实现更好的平均 MTF 性能,这将在整个温度范围内产生最佳的整体性能。

结论

本文展示了如何使用 ZOS-API 功能在 STAR 模块中自动执行操作,以帮助导入 FEA 数据集并生成分析图。

相关推荐
人才程序员19 小时前
QML z轴(z-order)前后层级
c语言·前端·c++·qt·软件工程·用户界面·界面
Theodore_102221 小时前
3 需求分析
java·开发语言·算法·java-ee·软件工程·需求分析·需求
云云3211 天前
云手机:小红书矩阵搭建方案
服务器·线性代数·安全·智能手机·矩阵
做人求其滴1 天前
GDPU软件工程习题(挖空版)
软件工程
MrFlySand_飞沙1 天前
软件工程
软件工程
jokr_1 天前
【软件工程复习】
软件工程
云空1 天前
《软件工程文档攻略:解锁软件开发的“秘籍”》
软件工程
带电的小王1 天前
whisper.cpp: Android端测试 -- Android端手机部署音频大模型
android·智能手机·llm·whisper·音频大模型·whisper.cpp
人才程序员1 天前
【无标题】
c语言·前端·c++·qt·软件工程·qml·界面
Aderversa1 天前
关于数据流图绘制和使用上的一些个人经验
软件工程