ARTICLE DETAIL

资讯详情

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

伺服电机抖动排查指南:机械谐振、编码器与控制参数全解析

伺服电机抖动排查指南:机械谐振、编码器与控制参数全解析 1. 先把“抖”这件事定性拆开机械、控制、信号三分法电机驱动系统在运行中一旦出现“抖动”很多人第一反应就是“参数没调好往死里怼PID”。这个思路说实话有点坑。我调试过的设备里真正纯控制参数导致的抖动大概只占三成剩下的七成里机械谐振、编码器信号问题、负载侧刚度不足占了非常大的比例。你不分清抖动的来源一上来就调增益结果往往是把曲线调得看起来平滑了但设备一出力就原形毕露甚至在某个频率上直接啸叫炸机。我的习惯是把抖动源头分成三大类机械侧、电机本体与反馈侧、控制环路侧。这三者之间有交叉但绝大部分情况下你能通过几个简单实验把它们剥离开。机械侧的典型问题是“物理刚度不够”或者“传动环节有间隙”电机本体与反馈侧的典型问题是“编码器分辨率不够”或者“旋变/光栅信号被干扰”控制环路侧的典型问题才是“速度环增益过高”“相位裕度不足”“滤波器参数不当”。这三类问题如果混在一起处理你根本不知道该砍哪个参数。1.1 机械侧传动刚度与谐振的物理学机械侧抖动最容易被忽视因为它在示波器上看起来贼像“速度环没调好”。举个例子负载通过联轴器连到电机轴上联轴器的扭转刚度有限它本质上是一个“弹簧-质量”系统。电机转子是一端惯量负载是另一端惯量中间是一根扭转刚度很低的联轴器这个系统天生就有一个机械谐振频率基本可以粗略估算为f (1 / 2π) × sqrt(K / J_eq)K是传动链的等效扭转刚度J_eq是折算到电机轴上的总等效惯量。只要这个频率落在速度环带宽附近你稍微增大一点速度环比例增益就会在这个频率上激励出谐振峰表现出来就是“电机带着负载一起高频抖”。我见过不少人遇到这种情况第一反应是加大速度环增益“压住”抖动这是方向性错误。增益一上去谐振峰也跟着被放大声音变得更加刺耳最后只能把增益降回来。正确做法是先用驱动器自带的扫频功能测出这个谐振峰频率然后用陷波滤波器去“掐掉”它这样速度环带宽还能继续往上提而不被机械谐振拖累。机械侧的另一个大头是间隙齿轮箱的背隙、联轴器间隙、皮带张力不够都会在换向的时候产生“叩击感”表现成一个周期性的位置跳变。这类问题做频域分析一般看不出明显的谐振峰但你在位置误差曲线上能看到明显的“台阶”。1.2 电机与反馈侧编码器分辨率与信号质量我踩过的最冤枉的一个坑是这样的设备静止时电机会以大约10Hz左右的频率来回“哆嗦”幅度不大但肉眼可见轴在震。当时我怀疑是速度环参数问题结果调了一个下午都没有改善最后查出来是增量式编码器分辨率不够在低速零速状态下位置反馈量化的台阶太大速度估算器看到的“速度”一直在正负跳变于是电流指令也跟着来回摆动。编码器信号问题造成的抖动有个非常典型的特点抖动频率和电机转速有相关性转速越低越明显静止时表现为“极限环振荡”转速高了反而不抖。原因很简单——低速时每单位时间内反馈脉冲少量化误差在整个反馈信号里占比大速度环看到的噪声就大。这种时候你加再多的低通滤波也只是把表面波形抹平滑实际上系统刚度已经被削弱了。光栅尺的莫尔条纹信号变差、旋转变压器的激磁频率不稳定也会产生类似现象但它们的波形特征更接近“随机毛刺”而不是周期性的量化台阶。2. 从现象反推成因几种典型抖动模式的判断做设备调试不能靠猜但也不能一上来就上仪器猛测。我比较推荐的方式是先观察抖动发生的时机和声响把可能性范围从几十种缩小到两三种再动仪器去验证。这个环节时间不长但能帮你省掉很多无效操作。2.1 静止时抖、运行时不抖设备停在指定位置后电机开始低幅高频或低频振荡。优先怀疑方向不是控制参数而是零速保持下的反馈量化问题。当位置指令恒定速度指令为零时如果编码器分辨率不足或者速度观测器噪声大速度环仍然在“有输入”电流指令就会在那个位置附近来回补偿。这种情况下你可以用示波器看驱动器内部的速度反馈波形如果静止时的速度反馈是一条上下乱跳的带子那多半就是量化噪声。处理手段有两类一类是换更高分辨率的编码器或者采用多圈绝对值编码器另一类是调整速度环的滤波同时增加位置环增益把“定位刚度”提上去让位置环把微小扰动吸掉。2.2 低速匀速时抖、高速正常典型特征是设备以很低的速度运行比如每分钟只有几十转转速曲线有明显的一顿一顿现象伴随“咯噔咯噔”的机械声。这个现象在摩擦系数变化比较大的滚珠丝杠和直线导轨上特别常见本质就是大家常说的“爬行”stick-slip。原因在于低速时速度环积分作用不够强系统无法平滑克服静摩擦和动摩擦的切换变化。你仔细观察扭矩指令曲线会发现它忽略时输出、突发时收缩形成“锯齿波”。处理方向是增大速度环积分增益、加上摩擦前馈补偿或者用高级驱动器里的“低速摩擦补偿”功能。这里特别提醒不要靠加大比例增益来压爬行那会把一个一顿一顿的低频问题变成高频抖振只会更糟。2.3 加减速过程中抖、匀速稳定这种抖动出现在指令变化阶段匀速段基本平稳典型表现是启停时轴有“隈几的波动”——先过冲、再回摆、反复几次才稳定。这是典型的位置环/速度环带宽既不协调的问题。位置环增益设太高而速度环响应跟不上位置指令的阶跃变化瞬间产生较大的速度指令速度环来不及跟踪就会出现超调和振荡。也有可能是速度前馈没启用或者前馈系数偏低导致跟踪误差在动态过程中被放大。做法应当是先确认速度环已经稳定工作再将位置环增益逐步增加同时匹配前馈系数达到“一次到位不太振荡”的状态。2.4 高频啸叫与嗡嗡声听到明显的高频啸叫高于几百赫兹或者驱动器发出刺耳的“嗡嗡”声这大概率是电流环谐振或者机械谐振被激励。你可以用手摸一下电机壳体和安装底座感受一下振动最强烈的位置。如果电机外壳震动最明显问题通常在电机本体和驱动器电流环如果底座或负载端震动更明显问题多半在机械谐振。高频啸叫的典型原因是速度环增益过高、电流环采样噪声放大或者是载波频率附近的开关噪声与电机分布电容形成循环电流。处理方式要考虑降低速度环观测器增益、提高PWM载波频率如果温升允许、检查驱动器输出端是否缺少必要的共模滤波电感。下面是我整理的一个速查表现场排查时可以直接对照抖动表现优先怀疑方向下一步动作静止时来回哆嗦编码器分辨率/反馈噪声看速度反馈波形查位置量化台阶低速一顿一顿地爬摩擦与爬行效应增加速度环积分、摩擦前馈加减速过冲回摆位置环/速度环带宽不匹配检查前馈系数、降低位置增益匀速运行有周期脉冲机械周期误差丝杠导程误差、电机齿槽查电机转矩脉动大小考虑换更平滑的控制方式高频啸叫机械谐振或电流环噪声扫频找谐振峰加陷波滤波器停止后过一段时间突然抖温度变化导致摩擦差异或换向阀切换检查负载侧执行机构状态3. 实操定位流程空载测试、惯量辨识与扫频验证确认抖动类型之后下一步是精确定位。我每次处理这种问题都会严格按下面的流程走一遍。这个流程不可能100%把问题找出来但至少能保证你不漏掉“如果电机本身有问题改参数压根没用”这种大坑。3.1 第一步断开负载做空载运行把联轴器松开让电机完全脱离负载然后重新上电用驱动器面板或软件让电机分别以低速和高速运行。如果脱离负载后抖动消失那问题基本锁定在机械负载侧或者电机与负载的耦合方式上如果脱离负载后依然抖动那问题出在电机本体、编码器或者驱动器内部。这一步是最快的“分水岭”我见过的绝大多数现场抖动在这一步之后方向就清晰了。空载测试时还要多留一个心眼有些电机自带抱闸抱闸没完全张开时面板显示电流很大转速也上不去但你会看到“抖动”现象。所以空载测试启动前先手动给抱闸一个释放电压确认轴能自由转动否则测出来的结果是假的。别问我怎么知道的——现场因为拖链没拆、抱闸没开就测试的情况我真的见过太多了。3.2 第二步惯量辨识与频响扫描大多数现代伺服驱动器都内置了自整定和惯量辨识功能。你选择“自动整定”驱动器会对电机施加一个特定的激励信号然后根据电流响应计算出负载惯量比、速度环预估带宽等参数。但这只是一个起点不是终点。自动整定给出的参数通常偏保守只保证你启动时不炸机不能保证性能指标。真正的精细调整要用驱动器软件里的“频率响应分析”或“扫频功能”在系统运行的工况下做一次实际的频响测试。具体操作是把速度环增益调到较低状态让系统稳定然后在速度指令叠加一个从1Hz扫到1kHz或更低/更高的正弦扰动记录速度反馈对指令的幅值和相位差生成伯德图。图上出现明显“尖峰”的频率就是系统谐振点。如果尖峰平缓且低于0dB说明机械刚度还可以如果尖峰很高就要留意谐振频率到底落在哪个控制环带宽内。这张伯德图是你后续调参和设置滤波器的依据千万不能跳过。扫频过程中如果出现大的峰值不要立刻用滤波器去“盖住”要先判断这个峰是谁带进来的。把电机空载扫一遍带负载再扫一遍对比两个峰值是否出现移动。如果带负载后峰值频率明显下降说明是负载惯量拉低了谐振频率如果峰值频率没变但幅值变大说明机械端本身刚度不足比如底座没固定好。这两种情况对滤波器参数的设定完全不一样。3.3 第三步观察指令与反馈轨迹扫频测试之后我习惯再做一次阶跃响应测试。给一个小幅值的速度阶跃指令用高速示波器通道同时看指令速度、反馈速度和扭矩指令。阶跃响应会告诉你三个信息超调量、振荡频率、稳定时间。超调大说明相位裕度不够振荡频率如果在几十Hz左右多半是速度环问题如果振荡频率在几百Hz多半是机械谐振被激励或者滤波器配置不到位。这一步的目的是把“频域发现的谐振峰”和“时域表现出的抖动特征”对应起来以便确认修改滤波器值之后时域响应是否真的变好。我用这套流程处理过不少项目的疑难杂症很少出现“调一个参数然后系统崩了还得从头来”的情况原因就在于每一步改动都有上位测量做依据不靠感觉。4. 控制参数整定与滤波器选择根治抖动的几个实操思路当确认是控制环路问题之后才真正进入调参阶段。很多新手喜欢照着书本上的经验值一套一套地往驱动器里灌这往往适得其反。因为每台设备的机械刚度、惯量比、摩擦特性都不同只能用结构性思路去调而不是背配方。4.1 三大环之间的带宽关系先懂这个再动手任何电机驱动控制从内到外都是电流环、速度环、位置环。电流环是反应速度最快的典型带宽在伺服驱动器上可能到1kHz以上有些高速驱动器更高速度环次之带宽一般在几千赫到几百赫兹位置环最慢带宽通常只有速度环的1/5到1/10。这个带宽关系不是随便定的而是由反馈控制系统的稳定性要求决定的——内环带宽必须至少是外环的3到5倍否则外环指令一变化内环响应跟不上就会在环间形成相位滞后叠加系统极易振荡。为什么抖动经常在参数改完后出现就是因为很多人调位置环增益时发现“位置跟踪好像变快了”很爽就继续加加到位置环带宽接近甚至超过速度环带宽结果整个系统开始发散。你观察到的“抖动”只不过是一个必然结果。所以调参的铁律是先调好电流环再调速度环最后才调位置环永远不要反着来。电流环正常情况下驱动器出厂已定用户不需要改你要重点关注的是速度环的PI参数和位置环的P参数部分伺服有PD或PID结构。4.2 速度环增益的试探性调整找到一个“临界点再退”我摸索出一个简单实用的方法适合大多数速度环可独立调试的伺服驱动器。先设定一个中等的速度环积分时间然后把比例增益从小到大缓慢增加同时用空载或轻载状态反复给阶跃指令。当比例增益增大到某个值时会听到电机发出“嗡嗡”声或者阶跃响应出现不能衰减的震荡这个值就是当前系统结构的临界增益。记录下这个临界值然后把实际使用的比例增益设为临界值的60%到70%。之所以要退这么多是因为带载后机械等效惯量会增大、系统阻尼特性变化如果你把增益踩在临界值上现场一加负载就会出现抖动。在比例增益确定之后再调整积分时间。积分的作用是消除速度稳态误差但积分时间太小会让速度环在低频段产生相位滞后出现“低频喘振”。我的参考方向是先把积分时间设置得比较长比如200ms然后逐步减小直到速度阶跃响应在0.5s左右达到稳态且不振荡。如果设备对低速稳态精度要求高可以配合摩擦前馈和重力前馈来补足而不是把积分时间缩短到一个危险值来硬顶。4.3 陷波滤波器的参数设置频率、深度、宽度怎么选现代伺服驱动器几乎都会带陷波滤波器专门用来抑制机械谐振。很多人知道要“加陷波”,但不知道参数怎么给。其实逻辑很简单你前面扫频得到谐振频率陷波滤波器的中心频率就设在那个谐振峰上。但你不能瞎设。如果谐振峰宽度比较陡你把带宽宽度设得太大会把附近有用的低频信号也削掉系统刚性变差如果带宽宽度太小又可能覆盖不了实际工况下的频率漂移温度变化后机械谐振频率会有些偏移。我建议的初始值是陷波深度从-10dB开始先看效果不够再加深最多不要超过-20dB。有人喜欢一上来就-30dB深度这会把相位降低得非常厉害系统变得“软绵绵”甚至可能诱发其他频率的新振荡。陷波宽度的经验值通常是谐振峰半宽度的1.5到2倍具体数值很多驱动器以品质因数Q或Hz为单位给出你按软件提示微调即可。设置完成后重跑一次扫频看谐振峰是否被明显压平同时观察相位曲线在谐振点附近是否出现太大的凹陷。如果相位凹陷已经很深但电流/速度曲线仍然有振荡那就要考虑是不是还有第二个谐振源而不是继续加深陷波宽度。4.4 位置环增益与前馈系数最后一个才动位置环的调试核心是“比例增益 前馈系数”的配合。在速度环已经稳定的前提下位置环增益从小到大调观察定位时间与过冲量。一般的数控系统位置环增益在系统刚性和跟踪精度之间取一个平衡点如果负载是皮带、丝杠、大惯量转台我会特意留一些余量不在空载状态下把位置环增益调满。带载之后条件变化往往需要回调。前馈系数的用处是减小指令变化时的跟踪误差。但前馈系数过大会造成位置指令变化瞬间速度指令出现尖锐毛刺表现就是“起步顿了一下才走”。我调试时的习惯是先关闭前馈调整好位置环比例增益确认定位响应OK然后从50%开始逐步增加前馈观察动态误差曲线是否变平。当前馈加到80%左右时很多设备已经能获得不错的动态精度再往上加就要看速度和力矩曲线是否有毛刺。如果发现曲线边缘出现高频振铃说明前馈给得过头了要往回退10%左右。5. 硬件与本体检查哪些情况必须换件而不是调参控制参数不是万能的。有些抖动你再怎么调都没用根子在硬件选型或机械本身上。这部分往往是工程师最不想面对的现实——因为换件意味着成本、工期和客户沟通。但早点给出“必须换件”的结论比拖着现场调三天再换件要体面得多。5.1 编码器分辨率与类型不匹配在低速性能要求很高的应用里增量式编码器的线数不够或者编码器本身是2500线的老型号你在低转速区想要达到1转/分的稳定平滑运行几乎不可能。道理很简单2500线编码器经过4倍频后是10000个脉冲/转折算下来每个脉冲对应0.036度低速时每毫秒可能就几个脉冲进来速度观测到的“脉冲间隔”天然就是离散的。如果设备要求极低速甚至“堵转稳停”最好直接换更高分辨率的光电编码器17位、23位或者带高倍细分的磁编码器。这里没有调参能解决的方案你只能通过硬件升级来获取反馈精度的绝对下限。5.2 联轴器与传动机构选型问题弹性联轴器在中小功率伺服里很常见它的好处是能补偿安装偏心坏处是扭转刚度有限。如果负载惯量很大而你用了一个刚性很差的全弹联轴器机械谐振频率会非常低轻则影响速度环带宽重则一跑就抖。选联轴器时不能只看孔径和扭矩更要看它的扭转刚度和偏差补偿能力。对于高动态响应应用尽量选波纹管联轴器或者膜片联轴器如果负载本身就是大惯量盘考虑用直连、键连接或胀紧套来增加刚度而不是靠柔性联轴器“缓冲”。所谓“缓冲”在伺服系统里是伪需求因为电机控制需要机械传动链尽量表现出刚性刚度越好控制越准越不容易抖。减速机的背隙同样会在高精度定位中制造麻烦。行星减速机的回程间隙如果超过一定弧分值位置指令反向时就会出现一个“咔哒”后微抖。这个问题在控制上只能通过加“背隙补偿”或者降低动态响应去掩盖治标不治本。如果工况经常换向而且精度要求高要选择低背隙产品甚至采用直驱电机方案来根除。5.3 驱动器电流环与载波频率有些抖动根源在驱动器本身。老款驱动器的电流环采样率低载波频率只有4kHz或8kHz在低电感电机和长电缆的场景下电流波形的纹波会比较大影响速度环输入信号质量表现出来就是“电机会有哼声”。这种问题如果驱动器支持调整载波频率适当提高到8-16kHz往往能肉眼可见地改善电流波形但注意载波频率提高后驱动器发热会增加必须留足散热余量。如果驱动器本身的电流环带宽不够你再调整速度环参数也突破不了瓶颈这种时候就要评估更换驱动器。现场还有一个很容易被忽略的点——编码器电缆和动力电缆如果不分开走线编码器反馈信号很容易被高频开关噪声干扰导致位置反馈在微米级别不停跳变。有时候看起来是“电机抖动”其实电机的电流指令完全正常只是反馈信号出了很大的毛刺。用示波器探头接编码器输出通道看波形如果发现边沿大量杂波那就得考虑换屏蔽双绞线、重新接地或者加磁环。6. 现场问题排查实录我遇到过的情况与避坑点前面讲了方法和原理这一节我来分享几个真实处理的案例。每一个案例背后都有对应的教训比理论更直接也更让人觉得“哦原来这种坑真的有人踩过”。6.1 案例一CNC雕铣机Z轴低速下降时“咯咯咯”地抖现象是Z轴下降时速度不均匀伴随明显的机械噪音但上升阶段没问题。先断开负载空载测试电机没有抖动。检查机械结构发现这轴配的是抱闸电机抱闸控制信号正常但抱闸打开时存在一段延迟重力负载在抱闸还没有完全脱离时就开始压迫丝杠导致电机“带抱闸强制拖动”。处理方法是调整抱闸释放时序让指令运动在抱闸信号稳定后再开始同时把Z轴的重力前馈加上让速度环不用靠积分量硬抗重力。这个案例给我最大的提醒是抖动不一定只是“控制环响应不够快”还可能是执行器的使能时序和机械预载造成的“强制摩擦振动”。6.2 案例二3米皮带输送线定点停止后轴在原点附近持续微振皮带线负载本身惯量大停位精度要求不高但每次停车后电机轴会以约8Hz的频率在位置附近来回摆产品跟着做“点头”动作。空载测试问题依旧初步判断跟负载无关。用软件看位置误差曲线发现在停位指令发出后的稳态阶段位置给定和实际反馈在几个LSB之间反复跳变而且速度反馈存在明显的量化台阶。进一步检测后发现该设备用了模拟量输入的旧驱动器配2500线编码器低速位置的反馈精度实在跟不上位置环增益要求。处理方案是把位置环增益降低到不振荡的临界范围以临时交付同时给客户报了一个升级编码器和驱动器的替换方案。这个案例说明高增益不是越硬越好反馈精度限制了你能用的增益上限。6.3 案例三六轴机器人某关节上电后就有“嗡嗡”声现场是机器人开机待机关节E的电机一直有轻微嗡鸣手摸壳体有振感。速度指令为零电流曲线却持续有几十毫安的波动。检查驱动器参数后发现该关节的速度环积分时间设得太短导致静止状态下频率很低的干扰被积分放大形成低幅振荡。我先把积分时间调长消除了低频嗡鸣但随后发现位置保持刚度下降出现外力推一下“软绵绵”回不去的感觉。于是又增加了一点点速度环比例增益同时启用驱动器里的“零速伺服带宽增强”选项有些品牌叫抖动抑制或伺服刚性增强最终兼顾了静态无噪声和定位刚度。这个案例的关键是不要把一个参数调到极端要同时看“抗扰刚度”和“稳态噪声”两个目标。6.4 排查顺序与常见误区速查表结合上面这些案例我给现场调试整理了一份更实用的“常见问题速查表”也是我给工程师培训时反复强调的清单现象可能原因检查/处理手段停机/静止状态下轴微微颤动编码器量化噪声、零漂、驱动器死区补偿不当观察速度反馈曲线降低速度环增益或升级编码器低速匀速时一顿一顿摩擦系数变化/爬行加积分、摩擦前馈检查导轨润滑状态加减速时过冲多次回摆前馈不足或位置环增益过高降低位置环增益增大前馈系数带载抖动、空载正常惯量比过大、机械刚度低、联轴器弹性做惯量比识别检查联轴器选型与安装高频嗡鸣/啸叫速度环增益过高、机械谐振、载波噪声调低速度环增益扫频加陷波提高载波频率换向后发出撞击声减速机背隙、丝杠间隙做背隙补偿检查机械紧固/间隙调整位置误差持续增大直到报警速度环积分不够或负载突变检查积分时间、前馈、机械卡滞一个最常见的误区是一看到“抖”就把所有滤波器一溜加开。驱动器里默认的指令低通滤波、速度反馈滤波、位置微分滤波全都开大最终结果就是系统“不抖了但也没劲了”定位时慢慢悠悠外部扰动一推就偏客户照样不满意。滤波器是“对症下药”的工具不是“美化波形”的玩具。每个滤波器都会带来相位延迟叠多了系统就变得迟钝真正好的调试是让系统在满足抗谐振的前提下尽量保持高带宽和快速响应。我个人在实际调试中的体会是电机抖动问题九成以上都不是“玄学”而是“没有被测量逼出来的真相”。先测后调先分域后整定先空载后加载按这个顺序来大部分问题都能在一个小时内找到方向。如果你在实际项目中也遇到类似问题建议先从我这套流程中的“空载测试”做起往往第一步就能帮你排除掉一半以上的干扰因素。在参数修改上一次只动一个参数改完就测测完再记这比一次性改三五个参数再靠感觉慢慢试靠谱得多。
返回列表