4、变量与约束:变量类型(曲率/厚度/非球面系数)、边界约束(边缘厚度/中心厚度/空气间隔)、玻璃与材料变量

做光学设计这么多年,我越来越觉得——变量和约束,才是真正拉开高手和普通工程师差距的地方。

很多人拿到一个初始结构,上来就把所有参数都设成变量,然后点一下优化按钮。结果呢?要么跑出来一个鬼影丛生的怪物,要么优化器直接罢工。说白了,你给优化器太多自由,它反而不知道怎么干活。

今天我就把变量和约束这块掰开揉碎了讲。你想想看,一个光学系统少说几十个面,每个面又有曲率、厚度、材料……到底哪些该动,哪些不该动?边界条件怎么设才合理?

4.1 变量类型:哪些参数可以动?

在Zemax或Code V里,变量就是优化器可以自由调整的参数。我习惯把它们分成三大类:

4.1.1 曲率变量

曲率是光学系统里最核心的变量。说白了,改变曲率就是改变透镜的聚焦能力。

但这里有个坑——不要把所有面的曲率都设成变量。我在项目中遇到过一位同事,他把20个面的曲率全开了,结果优化了三天三夜,系统像质反而变差了。为什么?变量太多,优化器在局部最优里打转,根本出不来。

我个人习惯的做法是:

  • 先固定光阑附近的几个面,这些面通常承担主要的光焦度,变动太大会让系统崩溃
  • 从后往前逐步释放变量,先优化靠近像面的几个面,再往前推
  • 每次最多同时优化5-8个曲率,多了反而效率低
小技巧: 在Zemax里,你可以用「Variable」和「Solve」配合使用。比如把某个面的曲率设为「F Number Solve」,这样优化器会自动保持F数不变,只调整曲率来改善像差。

4.1.2 厚度变量

厚度变量包括透镜的中心厚度和边缘厚度。很多人觉得厚度不重要,随便设个变量就行。嗯,这里要注意——厚度变量直接影响系统的总长和加工可行性。

我记得有一次做手机镜头,优化器把一片透镜的中心厚度压到了0.3mm。理论上没问题,但加工厂直接说做不了——太薄了,注塑成型时根本填不满模腔。从那以后,我每次设厚度变量都会加上边界约束。

厚度变量的设置原则:

  • 中心厚度:一般设为正变量,下限取0.5-1.0mm(看口径大小)
  • 边缘厚度:这个容易被忽略。边缘太薄,透镜容易崩边;太厚,又浪费材料
  • 空气间隔:这个变量最灵活,但要注意不要出现负间隔(透镜重叠)

4.1.3 非球面系数

非球面系数是近十年光学设计的大杀器。一个非球面可以替代2-3个球面,大幅简化系统结构。

但非球面系数不是越多越好。我见过有人把16阶的非球面系数全开了,结果优化出来的面型像心电图一样上下抖动——这种面型加工出来,检测都过不了。

我的建议是:

  • 先只开4阶和6阶系数,这两个对像差校正贡献最大
  • 8阶以上慎用,除非你确定加工能力跟得上
  • 偶次非球面比奇次更常用,因为对称性更好
核心观点: 非球面系数每增加一个,加工成本大约上升15-20%。所以不要为了追求理论上的完美像质,把成本搞到天上去。

4.2 边界约束:给优化器戴上镣铐

没有约束的优化,就像没有护栏的悬崖。优化器为了追求像质,什么事都干得出来。

4.2.1 边缘厚度约束

边缘厚度是透镜加工的生命线。太薄了,透镜在磨边时容易碎裂;太厚了,又增加重量和成本。

我一般这样设:

透镜口径(mm) 最小边缘厚度(mm) 推荐值(mm)
< 10 0.3 0.5 - 0.8
10 - 30 0.5 0.8 - 1.2
30 - 60 0.8 1.2 - 2.0
> 60 1.0 2.0 - 3.0
警告: 我曾经遇到过一个案例,优化器把边缘厚度压到了0.2mm,结果透镜在镀膜时直接炸裂。原因是边缘太薄,镀膜时的热应力承受不住。从那以后,我设边缘厚度下限时都会留0.1-0.2mm的余量。

4.2.2 中心厚度约束

中心厚度主要影响两个东西:一是透镜的强度,二是系统的总长。

中心厚度太薄,透镜容易变形;太厚,又增加色差和成本。我一般用这个经验公式:

最小中心厚度 = 0.6 + 0.02 * 口径(mm)
最大中心厚度 = 最小中心厚度 * 3

举个例子,一个口径20mm的透镜,中心厚度应该在1.0mm到3.0mm之间。当然,这只是经验值,具体还要看材料特性和加工工艺。

4.2.3 空气间隔约束

空气间隔是最容易被忽视的约束。很多人只设个下限(防止透镜相撞),但上限从来不设。

结果呢?优化器为了校正像差,把两个透镜之间的距离拉得老长。系统总长超标了,结构也变松散了。

我建议这样设:

  • 下限:0.1-0.3mm(防止装配时干涉)
  • 上限:根据系统总长要求反推,一般不超过透镜口径的1.5倍
  • 特殊位置:光阑附近的空气间隔要特别小心,变动太大会影响入瞳位置

4.3 玻璃与材料变量

材料变量是光学设计里最「高级」的玩法。为什么?因为改变材料相当于改变了整个系统的色散特性。

4.3.1 玻璃替换策略

我一般把玻璃变量分成两类:

  • 替换变量:在玻璃库里选一个折射率和阿贝数相近的替代品
  • 求解变量:让优化器自动计算最优的折射率和阿贝数

在实际项目中,我更喜欢用替换变量。为什么?因为求解变量算出来的玻璃参数,现实中根本买不到。你总不能跟肖特说:「给我定制一块折射率1.618、阿贝数58.3的玻璃」吧?

实用技巧: 在Zemax里可以用「Glass Substitution」功能。先选一个初始玻璃,然后让优化器在玻璃库里搜索性能更好的替代品。我经常用这个方法,一次能提升5-10%的像质。

4.3.2 材料变量的边界

材料变量也有边界约束,虽然不像几何参数那么直观:

  • 折射率范围:一般限制在1.4-2.0之间,超出这个范围要么太贵,要么太难加工
  • 阿贝数范围:20-90,太低色散太大,太高又难找
  • 价格约束:这个很多人忽略。我建议在优化前先查一下玻璃价格,把太贵的材料排除掉

4.4 知识体系总览

说了这么多,我画了一张图帮你理清思路。变量和约束就像天平的两端——变量给优化器自由度,约束防止它跑偏。两者缺一不可。

变量与约束知识体系 光学系统优化 变量类型 边界约束 材料变量 曲率变量 厚度变量 非球面系数 边缘厚度 中心厚度 空气间隔 玻璃替换 折射率/阿贝数 价格约束 核心原则:变量给自由度,约束保可行性

这张图把变量和约束的关系讲得很清楚了。左边是你可以动的参数,右边是你要守的规矩,中间是优化目标。三者平衡好了,设计才能既好看又好用。

最后说一句:变量和约束的设置,没有标准答案。每个项目都有自己的特点。我做了十几年设计,每次拿到新项目,还是会花半天时间仔细琢磨——哪些变量该开,哪些约束该紧。这个功夫省不得。

一句话总结: 变量是油门,约束是刹车。只会踩油门的是新手,懂得什么时候踩刹车才是老司机。

专注资料整理