Ansys Zemax | 手机镜头设计 - 第 2 部分:使用 OpticsBuilder 实现光机械封装

本文是3篇系列文章的一部分,该系列文章将讨论智能手机镜头模块设计的挑战,从概念、设计到制造和结构变形的分析。本文是三部分系列的第二部分。概括介绍了如何在 CAD 中编辑光学系统的光学元件以及如何在添加机械元件后使用 Zemax OpticsBuilder 分析系统。展示案例是来自全球运营制造商的智能手机镜头系统,该系统由五个镜片、一个盖板玻璃和一个红外滤光片组成。主要目的是给这些镜片扩展复杂边缘,以便于将它们安装在机械部件上。此外,文章还介绍了如何使用光机械验证工具 Zemax OpticsBuilder 来添加和调整机械组件。(联系我们获取文章附件)

简介

在OpticStudio中优化光学系统后,通过Prepare for OpticsBuilder工具将系统转换为.ZBD文件。

当光学系统通过 Prepare for OpticsBuilder 工具被转换为.ZBD文件时有几点需要考虑。首先,由于 OpticsBuilder 的光线追迹工具是基于 OpticStudio 的非序列光线追迹引擎,因此序列光学系统首先应转换为非序列系统,然后再转换为.ZBD文件。如果 Prepare for OpticsBuilder 工具是在非序列模式中使用,则光学系统将直接转换为 .ZBD 文件。

其次,在 Prepare for OpticsBuilder 工具的用户输入部分,如果机械工程师有权编辑核心光学属性,则应取消勾选 Read-only 框。

此外,OpitcStudio 用户还可以在工具设置中编辑各种系统性能所允许的改变量,以便限定光机械设计所允许对于光学系统性能影响的极限情况(在下一节中进一步解释)。

用CAD编辑光学元件

第一步,将 .ZBD 文件导入 CAD 平台(示例为 Creo Parametric 7),验证初始光学系统,然后计划后续步骤。

零件清单:

1.红外滤光片(A)

2.透镜(LB)

3.透镜(LC)

4.透镜(LD)

5.透镜(LE)

6.透镜(LF)

7.盖板玻璃(G)

扩展透镜边缘的几何先决条件是,给定的机械隔圈必须在它们之间装配,并且支撑光学系统的主安装座(在本文中称为镜筒)应尽可能少地进行编辑。理想情况下,镜筒应仅延伸到可以容纳红外滤光片(A)和盖板玻璃(G)的区域。

· 免责声明: 出于展示的目的,红外滤光片(A)和盖板玻璃(G)都保留在镜筒中,在实际应用中,这两个元件很可能与透镜组不在同一个光机械组件中。、

下一步,通过执行仿真来查看光学性能,即光斑尺寸、光束遮挡和像面污染。由于没有对系统进行任何更改,因此所有指标都应满足允许的改变量规范,并应显示绿色复选标记。

之后,可以设计复杂的透镜边缘了。

添加复杂透镜边缘

经典的机械装配边缘可以在 OpticsBuilder 中使用 Add Mounting Edge 功能直接添加,要给透镜添加复杂的装配边缘,可以使用 Creo 参数化原生草图工具。

要编辑第一组透镜,可以以单独的文件打开它们(Assembly选项卡>右键单击零件>打开)。之后,在透镜的侧面绘制额外的草图。通过附加一条中心线到透镜的光轴上,可以将添加的草图围绕透镜进行旋转

下一步,修改后的透镜被重新插入到装配体中,因此可以通过与相邻透镜和镜筒相比较直接修改草图来完成复杂边缘的微调(镜筒可以预先添加进来,因为这使得复杂透镜边缘的微调更容易)。

就像在下图中标记出的,仍有为隔圈保留的间隙。这些是在下一章节中实现的结果。

添加和调整机械部件

由于四个隔圈是现成的组件,因此可以使用 Creo 参数化原生插入工具(Model Tab -> Assemble -> Assemble A)将其直接插入到光机械装配体中。之后,可以使用 Object Placement 工具将其直接定位。

镜筒和前挡圈需要稍作修改,以便机械组件可以模拟 OpticStudio 中定义的光学孔径,并且光束遮挡可以保持在最低限度。在下图(A部分)中看到紫色的遮挡光束和右侧(B部分),由于镜筒上的机械孔径直径略有增加,新模拟的光机械系统没有任何可见的遮挡光束。

经过初次目视检查后,可以使用 OpticsBuilder 分析工具深入分析光学性能。

用 OpticsBuilder 进行光学性能分析

为了使用 OpticsBuilder 分析工具验证光机械系统,可以研究三个改变量并与基线值相比较(如下所述)。

光斑尺寸

光斑尺寸改变量是根据 OpticsBuilder 基线构型和 OpticsBuilder 修改后构型之间的差异绝对值计算得出的。而 OB 基线构型仅包含光学和光阑表面,修改后构型还包含机械几何体。由于光斑尺寸具有绿色复选标记,因此修改后构型与基线构型具有相同(或者差异可忽略)的光斑尺寸值。

光束遮挡 1.04%

在 OpticsBuilder 基线构型中击中探测器,而在 OpticsBuilder 修改构型中未击中任何探测器的光线,被视为遮挡光线。因此,遮挡光线百分比的定义方法是将  OpticsBuilder 修改构型中未击中探测器的光通量除以在 OpticsBuilder 基线构型中击中探测器的光通量乘以100。由于挡圈应阻止光线通过装配体的上部传播,因此该系统允许少量光束遮挡。

像面污染

当追迹光线在 OpticsBuilder 修改构型中通过意外路径到达探测器时,它们会导致像面污染。意外路径是指在 OpticsBuilder 基线构型光线追迹中不存在的任何路径。在上面的图片中,导致像面污染的光线标记为橙色。像面污染量可以忽略不计,因此结果窗口中的像面污染改变量为绿色复选标记。

探测器查看器

此外,对于改变量,CAD 用户还可以研究光斑特征的实际变化。非顺序  OpticStudio 文件中的初始光斑被视为 OpticsBuilder 的基线,当前输出包含了机械组件的影响。在下面的图像中,可以看到视场3的情况。

后续步骤

下一步,可以与光学工程师一起审查光机械系统并分析光学性能特性。如果需要,既可以使用 CAD 系统改进光机械系统,然后通过 Export .ZBD file(*1)导回 OpticStudio,也可以宣告完成并后续发送。

(*1)这里需要注意的重要一点是,由于光学元件是使用 CAD 特征编辑的,因此它们不再仅仅是光学组件。因此,它们可以被定义为 OpticStudio 非序列模式中的 CAD 零件:Creo Parametric 或 CAD 零件:STEP。

如果光学和机械工程师都声称光机械系统已完成,则可以将系统从 Creo Parametric 导出为 STEP 装配体,并进一步转移到 FEA 软件(如 Ansys Mechanical ),以便为 OpticStudio STAR 模块生成 FEA 数据集。这些步骤在本系列文章的第三部分进行详细阐述:

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二级MySQL(十)——单表查询

这里我们只在一个表内查询,用到的是较为简单的SELECT函数形式 1、查询指定的字段: 用到的数据库是之前提到的S、P、SP数据库 S表格用到的总数据: 首先我们查询所有供应商的序号和名字 这时都是独立的,没有关系,我们找…

android多屏触摸相关的详解方案-安卓framework开发手机车载车机系统开发课程

背景 直播免费视频课程地址:https://www.bilibili.com/video/BV1hN4y1R7t2/ 在做双屏相关需求开发过程中,经常会有对两个屏幕都要求可以正确触摸的场景。但是目前我们模拟器默认创建的双屏其实是没有办法进行触摸的 修改方案1 静态修改方案 使用命令…

对class文件进行base64编码

使用以下代码 package org.springframework.cloud.gateway.sample;import org.springframework.util.Base64Utils;import java.io.*; import java.nio.charset.StandardCharsets;public class EncodeShell {public static void main(String[] args){byte[] data null;try {In…

2021年09月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:抓牛 农夫知道一头牛的位置,想要抓住它。农夫和牛都位于数轴上,农夫起始位于点N(0<=N<=100000),牛位于点K(0<=K<=100000)。农夫有两种移动方式: 1、从X移动到X-1或X+1,每次移动花费一分钟 2、从X移动到2*X,每次移动花费一分钟 假设牛没有意识到农夫的…

2023第七届蓝帽杯 初赛 web LovePHP

LovePHP 直接给了源码。 network查看到&#xff0c;PHP版本是7.4.33 题目要求我们GET一个my_secret.flag参数&#xff0c;根据PHP字符串解析特性&#xff0c;PHP需要将所有参数转换为有效的变量名&#xff0c;因此在解析查询字符串时&#xff0c;它会做两件事&#xff1a; 删…

python+TensorFlow实现人脸识别智能小程序的项目(包含TensorFlow版本与Pytorch版本)(一)

pythonTensorFlow实现人脸识别智能小程序的项目&#xff08;包含TensorFlow版本与Pytorch版本&#xff09;&#xff08;一&#xff09; 一&#xff1a;TensorFlow基础知识内容部分&#xff08;简明扼要&#xff0c;快速适应&#xff09;1、下载Cifar10数据集&#xff0c;并进行…

自然语言处理(四):全局向量的词嵌入(GloVe)

全局向量的词嵌入&#xff08;GloVe&#xff09; 全局向量的词嵌入&#xff08;Global Vectors for Word Representation&#xff09;&#xff0c;通常简称为GloVe&#xff0c;是一种用于将词语映射到连续向量空间的词嵌入方法。它旨在捕捉词语之间的语义关系和语法关系&#…

嵌入式Linux开发实操(十三):GPIO接口开发

从版本4.8开始,Linux内核引入了一个新的基于字符设备的用户空间API,用于管理和控制GPIO(通用输入/输出),在Linux内核4.8之前,在用户空间中管理GPIO的唯一接口是sysfs接口,pio通过/sys/class/gpio中的导出文件进行配置和控制,可以通过该接口执行的基本GPIO操作,比如: …

史上最全AP、mAP详解与代码实现

文章目录 前言一、mAP原理1、mAP概念2、准确率3、精确率4、召回率5、AP: Average Precision 二、mAP0.5与mAP0.5:0.951、mAP0.52、mAP0.5:0.95 三、mAP代码实现1、真实标签json文件格式2、模型预测标签json文件格式3、mAP代码实现4、mAP结果显示 四、模型集成mAP代码1、模型mai…

比较器的工作原理及性能指标介绍

一、什么是比较器 比较器的功能是比较两个或更多数据项&#xff0c;以确定它们是否相等&#xff0c;或者确定它们之间的大小关系和排列顺序&#xff0c;这称为比较。可以实现此比较功能的电路或设备称为比较器。比较器是将模拟电压信号与参考电压进行比较的电路。比较器的两个…

解读GIS软件:从ArcGIS到山海鲸可视化的全方位介绍

在现代社会&#xff0c;地理信息系统&#xff08;GIS&#xff09;的应用已经渗透到了各个领域&#xff0c;为我们提供了丰富的地理数据分析和可视化工具。下面介绍几款常见的GIS工具软件&#xff0c;一起来了解它们的特点和优势。 1. ArcGIS: ArcGIS由Esri公司开发&#xff0c;…

使用Spring Boot和Kafka实现消息订阅和发送

文章目录 一&#xff0c;新建Spring Boot1&#xff0c;Maven配置2&#xff0c;无法识别为SpringBoot项目3&#xff0c;无效的源发行版4&#xff0c;无法访问SpringApplication5&#xff0c;运行直接Finish6&#xff0c;服务运行成功 二&#xff0c;安装启动Kafka1&#xff0c;下…

20 MySQL(下)

文章目录 视图视图是什么定义视图查看视图删除视图视图的作用 事务事务的使用 索引查询索引创建索引删除索引聚集索引和非聚集索引影响 账户管理&#xff08;了解非DBA&#xff09;授予权限 与 账户的相关操作 MySQL的主从配置 视图 视图是什么 通俗的讲&#xff0c;视图就是…

Web开发模式、API接口、restful规范、序列化和反序列化、drf安装和快速使用、路由转换器(复习)

一 Web开发模式 1. 前后端混合开发模式 前后端混合开发模式是一种开发方式&#xff0c;将前端和后端的开发工作结合在一起&#xff0c;以加快项目的开发速度和 提高协作效率。这种模式通常用于快速原型开发、小型项目或敏捷开发中。在前后端混合开发模式中&#xff0c;前端和…

CATIA Composer R2023安装教程

软件下载 软件&#xff1a;CATIA Composer版本&#xff1a;2023语言&#xff1a;简体中文大小&#xff1a;1.82G安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.60GHz 内存8G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pa…

汇编-内中断

中断的意思是指, CPU不再接着(刚执行完的指令) 向下执行, 而是转去处理这个特殊信息。 内中断的产生 8086CPU,当CPU内部有下面的情况发生的时候, 将产生相应的中断信息: (1)除法错误, 比如, 执行div指令产生的除法溢出; (2)单步执行;   (3)执行into指令; (4)执…

文件上传漏洞-upload靶场3-4(全网最详细解读)

文件上传漏洞-upload靶场3-4关通关笔记&#xff08;全网最详细解读&#xff09; upload 第三关&#xff08;特殊后缀&#xff09; 思路 按照第一关和第二关的思路&#xff0c;先随便上传一个文件用burpsuite工具抓包&#xff0c;看它到底是前段验证还是后端验证。 上传一个we…

社招中级前端笔试面试题总结

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 typeof null 的结果是什么&#xff0c;为什么&#xff1f; typeof null 的结果是Object。 在 JavaScript 第一个版本中&#xff0c;所有值都存储在 32…

网络编程 day 3

1、UDP下载 #include<myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr, "__%d__:", __LINE__); \perror(msg);\ }while(0)#define SER_PORT 8888 //端口号&#xff0c;范围1024~49151 #define SET_IP "192.168.114.85" //本机…

javaee spring 静态代理

静态代理 package com.test.staticProxy;public interface IUsersService {public void insert(); }package com.test.staticProxy;//目标类 public class UsersService implements IUsersService {Overridepublic void insert() {System.out.println("添加用户");…