ARTICLE DETAIL

资讯详情

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

伺服驱动器扫频功能:PID调参前必做的共振检测与抑制

伺服驱动器扫频功能:PID调参前必做的共振检测与抑制 伺服驱动器的扫频功能说白了就是让电机在指定频率范围内做正弦波激励然后通过编码器反馈或者观测器估算出系统的实际响应最终画出一条频率—幅值/相位曲线。这条曲线能直接告诉你系统在哪些频率点上产生了谐振放大哪些频率点存在相位滞后。在机械结构已经固定的情况下这条曲线就是整个运动系统的“体检报告”比你拿手去掰丝杠、晃动联轴器、听声音猜共振点要客观得多也要快得多。很多工程师做PID调参上来就调增益调完增益又加滤波一顿操作猛如虎最后却发现设备噪音大、响应慢、电机发烫。根本原因就是你没有尊重机械系统的物理特性。机械共振点不消除你加大增益共振就会加剧甚至会发出刺耳的啸叫你减小增益响应又变慢定位时间拉长。这是一个死循环只有先找到共振点、把共振压下去PID增益才能放心地往上加整个系统的刚性才能真正发挥出来。这里我给一个非常重要的结论扫频不是PID调参的替代品而是PID调参的前置必要步骤。如果你跳过了这一步就像盖楼不先勘察地基后面所有的努力都是在打补丁。下面我直接进干货按实操的顺序把扫频这件事讲透。1. 别急着调PID先搞懂你的机械系统在“抖”什么1.1 机械共振的本质为什么你的设备会尖叫机械系统本质上是一个质量—弹簧—阻尼系统。电机通过联轴器、丝杠、同步带或者减速机驱动负载传动环节里不可避免存在弹性变形。丝杠有自己的扭转刚度联轴器有弹性体同步带有伸缩量就连电机转子本身也有质量和弹性。这些机械部件组合在一起就形成了多个固有谐振频率。我给你打个比方。你用力拉一根尺子悬在桌边的部分松开手尺子会以某个特定的频率来回振动。这个频率是由尺子的材料刚度、长度和质量的综合属性决定的跟你怎么拉没关系。机械设备也一样电机转子、丝杠、负载在工作台某个位置时会形成固有的共振频率。当伺服驱动系统的电流环、速度环或位置环在这个共振频率附近提供能量时整个机械结构就会发生谐振。反应到实际表现上就是电机在该频率附近出现高频抖动、啸叫编码器反馈的转速波动明显加剧设备运行精度下降。如果你用示波器看速度反馈波形会发现叠加了一层高频纹波频率恰恰就是系统的固有谐振频率。许多工程师会尝试用低通滤波器把这些高频噪音滤掉但这是一种偷懒的做法因为它会同时把有用的高频响应也滤掉导致系统带宽下降。正确的思路是你得知道谐振具体在哪个频率点然后用一个陷波滤波器只在一个窄带范围内衰减掉这个频率而不是把整个高频段一锅端。1.2 扫频功能到底在测什么频率响应的意义扫频功能本质上是在测量系统的频率响应特性。所谓频率响应就是给系统输入一个已知的正弦信号看系统输出的信号幅值变化和相位变化。你可以把它理解成给一个系统做“听力测试”输入不同频率的声音看它在哪些频率上反应过度在哪些频率上反应迟钝。自动化控制理论里的Bode图就是干这个事的。横轴是频率纵轴是幅值通常用分贝表示和相位角度表示。对伺服系统做扫频就能得到系统的Bode图。通过观察幅值曲线上哪个频率点出现尖峰幅值明显高于相邻区域就知道了系统的共振频率点。扫频的原理并不复杂伺服驱动器向电流环注入一个幅值极小、频率动态变化的正弦波信号然后通过编码器反馈数据用快速傅里叶变换或者其他信号处理算法计算出各个频率下的系统响应增益和相位滞后。这个过程中系统是在运动的但运动的幅度非常小通常只有几转每分钟甚至更低不会对生产造成影响也和常规的运动指令不冲突。关键是扫频测出来的这条曲线是电机、机械传动、负载整个链路的综合频率特性不是你用理论公式能算出来的。因为实际机械系统的阻尼比、惯量比、刚度都是非线性的和你的加工件精度、装配误差、联轴器磨损程度都有关系。所以实测的频率响应曲线是最贴近真实工况的诊断数据。2. 手把手扫频从接线到参数的完整流程2.1 扫频前的准备工作在开始扫频之前有几项准备工作必须做扎实。我第一次做扫频的时候就是因为没注意细节结果扫出来的曲线乱七八糟完全没法用。先把设备切换到速度模式或者转矩模式。大多数驱动器做扫频需要在速度模式下完成因为速度环本身是系统的主回路扫频信号需要注入到速度指令端口。当然不同品牌的驱动器的要求不一样有的支持位置模式下做频率响应分析但普遍推荐在速度模式下进行结果更可靠。确保电机的负载处于正常工作状态。如果你的设备是垂直轴需要考虑重力补偿如果是龙门双驱结构建议先抱闸或者确保机械连接可靠。若条件允许让工作台停留在靠近机械行程中段的位置因为大部分设备在中段位置的机械特性最平稳端部的悬臂效应会导致额外的振动干扰。还有一个大家容易忽略的细节伺服驱动器的电流环带宽和速度环参数会直接影响谐振峰的测量准确性。如果速度环的P值已经调得很高在扫描过程中系统本身就已经不稳定了扫出来的曲线可能因为过大的振荡而淹没掉真实的谐振峰。所以做扫频前最好把速度环增益调低一点比如设成你日常参数的一半甚至更低让系统处于相对保守的状态。另外把驱动器里的振动抑制功能有些品牌叫JOG抑振有些叫鲁棒滤波全部关掉。这些功能本身就是针对特定共振频率做的陷波如果你不关掉它们扫频结果是已经滤波过的系统响应真实共振峰会被掩盖掉。2.2 扫频参数怎么设频率范围、幅值、扫描时间一个都不能少扫频参数设置是决定测试质量的核心环节。大多数驱动器提供一个频率响应分析界面你需要设置三个关键参数起始频率、终止频率和激励幅值。起始频率一般设置在1Hz到5Hz之间。这个频率段的响应反映的是系统整体的运动学和摩擦特性是速度环带宽的下限参考。终止频率则取决于你设备的机械特性一般设置在200Hz到500Hz之间。对于常见的丝杠传动机构和同步带传动机构共振频率多分布在30Hz到150Hz这个区间所以我推荐把终止频率设定在300Hz以上这样才能完整覆盖潜在的共振范围。如果你做的是高速直驱电机平台建议扫描到500Hz以上。激励幅值是最考验经验的地方。幅值太大电机会有可见的振动还可能导致过流报警幅值太小反馈信号的信噪比太低测出来的曲线噪点很多无法判断。按照我的经验速度模式下激励幅值可以从10转每分钟开始试观察速度反馈波形。如果反馈波形毛刺较大就逐步增加幅值如果电机有明显的抖动声音就逐步减小。找到一个折中的值这个值一般在20到50转每分钟之间。扫描时间和扫描点数一般驱动器会自动分配。扫描时间太短低频率段的每个频点的数据积累不足计算出的幅值精度就会差扫描时间太长浪费时间而且系统状态可能发生变化。一般我习惯把总扫描时间控制在20到60秒内驱动器的扫描算法会采用对数扫频方式在低频段停留时间较长、高频段停留时间较短这样可以兼顾低频精度和高频覆盖范围。设置完成之后启动扫描观察速度反馈波形是否有异常振荡或者剧烈抖动。整个扫描过程中电机会产生轻微的正弦转动这是正常的不用紧张。扫描结束后把Bode图数据保存下来。现在主流伺服驱动器比如BECKHOFF、西门子、倍福、汇川、台达这些品牌都支持直接在调试软件里查看Bode图并导出数据导出的CSV文件还能在电脑上用Python或者MATLAB做进一步分析。参数推荐初始值调整依据起始频率1-5 Hz起始频率低于速度环带宽即可终止频率200-500 Hz覆盖机械系统可能存在的全部共振频率激励幅值20-50 rpm速度模式反馈信号应清晰可辨但电机不应有明显振动扫描时间20-60 s低频段需要足够的数据积累3. 三分钟看懂扫频曲线别被“烧饼图”忽悠了3.1 如何从Bode图中锁定共振频率扫描完成后驱动器会给你一张Bode图上面是幅频特性曲线和相频特性曲线。很多新手看到这张图会蒙不知道怎么看。其实你只需要重点关注幅频曲线上那些“尖峰”。我把判断步骤列出来你照着做就行。第一步把幅频曲线的纵轴单位切换成分贝。你会看到曲线整体呈现一个趋势低频段幅值比较平坦到了高频段会逐渐下降这是系统惯性的正常表现。共振点的特征是在某个频率位置曲线突然出现一个明显的凸起尖峰这个尖峰高于相邻区域的幅值3分贝以上就可以判定为系统存在明显的谐振。第二步确认共振频率的具体数值。在Bode图上找到尖峰对应的横坐标频率值这个值就是系统的共振频率。记录下这个频率后面设置陷波滤波器的时候会用到。第三步看相位曲线。在共振频率附近相位曲线通常会有一个剧烈的跳变。相位从滞后某个值突然变得更滞后或者突然前移这都是共振的辅助证据。如果幅值尖峰和相位跳变在同一个频率点上出现那么这个共振点就坐实了。我遇到过一个有意思的情况有位工程师的4轴设备Bode图上显示在138Hz有一个明显尖峰但他坚持说设备在运行时没有听到任何噪音。实际上这是因为他的速度环增益偏低系统带宽不足没有把138Hz的激励放大到可听见的程度。后来他把增益提高噪音立刻出现。这就说明扫频可以发现潜在共振不等同于设备当前一定在振动。Bode图上没毛刺不代表系统没问题取决于你的控制参数是否足够激进。3.2 多峰共振的解读哪些要先处理大多数设备不止一个共振峰。像龙门结构的设备因为左右两个电机驱动的机械结构对称性并不完美会出现两个相近的共振峰。又比如一个工作台运动系统丝杠本身有一个扭转共振频率工作台和导轨之间还有一个接触刚度产生的低频共振峰。在Bode图上你会看到两个或者更多的尖峰。这时候怎么取舍我的原则是优先级最高的是最靠近速度环带宽的频率峰。因为速度环带宽决定了系统的响应速度如果共振峰频率在速度环带宽的两倍以内它会直接和速度环增益交互导致系统无法稳定。举例来说你的速度环带宽目标是50Hz但系统在75Hz有一个共振峰那你把速度环增益提到目标值就一定会引发振荡。第二个要优先处理的是幅值最高的共振峰。因为幅值越高说明系统在那个频率点上的Q值越大对系统稳定性的威胁越大。这个高Q值峰的物理含义是机械结构阻尼比很低能量一旦注入就很难衰减。至于那些高频段比如300Hz以上出现的一些小幅度隆起的尖峰如果幅值不超过3分贝而且离你的目标带宽很远可以暂时忽略。有时候强行消除这些高频尖峰反而会付出带宽的代价。日常处理原则是“先大后小先近后远”。4. 找出共振点之后怎么处理陷波滤波器、低通滤波器和PID的配合4.1 陷波滤波器的设置窄带消峰不是越深越好找到共振频率之后最直接的武器就是陷波滤波器。陷波滤波器的工作模式是在某个特定频率上产生一个极窄的凹陷相当于在共振频率点上开一个“漏洞”让共振频率的信号不能通过而其他频率的信号不受影响。在伺服驱动器里陷波滤波器的参数通常有三个中心频率、陷波深度和陷波宽度。中心频率就是你测到的共振峰的频率值这个最好设置直接从Bode图里读出来填进去就行。陷波深度单位是分贝一般推荐设置在-10到-20分贝之间。陷波宽度决定滤波器作用的频率范围单位是品质因数或者带宽用Q值来表示。Q值越高被滤除的频率范围越窄对相邻频率的影响就越小Q值越低滤除的范围越宽但同时也会伤及无辜的高频成分。我建议的做法是首先用较窄的深度比如-10分贝配合一个适中的Q值观察系统是否还振荡。如果还振荡再加大深度到-15或-20分贝。这里有一个很重要的经验陷波深度不要一次拉到最大而是要逐级加上去因为陷波滤波器本身会引入相位滞后对系统稳定性有负面影响。一个设置过度的陷波滤波器会让系统在共振频率附近产生相位链的扭曲反而造成新的不稳定。有一点要注意如果你扫描出来的共振峰比较胖也就是带宽比较宽这可能对应的不是一个单一共振点而是两个频率非常接近的共振点叠加。这种情况下单靠一个陷波滤波器很难完美消除可以在驱动器里配置两个级联的陷波滤波器分别对准两个频率点效果会让系统变得非常平顺。4.2 低通滤波器与速度环增益的协同调整陷波滤波器解决了共振峰的问题但机械系统的高频噪声依然存在。这个时候你还需要在速度环的输出端或者反馈端加一个低通滤波器把高频噪声衰减掉防止它们通过速度反馈进入控制回路造成干扰。低通滤波器的截止频率设置有一个原则至少要为速度环带宽的3到5倍。比如你的速度环做出来是40Hz那低通滤波器截止频率设在120Hz到200Hz是可以接受的。低于这个值会把有用的速度响应滤掉高于这个值又起不到滤波作用。低通滤波器的阶数也要注意。大多数驱动器提供一阶或者二阶低通滤波二阶的衰减斜率更陡滤波效果更好但相位滞后更大。如果你在速度环反馈端配置低通滤波器会直接拉低整个环路带宽。所以我的建议是优先使用陷波滤波器解决共振低通滤波器只是作为最后的噪声兜底。做完陷波和低通之后你再回头调PID就会顺很多。很多人反馈说“加了陷波之后速度环增益可以再加30%”这就是正常的现象因为系统的稳定裕度被释放出来了。具体调整流程是先保守地提高速度环增益同时动态观察速度反馈噪声直到出现轻微振荡然后回退10%到15%这个位置差不多就是当前机械结构下的最优增益。5. 扫频调试的常见问题与我的实操心得5.1 扫不出有效数据曲线到处是毛刺这应该是做扫频遇到最多的问题了。曲线毛刺多说白了就是反馈信号的信噪比不够。噪声的来源可能是几个方向外部传感器的干扰、编码器分辨率精度不足、驱动器内部采样频率偏低。排查的办法。第一把激励幅值加大一些一般加到100转每分钟甚至更高让有效信号强于噪声第二检查电机是否可靠接地有时浮空设备会通过编码器屏蔽层引入共模干扰第三把驱动器的采样周期调低高速采样模式下信号处理效果会更好第四如果你用的是增量式编码器检查一下编码器的ABZ信号是否正常如果编码器受到污染或者连轴器打滑反馈信号会非常糟糕。我做某次高精密平台调试时扫频曲线怎么测都毛躁不堪后来发现是编码器的串行通讯速率设置的太低反馈延迟太高导致用于分析的样本点数量不足。把通讯速率从4MHz提高到8MHz之后扫出来的曲线干净了很多。这个坑比较隐蔽如果你遇到类似情况可以优先检查反馈通讯速率。5.2 扫频时电机啸叫或者过流报警这种情况多半是激励幅值过大或者设备的机械共振过于强烈。焊锡机的皮带传动结构共振起来可以非常吓人比丝杠传动剧烈得多。处理方案是先把激励幅值降下来降到电机发出轻微声音的程度如果仍然报警就在驱动器里临时把速度环增益设为0仅依靠惯性做扫频。另外水平和垂直轴要区别对待垂直轴如果没有抱闸电机会因为重力影响而产生位移干扰扫频结果。建议用指令偏置做一个力矩补偿让电机悬停在当前位置再做扫频。5.3 扫频硬件选型和方案落地的几个建议最后说一点方案层面的经验。如果你用的是国产伺服不少入门级驱动器不带扫频功能。这并不意味着一定无法做你可以在PLC里写一个程序通过控制字给定一个扫频信号序列同时采集反馈数据在PC端用FFT做频谱分析。原理一样只是实现成本高一些。如果有预算我建议优先选支持自动陷波功能的驱动器比如BECKHOFF AX5000系列、西门子V90、汇川SV660N等这些驱动器的软件内置了扫频和自动陷波功能调试效率非常高。还有一点很重要不同机械位置共振频率可能不同。典型的例子就是工作台在丝杠的近端和远端由于丝杠的有效扭转长度不同系统的刚度会变化共振频率也会随之改变。所以如果你在设备调试完投入使用后发现某段行程内仍有轻微振荡不要只在参数里折腾先重新做一次扫频看看共振频率是否偏移了。陷波滤波器的中心频率在驱动器里是固定参数的如果你的设备共振频率变化很大就需要考虑让PLC根据位置信息实时切换或者插值设置陷波中心频率。这种需求在高端加工中心比较常见普通设备一般用固定参数就能覆盖整个行程。给几个人人适用的经验总结做扫频前把所有的自动抑振功能和滤波功能关闭这样扫的是最真实的机械特性。扫频的激励幅值宁可大一点也不要太小信噪比不够的数据还不如不扫。同一台设备建议多做几次扫频求平均尤其在设备冷机和热机状态不同时数据会有偏差。扫频完成后立刻把速度环参数调回正常工作值不要用扫频时的低增益参数直接跑生产否则设备要么偏软要么响应迟钝。配置陷波滤波器时记录下修改前后的Bode图对比对照图能看到滤波器的实际效果也能帮你判断是否需要再加大深度。这些操作手法看着琐碎但每一条都是我从实际项目中踩过的坑里总结出来的。扫频这件事它的上限其实不在于功能本身有多强大而在于你用不用得准、用得细。希望这篇文章能帮你把扫频功能真正用起来在PID调参的路上少走几段弯路。
返回列表