ARTICLE DETAIL

资讯详情

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

用Zemax设计牛顿望远镜:从球差优化到抛物面主镜的完整流程

用Zemax设计牛顿望远镜:从球差优化到抛物面主镜的完整流程 玩望远镜的朋友应该都听过牛顿望远镜——一片主镜加一片斜置的平面副镜光路折叠后从镜筒侧面出来。用Zemax做牛顿望远镜的光学设计说实话难度不高但很多新手一上来就卡在坐标断点上要么光线乱飞要么优化了半天球差纹丝不动。这篇我就从实际建模的角度把牛顿望远镜光学设计完整拆成5个步骤从参数设定、光路搭建、球差优化到像质评价全程走一遍顺便把几个容易踩坑的细节说清楚。不管你是光学专业的学生、天文爱好者还是刚转行做光学设计的新人只要有Zemax的基础界面操作经验跟着这套流程就能做出一个可以实际加工参考的牛顿望远镜模型。1. 设计之前先想清楚牛顿式结构的原理与参数选择1.1 牛顿望远镜的结构与光路特点牛顿望远镜是反射式望远镜里最经典的一种主镜是一块凹面镜副镜是一块45度倾斜的平面镜。平行光从镜筒口进来先打到主镜上反射并会聚在焦点还没到之前被副镜截住折转90度从镜筒侧面引出最后在目镜或相机传感器上成像。这个设计的好处是结构简单、没有色差而且副镜只承担折转光路的作用不会给系统引入额外的像差。很多人一开始对“副镜不引入像差”有疑问其实从理想光路的角度看一块理想的平面反射镜只是把整段光路做了空间上的搬移和方向改变对波前的形状没有本质影响。只要副镜本身面形足够平、装调足够准它基本不影响主镜决定的像差状态。这也是为什么我们可以在Zemax里先不建副镜把主镜的像差优化好最后再补折转光路。1.2 第一次设计口径焦距怎么定设计指标是决定后面所有步骤的前提。我建议第一次做牛顿镜设计直接采用一个经典且好加工的参数组合口径D200mm焦距f800mm焦比F/4。焦比在这里是关键。F/4算比较快的系统镜筒短、结构紧凑但像差也更敏感适合用来展示球差优化的威力F/8虽然更容易加工和装配但镜筒太长优化起来反而不够“刺激”。取F/4主镜焦距800mm镜筒长度控制在900mm左右是一个很典型的目视/摄影两用配置。副镜直径也要提前估算。副镜的作用是把光路折到镜筒外直径取得过小会挡不住全视场的光过大会增加中心遮挡降低分辨率。一般按线遮挡比15%到25%来选200mm口径配50mm左右的副镜比较常见遮挡比约0.25对MTF的影响还在可接受范围内。波长方面先用0.55μm单色光做设计把核心光路跑通后再加多色波长验证视场取0°、0.5°、1°三个点方便后面观察轴外彗差。1.3 球差为什么是牛顿镜绕不开的坎球面主镜成本低、加工容易但球面反射镜对轴上点也有球差边缘光线比近轴光线会聚得更早导致焦点不是一个点而是一个弥散斑。焦比越小球差越严重。抛物面主镜则能让所有轴上光线精确会聚到同一个焦点这就是设计目标。但抛物面不是“拿来就能用”的它相对球面的偏离量是多少、非球面度好不好加工都需要计算。Zemax里直接把主镜的Conic设为-1就能得到理想抛物面但更有意思的玩法是从球面出发让优化器自己去找到-1这个值。这既验证了设计思路也能让你真正理解球差优化在Zemax里是怎么运作的。2. 第1步搭建Zemax系统框架孔径、波长、视场2.1 系统孔径、波长和视场设置打开Zemax后先把默认透镜组删掉从空白系统开始搭。在系统选项里Aperture Type选择Entrance Pupil Diameter数值填200表示系统入瞳直径200mm也就是主镜口径。为什么不选Object Height或Image Height因为望远镜接收的是无穷远物体的平行光入瞳口径最直观也直接对应主镜口径。波长一般习惯先用单色0.55μm把设计和优化思路跑通再在后面加多色波长看实际表现。虽然反射镜没有色差但如果你后面要给系统加分光棱镜、滤镜转接或者做衍射评价多色评估还是有必要的。视场方面先设定三个视场0°、0.5°、1°方便后面看轴外彗差。2.2 主镜面型如何用Standard面表示凹面反射镜主镜直接放在第1面面型选Standard。这里有个关键点很容易踩坑曲率半径填-1600mm。Zemax里光线从左向右传播凹面镜的球心在入射光一侧的反方向也就是系统坐标的负方向所以曲率半径取负值。焦距和曲率半径的关系是fR/2R-1600mm焦距就是800mm和设计值对上了。厚度这里也要用负值。主镜的厚度填-800mm表示光线经主镜反射后向左返回800mm到达焦点。很多人第一次建模时习惯所有厚度都取正结果光线路径一团乱。在Zemax序列模式里负厚度代表光路折返这是反射系统的正常表示方法。另外记得在面属性里把Mirror勾上或者在新版本里把Surface Type设为Standard并设置反射膜层这样软件才会按反射而不是折射处理。2.3 先别急着加副镜轴上模型的搭建思路我通常建议先不加副镜把主镜和像面直接搭成轴上系统主镜在第1面厚度-800mm像面放在主镜后面800mm处。对轴上视场来说这个模型已经能完整反映主镜的像差状态优化球差时也不会被坐标断点干扰。等球差优化到接近零以后再在焦点前约100mm的位置插入坐标断点和一个平面反射镜模拟副镜的90度折转。具体做法是一个坐标断点负责把局部坐标系倾斜45度平面镜负责反射再补一个方向相反的坐标断点把坐标系恢复像面就落到镜筒侧面了。注意两个坐标断点的具体正负号要结合你的全局坐标习惯去试不同Zemax版本会有差异。原则是“两个坐标断点方向相反、量值相同中间夹一个平面镜”用三维布局图一边看一边调比死记参数靠谱得多。3. 第2步分析球差、制定优化策略3.1 打开光斑图和波前图看球差现在系统是球面主镜打开Spot Diagram你会看到轴上视场的光斑虽然左右对称但有一个明显的径向弥散这就是球差的典型形态。再看Wavefront Map波前误差从中心到边缘的变化是平滑的、近球对称的。这些图形是“球差长什么样”的直接答案也方便你优化前后做对比。如果你有经验还能从光斑的分布判断球差的符号边缘光线焦点比近轴光线焦点更靠近主镜时光斑外圈比内圈更发散说明正球差。对反射系统符号和折射系统不完全一样所以建议不要死记直接看光斑半径和波前PV值的变化更稳妥。3.2 用操作数把球差写成可优化的目标只靠眼睛看图没法做自动优化要把球差翻译成操作数。Zemax里常用三个操作数来控制球差LONA轴向像差单位mm表示指定孔径光线与近轴光线的焦点位置差。SPHA初级球差系数对应Seidel像差中的球差项。OPDC光程差在某种归一化口径下的分布。实际项目里我优先用LONA物理意义直观设为0就是让边缘光线和近轴光线会聚到同一个轴向位置。打开评价函数编辑器插入一行LONA操作数窗口对应近轴光线波长选1目标值0权重1。为了不让系统跑焦再插入一个EFFL操作数目标值800mm权重1。这样优化器就知道“焦距不能跑偏球差必须压掉”。3.3 优化函数的权重怎么设置权重决定了优化器先满足谁。如果把LONA权重设得很大优化器会优先把球差压到零但可能牺牲焦距精度反过来焦距权重太大球差又会压不下去。我一般先用默认的RMS Spot Size生成一组基础优化函数把光斑半径作为整体约束再单独把LONA的权重调到1以上EFFL权重给1让系统在“不跑焦”和“消球差”之间取得平衡。对于纯牛顿主镜这个场景理论上只有一个变量conic约束也不多权重只要不过分极端结果都收敛到同一个解——conic-1。权重问题在复杂系统中才会显得重要但养成好习惯总没错。4. 第3-4步执行优化让球面镜变成抛物面4.1 优化前的最后准备把主镜的Conic设为变量。在面属性里找到Conic这一项点右键选择Variable。如果想让曲率半径也参与优化也可以设为变量但我的建议是锁定曲率半径只优化Conic。原因很简单曲率半径直接决定焦距锁定它等于锁定了F数只让非球面度去消除球差物理意义更清楚。另外确认孔径、波长、视场设置都在预期状态。如果刚才测试过坐标断点或其它面先把它们暂时删除或设为跳过保持一个清爽的轴上系统去优化。这一步看似多余但能有效避免“优化完了发现变量太多不知道是谁起的作用”这种尴尬。4.2 执行优化并解读结果运行优化后看两个东西一是主镜的Conic值二是LONA操作数。Conic会从0逐渐逼近-1LONA从初始的几十毫米量级掉到零附近。如果用轴上单色光Spot Diagram会变成一个理想的小点Wavefront Map变成一片平坦。这说明球面主镜已经被优化成了抛物面主镜。有一点要提醒Zemax的优化器不一定一次就停在完美的-1。很多时候它会在-1.00001或-0.99998这种值上停下这完全正常。加工图纸上你也不会真的写-1.000000而是写-1±0.001这种公差形式。所以不用追求小数点后五位完全等于-1够用就行。4.3 conic-1背后的二次曲面与高阶非球面可能有人会问为什么主镜非球面度正好是-1这要从二次曲面方程说起。Zemax的Standard面矢高公式里有一个Conic常数当Conic-1时面形正好退化为抛物面。抛物面的几何定义是“到焦点和到准线距离相等”这正好保证平行于光轴的入射线反射后都经过焦点。球面对应Conic0椭球面对应-1Conic0双曲面则Conic-1。对牛顿主镜来说-1就是最优解不需要用到高阶非球面项。如果某些系统需要更好的轴外像差平衡才可能用Extended Polynomial或Zernike Fringe面型加入高阶项。我见过有人一上来就上扩展多项式结果不仅变量多、收敛慢加工也困难。能用简单二次面解决的问题就不要引入高阶项这是光学设计的通用原则。5. 第5步像质检验与实战注意事项5.1 光斑、MTF、波前三项指标怎么判定等Conic优化到-1就不只是看球差消没消还要看整体成像质量。常规三个指标Spot Diagram的RMS半径、MTF曲线、Wavefront的RMS和PV值。轴上视场在理想抛物面下衍射极限是天花板MTF曲线贴着衍射极限走就很正常。但如果加了副镜遮挡MTF会整体下降一些这是遮挡比带来的必然结果。轴外视场就更有意思了牛顿镜在轴外会有明显的彗差0.5度和1度视场的光斑已经不是圆点而是呈现出彗星状的拖尾。这不是模型错了而是牛顿式结构的固有特征。所以很多实际望远镜在摄影时会加彗差修正镜或者把视场控制在很小的范围内。你在MTF上会看到轴外MTF比轴上差不少这就是彗差在做主导。5.2 副镜遮挡、支架衍射与装配细节加入副镜折转后还要考虑副镜的遮挡比。副镜直径和支架会挡住一部分入瞳光线导致光能损失和MTF下降。在Zemax里可以用中心遮挡的孔径比如环形孔径来近似模拟副镜遮挡的效果观察它对MTF的影响。副镜遮挡比控制在0.2到0.3之间比较常见再大就会明显损失高频细节反差。装配层面上副镜支架的衍射会产生星芒这在真实天文照片中很常见。这种效果用序列模式很难直观表达需要到非序列模式里建模把副镜、支架、镜筒内壁的散射和反射都加进去做杂散光分析。如果系统里还要放分光棱镜之类的分光元件同样建议拿到非序列模式里验证。对初学者来说先不用做那么重先把轴上、轴外的像差和遮挡比搞清楚已经很接近实战设计了。5.3 常见问题速查与排查技巧我把实际工程和教学里遇到的问题列成了一张表贴在下面问题常见原因解决办法光线乱飞、穿越镜面不反射厚度符号错误或没设Mirror属性检查主镜厚度是否为负确认面属性已设为反射优化后Conic不收敛到-1Conic没设为变量或权重被焦距约束压死确认变量状态调整EFFL权重先用轴上模型优化LONA始终很大波长权重、操作数窗口或边缘孔径设置不正确核对LONA参数确认取的是近轴和边缘光线的焦点差加坐标断点后光斑散乱坐标断点方向或量值不对先去掉副镜轴上验证后再分段加坐标断点用三维布局图观察MTF明显异常视场设置过大或副镜遮挡模型不对检查视场值合理设置中心遮挡比ZPL宏报unknown symbol getthickness当前版本没有该关键字或拼写不一致查帮助文档确认函数名或用OPTR等优化操作数间接获取面参数坐标断点是最容易出现问题的环节。我的经验是每加一个坐标断点就保存一个版本并且一次只改一个参数看光线是否还正常这样一旦崩了能快速定位。另外ZPL宏报错那条很多刚接触宏的人会卡在unknown symbol上其实你需要的参数往往可以用优化操作数间接读取不一定非要写很复杂的自定义函数。6. 写在最后我的几点体会做这个设计案例给我最深的体会是刚开始别急着把副镜、遮挡、支架全部建出来先把主镜和球差搞定再加折转最后做工程化分析。设计上Conic-1很容易但要真正磨出一个合格的抛物面还需要刀口仪、星点测试和反复的修改。Zemax给你的不是一张“已经做好”的图纸而是一条“知道该往哪走”的路。最后再分享一个小技巧保存设计文件时把初始球面模型和优化后的抛物面模型分成两个文件保存方便做对比。调试中每一次操作都备注一下遇到问题靠版本回溯比靠记忆靠谱得多。做光学设计软件只是工具真正值钱的是你对“物理上发生了什么”的理解。球差优化做完之后再回头看星点测试、看望远镜实拍图你会有完全不一样的感觉。
返回列表