当前位置: 首页 > news >正文

Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析

该系列文章将讨论智能手机镜头模组设计的挑战,从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分,它涵盖了相机镜头的显式动态模拟,以及对光学性能的影响。使用Ansys Mechanical和LS-DYNA对相机在地板上的一系列冲击和弹跳过程进行显式动力学模拟,其中 LS - DYNA 用于解决跌落物理问题,然后通过STAR工具将其导入Ansys Zemax optic studio Enterprise,进而研究对光学性能产生的影响。

  • Ansys Zemax | 手机镜头设计 - 第 1 部分:光学设计icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650053772&idx=1&sn=ad09702fc3eaa58fea37843a4da28372&chksm=8ffda555b88a2c435b05a01dad0b8006e8c421d11de7e515c13f895c883f93fb34b195241f01&token=1134198106&lang=zh_CN#rd

  • Ansys Zemax | 手机镜头设计 - 第 2 部分:使用 OpticsBuilder 实现光机械封装icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650053838&idx=1&sn=00ea3ad15a8e69ad4de38bb2dbf3e8fb&chksm=8ffda517b88a2c01532fcae47aff95cb26937e9d22e77f872bbb02134808989d2a189148dbfe&token=1134198106&lang=zh_CN#rd

  • Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析icon-default.png?t=O83Ahttps://mp.weixin.qq.com/s?__biz=MzIxNzE5MDU4Mg==&mid=2650054345&idx=1&sn=046c9f8b676af5b47ac424b168c38b3f&chksm=8ffda710b88a2e069b2d651dfde305caac76f5f80c53252ed638a58858a28337709dc18a821b&token=1134198106&lang=zh_CN#rd

附件下载

联系工作人员获取附件

介绍

Ansys LS-DYNA (LS-DYNA)与本系列文章前面部分的Ansys工具(Ansys Zemax OpticStudio、Speos、Mechanical 和 Workbench)一起,可以将仿真工作流扩展为显式动力学,LS-DYNA 广泛用于各种分析,它的核心能力之一是显式动态。Ansys LS-DYNA适用于分析涉及接触、大变形、非线性材料、瞬态响应和/或需要显式解决方案的问题。

LS - DYNA Workbench 系统(WB LS - DYNA)允许用户使用 LS - DYNA 求解器对模型进行显式动力学分析。虽然它允许在一个环境中进行预处理、求解和后处理,但该工作流需要结合使用 WB LS - DYNA 和 LS Prep - Post 进行高级后处理。

与本系列文章的第3部分“Ansys Zemax | 手机镜头设计 - 第 3 部分:使用 STAR 模块和 ZOS-API 进行 STOP 分析”类似,本部分也使用 Ansys Mechanical 生成 FEA 数据集。然而,第3部分的重点是使用 STAR 工具和 ZOS API 自动导入有限元分析数据,而第4部分的重点是生成显式动力学结果,并在 Ansys Zemax 中查看光学性能。这两个工作流程都需要 Ansys Zemax opticstudio Enterprise 中的 STAR 工具来处理 FEA 变形。

使用显式动力学进行有限元分析

手机摄像头的光机系统(光机设计见第 2 部分)被加载到 Ansys Workbench 中,并导入到 LS - DYNA 分析系统中。为了使碰撞模拟更真实,摄像头系统被放置在一个更大的机身内,该机身具有常见智能手机设备的尺寸和形状。

IM1.png

模拟包含摄像头系统掉落在平坦表面上的瞬态序列。平坦表面(可能是地板)在上面的图像中被标记为红色,并被设置为固定支撑。固定支撑是一种边界条件,可防止选定的几何图形或网格实体移动或变形。

假设物体从静止状态(初速度= 0)落下,仅因重力下落,那么撞击时的速度可以用以下公式计算:

EQ1.png

其中,v=冲击速度,g =重力加速度(9.8 m/s²),h = 摄像机系统落下的高度。假设带有摄像系统的手机从1.5米的高度(大约相当于一个普通人的手的高度)掉落,撞击速度为

EQ2.png

这导致整个手机产生以下初始变形:

以及透镜本身的以下变形:

  • 请注意,出于演示目的,视觉变形已按比例放大。

为了分析此跌落测试对光学性能的影响,需要单个透镜的变形数据集。为了提取数据集,为每个透镜面创建一个命名选择。在 WB - LSDYNA 中求解模拟后,在 LS - PrePost 中读取输入文件和结果。LS - PrePost 是 LS - DYNA 的专用前后处理工具。在 LS - PrePost 中,运行一个脚本来将特定面(在命名选择中定义)的变形导出为正确的格式,以便可以通过 STAR 工具将它们导入到 Ansys Zemax OpticStudio 中。

模拟涉及两个步骤,并且从两个步骤中都导出变形数据集:

  • 冲击分析:这是模拟时间的 0 - 0.1ms,即冲击发生时。

  • 冲击后分析:这是冲击状态后 1 秒,此时允许振动衰减以避免变形中出现任何不必要的噪声。

将 FEA 数据加载到 Ansys Zemax OpticStudio 中

在 Ansys Mechanical 中生成 FEA 数据集后,现在可以将它们加载到 OpticStudio 中。如本系列文章第 1 部分所述,名义上的手机摄像头系统已在 OpticStudio 中设计并优化了性能。透镜系统本身的设计基于一项专利,包含五个主要的非球面透镜:

IM2.png

为了分析和比较手机摄像头在三种主要状态(冲击、冲击后和名义)下的性能,通过 OpticStudio 主窗口顶部 STAR 选项卡中的多物理场数据加载器导入 FEA 数据集。

IM3.png

对于代表透镜或光学组件物理表面的每个表面,分配一个 “Surface_deformation” 数据集。由于自从从 OpticStudio 导出名义几何形状以来坐标系没有改变,因此为特定表面对齐数据集并设置为全局坐标系。如果不是这种情况,可以将坐标系更改为局部坐标系,或者可以应用用户定义的变换。在将数据集分配给表面后,可以通过单击 “OK(Fit Multiphysics Data)” 加载和拟合数据集。

不同状态下的光学性能分析

加载和拟合多物理场数据后,现在可以分析不同状态的性能,更重要的是进行比较。由于这是一个手机摄像头系统,在性能分析过程中有一些分析工具可供使用。在这种情况下,使用以下分析工具进行分析和比较:

  • 图像模拟 - 此功能通过将源位图文件与点扩散函数阵列进行卷积来模拟图像的形成。考虑的影响包括衍射、像差、畸变、相对照明、图像方向和偏振。

  • 波前图 - 显示光瞳上的波前误差。

  • STAR 系统查看器(变形) - 显示由于拟合的多物理场数据而导致的表面变形和光学性质变化的系统范围视图。

名义状态

由于透镜系统已经针对这种状态进行了优化,所以图像模拟的质量非常好。波前误差是旋转对称的,最大误差为0.225波。没有显示变形,因为没有应用多物理数据。这将作为基线和性能的“理想”状态。

IM4.png

冲击状态

当加载冲击状态的数据集时,很明显可以看出相机系统的性能可以被认为是不可用的。变形太大,以至于图像模拟和波前图的结果可以被声明为 “陈旧数据”。有趣的是,可以在 STAR 系统查看器中看到透镜系统的变形幅度。平均变形约为0.33mm,对于一个光学系统来说,变形太大以至于无法执行并产生任何有意义的结果。

IM5.png

OpticStudio 中 STAR 工具的一大优势是可以将刚体运动的效果与曲面变形的效果分离。这可以通过结构数据摘要中的简单勾选框来实现,并且可以随时打开或关闭。在下面的动态图中,从完整的变形数据开始,首先 RBM 部分被禁用,然后变形效果被全部忽略:

在上面显示的分析结果中,包括了 RBM。下面显示了相同的分析,但这次排除了 RBM。这使您能够观察高阶变形,这在光学分析过程中很重要。STAR 系统查看器显示平均变形幅度约为 0.025mm,这导致波前误差约为40个波长,与给出大约四分之一波长的波前误差的标称性能相比,这仍然表示严重的光学像差。如此大的波前误差导致图像质量严重下降,这可以在图像模拟中看到。

IM7.png

  • 联系工作人员了解关于 RBM 变形和高阶变形比较的更多信息

冲击后状态

冲击后状态的结果如下所示。

IM8.png

查看 STAR 系统查看器的变形矢量,仍然有趣的是,在一些透镜的边缘区域仍然有大约 0.025mm 的变形幅度。然而,很明显可以看出最后一个透镜(即红外滤光片)的幅度显著下降。这导致性能仍然明显比名义状态差,但产生了更可用的结果。波前图显示误差约为 ±15 波,这仍然远远超过此类光学系统的可接受极限。图像模拟显示了透镜变形与摄像头系统中可能出现的畸变和像差之间的直接联系。物体可以识别,但非常模糊。

结论

本系列文章的第 4 部分展示了如何在 Ansys Workbench 中使用 Ansys LS - DYNA 模拟手机摄像头模块的跌落测试的显式动力学。使用 Ansys Mechanical 提取了冲击和冲击后状态的变形数据集并进行处理,以便在 Ansys Zemax OpticStudio 中使用。在 Ansys Zemax OpticStudio 中,可以通过 STAR 模块加载 FEA 数据集并将其分配给光学系统。这样,光学工程师可以研究和比较光学系统在冲击和冲击后状态变形影响下的性能。

后续步骤

在这个示例中,我们分析了跌落测试中的光学性能。同样,LS-DYNA- Mechanical - Zemax 工作流程还可以应用于研究振动或累积冲击等其他领域。

相关文章:

Ansys Zemax | 手机镜头设计 - 第 4 部分:用LS-DYNA进行冲击性能分析

该系列文章将讨论智能手机镜头模组设计的挑战,从概念和设计到制造和结构变形分析。本文是四部分系列中的第四部分,它涵盖了相机镜头的显式动态模拟,以及对光学性能的影响。使用Ansys Mechanical和LS-DYNA对相机在地板上的一系列冲击和弹跳过程…...

工具收集 - java-decompiler / jd-gui

工具收集 - java-decompiler / jd-gui 参考资料 用法:拖进来就行了 参考资料 https://github.com/java-decompiler/jd-gui 脚本之家:java反编译工具jd-gui使用详解...

《无线重构世界》射频模组演进

射频前端四大金刚 射频前端由PA、LNA、滤波器、开关“四大金刚” 不同的模块有自己的工艺和性能特点 分层设计 射频前端虽然只由PA、LNA、开关、混频器4个模块构成,但不同模块之间相互连接且相互影响。如果将射频系统当成一个整体来理解,其中的细节和…...

渗透测试---docker容器

声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人一律不承担一切后果 目录 一、Docker的作用与优势 二、docker的核心…...

【go从零单排】Atomic Counters原子计数

🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在 Go 语言中,原子计数器(Atomic Counters)是…...

VSCode中python插件安装后无法调试

问题 VSCode中python插件安装后无法调试,如下,点击调试,VScode中不报错,也没有调试 解决方法 1、查看配置 打开所在路径 2、拷贝 将整个文件夹拷贝到vscode默认路径下 3、问题解决 再次调试,可以正常使用了…...

用react实现radio同时关联proform组件

实现&#xff1a; <ProFormRadio.GroupradioType{button}name{[bodyConfig, format]}label"请求体格式"initialValue{json}options{createTabs}fieldProps{{buttonStyle: solid,wrapperMarginInlineEnd: 20,onChange: e > {let v e.target.value;databaseMod…...

Objective-C 1.0和2.0有什么区别?

Objective-C ObjC比较小众&#xff0c;在1980年左右由Stepstone公司的Brad Cox和Tom Love发明。后来NeXT公司获得ObjC语言使用权&#xff0c;再后来到1996年NeXT被苹果公司收购也变成苹果公司使用&#xff0c;Mac市场占有率本身就不高&#xff0c;ObjC没有太多程序员。在移动互…...

TCP连接如何保障数据传输安全

TCP连接保障数据传输安全主要通过以下几个机制实现&#xff1a; 1、建立连接&#xff1a;TCP通过三次握手过程建立连接&#xff0c;确保通信双方实体真实存在&#xff0c;为后续的可靠数据传输打下基础。 2、序号机制&#xff1a;TCP为每个传输的数据包分配一个序号&#xff…...

【论文复现】ChatGPT多模态命名实体识别

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀ChatGPT ChatGPT辅助细化知识增强&#xff01;1. 研究背景2. 模型结构和代码3. 任务流程第一阶段&#xff1a;辅助精炼知识启发式生成第二阶段…...

管理 Elasticsearch 变得更容易了,非常容易!

作者&#xff1a;来自 Elastic Ken Exner Elasticsearch 用户&#xff0c;我们听到了你的心声。管理 Elasticsearch 有时会变得很复杂&#xff0c;面临的挑战包括性能调整、问题检测和资源优化。我们一直致力于简化你的体验。今天&#xff0c;我们宣布了自收购 Opster 以来的一…...

SynchronousQueueworkQueue.offer() 和 poll() 方法的超时控制及线程池的讨论

2024.11.12 11:26 问&#xff1a;workQueue.offer(command) 这里 workQueue.poll(keepAlive, TimeUnit.NANOSECONDS) : 这里的 workQueue.offer(command) 没有超时时间控制&#xff1f; Claude 3.5 Haiku 非常好的问题&#xff01;我来详细解释 offer() 和 poll() 方法的区别…...

自动驾驶---“火热的”时空联合规划

1 背景 早期的不少规划算法都是横纵分离的(比如Apollo),先求解path之后,依赖path的结果再进行speed的求解。这种横纵解耦的规划方式具有以下特点: 相对较为简单,计算量通常较小,容易实现实时性要求。但是由于分别规划横向和纵向运动,可能会忽略两者之间的耦合关系,导致…...

命令行工具进阶指南

&#x1f680; 命令行工具进阶指南&#xff1a;Git、Shell与效率工具的进阶之路 掌握命令行工具&#xff0c;让你的开发效率突飞猛进。本文将深入探讨 Git 高级技巧、Shell 脚本自动化以及各种效率倍增的 CLI 工具。 &#x1f4d1; 目录 Git 高级技巧与工作流Shell 脚本自动化…...

扫雷游戏代码分享(c基础)

hi , I am 36. 代码来之不易&#x1f44d;&#x1f44d;&#x1f44d; 创建两个.c 一个.h 1&#xff1a;test.c #include"game.h"void game() {//创建数组char mine[ROWS][COLS] { 0 };char show[ROWS][COLS] { 0 };char temp[ROWS][COLS] { 0 };//初始化数…...

基于vue框架的的社区居民服务管理系统8w86o(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;居民,楼房信息,报修信息,缴费信息,维修进度 开题报告内容 基于Vue框架的社区居民服务管理系统开题报告 一、研究背景与意义 随着城市化进程的加速&#xff0c;社区居民数量激增&#xff0c;社区管理面临着前所未有的挑战。传统的社区…...

一分钟快速熟悉makedown

Markdown 是一种轻量级标记语言&#xff0c;广泛用于编写文档、撰写博客、创建 README 文件等。它的语法简单易学&#xff0c;能够快速生成格式化的文本。以下是 Markdown 的一些常用语法和示例&#xff1a; 1. 标题 Markdown 支持六级标题&#xff0c;使用 # 符号表示。 # …...

P8649 [蓝桥杯 2017 省 B] k 倍区间:同余,前缀和,组合数,区间个数

题目描述 给定一个长度为 NN 的数列&#xff0c;A1,A2,⋯ANA1​,A2​,⋯AN​&#xff0c;如果其中一段连续的子序列 Ai,Ai1,⋯Aj(i≤j)Ai​,Ai1​,⋯Aj​(i≤j) 之和是 KK 的倍数&#xff0c;我们就称这个区间 [i,j][i,j] 是 KK 倍区间。 你能求出数列中总共有多少个 KK 倍区…...

产业与学术相互促进,2024年OEG海上能源博览会助力全球能源可持续发展

10月30日至31日&#xff0c;2024年OEG海上能源全产业链博览会在上海跨国采购会展中心成功举办。本次大会系全球海洋工程与高端装备领域的年度国际交流盛会——第十一届全球FPSO&FLNG&FSRU大会&#xff0c;同期举办第七届亚洲海洋风能大会。本次大会暨博览会由上海船舶工…...

【GDB调试】智慧中控项目的调试

一.在执行的智慧中控项目的时候&#xff0c;喊语音模块唤醒(小欣小欣)的时候遇到了&#xff1a;Segmentation fault 段错误 二.遇到段错误&#xff0c;一般是以下情况&#xff1a; “Segmentation fault”&#xff08;段错误&#xff09;是Linux系统中常见的程序异常终止信号。…...

AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...

02.运算符

目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&&#xff1a;逻辑与 ||&#xff1a;逻辑或 &#xff01;&#xff1a;逻辑非 短路求值 位运算符 按位与&&#xff1a; 按位或 | 按位取反~ …...

数据结构:泰勒展开式:霍纳法则(Horner‘s Rule)

目录 &#x1f50d; 若用递归计算每一项&#xff0c;会发生什么&#xff1f; Horners Rule&#xff08;霍纳法则&#xff09; 第一步&#xff1a;我们从最原始的泰勒公式出发 第二步&#xff1a;从形式上重新观察展开式 &#x1f31f; 第三步&#xff1a;引出霍纳法则&…...

DAY 45 超大力王爱学Python

来自超大力王的友情提示&#xff1a;在用tensordoard的时候一定一定要用绝对位置&#xff0c;例如&#xff1a;tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾&#xff1a; tensorboard的发展历史和原理tens…...