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 数据集都在同一坐标系中保存

图片

2. 要加载FEA数据集文本文件,请单击Load FEA

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

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

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

图片

4. 在 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。

3. 点击加载多组有限元分析数据。

图片

4. 在弹出的文件资源管理器窗口中,选择存有不同时间点 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。

图片

5. 加载 FEA 数据集后,您可以使用 ActiveFEA 列中的复选框来快速验证该特定系统的 STAR 数据或其他性能。

图片

6. 要想无需重新导入 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用户分析中,点击设置下拉按钮。

图片

4. 要检查一个系统中所有光学表面的拟合结果,请点击 Check Fit Error/User Plot

  • 右侧面板将改变

5. 更改以下设置,然后点击 “OK”:

  • 数据:Structural

  • STAR系统:1

  • 拟合误差:RMS + PV

图片

图片

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

1. 要显示所有光学表面在所有时间点下的拟合误差,请点击 Fit Error / User Plot

  • 右侧面板将改变

2. 更改以下设置,然后点击 “OK”:

  • 数据:Structural

  • STAR系统:All

  • 拟合误差:RMS

图片

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

图片

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

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

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

  • Grid 1:3

  • Grid 2:3

  • Max Level:9

6. 点击 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 操作数行返回值 

2. 二维图

  • 响应/因变量 Z 可以是

    - MFE 中的评价函数值

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

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

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

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

  • 采样:3(采样)

  • 波长:0(复色)

  • 视场:1(轴上视场)

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

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

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

  • 目标:0

  • 权重:0

图片

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

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

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

6. 勾选 “Multi Series” 复选框

7. 输入以下设置

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

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

    - 起始值: 1

    - 结束值: 5

    - #步数: 5

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

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

图片

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

图片

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

图片

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

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

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

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

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

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

图片

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

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

6. 更改以下设置:

  • 选择 THIC

  • 起始值:0.285 (mm)

  • 结束值:0.365 (mm)

  • #步数:10

7. 评价操作数行:MTFA

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

图片

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

图片

图片

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

结论

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/221449.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ATECLOUD电源自动测试系统打破传统 助力新能源汽车电源测试

随着新能源汽车市场的逐步扩大,技术不断完善提升,新能源汽车测试变得越来越复杂,测试要求也越来越严格。作为新能源汽车的关键部件之一,电源为各个器件和整个电路提供稳定的电源,满足需求,确保新能源汽车的…

Homework 3: Higher-Order Functions, Self Reference, Recursion, Tree Recursion

Q1: Compose 编写一个高阶函数composer,它返回两个函数func和func_adder。 func是一个单参数函数,它应用到目前为止已经组合的所有函数。这些函数将首先应用最新的函数(参见doctests和示例)。 func_adder用于向我们的组合添加更多…

ESP32-Web-Server编程-在网页中插入图片

ESP32-Web-Server编程-在网页中插入图片 概述 图胜与言,在网页端显示含义清晰的图片,可以使得内容更容易理解。 需求及功能解析 本节演示在 ESP32 Web 服务器上插入若干图片。在插入图片时还可以对图片设置一个超链接,用户点击该图片时&a…

统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量

说在前面 在软件开发领域,了解项目的代码规模和复杂度对于项目管理、团队协作以及技术评估都至关重要。通过统计项目代码行数,我们能够更好地把握项目的整体情况,包括但不限于代码量的大小、不同类型文件的分布情况以及项目的结构和复杂度。这…

数据结构之选择排序

目录 直接选择排序 选择排序的时间复杂度 堆排序 向上调整算法 向下调整算法 向上调整算法建立堆 向下调整算法建立堆 堆排序整体代码 堆排序的时间复杂度 直接选择排序 在之前讲插入排序时,我们讲了这样的一个应用场景,我们在斗地主摸牌时&…

CoreDNS实战(十一)-分流与重定向

本文主要介绍了目前CoreDNS服务在外部域名递归结果过程中出现的一些问题以及使用dnsredir插件进行分流和alternate插件进行重试优化的操作。 1 自建DNS服务现状 一般来说,无论是bind9、coredns、dnsmasq、pdns哪类dns服务器,我们自建的监听在UDP53端口…

【已解决】页内切换<router-view>使得url变化导致菜单高亮消失

在写项目时&#xff0c;我们常会用到侧边菜单栏&#xff0c;而具体页面中经常使用<router-view>切换子组件。 但是按照我们平时的写法&#xff0c;切换子组件后会导致url改变&#xff0c;从而使得菜单高亮消失&#xff0c;这是非常影响用户体验的。 所以&#xff0c;我…

圈子社交系统:打破时间与空间的限制。APP小程序H5三端源码交付,支持二开!

在现代社会&#xff0c;社交已成为人们生活中不可或缺的一部分。然而&#xff0c;传统的社交方式往往受制于时间和空间的限制&#xff0c;使得人们难以充分发挥社交的潜力。为了解决这一问题&#xff0c;圈子社交系统应运而生。 圈子社交系统通过技术手段打破时间与空间的限制&…

想考研到电子类,未来从事芯片设计,目前该怎么准备?

最近看不少天坑学子想考研微电子专业&#xff0c;但却不知道该怎么准备&#xff1f;接下来就带大家一起来具体了解一下~ 首先是目标院校的选择&#xff1f; 目前所设的微电子专业学校里&#xff0c;比较厉害的有北京大学、清华大学、中国科学院大学、复旦大学、上海交通大学、…

探索人工智能领域——每日20个名词详解【day9】

目录 前言 正文 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da;。 &#x1f4e3;如需转载&#xff0c;请事先与我联系以…

flex 布局防止元素被挤换行

刚开始是这样的代码&#xff1a; <div class"flex"><span>选择模型&#xff1a;</span><n-select :options"state.chatModelOptions" /> </div>选择模型换行了…不行&#xff0c;这个效果不行&#xff0c;修改后&#xff1…

基于STM32驱动的压力传感器实时监测系统

本文介绍了如何使用STM32驱动压力传感器进行实时监测。首先&#xff0c;我们会介绍压力传感器的工作原理和常见类型。然后&#xff0c;我们将介绍如何选择合适的STM32单片机和压力传感器组合。接下来&#xff0c;我们会详细讲解如何使用STM32驱动压力传感器进行数据采集和实时监…

647. Palindromic Substrings 516. Longest Palindromic Subsequence

647. Palindromic Substrings Given a string s, return the number of palindromic substrings 回文子串 in it. A string is a palindrome when it reads the same backward as forward. A substring is a contiguous sequence of characters within the string. nomal: …

玄子Share-CSS3 弹性布局知识手册

玄子Share-CSS3 弹性布局知识手册 Flexbox Layout&#xff08;弹性盒布局&#xff09;是一种在 CSS 中用于设计复杂布局结构的模型。它提供了更加高效、简便的方式来对容器内的子元素进行排列、对齐和分布 主轴和交叉轴 使用弹性布局&#xff0c;最重要的一个概念就是主轴与…

服务器数据恢复—重装系统导致XFS文件系统分区丢失的数据恢复案例

服务器数据恢复环境&#xff1a; 服务器使用磁盘柜RAID卡搭建了一组riad5磁盘阵列。服务器上层分配了一个LUN&#xff0c;划分了两个分区&#xff1a;sdc1分区和sdc2分区。通过LVM扩容的方式&#xff0c;将sdc1分区加入到了root_lv中&#xff1b;sdc2分区格式化为XFS文件系统。…

iptables的源地址、目标地址转换

目录 一、实验准备 二、配置web服务器 三、配置web防火墙网卡 四、配置客户机网卡 五、测试 1、开启防火墙功能&#xff0c;设置源地址转换&#xff0c;通过改变我客户机的地址身份为web服务器同网段来实现访问 2、通过改变目标地址&#xff08;客户机&#xff09;的地址…

力扣973. 最接近原点的 K 个点(java 排序法,大顶堆法)

Problem: 973. 最接近原点的 K 个点 文章目录 题目描述思路解题方法复杂度Code 题目描述 给定一个数组 points &#xff0c;其中 points[i] [xi, yi] 表示 X-Y 平面上的一个点&#xff0c;并且是一个整数 k &#xff0c;返回离原点 (0,0) 最近的 k 个点。 这里&#xff0c;平面…

gitLab创建新项目

1.进入git2.选择创建项目3.勾选生成readme.md文件4.邀请成员

如何借助Instagram群发工具更为精准、高效的市场拓展

在当今全球化的商业舞台上&#xff0c;Instagram作为一种强大的社交媒体平台&#xff0c;已成为跨海商家推广产品和服务的理想选择。为了更有效地利用这一平台&#xff0c;跨海商家纷纷借助Instagram群发工具&#xff0c;通过智能化的推广方式&#xff0c;实现了更为精准、高效…

17、迭代器模式(Iterator Pattern)

迭代器模式提供了顺序访问集合对象中的各种元素&#xff0c;而不暴露该对象内部结构的方法。如Java中遍历HashMap。 迭代器模式将遍历集合中所有元素的操作封装成迭代器类&#xff0c;其目的是在不暴露集合对象内部结构的情况下&#xff0c;对外提供统一访问集合的内部数据的方…