简介:这份文档面向光学设计初学者与工程技术人员,围绕Zemax软件讲解反射式系统的结构设计方法,帮助读者理解如何用反射镜替代透镜完成光线聚焦与像差校正。内容从球面与非球面反射镜的定义入手,系统梳理牛顿望远镜、经典卡塞格林、里奇-克列基昂、格里高里、马克苏托夫-卡塞格林、施密特-卡塞格林及三反-卡塞格林等十余种典型结构,并说明各方案在像差控制、口径与布局上的取舍。资源包为单一docx文档,约531KB,目录按球面与非球面、典型反射系统、反射式特点、参考鸣谢与附录组织,便于按章节查阅。已有863人学习下载,适合需要快速建立反射系统选型思路、对照Zemax建模与优化流程的读者参考。
1. 反射式系统结构设计:从 Zemax 建模到可加工图纸的完整链路
反射式光学系统在空间遥感、光谱仪、红外成像里出现频率极高,原因很直接:没有色差、口径可以做大、波段覆盖宽。但真正落到结构设计这一步,很多人会卡在同一个地方——Zemax 里跑出来 MTF 接近衍射极限,导到 CAD 里装出来却完全不是那回事。问题往往不在优化算法,而在“光学指标”和“结构自由度”之间的映射没做对。这个标题讲的就是这条链路:用 Zemax 完成反射式系统的光学建模与像质评价,再把光学参数翻译成镜筒、镜座、隔圈、调整垫这些可加工零件的尺寸与公差。适合手里有 Zemax 许可证、需要把设计推到出图阶段的工程师,也适合刚接触反射式系统、想知道“优化完之后该干什么”的在校生。下面按我实际做项目的顺序拆开讲,重点放在参数怎么设、结构怎么对应、哪里最容易翻车。
2. 反射式系统的选型与 Zemax 初始结构搭建
2.1 两反、三反还是离轴:先定构型再开软件
反射式系统最常见的三类构型是牛顿式、卡塞格林式(含经典卡塞格林和 Ritchey-Chrétien)以及离轴三反。选型不是看哪个“高级”,而是看你的视场、口径和遮拦要求。牛顿式结构最简单,主镜抛物面,次镜平面折转,适合小视场、对遮拦不敏感的场景;经典卡塞格林主镜抛物面、次镜双曲面,存在彗差,视场稍大就崩;R-C 系统主次镜都是双曲面,校正了球差和彗差,是中小视场里性价比最高的两反方案;离轴三反没有中心遮拦,视场可以做到几度,但装调自由度多、结构复杂,成本和周期都上一个台阶。
我一般的判断顺序是:口径小于 200 mm、视场小于 0.5°、允许中心遮拦,优先 R-C;视场大于 1° 或者对杂散光有硬要求,才考虑离轴三反。定下构型再打开 Zemax,不要反过来在软件里试构型,那样效率极低。
2.2 在 Zemax 里搭 R-C 初始结构的可复现步骤
以最常见的 R-C 两反系统为例,Zemax 序列模式下搭建初始结构,核心是把主镜和次镜的曲率半径、圆锥系数、间距设对。下面是我常用的初始设置流程,参数以口径 200 mm、焦距 1000 mm、F/5 为例。
# Zemax 序列模式初始面型设置(R-C 两反) Surface 0: STANDARD # 物面,厚度设为 Infinity Surface 1: STANDARD # 主镜,STOP Radius: -400 # 主镜曲率半径,凹面 Thickness: -300 # 主次镜间距,负值表示光线继续传播 Conic: -1 # 抛物面初始值 Surface 2: STANDARD # 次镜 Radius: -150 # 次镜曲率半径,凸面 Thickness: 400 # 次镜到像面距离 Conic: -3 # 双曲面初始值 Surface 3: STANDARD # 像面这段设置里,主镜半径和间距决定了系统焦距,次镜半径和圆锥系数决定了残余像差。初始值不用追求一步到位,先让光线能追迹、点列图不发散,再用优化函数去收。关键参数说明:主镜 Conic 初始给 -1(抛物面),次镜 Conic 给 -3 左右(双曲面),这两个值是 R-C 构型的起点,不是最终值。间距的符号在 Zemax 里容易搞混,记住光线沿 +Z 传播时,反射面后的厚度为负,这是反射系统特有的,折射系统里不常见,很多人第一次做反射系统就在这里翻车。
2.3 优化函数怎么写才不跑偏
优化函数(Merit Function)是 Zemax 里最容易写成“玄学”的部分。我的习惯是分三层写:第一层控制一阶参数,用 EFFL 约束有效焦距、用 DIMX 约束口径;第二层控制像差,用 SPHA、COMA、ASTI 分别压球差、彗差、像散;第三层用 RSCH 或 RSCE 控制点列图均方根半径。不要一上来就堆几十个操作数,先让焦距和口径锁死,再逐步加像差约束。
# 常用优化操作数示例 EFFL 1000 1 0 # 有效焦距目标 1000 mm DIMX 200 1 0 # 最大口径 200 mm SPHA 0 1 0 # 球差目标 0 COMA 0 1 0 # 彗差目标 0 RSCH 0 1 0 # 点列图 RMS 半径目标 0参数说明:EFFL 的权重给 1,DIMX 给 1,像差项初始权重给 0.1 到 0.5,等一阶参数稳定后再加大像差权重。如果优化过程中焦距漂了,说明 EFFL 权重不够或者被其他操作数拉偏了,这时候不要继续跑,先把一阶参数锁死再优化。这一步的坑在于:很多人把圆锥系数也设成变量一起优化,结果曲率和圆锥系数互相补偿,跑出一个数学上好看但加工不出来的面型。我的做法是曲率先固定,只优化圆锥系数,收敛后再微调曲率。
3. 从 Zemax 光学参数到结构件的映射方法
3.1 镜座、隔圈、调整垫:三类结构件的尺寸来源
光学设计给的是面型、间距、偏心、倾斜这些量,结构设计要把它翻译成零件图上的尺寸和公差。反射式系统里最核心的三类结构件是镜座、隔圈和调整垫。镜座的内孔和端面决定镜子的径向和轴向定位,尺寸直接来自镜子的外径和边缘厚度;隔圈决定主次镜之间的轴向间距,尺寸来自 Zemax 里的 Thickness;调整垫用于装调阶段补偿加工误差,厚度一般留 0.05 mm 到 0.2 mm 的调整量。
我一般会先做一张“光学-结构参数对照表”,把 Zemax 里的每个关键量对应到结构件上,避免漏项。表格比脑子可靠,尤其是面数多的时候。
| Zemax 参数 | 结构件 | 典型公差 | 备注 |
|---|---|---|---|
| 主镜曲率半径 | 镜座端面 | ±0.02 mm | 影响焦距 |
| 主次镜间距 | 隔圈长度 | ±0.03 mm | 影响像面位置 |
| 次镜偏心 | 镜座同轴度 | ±0.01 mm | 影响彗差 |
| 次镜倾斜 | 镜座端面垂直度 | ±10″ | 影响像散 |
| 镜面外径 | 镜座内孔 | H7/g6 配合 | 影响径向定位 |
这张表里的公差不是拍脑袋来的,是根据像质敏感度反推的。Zemax 里可以用公差分析(Tolerance)功能算出每个参数允许多大偏差,再折算到结构公差。不做这一步,结构公差给太松装出来像质不达标,给太紧加工成本翻倍。
3.2 用 Zemax 公差分析反推结构公差
公差分析是连接光学和结构的桥梁,但很多人跑完公差分析只看结果,不看敏感项。我的做法是:先跑一次灵敏度分析,找出对 MTF 影响最大的前五个参数,然后针对这五个参数单独收紧公差,其余参数放宽。这样能在成本和性能之间找到平衡。
# Zemax 公差分析设置要点 Tolerance Mode: Sensitivity Criterion: MTF Average Sampling: 3 Compensator: 后焦距(Back Focus)参数说明:Criterion 选 MTF Average 比选 RMS 波前更贴近实际成像评价;Compensator 一定要加后焦距补偿,因为装调时最后一步通常是调焦,不然后焦距误差会全部算到结构公差里,导致公差过严。这一步的坑在于:有人跑公差分析不加补偿器,结果所有公差都要求到微米级,加工厂直接报天价。加了后焦距补偿之后,轴向间距的公差可以放宽到 ±0.05 mm 甚至 ±0.1 mm,因为调焦能补回来。
3.3 导入 SolidWorks 做结构建模的注意事项
Zemax 本身不做结构建模,常见做法是把光学参数导出后,在 SolidWorks 里建镜筒和镜座。Zemax 有导出 IGES 或 STEP 的功能,但导出的只是镜面面型,不是完整结构。我一般只导出镜面的曲面用于检查干涉,结构件还是在 SolidWorks 里按对照表重新建。
导入时注意两点:一是坐标系要对齐,Zemax 的光轴是 Z 轴,SolidWorks 里建镜筒时也要以 Z 轴为光轴,不然后面装配会错位;二是单位要统一,Zemax 默认毫米,SolidWorks 模板如果是米,导入后尺寸会差一千倍。这两个问题看起来低级,但我在实际项目里见过不止一次,尤其是多人协作的时候。
4. 反射式系统装调与像质验证的实操要点
4.1 装调顺序:先定主镜还是先定次镜
反射式系统的装调顺序直接影响效率和最终像质。我的习惯是:先把主镜装到镜筒上并锁定,以主镜为基准;再装次镜,通过调整垫和顶丝调次镜的偏心、倾斜和轴向位置;最后装探测器并调焦。主镜先定的原因是主镜口径大、重量大,调整机构复杂,一旦锁定就不应该再动。次镜小、轻,调整相对容易。
装调时用自准直仪或者激光干涉仪监测,先调轴向间距让像面位置对,再调偏心让彗差最小,最后调倾斜让像散最小。这个顺序不能反,因为偏心会引入彗差,倾斜会引入像散,如果先调倾斜再调偏心,倾斜调好的状态会被偏心破坏。
4.2 用星点或干涉仪做像质验证
装完之后要验证像质。实验室里常用干涉仪测波前误差,外场用星点检验。干涉仪测的是波前 RMS,一般要求做到 λ/4 以内(λ=632.8 nm);星点检验看的是点列图,理想星点应该是同心圆环,出现彗差说明次镜偏心,出现像散说明次镜倾斜或者镜座有应力。
我一般会先看星点,因为星点直观、快,能快速判断问题方向;再用干涉仪定量测,确认是否达标。如果星点有彗差,不要急着调次镜,先检查主镜有没有装歪,主镜歪了也会出彗差,而且调次镜补不回来。
4.3 环境温度对反射式系统的影响
反射式系统对温度比折射式敏感,因为金属镜座和镜子材料的热膨胀系数不同。温度变化时,镜座和镜子之间的配合会变松或者变紧,导致镜子位置漂移。我一般会在镜座和镜子之间加柔性支撑或者弹性垫,吸收热膨胀差。如果系统工作温度范围大,还要在 Zemax 里做热分析(Thermal Analysis),看温度变化对像质的影响。
# Zemax 热分析设置 Thermal Pickup: 所有厚度和曲率半径 Temperature: -20°C 到 +60°C参数说明:Thermal Pickup 要把镜座材料的热膨胀系数填进去,Zemax 会根据温度变化自动调整间距和曲率。这一步的坑在于:有人只填了镜子的热膨胀系数,没填镜座的,结果热分析结果偏乐观,实际装出来温度一变像质就崩。
5. 反射式系统结构设计的避坑与排查
5.1 优化收敛但加工不出来:圆锥系数和曲率互相补偿
现象:Zemax 优化收敛,MTF 接近衍射极限,但导出面型给加工厂,加工厂说这个面型做不出来。原因:优化时把曲率和圆锥系数都设成变量,两者互相补偿,跑出一个数学上成立但工艺上极端的面型,比如圆锥系数跑到 -20 以上。解决:曲率先固定,只优化圆锥系数,收敛后再微调曲率;优化完成后检查圆锥系数是否在加工能力范围内,一般绝对值不超过 -10。
5.2 装出来像质不达标:公差分析没加补偿器
现象:结构件按图纸加工,装出来 MTF 远低于设计值。原因:公差分析时没加后焦距补偿器,导致轴向间距公差被算得过严,实际加工虽然达标,但装调时没有调焦余量。解决:公差分析必须加后焦距补偿器,把轴向公差放宽到 ±0.05 mm 到 ±0.1 mm,装调时用调焦机构补回来。
5.3 星点出现彗差:次镜偏心和主镜装歪分不清
现象:星点检验出现明显彗差,调次镜偏心后彗差减小但不消失。原因:主镜装歪也会引入彗差,而且主镜歪引入的彗差和次镜偏心引入的彗差方向可能不同,调次镜只能补一部分。解决:先用自准直仪检查主镜光轴是否与镜筒轴线重合,主镜锁定后再调次镜;如果主镜歪了,先调主镜,不要用次镜去补。
5.4 温度变化后像质漂移:热分析只填了镜子材料
现象:常温下像质达标,温度升高或降低后像质明显下降。原因:热分析时只填了镜子的热膨胀系数,没填镜座材料,导致间距变化量算错。解决:热分析要把镜座材料的热膨胀系数填进去,镜座和镜子之间加柔性支撑吸收热膨胀差;如果工作温度范围大,考虑用低膨胀材料做镜座。
5.5 导入 SolidWorks 后尺寸错乱:单位和坐标系没对齐
现象:Zemax 导出的面型导入 SolidWorks 后,尺寸差一千倍或者位置错乱。原因:Zemax 默认单位是毫米,SolidWorks 模板单位可能是米;Zemax 光轴是 Z 轴,SolidWorks 里建镜筒时可能用了 Y 轴。解决:导入前统一单位为毫米,建镜筒时以 Z 轴为光轴;导入后先用测量工具检查关键尺寸,确认无误再继续建模。
6. 反射式系统结构设计的进阶技巧:用 Zemax 脚本批量做公差敏感度排序
前面讲的公差分析是手动跑,参数少的时候够用,但反射式系统面数一多,手动跑公差分析效率很低。我后来养成的习惯是用 Zemax 的 ZPL 脚本批量跑敏感度分析,把每个参数对 MTF 的影响排序,只针对前五个敏感参数收紧公差。这样能把公差分析从半天缩短到十几分钟,而且不会漏项。
# ZPL 脚本片段:批量跑公差敏感度 FOR i, 1, NSUR() SETVAR(1, i) TOLERANCE GETRESULT(1, "MTF") PRINT i, GETRESULT(1, "MTF") NEXT这段脚本的逻辑是遍历所有面,逐个设成变量跑公差分析,输出每个面对 MTF 的影响。参数说明:NSUR() 返回总面数,SETVAR 设置变量编号,TOLERANCE 触发公差分析,GETRESULT 取结果。实际使用时要把 TOLERANCE 的参数按你的系统配好,比如补偿器、评价标准这些。脚本跑完会输出一张表,按 MTF 下降量排序,前五个就是需要收紧公差的参数。
我一般还会在脚本里加一个判断:如果某个参数的敏感度低于阈值,就自动放宽它的公差。这样跑完一轮,公差分配基本就定了,剩下的就是和加工厂确认能不能做到。这个习惯帮我省了很多来回沟通的时间,也避免了“所有公差都要求到微米级”这种让加工厂翻白眼的情况。
最后说一个我自己的教训:反射式系统结构设计里,最贵的不是镜子,是装调时间。设计阶段多花一天做公差分析和热分析,装调阶段能省一周。我早期做的一个 R-C 系统,设计阶段没做热分析,装调时常温达标,一到外场温度变化像质就崩,返工重新做镜座,周期拖了一个月。从那以后,我每个反射式项目都会在出图前跑一遍热分析和公差敏感度排序,确认没有漏项再发图纸。希望帮到你。
本文还有配套的精品资源,点击获取