硬件选型与接口:工业相机选型、镜头与光源、接口对比

做多相机同步项目,第一步不是写代码,而是选硬件。我见过太多人上来就调算法,结果相机帧率跟不上、触发延迟不一致、镜头畸变太大——最后全得推倒重来。这一章咱们就把硬件选型这件事聊透。

工业相机选型:CCD vs CMOS

先说传感器。CCD和CMOS之争,在工业领域其实已经没什么悬念了。

对比项 CCD CMOS
噪声水平 低(全局快门干净) 较高(但近年进步很大)
帧率 一般(受限于读出架构) 高(可轻松上百fps)
功耗 高(需要多路供电) 低(单芯片集成)
全局快门 原生支持 部分型号支持
成本 高 低
工业主流 逐渐减少 主流

我个人习惯,只要项目预算不是特别紧张,优先选全局快门的CMOS。为什么?因为多相机同步最怕的就是卷帘快门带来的“果冻效应”。你想想看,两个相机同时触发,结果一个扫完第一行时另一个才扫到中间行——这还怎么对齐?

核心结论:2024年以后的工业项目,90%以上选CMOS全局快门方案。CCD只保留在极低噪声、极慢速的科学级应用中。

镜头与光源:容易被忽视的坑

镜头选型有个口诀:焦距定视野,光圈定景深,接口定安装。

  • 焦距:根据工作距离和视野大小反算。公式很简单:焦距 = 传感器尺寸 × 工作距离 / 视野宽度。我在项目中遇到过有人拿手机镜头直接拧到工业相机上——结果成像圈不够,四角全黑。
  • 光圈:多相机同步时,尽量统一光圈值。否则不同相机的景深不一致,同一个物体在不同视角下清晰度不同,后期融合会很痛苦。
  • 接口:C接口最常见,但注意法兰距。有些镜头标着C口,实际后焦不对,拧上去拧不到底。

光源这块,我踩过一个大坑。曾经有个项目,四个相机拍同一个电路板,用了四种不同色温的LED环形灯。结果图像拼接时,接缝处颜色明显跳变,调了三天白平衡才勉强能用。后来我学乖了:多相机系统必须统一光源型号、色温、亮度,最好用同一个控制器供电。

我的经验:光源角度比亮度更重要。低角度照明能突出表面纹理,高角度照明适合检测平整度。多相机系统里,每个相机的光源角度要独立可调,但光源本身要同型号。

接口对比:GigE vs USB3.0 vs Camera Link

接口选型直接决定了你能跑多高的帧率、能拉多长的线、能做多精确的同步。下面这张表是我自己整理的,每次做方案都会拿出来对照。

特性 GigE Vision USB3.0 Vision Camera Link
带宽 1 Gbps(约100 MB/s) 5 Gbps(约400 MB/s) 2.04 Gbps(Base模式)
线缆长度 100米(标准) 3-5米(主动线可到10米) 10米(标准)
同步精度 IEEE 1588可达微秒级 依赖硬件触发 硬件触发+CC1线
多相机支持 交换机级联,数量灵活 需独立USB控制器 需采集卡,数量受限
成本 中等 低 高(采集卡贵)
CPU占用 低(有硬件卸载) 中等 极低(采集卡处理)

说说我的选择逻辑:

  • GigE:我最常用的方案。100米线长意味着相机可以放在产线各处,交换机统一管理。IEEE 1588时钟同步协议能到微秒级,做多相机触发非常稳。缺点就是带宽有限,500万像素以上跑30fps就有点吃力了。
  • USB3.0:适合桌面级、相机数量少的系统。带宽大、成本低,但线长是硬伤。我记得有个项目,相机要装在机械臂末端,线缆跟着拖链走,USB3.0线不到三个月就断了——后来全换成GigE带锁紧接口的。
  • Camera Link:高带宽、低延迟、同步精度极高。但贵,而且采集卡占一个PCIe槽。我只在需要同时采集4路以上高分辨率高速图像时才会考虑它。

避坑指南:我曾经在一个项目中同时用了GigE和USB3.0相机做同步,结果发现USB3.0的触发延迟比GigE大了将近2毫秒。不同接口的触发响应时间不一样,混用接口做同步是自找麻烦。要么全GigE,要么全USB3.0,别混搭。

接口选型决策流程

下面这张图是我做方案时的思考路径,画出来供你参考。

工业相机接口选型决策流程 项目需求分析 相机数量 > 4 或 线长 > 10米? 选 GigE Vision 帧率 > 60fps 或 带宽 > 300MB/s? 选 Camera Link 选 USB3.0 Vision 说明:同步精度要求高于100μs时,无论选哪种接口, 都必须使用硬件触发线(GPIO/CC1)而非软件触发。

多相机同步的硬件关键点

不管你选什么接口,做多相机同步时有几个硬件层面的东西必须确认:

  1. 硬件触发输入:每个相机必须有独立的触发输入引脚(GPIO),不能依赖软件触发。软件触发的抖动在Windows下可能达到10毫秒以上。
  2. 触发信号分配:用一个信号发生器或PLC输出脉冲,通过分线盒同时给所有相机发触发信号。线长要一致,否则信号传播延迟不同。
  3. 时钟同步:GigE相机支持IEEE 1588 PTP协议,可以让所有相机共享同一个时钟。USB3.0和Camera Link没有这个能力,只能靠硬件触发线对齐。
  4. 电源独立:多相机同时触发时瞬间电流很大,共用电源会导致电压跌落,触发信号变形。每个相机最好独立供电,或者用带隔离的POE交换机。

我的经验总结:硬件选型决定了项目天花板。传感器选CMOS全局快门,接口统一用GigE(除非有特殊带宽或距离要求),光源同型号同控制器,触发信号用硬件线缆分配。这套组合拳打下来,同步精度做到微秒级不是问题。