4. Basler相机触发模式与节拍同步
在高速产线成像中,相机“什么时候曝光”比“曝光多久”更决定成败。Basler 相机的三种采集模式——自由运行(Free Run)、软件触发(Software Trigger)、硬件触发(Hardware Trigger)——本质上是在回答同一个问题:曝光起始时刻由谁决定、由什么信号决定、抖动有多大。理解它们的时序差异,才能把图像采集与 PLC 节拍、编码器位置真正对齐到微秒级。
三种模式的时序本质
自由运行模式下,相机按内部设定的帧率连续曝光,曝光起点由相机自己的时钟决定。它的优点是配置最简单、吞吐稳定;缺点是曝光时刻与产线运动完全无关,同一工件在不同帧中的位置会漂移,无法做位置关联。自由运行的实际帧周期 = 曝光时间 + 读出时间 + 传输时间,若曝光设为 200 μs、读出 3 ms,则实际帧率约 312 fps,而不是标称的最大帧率。
软件触发模式下,曝光由上位机通过 API(如 pylon 的 ExecuteSoftwareTrigger())或 GigE Vision 的 TriggerSoftware 命令发起。触发命令要经过应用层、驱动、网卡、相机固件多级传递,典型延迟在数百微秒到数毫秒,且受操作系统调度影响,抖动可达几百微秒。它适合低速、非严格同步的场合,例如手动抽检、静态工位拍照,但无法满足高速产线的位置一致性要求。
硬件触发模式下,曝光由外部电信号(光电传感器、PLC 输出、编码器分频脉冲)直接驱动相机的触发输入引脚。信号从引脚到传感器开始曝光只经过相机内部极短的电路路径,延迟通常在微秒级(Basler ace 系列典型触发延迟约 1~5 μs),抖动在亚微秒到微秒量级。这是高速产线唯一能实现微秒级同步的模式。
硬件触发的接线与信号链
硬件触发要真正落地,需要把“谁产生脉冲、脉冲怎么送到相机、相机怎么响应”这条信号链理清。典型高速产线有三种触发源:
- 光电传感器直接触发:工件遮挡光电开关,传感器输出 PNP/NPN 脉冲直接接入相机 Trigger In。延迟最小,但只能检测“到达”事件,无法反映位置。
- PLC 输出触发:PLC 在程序扫描周期中判断条件后置位输出点,驱动相机触发。PLC 扫描周期通常 1~10 ms,会引入扫描抖动,适合节拍较慢的工位。
- 编码器分频触发:编码器 A/B 相脉冲经分频器或 PLC 高速计数模块,每行进固定距离输出一个脉冲触发相机。这是高速产线位置一致性最好的方案,曝光位置与工件位移严格对应。
接线时要注意电平匹配:Basler 相机 Trigger In 通常为光耦隔离输入,支持 5~24 V,但需确认具体型号的输入阈值。若传感器为 24 V PNP,可直接接入;若为 5 V TTL,需确认相机是否支持或加电平转换。触发信号线应使用屏蔽双绞线,屏蔽层单端接地,避免与电机动力线并行走线,否则高频干扰会造成误触发。
与 PLC、编码器实现微秒级同步的配置要点
要做到微秒级同步,光有硬件触发还不够,还需要在相机参数和产线时序上做精细配置。以下以 Basler pylon 环境为例说明关键参数:
# 设置硬件触发模式(pylon API 示例)
camera.TriggerMode.SetValue("On")
camera.TriggerSource.SetValue("Line1") # 触发输入引脚
camera.TriggerActivation.SetValue("RisingEdge") # 上升沿触发
camera.TriggerDelay.SetValue(0.0) # 触发延迟,单位 μs
camera.ExposureTime.SetValue(200.0) # 曝光 200 μs
camera.AcquisitionFrameRateEnable.SetValue(False) # 触发模式下关闭帧率限制
# 编码器分频触发场景:每 0.5 mm 一个脉冲
# 编码器分辨率 5000 ppr,丝杠导程 10 mm
# 每脉冲位移 = 10 mm / 5000 = 0.002 mm
# 分频系数 = 0.5 mm / 0.002 mm = 250
# 即每 250 个编码器脉冲输出 1 个触发脉冲
几个容易踩坑的点:
- 触发延迟补偿:若相机安装位置与触发传感器之间有固定距离,可通过
TriggerDelay补偿。例如传感器到相机视场中心距离 50 mm,产线速度 1 m/s,则延迟 50 ms 后工件才到视场中心,但 50 ms 远超相机触发延迟范围,实际应通过调整传感器安装位置或使用编码器位置触发来解决。 - 曝光时间与运动模糊:曝光 200 μs、速度 1 m/s 时,工件在曝光期间移动 0.2 mm。若要求模糊小于 1 个像素,需根据视场和分辨率反算允许曝光时间。例如视场 100 mm、分辨率 5000 像素,单像素对应 0.02 mm,则曝光时间需小于 20 μs,此时需提高光源亮度或增益。
- 触发间隔与帧周期:触发模式下,若触发脉冲间隔小于帧周期(曝光+读出+传输),相机会忽略部分触发或报错。必须保证触发间隔大于帧周期,并留 10%~20% 余量。
- PLC 扫描周期与触发抖动:若用 PLC 普通输出点触发,抖动等于扫描周期。应使用 PLC 的高速输出模块或运动控制模块的硬件比较输出(如西门子 TM 模块、倍福 EL2xxx 系列),抖动可降至微秒级。
模式选择与节拍匹配的判断依据
实际选型时,可按以下逻辑判断:若产线速度低于 0.1 m/s 且对位置一致性要求不高,自由运行或软件触发即可;若速度在 0.1~1 m/s 且需要位置关联,优先编码器分频硬件触发;若速度超过 1 m/s 或要求微秒级同步,必须使用硬件触发并配合高速输出模块,同时核算曝光时间与运动模糊的约束。触发模式不是孤立的参数,它和曝光、增益、光源、镜头、传输带宽共同决定最终图像质量和节拍上限。