第二章 视觉系统硬件选型:把眼睛和眼镜配齐
做机器视觉,说白了就是给机器装一双眼睛。这双眼睛好不好用,直接决定了整个闭环控制系统的成败。我见过太多项目,算法写得再漂亮,硬件选型一塌糊涂,最后现场调试时哭都哭不出来。
今天咱们就聊聊这双“眼睛”怎么配。从工业相机、镜头、光源到采集卡,我一个一个说。
2.1 工业相机选型:CCD vs CMOS、分辨率、帧率
先说说相机。这是视觉系统的核心,相当于人的视网膜。
CCD vs CMOS:老将和新秀
CCD和CMOS之争,其实已经没什么好争的了。早些年CCD在图像质量上确实压CMOS一头,噪声低、动态范围大。但那是过去式了。
我个人习惯,现在99%的项目都用CMOS。为什么?
- 速度优势:CMOS的读出速度比CCD快得多。我做过一个锂电池极片检测项目,产线速度要求每分钟600片,CCD根本跟不上,换了CMOS才搞定。
- 成本优势:同样分辨率,CMOS价格只有CCD的1/3到1/2。
- 集成度:CMOS可以把ADC、时序控制都集成在芯片里,外围电路简单。
分辨率:不是越高越好
分辨率这事儿,我踩过坑。以前总觉得分辨率越高越好,结果选了个2000万像素的相机,数据量巨大,处理速度跟不上,反而拖慢了整个系统。
怎么选?记住一个公式:
所需分辨率 = 视野范围(FOV) / 最小检测精度
举个例子:你要检测一个10mm×10mm的零件,最小缺陷是0.1mm。那么:
单方向像素数 = 10mm / 0.1mm = 100像素
考虑稳定性,一般取3-5倍,也就是300-500像素
所以选个640×480的相机就够了
嗯,这里要注意:别盲目追求高分辨率。分辨率越高,数据量越大,处理时间越长,成本也越高。
帧率:跟产线速度匹配
帧率决定了相机每秒能拍多少张。产线跑多快,相机就得拍多快。
我做过一个项目,客户要求检测速度是每秒100个零件。我算了一下:
所需帧率 = 100个/秒 × 1帧/个 = 100fps
考虑到触发延迟和曝光时间,实际需要120-150fps
最后选了个200fps的相机,留了余量。结果现场调试时发现,光源亮度不够,曝光时间拉长,帧率掉到了80fps。这就是典型的“木桶效应”——相机选好了,光源拖后腿。
| 应用场景 | 推荐分辨率 | 推荐帧率 | 传感器类型 |
|---|---|---|---|
| 电子元件检测 | 500万-1200万 | 30-60fps | CMOS |
| 高速产线(食品、药品) | 200万-500万 | 100-300fps | CMOS(全局快门) |
| 大尺寸面板检测 | 2500万以上 | 5-15fps | CMOS/CCD |
| 精密测量 | 500万-2000万 | 10-30fps | CMOS(低噪声) |
2.2 镜头选型:焦距、光圈、景深
镜头是相机的“眼镜”。眼镜配不好,再好的相机也白搭。
焦距:决定视野大小
焦距越短,视野越大,但物体在图像中越小。焦距越长,视野越小,但物体越大。
计算公式:
焦距 = 工作距离 × 传感器尺寸 / 视野范围
举个例子:传感器是1/2英寸(宽6.4mm),工作距离200mm,视野需要100mm宽。
焦距 = 200 × 6.4 / 100 = 12.8mm
所以选个12mm或16mm的镜头
我建议:选镜头时留10%-20%的余量。因为实际安装时,工作距离可能会有偏差。
光圈:进光量和景深的平衡
光圈用F值表示。F值越小,光圈越大,进光量越多,但景深越浅。
我在项目中遇到过一个问题:为了追求亮度,把光圈开到最大(F1.4),结果景深太浅,零件稍微有点高度差就模糊了。后来把光圈收到F4,景深够了,但亮度不够,又得加光源。
说白了,光圈就是个平衡游戏。一般建议:
- 静态检测:F4-F8,景深和亮度都适中
- 高速运动:F2.8-F4,需要更多进光量
- 精密测量:F8-F16,景深优先
景深:别让物体跑出焦点
景深就是焦点前后清晰的范围。景深越大,对安装精度要求越低。
影响景深的三个因素:
- 光圈:光圈越小,景深越大
- 焦距:焦距越短,景深越大
- 工作距离:距离越远,景深越大
2.3 光源选型:环形光、背光、同轴光
光源是视觉系统里最容易被忽视的环节。我常说:光源选好了,算法省一半。
环形光:通用型选手
环形光装在镜头周围,从各个方向打光。适合检测表面特征、字符、划痕等。
我做过一个PCB焊点检测项目,一开始用环形光,焊点反光太强,根本看不清。后来换成低角度环形光,光线从侧面打过来,焊点的立体感就出来了。
背光:轮廓检测的神器
背光把光源放在物体背面,拍出来的是物体的轮廓剪影。适合尺寸测量、边缘检测、有无检测。
举个例子:检测螺丝的长度。用背光一照,螺丝的轮廓清清楚楚,算法只需要找两个边缘点,简单又稳定。
同轴光:高反光表面的克星
同轴光通过半透半反镜,让光线沿着镜头光轴方向照射。适合检测镜面、玻璃、晶圆等高反光表面。
我记得有个项目要检测手机玻璃盖板的划痕。用环形光,反光一片白;用背光,划痕看不见。最后用了同轴光,划痕在黑色背景下清晰可见。
| 光源类型 | 适用场景 | 不适用场景 |
|---|---|---|
| 环形光 | 表面特征、字符、划痕 | 高反光表面、透明物体 |
| 背光 | 轮廓检测、尺寸测量 | 表面细节、颜色检测 |
| 同轴光 | 镜面、玻璃、晶圆 | 粗糙表面、漫反射物体 |
| 条形光 | 大面积照明、表面纹理 | 小物体、高精度检测 |
2.4 采集卡与接口:GigE、USB3.0、Camera Link
最后说说数据传输。相机拍到了图像,怎么传到电脑里?这就靠接口和采集卡了。
GigE:工业现场的首选
GigE(千兆以太网)是我最常用的接口。为什么?
- 传输距离远:100米没问题,工业现场经常相机和电脑离得很远
- 布线方便:普通网线就行,不用专门布线
- 支持PoE:网线供电,少一根线
不过GigE有个坑:带宽只有1Gbps,实际能跑到的帧率有限。500万像素的相机,8位灰度图,理论帧率也就25fps左右。
USB3.0:速度快但距离短
USB3.0的理论带宽是5Gbps,实际能到3-4Gbps。速度比GigE快得多。
我做过一个项目,需要高速拍摄(200fps),GigE带宽不够,只能上USB3.0。但问题来了:USB3.0的线长限制在5米以内,相机和电脑必须挨着放。
嗯,这里要注意:USB3.0的稳定性不如GigE。工业现场干扰多,USB3.0容易掉线。我建议:能用GigE就用GigE,实在不行再考虑USB3.0。
Camera Link:老牌劲旅
Camera Link是专门为机器视觉设计的接口,带宽大、延迟低。但缺点也很明显:
- 线缆贵:专用线缆,一米几百块
- 需要采集卡:不能直接插电脑
- 距离短:一般不超过10米
现在Camera Link用得越来越少了。除非是超高分辨率(2500万以上)或超高帧率(500fps以上)的场景,否则GigE和USB3.0完全够用。
- 普通工业现场:GigE + PoE,稳定、方便、便宜
- 高速检测(100fps以上):USB3.0,注意线长和稳定性
- 超高要求(2500万像素+500fps):Camera Link,准备好预算
知识体系总览
说了这么多,我画了张图,把整个硬件选型的逻辑串起来。你一看就明白了。
这张图把四个核心模块串起来了。你选型的时候,按这个顺序走:先定相机,再配镜头,然后选光源,最后确定接口。每一步都有讲究,别跳着来。
好了,硬件选型就聊到这儿。下一章咱们聊聊视觉算法——图像处理那些事儿。