4、变量与约束:变量类型(曲率/厚度/非球面系数)、边界约束(边缘厚度/中心厚度/空气间隔)、玻璃与材料变量
做光学设计这么多年,我越来越觉得——变量和约束,才是真正拉开高手和普通工程师差距的地方。
很多人拿到一个初始结构,上来就把所有参数都设成变量,然后点一下优化按钮。结果呢?要么跑出来一个鬼影丛生的怪物,要么优化器直接罢工。说白了,你给优化器太多自由,它反而不知道怎么干活。
今天我就把变量和约束这块掰开揉碎了讲。你想想看,一个光学系统少说几十个面,每个面又有曲率、厚度、材料……到底哪些该动,哪些不该动?边界条件怎么设才合理?
4.1 变量类型:哪些参数可以动?
在Zemax或Code V里,变量就是优化器可以自由调整的参数。我习惯把它们分成三大类:
4.1.1 曲率变量
曲率是光学系统里最核心的变量。说白了,改变曲率就是改变透镜的聚焦能力。
但这里有个坑——不要把所有面的曲率都设成变量。我在项目中遇到过一位同事,他把20个面的曲率全开了,结果优化了三天三夜,系统像质反而变差了。为什么?变量太多,优化器在局部最优里打转,根本出不来。
我个人习惯的做法是:
- 先固定光阑附近的几个面,这些面通常承担主要的光焦度,变动太大会让系统崩溃
- 从后往前逐步释放变量,先优化靠近像面的几个面,再往前推
- 每次最多同时优化5-8个曲率,多了反而效率低
4.1.2 厚度变量
厚度变量包括透镜的中心厚度和边缘厚度。很多人觉得厚度不重要,随便设个变量就行。嗯,这里要注意——厚度变量直接影响系统的总长和加工可行性。
我记得有一次做手机镜头,优化器把一片透镜的中心厚度压到了0.3mm。理论上没问题,但加工厂直接说做不了——太薄了,注塑成型时根本填不满模腔。从那以后,我每次设厚度变量都会加上边界约束。
厚度变量的设置原则:
- 中心厚度:一般设为正变量,下限取0.5-1.0mm(看口径大小)
- 边缘厚度:这个容易被忽略。边缘太薄,透镜容易崩边;太厚,又浪费材料
- 空气间隔:这个变量最灵活,但要注意不要出现负间隔(透镜重叠)
4.1.3 非球面系数
非球面系数是近十年光学设计的大杀器。一个非球面可以替代2-3个球面,大幅简化系统结构。
但非球面系数不是越多越好。我见过有人把16阶的非球面系数全开了,结果优化出来的面型像心电图一样上下抖动——这种面型加工出来,检测都过不了。
我的建议是:
- 先只开4阶和6阶系数,这两个对像差校正贡献最大
- 8阶以上慎用,除非你确定加工能力跟得上
- 偶次非球面比奇次更常用,因为对称性更好
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 |
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的玻璃」吧?
4.3.2 材料变量的边界
材料变量也有边界约束,虽然不像几何参数那么直观:
- 折射率范围:一般限制在1.4-2.0之间,超出这个范围要么太贵,要么太难加工
- 阿贝数范围:20-90,太低色散太大,太高又难找
- 价格约束:这个很多人忽略。我建议在优化前先查一下玻璃价格,把太贵的材料排除掉
4.4 知识体系总览
说了这么多,我画了一张图帮你理清思路。变量和约束就像天平的两端——变量给优化器自由度,约束防止它跑偏。两者缺一不可。
这张图把变量和约束的关系讲得很清楚了。左边是你可以动的参数,右边是你要守的规矩,中间是优化目标。三者平衡好了,设计才能既好看又好用。
最后说一句:变量和约束的设置,没有标准答案。每个项目都有自己的特点。我做了十几年设计,每次拿到新项目,还是会花半天时间仔细琢磨——哪些变量该开,哪些约束该紧。这个功夫省不得。