3、运动控制系统架构:上位机、运动控制器、伺服驱动器、光栅尺反馈的层级关系

做曝光机运动控制这么多年,我见过不少工程师一上来就调PID参数,结果怎么调都抖。为什么?说白了,你连整个系统的“指挥链”都没搞明白,调参数就是瞎蒙。

今天咱们就把这个架构彻底捋清楚。你想想看,曝光机里的晶圆台要跑纳米级精度,靠的是一个器件单打独斗?不可能。它是一套完整的层级体系,从大脑到手脚,再到眼睛,各司其职。

3.1 四层架构,缺一不可

我个人习惯把运动控制系统分成四层。每一层都有自己的活,上一层管下一层,下一层给上一层反馈。就像军队的指挥体系,不能乱。

层级 名称 核心任务 典型硬件
第1层 上位机 任务调度、轨迹规划、人机交互 工控机、PC
第2层 运动控制器 插补计算、闭环控制、IO管理 PMAC、A3200、专用运动控制卡
第3层 伺服驱动器 电流环、速度环、功率放大 安川、松下、科尔摩根驱动器
第4层 光栅尺+电机 位置检测、执行动作 雷尼绍光栅、直线电机

嗯,这里要注意:每一层之间的通信延迟,直接决定了你的同步精度。我在项目中遇到过,上位机发指令到运动控制器,中间走EtherCAT总线,如果周期没对齐,晶圆台跑起来就是一顿一顿的。

3.2 上位机:发号施令的“大脑”

上位机是干啥的?说白了,它不干苦力活。它只负责两件事:算轨迹发指令

比如你要让晶圆台走一个S曲线加速,上位机就把这个曲线的每个插补点算好,然后打包发给运动控制器。它不参与实时的闭环控制,因为Windows系统有中断延迟,你让它干实时活,它干不了。

关键点:上位机只做“非实时”任务。实时控制必须交给下一层。

我个人习惯在上位机里做一层“指令缓存”。为什么?因为运动控制器的缓冲区有限。如果你一次性发太多点,控制器会溢出;发太少,又会出现“断流”,电机就会卡顿。我曾经吃过这个亏,后来在上位机里加了个环形缓冲区,问题就解决了。

3.3 运动控制器:真正的“指挥官”

运动控制器是整个系统的核心。它接收上位机的轨迹指令,然后实时计算每个轴该走多少,什么时候走。

曝光机里最核心的“步进扫描”动作,就是靠运动控制器来协调的。晶圆台和掩模台要同步运动,误差不能超过几个纳米。你想想看,两个台子各跑各的,怎么同步?

答案是:主从跟随。运动控制器里有一个“虚拟主轴”,晶圆台和掩模台都跟着这个主轴跑。主轴给一个位置指令,两个台子各自闭环跟踪。这样,只要两个台的跟踪误差都足够小,它们的同步误差就小。

我的经验:运动控制器的扫描周期很关键。曝光机一般用20kHz到40kHz的伺服周期。周期越短,控制越精细,但对CPU压力也越大。我建议根据你的电机惯量和负载来选,不要盲目追求高频。

3.4 伺服驱动器:干力气活的“肌肉”

伺服驱动器是干啥的?它把运动控制器发来的小信号,放大成能驱动电机的大电流。它内部有三个环:电流环、速度环、位置环。

在曝光机里,我们通常把位置环放在运动控制器里做,伺服驱动器只负责电流环和速度环。为什么?因为位置环需要全局信息,比如两个台子的同步误差,伺服驱动器自己看不到。

我曾经遇到过一个坑:某次调试,晶圆台在换向时总是过冲。查了半天,发现是伺服驱动器的速度环带宽设得太高了,导致相位裕度不够。后来我把速度环带宽从800Hz降到500Hz,过冲就消失了。嗯,有时候不是越快越好。

3.5 光栅尺反馈:系统的“眼睛”

没有反馈,闭环控制就是空谈。光栅尺就是系统的眼睛,它告诉控制器:你现在实际走到哪了。

曝光机用的光栅尺,分辨率通常是纳米级的。雷尼绍的VIONiC系列,分辨率能做到1nm甚至更高。但要注意,光栅尺的安装精度直接影响测量精度。我见过有人把光栅尺装歪了0.1度,结果读数误差直接到了微米级。

警告:光栅尺的读数头安装时,一定要保证与尺带的间隙均匀。我曾经因为一个读数头没装平,导致晶圆台在行程中间位置出现周期性抖动,查了三天才找到原因。

3.6 层级之间的通信:EtherCAT是主流

现在曝光机运动控制的主流通信协议是EtherCAT。它为什么好?因为它支持“从站间直接通信”,而且延迟极低,通常能做到100微秒以内。

举个例子:运动控制器发一个位置指令给伺服驱动器,同时光栅尺把实际位置读回来,整个过程在一个EtherCAT周期内完成。这样,控制器的闭环频率就能做到10kHz以上。

我个人建议,布线时要注意EtherCAT网线的屏蔽。工业现场干扰多,如果网线屏蔽不好,偶尔会丢包。丢一个包,晶圆台就抖一下,曝光出来的芯片就废了。

3.7 架构总览图

下面这张图,是我自己画的运动控制系统架构。你看一眼,就能明白各层之间的关系。

曝光机运动控制系统架构 第1层:上位机 轨迹规划 · 任务调度 · 人机交互 EtherCAT / 以太网 第2层:运动控制器 插补计算 · 闭环控制 · 主从同步 EtherCAT 实时总线 第3层:伺服驱动器 电流环 · 速度环 · 功率放大 动力线 / 编码器线 第4层:电机 + 光栅尺 直线电机 · 纳米级光栅反馈 光栅尺位置反馈 指令流(从上到下)→ 实时控制 反馈流(从下到上)→ 闭环修正 曝光机步进扫描同步控制实战手册

你看,指令从上往下走,反馈从下往上走。每一层都只跟上下两层打交道,不越级。这样设计的好处是:模块化。哪一层出了问题,就换哪一层,不影响其他层。

3.8 避坑指南:层级之间的常见问题

最后,我总结几个实际项目中容易踩的坑,你记一下:

  • 上位机发指令太快:运动控制器处理不过来,导致指令丢失。解决办法是在上位机加流控,或者用“等待完成”信号。
  • 伺服驱动器参数不匹配:电机惯量和驱动器设置不匹配,导致共振。我曾经调一个项目,换了电机忘了改驱动器参数,结果一跑就啸叫。
  • 光栅尺信号干扰:读数头信号线跟动力线走同一个线槽,导致位置读数跳变。解决办法是信号线单独走,加屏蔽。
  • EtherCAT从站配置错误:从站顺序不对,导致控制器找不到设备。我建议每次接线后,用EtherCAT扫描工具确认一遍拓扑。

嗯,架构这部分就讲这么多。你先把这四层的关系吃透,后面调同步控制的时候,你才知道问题出在哪一层。不然,你连故障定位都做不到。


公众号:蓝海资料掘金营,微信deep3321