3. Zemax OpticStudio入门:软件界面与基本操作、系统参数设置(波长、视场、孔径)、镜头数据编辑器(LDE)的使用
好,咱们正式开始动手了。前面聊了那么多理论,现在终于要打开Zemax了。说实话,我第一次接触OpticStudio的时候,看着满屏的菜单和窗口,心里也有点发怵。但别担心,这东西就像开车——你不需要把发动机原理全搞懂,先学会挂挡、踩油门、看后视镜,就能上路了。
这一节,我带你走一遍最核心的操作流程。你跟着我点一遍,基本就能应付80%的日常设计工作了。
3.1 软件界面:别被吓到,其实就几个区域
打开Zemax OpticStudio,默认界面长这样。嗯,确实有点乱。但你把它拆开看,其实就三大块:
- 菜单栏与工具栏:最上面那一排。文件、编辑、系统、分析……所有功能都藏在这里。我个人习惯把常用的“系统”和“分析”工具栏拖出来,省得每次去菜单里翻。
- 主工作区:中间最大的区域。默认显示的是镜头数据编辑器(LDE)和三维布局图。你可以在“窗口”菜单里切换显示不同的视图。
- 状态栏与输出窗口:最下面那一行。这里会显示当前系统的状态信息,比如光线追迹有没有报错。我建议你养成习惯,每次改完参数,扫一眼状态栏,看有没有红色警告。
3.2 系统参数设置:波长、视场、孔径——设计的起点
任何镜头设计,第一步都是告诉软件:你要设计什么?用在哪?
这三个参数,就是整个设计的“宪法”。后面所有的优化、分析,都基于它们。所以,一开始就设对,后面能省很多事。
3.2.1 波长设置(Wavelengths)
点击菜单栏 “系统” → “波长”,或者直接按快捷键 F6。弹出来的窗口里,你可以添加、删除波长。
举个例子,如果你设计的是可见光镜头,一般选F、d、C三色光(486nm、587nm、656nm)。Zemax默认会给你一个主波长(Primary),通常是d光(587nm)。主波长决定了系统的参考焦距和像差校正的基准。
设置好之后,记得点“确定”。Zemax会自动计算每个波长的权重,默认都是1。如果你需要强调某个波段的性能,可以手动改权重。
3.2.2 视场设置(Field of View)
点击 “系统” → “视场”,或者按 F4。这里定义的是你的镜头能看到多大范围。
视场类型有几种:
- 角度(Angle):最常用。比如半视场角30°,就是镜头中心到边缘的角度。
- 物高(Object Height):如果你知道物体实际大小,比如一个10mm宽的传感器,就用这个。
- 像高(Image Height):直接定义像面上的高度。VR镜头里常用这个,因为我们要匹配屏幕尺寸。
我一般会设3~5个视场点:0视场(中心)、0.7视场、1.0视场(边缘)。有时候还会加一个0.5视场,用来检查中间区域的性能。为什么?因为很多像差在0.7视场附近最明显,光看中心和边缘不够。
3.2.3 孔径设置(Aperture)
点击 “系统” → “孔径”,或者按 F3。孔径决定了镜头通光量,说白了就是光圈大小。
常用的孔径类型:
- 入瞳直径(Entrance Pupil Diameter):直接指定镜头前端的通光口径。比如VR镜头,入瞳直径通常在4~8mm之间。
- F数(F/#):焦距除以入瞳直径。F数越小,光圈越大,进光越多。VR镜头一般用F/2.0到F/3.0。
- 像方数值孔径(Image Space NA):显微镜或投影镜头里常用。
我个人习惯用“入瞳直径”,因为VR镜头的瞳孔位置是固定的,直接给直径更直观。设好之后,Zemax会自动计算F数,你可以在状态栏里看到。
3.3 镜头数据编辑器(LDE):你的设计主战场
好了,参数设完了,接下来就是真正画镜头了。LDE(Lens Data Editor)就是你画镜头的“画布”。
默认打开LDE,你会看到一张表格。每一行代表一个光学面(Surface)。从物面(Object)开始,到像面(Image)结束。中间每一行,就是一片透镜的一个面。
3.3.1 LDE的基本结构
每一列代表一个参数:
| 列名 | 含义 | 我的经验 |
|---|---|---|
| Surf:Type | 面型。默认是“标准(Standard)”,就是球面。你可以改成非球面、衍射面等。 | VR镜头里,非球面用得很多。我一般先在LDE里把面型改成“偶次非球面”,再输入系数。 |
| Comment | 注释。随便写,方便自己记住这个面是干嘛的。 | 我习惯写“第一片透镜前表面”之类的。项目大了,回头翻LDE,注释能救命。 |
| Radius | 曲率半径。正数表示球心在面右侧,负数在左侧。 | 刚开始容易搞混正负号。记住一个原则:光线从左边来,凸向光线的面,半径为正。 |
| Thickness | 厚度。当前面到下一个面的距离。 | 注意:厚度可以是负数,表示光线往回走(比如反射镜)。但VR镜头里很少用。 |
| Glass | 材料。双击可以选玻璃库里的材料。 | VR镜头常用塑料材料,比如PMMA、PC、COC。玻璃太重了,不适合头戴。 |
| Semi-Diameter | 半口径。透镜的物理半径。 | Zemax会自动计算,但你可以手动锁定。我一般先让软件自动算,最后再手动调整。 |
3.3.2 如何输入一片透镜
假设你要输入一片双凸透镜:
- 在LDE里,选中第1行(通常是物面后面的第1个面)。
- 按 Insert 键,插入一个新面。
- 在“Radius”列输入前表面曲率半径,比如50mm。
- 在“Thickness”列输入透镜中心厚度,比如5mm。
- 在“Glass”列双击,选择材料,比如BK7。
- 再按 Insert,插入第二个面(后表面)。
- 输入后表面曲率半径,比如-50mm(注意负号)。
- 在“Thickness”列输入后表面到下一个面的距离,比如20mm(空气间隔)。
嗯,就这么简单。你输入完,三维视图里应该就能看到一片透镜了。如果看不到,检查一下“厚度”和“半径”有没有输反。
- Insert:插入新面
- Ctrl+Z:撤销(这个很重要,我经常用)
- F6:波长设置
- F4:视场设置
- F3:孔径设置
3.3.3 面型转换与常用设置
VR镜头里,非球面是标配。怎么把球面变成非球面?
- 在LDE里,双击“Surf:Type”那一列。
- 在弹出的窗口里,选择“偶次非球面(Even Asphere)”。
- 确定后,LDE里会多出几列,比如“Conic”(圆锥系数)和“Coeff on r^2”等。
输入非球面系数时,注意单位。Zemax里,r^2项的系数是归一化的。我刚开始用的时候,直接把供应商给的系数输进去,结果面型完全不对。后来才发现,需要先除以归一化半径的平方。这个坑,我替你先踩了。
3.4 实操流程:从零开始搭一个VR镜头雏形
光说不练假把式。咱们现在动手,搭一个最简单的VR镜头模型。别管性能好不好,先跑通流程。
- 新建文件:File → New。
- 设波长:F6,选F、d、C三色光,主波长587nm。
- 设视场:F4,类型选“角度”,设0°、15°、30°三个视场。
- 设孔径:F3,类型选“入瞳直径”,输入5mm。
- 输入透镜:在LDE里,插入两个面。前表面半径30mm,厚度4mm,材料PMMA。后表面半径-30mm,厚度20mm。
- 设像面:最后一行是像面,厚度设为0(表示光线聚焦到像面)。
- 查看结果:点击“分析” → “布局图” → “二维布局图”。你应该能看到光线从左边射入,经过透镜,汇聚到右边。
如果光线没有汇聚,或者跑到画面外面去了,别慌。检查一下半径的正负号,或者把厚度调大调小试试。设计镜头,很多时候就是“试错”的过程。
好了,现在你可以自己动手试试了。打开Zemax,跟着上面的步骤走一遍。相信我,当你看到自己输入的第一片透镜在三维视图里显示出来时,那种成就感,嗯,挺爽的。