第三章 光学系统热分析基础:软件、温度场与材料建模

热分析,说白了就是搞清楚温度变化时,你的镜头到底会变成什么样。我刚开始做无热化设计时,总觉得把镜片材料选好就万事大吉了。结果有一次,镜头在高温箱里测试,成像直接糊成一团。嗯,从那以后,我再也不敢轻视热分析这一步了。

这一章,我们就来聊聊热分析的基础。我会结合我自己的经验,带你看看常用的软件、怎么设置温度场,以及材料参数随温度变化的建模方法。

3.1 热分析软件:Zemax 与 Code V 的选择

市面上能做热分析的光学软件不少,但最主流的还是 Zemax 和 Code V。我个人两个都用过,各有各的脾气。

特性 Zemax (OpticStudio) Code V
热分析入口 「多重结构 (Multi-Configuration)」+「温度/压力」操作数 「环境 (Environment)」选项卡,直接设置温度
材料库 自带部分玻璃的 dn/dT 数据,可扩展 材料库更全,尤其是红外材料
操作习惯 上手快,界面直观,适合中小型系统 命令行强大,适合复杂系统优化
我的推荐 新手入门、快速验证 高精度、红外系统、复杂热分析

我个人习惯用 Zemax 做前期验证。为什么?因为它设置快。你只需要在多重结构里添加 TEMP 和 PRES 操作数,就能定义不同温度下的镜头状态。Code V 则更强大,尤其是它的「热扰动」分析功能,能模拟温度梯度。我在做一款红外热像仪镜头时,就靠 Code V 发现了镜筒局部受热导致的像散问题。

我的小建议: 如果你刚开始接触热分析,先用 Zemax 跑通一个简单例子。别一上来就搞复杂系统,容易把自己绕晕。

3.2 温度场设置:从均匀到梯度

温度场设置,听起来高大上,其实就两种:均匀温度场和梯度温度场。

3.2.1 均匀温度场

这是最基础的情况。假设整个镜头从镜片到镜筒,温度都一样。比如,镜头从 20°C 升到 60°C,所有零件都变成 60°C。在 Zemax 里,你只需要在多重结构里设置 TEMP 操作数就行了。

! Zemax 多重结构示例
CONF 1  ! 20°C
TEMP 20
PRES 1

CONF 2  ! 60°C
TEMP 60
PRES 1

我曾经犯过一个错:只设置了镜片的温度,忘了设置空气间隔的温度。结果算出来的热离焦量完全不对。记住,空气也是会热胀冷缩的。

3.2.2 梯度温度场

实际情况往往更复杂。镜头前组可能被太阳晒得滚烫,后组却相对凉爽。这时候就需要梯度温度场。Code V 在这方面做得比较好,它允许你定义每个表面的温度分布。

我记得有一次做车载镜头,镜头前部靠近引擎,温度高达 105°C,后部靠近座舱只有 50°C。如果按均匀温度场算,结果根本不准。后来我用 Code V 的「热梯度」功能,把温度分布映射到镜片上,才找到了真正的热变形规律。

注意: 梯度温度场需要你提前知道温度分布数据。这些数据通常来自热仿真软件(如 Ansys、FloEFD)或实际测试。别凭空瞎猜。

3.3 材料参数随温度变化的建模

这是热分析的核心。温度一变,材料的折射率、热膨胀系数、厚度都会变。你想想看,这些参数一起变,镜头性能能不变吗?

3.3.1 折射率温度系数 (dn/dT)

这是最重要的参数。它表示温度每升高 1°C,折射率变化多少。不同玻璃的 dn/dT 差别很大。比如,有些冕牌玻璃的 dn/dT 是正的,而某些火石玻璃却是负的。无热化设计的一个核心思路,就是利用正负 dn/dT 的材料互相补偿。

材料 dn/dT (10⁻⁶/°C) 特点
N-BK7 +2.0 常见冕牌玻璃,正 dn/dT
SF6 +8.5 高折射率火石,dn/dT 很大
CaF₂ (氟化钙) -10.6 红外材料,负 dn/dT,常用于补偿
ZnSe (硒化锌) +48.0 红外材料,dn/dT 极大,需小心使用

在 Zemax 里,你可以在玻璃库中直接查看或修改 dn/dT 数据。我个人习惯是,对于关键材料,一定要找供应商要实测的 dn/dT 曲线,而不是用软件默认值。默认值有时候会坑人。

3.3.2 热膨胀系数 (CTE)

CTE 决定了镜片和镜筒的尺寸变化。镜片的热膨胀会导致曲率半径和厚度改变。镜筒的热膨胀会导致镜片间距改变。

这里有个避坑指南:我曾经设计一款镜头,镜片用的是 N-BK7 (CTE ≈ 7.1×10⁻⁶/°C),镜筒用的是铝合金 (CTE ≈ 23×10⁻⁶/°C)。结果温度一高,镜筒膨胀得比镜片快,镜片在镜筒里松动了。后来我改用了因瓦合金 (CTE ≈ 1.2×10⁻⁶/°C) 做镜筒,才解决了问题。记住,镜筒和镜片的 CTE 要尽量匹配。

3.3.3 建模方法:Sellmeier 方程的温度修正

高精度建模时,不能只用一个常数 dn/dT。更准确的做法是使用修正后的 Sellmeier 方程。这个方程描述了折射率随波长和温度的变化。

! 修正的 Sellmeier 方程形式
n²(λ, T) = A(T) + B(T) / (λ² - C(T)) + D(T) / (λ² - E(T))

! 其中 A(T), B(T), C(T), D(T), E(T) 都是温度的函数
! 通常表示为多项式:A(T) = A0 + A1*T + A2*T² + ...

在 Zemax 和 Code V 中,你都可以直接输入这些温度系数。我个人建议,如果做高精度无热化设计,一定要用这种模型。只用一个 dn/dT 常数,在宽温度范围内误差会很大。

核心要点: 材料建模的精度,直接决定了热分析的可信度。别怕麻烦,把 dn/dT 和 CTE 数据搞准,后面能省很多事。

3.4 本章知识体系:热分析流程

下面这张图,是我自己总结的热分析基本流程。每次做项目前,我都会对照着走一遍,确保没漏掉什么。

光学系统热分析基本流程 1. 定义温度范围 2. 设置温度场 3. 材料参数建模 4. 执行热分析 5. 评估与优化 迭代优化 关键输入 - 工作温度范围 - 材料 dn/dT 数据 - 结构 CTE 数据 关键输出 - 热离焦量 - MTF 随温度变化 - 像面位移

这张图把整个流程串起来了。从定义温度范围开始,到最终评估优化,每一步都环环相扣。你想想看,如果材料参数没搞准,后面的分析全是白费功夫。

我的经验: 在第一步「定义温度范围」时,别只看极限温度。要关注温度变化速率。有些镜头在快速温变下,内部会产生温度梯度,这比稳态高温更麻烦。

好了,这一章的内容就这些。热分析软件、温度场设置、材料建模,这三块是基础中的基础。把这三块搞扎实了,后面做无热化设计才能得心应手。记住,别光看理论,一定要动手在软件里跑一遍。遇到问题,欢迎随时交流。