第二章:光学成像系统——光源类型、镜头选型与相机分类

大家好,我是老张。做AOI这行十几年了,今天咱们聊聊光学成像系统。说白了,AOI的眼睛就是这套系统——光源、镜头、相机。眼睛不好使,算法再牛也白搭。

我见过太多项目,调试几个月搞不定,最后发现是光源没选对。嗯,咱们今天就把这块掰开揉碎了讲。

光学成像系统知识体系 光源类型 环形光 同轴光 背光 ┄ 角度可调 ┄ 消除阴影 ┄ 轮廓检测 镜头选型 焦距 光圈 景深 ┄ 视野决定 ┄ 亮度控制 ┄ 对焦范围 相机分类 CCD CMOS 分辨率 视野 ┄ 高灵敏度 ┄ 高帧率 三者协同决定成像质量

2.1 光源类型——选对了,问题解决一半

光源是AOI系统的灵魂。我个人习惯,拿到一个检测项目,先不急着调算法,而是花半天时间试光源。为什么?因为光源选对了,缺陷特征自然就凸显出来了。

环形光

环形光是最常用的。它围绕镜头一圈,从各个角度打光。我做过一个PCB焊点检测项目,用环形光45度角照射,焊点的立体感一下就出来了。虚焊、少锡一目了然。

我的经验:环形光的角度很关键。低角度(15-30度)适合检测划痕、凹凸;高角度(60-80度)适合检测平整表面的颜色差异。我一般会准备两套不同角度的环形光,切换着用。

同轴光

同轴光是通过半透半反镜,让光线沿着镜头光轴方向垂直照射。说白了,就是光从镜头里打出去,再反射回来。这种光对反光表面特别有效。

我记得有一次检测手机玻璃盖板上的微小划痕。用环形光怎么都看不清楚,换成同轴光后,划痕像发光的线条一样清晰。嗯,这里要注意:同轴光对表面平整度要求高,如果被测物有弧度,效果会打折扣。

背光

背光就是把光源放在被测物后面,从背面打光。这种光只适合检测轮廓、外形、通孔等。

我曾经做过一个连接器针脚检测项目。针脚密密麻麻,正面打光根本看不清哪个弯了。换成背光后,针脚的轮廓像剪影一样清晰,歪斜的针脚一眼就能看出来。

避坑指南:我曾经犯过一个错误——用背光检测透明物体的表面缺陷。结果透明物体内部的光线折射把缺陷完全掩盖了。记住:背光只看轮廓,不看表面。

2.2 镜头选型——焦距、光圈、景深

镜头选型,说白了就是三个参数:焦距、光圈、景深。你想想看,这三个参数是相互制约的。

焦距

焦距决定视野大小。焦距越短,视野越大,但物体在图像中越小。焦距越长,视野越小,但物体放大倍数越大。

我一般这样估算:如果检测区域是50mm×50mm,用25mm焦距的镜头,工作距离大概在200mm左右。具体公式是:

视野宽度 = 传感器宽度 × (工作距离 / 焦距)
举例:传感器宽度6.4mm,工作距离200mm,焦距25mm
视野宽度 = 6.4 × (200 / 25) = 51.2mm

光圈

光圈控制进光量。光圈越大(F值越小),进光越多,但景深变浅。光圈越小(F值越大),进光越少,但景深变深。

我个人习惯,在AOI中一般用F8到F11。为什么?因为AOI需要一定的景深来容忍PCB板的翘曲。我见过有人用F2.8的大光圈,结果板子稍微翘一点就虚焦了。

景深

景深就是清晰成像的深度范围。AOI中景深很重要,因为被测物不可能绝对平整。

关键点:景深与光圈、焦距、工作距离都有关系。光圈越小景深越大,焦距越短景深越大,工作距离越远景深越大。但注意:景深大了,分辨率会下降。这是个trade-off。

2.3 相机分类——CCD vs CMOS

这个话题,十年前大家还在争论CCD比CMOS好。但现在,CMOS已经全面逆袭了。为什么?

CCD(电荷耦合器件)

CCD的优点是灵敏度高、噪声低、动态范围大。但缺点是帧率低、功耗大、成本高。我记得早期做AOI,用的都是CCD相机,一个500万像素的CCD要上万块。

CMOS(互补金属氧化物半导体)

CMOS的优点是帧率高、功耗低、集成度高。现在的CMOS传感器,噪声控制已经做得非常好了。我最近用的一个1200万像素CMOS相机,帧率能到60fps,价格才3000多。

参数 CCD CMOS 我的建议
灵敏度 中高 CCD略优,但差距缩小
噪声 中低 高端CMOS已接近CCD
帧率 低(15-30fps) 高(60-200fps) CMOS完胜
功耗 CMOS省电
成本 CMOS性价比高
适用场景 高精度静态检测 高速在线检测 现在主流选CMOS
我的选择标准:如果检测速度要求不高(比如<10片/分钟),且对图像质量要求极高,我会考虑CCD。但90%的AOI项目,我推荐用CMOS。特别是产线速度要求高的场景,CMOS的高帧率是刚需。

2.4 分辨率与视野——匹配才是王道

分辨率不是越高越好。你想想看,5000万像素的相机,如果视野是100mm×100mm,每个像素对应的实际尺寸是0.02mm。但你的镜头能不能分辨0.02mm的细节?镜头分辨率跟不上,像素再高也是浪费。

我一般这样算:

像素精度 = 视野宽度 / 水平像素数
举例:视野50mm,相机500万像素(2592×1944)
像素精度 = 50 / 2592 ≈ 0.019mm/pixel

实际能检测的最小缺陷,一般是3-5个像素
所以最小可检测缺陷 ≈ 0.019 × 3 = 0.057mm

嗯,这里要注意:像素精度不等于检测精度。因为还有镜头畸变、照明不均匀、算法误差等因素。我一般会留50%的余量。

避坑指南:我曾经遇到一个客户,非要上2000万像素的相机检测一个10mm×10mm的小零件。结果视野太小,每次只能拍半个零件,还得加运动机构。最后我给他换成500万像素,视野调到20mm×20mm,一次拍完,速度还快了一倍。记住:分辨率要和视野匹配,不是越大越好。

2.5 实战总结——我的选型流程

最后,分享一下我个人的选型流程:

  1. 先定视野:根据被测物尺寸,确定需要多大的视野。一般留10-20%的余量。
  2. 再定分辨率:根据最小缺陷尺寸,计算需要的像素精度。然后反推相机分辨率。
  3. 选光源:根据被测物表面特性(反光、透明、粗糙等),选择光源类型和角度。
  4. 定镜头:根据视野、工作距离、景深要求,计算焦距和光圈。
  5. 最后选相机:根据速度要求,确定用CCD还是CMOS,以及具体型号。

这个流程我用了十几年,基本没出过大问题。当然,实际项目中总会有意外情况,比如空间限制、成本限制等。但有了这个框架,至少不会犯方向性错误。

好了,光学成像系统就聊到这儿。下一章咱们讲图像采集与预处理,到时候我会分享一些信号处理的实战技巧。


专注资料整理