3、硬件连接与触发:相机与采集卡连接、Line Trigger与Frame Trigger配置、编码器信号接入

硬件连接和触发配置,是四线扫相机系统里最容易出问题的地方。我见过太多项目,算法调得再好,最后发现是线没接对,或者触发信号没配好,白白浪费几天时间。说白了,硬件是地基,地基不稳,上层建筑再漂亮也没用。

3.1 相机与采集卡的物理连接

先聊聊物理连接。四线扫相机通常用 Camera Link 或 CoaXPress 接口。我个人习惯,拿到相机第一件事,不是上电,而是先看接口定义。

接口类型 最大带宽 传输距离 常见场景
Camera Link (Base) 2.04 Gbps ~10 米 低速线阵、短距离
Camera Link (Full) 6.8 Gbps ~10 米 中速线阵、多通道
CoaXPress (CXP-6) 6.25 Gbps/链路 ~100 米 高速线阵、长距离
CoaXPress (CXP-12) 12.5 Gbps/链路 ~40 米 超高速线阵、多线

连接时要注意几点:

  • 线缆质量:别用劣质线。我在项目中遇到过,一根 Camera Link 线内部断芯,导致图像间歇性丢行,排查了整整两天。
  • 接口紧固:螺丝一定要拧紧。振动环境下,松动的接口会产生接触不良,触发信号时有时无。
  • 接地处理:相机和采集卡最好共地。不共地的话,共模干扰会直接体现在图像上——出现明暗条纹。
⚠️ 特别注意: 热插拔 Camera Link 或 CoaXPress 接口,很容易烧毁相机或采集卡的接口芯片。我建议,每次插拔前,一定先断电。

3.2 Line Trigger 与 Frame Trigger 配置

四线扫相机的触发,分两个层级:Line Trigger(行触发)和 Frame Trigger(帧触发)。很多人搞混这两个概念,其实很简单。

  • Line Trigger:控制每一行图像的采集。通常由编码器信号提供,每来一个脉冲,相机采集一行。
  • Frame Trigger:控制一帧图像的开始和结束。通常由外部传感器或 PLC 提供,告诉相机“开始拍一张完整的图”。

配置时,我一般遵循这个流程:

  1. 先配 Line Trigger 的极性(上升沿还是下降沿触发)。
  2. 再配 Frame Trigger 的触发模式(连续模式还是触发模式)。
  3. 最后配 Frame Trigger 的延迟和脉宽。

举个例子,假设你用的是某品牌的线扫相机,配置代码大概是这样:

// 伪代码示例:配置 Line Trigger 和 Frame Trigger
camera.SetLineTriggerSource(TriggerSource::Encoder);  // 行触发源:编码器
camera.SetLineTriggerPolarity(Polarity::RisingEdge);   // 上升沿触发
camera.SetLineTriggerDebounce(100);                    // 防抖时间 100 us

camera.SetFrameTriggerSource(TriggerSource::External); // 帧触发源:外部信号
camera.SetFrameTriggerMode(TriggerMode::On);           // 开启帧触发
camera.SetFrameTriggerDelay(500);                      // 延迟 500 us
camera.SetFrameTriggerWidth(1000);                     // 脉宽 1000 us
💡 我的经验: Line Trigger 的防抖时间别设太大。我曾经设了 500 us,结果编码器脉冲频率高的时候,丢行严重。后来改成 50 us,问题解决。

3.3 编码器信号接入

编码器信号,是四线扫相机系统的“心跳”。没有它,行触发就没法同步。编码器通常输出 A、B、Z 三相信号:

  • A 相:主脉冲,用于行触发。
  • B 相:方向判断,A 相超前 B 相为正转,反之为反转。
  • Z 相:零位脉冲,每转一圈输出一个,用于复位。

接入时,我建议注意以下几点:

  • 信号电平匹配:编码器输出是 5V 差分信号(RS-422),还是 24V 单端信号?相机采集卡的输入接口必须匹配。不匹配的话,加电平转换模块。
  • 屏蔽与双绞:编码器线一定要用屏蔽双绞线。我在一个项目里,编码器线和动力线走同一个线槽,结果图像上出现周期性抖动,后来分开走线就好了。
  • 终端电阻:长距离传输时,在接收端加 120 欧姆终端电阻,防止信号反射。
🔧 避坑指南: 我曾经遇到一个案例,编码器信号正常,但图像就是歪的。排查到最后发现,是编码器的 A 相和 B 相接反了。相机把反转当成正转,图像自然不对。所以,接完线后,先手动转一下编码器,确认方向。

3.4 整体连接与触发流程

下面这张图,是我自己总结的四线扫相机硬件连接与触发流程。你可以把它当作一个检查清单。

四线扫相机硬件连接与触发流程 编码器 A/B/Z 三相信号 四线扫相机 Line Trigger 接收 采集卡 图像数据接收 外部触发源 PLC / 传感器 PLC 控制器 Frame Trigger 控制 计算机 图像处理与显示 Line Trigger 图像数据 触发信号 Frame Trigger 数据流 关键检查点: 1. 编码器 A/B 相方向是否正确? 2. Line Trigger 极性是否与编码器输出匹配? 3. Frame Trigger 延迟和脉宽是否满足相机要求?

嗯,这张图基本把整个链路串起来了。你想想看,从编码器产生脉冲,到相机采集行,再到采集卡收数据,最后到计算机处理,每一步都不能掉链子。

🔍 调试小技巧: 我习惯先用示波器看编码器波形。确认 A 相、B 相、Z 相都正常后,再连相机。这样能快速定位是编码器问题,还是相机配置问题。

硬件连接和触发配置,说难不难,说简单也不简单。关键在于细心和耐心。把每一步都确认好,系统就能稳定跑起来。