首页 > 全部分类 > 技术问答 > 帖子内容

用台达 A3 伺服做 2D 轨迹切割机械手,遇到了轨迹失真问题: 为了消除加减速时的末端抖动,我在伺服软件里开了 自动高频振动抑制 和 FIR 滤波。静止定位精度极高,完全不抖。 核心故障: 在做

联系人:15630875243806

电话/手机:联系客服

发布时间:2026-08-28 04:06

浏览:119次

用台达 A3 伺服做 2D 轨迹切割机械手,遇到了轨迹失真问题:

  1. 为了消除加减速时的末端抖动,我在伺服软件里开了自动高频振动抑制和FIR 滤波。静止定位精度极高,完全不抖。

  2. 核心故障: 在做直角走线或者圆弧插补时,只要 PLC 发出的轨迹走到 S 曲线加减速的拐点处,伺服电机的实际走线轨迹就会明显向外‘甩出一个弧度’(轨迹偏差高达 1.5 毫米)

  3. 我把伺服的振动抑制关闭,轨迹立刻变得无比精准(直角就是直角),但末端又开始剧烈抖动。 为什么驱动器内部的振动抑制滤波,会把运动控制器发出来的精准 S 曲线轨迹给‘拉弯’掉?

明扬工控技术客服2026-08-28 04:10:13
答复内容:亲,这个现象其实非常典型,而且我重新核了台达 A3 的控制结构以后,有一个地方要先分清:

真正最容易把二维轨迹“拉弯”的,不是高频共振抑制本身,而是位置命令 FIR / Moving Filter。

A3 的自动高频共振抑制主要是 Notch Filter;而 P1.068 Position command moving filter 是直接作用在位置命令上的平滑器。台达手册明确把 P1.068 放在位置命令处理链里,和 P1.008 低通平滑一起位于位置环之前。

而台达自己的 A3 产品资料还特意强调:Vibration Elimination 算法和 Command Filter 不是同一种东西。 A3 另外还有自动 notch filters 用于机械共振。

所以你现在把:

自动高频振动抑制
+
FIR

一起打开后出现 1.5 mm 甩弧,我会第一怀疑 FIR / P1.068,而不是先怪自动高频 notch。

为什么 FIR 能让单轴更漂亮,却把二维直角画成圆角?

假设 PLC 已经算好了真正的二维轨迹:

X轴:──────────────→ 停

Y轴:              ↓
                    ↓

在拐点那个时刻,PLC 的意思非常明确:

X:现在减速到0
Y:现在开始运动

两轴的时间关系本身就是轨迹。

但是进 A3 后,如果又使用位置命令 Moving Filter:

PLC X指令
   ↓
P1.068 FIR
   ↓
X位置环

PLC Y指令
   ↓
P1.068 FIR
   ↓
Y位置环

FIR 的作用就是把突变摊到一段时间内。

台达 A3 手册对 P1.068 的定义就是 Position command - moving filter;这个滤波器可以让阶跃命令起止更平滑,但代价就是命令延迟。

于是原本 PLC 要求:

拐点:

X速度:───────╲____0
Y速度:0______╱─────

经过平滑以后可能变成:

X:
还没完全停

Y:
已经逐渐开始走

那么在这一小段时间里:

Vx ≠ 0
Vy ≠ 0

末端自然就在斜着走。

于是:

理论轨迹:

──────────┐
          │
          │


实际轨迹:

──────────╮
           ╲
            │

这就是你看到的:

直角被甩成圆弧。

这里有一个特别重要的认识

很多人会认为:

X、Y 两轴 FIR 都设置一样的时间,延迟一样,那应该只是整条轨迹晚几毫秒,不会变形。

对恒速直线来说基本如此。

但对拐角不成立。

因为 FIR 处理的是每个坐标轴随时间变化的:

X(t)
Y(t)

而拐角恰恰就是:

X、Y 两个分量的速度状态同时发生巨大改变的位置。

即使两个滤波器完全一致:

Hx = Hy

对一个“X停止、Y启动”的尖锐速度变化分别做时间平滑,也会让两种运动发生时间上的重叠。

于是:

坐标轴单独都很平滑,但合成出来的 XY 几何轨迹已经不是原来的直角。

这和最终定位精度没有任何矛盾。

所以为什么静止精度还可以高得离谱?

因为 FIR 改变的是:

到达目标的过程。

不是:

最终目标坐标。

例如 PLC 要:

X = 100.000 mm
Y = 50.000 mm

即使中间走成:



最后仍然可以准确停在:

100.000
50.000

所以完全可能同时出现:

最终定位误差:
几微米

运动中的轮廓误差:
1.5 mm

这叫:

定位误差小,但 Contour Error 很大。

对于点到点搬运机械:

前者重要。

但对于:

切割
雕刻
涂胶
焊接
轨迹加工

真正重要的是后者。

台达自己的调机资料其实已经提醒了这一点

我找到一版更新的 A3 系列调机流程,里面已经把:

Point-to-point positioning

和:

Contour following

分开处理。

对于 Contour Following / 轮廓跟随,建议方向之一就是:

减小 P1.008 和 P1.068。

而不是把命令滤波继续往大调。

资料同时还提醒位置环/速度环带宽比例不合理时,会造成 corner contour jitter。

这跟你现在的现象高度一致。

也就是说:

点位定位最佳参数 ≠ 连续轨迹加工最佳参数。

圆弧为什么也会失真?

圆弧更加依赖 X/Y 的严格同步。

理想圆:

X = R cosθ
Y = R sinθ

X、Y 必须保持严格的相位关系。

如果某一段因为:

FIR
+
速度环动态
+
机械负载不同
+
自动 notch 参数不同

导致:

X轴动态延迟 ≠ Y轴动态延迟

哪怕只差很短时间,

实际就会变成:

Xactual(t) ≈ Xcmd(t - Tx)

Yactual(t) ≈ Ycmd(t - Ty)

Tx ≠ Ty

那么原来的圆自然会:

鼓出去、缩进去、变椭圆或者局部半径异常。

而且速度越高:

同样1 ms时间差

对应空间误差越大

所以你会觉得:

低速看起来还行,高速 S 曲线拐点一下甩出 1.5mm。

自动高频振动抑制是不是完全无罪?

也不能这么说。

A3 的高频机械共振处理,官方明确提供了 5组 Notch Filter,并可以通过 P2.047 做自动共振抑制。

Notch 本身不是直接把:

位置轨迹

重新做 S 曲线。

它主要针对某一个机械共振频率降低闭环响应。

所以相比 FIR:

它通常更适合解决机械高频共振,而又尽量不去重新塑造整条轨迹。

但 notch 也不是完全没有代价。

它会改变闭环:

幅频特性
相频特性

而 X/Y 两轴机械不同:

X丝杠长度不同
Y负载不同
刚性不同
惯量不同

自动识别以后很可能:

X轴 notch = 620Hz
Y轴 notch = 850Hz

于是:

X闭环动态 ≠ Y闭环动态

在高动态轮廓加工中仍然可能增加 contour error。

只是我认为:

它的嫌疑排在 FIR 后面。

这个故障最好不要两个功能一起关

我会直接做一个 2×2 测试。

保持同一个:

直角路径
速度
加速度
S曲线

一次只改一个变量:

测试 自动高频抑振 FIR / P1.068 结果
A OFF OFF 基准
B ON OFF 看 Notch 单独影响
C OFF ON 看 FIR 单独影响
D ON ON 当前状态

我最预期的是:

A
轨迹最准
但末端抖

B
轨迹仍然很准
末端抖动改善

C
直角开始圆角

D
圆角最严重

如果结果真是这样:

就不要把自动高频抑振一起关掉。

保留它。

重点减:

P1.068

以及检查:

P1.008
还有一个容易出现的“双重 S 曲线”

你现在 PLC 已经做:

PLC轨迹规划

二维插补

S曲线

而 A3 内部又存在自己的:

Position command processing
Moving Filter P1.068
Low-pass P1.008
S-curve相关处理

A3 官方控制结构图明确把这些东西都画在位置环之前。

所以最不理想的状态就是:

PLC:
我已经把轨迹算得很漂亮了
        ↓
A3:
我再帮你平滑一次

对于普通定位机这可能很好。

但对于二维切割,就是典型:

上位机做好轨迹规划以后,单轴驱动器又各自二次规划。

这非常容易破坏轮廓。

所以这种2D切割机,我会明确分工
Motion PLC负责
XY插补
圆弧
S曲线
Acceleration
Deceleration
Jerk
Corner blending

所有改变几何轨迹的事情,应该尽可能在:

同一个多轴运动规划器

里完成。

A3负责
位置环
速度环
电流环
机械共振 notch
必要的振动抑制

但尽量减少:

再一次改变位置命令时间轮廓

尤其不要用很大的 P1.068 去治机械共振。

你这个末端抖动最好怎样治?

如果确定是:

高频机械振动

我会先用 ASDA-Soft 的系统分析找真实共振频率。

A3 官方的手动调机流程就是:

ASDA-Soft分析

找到机械 resonance point

如果是 high-frequency resonance

使用 Notch Filter

A3 有 5 组 notch,而且可以自动寻找。

这才比较像:

精准打掉机械共振峰。

而不是:

把整个位置指令都变慢。

还有一个非常好的现场诊断图

不要只看:

X误差
Y误差

直接记录:

X Command
X Feedback

Y Command
Y Feedback

然后画两条 XY 图:

X Command vs Y Command

和:

X Feedback vs Y Feedback

你会非常直观地看到:

Command:

────────┐
        │


Feedback:

────────╮
         ╲
          │

然后再把 FIR 关掉。

如果:

Feedback

立即重新贴近:

Command

几乎就可以确认根因。

1.5mm 其实未必需要很大的电气误差

比如只是举例:

假设拐角处单轴速度:

500 mm/s

两轴动态差只有:

3 ms

空间上就已经是:

约1.5 mm

所以看到:

“居然偏了1.5mm!”

不代表驱动器少走了1.5mm。

可能只是:

几毫秒的动态不同步,被高速轨迹转换成了毫米级轮廓误差。

这也是二维加工为什么对时间同步这么敏感。

所以我现在给你的嫌疑排序

第一嫌疑:

P1.068 Position command moving filter

把 PLC 已经规划好的 S 曲线再次平滑,直接造成 corner rounding / command delay。A3 手册明确说明其位于位置命令处理链中。

第二嫌疑:

P1.008

位置命令低通平滑也设得过大。

第三嫌疑:

X/Y自动 notch 参数不同

造成两个闭环的相位/带宽不完全一致。A3 支持5组机械共振 notch 和自动识别。

第四嫌疑:

位置环 / 速度环带宽配比

本来单轴定位没问题,但 contour following 动态不足;台达较新的调机流程本身就把“点位定位”和“轮廓跟随”分开调。

所以这个故障一句话讲透就是:

不是 A3 把 PLC 的坐标计算错了,而是 PLC 已经生成了精准的二维时间轨迹以后,驱动器的 FIR / Moving Filter 又分别对 X、Y 单轴位置命令进行了时间平滑。对于点到点定位,这能降低振动;但对于直角、圆弧和 S 曲线插补,轨迹几何本身就是由 X/Y 同一时刻的速度比例决定的,单轴命令一旦被二次滤波,就会出现动态轮廓误差,于是“位置最终很准,走出来的线却是弯的”。

现场第一刀我会只把 P1.068 降低/关闭,保留自动高频共振抑制,重新跑同一条直角和圆弧。 如果轨迹马上恢复,而末端抖动仍比全关闭状态好,这个问题基本就定位了。
对不起,请登录后再发表评论!

触屏端
扫一扫手机也能发信息
明扬工控商城-工控网-工控自动化真品,一站式专业服务!