2. 系统总体架构
四相机3D线扫平台是一个典型的光-机-电-算一体化系统。为降低设计复杂度并提升模块复用性,我们将整个平台划分为四个相互独立又紧密协作的子系统:机械子系统、运动控制子系统、视觉子系统和电气子系统。每个子系统承担明确的职责,并通过标准化的接口进行数据交换。
2.1 子系统功能划分
| 子系统 | 核心职责 | 关键硬件/模块 | 输出信号/数据 |
|---|---|---|---|
| 机械子系统 | 提供物理支撑、运动导向与精密定位 | 大理石基座、直线导轨、滚珠丝杠、龙门架、相机安装支架 | 物理位移、振动模态、安装基准面 |
| 运动控制子系统 | 执行精确的速度/位置控制,触发相机采集 | 伺服驱动器、伺服电机、运动控制器(PLC/专用控制卡)、编码器 | 电机转矩、编码器位置、触发脉冲(Line Trigger) |
| 视觉子系统 | 采集图像、处理数据、输出3D点云与检测结果 | 4×线阵相机、4×线激光器、图像采集卡、工控机(GPU) | 原始图像、3D点云、缺陷标记、测量值 |
| 电气子系统 | 供电、信号路由、安全保护与系统互连 | 开关电源、断路器、继电器、端子排、线缆拖链、安全光栅 | 24V/48V电源、I/O状态、急停信号 |
设计要点: 机械子系统是“骨架”,运动控制是“肌肉与神经”,视觉是“眼睛与大脑”,电气是“血管与保护层”。四个子系统缺一不可,且必须在设计阶段就定义好机械接口与电气接口的匹配关系。
2.2 系统数据流架构
数据流是系统运行的“血液”。在四相机3D线扫平台中,数据流主要分为控制流和图像流两条主线。控制流负责同步与触发,图像流负责数据采集与处理。
2.3 关键数据流详解
根据上图,系统中最关键的三个数据流路径如下:
- 触发同步流(运动控制 → 视觉)
- 运动控制器实时读取伺服电机编码器的Z相脉冲(零位信号)和A/B相差分信号。
- 当平台移动达到预设的物理分辨率(如1μm)时,运动控制器向四台相机同时发出Line Trigger(行触发)脉冲。
- 四台相机在同一个触发沿开始曝光,确保四幅图像在空间上严格对齐。
- 图像数据流(视觉子系统内部)
- 四台线阵相机通过Camera Link / CoaXPress接口将原始图像数据传输至图像采集卡。
- 工控机上的视觉软件(如Halcon、OpenCV)对四幅图像进行激光条纹提取、中心线计算和三维重建。
- 最终生成融合后的3D点云,并输出高度图、缺陷标记等检测结果。
- 状态反馈流(机械/运动控制 → 电气 → 上位机)
- 机械子系统的限位传感器、原点传感器信号接入电气子系统的I/O模块。
- 运动控制器将轴状态(当前位置、速度、报警码)通过EtherCAT总线发送给上位机。
- 电气子系统的安全光栅信号一旦触发,立即通过硬线切断伺服使能,同时上报上位机。
工程经验: 在四相机系统中,触发信号的电气延迟必须控制在纳秒级。建议使用差分信号(RS-422)传输Line Trigger,并确保四根触发线缆等长,以避免相机之间的行对齐误差。
2.4 子系统接口定义清单
为保障设计阶段的顺利对接,下表列出了各子系统之间的关键接口定义:
| 接口编号 | 源子系统 | 目标子系统 | 信号类型 | 电气规格 |
|---|---|---|---|---|
| IF-01 | 运动控制 | 视觉 | Line Trigger (差分) | RS-422, 5V, 频率≤100kHz |
| IF-02 | 运动控制 | 视觉 | Encoder Z相 (差分) | RS-422, 5V, 用于归零同步 |
| IF-03 | 电气 | 运动控制 | 24V控制电源 | 24V DC, 10A, 带过流保护 |
| IF-04 | 电气 | 视觉 | 激光器电源 | 48V DC, 5A, 带独立保险 |
| IF-05 | 机械 | 电气 | 限位/原点传感器 | NPN/PNP, 24V, 常闭 |
| IF-06 | 视觉 | 上位机 | GigE Vision / TCP/IP | 千兆以太网, 传输3D点云 |
常见设计缺陷: 忽略电气子系统的电源隔离设计。运动控制的大功率伺服驱动器在加减速时会产生强烈的电磁干扰,若与视觉子系统的电源共地,会导致图像出现周期性条纹噪声。建议采用独立的开关电源模块为视觉子系统供电,并在信号接口处加装光电耦合器。
2.5 子系统间的时序依赖关系
系统上电与启动必须遵循严格的时序,否则可能导致数据错乱或硬件损坏:
Step 1: 电气子系统上电(24V/48V输出稳定)
↓ 等待 500ms
Step 2: 运动控制子系统初始化(伺服使能、回零)
↓ 等待 200ms
Step 3: 视觉子系统初始化(相机参数加载、激光器开启)
↓ 等待 100ms
Step 4: 上位机下发启动指令
↓
Step 5: 运动控制器开始运动,同时发出 Line Trigger
↓
Step 6: 四相机同步采集,图像数据流开始传输