4. 镜头与光学系统设计
在高速运动读码系统中,镜头不是“把相机接上去”的附件,而是决定能否在极短曝光时间内获得可解码图像的第一道关口。相机负责采样,光源负责照亮,而镜头决定了“看多大范围、看多清楚、允许多大距离波动”。当产线速度达到 1~3 m/s、曝光时间被压缩到 50~200 μs 时,景深和视场的余量往往比分辨率更早成为瓶颈。本节围绕四个相互制约的参数——视场(FOV)、工作距离(WD)、景深(DOF)和镜头类型(远心/非远心)——说明它们如何共同决定高速读码的成败,并给出可操作的选型与核算方法。
一、四个参数的基本定义与相互约束
先明确参照约定:本文所有距离均以镜头前端面为基准测量,工作距离 WD 指镜头前端面到被摄物表面的距离;视场 FOV 指在物面上能完整成像的矩形区域宽度;景深 DOF 指在保持可接受清晰度前提下,物面沿光轴前后可移动的范围。三者由放大倍率 β 和镜头焦距 f 通过几何关系绑定:
放大倍率 β = 传感器尺寸 / FOV
焦距 f ≈ WD × β / (1 + β) (近似,薄透镜模型)
景深 DOF ≈ 2 × N × c × (1+β) / β²
N 为光圈F数,c 为允许弥散圆直径
这组关系揭示了一个核心矛盾:要看清小码(β 大),要么缩短 WD,要么增大 f;而 β 增大后,DOF 按 β² 反比急剧缩小。例如 β 从 0.2 提高到 0.4,景深只剩原来的四分之一。高速读码中目标在动、可能还有轻微高度波动,景深被压缩到 2~3 mm 时,任何机械振动或产品翘曲都会导致失焦。因此镜头设计的本质是在“看得清”和“容得下”之间找平衡点。
二、景深:高速读码中最先被牺牲的余量
景深公式中有三个可调量:光圈 F 数 N、允许弥散圆 c、放大倍率 β。增大 N(缩小光圈)能线性增加景深,但进光量按 N² 下降。在 100 μs 曝光下,若把 N 从 4 调到 8,进光量只剩 1/4,必须靠更强光源或更长曝光补偿,而更长曝光又意味着运动模糊。这就是高速场景的典型死结。
允许弥散圆 c 通常取 2~3 个像素尺寸。对 3.45 μm 像元的相机,c 取约 7~10 μm。若码的最小模块(module)在像面上只占 2 个像素,c 取大了会直接糊掉模块边界,所以高速读码中 c 往往取偏小值,进一步压缩景深。实际工程中,景深核算后建议再留 30% 安全余量,用于吸收安装公差和产品高度波动。
三、视场与工作距离的联动选择
视场由传感器尺寸和放大倍率决定,而放大倍率又受工作距离约束。产线安装空间常常限定了 WD 的上限,例如机械臂末端或狭小工位只能给出 150 mm 工作距离。此时若需要 60 mm 视场、1/1.8″ 传感器(约 8.9 mm 宽),则 β ≈ 0.148,所需焦距 f ≈ 150×0.148/1.148 ≈ 19 mm。若换用 1″ 传感器(约 14.1 mm 宽),同样视场下 β ≈ 0.235,f ≈ 28 mm,景深会明显变浅。这说明传感器越大,虽然单像素覆盖物面更粗,但放大倍率上升会吃掉景深,需要综合权衡。
另一个常被忽略的点是视场与码尺寸的匹配。DataMan 类读码器要求码在视场中占据足够像素:一维码建议最小条宽不少于 2 个像素,二维码建议最小模块不少于 3 个像素。若视场选得过大,码在图像中太小,解码率骤降;视场选得过小,产品稍有偏移码就出画。通常让码占视场宽度的 1/3~1/2 较为稳妥。
四、远心与非远心镜头的取舍
非远心镜头结构简单、成本低、工作距离选择灵活,但存在透视误差:物体离镜头越近,成像越大;离得越远,成像越小。对于高度一致、位置稳定的产品,这种误差可以忽略。但在高速读码中,产品可能有 ±2 mm 的高度波动,非远心镜头会造成放大倍率变化,码的模块宽度随之变化,解码器需要不断适应,读码率下降。
远心镜头通过在主光路中加入孔径光阑,使主光线平行于光轴,从而在标称景深范围内保持放大倍率基本恒定。它带来的好处是:测量和读码的尺度稳定,边缘码不会因透视而变形,景深内的清晰度更均匀。代价是体积大、重量重、成本高,且工作距离通常固定、视场一般不超过镜头口径的 1~1.5 倍。对于小视场、高精度、高度波动明显的场景,远心镜头几乎是唯一选择;对于大视场、产品平整、成本敏感的场合,非远心镜头更经济。
五、面向高速读码的选型核算示例
下面给出一个可复用的核算流程,参数为教学示例,实际项目需按现场测量替换。
场景假设:产线速度 1.5 m/s,曝光时间 120 μs,产品高度波动 ±1.5 mm,码为 10 mm×10 mm 的 Data Matrix,最小模块 0.25 mm,安装空间允许 WD 约 200 mm,选用 1/1.8″ 传感器(8.9 mm×6.7 mm,像元 3.45 μm)。
- 确定所需视场:让码占视场宽度约 40%,则 FOV ≈ 25 mm。
- 计算放大倍率:β = 8.9 / 25 ≈ 0.356。
- 估算焦距:f ≈ 200×0.356/1.356 ≈ 52.5 mm,选 50 mm 定焦。
- 核算模块像素数:0.25 mm × 0.356 / 0.00345 mm ≈ 25.8 像素/模块,远高于 3 像素下限,分辨率充足。
- 核算景深:取 N=8、c=8 μm,DOF ≈ 2×8×0.008×(1+0.356)/0.356² ≈ 1.37 mm。这小于高度波动 ±1.5 mm,说明非远心方案在此条件下会失焦。
- 调整方案:改用远心镜头,标称景深 4 mm,WD 固定 200 mm,视场 25 mm,倍率 0.35×。此时高度波动被景深覆盖,且倍率恒定,解码稳定性显著提升。
若成本受限必须用非远心镜头,可退而降低 β:换用 2/3″ 传感器(11.3 mm 宽)并把 FOV 放宽到 35 mm,β ≈ 0.323,景深略增但仍不足;更有效的做法是缩小光圈到 N=11 并同步提高光源亮度,或增加机械限位把高度波动压到 ±0.8 mm 以内。这些取舍没有唯一答案,取决于现场对读码率、成本和安装空间的优先级。
六、工程落地检查要点
- 先确认码的最小模块尺寸和所需像素数,再反推最大允许 β,避免“先选镜头后算分辨率”。
- 景深核算结果至少留 30% 余量,并把产品高度波动、传送带跳动、安装公差一并计入。
- 远心镜头的工作距离和视场通常成对固定,选型时要同时确认两者是否匹配工位空间。
- 非远心镜头在大视场、平整产品、成本敏感场景仍有优势,不必一律追求远心。
- 镜头接口(C/CS)、最大传感器尺寸、光圈范围要与相机匹配,避免暗角或无法合焦。
综上,镜头与光学系统设计的核心不是追求某一项指标最优,而是在视场、工作距离、景深和镜头类型之间找到与现场条件匹配的组合。远心与非远心的取舍,本质上是“倍率稳定性”与“成本、体积、灵活性”之间的权衡。把景深和像素占比算清楚,再决定是否上远心,才能让高速读码系统在速度与稳定性之间站住脚。