扫码模组的视场角,决定相机在某个距离上能看到多大范围。设备设计时,这个范围需要容纳完整条码、四周静区,以及外壳设计允许的放置偏差。接下来还要检查对焦与图像采样,才能判断该条码是否具备可读条件。
制作支架前,可以先估算覆盖范围。下面采用 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-SSR | 640 × 480 像素 | 67.4° | 56° | 133.4 × 106.3 mm |
| G53-AI | 1280 × 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。比较结果前,应先写清楚测量的是哪一种尺寸。
以上示例适用于标准 QR Code。Data Matrix、Micro QR 等码制有各自的尺寸与静区要求,应分别核对。
把每码元像素数作为前期检查项
二维码大致正对相机、位于图像中心附近时,可以先估算水平方向的采样:
水平像素数/码元
= 水平传感器像素数 ÷ 名义扫描宽度 × 码元宽度
继续使用完整外宽 20 mm、包含静区的二维码示例,在 d = 100 mm 时:
| 型号 | 计算式 | 水平估算像素数/码元 |
|---|---|---|
| XL-609-SSR | 640 / 133.3834 × (20 / 37) | 2.59 |
| G53-AI | 1280 / 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,请准备最小条码样本、测得的码元尺寸、最近和最远目标位置,以及窗口与支架图纸。同时注明主机接口和触发要求。
通过联系鑫龙物联提供这些资料,索取对应光学图纸并讨论样品测试方案,再确定外壳尺寸。