控制系统硬件架构:主控板、振镜驱动、激光器接口与编码器反馈
很多刚接触振镜控制的工程师,上来就看芯片选型。我个人的习惯是先画拓扑图,搞清楚信号怎么流,再定用什么主控。这章我们就聊聊这套硬件的骨架。
1. 主控板选型:DSP、FPGA、ARM 怎么选?
主控板是整个系统的脑子。我做过三版迭代,第一版用的纯DSP,第二版加了FPGA协处理,第三版干脆上了ARM+FPGA异构方案。你可以理解成这样:
| 特性 | DSP | FPGA | ARM |
|---|---|---|---|
| 实时控制 | 优秀(专为电机控制优化) | 极强(硬件并行) | 一般(依赖RTOS) |
| 算法灵活性 | 中等(定点/浮点指令集) | 极高(可重配置逻辑) | 高(软件可编程) |
| 接口扩展 | 需外扩 | 丰富(可自建IP) | 丰富(外设多) |
| 开发难度 | 中等 | 高(RTL设计) | 低(C/驱动) |
| 典型场景 | 纯振镜位置环 | 高精度激光同步 | 上位机通信+系统管理 |
我个人的建议:如果做标准化产品,ARM+FPGA 是目前主流。ARM 跑协议栈和用户界面,FPGA 做高速激光控制和振镜插补。把两个芯片封装在一起,比如 Zynq,走 AXI 总线,延迟小。
2. 振镜驱动板:电流环与位置环的配合
振镜驱动板接收主控送来的模拟电压(±10V 或差分信号),然后驱动振镜电机转动。说白了就是一套伺服驱动器,只不过针对的是高响应、小惯量的扫描电机。
我在项目中踩过一个坑:驱动板的带宽不够,导致打标小字符时出现拖尾。后来把驱动板模拟部分的运放换了,电流环带宽从 20kHz 提到 80kHz,问题才解决。嗯,这里要注意:
- 模拟通道:建议用差分输入,抗共模干扰。我用过单端方案,在强电磁环境下容易漂移。
- 保护电路:驱动板输出端一定要加过流保护。曾经有一次电机线短路,驱动板直接冒烟,从此我都加了一级 PTC 自恢复保险。
- 接口定义:通常用 DB15 或 DB25 连接器,分配好电源、模拟信号、编码器回传。
关键参数对照表:
| 参数 | 常规值 | 高精度场景 |
|---|---|---|
| 模拟输入范围 | ±10V | ±5V(更高分辨率) |
| 位置环更新率 | 50 kHz | ≥100 kHz |
| 电流环带宽 | 20~40 kHz | ≥80 kHz |
| 编码器输入 | 差分正交 (RS422) | Sin/Cos 或 BISS |
3. 激光器接口:不是插上就能用
激光器接口负责把主控的指令转换成激光器能识别的信号。最常见的三种控制方式:
- 模拟调制:0~10V 模拟电压控制激光功率。适合 CO₂、光纤激光器。
- 数字调制:TTL 信号控制激光开/关。YAG 固体激光器常用。
- 脉冲串模式:另一种数字调制,但内部有 Q 开关同步。需要主控提供精确的触发时序。
我记得有个客户,调试时激光器怎么都不出光。查了半天,发现激光器接口的H(使能信号)需要 先建立再触发,而我的主控代码里触发信号先于使能拉高。调整时序后一切正常。你需要留意:
⚠️ 激光器接口的电气隔离:激光器内部往往有高压电源,建议用光耦或数字隔离器做隔离。我见过直接连IO导致主控板被反打烧毁的案例。别省这几块钱。
4. 编码器反馈:闭环的灵魂
编码器装在振镜电机尾部,返回电机实际位置。主控拿到这个值和目标位置做差,跑 PID 调节。没有反馈,就叫开环扫描——你会看到振镜在抖动,完全没法用。
编码器类型很关键:
- 增量式正交编码器:便宜,通用,但上电需要找零。我习惯在振镜上电后做一次归零扫描。
- 式编码器:上电即知位置,精度更高。但价格翻倍,而且接口协议多(SSI、BISS、EnDat)。
小经验:选增量式配 Z 相(零点)就可以。大多数商用振镜模块都提供 A/B/Z 差分信号。用 RS422 差分接收,抗干扰好。走线要和电机功率线分开,尽量加屏蔽。
5. 整个拓扑怎么连?
回到最上面的那张 SVG 图。你注意看:
- 上位机(PC)通过以太网或 PCIe 把打标数据发送给主控板。
- 主控板内部的轨迹规划器算出振镜位置序列,通过 DA 转换器输出到振镜驱动板。
- 同时,主控板根据激光器类型,在正确的位置发出激光触发信号。
- 编码器把电机实际位置反馈回主控,形成闭环。
这个结构不是唯一的。有些方案会把振镜驱动和主控集成在一块板上,减小接线和延迟。但作为教学,我建议你先把分立结构搞明白,再去做集成。
一句话总结:主控是大脑,振镜驱动是肌肉,激光器接口是手指,编码器反馈是眼睛。四者缺一不可,配合才对。