简介:这份文档面向光学设计初学者与工程技术人员,围绕Zemax软件讲解反射式光学系统的结构设计方法,帮助读者理解如何用反射镜替代透镜完成光线聚焦与像差校正。资源为单个docx文件,压缩包约531KB,内容以图文与公式推导为主,便于在电脑端阅读和整理笔记。文档从球面与非球面反射镜的定义入手,说明圆锥曲线常数k与表面类型的关系,再逐一梳理牛顿望远镜、经典卡塞格林、里奇-克列基昂、格里高里、马克苏托夫-卡塞格林、施密特-卡塞格林及三反-卡塞格林等典型结构,并延伸至离轴斜反射等紧凑布局方案。读者可借此掌握各类反射系统的组成、像差特性与适用场景,为在Zemax中调整镜面形状、位置和曲率,开展多波段光谱分析与优化设计提供参考。目前已有863人学习下载,适合需要系统了解反射式系统结构选型与设计思路的读者。
1. 反射式系统的结构设计:从 Zemax 建模到可加工图纸的完整链路
反射式光学系统在红外成像、空间遥感、高功率激光聚焦等场景里几乎是默认选项,原因很直接:没有色差、口径可以做得很大、镜面材料选择面宽。但很多人第一次用 Zemax 做反射式系统时会卡在一个尴尬的位置——MTF 曲线看着还行,可一旦要出结构图、给加工方报价,就发现镜筒壁厚、镜片支撑、装调余量全都没数。这个标题讲的不是单纯“跑一个 Zemax 案例”,而是把光学设计结果翻译成一套能加工、能装调、能复现的结构方案。适合已经会基本 Zemax 操作、但没独立走过“光学→结构”完整链路的光学工程师和做光电产品的结构工程师。下面按我实际做项目的顺序拆开讲,从指标定义、初始结构、优化、公差到出图,每一步都给出可抄的参数和命令。
2. 反射式系统的选型与 Zemax 初始结构搭建
2.1 两反、三反还是离轴:先定构型再开软件
反射式系统最常见的构型有几种:牛顿式(单凹面镜加折转)、卡塞格林(抛物面主镜加双曲面次镜)、格里高利(抛物面主镜加椭球面次镜)、以及离轴三反(TMA)。选型不是拍脑袋,先看三个硬指标:视场角、遮拦比、包络尺寸。
如果视场小于 0.5°、口径在 200mm 以内,卡塞格林是性价比最高的选择,主镜抛物面、次镜双曲面,两个面就能消球差和彗差。视场到 1°~2° 时,经典卡塞格林边缘像质会明显掉,这时候要么加校正镜组,要么直接上三反。离轴三反能同时做到大视场、无遮拦、平场,但装调自由度从 2 个变成 6 个以上,没有干涉仪基本调不出来。
我一般会先在 Zemax 里用 Sequential 模式搭同轴初始结构,把遮拦比和总长定下来,再决定是否转离轴。同轴阶段的关键参数就四个:主镜焦距 f1、次镜焦距 f2、两镜间距 d、主镜口径 D。卡塞格林的基础关系是系统焦距 F = f1·f2/(f1 - f2 - d),遮拦比 α = 次镜口径/主镜口径。先按 F 和 D 反推 f1、f2,再留 10%~15% 的间距余量给结构件。
2.2 在 Zemax 里跑通同轴两反的最小命令集
Zemax 没有“一键生成卡塞格林”的功能,但用 ZPL 宏或者直接编辑 LDE 都能快速搭出来。下面这段 ZPL 宏是我常用的初始结构生成脚本,输入主镜焦距、次镜焦距、间距和口径,自动写入镜头数据编辑器。
! 卡塞格林初始结构生成宏 ! 输入:主镜焦距 f1,次镜焦距 f2,间距 d,主镜口径 D f1 = 800 f2 = -200 d = 600 D = 200 ! 计算系统焦距 F = (f1 * f2) / (f1 - f2 - d) ! 清空当前镜头 NEW ! 设置孔径类型为入瞳直径 SETSYSTEMPROPERTY 1, D ! 设置波长(默认 0.587um 可见光,红外项目改这里) WAVELENGTH 1, 0.587 ! 面1:主镜,抛物面,曲率半径 = 2*f1 SURFACE 1 SETSURFACEPROPERTY 1, 2, 2*f1 ! 曲率半径 SETSURFACEPROPERTY 1, 4, 0 ! 圆锥系数 0 = 抛物面 SETSURFACEPROPERTY 1, 3, 0 ! 厚度暂设 0,下一步改 ! 面2:次镜,双曲面,曲率半径 = 2*f2 SURFACE 2 SETSURFACEPROPERTY 2, 2, 2*f2 SETSURFACEPROPERTY 2, 4, -2.5 ! 双曲面圆锥系数初值 SETSURFACEPROPERTY 2, 3, d ! 主次镜间距 ! 面3:像面 SURFACE 3 SETSURFACEPROPERTY 3, 3, 50 ! 后截距初值 ! 输出系统焦距供核对 PRINT "System EFL = ", F这段宏的逻辑是:抛物面主镜的曲率半径等于两倍焦距,圆锥系数为 0;双曲面次镜的曲率半径同样取两倍焦距,圆锥系数先给一个负值初值,后续用优化变量放开。SETSURFACEPROPERTY的第二个参数是属性编号,2 代表曲率半径,3 代表厚度,4 代表圆锥系数,这是 Zemax ZPL 的固定映射,记不住就查手册。跑完宏之后不要急着优化,先在 Layout 图里看光路是否交叉、次镜是否挡住主镜中心,遮拦比超过 0.35 的系统在红外场景里冷反射会很难压。
2.3 优化变量的设置与评价函数写法
初始结构出来之后,优化才是真正花时间的地方。反射式系统的优化变量比折射式少,但每个变量的敏感度极高。卡塞格林系统里我一般只放四个变量:主镜圆锥系数、次镜圆锥系数、次镜曲率半径、主次镜间距。主镜曲率半径通常锁死,因为加工方磨一个抛物面要按曲率半径配刀具,改来改去成本翻倍。
评价函数用默认的 RMS + 波前 + 质心,权重按视场分配。轴上视场权重给 1,边缘视场给 2~3,因为反射系统边缘像质掉得快。如果项目要求 MTF 在 50lp/mm 处大于 0.3,就在评价函数里加 MTFT 和 MTFS 操作数,目标值设 0.35 留余量。优化过程中如果发现次镜圆锥系数跑到 -10 以下,说明初始间距或曲率半径给得不合理,硬优化会得到一个加工不出来的极端非球面,这时候要退回去调 d 和 f2。
一个常见的翻车点是:优化完 MTF 很好,但点列图里弥散斑是椭圆形。这通常是次镜装调偏心导致的像散,在 Zemax 里可以用偏心(Decenter)和倾斜(Tilt)操作数模拟,但更实际的做法是在结构设计阶段给次镜座留两个正交方向的微调螺钉,装调时用星点法校正。
3. 从光学结果到镜筒结构:材料、支撑与热匹配
3.1 镜筒材料怎么选:因瓦、铝还是碳纤维
光学设计给的是理想面型和间距,结构设计的任务是在温度变化、重力变形、装配应力下保住这些间距。镜筒材料的热膨胀系数(CTE)直接决定无热化设计难度。常见选项的对比:
| 材料 | CTE (10⁻⁶/K) | 密度 (g/cm³) | 适用场景 | 加工难度 |
|---|---|---|---|---|
| 因瓦合金 | 1.2 | 8.1 | 高精度、小温差 | 难,焊接易变形 |
| 铝合金 6061 | 23.6 | 2.7 | 常温、短周期 | 易,成本低 |
| 碳纤维复合材料 | 2~4(可设计) | 1.6 | 大口径、轻量化 | 中,需铺层设计 |
| 钛合金 TC4 | 8.9 | 4.5 | 中高精度、宽温域 | 中,切削粘刀 |
如果主镜和次镜都是微晶玻璃或熔石英,镜筒用因瓦最省心,CTE 接近,温度变化 20℃ 时间距变化在微米级。但因瓦加工贵、周期长,小批量项目我一般用铝合金镜筒加因瓦补偿环,把热变形集中在补偿环上。碳纤维适合口径 300mm 以上的系统,但铺层方向要跟光学设计方确认,因为碳纤维纵向和横向 CTE 差一个量级,搞反了热变形比铝还大。
3.2 主镜支撑:三点、六点还是柔性环
主镜支撑方式取决于口径和面型精度要求。口径小于 100mm 时,镜座直接胶粘或者压圈固定就行,但压圈不能压死,要留 0.05~0.1mm 的轴向间隙,否则温度升高时镜片被挤裂。口径 100~300mm 用三点支撑,支撑点位于镜背 0.7 倍半径的圆周上,三点均布。口径超过 300mm 要考虑六点或九点浮动支撑,每个支撑点用球头螺钉加弹簧预紧,保证面型 PV 值不恶化超过 λ/4。
这里有个血泪经验:三点支撑的支撑点位置不是随便放的。对于圆形镜片,最佳支撑半径是镜片半径的 0.68 倍,这个位置能让重力变形引起的面型误差最小。我见过有人把支撑点放在边缘,结果镜片中心下垂了 0.3μm,红外系统直接没法成像。在 SolidWorks 里做静力分析可以验证,但更快的办法是用 Zemax 的 Rigid Body 分析功能,把支撑点坐标导入,直接看面型变化。
3.3 次镜座的装调自由度设计
次镜是反射式系统里最难装的部分,因为它同时影响焦距、像面位置和轴外像质。次镜座至少要给三个自由度:轴向平移(调焦距)、两个正交方向的偏心(调像散和彗差)、以及两个方向的倾斜(调轴外视场)。实际结构里我一般用四颗顶丝加一颗弹簧的方案:弹簧提供恒定预紧力,四颗顶丝两两正交布置,拧顶丝时次镜座产生微小位移,分辨率能到 2~5μm。
如果项目预算允许,次镜座直接上压电陶瓷驱动器,分辨率到纳米级,但成本翻十倍。对于大多数工业红外镜头,手动顶丝加锁紧螺母就够了。装调顺序是先调轴向让焦距对,再调偏心让轴上星点圆,最后调倾斜让边缘视场对称。每一步都要用干涉仪或者星点板确认,不能凭感觉拧。
4. 公差分析与结构公差分配:别让加工方背锅
4.1 Zemax 公差分析的正确打开方式
光学设计跑完之后,必须做公差分析,否则加工方按图做出来装不上或者像质不达标,责任说不清。Zemax 的公差分析在 Tolerance 模块里,我一般用 Inverse Sensitivity 模式,先给一个初始公差预算,让软件反算每个公差项的敏感度。
初始公差预算按加工能力给:曲率半径公差 ±0.1%,圆锥系数公差 ±0.001,厚度公差 ±0.05mm,偏心 ±0.02mm,倾斜 ±0.01°。这些数值不是拍脑袋,是常规光学加工车间的能力上限。跑完 Inverse Sensitivity 之后,看哪个公差项对 MTF 影响最大,把它收紧,不敏感的项放宽,这样加工成本最低。
一个容易忽略的点是:Zemax 公差分析默认假设所有公差项独立随机分布,但实际装调时偏心是相关的。比如次镜座加工偏心 0.02mm,装调时又偏了 0.01mm,总偏心是叠加的。所以我在公差分析之后会额外留 30% 的余量给装调,结构设计时把调整范围做到 ±0.1mm,而不是刚好卡在公差上限。
4.2 结构公差怎么分配到零件图
光学公差要翻译成结构公差,才能标在零件图上。翻译规则是:曲率半径公差对应镜片加工图上的光圈数,厚度公差对应镜座台阶的深度公差,偏心公差对应镜座内孔与光轴的同心度,倾斜公差对应镜座端面与光轴的垂直度。
举个例子:次镜偏心公差 ±0.02mm,镜座内孔直径 50mm,那么同心度公差就是 0.02/50 = 0.0004,换算成形位公差标注是 0.02mm 的圆跳动。倾斜公差 ±0.01°,对应端面垂直度 0.01° × 50mm × π/180 ≈ 0.0087mm,标 0.01mm 的垂直度。这些换算在《光学仪器设计手册》里有表,但实际做两个项目就记住了。
注意:结构公差不能比光学公差还松,否则装调时怎么拧都补不回来。我一般把结构公差做到光学公差的 1/2~1/3,给装调留空间。
4.3 公差分析结果不达标时的三个补救方向
如果公差分析显示 MTF 在 50lp/mm 处从 0.4 掉到 0.15,说明系统太敏感,直接加工风险很大。补救方向有三个:一是放宽光学设计,增加校正镜组或者改用三反构型,把敏感度降下来;二是收紧关键公差,比如把次镜偏心从 ±0.02mm 收到 ±0.01mm,但加工成本可能翻倍;三是改结构方案,比如把次镜座改成一体化加工,减少装配环节。
我一般优先选第三个方向,因为一体化加工虽然单件贵,但省掉了装调工时和返工风险。曾经做过一个红外镜头,次镜座原本是分体式,装调时怎么都调不到衍射极限,后来改成整体线切割,一次装配合格。这个教训是:反射式系统的结构设计,能一体化的绝不分体。
5. 避坑与排查:反射式系统结构设计里最容易翻车的五件事
5.1 遮拦比算错导致冷反射
现象:红外系统成像时画面中心有一个暗斑,或者出现鬼像。 原因:次镜遮拦比在 Zemax 里看是 0.3,但结构设计时次镜座外径比次镜口径大了 5mm,实际遮拦比变成 0.35,冷反射光线打到次镜座内壁又反射回探测器。 解决:在 Zemax 里用 Non-Sequential 模式建次镜座的三维模型,跑杂散光分析。结构设计时次镜座外径尽量贴近次镜口径,内壁做消光螺纹或者发黑处理。
5.2 镜筒壁厚不够导致重力变形
现象:系统水平放置时像质正常,竖直放置时 MTF 掉一半。 原因:镜筒壁厚只有 3mm,主镜和次镜的重量让镜筒产生弯曲,光轴偏移超过 10μm。 解决:镜筒壁厚按跨度计算,跨度 500mm 时壁厚至少 8mm,或者加加强筋。用 SolidWorks Simulation 做静力分析,看光轴偏移量,控制在 5μm 以内。
5.3 压圈压死镜片
现象:装配完镜片表面出现裂纹,或者面型 PV 值从 λ/10 恶化到 λ/2。 原因:压圈直接压在镜片边缘,没有弹性垫圈,温度升高时镜片膨胀被压圈限制,产生应力。 解决:压圈和镜片之间加聚四氟乙烯垫圈或者硅橡胶垫,压圈拧紧力矩控制在 0.2N·m 以内,拧到镜片不晃动即可。
5.4 次镜座顶丝没有锁紧
现象:系统装调完像质很好,运输到现场后像质变差。 原因:次镜座顶丝没有锁紧螺母,振动后顶丝松动,次镜位置偏移。 解决:顶丝用细牙螺纹,拧紧后加厌氧胶或者锁紧螺母。如果项目有振动要求,次镜座直接上弹性铰链结构,不用顶丝。
5.5 材料 CTE 不匹配导致低温离焦
现象:常温装调合格,低温 -20℃ 时像面偏移 0.5mm,无法成像。 原因:镜筒用铝,镜片用熔石英,CTE 差 20 倍,温度变化 40℃ 时间距变化 0.5mm。 解决:要么镜筒改用因瓦,要么在镜筒里加因瓦补偿环,补偿环长度按 CTE 差值计算。补偿环长度 L = Δd / (CTE_al - CTE_fused_silica) / ΔT,其中 Δd 是允许的离焦量。
6. 用 SolidWorks 联动 Zemax 做光机热集成验证
6.1 把 Zemax 面型导入 SolidWorks 的两种方式
反射式系统的结构设计最终要出加工图,Zemax 的面型数据必须导入 CAD。两种方式:一是用 Zemax 的 Export IGES 功能,把非球面面型导出成 IGES 曲面,再在 SolidWorks 里缝合;二是用 Zemax 的 Grid Sag 面型,导出网格数据,在 SolidWorks 里用“曲线通过 XYZ 点”生成曲面。
IGES 方式适合旋转对称非球面,导出后在 SolidWorks 里检查曲面连续性,如果有破面就调导出精度。Grid Sag 方式适合离轴非球面,但网格密度要够,一般 50×50 起步,否则曲面有棱角。导入之后不要直接用来做结构,先用“检查”工具看曲面最小曲率半径,如果小于刀具半径,加工方会直接拒单。
6.2 光机热集成分析的简化流程
完整的光机热集成分析要跑有限元热分析、结构分析、再把面型变化导入 Zemax 看 MTF。实际项目里我一般做简化版:用 SolidWorks Simulation 跑稳态热分析,得到镜片和镜筒的温度分布,再手动算几个关键点的位移,代入 Zemax 的坐标断点看像质变化。
简化流程的精度够用,因为反射式系统的热变形主要是轴向间距变化和镜面曲率半径变化,这两个量用解析公式就能估。比如铝镜筒温度升高 20℃,长度 500mm,伸长量 = 500 × 23.6e-6 × 20 = 0.236mm,代入 Zemax 看离焦量,如果超过焦深就要加补偿。
6.3 一个具体技巧:用 Zemax 的 Thermal Pickup 自动补偿
Zemax 里有个 Thermal Pickup 功能,可以自动把温度变化引起的厚度变化补偿掉。设置方法是在 LDE 里选中要补偿的厚度面,右键选 Thermal Pickup,指定补偿面和缩放系数。缩放系数 = 镜筒材料 CTE / 空气间隔热膨胀系数,铝镜筒取 23.6e-6,因瓦取 1.2e-6。
这个功能的好处是不用改结构就能看无热化效果,坏处是它假设镜筒均匀膨胀,实际结构有螺钉、胶层、垫片,膨胀不均匀。所以我一般用 Thermal Pickup 做初步验证,最终还是要靠结构补偿环。做了这么多年反射式系统,我的习惯是:光学设计阶段就把结构公差和热补偿算进去,不要等结构设计完了再回头改光学,那时候改一个面型,整个镜筒都要重做。希望帮到你。
本文还有配套的精品资源,点击获取