工程笔记/OEM 扫码引擎

扫码模组视场角:计算扫描范围,判断二维码能否完整入镜

估算目标平面的覆盖宽高,计入二维码静区与放置偏差,再验证实际窗口、距离与读码条件。

扫码模组的视场角,决定相机在某个距离上能看到多大范围。设备设计时,这个范围需要容纳完整条码、四周静区,以及外壳设计允许的放置偏差。接下来还要检查对焦与图像采样,才能判断该条码是否具备可读条件。

制作支架前,可以先估算覆盖范围。下面采用 XL-609-SSR 和 G53-AI 已发布英文规格书中的参数,并定义一个明确的 QR Code 示例。计算结果表示名义几何范围,不是实测解码范围。

水平视场角算宽度,垂直视场角算高度

规格书可能分别标注水平、垂直和对角视场角。计算扫描宽度要用水平角,计算扫描高度要用垂直角,不能用对角角度替代其中任何一个。

相机居中、正对平面目标,并采用理想成像模型时:

扫描宽度 W = 2 × d × tan(水平全视场角 ÷ 2)
扫描高度 H = 2 × d × tan(垂直全视场角 ÷ 2)

其中,d 是从光学模型参考点到目标平面的光学距离。规格书给的是完整视场角,代入正切函数前要除以二。普通计算器应使用角度制;软件计算则要将角度转换为弧度。

光学参考点不一定与外壳最前端重合。将估算结果转成支架尺寸前,应先向供应商确认参考点。公式还假定目标平整、垂直于光轴;镜头畸变、图像裁切和前窗都可能改变实际可用范围。Edmund Optics 的视场角应用说明(英文)介绍了这一几何关系及参考点的限制。

水平全视场角、光学距离与扫描宽度的几何关系
理想几何示意,不是机械图;光学参考点与实际读取范围需另行确认。 查看大图

用两款鑫龙扫码引擎做计算示例

两款产品的英文规格书提供了以下输入参数:

已发布输入参数与名义覆盖宽高,非实测读取范围
型号传感器图像水平视场角垂直视场角d = 100 mm 时的名义宽 × 高
XL-609-SSR640 × 480 像素67.4°56°133.4 × 106.3 mm
G53-AI1280 × 800 像素48°28°89.0 × 49.9 mm

例如,XL-609-SSR 的宽度计算为 2 × 100 × tan(67.4° ÷ 2),结果约为 133.4 mm。规格书中的 85.8° 对角视场角是另一项参数,不能代入这个宽度公式。

100 mm 只是演算距离,不代表任一模组已验证可以在这个位置读取某种二维码。应核对相同码制、相同码元尺寸的规定读取范围,再测试实际总成。Code 39 的距离参数不能用于证明 QR Code 的读取距离。

相同光学距离下,XL-609-SSR 较宽的名义视场覆盖更多目标平面;G53-AI 示例中,每毫米对应的水平传感器像素更多。这些结果不构成总体性能排名,对焦、条码密度、照明和解码配置仍然会影响结果。

讨论参数时,可以对照本例采用的XL-609-SSR 英文规格书与G53-AI 英文规格书,确认所用版本与接口型号。

视场角计算工具

计算名义扫描宽高

请输入水平与垂直全视场角。二维码按正方形、与图像坐标轴平行且垂直于光轴处理;标准 QR Code 每侧静区固定为四个码元。此工具估算几何范围与图像采样,不评估对焦,也不预测解码成功率。

名义扫描范围示意使用计算工具估算目标平面的宽度与高度。扫码模组目标平面/二维码范围示意,非等比例;不表示解码结果。

测量二维码尺寸时,要把静区算进去

标准 QR Code 四周都需要保留四个码元宽的空白区,通常称为静区。码元就是码内的一个小方格。DENSO WAVE 的二维码面积说明介绍了这一要求;其中,第 3 版 QR Code 的有效图案每边有 29 个码元。

沿用第 3 版二维码:

有效图案:            每边 29 个码元
静区:                每侧 4 个码元
完整外宽:            29 + 4 + 4 = 37 个码元
示例印刷完整外宽:    20 mm,包含静区
码元宽度:            20 ÷ 37 ≈ 0.541 mm

此时有效图案宽约 15.68 mm。如果量到的 20 mm 只包含有效图案,那么码元宽应为 20 ÷ 29,加上静区后的完整外宽约为 25.52 mm。比较结果前,应先写清楚测量的是哪一种尺寸。

第3版标准二维码示意:有效图案29个码元,每侧静区4个码元
标准 QR Code 几何示意,矩阵图案不是扫码测试样本。 查看大图

以上示例适用于标准 QR Code。Data Matrix、Micro QR 等码制有各自的尺寸与静区要求,应分别核对。

把每码元像素数作为前期检查项

二维码大致正对相机、位于图像中心附近时,可以先估算水平方向的采样:

水平像素数/码元
    = 水平传感器像素数 ÷ 名义扫描宽度 × 码元宽度

继续使用完整外宽 20 mm、包含静区的二维码示例,在 d = 100 mm 时:

本例二维码的水平采样估算
型号计算式水平估算像素数/码元
XL-609-SSR640 / 133.3834 × (20 / 37)2.59
G53-AI1280 / 89.0457 × (20 / 37)7.77

当演算距离改为 150 mm 时,名义扫描宽度和高度都扩大到原来的 1.5 倍,水平估算像素数/码元则分别降至约 1.73 和 5.18。这里的 150 mm 同样是计算输入,不是已确认的 QR Code 工作位置。

这能解释一个常见现象:条码仍在画面内,但随着距离增大,细节可能更难分辨。模糊、运动、对比度、曝光、畸变和解码软件都会影响读取;不存在适用于所有模组、所有码制的通用像素合格线。

垂直方向的采样也要单独检查。水平估算不一定代表最不利方向,边缘与倾斜位置尤其需要验证。同时应确认当前图像模式使用完整传感器画面,还是经过了裁切。

先计入放置偏差,再设计开窗

假设含静区的二维码是 20 mm 正方形,其中心可能向左或向右偏移 10 mm,那么横向至少需要覆盖 20 + 2 × 10 = 40 mm。垂直方向要按实际偏差另算。在计划使用的最近目标位置,这两个范围也应落在实际可用图像内。

还要考虑旋转。20 mm 正方形在自身平面内旋转 45° 后,外接矩形宽约 28.3 mm;再加上左右各 10 mm 的中心偏移,所需横向范围约为 48.3 mm。目标朝向相机或背离相机倾斜,则会带来透视与对焦变化,需要单独检查。

前面板比条码更靠近镜头,因此开窗尺寸不能直接照抄目标平面的扫描范围。应根据模组的光学和机械图确认视线能否穿过开窗,并计入镜头偏移、板厚、密封件与支架公差。补光灯和瞄准灯也有各自的位置,所需通路可能超出相机视线范围。

视场角计算不能独自决定最终开孔。装上计划使用的玻璃或塑料窗,采用实际涂层与安装角度,再检查反光、遮挡与照明。即使条码在几何上完整入镜,前窗反光或补光受阻仍可能导致读取失败。

分别验证最近、最远与边缘位置

先用计算缩小设计范围,再用实际码制、实物样本和最终外壳验证。准备选型条件时,可以参考嵌入式扫码模组选型指南。针对本次光学检查,应保留以下记录:

光学样品验证记录项目
检查项目需要记录的内容
目标定义码制、预期数据、有效码元数、码元尺寸与静区尺寸
距离测量参考面、最近与最远位置、目标倾角
放置位置允许放置范围内的中心、边缘与偏移位置
总成窗口材料、厚度、角度、支架版本与照明设置
读取结果尝试次数、首次正确读取次数、未读、错误数据与重复输出
主机计时约定的起始事件,到应用接受预期数据所需的时间;同时记录截止时间与超时,首次错误输出单列

每个工况应单独保存结果,避免把难读的边缘位置与容易读取的中心位置合并成一个平均值。条码完整入镜却无法解码时,还需继续排查对焦、曝光、反光与已启用码制,再决定是否改变机械尺寸。

关于视场角的常见问题

视场角越大,读取距离就越远吗?

视场角描述角度覆盖范围。读取距离还取决于对焦,以及条码在测试条件下能否得到足够细节。相同距离下,更宽的视场可以覆盖更多区域,同时也可能让同一个码分到的像素更少。

能用对角视场角计算扫描宽度吗?

宽度需要水平视场角,高度需要垂直视场角。规格书只写对角角度时,应向供应商索取另外两个参数。

二维码能放进画面,就一定能扫吗?

完整入镜只是一个条件。图像还需要为解码器提供足够的有效细节,并具备合适的对焦、对比度、照明与配置。应使用实际条码和总成验证。

询样前,准备条码与安装图纸

如果项目正在评估XL-609-SSR或G53-AI,请准备最小条码样本、测得的码元尺寸、最近和最远目标位置,以及窗口与支架图纸。同时注明主机接口和触发要求。

通过联系鑫龙物联提供这些资料,索取对应光学图纸并讨论样品测试方案,再确定外壳尺寸。