首页 / 资讯中心 / 文章详情

光学设计仿真实战攻略:从需求拆解到公差分析全流程

光学设计仿真实战攻略:从需求拆解到公差分析全流程 ★ FEATURED ARTICLE
光学设计、仿真这几个词放在十年前还是一个小众赛道读光学工程的博士挤破头去镀膜厂、镜头厂做工艺。但这两年风向确实变了——从AR/VR眼镜的衍射光波导到车载激光雷达的发射与接收光学再到半导体检测设备的照明与成像系统几乎所有硬科技赛道都在疯狂挖懂光学设计和仿真的人。我自己带过的团队里能把Zemax玩明白、能把公差分析做扎实的学生基本毕业前就被企业预订了。这篇文章我就以光学设计仿真为主线把从需求拆解、软件操作到问题排查的完整链路掰开揉碎讲一遍给正在读硕博、想入坑光学设计的你一个可以直接抄作业的参考。先说清楚这篇文章能帮你解决什么问题如果你刚接触Zemax OpticStudio不知道怎么从零搭建一个镜头系统如果你已经能设计简单镜头但优化老是陷入局部极小值、公差分析一过就崩如果你想搞离轴系统、自由曲面却不知道从哪里下手——这篇文章就是为你准备的。我会用自己做过的双胶合消色差透镜和离轴反射系统的真实案例来讲而不是复读软件手册。1. 光学设计仿真为什么成了硕博士的必修课这个话题得从供需两端一起看单讲技术没有说服力。需求端的变化非常明显。以前光学设计主要集中在大规模量产的相机镜头、显微镜物镜、投影镜头市场相对稳定一个院所有两三个资深工程师就能撑起全部设计任务。但现在消费电子进入光学创新的爆发期手机多摄、潜望式长焦、屏下摄像头的复杂光学系统迭代周期越来越短车载领域前装HUD抬头显示、激光雷达、智能车灯都需要定制化的光学方案光通信里的硅光耦合、beam shaping也在大量起用新的仿真手段。再加上生物医疗里内窥镜、流式细胞仪的光路半导体制造里的光刻照明与缺陷检测光学每个细分方向都缺人。我们组去年同时接了四个项目我自己的感受是能用光学仿真软件把方案从概念推到可加工状态的工程师薪酬水平和话语权都在明显上探。供给端同样在变化。以前学光学设计基本靠师父带徒弟经验即壁垒。一个初学者坐在老工程师旁边看他调两天评价函数不如自己踩一年坑来得快。但现在的软件工具和算力已经大幅降低了入门门槛Zemax这类商业软件把大部分数学细节封装好了辅助设计的AI工具也能帮你快速找初始结构。门槛下降意味着参与的人变多参与的人多了整个行业对“会用软件但不懂底层逻辑”的从业者反而不满足——企业要的是既能跑仿真又能判断仿真结果是否可信的人。这正好解释了为什么现在的招聘JD里“精通Zemax或CODE V”“熟悉光学设计与仿真验证全流程”几乎成了光学岗标配。学历门槛只是一张入场券真正的筛选就发生在你能不能把需求翻译成参数、把参数变成可加工的设计、把设计在仿真里验证到量产级别。2. 整体设计思路与方案选型先把流程想清楚再碰软件光学设计仿真这件事最大的误区就是拿到需求直接开Zemax一边画镜头一边试。我见过太多学生把系统波长、孔径、视场这些基本量先乱设一通最后优化一个晚上得到一个看着很漂亮、实际上完全没法加工的镜片。所以在打开软件前先把这个逻辑链理顺。一套完整的仿真驱动设计流程大概是这样的需求拆解 - 技术指标量化 - 初始结构选型 - 像质仿真与优化 - 公差与稳健性分析 - 出图与复核。每一步里面都有大量取舍我这里挑几个关键决策讲。2.1 需求拆解把“看得清”翻译成可量化的指标任何光学设计都是从一句模糊的用户需求开始的比如“我要一个长焦镜头”“我要激光扩束器”。你需要把它拆成下面这张表里的硬指标越具体越好指标项典型值举例备注有效焦距EFL100mm决定系统放大率或视场角F数光圈2.8影响通光量与衍射极限视场角/像高±10°或像高5.6mm与传感器匹配工作波段486nm~656nm可见光或1550nm直接决定玻璃选择最大畸变1%测量类系统常要求后工作距离不小于15mm给镜筒和调焦留空间环境温度范围-20℃~60℃决定是否需要无热化设计这里有一个我特别想让新手记住的点所有指标之间会互相打架。比如你要大口径小F数、大视场同时又要求镜片尽量少、总长尽量短这就非常考验全局优化的能力和对像差理论的掌握。如果需求方给出的指标相互矛盾你应该在仿真之前就提出来而不是硬着头皮去优化。2.2 初始结构选型善用现有镜头库而不是从平行平板开始确定指标之后第一件事不是用什么高深的算法去“无中生有”而是先找合适的初始结构。就像写论文先做文献综述做镜头设计先翻专利库和镜头库是完全合理的。我自己常用几种找初始结构的路径按优先级排内部积累——公司或导师项目里做过的类似系统改参数最快。Zemax自带的镜头示例库Samples文件夹里就有不少经典结构直接展开改参数。专利检索——Google Patents和各国专利局搜“lens system 焦距 F数”很多经典专利里会给完整的结构参数。公开资源——Edmund、Thorlabs等公司的产品页面会放一些镜头的设计参数可以作为出发点。有一个新手容易犯的错误把初始结构的波长和像面尺寸直接改成自己的目标却忘了相机系统的像方数值孔径、光阑位置等都是耦合的。如果初始结构选得不合适后边优化跑断腿也救不回来。我的习惯是先用近轴光学公式手算一遍系统的关键参数——大致光焦度分配、光阑位置对应的入瞳大小——确认初始结构的大方向是对的再进软件做局部优化。手算这一步看起来土其实能帮你过滤掉一半以上明显不合理的结构。3. Zemax核心操作细节与实操要点从建模到优化进入软件实操环节我会用一套实际跑通的双胶合消色差物镜设计过程作为线索把建模、优化、像质检查的要点讲透。这套流程不仅适用于常规折射系统你学会之后可以直接往非球面、离轴系统上迁移。3.1 系统参数的设置顺序为什么重要打开Zemax OpticStudio之后界面上“System Explorer”里那一堆参数设置顺序其实是有讲究的。如果没有特殊原因我建议按这个顺序来先设波长和权重。可见光系统就选F、d、C三色光权重按应用场景定。激光系统直接设单一波长省得后面优化时色差操作数干扰。值得一提的是对于多模激光或在荧光显微镜这种宽谱系统里波长权重的给定要和实际光源光谱匹配否则优化结果会偏向权重最大的波长。再设入瞳直径或F数。二者选其一Zemax会自动联动另一个。记住如果你发散光了回来的F数不是自己要的多半是入瞳位置被孔径光阑限制住了而不是F数输入错误。接着设视场。用一个视场点先跑通模型确认没有光线追迹错误之后再把多视场全部打开。这一点特别重要——我见过有人一上来就设5个视场结果边缘视场光线全部掉出镜片50%的光线都失败了他还盯着评价函数看为什么优化不动。先用轴上视场把系统结构理顺再加视场这是减少排查成本的黄金法则。最后设置物方工作距离。如果物在无穷远物方厚度设为Infinity系统自动按平行光处理如果是有限共轭成像比如内窥镜近摄这里一定要填真实物距。要注意设置顺序影响的是排错效率不是数学模型本身。如果你已经熟练了可以不用死记但对新手这四步按顺序来能少很多不明原因的发散。3.2 评价函数设置的两个关键权重很多人问“为什么我的优化老是跑到一个奇怪的结构”大部分问题出在评价函数上。Zemax的默认优化是基于RMS波前差或RMS光斑尺寸的但默认权重并不能适应所有场景需要手动去卡重点。我的经验是在默认评价函数的基础上强制加入以下几个操作数并且给它们一个相对较大的权重SPHA球差系数用于抑制大孔径下的球差残余。COMA彗差系数用于控制轴外视场的彗差。ASTI像散系数APC系统里特别重要控制高像散。TOTR系统总长如果系统长度有硬性要求必须有这个约束否则优化出来的系统总长可能让你怀疑人生。DIST或DIMX畸变投影、测量系统里是关键指标。注意加太多操作数不等于优化效果好。权重比例失衡的典型症状是单个像差被压得非常低但边缘视场MTF上不去。我一般把默认评价函数设为RMS wavefront然后外加2~3个关键约束操作数权重设置在0.1~1之间视情况调整。3.3 优化策略先用局部优化摸底线Zemax里有两类优化器局部优化和全局优化锤形优化。我见过很多学生一上来就点“Global Optimization”跑一晚上没结果第二天回来问是不是软件坏了。其实正确的策略是先用局部优化跑一遍把变量设为核心曲率半径、镜片厚度、空气间隔。看结果停留在什么水平是不是远低于自己的预期。如果低于预期说明初始结构方向有问题应该回去换初始结构而不是加大局部优化的迭代次数。只有当前结构已经“差不多”但陷在局部极小值里才启用锤形优化在周边搜索更好的解。锤形优化的运行原理是“随机扰动现有结构局部搜索”它可以帮你跳出局部极小但不代表全局最优。所以启用它之后我通常顺手把最重要的结构参数做边界限制防止它为了压低一个像差把镜片曲率推到不合理的极值导致加工根本做不出来。3.4 玻璃选择的隐性约束很多教程会强调玻璃库怎么加载却很少提醒你玻璃本身的物理和工艺约束。我看到不少新手用S-BSL7、N-SF6这类普通牌号还好一旦优化出来要用到非常偏门的玻璃加工周期长且贵供应商还不一定愿意做。实践里我的建议是优先用Schott、Hoya、CDGM成都光明的常用目录这些牌号供应链稳定。尽量不要用折射率差极大的一对玻璃做胶合热膨胀失配容易导致胶合面开裂。在权重声明里可以把玻璃模型设为“变量”但其实你真正要优化的是玻璃的替换组合。可以用Zemax的玻璃替换工具去枚举两三种性价比最高的组合然后在设计评审时让工艺端确认。4. 仿真验证的核心环节像质评价与公差分析闭环设计优化的终点不是评价函数收敛而是完成像质验证和公差分析这一步能筛掉至少一半“看起来不错、实际量产报废”的设计。4.1 从MTF到能量分布如何判断一个系统是否合格单一指标容易骗人。我以为评价一套光学系统最核心的三个角度是衍射极限对比下的MTF表现、点列图RMS半径、场曲与畸变曲线。三者结合看才能判断系统到底行不行。MTF是最直观也最容易被误解的指标。很多新手把“MTF接近衍射极限”当作目标但实际上对于摄影类系统MTF在奈奎斯特频率处能够达到30%以上即可接受。对于机器视觉测量类系统要求高一些可能需要50%以上。更重要的观察点是低频段MTF是否平滑下降中高频有没有突然掉坑。突然掉坑往往意味着有某个高级像差没校正干净而不是简单的“分辨率不够”。点列图看的是几何光线追迹的弥散斑。如果RMS半径已经小于一个像素尺寸但仍然觉得成像模糊那问题大概率不在设计而在装配公差或者环境温度。场曲和畸变曲线则用于判断像面是否平坦、有没有桶形/枕形失真。做工业测量和文字识别的系统畸变往往是最先被触碰的指标做目视观察的系统场曲比畸变更影响体验。4.2 公差分析蒙特卡洛跑完才算设计闭环光学设计里有句话叫“设计图上的一切完美都不算数公差分析通过才算能落地”。我在这上面栽过跟头所以重点讲。公差分析的输入项包括曲率半径公差、厚度公差、空气间隔公差、元件偏心公差、元件倾斜公差、表面不规则度、折射率与阿贝数公差。每一项取值都对应着加工和装配水平。比如普通注塑镜片厚度公差可以到±0.02mm精密研磨镜片可以更紧但成本成倍增长。用Zemax跑公差分析时建议这样设置先给默认公差通常按中等加工水平跑一次灵敏度分析找出对像质影响最大的3个参数。对敏感参数单独收紧公差对不敏感参数适当放宽平衡成本最后跑蒙特卡洛模拟至少500个样本。实操心得蒙特卡洛跑出来看90%或95%样本的MTF或者RMS光斑低于设计指标的话即使标称设计再完美也不能放行。我曾经有一个离轴反射系统标称MTF在60lp/mm处有0.65看起来非常好。结果蒙特卡洛分析出来90%的样本只有0.3。后来查原因主要是两块反射镜的间距公差和倾斜公差太敏感。最后方案换了支撑结构在镜筒里加了三个定位槽把倾斜公差从±0.1°收到±0.03°才终于达标。这就是公差分析的真正价值。4.3 软硬件耦合验证仿真到样机的闭环光学仿真做到最后一步不是把Zemax关闭而是把仿真模型和样机测试数据对照验证。我习惯在拿到首轮样机后用干涉仪测波前并拍标准靶图测MTF。如果实测MTF略低于仿真但趋势一致那说明公差分布正常可以接受如果实测和仿真有量级上的差异比如仿真0.6实测0.2那大概率是模型里有些假设错了——比如镜片折射率用了标称值但实际批次偏差很大或者装配应力导致面形发生了变形。这时要回到Zemax重新建模而不是怀疑仪器坏了。5. 常见问题与排查技巧实录把我和学生踩过的坑整理成一份速查表你遇到同样问题时可以直接对号入座。常见问题典型原因排查/解决思路优化发散评价函数不降反升系统里存在不合理的大角度折射光线全反射打开3D图查看光线路径看是否有光线卡在棱镜或弯月透镜里适当限制曲率范围边缘视场MTF崩溃视场权重分配不当或缺少像散约束加ASTI操作数检查渐晕设置是否过早斩掉了边缘光束F数怎么设都对不上孔径光阑放在镜片后面导致入瞳直径被反向约束检查光阑面位置确保光阑面在期望的入瞳附近优化半天感觉变化不大变量设置太少或变量里包含了玻璃、曲率但没有厚度把主要曲率半径和空气间隔都选为变量把玻璃版本替换也打开公差分析90%不过存在敏感元件倾斜或偏心敏感用灵敏度分析排序找到敏感参数修改机械结构去约束它光斑RMS很小但MTF很差可能存在系统波前误差集中在某一视场抽出波前图看是否出现低级像差残余检查光线追迹精度温度变化后性能急剧下降玻璃热膨胀和折射率温度系数导致的焦移要做无热化设计选低热差玻璃组合或加被动补偿结构仿真结果在软件里完美样机一塌糊涂装配误差、镜片面形误差、材料批次偏差复查公差设定是否够紧做一次灵敏度分析并和实测数据对表表格里每一条我都在项目里遇到过。给你一个最典型的例子有个做车载镜头的学生优化出来的设计在仿真里非常好打样出来树脂镜片在-20℃环境下直接失焦。原因很简单——他用了单一温度下的折射率数据完全没做热差分析。后来纳入-20℃、20℃、60℃三个温度场重新优化玻璃选型和镜筒材料才算解决。6. 光学设计仿真的学习路线从入门到能独立做项目如果你是硕博士正在纠结怎么系统学习这套东西我按自己的经验给一个路线仅代表个人判断。第一阶段软件熟练度2~4周。选Zemax OpticStudio作为主线工具理由是市面上教程最多、企业使用率高、和你同学合作时互相调模型最方便。这个阶段只做一件事完整跑通5个经典案例。单透镜成像、双胶合消色差透镜、三片式Petzval镜头、离轴抛物面反射镜、激光扩束器。不用追求指标多高重点是把系统参数、评价函数、优化、公差分析这些完整流程走一遍形成肌肉记忆。第二阶段像差理论补课4~8周。很多人跳过了像差理论直接在软件里乱试。这造成后期遇到复杂系统时完全不知道怎么调结构。我的建议是至少把球差、彗差、像散、场曲、畸变、色差这几类的来源和控制方法搞透。推荐书可以看李林老师的《光学设计手册》和Rudolf Kingslake的《Lens Design Fundamentals》。这个阶段看的时候不用全记遇到一个现象回去翻一个知识印象最深。第三阶段真实项目锻炼长期。光学设计是一个极度依赖项目经验的领域光靠教程是没有用的。找老师或师兄要一个已经结束的项目拿到它的需求文档、设计图纸、Zemax文件、测试报告然后自己从头做一遍再对比原方案看差距在哪里。这个过程你会学到教科书里永远不写的trade-off——比如为什么某些镜片一定要用玻璃模压而非研磨为什么有些系统宁可用三片非球面也不肯用多一片球面。第四阶段横向融通。如果你的方向是仿真交叉型的比如电磁场仿真、结构热仿真和光学仿真联合那么强烈建议学一学Python的接口。用Zemax的API批量改参数、批量跑公差、自动输出分析报告这一套技能在企业里非常值钱。学会之后你可以在全体同学还在手搓镜头数据的时候用脚本把100组镜头设计的MTF曲线全部跑出来谁好谁坏一眼看出来——这种优势在求职和科研里都是硬通货。聊聊我对光学设计仿真趋势的体会文章写到这已经很长了。最后说点我个人实际干活中的感受吧。光学设计仿真这几年最让我兴奋的变化不是某个新版本软件多了什么功能而是“仿真”这件事从辅助工具变成了驱动决策的核心环节。以前设计师在纸面上定方案仿真只是验证一下现在从概念阶段就要用仿真去试错而且要仿真加工、仿真装配、仿真环境适应性整个产品生命周期的表现都在建模阶段被预判过一遍。这也意味着如果你只会拖几个镜片进Zemax跑两个MTF曲线那远远不够。真正值钱的能力是拿到需求能判断方案可不可行、仿真结果敢不敢拍板说能量产、出问题了能在模型里定位到具体元件。所以给读这篇文章的硕博士一个建议不要把光学设计仿真当成一门软件课要把整套流程当作未来做任何光学系统的底层习惯。打开一个软件前想清楚系统指标优化完一定要跑公差仿真通过后主动和加工方对工艺参数——这三件事全是电脑工作之外的功夫却恰恰是决定你从“会操作”到“能负责”的分水岭。最后分享一个小技巧遇到任何光学仿真不收敛的棘手问题先把系统的3D光路图画出来看一眼。多数时候答案一眼就看出来了——不是哪片镜子放反了就是哪条光线跑到系统外头了。光学设计的麻烦大多长得差不多能快速辨别它到底是哪一种已经比多数人强出一截。
阅读完成 · 觉得有帮助?
咨询建站