ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

伺服驱动器前馈控制环(FCL)原理与整定实战

伺服驱动器前馈控制环(FCL)原理与整定实战 在伺服驱动器的调试现场我见过太多这样的场景设备商把位置环增益、速度环增益一路往上顶顶到报警边缘示波器上的跟随误差依然大得离谱走直线还好一拐角、一反转工件轮廓就明显出现“圆角”和“过冲”。更头疼的是你再往上拧增益机械开始共振电机发出刺耳的啸叫最后只能灰溜溜地把参数降回来。问题出在哪很多人没意识到反馈环路再拼命本质上也是在“事后补救”真正让伺服系统跑出高性能的往往是那几路不起眼的前馈控制环也就是标题里说的 FCLsFeed-forward Control Loops前馈控制环。这篇文章我想结合自己做运动控制和伺服调试的经验把前馈环路的原理、参数整定方法、以及实际项目里踩过的坑一次性讲清楚给正在跟跟随误差较劲的工程师一份可以直接照着做的参考。1. 先拆清楚三层闭环结构前馈环到底“插”在哪1.1 电流环、速度环、位置环的分工与带宽伺服驱动器内部几乎都是标准的三环嵌套结构从内到外依次是电流环、速度环和位置环。电流环在最里层直接控制电机绕组的电流也就是力矩它决定了“出力”的速度带宽最高一般能做到 1 kHz 以上速度环在中间用编码器反馈做 PI 控制负责把电机的实际转速稳住带宽通常在 100–300 Hz位置环在最外层一般只用 P 控制负责把实际位置锁到指令位置上带宽通常只有速度环的 1/5 到 1/10。这三个环是嵌套的位置环输出速度指令速度环输出力矩指令电流环最终输出 PWM 电压。带宽上必须从内到外递减否则内环来不及响应外环的指令整个系统就会振荡。你可以把这种结构理解成一家公司位置环是老板只管定目标速度环是部门经理负责盯进度电流环是一线员工真正动手干活。老板发现问题只能等月底报表这个天然的“信息延迟”就是跟随误差的来源之一。1.2 前馈环的定位沿着“已知的未来”直接抄近路反馈控制的逻辑是“看到误差再修正”所以它永远滞后。前馈不一样它直接拿指令信号本身做微分和计算在误差还没产生之前就把补偿量送到前级。指令是控制器自己发出去的未来往哪走、走多快、加不加速都是提前已知的——既然如此为什么不直接告诉伺服系统“马上要加速了提前加力”这就是前馈环的本质基于模型做预测而不是基于反馈做补救。它不依赖编码器反馈所以不受测量噪声和反馈延迟的影响。在多数伺服驱动器里这几路前馈就是参数表里的 KVFF、KAFF对应速度前馈和加速度前馈。搞懂它们什么时候起作用、作用多大比盲目调增益有用得多。2. 速度前馈和加速度前馈两条主流前馈路的原理与差异2.1 速度前馈对付匀速段持续滞后的一剂猛药先看一个最常见的现象位置环用纯 P 控制时如果电机以恒定速度 V 运行位置误差 e 和速度指令之间存在固定关系。速度指令由位置环输出等于位置误差乘以位置环增益 Kp所以要维持恒速运动就必须存在一个稳定的跟随滞后 e V / Kp。这就是为什么两轴同时走直线转角处总有一轴“拖后腿”——误差大的一侧轮廓就被拉成圆角。速度前馈的做法很直接把指令速度 V_ref 乘以一个系数 KVFF直接叠加到速度环的指令上。这样一来就算位置误差为零速度环也能收到维持恒速所需的速度指令位置环也就不需要靠制造误差来“憋”出速度了。当 KVFF 设为 100% 时理想情况下匀速段的跟随误差可以趋近于零。实际调试中我一般先从 60–70% 起步慢慢往 100% 靠同时盯着到位过冲量。2.2 加速度前馈加减速段的“额外推力”速度前馈只在匀速段效果好加减速瞬间就不够看了。电机要加速必须输出额外的力矩 T J × α这个力矩要靠速度环 PI 调节器慢慢“攒”出来。速度环带宽再高也有响应时间于是加速开始的一小段位置误差会突然涨起来轮廓上就是一个内凹。加速度前馈就是针对这个场景的取指令加速度 a_ref乘上系统惯量 J_total 和一个系数 KAFF直接往力矩指令里灌。也就是说加减速需要的“额外推力”不再等速度环慢慢算而是由前馈通道提前给到。很多旗舰驱动器的参数表里有惯性比Inertia Ratio和加速度前馈增益二者配合使用本质上就是在做“系统模型的逆运算”。2.3 两者如何配合以及一张参数速查表速度前馈解决“匀速段滞后”加速度前馈解决“加减速段动态误差”两者不是二选一而是各管一段。这里给一张我在调试时常用的参数速查表方便对照前馈类型参数名各家略有差异经验取值范围设置过小设置过大速度前馈KVFF / Velocity FF70%–100%匀速段仍有明显滞后到位过冲、停车振荡加速度前馈KAFF / Accel FF50%–100%视刚性而定加减速段动态误差偏大启停冲击、机械共振摩擦补偿Friction Comp实测摩擦电流换向时有停顿感低速抖动、爬行重力补偿Gravity Comp按负载质量估算垂直轴下坠静止时嗡嗡震动一个很容易忽略的点加速度前馈用多了以后电机在启停瞬间的电流尖峰会明显变大。如果你看到驱动器报过流或者机械有“咯噔”一下的冲击感十有八九是 KAFF 调过头了。3. 从零开始的整定流程一组可以直接做笔记的步骤3.1 整定前的机械与电气检查前馈再好也救不了有病的机械。开始调之前我会先确认三件事联轴器有没有松动、导轨有没有爬行、编码器信号有没有抖动。然后是识别惯量比这个大多数驱动器都有自动测量功能一般是让电机做个来回的小幅摆动根据电流和加速度推算负载惯量。惯量比不准加速度前馈的补偿量就是错的怎么调都别扭。还有一个容易被忽略的环节先把反馈环路的自动整定跑一遍把电流环、速度环、位置环的基准增益定下来再动前馈。顺序不能反反了你分不清误差到底是哪个环造成的。3.2 三步到位的手动整定方法我习惯把前馈整定分成三步走每一步都有明确的观察目标和判断标准。第一步建立基线。所有前馈增益归零跑一个设备实际使用的典型轨迹最好包含匀速段、加速段、减速段和换向用驱动器的示波器功能把跟随误差波形记录下来记下最大误差和停止后的调整时间。第二步加速度前馈。不对顺序应该是先加速速度前馈。先把 KVFF 从 0 打到 50%跑同一段轨迹看匀速段误差有没有明显下降没有下降说明参数通道没生效去查指令单位换算有下降就往 70%、100% 推。这个阶段只看匀速段不用管加减速段。第三步加加速度前馈。KVFF 固定在 100% 后把 KAFF 从 0 按 10% 一档往上加。每加一档就再跑一次轨迹同时盯三个指标加减速段最大跟随误差、停止后的过冲量、电枢电流峰值。出现过冲变大或者电流尖峰异常就退回到上一档。大多数刚性比较好的系统最后停在 60%–100% 之间。3.3 一个量化例子误差到底能压掉多少为了让你对结果有个概念我举个典型的滚珠丝杠平台例子导程 5 mm最高速度 300 mm/s加速度 3000 mm/s²位置环增益 Kp 设为 25 1/s。前馈全关时匀速段跟随误差理论值 e V/Kp 300/25 12 μm实际加上摩擦和延迟大概在 15 μm 左右加减速过程中误差能冲到 35 μm 以上。打开 100% 速度前馈后匀速段误差直接掉到 3 μm 以内基本就是编码器分辨率的量级再把加速度前馈调到 80%加减速段的峰值误差也能压到 10 μm 以内。这个数量级的改善光靠调反馈增益是绝对做不到的。4. 前馈不是只有那两路摩擦补偿、重力补偿与动态前馈4.1 摩擦补偿换向停顿的克星很多工程师调完速度前馈和加速度前馈后发现追踪精度还是差一截尤其在低速换向的时候电机明显“迟钝”一下。这通常是静摩擦和库仑摩擦在作怪。摩擦力和速度方向有关是典型的非线性项线性前馈算不出来得专门做摩擦补偿。伺服驱动器的摩擦补偿一般包含静摩擦补偿和库仑摩擦补偿。你需要观察电机在匀速段维持当前速度时的实际电流值那就是克服库仑摩擦所需的力矩电流方向不同这个值可能还不一样。把两个方向的值分别填进去设置一个速度死区比如 1–2 rpm 以下不启动补偿低速换向的停顿感就能消除。注意死区设太大补偿会在停止时“粘住”电机反而引起低速抖动。4.2 重力补偿垂直轴和倾斜轴不能没有它凡是重力方向能产生力矩的轴比如垂直升降轴、倾斜安装的滑台、机器人关节重力的影响始终存在。重力是随位置变化的机械臂伸出去和收回来重力力矩完全不同。我见过不少垂直轴设备走完一段轨迹停下来位置还会慢慢往下“掉”几个脉冲那就是重力补偿没做好。重力补偿的做法通常是先建立重力和位置的模型然后按角度实时给一个力矩偏置。调试方法比摩擦补偿麻烦一点先把速度环积分关掉让轴停在几个典型位置记录维持静止所需的电流拟合出重力曲线再填进补偿表。这样处理后垂直轴低速运行和停止保持的稳定性都会有质的提升。4.3 动态前馈与上位机联动高端玩法再往上一层是真正意义上的“动态前馈”。很多运动控制器在规划轨迹时就知道每个插补周期的位置、速度、加速度甚至加加速度Jerk把这些数据通过总线实时发给驱动器驱动器的前馈通道直接使用这些“预期值”做补偿。这比驱动器自己从位置指令微分出来的前馈更平滑、更超前。电子凸轮、飞剪、印刷套准这类对同步误差要求极高的应用用的就是这种动态前馈思路。它的前提是总线周期要短、同步抖动要小EtherCAT 之类的实时总线是标配。如果项目里工艺节拍要求同步误差在几十微秒级建议优先考虑带动态前馈功能的驱动器别只盯着反馈环路的性能参数。5. 前馈不是万能的参数与机械条件造成的翻车现场5.1 前馈增益过大过冲与到位振荡前馈最大的坑就是“过犹不及”。速度前馈打满 100%如果系统存在一点模型偏差比如惯量识别不准、指令滤波有延迟停车瞬间就会因为补偿过度产生明显过冲。加速度前馈过大的直接表现更直观启停时机械“咣”一下像是被踹了一脚示波器上看速度波形会出现一个反冲尖峰。我的处理习惯是前馈参数永远留一点余量。速度前馈留 5–10% 的余地加速度前馈如果系统刚性一般从 60% 开始试别一上来就打满。一旦发现过冲不要急着去调速度环先检查是不是前馈给多了。5.2 前馈撞上机械谐振和陷波滤波器另一个容易翻车的地方是前馈和陷波滤波器的组合。机械传动链总有谐振峰驱动器为了稳定通常会启用陷波滤波器Notch Filter把某个频率的谐振压掉但陷波滤波器会带来相位延迟。前馈通道不经过反馈它注入的补偿力矩照样会激励起机械谐振如果谐振频率恰好在前馈的激励频段内就会出现“增益不高但吱吱叫”的怪现象。遇到这种情况先把加速度前馈降下来再检查陷波滤波器的中心频率和深度是否合理。实在不行给加速度前馈通道单独加低通滤波限制它的高频成分。很多驱动器参数里都有这个选项名字可能叫“FF smoothing”或“FF filter”别忽略。5.3 反向间隙和柔性负载前馈也无能为力的场景前馈是基于线性模型的它对付不了机械里的“非线性和不确定性”。反向间隙就是典型的例子丝杠螺母间隙、减速器回差齿轮咬合间隙电机转过去一段负载还没动位置误差猛然增大速度换向时误差会在间隙区间里“原地踏步”。前馈算不出这个间隙有多大、何时消完硬开补偿只会让机械反复敲击。柔性负载也是同理。带着一根长皮带或者细长机械臂负载末端和电机之间存在弹性形变前馈按电机端惯量算出的补偿力矩传到负载端已经衰减变形。这类系统需要的是更复杂的模型比如双惯量模型和多级滤波甚至末端编码器全闭环。所以项目选型阶段就该想清楚机械刚性不够电气上再怎么折腾前馈也补不回来。5.4 调试时的几个隐藏开关回零、报警与使能切换最后提醒几个调试时的细节。第一回零过程一定要把前馈关掉回零速度很低前馈补偿量在那点速度下没有意义反而可能顶着限位报警第二很多人改完前馈参数从来不保存到断电记忆区设备一重启参数回到出厂值现场就炸了第三驱动器报警复位瞬间的前馈状态要确认一下个别驱动器的前馈在故障后不会自动清零恢复使能时会猛地冲一下。这些“隐藏开关”看着不起眼踩一次够你排查一整天。6. 一个实测案例复盘环形输送线跟随误差从 0.8 mm 压到 0.05 mm最后分享一个我实际经手的案例。客户是一条环形皮带输送线四轴伺服同步驱动带视觉定位做在线贴标。问题是贴标机在追标过程中标签始终偏偏差量随速度波动最快的工位速度大概 400 mm/s。机械上查了一圈皮带张紧没问题、同步带没跳齿、编码器安装牢固。把速度波形拉出来看发现每个轴在匀速段都有明显的跟随滞后而且四轴滞后量不一致贴标位置自然就飘了。我先做的是把每根轴的速度环和位置环自动整定跑一遍确认反馈环路本身没有隐藏问题然后测出各轴的惯量比。接着按前面说的三步走先加速度前馈KVFF 从 50% 调到 90%匀速段每轴跟随误差从大约 0.4–0.6 mm 掉到 0.05–0.08 mm。然后试加速度前馈KAFF 从 20%、40%、60% 逐档加用示波器抓加减速段的误差尖峰。到 60% 时加减速段峰值误差已经压进 0.1 mm但继续加到 80%停止瞬间电流开始出现明显的尖峰机械有冲击感我就退回 60% 并保留。最终四轴一致性调好后贴标位置偏差稳定在 ±0.05 mm 以内满足客户的工艺要求。整个调试过程大概花了一个下午其中真正调前馈的时间不超过一个小时其余时间都在排查机械和确认参数通道。这个案例让我更确信一件事伺服系统的高动态性能从来不是靠把反馈增益推到极限换来的而是靠前馈把“未来”提前告诉系统。沿着这个思路去调你的调试效率会高得多。
返回列表