2、操作数详解(上):基本操作数、像差操作数与边界操作数
各位同学,欢迎来到操作数详解的第一部分。
说实话,Zemax 的优化函数,核心就是操作数。你设计得再好,最后都得靠这些操作数告诉软件:「我要什么」。今天咱们先啃下最常用的一批:基本操作数、像差操作数,还有那些管着结构别「跑偏」的边界操作数。
2.1 基本操作数:EFFL、TOTR、CTGT
这三个是我个人用得最频繁的「三板斧」。它们不直接管像质,但管着系统的「骨架」。
2.1.1 EFFL —— 有效焦距
EFFL 的全称是 Effective Focal Length。说白了,就是告诉你系统在像空间的有效焦距是多少。
我在设计一个 100mm 定焦镜头时,第一件事就是把 EFFL 的目标值设为 100,权重给到 1。为什么?因为焦距是系统最根本的规格,焦距不对,后面全白搭。
- EFFL 计算的是近轴有效焦距,不是边缘光线焦距。
- 如果你用
EFFL控制焦距,记得配合DIST或RAID控制像面位置,否则系统可能「偷焦距」。 - 权重一般设 1 即可,除非你同时有多个焦距要求。
2.1.2 TOTR —— 总光程
TOTR 是 Total Optical Track Length,从物面到像面的总光程长度。注意,是光程,不是几何长度。
嗯,这里要注意:TOTR 在非序列模式下不适用。我刚开始用的时候就在非序列里试了半天,怎么都不出数,后来才发现自己搞混了。
| 操作数 | 含义 | 典型应用场景 |
|---|---|---|
| EFFL | 有效焦距 | 定焦镜头、变焦镜头各焦段控制 |
| TOTR | 总光程 | 手机镜头、内窥镜等紧凑系统 |
| CTGT | 中心厚度大于 | 防止镜片太薄无法加工 |
2.1.3 CTGT —— 中心厚度大于
CTGT 是 Center Thickness Greater Than。它是个边界操作数,但我习惯把它和基本操作数放一起讲,因为太常用了。
你想想看,优化过程中镜片中心厚度可能变成 0.1mm,甚至负值。加工厂看到这种数据直接就把图纸退回来了。CTGT 就是用来设下限的。
- 玻璃镜片中心厚度下限设 1.5mm 以上。
- 塑料镜片可以薄一些,但至少 0.8mm。
- 胶合镜片要注意总厚度,别把胶层厚度算进去。
2.2 像差操作数:SPHA、COMA、ASTI
像差操作数是优化函数里的「质检员」。它们直接告诉你某个像差有多大。
2.2.1 SPHA —— 球差
SPHA 计算的是球差系数。在 Zemax 里,它用的是 Seidel 像差系数中的球差项。
我曾经设计过一个高数值孔径的显微物镜,球差怎么都压不下去。后来发现是 SPHA 的权重设得太低,优化器根本不在乎。把权重从 1 提到 10,两轮优化就收敛了。
- SPHA 是近轴近似,对于大孔径系统,建议同时用
RAY操作数追迹实际光线来验证。 - 不要只压 SPHA 而不管其他像差,否则可能换来更大的彗差或像散。
- SPHA 的符号代表球差方向,正值表示边缘光线焦点比近轴光线更靠近透镜。
2.2.2 COMA —— 彗差
COMA 是彗差系数。彗差这东西,说白了就是轴外点成像时,光线在像面上形成一个彗星状的光斑。
我记得有一次做一款广角镜头,中心视场像质很好,但边缘视场像质一塌糊涂。打开 Seidel 图一看,COMA 值大得离谱。后来在优化函数里加了 COMA 操作数,把边缘视场的彗差压下去,整个像场就均匀多了。
2.2.3 ASTI —— 像散
ASTI 是像散系数。像散的表现是:子午方向和弧矢方向的焦点不在同一个平面上。
你想想看,如果像散很大,你拍出来的照片,水平线条清晰,垂直线条模糊,或者反过来。这在成像系统里是致命的。
! 一个典型的像差控制优化函数片段
EFFL 1 1 100 ! 控制焦距为100mm
SPHA 1 1 0.01 ! 控制球差系数小于0.01
COMA 1 1 0.005 ! 控制彗差系数小于0.005
ASTI 1 1 0.005 ! 控制像散系数小于0.005
CTGT 1 2 1.5 ! 第1面到第2面中心厚度大于1.5mm
MXCG 1 2 8.0 ! 第1面到第2面中心厚度小于8.0mm
2.3 边界操作数:MNCG、MXCG、MNCA
边界操作数不直接优化像质,但它们管着「能不能做出来」。没有它们,优化器会放飞自我。
2.3.1 MNCG —— 最小中心厚度
MNCG 是 Minimum Center Thickness Global。它和 CTGT 类似,但 MNCG 是全局约束,可以一次对所有面设定最小中心厚度。
我个人习惯用 MNCG 做全局下限,再用 CTGT 对个别敏感面做单独控制。这样既省事又精准。
2.3.2 MXCG —— 最大中心厚度
MXCG 是 Maximum Center Thickness Global。它控制中心厚度的上限。
为什么需要上限?因为镜片太厚了,一是浪费材料,二是系统总长会超标。我在设计手机镜头时,MXCG 是必加的操作数,否则优化器会把镜片越做越厚。
2.3.3 MNCA —— 最小中心空气间隔
MNCA 是 Minimum Center Air Gap。它控制镜片之间的最小空气间隔。
嗯,这个特别重要。如果没有 MNCA,两个镜片可能会「撞在一起」,甚至互相穿透。我曾经见过一个新手设计的系统,两个镜片中心厚度加起来比空气间隔还大,结果镜片「重叠」了。加工厂看到这种设计直接笑出声。
- MNCG:玻璃 1.5mm,塑料 0.8mm
- MXCG:根据系统总长限制,一般设 8-12mm
- MNCA:至少 0.3mm,有装配公差要求时建议 0.5mm 以上
2.4 知识结构图
下面这张图帮你理清今天讲的操作数分类和关系:
2.5 实战建议
最后,分享几个我这些年积累下来的经验:
- 先加边界,再加像差。 我习惯先把 MNCG、MXCG、MNCA 设好,防止优化过程中结构跑飞。然后再加 EFFL 定焦距,最后加 SPHA、COMA 这些像差操作数来提升像质。
- 权重不要贪大。 很多人觉得权重越大越好,其实不是。权重太大,优化器会死磕这一个目标,其他指标全崩了。我一般从 1 开始,效果不明显再慢慢加。
- 定期检查 Seidel 图。 操作数告诉你数值,但 Seidel 图告诉你像差在整个视场和孔径上的分布。两者结合,才能做出好设计。
Ctrl+C 和 Ctrl+V 快速复制操作数行。对于多视场、多波长的系统,这个操作能省不少时间。