☰
典型光学系统落地:放大率、NA、F数与光阑判定
2026/10/31 14:12:55 网站建设 项目流程

工程光学里的典型光学系统,课本上一章就讲完了:放大镜、显微镜、望远镜、摄影物镜、投影物镜、目镜。真要落地一台设备才发现,这一章最不好糊弄。放大率算对了不代表看得清,看得清不代表照度够,照度够了视场边缘又暗一圈。我做过几套显微成像和望远光路,返工时最常翻回去看的,还是这章。这篇不讲教科书推导,按我自己的落地顺序捋:六类系统怎么选型、三根硬指标怎么算、光阑怎么判、从需求到装调怎么走一遍、常见故障怎么排。刚上手光路设计的能直接抄流程,做过几个项目、想把参数依据补扎实的,也能找到对得上的计算过程。

1. 典型光学系统先理清哪几条主线

1.1 六类系统的共同骨架:物、光组、像、探测器

放大镜、显微镜、望远镜、摄影物镜、投影物镜、目镜看着是六个东西,剥开外壳骨架完全一样:一个物面,一组透镜,一个像面,一个接收者。差别只在“接收者”是谁、“物在哪”。望远镜的接收者是人眼,物在无穷远;显微镜的接收者也是人眼,物在物镜前焦面附近几毫米;摄影物镜的接收者是感光面,物从几十厘米到无穷远;投影物镜反过来,物是显示芯片,像在几十厘米到几米的幕布上。我画系统草图先标五个位置——物面、入瞳、孔径光阑、出瞳、像面。五个位置定错一个,后面参数全歪。入门最容易犯的错,是只画物和像,把光阑丢在一边;等算照度、算渐晕、算远心度时,才发现光阑位置才是真正的“隐形主角”。

之所以强调这个骨架,是因为工程光学的所有公式都挂在近轴条件上:小角度、近轴光线、单色。真实系统一开大孔径、一放视场,近轴公式就给不出答案,得靠像差理论和实际追迹补。这个“先近轴后实际”的两步走,是我做任何系统的默认流程:近轴阶段定尺寸、定光焦度分配、定光阑位置,几分钟手算就能跑通;实际阶段再上软件优化面型和材料,把像差压下去。跳过近轴直接开软件优化,常见后果是优化出一个数学上收敛、机械上装不出来的怪物——元件中心厚度 0.3mm、边缘厚度负数、镜片间距比口径还小。

1.2 选型分水岭:要“分辨细节”还是“收集能量”

六类系统按用途粗分两派。一派是成像分辨派:显微镜、望远镜、摄影物镜,核心指标是分辨率,或者叫“能看清多细”。另一派是能量传递派:投影物镜、照明系统、聚光镜,核心指标是照度和均匀性,“能送多少光上去,送得匀不匀”。这两派对同一个参数的态度完全相反。

举个具体对比。显微物镜追求高数值孔径,因为分辨率正比于数值孔径;数值孔径上去了,工作距离一定变短,景深也一定变浅——40 倍、数值孔径 0.65 的物镜,工作距离通常只有零点几毫米,景深也就一两个微米。而投影照明系统恰恰相反,它恨不得数值孔径越小越好,因为数值孔径小意味着光束集中、能量利用率高;同时又要照明均匀,所以必须把光源发散角做大再重新收拢。同一个“数值孔径”,一个往大里做,一个往小里做,方向完全相反。

所以拿到需求第一件事,是判断这套系统落在哪一派。判断错了,后面所有参数都会南辕北辙。我见过把摄影物镜思路套到投影上的方案:为了提升分辨率把相对孔径开到很大,结果投影幕布中心亮得刺眼、四角发灰,均匀性只有 40% 出头——根子在于投影系统的瓶颈从来不是分辨率,而是照明均匀性。

1.3 反着推:从像面探测器和人眼倒推系统指标

我做方案习惯从末端往回推,不从物方开始。末端有两个可能:一个是探测器(感光芯片、成像芯片、光电二极管阵列),一个是人眼。这两个的“底线参数”是固定的,倒推最省事。

探测器端要问三个数:像元尺寸、靶面尺寸、可接受的最低照度。像元尺寸直接决定系统需要多高的分辨率——两个相邻像元中心距是 5 微米,那系统在像面上的分辨极限就必须优于 5 微米,否则两个像元的信息会糊在一起,分辨率白给。这就是取样定理在光学里的落地说法:光学分辨率要优于像元尺寸,最好是像元尺寸的两倍以上,留够余量。

人眼端要记两个数:角分辨率大约 1 角分,明视距离 250 毫米。1 角分换成弧度是 2.9×10⁻⁴ 弧度,这是所有目视系统的设计底线——系统送到眼睛里的细节,张角必须大于这个值,人才分得出来。放大镜、显微镜、望远镜的“有效放大率”全部由这个 1 角分推出来,不是拍脑袋定的。明视距离 250 毫米则是显微镜和放大镜放大率定义的锚点,这一点下一节详细算。

提示:倒推的时候一定要把“中间环节的损失”算进去。比如探测器前有一片保护玻璃、一片滤光片、一个分光棱镜,每一片都有透过率和波前畸变。我吃过亏:设计值算得好好的,装完发现成像对比度明显下降,查了半天是滤光片平行度不够引入了像散。

2. 三根硬指标:放大率、数值孔径、F 数

2.1 视觉放大率:望远镜和显微镜的算法不是一回事

视觉放大率是目视系统最容易被含糊过去的参数。很多人以为放大率就是一个数,实际上望远镜和显微镜的定义方式完全不同,混用会出大错。

望远镜的视觉放大率等于物镜焦距除以目镜焦距,符号为负表示倒像:

Γ = -f₁′ / f₂′

举例,物镜焦距 500mm、目镜焦距 20mm,放大率就是 -25 倍,倒像。25 倍这个数不是随便挑的,它有物理依据:物镜口径 50mm 时,衍射极限对应的角分辨率大约是 140 除以口径毫米数,即 140/50 = 2.8 角秒。人眼分辨率是 60 角秒,60/2.8 ≈ 21,也就是说放大率到 21 倍左右,人眼就能把物镜口径能分辨的细节全部看出来了。再往上加放大率,看到的还是那 2.8 角秒的模糊斑,只会更大更暗,不会更清楚。这就是“有效放大率”的含义。25 倍配 50mm 口径,刚好在有效区间内,属于合理搭配。

显微镜的视觉放大率是物镜放大率和目镜放大率的乘积:

Γ = β_物 × Γ_目

其中物镜放大率 β_物 = Δ / f_物′,Δ 是光学筒长(物镜后焦点到目镜前焦点的距离,常见的有限筒长系统取 160mm),目镜放大率 Γ_目 = 250 / f_目′。举个数:物镜焦距 4mm、筒长 160mm,物镜放大率 = 160/4 = 40 倍;目镜焦距 25mm,目镜放大率 = 250/25 = 10 倍;总放大率 400 倍。这里 250 就是明视距离,单位毫米,是目镜放大率定义里的固定常数,换成别的数整套算法就崩了。

为什么两个公式差这么多?因为望远镜的物在无穷远,物方信息以“角度”形式进入系统,所以放大率是角放大率;显微镜的物在眼前几毫米,信息以“横向尺寸”形式进入系统,所以放大率是横向放大率乘以目视折算。理解了这个来源,就不会在算望远镜时误用 250 这个数。

2.2 数值孔径:显微系统里唯一不能妥协的参数

数值孔径的定义是介质折射率乘以孔径角的正弦:

NA = n · sin u

它是显微系统里最硬的参数,因为分辨率直接挂在它身上:

δ = 0.61 λ / NA

λ 取 0.55 微米(可见光中段)。代入几个典型值算一下:NA = 0.25 时,δ = 0.61×0.55/0.25 ≈ 1.34 微米;NA = 0.65 时,δ ≈ 0.52 微米;NA = 1.4(油浸,n 取 1.515 左右)时,δ ≈ 0.24 微米。数值孔径从 0.25 提到 1.4,分辨率提升五倍多,这就是为什么高倍物镜非要浸油——不浸油,孔径角再大也超不过 90 度,NA 上不去,分辨率就卡在 0.5 微米左右下不来。

但数值孔径不是白给的,它有三个硬代价:第一,工作距离迅速缩短,NA 越大物镜越要贴着样品;第二,景深迅速变浅,NA = 1.4 时景深只有零点几微米,样品稍微不平就一半虚焦;第三,像差校正难度陡增,大孔径角意味着大入射角,球差和色差都变严重,必须用多片组合校正。所以实际选型不是“NA 越大越好”,而是“按分辨率需求定 NA”。要看清 2 微米的细节,NA 到 0.3 就够,非要上 1.4 的物镜,工作距离和景深全赔进去,得不偿失。

这里给一个实用的配套关系:物镜的标称放大率和 NA 是绑在一起的,常见组合是 10 倍配 0.25、20 倍配 0.4、40 倍配 0.65、100 倍配 1.25 到 1.4。看到标称放大率就能反推 NA 量级,反过来也成立。如果拿到的物镜标称 100 倍但 NA 只有 0.5,那基本可以判断这是一支“空放大”的低端货,标称倍率靠缩短焦距硬凑的。

2.3 F 数:摄影系统的“汇率”,差一档差一倍光

摄影和投影系统的核心参数是 F 数(相对孔径的倒数):

F = f′ / D

f′ 是焦距,D 是入瞳直径。F 数最直观的作用是换算照度:像面照度反比于 F 数的平方。F/2 到 F/2.8 差一档,照度减半;F/2 到 F/4 差两档,照度降到四分之一。这就是为什么光圈标记是 1.4、2、2.8、4、5.6、8 这样排——相邻两档差根号 2 倍,照度正好差一倍,是摄影师的“汇率表”。

F 数还管着另外两件事。一是衍射极限:F 数越大,衍射斑越大,像面上的极限分辨率越低。衍射斑直径近似等于 2.44 λ F,λ 取 0.55 微米时,F/8 的衍射斑约 10.7 微米,F/16 约 21.5 微米。这个数要和像元尺寸比:像元 4 微米,F/8 的衍射斑 10.7 微米已经比像元大一倍多,说明此时系统分辨率被衍射卡住,再缩光圈只会更糊。小像元高像素的机器缩到 F/11 以后画质下降,根子就在这里。二是景深,F 数越大景深越深,公式在第四节展开算。

实际选型时,这三个约束是打架的:要大光圈(小 F 数)提升进光量和虚化,就得接受更难的像差校正和更贵的镜片;要小光圈(大 F 数)提升景深和锐度,就得接受衍射限制和进光量不足。我的经验是,先把“最低照度要求”和“像元尺寸”两个硬条件摆出来,能算出一个 F 数的可行区间,再在这个区间里挑。

3. 光阑系统:孔径光阑、视场光阑和渐晕

3.1 孔径光阑的判定:按像方空间张角最小来,不要凭感觉

孔径光阑是系统里“限制轴上物点光束”的那个元件,它决定了入瞳和出瞳的大小,进而决定了数值孔径或 F 数。判定方法有严格流程,但很多人靠“看上去哪片最小”来猜,经常猜错。

正确做法是:把系统中每一个可能的限制者(每片透镜的通光孔径、专门的孔径光阑、机械镜筒内壁)逐个对“它前面的光组”成像到物方空间,然后比较这些像对轴上物点所张的角,张角最小的那个就是孔径光阑。为什么要成像到物方空间?因为只有折算到同一个空间里,张角才有可比性。直接在各自的位置比通光口径,是不成立的——离物面远的元件口径大,实际限制的光束可能反而小。

我做过一个两片式系统的判定,第一片口径 25mm、第二片口径 15mm,凭直觉会认为是第二片限制光束。实际把第二片通过第一片成像到物方后,像的口径被放大了将近一倍,对轴上点的张角反而大于第一片,真正的孔径光阑是第一片。这个反直觉的结论如果不走判定流程,绝对想不出来。

判定完孔径光阑,入瞳和出瞳就顺势出来了:入瞳是孔径光阑经其前方光组在物方空间所成的像,出瞳是它经后方光组在像方空间所成的像。望远镜的出瞳直径 = 物镜口径 / 放大率,50mm 口径配 25 倍,出瞳 2mm。这个 2mm 要和人的瞳孔直径比:白天瞳孔 2 到 3mm,出瞳 2mm 刚好匹配,不浪费;夜间瞳孔放大到 5 到 7mm,出瞳只有 2mm 的话,物镜收集的光大部分浪费在虹膜上。所以观星用的望远镜,出瞳直径必须做到 5mm 以上,配 25 倍就是物镜口径至少 125mm。这个推算链条——瞳孔直径决定出瞳直径,出瞳直径乘以放大率决定物镜口径——是望远系统选型最实用的一条经验。

3.2 视场光阑与渐晕系数:边缘暗一圈的真正原因

视场光阑限制的是“轴外物点能进入系统的光束”,它决定了系统的视场大小。判定方法和孔径光阑类似,只不过追迹的是视场边缘的主光线,把每个限制者对它前面的光组成像,比较张角,最小的那个是视场光阑。摄影系统里视场光阑通常是感光面本身或者镜筒前的遮光罩,显微系统里是目镜的场镜或者物镜的视场光阑,望远系统里往往是目镜的接目镜框。

视场光阑一确定,渐晕就来了。所谓渐晕,是指轴外点发出的充满孔径光阑的光束,有一部分被其他元件(通常是镜筒或透镜边缘)挡住了,导致轴外像点的照度低于轴上像点。渐晕系数 K 定义为轴外点实际通过的光束宽度与轴上点光束宽度的比值,K = 1 表示无渐晕,K = 0.5 表示边缘点只通过一半光束,照度理论上降到四分之一(因为照度跟光束截面积成正比)。

这里有个工程上很实用的取舍:完全不渐晕的系统,前端元件口径要大得离谱,成本和重量都吃不消。所以实际设计普遍允许一定渐晕,把边缘照度压到中心的 50% 到 70%,靠探测器的动态范围或者后期的平场校正补回来。摄影镜头边缘暗角(俗称暗角)就是这个,做到 F/2.8 边缘照度只有中心 40% 是常态。显微系统对渐晕更敏感,因为人眼对亮度不均匀的容忍度比算法低,所以显微物镜一般严格控制渐晕。

注意:渐晕的“度”要跟应用对上。测量类系统(比如影像测量、尺寸检测)边缘照度不均匀会直接导致边缘测量误差,因为边缘对比度下降、边缘定位精度跟着下降。这类系统我一般把渐晕系数控制在 0.9 以上,宁可牺牲一点口径成本。

3.3 远心光路:为什么测量系统非它不可

远心光路是典型光学系统里最“工程”的一块,纯理论课上往往只给一句“光阑放在焦面上”,实际用起来才知道它解决的是非常具体的问题。

物方远心的做法,是把孔径光阑放在系统的像方焦平面上。这样入瞳被推到物方无穷远,物方主光线平行于光轴。带来的效果是:物距在小范围内变化时,放大率不变。这一点对测量系统至关重要。普通成像系统,物距从 100mm 变到 101mm,放大率就变了 1%,一个 10mm 的零件测出来可能差 0.1mm。物方远心系统里,物距变化只影响清晰度,不影响放大率,尺寸测量才可信。

像方远心的做法相反,把孔径光阑放在物方焦平面上,出瞳在像方无穷远,像方主光线平行光轴。它解决的是像面照度均匀性问题——主光线垂直入射到像面,不会因为斜入射导致边缘像元接收效率下降,这对成像芯片尤其重要。很多芯片的微透镜对入射角敏感,入射角超过十几度,边缘像元的响应就往下掉,形成“镜头不渐晕但画面还是暗角”的怪现象。

两个都做,就是双远心,代价是系统长度明显变长、口径明显变大。我的一般经验:测量精度要求优于 1% 用物方远心,要求优于 0.1% 用双远心,只是要看不能测的话,普通光路加软件校正更划算。

4. 一套望远系统从需求到手算到验证

4.1 从需求倒推参数:先定三个数

假设需求是:观察 500 米外、直径 5 厘米的物体细节,白天使用。倒推流程如下。

第一步定角分辨率需求。5 厘米在 500 米处的张角是 0.05/500 = 1×10⁻⁴ 弧度,约 20.6 角秒。人眼分辨率 60 角秒,所以放大率至少要 60/20.6 ≈ 3 倍才能“看见”。但这是最低要求,实际要看清楚,需要放大到人眼舒适的倍数,行业经验是取 3 到 5 倍的最低值。先记下最低 3 倍。

第二步考虑衍射匹配。要让系统真正“用得上”物镜口径,放大率要和口径配套。口径 50mm 时衍射极限 2.8 角秒,有效放大率约 21 倍。这个数和第一步的 3 倍取大者,得到 21 倍左右。

第三步考虑出瞳直径。白天瞳孔 2 到 3mm,出瞳直径做到 2.5mm 左右比较合适,既不浪费光也不至于眼睛要贴得很近。出瞳直径 = 口径/放大率,口径 50mm、出瞳 2.5mm,对应放大率 20 倍。

三个约束一交集,20 到 25 倍是合适区间。取 25 倍,配 50mm 口径,出瞳 2mm,略小于白天瞳孔,属于偏紧凑的搭配,适合手持。如果要兼顾黄昏使用,口径提到 60mm,出瞳 2.4mm,仍然合理。

4.2 近轴矩阵手算:两分钟验证光焦度分配

放大率定了,焦距分配就能算。25 倍、目镜取 20mm 焦距(这个长度的目镜出瞳距离比较舒服,眼罩好做),物镜焦距 = 25×20 = 500mm。系统间隔按无焦条件取两焦距之和,520mm。

用近轴矩阵验证一下,这个手算两分钟能跑完,能避免后面在软件里瞎试。近轴 y-u 追迹的传递矩阵,薄透镜是 [[1,0],[-1/f,1]],空气间隔是 [[1,d],[0,1]]。系统总矩阵等于各元件矩阵从右往左连乘:

M = L(20) · T(520) · L(500)

手算:先算 T(520) · L(500),得到 [[1-520/500, 520], [-1/500, 1]] = [[-0.04, 520], [-0.002, 1]]。再左乘 L(20):第一行不变,得 [-0.04, 520];第二行是 [-1/20×(-0.04) + (-0.002), -1/20×520 + 1] = [0.002-0.002, -26+1] = [0, -25]。

结果矩阵是 [[-0.04, 520], [0, -25]]。矩阵左下角元素是系统光焦度,等于 0,说明这是无焦系统,平行光进、平行光出,符合望远镜的定义。右下角元素是角放大率,等于 -25,和设计目标一致。这两个数字同时对上了,说明焦距分配和间隔设置都没问题。

顺手验证一下间隔设错的后果。把间隔从 520 改成 510,重算:T(510)·L(500) = [[1-1.02, 510], [-0.002, 1]] = [[-0.02, 510], [-0.002, 1]]。左乘 L(20):第一行 [-0.02, 510];第二行 [0.001-0.002, -25.5+1] = [-0.001, -24.5]。左下角是 -0.001,不为零,等效焦距 = -1/(-0.001) = 1000mm。这意味着系统有 1000mm 的正光焦度,平行光进去会聚成焦点,眼睛贴上去看的是发散的像,根本用不了。这就是装调时“物镜和目镜间距差 10mm”会产生的实际后果——差 10mm 就彻底失焦,不是“稍微糊一点”。望远镜的焦深非常窄,这也是光机结构必须做调焦机构的原因。

4.3 用代码跑一遍:把矩阵法变成可复用工具

手算只能验一个方案,做成脚本才能批量试。下面这段代码是我常用的近轴矩阵工具,纯基础库,不依赖任何光学软件,三十行跑通六类系统的初步验证:

import numpy as np def lens(f): """薄透镜矩阵,f 为焦距(mm),正透镜 f>0""" return np.array([[1.0, 0.0], [-1.0 / f, 1.0]]) def gap(d): """空气中平移间距 d(mm)""" return np.array([[1.0, d], [0.0, 1.0]]) def trace(elements): """按光线从左向右传播的顺序传入元件,返回系统总矩阵""" M = np.eye(2) for e in elements: M = e @ M return M def report(name, M): phi = M[1, 0] gamma = M[1, 1] print(f"--- {name} ---") print("系统矩阵:\n", np.round(M, 6)) print("光焦度 Φ =", round(phi, 6)) print("角放大率 Γ =", round(gamma, 4)) if abs(phi) > 1e-12: print("等效焦距 f' =", round(-1.0 / phi, 3), "mm") else: print("无焦系统(平行光进、平行光出)") # 方案一:无焦望远镜,物镜500mm、目镜20mm、间隔520mm report("望远镜 20倍", trace([lens(500.0), gap(520.0), lens(20.0)])) # 方案二:间隔装错10mm report("望远镜 间隔偏10mm", trace([lens(500.0), gap(510.0), lens(20.0)]))

输出就是上一节手算的结果,验证了代码和手算一致。这个工具的价值在于改参数极快:想试 30 倍,把物镜改成 600mm 重跑;想试 15 倍,改成 300mm。比在光学软件里重新建模快一个量级,非常适合做方案初筛。我一般先用它把三到五个候选方案的焦距、间隔、出瞳直径全跑一遍,选出两个靠谱的再进软件做实际优化。

光学软件这一步的重点不再是“算得出来”,而是“算得像不像真的”。要把薄透镜换成实际厚透镜、给定材料、开实际孔径、设视场、放开优化变量压像差。这里有个容易忽略的点:软件里优化的初始结构必须是从近轴方案来的。直接让软件“随机初始结构+全局优化”,大部分时候收敛到一堆没法加工的形状,原因就是缺了近轴阶段的光焦度合理分配。

4.4 装调阶段的实际偏差:几个必须留的余量

设计值和实际装出来的差距,主要来自三处余量没留够。

一是焦距公差。镜片加工出来的实际焦距和标称值通常有 1% 到 2% 的偏差,两支镜片一叠加,放大率可能偏 3%。望远镜放大率偏 3%,视场和出瞳都会跟着偏。我的做法是把目镜做成可沿轴微调的机构,调焦范围留 ±5mm,用来吸收累积误差。

二是间隔公差。上一节算过,间隔差 10mm 系统就彻底失焦。所以轴向间隔的机械公差必须比焦深小一个量级。焦距 500mm、口径 50mm 的系统,焦深大致是 ±2 λ (f/D)² = ±2×0.00055×100 = ±0.11mm。机械公差要做到 ±0.05mm 以内,靠垫片或者研磨隔圈保证,不能指望螺纹旋到位。

三是镜片偏心与倾斜。偏心带来的彗差和像散,在小视场系统里可能感觉不到,一放到视场边缘就特别明显。目视系统的判断方法是:看轴上清晰、看边缘发糊并且像点“拖尾巴”,基本就是偏心。装配时用定心仪或者自准直法校正,别靠“拧紧就行”。

提示:调焦机构不要做成“越紧越好”。我见过把目镜锁死的设计,运输颠一下就偏,用户还没法自己调。留一个手感明确的微调环,成本增加不多,售后能省一大半麻烦。

5. 显微与投影:两个最容易翻车的地方

5.1 显微系统的“有效放大率”与空放大

显微系统最典型的翻车是空放大。前面算过,40 倍物镜配 10 倍目镜得 400 倍,数值孔径 0.65 对应的分辨率是 0.52 微米。这套搭配是否合理,要拿有效放大率区间来检验:有效放大率的经验区间是 500NA 到 1000NA。NA = 0.65 时,区间是 325 到 650 倍。400 倍落在区间内,合格,人眼正好能把物镜分辨出的细节全部看出来。

换个搭配:同样 NA = 0.65 的物镜,配 20 倍目镜,总放大率 800 倍,超出了 650 的上限。这时候多出来的 150 倍全是“空放大”,看到的还是 0.52 微米的模糊斑,只是被放得更大更暗,细节一点没多。更糟的是像面照度按放大率平方下降,800 倍下的照度只有 400 倍的约四分之一,看起来反而更不清楚。

反过来的情况也会出问题:NA = 1.25 的物镜,分辨率 0.27 微米,有效放大率区间是 625 到 1250 倍。如果只配 10 倍目镜,而物镜是 100 倍,总放大 1000 倍,落在区间内,没问题;但如果为了省钱配了 5 倍目镜,总放大只有 500 倍,低于 625 的下限,这时候物镜分辨出来的细节人眼看不全,等于浪费了这支贵物镜。

所以显微系统的搭配原则很明确:先按分辨率需求定 NA,再由 NA 算出有效放大率区间,最后在区间内选物镜和目镜的组合。顺序反过来,先定倍率再找物镜,必然踩到空放大或者放大不足。

这里再补一个实操细节:显微系统的景深和 NA 是死对头。NA = 0.65 时景深大约 1.5 微米,样品表面只要不平超过 1.5 微米,一半视场就虚。所以看有厚度的样品时,要么选低 NA 物镜(牺牲分辨率换景深),要么用焦点堆叠(拍多层再合成)。我用 40 倍物镜看粗糙样品时,一律拍 5 到 10 层堆叠,单张永远不够用。

5.2 投影照明:亮度优先还是均匀优先,这个必须早定

投影系统的照明方式有两种基本路线,选错路线后面全白干。

第一种是把光源成像到物面(被照明的显示芯片)上。这种方式的优点是光能利用率高,光源的像刚好覆盖物面,不浪费;缺点非常明显:光源本身不均匀(比如灯丝、灯珠的电极区),光源的像投射到物面上,物面照度就跟着不均匀。而且光源有尺寸,成像到物面上会有几何“模糊”,边缘不锐利。这种照明适合对均匀性要求不高、但对照度要求极高的场合。

第二种是把光源成像到投影物镜的入瞳上。这种方式下,物面上每一点都被整个光源照亮,照度均匀性由光源的发散角分布决定,通常能做到 85% 以上;代价是光能利用率相对低一点,需要更大的聚光镜口径。绝大多数投影和显微照明都走这条路,因为均匀性是人眼最敏感的东西——亮度差 20% 肉眼就能看出来,而光能损失 20% 换个亮一点的源就补回来了。

选择的关键判断点是:物面是“被照明的物体”还是“要成像的物体”。如果物面本身就是要投射出去的图像(显示芯片),那必须均匀照明,走第二种;如果物面只是要被照亮以便观察(比如显微镜下的样品),两种都能用,看样品特性。透明样品(比如细胞、切片)需要斜照明提高对比度,用偏轴的第二类照明;不透明样品(比如金属表面)用同轴的第一类照明,靠反射光成像。

投影物镜本身的设计要点和摄影物镜高度相似,但有两个特殊约束。一是工作距离,投影物镜要离显示芯片足够远,才能装下分光棱镜、滤光片这些附件,所以即使是广角设计,后工作距离也必须留够。二是放大倍率通常大于 1(把小芯片投到大幕布上),横向放大率 β = l′/l,比如物距 110mm、像距 1100mm,β = 10 倍;这时候物方数值孔径是像方的 10 倍,物方透镜的口径和像差校正难度都要按这个比例放大。

6. 常见问题速查与排查路径

6.1 成像类问题:从“糊”到“暗”的排查顺序

成像问题排查有一个固定顺序,按这个顺序走能省大量时间:先查焦点,再查光阑,再查像差,最后查杂光。

查焦点最直接:把系统对无穷远或者对已知距离的靶标调焦,看能不能调到最清晰。调不到最清晰,先怀疑间隔和焦距公差,别急着改设计。我遇到最多的“成像模糊”其实是目镜或者调焦环没调到位,机械行程不够。

查光阑:把孔径光阑开到最大和最小时各看一次。如果缩小光阑后像质明显变好,说明大孔径下像差没校正住,是设计问题;如果缩小光阑后像质没变化,说明系统分辨率被别的东西卡住了(比如探测器像元、衍射、装调偏心)。这个“开关光圈看变化”的诊断法非常有效,两分钟就能判断问题在设计端还是装配端。

查像差:看像点的形状。轴上点模糊、边缘清晰,多半是球差;轴上都清晰、边缘拖尾巴,多半是彗差或场曲;中心和边缘不能同时清晰,场曲;像点有彩色边,色差。这几种判断不需要仪器,肉眼加一个分辨率靶就能做初步定性。

查杂光:关掉环境光,看视场里有没有均匀的灰雾。有的话是镜筒内壁反射或者镜片边缘漏光,加消光螺纹、涂消光漆、做镜片边缘涂黑就能解决。这个最容易被忽略,但对对比度的影响极大,尤其是白天户外使用的系统。

6.2 机械与装调类问题:几个反复出现的坑

机械问题看起来琐碎,但对最终效果的影响往往超过光学设计本身。我踩过的坑集中在这几处。

镜片压得太紧导致面形变形。小口径镜片用压圈固定时,扭矩稍大就会把镜片压变形,引入像散。判断方法:松掉压圈,像质变好,就是压太紧了。解决办法是用弹性压圈或者点胶,别用刚性压圈硬顶。

隔圈平行度不够导致倾斜。隔圈两端面不平行,镜片装上去就是斜的。小视场系统看不出来,大视场系统边缘像质明显下降。要求是隔圈两端面平行度优于 10 角秒,加工时明确标注,别只写“平行度良好”。

温度变化导致焦点漂移。镜筒材料和镜片材料的热膨胀系数不一样,温度变 20 度,焦点可能漂几十微米,直接失焦。金属镜筒配玻璃镜片的组合尤其明显。解决办法是用低膨胀材料做镜筒,或者设计温度补偿结构,或者干脆留一个可调焦的机构让用户自己调。

装配顺序错了返工难。有些系统必须从一端逐个装入,如果先装了不该先装的件,后面全部卡住。我做装配工艺文件时一定画一张装配顺序图,标清楚每个件的装入方向和是否可拆,这比事后返工省事得多。

6.3 常见问题速查表

把上面这些整理成一张表,出问题时按行对照,能快速缩小范围。表里的“判断依据”都是我自己验证过、可以复现的简单实验,不需要专业仪器。

现象可能原因快速判断方法处理方向
全都模糊,怎么调都不清晰间隔超差、焦距偏差换一个已知好的同规格镜片试调整间隔,加调焦机构
轴上清晰、边缘模糊场曲、彗差、镜片偏心缩小光圈看边缘是否改善校正场曲,重新定心
缩小光圈明显变清晰大孔径像差未校正光圈开大开小对比优化面型,增加镜片
缩小光圈无变化分辨率被探测器或衍射限制计算衍射斑与像元尺寸比较换小像元或降低 F 数
边缘暗一圈,中心正常渐晕、像面斜入射看渐晕系数和主光线入射角放大前组口径,改远心
视场里有灰雾、对比度低镜筒内壁杂光遮住入射光看灰雾是否消失加消光螺纹,涂消光漆
像点有彩色边色差未校正换单色光源看是否消失用消色差组合,换材料
松掉压圈像质变好镜片被压变形松压圈前后对比改弹性压圈或点胶
温度变化后失焦材料热膨胀不匹配常温与高温各测一次焦点换镜筒材料,加温补结构
放大率与标称不符焦距公差、间隔偏差实测靶标尺寸反算放大率调整间隔,重新标定

这张表最有用的地方不是“给答案”,而是“给判断路径”。同样一个“模糊”,可能是五种原因,靠猜永远猜不准;靠“开关光圈看变化”这类两分钟能做完的实验,一次就能排除掉一大半。

7. 几条从实际项目里攒下来的经验

最后说几个我认为比公式更值钱的点。

先算有效放大率,再谈倍率。不管是显微还是望远,标称倍率是最容易骗人的参数。一支标称 100 倍的显微物镜,如果 NA 只有 0.5,有效放大率上限才 500 倍,配 10 倍目镜刚好,配 20 倍目镜全是空放大。我把“NA 乘以 500 到 1000”这个区间当成硬约束,任何搭配先过这一关,能挡掉一大半不合理的选型。

光阑位置比光阑大小更影响结果。很多人调系统只调光阑口径,调来调去照度均匀性还是不行。实际上把光阑沿轴移动几十毫米,渐晕分布和像面照度均匀性会有明显变化,尤其是远心度要求高的系统,光阑位置差一点,远心度就掉下来。我调照度均匀性时,第一件事是挪光阑位置,第二件事才是改口径。

近轴手算不能省,但也不能信到底。近轴矩阵能两分钟验完光焦度分配和放大率,这个环节省不掉,省了后面全是瞎试。但近轴算出来的“完美”方案,一开实际孔径就是一塌糊涂,因为近轴公式里根本没有像差。正确姿势是:近轴阶段只负责“结构对不对”,实际阶段负责“像质够不够”,两个阶段的问题不要混在一起查。

公差分析要在设计阶段做完,不要等装完再补。我见过太多方案,设计报告里像质指标漂亮得不行,装出来一测差一大截,回头做公差分析才发现某片镜片的偏心公差要求是 5 角秒,现有工艺根本做不到。公差分析的正确时机是设计定稿前,把每片镜片的曲率、厚度、偏心、倾斜公差列出来,跑一遍蒙特卡洛,看良率能不能接受。良率低于 80% 的设计,工艺上就是灾难。

留可调机构,比追求一次装准更划算。纯靠加工精度保证装配精度,成本会指数上升。与其把公差压到极致,不如在关键位置留一个可调的自由度——目镜沿轴可调、物镜组可做二维偏心调整、光阑位置可微调。这三个自由度加起来的成本,往往比把所有零件精度提高一个等级便宜得多,而且售后维护也方便。

这套流程我在几个项目里反复用过,每次都能在前期把明显的坑排掉,剩下的都是真正需要靠经验和反复试的部分。工程光学这行,公式是门槛,判断力才是本事。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询