2. Basler相机曝光模式详解
在Basler相机的曝光控制体系中,曝光模式决定了“曝光何时开始、何时结束、由谁控制时长”这三个核心问题。很多图像质量问题——运动模糊、亮度不一致、多相机不同步——根源并不在增益或光源,而在于曝光模式选错了。本节围绕pylon Viewer中可配置的几种典型曝光模式展开,重点讲清Timed、TriggerWidth、ExposureActive三种模式的工作机制、适用场景,以及如何在pylon Viewer中完成切换与验证。
一、曝光模式的本质:谁在控制曝光时间
Basler相机的曝光时间由内部定时器或外部信号边沿决定。理解曝光模式,关键是区分两个角色:曝光起始触发源和曝光时长决定者。前者可能是软件命令、硬件触发信号或帧有效信号;后者可能是相机内部设定的固定值,也可能是外部信号的脉冲宽度。
在pylon Viewer的Features面板中,ExposureMode节点提供可选值,常见包括Timed、TriggerWidth、ExposureActive(部分型号还支持TriggerControlled或Off)。不同模式对应不同的ExposureTime行为:在Timed模式下ExposureTime是有效参数;在TriggerWidth模式下该参数被忽略,曝光时长完全由触发信号高电平宽度决定。
二、Timed模式:最常用的固定曝光
Timed模式是Basler相机的默认曝光模式。其工作逻辑是:相机收到触发信号(或自由运行时的帧起始信号)后,启动内部定时器,曝光持续ExposureTime所设定的时间,然后读出图像。曝光时长与触发信号的宽度无关,只取决于参数值。
适用场景包括:静态或低速运动物体的检测、光源亮度稳定的环境、需要精确控制曝光量一致性的批量拍摄。例如在电子元件外观检测中,物体静止或由步进电机间歇送料,使用Timed模式配合固定光源,可以保证每张图像亮度一致。
在pylon Viewer中的配置步骤:连接相机后,打开Features面板,找到ExposureMode,将其设为Timed;然后在ExposureTime中输入目标值,例如5000(单位μs)。若相机处于自由运行模式,曝光会按帧率周期自动重复;若使用硬件触发,则每次触发产生一次固定时长曝光。
ExposureTime与触发周期的关系,确保曝光时间小于触发间隔。三、TriggerWidth模式:用脉冲宽度定义曝光
TriggerWidth模式将曝光时长的控制权完全交给外部触发信号。相机检测到触发信号上升沿后开始曝光,检测到下降沿后结束曝光。因此,曝光时间等于触发脉冲的高电平持续时间,ExposureTime参数在此模式下不起作用。
这种模式适合需要动态调整曝光时间的场景。例如,在流水线上检测不同反光率的物体时,可以通过外部控制器(如PLC或FPGA)根据物体表面特性实时改变脉冲宽度,从而在同一套硬件下获得自适应曝光。又如在高速飞行拍摄中,通过精确控制脉冲宽度来匹配运动速度,减少运动模糊。
配置方法:在pylon Viewer中将ExposureMode切换为TriggerWidth,然后确保TriggerSelector设为FrameStart,TriggerMode设为On,TriggerSource选择对应的硬件输入线路(如Line1)。此时ExposureTime节点通常会变为只读或显示为无效值,这是正常现象。
四、ExposureActive模式:输出曝光状态用于同步
ExposureActive严格来说不是一种“曝光时长决定模式”,而是一种曝光状态输出功能。它让相机在曝光进行期间,通过指定的输出线路(如Line2)输出一个高电平信号。这个信号可以驱动频闪光源、激光器或外部采集设备,实现“曝光期间才亮灯”的精确同步。
典型应用是频闪照明:将ExposureActive信号连接到LED光源的触发端,只有当相机真正在曝光时,光源才点亮。这样可以大幅提高光源利用效率,延长LED寿命,同时避免环境光干扰。在多相机系统中,也可以用ExposureActive信号作为其他相机的触发源,实现主从同步。
在pylon Viewer中配置ExposureActive输出:进入DigitalIO或LineSelector相关节点,选择目标输出线路(如Line2),将LineSource设为ExposureActive。随后可以在ExposureActive相关参数中调整信号极性(高有效或低有效)和延迟。配置完成后,用示波器或相机的IO监视功能观察输出波形,确认其与曝光窗口对齐。
五、模式切换演示与验证要点
在pylon Viewer中切换曝光模式时,建议按以下顺序操作,避免参数冲突:
- 先停止采集(
Stop),确保相机处于空闲状态。 - 在
Features面板中找到ExposureMode,从下拉列表选择目标模式。 - 根据模式调整关联参数:Timed模式设置
ExposureTime;TriggerWidth模式确认触发源和触发使能;ExposureActive模式配置输出线路。 - 重新开始采集(
Continuous或Single),观察图像亮度和运动模糊情况。 - 使用
ExposureActive输出或相机的时间戳功能,验证曝光窗口与触发信号的时序关系。
验证时,可以故意改变触发脉冲宽度:在Timed模式下,图像亮度应保持不变;在TriggerWidth模式下,图像亮度应随脉冲宽度变化。这个对比实验能直观确认模式是否真正生效。
| 模式 | 曝光时长决定者 | ExposureTime参数 | 典型场景 |
|---|---|---|---|
| Timed | 相机内部定时器 | 有效 | 静态检测、固定光源 |
| TriggerWidth | 外部触发脉冲宽度 | 忽略 | 动态曝光调整、高速飞行拍摄 |
| ExposureActive | 取决于基础曝光模式 | 取决于基础模式 | 频闪同步、多相机主从触发 |
需要特别注意的是,ExposureActive通常是在Timed或TriggerWidth基础上叠加的输出功能,而不是替代它们。也就是说,你仍然需要选择一个基础曝光模式来决定曝光时长,ExposureActive只负责把“正在曝光”这个状态告诉外部设备。理解这一点,就能避免在配置时把输出功能和曝光控制混为一谈。
最后,曝光模式的选择应与触发模式、帧率、光源方案一起考虑。例如,使用TriggerWidth时,如果触发源来自编码器,脉冲宽度会随速度变化,曝光时间也随之变化,这可能导致图像亮度波动。此时可以配合自动增益或光源亮度补偿来稳定图像。实际调试中,建议先用pylon Viewer的Single模式逐帧观察,确认时序正确后再切换到连续采集。