ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Zemax光学设计实战:50mm单透镜完整流程与多重结构编辑器

Zemax光学设计实战:50mm单透镜完整流程与多重结构编辑器 这么多年我带过不少新人发现大家学Zemax现在叫OpticStudio最常犯的毛病不是软件不会点而是把“会用工具”和“会做光学设计”混为一谈。光学设计这个领域跨度很大从手机镜头到激光雷达、从显微镜物镜到投影照明底层逻辑都是同一套定义系统参数、建立光路模型、用评价函数量化像质、迭代优化直到满足指标。今天这篇文章就用一个50mm单透镜的完整设计流程把Zemax这条主链路从头到尾走一遍再重点拆解热门的“多重结构编辑器”到底怎么用。适合刚接触Zemax的光学专业学生、刚入行的镜头设计工程师以及需要自己搭光路做实验的科研人员。1. 光学设计到底在做什么Zemax的核心工作流1.1 一束光穿过镜片为什么还需要“设计”很多人第一次打开Zemax会蒙界面里全是表格和曲线不知道从哪里下手。想理解它先得想明白光学设计解决的是什么问题。从物理上讲光线经过透镜后满足折射定律这本身没有悬念。但在实际成像系统中我们要求的不只是“有一束光能聚焦”而是“不同孔径、不同视场、不同波长的光线最终都能汇聚到允许的弥散斑内”。这个诉求才是最麻烦的地方。由于球差、彗差、像散、场曲、畸变和色差这些像差的存在真实光学系统永远无法做到理想成像Zemax做的事情就是把每一根光线的路径追踪出来把“像质”变成一个可以量化的数值然后让软件帮你找最优解。我常说光学设计很像在调一碗汤底每种像差就是一味调料参数之间互相耦合你动了一个面的曲率半径可能球差小了但彗差变大了就像你多放了盐结果辣味被压住了。Zemax的价值就是让你快速知道“变化之后到底咸了还是淡了”并自动帮你调出接近目标的配比。1.2 Zemax五大核心面板一层层拆开看新接触Zemax不用记上百个按钮抓住主链路就行System Explorer系统选项定义孔径、波长、视场、单位这些全局参数是整个设计的源头。Lens Data Editor镜头数据编辑器简称LDE定义每一面的曲率半径、厚度、材料是光路的物理骨架。Merit Function Editor评价函数编辑器简称MFE定义“什么是好设计”这是优化环节最重要的地方所有设计目标都在这里翻译成数值。分析窗口点列图、MTF、波前图、赛德尔图等用来判断当前设计到底行不行。Optimize优化器Zemax优化功能基于阻尼最小二乘法在评价函数定义的“丘陵地形”里找最低点。这五者的关系用一句话概括先在系统选项里定边界条件在LDE里搭初始结构把设计指标写进MFE优化器负责调整LDE参数来让MFE数值下降再用分析窗口判断结果是否达标。入门阶段掌握这条链路意味着你一通百通后面无论做什么系统底层流程不会变。1.3 为什么“初始结构”比“优化按钮”更重要几乎所有新手都会犯同一个错误拿到指标后从空白LDE开始随便放几片透镜就按优化期待软件“变魔术”。结果是优化器跑了半天RMS半径还是几百微米或者直接卡在局部极小值出不来。这里要建立一个关键认知Zemax的优化器是局部优化器它只能在你给的初始结构附近找“海拔最低点”不可能从糟糕的起点翻山越岭找到全局最优。所以光学设计的真正功夫30%在建模70%在初始结构和评价函数的设置。初始结构哪里来三条路从专利镜头库或参考书籍里找相似系统比如《Lens Design Fundamentals》《Modern Lens Design》里的经典例子改成自己需要的焦距和F数。从厂商参考设计中找比如Thorlabs、Edmund Optics的技术文档里很多镜头设计论文思路非常清晰。自己用薄透镜公式估算比如1/f(n-1)(1/R1-1/R2)。这个方式适合简单系统也是入门阶段必须会的技能。后面我们要做的50mm单透镜就会用这个方法推初始半径。2. 环境准备与安装新手绕不开的第一道坎2.1 版本怎么选功能差异怎么看先说版本问题。Zemax现在叫OpticStudio每年出一个大版本界面布局微调但核心工作流十几年没变过。对入门用户来说选哪个版本其实不重要重要的是搞清楚不同license档位的能力差异Starter入门版只有序列模式适合简单成像系统设计价格相对友好。Professional专业版序列模式加上非序列模式可以做照明、杂散光分析这是用得最多的档位。Premium旗舰版在Pro基础上增加STAR结构、热、装配分析模块做航空航天或高低温环境项目才用得到。如果只是学习成像镜头设计Professional足够。国内很多学校和公司装的是历史版本或者教育版界面中文英文混杂这也正常——函数名和菜单结构基本一致在哪个版本里学到的知识都能平移。2.2 安装配置避坑装完打不开最常见的三种原因安装本身不复杂双击安装包按向导走就行但有几个坑我要单独提一下因为我在不止一台电脑上踩过**安装路径和用户名不要含中文。**Zemax的许可证服务和工程文件对中文路径支持不算好装到C:\Zemax或类似路径下比装到“D:\光学软件”里面省心得多。同样新建工程文件也不要放在带中文的目录下否则偶尔会出现文件损坏或者打不开的灵异问题。**以管理员身份运行安装程序。**Zemax需要向系统写入环境变量和驱动程序而且许可证服务依赖Windows服务普通权限安装经常出现“安装成功但启动闪退”的情况。**首次启动选择许可证类型要谨慎。**如果是单机加密狗HASP插上U盾选“HASP License”如果是网络浮动许可要从IT部门拿到服务器地址选“Network License”。选错了启动就会报license相关错误。装好后别急着开始设计先在菜单里打开Example文件检查一下能正常显示镜头数据编辑器就算验证通过了。2.3 序列模式和非序列模式先搞清楚自己是哪种玩法Zemax的“序列模式”解决的是成像问题光线按面的顺序依次传播每个面只通过一次适合镜头设计。这是新手必须优先掌握的。“非序列模式”则允许光线在空间里任意传播、分束、散射、被物体多次反射适合照明、杂散光、滤镜和偏振元件仿真入门阶段先不用碰。搞混这两种模式的人特别多。举个例子有人想在序列模式里模拟一个直角棱镜结果发现光线穿过棱镜后根本不拐弯于是怀疑软件坏了——其实棱镜这种“同一个面两次相交”的结构必须用非序列模式或者序列模式加坐标断点技巧来处理。所以学习路径建议是先死磕序列模式把成像系统建模吃透再进入非序列模式。3. 入门实验亲手设计一片50mm/F4单透镜3.1 设计指标与参数换算理论铺垫差不多了现在动手。我们的目标很朴素设计一个焦距约50mm、F数约4的可见光单透镜用来做入门练习。先做参数换算。入瞳直径 D f/F# 50/4 12.5mm这就是光学系统“接光”的口径。视场上取半视场角5度相当于在探测器上成像范围约4.4mm半径常规C接口镜头基本是这个量级。波长采用可见光标准三色F线486.1nm、d线587.6nm、C线656.3nm主波长定为587.6nm。这里说句题外话很多新手直接跳过“换算”这一步拿着F数就往System里填。其实在Zemax里孔径设置给入瞳直径或像方F数都可以。当我们用入瞳直径固定时优化过程中即使焦距轻微漂移F数也会跟着变反过来用F数固定时入瞳直径会随焦距改变。对初学者我建议固定入瞳直径12.5mm再用评价函数把焦距控制在50mm这样物理意义更直观也少一层抽象。3.2 初始结构搭建用薄透镜公式推半径玻璃材料选BK7折射率nd1.5168阿贝数约64是光学设计里最常见的“万金油”材料。对对称双凸薄透镜用公式1/f(n-1)(1/R1-1/R2)。对称结构下R1 -R2R代入得到R 2(n-1)f 2 × 0.5168 × 50 ≈ 51.68mm所以前表面曲率半径取51.7mm后表面取-51.7mm。中心厚度先给5mm这是一个既能保证加工刚性、又符合薄透镜近似的工作值。打开LDE镜头数据表大概长这样表面曲率半径(mm)厚度(mm)材料备注OBJInfinityInfinity物面无穷远1(STO)Infinity2.0光阑面与透镜间隔2mm251.75.0BK7透镜前表面3-51.746.0透镜后表面IMAInfinity像面厚度分配的逻辑是光阑在前方2mm给点空气间隔避免干涉透镜中心厚5mm后焦距初始取46mm因为薄透镜的焦距是从主面算的对称双凸厚透镜的主面大约往里偏1mm左右后焦略小于焦距是合理的具体交给优化器去修正。3.3 评价函数设置让软件知道什么是“好”如果现在直接追迹光线你会发现像质惨不忍睹。但别急着优化先把“设计目标”写清楚。打开评价函数编辑器MFE用优化向导生成基础评价函数评价函数类型选RMS优化参考选“主光线”。这里有个知识点如果选“质心”参考优化会尽量让光线集中到一个点但这个点可能偏离主光线导致畸变失控选“主光线”参考则迫使所有光线向主光线收敛对控制畸变更友好。光瞳采样用默认的“高斯求积”即可视场采样覆盖0度、2.5度、5度三个半视场。设置玻璃最小中心厚度0.5mm、最大中心厚度10mm空气最小厚度0.5mm。这些边界条件可以避免优化出交叉镜片、负厚度这种没法加工的怪结构。然后在MFE里手动追加几个关键操作数EFFL50控制系统有效焦距为50mm权重设为1。MNCT/MXCT控制中心厚度边界系统向导已经加了但自己检查一遍更稳妥。MNEG/MXEG控制边缘厚度边界防止镜片边缘太薄或过厚。最后把变量设置好面2曲率半径、面3曲率半径、面2厚度透镜中心厚、面3厚度后焦距全部设为变量点优化按钮。这里强调一下别把光阑间隔表面1厚度设为变量入门阶段保持结构简单减少变量个数能让优化器更容易收敛。3.4 结果怎么看下一步往哪走优化跑完后看点列图RMS半径大概率在20到40微米之间GEO半径更大一些而且三种波长的焦点明显不重合——这就是色差。单透镜消不了色差这是物理规律决定的因为一片透镜只有一个折射面形状不可能同时满足所有波长的汇聚条件。优化的作用只是让各波长“折中”把综合弥散斑压到最小。到了这一步自然的改进方向有两个换双胶合消色差透镜用一片正透镜低色散加一片负透镜高色散胶合可以用Zemax自带的双胶合例子改参数色差能压到单透镜的十分之一以内。引入非球面在透镜表面加非球面系数在LDE里把表面类型改成Even Asphere在圆锥系数上做文章单透镜像质会大幅提升代价是加工成本更高。单透镜优化到二三十微米RMS对入门练习来说已经算“达标了”因为这个过程让你完整走通了系统设置、初始结构、评价函数、优化、像质评价这条主链路。4. 像质评价深度拆解看懂三张图才算真会4.1 点列图最常见也最直观的像质判据点列图是把从物方一点发出的所有光线在像面上落点位置画出来RMS半径越小说明弥散斑越集中。判断标准不是“半径越小越好”而是要和艾里斑作比较。艾里斑第一暗环半径约等于1.22λF#对F/4系统、λ0.55μm来说约2.7μm。当点列图RMS半径接近甚至小于艾里斑半径时系统接近衍射极限再优化意义也不大当RMS远大于艾里斑那优化空间还很大。入门阶段最容易忽略的是看点列图时把三个波长叠加在一起看。如果红绿蓝三色分离很远说明色差主导如果每个波长各自都很散乱则是单色像差主导。这两个诊断方向完全不同色差要靠材料组合解决单色像差要靠面型优化解决。不加分辨直接调半径往往越调越乱。4.2 MTF和客户打交道时的通用语言MTF曲线表达的是“不同空间频率下的对比度传递能力”比点列图更接近实际成像效果。对衍射受限系统有一个理论截止频率ft 1/(λF#)对F/4、0.587μm波长约425 lp/mm。这个值意味着系统的“分辨率天花板”实际镜头只能在这条曲线下面。设计师常用“30线对/mm处的MTF值”来对标探测器性能比如要求30lp/mm处MTF0.3。单透镜在这个指标下很难看通常优化完也只能到0.1左右原因还是色差。经验上当你看到MTF曲线的所有频率段都明显低于衍射极限而且三条波长曲线彼此分离较大时第一反应应该是“材料组合有问题”而不是盲目加镜片。4.3 波前图和赛德尔系数从“知道差”到“知道差在哪”点列图和MTF告诉你“像质差”但没告诉你“差在哪”。这两个图背后的“诊断工具”是赛德尔系数表Seidel Diagram和波前图。赛德尔系数把像差分解成球差、彗差、像散、场曲、畸变五类。打开赛德尔图如果球差系数最大说明中心视场的光线在光轴方向聚焦不一致如果彗差大说明离轴视场的能量呈彗星状拖尾如果场曲大则像面不是一个平面中心和边缘不能同时清晰。这些信息直接决定了你后续改结构的策略球差大就换曲率分配彗差大就考虑光阑位置场曲大就得控制镜组的光焦度分布。波前图则是用OPD光程差表示波前变形波前RMS达到1/4波长时系统接近衍射极限。光学设计后期很多指标都以波前误差为度量尤其是激光系统、干涉系统点列图反而不是最关键的。5. 多重结构编辑器一个系统应对多种工况5.1 为什么需要多重结构很多初学者设计完一个镜头就万事大吉结果一到实际应用就傻眼同一个镜头既要拍无穷远的风景又要拍一米远的物体焦点怎么保证变焦镜头在不同焦段下镜组位置怎么能不一样双波段系统怎么在可见光和近红外下同时校正像差这些问题在Zemax里统一用**多重结构编辑器Multi-Configuration EditorMCE**解决。它的核心思想是同一个镜头数据编辑器里的光路定义若干“组态Configuration”每个组态可以拥有不同的厚度、曲率、材料甚至非球面系数。你优化的时候Zemax会同时把所有组态的像质综合起来考虑找到一组“折中最优”的解。举个最朴素的生活化类比一套房子客厅白天是活动区需要明亮通透晚上是影音区需要暗光氛围两种状态对窗帘、灯光的参数要求不同但房间结构是同一套。多重结构就是让Zemax在同一套“房型”里同时优化“白天模式”和“夜间模式”的参数。5.2 多重结构编辑器的操作逻辑行是参数列是状态打开MCE界面是一张二维表。每一行是一个“会随组态变化的参数”比如第3面的厚度THIC 3、第2面曲率CURV 2、第4面的玻璃材料GLAS 4、非球面第12项系数PRAM 12等。每一列是“第几个组态”在单元格里填这个组态下该参数的具体数值。新建组态的方式很简单在MCE中点击“Insert Configuration”按钮或者右键菜单里添加。添加后相当于复制了一份光路状态你可以在新列里改任何参数。具体操作时有一个关键细节**在MCE里填的是参数值但“是否参与优化”的变量勾选仍然在LDE里完成。**比如你把第3面厚度设成变量那么它在组态1和组态2里会各自独立变化优化器会同时调整这两个值来让两个组态的像质都变好。这一点特别容易搞混很多人以为在MCE里填个数值就是变量了结果优化时岿然不动。5.3 一个实际例子单透镜的远近调焦用我们前面做的单透镜来演示一个最简单的双组态系统组态1物距无穷远组态2物距1米。操作步骤如下在LDE中确保表面0物面的厚度是Infinity。打开MCE添加一个组态现在是两组态并列。在MCE中插入一行操作数类型选“THIC”面号填0物面然后给组态1填INF组态2填1000。把LDE中面3的厚度后焦距设为变量。在评价函数中默认优化向导已覆盖所有组态直接点优化。优化完成后你会发现组态1和组态2的面3厚度值不一样这就是“对焦”的数值体现物距近了像距变远后组稍微往后换来清晰成像。如果你希望总后焦不变比如因为机械结构固定可以把像面厚度固定为某个值然后在两个组态里分别优化“移动透镜组的位置”这其实就是缩小版的机械补偿变焦。这个例子的价值在于它让你一下想通变焦镜头的本质变焦系统就是多个组态共享同一套光路通过改变某些空气间隔使系统焦距大幅改变而像面位置基本稳定。MCE里的每一列对应变焦环的一个焦段位置优化过程就是让所有焦段成像质量都达标。5.4 多重结构的进阶玩法材料切换与参数化设计MCE的操作数类型不止THIC和CURV。如果要模拟同轴光学系统在不同温度下的热离焦可以把空气间隔和材料的折射率温度系数都参数化如果要做双波段共焦系统可以给不同组态指定不同GLAS材料如果涉及液体透镜或变形镜可以用PRAM控制非球面高阶系数的切换。我见过不少做光学仿真的人用MCE把多个工况一次性优化到位这比“每个工况单独设计一个文件”效率高太多了而且在公差分析里还能统一处理。顺便提一个和MCE有关的进阶场景有些晶体元器件仿真比如钒酸钇YVO4这类双折射晶体的偏振分光设计往往要在序列模式里配合坐标断点与晶轴方向定义来完成而不同设计波段、不同入射角下的状态切换恰好可以借助多重结构的思路来组织模型。初学者先别急着碰晶体建模把MCE的“行参数、列组态”逻辑练熟再回头学晶轴坐标转换会容易得多。6. 新手踩坑实录与排查技巧6.1 常见问题速查表现象、原因、解法我在带新人的过程中收集了一堆高频问题列个表给大家直接查现象可能原因排查与解决追迹时报TIR、光线中断某个面的入射角超过全反射临界角通常是初始曲率半径给得太小把该面曲率半径绝对值调大或给大曲率面加“边缘光线角求解”检查哪条光线在哪个面出问题优化半天RMS纹丝不动变量没勾上、评价函数权重不对、初始结构离目标太远先确认LDE里所有需要优化的面都有变量符号再在MFE里看哪个操作数数值最大针对性调整优化后出现负厚度或镜片交叉缺少边界约束给所有厚度设置MNCT/MXCT、MNEG/MXEG把最小空气厚度设为0.2mm以上曲线显示“玻璃库中没有该材料”材料名打错或玻璃库没加载检查拼写在Glass Catalog里选择带该材料的库文件不确定材料牌号时可先用“Model Glass”代替多重结构里改了数值但优化没反应该参数在LDE里没勾选变量记住变量开关在LDE组态值在MCE二者缺一不可同一个系统MTF突然掉得很厉害视场或孔径设置被误改或者把F#、入瞳直径概念搞混回System Explorer检查孔径类型和数值确认主波长是否被改成边缘波长6.2 几个影响深远的细节习惯第一命名组态时别偷懒。MCE里默认组态叫Configuration 1、Configuration 2等你两周后打开文件根本想不起来哪个是无限远哪个是500毫米。在MCE的组态名称栏改成“INF”“500mm”看起来像小事实际能省大量脑力。第二优化前先存一个初始结构的副本。Zemax的优化器偶尔会把人带到沟里存一份“Initial.ZMX”失败了大不了回到初始结构换思路这个习惯能避免反复修改却回不了头的尴尬。第三首次优化先别加太多约束。很多新手一开始就把一堆操作数塞进MFE结果优化器被互相冲突的目标拽住动弹不得。正确姿势是先只控制焦距和基本厚度边界优化到RMS降下来之后再逐步收紧像差要求让优化器一点一点“加压力”。第四分析窗口别只看一个图。我见过有人盯着点列图调了一下午结果MTF完全不行。光学系统的评价维度是多元的点列图、MTF、赛德尔图、畸变网格要交叉着看。哪一类像差主导就优先处理哪一类顺序不能乱。第五优化结果受局部极小值限制时试试“锤形优化”。如果你用的是旗舰版或者专业版带锤形优化Hammer Optimization功能在DLS优化收敛后再跑一轮锤形优化它能跳出局部极小值找更好解。没有这个功能的话就手动微调几个关键变量再重新优化。我自己这几年用Zemax下来最大的体会倒不在某个按钮上而是“问题定义清楚设计就完成了一半”。每次新建文件我习惯先花五分钟把孔径、视场、波长、材料边界全部定死——这些东西定得越清楚后面的优化越是顺水推舟反之数据表里参数随意填优化器就会用各种意想不到的方式教你做人。最后再分享一个偷懒小技巧镜片中心厚度不要给得太满加工性和温度稳定性会变差最稳妥的做法是参考同类成熟镜头的厚度分配而不是每次都从零摸索。光学设计是一场“约束下的艺术”多留一分余地后面就少一分返工。
返回列表