双工件台同步控制:让两个台子跳好双人舞
双工件台系统,说白了就是让两个台子协同工作。一个在曝光,一个在测量,交替进行。但问题来了——这两个台子不是独立的,它们之间有机械耦合、有运动干涉。怎么让它们配合得天衣无缝?这就是同步控制要解决的事。
我刚开始接触双工件台时,总觉得同步嘛,不就是让两个电机同时跑同样的轨迹?后来发现,远没那么简单。两个台子的负载不同、摩擦不同、甚至温度漂移都不同,硬要它们跑得一模一样,反而会出问题。
同步控制策略:三种主流思路
目前主流的同步控制策略有三种。我按实际工程中的使用频率来排个序:
- 主从同步:一个台子当老大,另一个跟着跑。简单可靠,但精度有限。
- 交叉耦合:两个台子互相看对方的位置,实时调整。精度高,但算法复杂。
- 虚拟主轴:两个台子都跟着一个虚拟的参考信号跑。适合多轴协同,但实时性要求高。
我个人习惯,在精度要求不高的场景(比如预对准阶段)用主从同步,在曝光阶段必须用交叉耦合。为什么?你想想看,曝光时两个台子间距只有几毫米,一个抖动就可能撞上,必须实时互相补偿。
主从同步:简单但别轻视
主从同步的原理很直观:主台子按规划轨迹运动,从台子实时跟踪主台子的位置。但这里有个坑——从台子的跟踪误差会直接叠加到同步误差上。
主从同步的数学模型其实很简单:
// 主台子位置指令
x_master_ref(t) = trajectory(t)
// 从台子位置指令
x_slave_ref(t) = x_master_actual(t) + offset(t)
// 同步误差
e_sync(t) = x_master_actual(t) - x_slave_actual(t) + offset(t)
嗯,这里要注意:offset是固定的偏移量,比如两个台子中心距是500mm,这个offset就是500mm。但实际运行时,由于热膨胀,这个offset会变化。我建议在系统中加入在线补偿,每10秒更新一次offset值。
交叉耦合:真正的同步艺术
交叉耦合控制,是我个人最喜欢的策略。它不像主从同步那样单向传递信息,而是双向交互。两个台子各自的位置误差,都会反馈到对方的控制器中。
为什么会这样设计?因为在实际系统中,两个台子的扰动是相互影响的。比如一个台子加速时,反作用力会通过基座传到另一个台子。如果只用主从同步,从台子只能被动响应,反应慢半拍。交叉耦合则能提前预判,主动补偿。
交叉耦合的核心公式:
// 同步误差
e_sync = x1 - x2 - offset
// 耦合控制律
u1 = u1_pid + K_c * e_sync
u2 = u2_pid - K_c * e_sync
// 其中K_c是耦合增益,需要根据系统刚度调参
我建议K_c的初始值取位置环增益的0.3倍。调大可以加快同步响应,但容易引起振荡。调小了嘛,同步效果不明显。这个参数我当年调了整整一周才找到最优值。
同步误差补偿:从理论到工程
同步误差补偿,说白了就是怎么把测出来的误差给消掉。我把它分为三个层次:
| 补偿层次 | 方法 | 适用场景 | 我个人的经验 |
|---|---|---|---|
| 前馈补偿 | 根据轨迹规划提前补偿 | 加减速阶段 | 能减少70%的同步误差 |
| 反馈补偿 | 根据实时误差调整 | 稳态阶段 | 需要配合低通滤波 |
| 学习补偿 | 重复运动时迭代学习 | 周期性运动 | 3-5个周期后收敛 |
我记得有一次做迭代学习补偿,前两个周期误差反而变大了。后来发现是学习增益设得太高,导致过补偿。把增益从0.8降到0.3,第三个周期就收敛了。嗯,这里要注意:学习补偿不是越快越好,稳定收敛才是关键。
实际案例分析:某型号光刻机的同步调试
讲个实际案例吧。某型号光刻机,双工件台间距450mm,要求同步误差小于50nm。我们最初用主从同步,实测同步误差在200nm左右,完全不合格。
后来改成交叉耦合,同步误差降到80nm。但还是不达标。问题出在哪?我仔细分析了误差频谱,发现有一个20Hz的振荡分量。这是两个台子通过基座耦合产生的机械共振。
解决方案是加入陷波滤波器,专门滤掉20Hz分量。同时调整耦合增益K_c,从0.3降到0.2,避免激发共振。最终同步误差稳定在35nm,通过了验收。
同步控制的SVG框架图
这张图把同步控制的知识体系串起来了。从三大策略到核心问题,再到三个补偿层次,最后落到实际案例。你想想看,任何一个环节出问题,最终都会反映在同步误差上。所以调试时一定要系统性地排查,不要只盯着算法。
好了,关于双工件台同步控制,我就讲这么多。核心就一句话:同步不是让两个台子跑得一样,而是让它们的相对位置误差足够小。理解了这句话,你就抓住了同步控制的本质。