1. 从一次现场调试说起:S120速度精度差的典型表现
前阵子帮一个做数控机床的朋友处理过一台S120驱动的伺服轴,现象很典型:低速运行时速度波动肉眼可见,加工出来的工件表面有明显的振纹,用示波器抓速度实际值,能看到周期性抖动,跟设定值之间始终差着那么一截。他一开始怀疑是机械传动间隙,把联轴器、丝杠都检查了一遍,问题依旧。后来把注意力转回驱动侧,才发现根子在编码器反馈和速度环参数上。
S120这套驱动系统在工业现场用得非常多,尤其是配合1FT7、1FK7系列伺服电机做高精度位置和速度控制。但"速度精度差"这个描述其实很笼统,它可能表现为稳态误差大、动态响应慢、低速爬行、速度波动超标等不同形态,对应的根因也完全不同。如果你只是笼统地说"精度差",排查起来就像大海捞针。所以第一步永远是把现象量化:用S120的Trace功能录一段速度实际值和设定值的曲线,看偏差是恒定的、随负载变化的、还是周期性的。这个动作花不了十分钟,但能帮你砍掉一半的排查方向。
这篇文章面向的是已经上手S120、但被速度精度问题卡住的调试人员和设备维护工程师。我会把编码器信号链、速度环整定、机械谐振、参数配置这几个维度拆开讲,每个环节都给出可操作的排查步骤和判断依据。不管你是刚接触S120的新手,还是调过几十台设备的老手,应该都能从里面找到能直接用的东西。
2. 编码器信号链:速度精度的第一道关口
2.1 编码器类型与S120的接口匹配
速度精度差,十有八九先查编码器。S120支持的编码器类型很多,TTL增量式、HTL增量式、Sin/Cos 1Vpp、EnDat、DRIVE-CLiQ绝对值编码器等等。不同类型的编码器,信号分辨率和抗干扰能力差异巨大,直接决定了速度反馈的"底子"。
TTL编码器输出的是差分方波信号,A+/A-、B+/B-、Z+/Z-,S120通过SMCI或SMC编码器模块接收。TTL的优势是抗干扰比单端HTL强,但分辨率受限于线数。比如一个2500线的TTL编码器,经过四倍频后每转10000个脉冲,对于要求低速高精度的场合,这个分辨率可能就不够用了。我见过有人用2500线TTL编码器做0.1rpm级别的速度控制,结果低速时速度反馈的量化台阶非常明显,速度环输出一跳一跳的,精度自然上不去。
Sin/Cos 1Vpp编码器就不一样了,它输出的是模拟正余弦信号,S120内部通过插补细分,可以把分辨率做到每转几百万个脉冲。同样的机械安装条件下,换成1Vpp编码器,低速速度精度往往能提升一个数量级。所以如果你的应用对速度精度要求高,先确认编码器类型是否匹配需求,这是最根本的一步。
| 编码器类型 | 信号形式 | 典型分辨率 | 抗干扰能力 | 适用场景 |
|---|---|---|---|---|
| TTL增量式 | 差分方波 | 2500线×4=10000ppr | 中等 | 一般速度控制、成本敏感 |
| HTL增量式 | 单端/差分方波 | 1024线×4=4096ppr | 较弱 | 简单调速、环境干扰小 |
| Sin/Cos 1Vpp | 模拟正余弦 | 插补后可达2^20以上 | 强 | 高精度速度/位置控制 |
| EnDat绝对值 | 数字串行 | 取决于位数,通常23位 | 强 | 高精度、需绝对位置 |
| DRIVE-CLiQ | 数字串行 | 取决于编码器 | 很强 | 全数字、免配置 |
2.2 TTL编码器的接线与信号质量排查
TTL编码器出问题,很多时候不是编码器本身坏了,而是接线和信号质量的问题。我遇到过好几次,现场用万用表量A+、A-都有电压,看起来正常,但用示波器一看,波形已经畸变得不成样子了。
排查TTL信号,示波器是必须的。重点看几个东西:第一,差分信号的幅值是否在S120编码器模块的接收范围内,TTL通常是5V差分,但长线传输后可能衰减到3V以下,这时候接收端就可能误判;第二,A+和A-的交叉点是否清晰,如果交叉点模糊或者有回沟,说明信号完整性有问题;第三,Z相信号的宽度是否足够,Z相太窄可能导致每转的参考点丢失,速度计算就会出现周期性跳变。
接线方面,TTL编码器的屏蔽层必须单端接地,通常接在驱动侧。如果两端都接地,容易形成地环路,引入干扰。编码器电缆要走单独的线槽,远离电机动力线和变频器输出线。我见过一个案例,编码器线和电机线捆在一起走,结果电机一加速,速度反馈就抖得厉害,分开走线后问题直接消失。
注意:TTL编码器的A+和A-不能接反,接反后S120可能仍然能收到信号,但转向判断会出错,速度环会正反馈,一使能就飞车。上电前务必核对引脚定义。
2.3 编码器参数配置的常见坑
S120的编码器配置在Starter或TIA Portal里做,参数不少,但有几个地方特别容易出错。
第一个是编码器线数和细分倍数。如果你用的是TTL编码器,需要正确设置编码器线数,S120会自动做四倍频。但如果你用的是1Vpp编码器,还要设置正确的细分倍数,这个倍数设错了,速度反馈的标定就不对,速度实际值会整体偏大或偏小。比如实际转速是1000rpm,但反馈显示1200rpm,那速度环就会把实际速度压到833rpm左右,精度自然差。
第二个是编码器方向。有些现场编码器安装方向跟电机转向相反,需要在参数里取反。如果不取反,速度环极性错误,一使能就报过流或者飞车。判断方法很简单:手动盘车,看速度实际值的符号是否跟盘车方向一致。
第三个是编码器信号监测。S120有编码器信号监测功能,可以设置信号幅值、频率的报警阈值。如果编码器信号质量差,但还没到完全丢失的程度,这个监测能提前给出警告。我一般会把信号幅值下限设得比正常值低20%左右,这样信号开始劣化时就能发现。
3. 速度环整定:精度与稳定性的平衡术
3.1 速度环PI参数对精度的影响
编码器没问题了,接下来就是速度环参数。S120的速度环默认是PI控制器,比例增益P和积分时间I这两个参数,直接决定了速度精度和动态响应。
比例增益P的作用是放大速度偏差,P越大,对偏差的纠正越强,稳态误差越小。但P太大会引起振荡,甚至啸叫。积分时间I的作用是消除稳态误差,I越小,积分作用越强,消除稳态误差越快,但太小也会引起超调和振荡。
很多人调速度环喜欢先调P再调I,这没错,但顺序和判断标准要清楚。我的习惯是先把I设得很大(积分作用很弱),然后逐渐增大P,直到速度实际值开始出现轻微振荡,再把P退回到振荡临界点的60%左右。这时候系统响应快但还稳定。然后再逐渐减小I,观察稳态误差的收敛速度,直到稳态误差在合理时间内收敛到零,且没有明显超调。
这里有个经验值可以参考:对于大多数伺服应用,速度环P增益在10到30之间,积分时间在10ms到50ms之间。但这不是绝对的,跟电机惯量、负载惯量、机械刚度都有关系。惯量比越大,P增益要相应降低,I时间要适当增大。
3.2 惯量辨识与前馈补偿
速度精度差,有时候不是速度环本身的问题,而是惯量不匹配。S120有惯量辨识功能,可以自动测量负载惯量与电机惯量的比值。如果这个比值超过10,速度环就很难调好,因为系统对负载变化太敏感。
惯量比大的时候,可以考虑几个方向:一是换更大惯量的电机,让惯量比降下来;二是加减速机,把负载惯量折算到电机侧会除以减速比的平方,效果很明显;三是启用S120的惯量自适应功能,让驱动器在线估计惯量变化并调整参数。
前馈补偿也是提升速度精度的有效手段。速度前馈可以把速度设定值的微分直接加到转矩给定上,减少速度环的滞后。S120支持速度和加速度前馈,参数在速度环配置里。前馈量设得太小效果不明显,设得太大又会引起过冲,一般从50%开始试,观察速度实际值的跟随误差,逐步调整到跟随误差最小且无过冲。
3.3 滤波器设置:别把有用信号也滤掉了
S120的速度环里有两个滤波器:速度实际值滤波器和转矩给定滤波器。这两个滤波器用好了能抑制谐振,用不好就会引入相位滞后,反而降低速度精度。
速度实际值滤波器的作用是平滑编码器反馈的量化噪声,但如果截止频率设得太低,速度反馈的相位滞后会很大,速度环的带宽就上不去,动态响应变慢。我一般会把速度实际值滤波器的截止频率设在速度环带宽的5到10倍以上,这样既滤掉了高频噪声,又不会明显影响相位。
转矩给定滤波器主要是抑制机械谐振。如果机械系统有明显的谐振频率,可以在转矩给定通道加一个陷波滤波器,把谐振频率点的增益压下去。但陷波滤波器的带宽要设得合适,太窄了效果不好,太宽了会把附近的信号也衰减掉。S120的陷波滤波器可以设中心频率、带宽和深度,一般深度设到-20dB左右就够了。
提示:滤波器参数改完后,一定要用Trace功能录一段速度阶跃响应,看超调量和调节时间是否满足要求。不要只看稳态误差,动态性能同样重要。
4. 机械与负载因素:驱动器之外的隐形杀手
4.1 机械谐振与传动间隙
编码器在电机侧,速度环控制的是电机速度,但如果你关心的是负载侧的速度精度,那机械传动环节的影响就不能忽略。联轴器的扭转刚度、丝杠的轴向刚度、齿轮的啮合间隙,都会导致负载侧速度与电机侧速度不一致。
机械谐振是最常见的。当速度环带宽接近机械谐振频率时,系统就会振荡。判断方法很简单:把速度环P增益逐渐增大,如果速度实际值出现某个固定频率的振荡,而且这个频率不随P增益变化,那基本就是机械谐振。这时候要么降低速度环带宽,要么加陷波滤波器,要么从机械上提高刚度。
传动间隙的影响更隐蔽。如果齿轮箱有间隙,电机换向时负载侧会有短暂的"失控"区间,速度精度在换向点附近会明显变差。这种情况用速度环参数是补不了的,只能从机械上解决,比如换用预紧的齿轮箱或者直接驱动。
4.2 负载惯量与摩擦非线性
负载惯量对速度精度的影响,前面提过惯量比的问题。这里补充一点:负载惯量如果变化,比如卷绕应用里卷径不断变化,速度环参数就需要自适应调整。S120支持惯量自适应和摩擦补偿,可以在运行过程中在线调整。
摩擦非线性也是速度精度的大敌,尤其是低速时。静摩擦和动摩擦的切换会导致低速爬行,速度实际值在设定值附近来回跳。S120有摩擦补偿功能,可以设置一个与速度方向相关的补偿转矩,抵消摩擦的影响。但摩擦补偿量要仔细标定,补多了会过冲,补少了没效果。我的做法是让电机在低速下正反转,观察速度实际值的死区,然后逐步增加补偿量,直到死区消失且正反转速度对称。
4.3 编码器安装与机械连接
编码器安装偏心、联轴器松动、编码器轴与电机轴不同心,都会导致编码器信号出现周期性误差。这种误差的频率通常是每转一次或每转多次,跟编码器的安装方式有关。
判断方法:让电机匀速运行,用Trace录速度实际值,如果看到与转速同步的周期性波动,而且波动频率等于转速频率的整数倍,那基本就是编码器安装问题。解决方法是重新安装编码器,确保同心度在编码器允许范围内,联轴器要紧固但不要过紧,避免引入额外的轴向力。
5. 参数配置与优化:那些容易忽略的细节
5.1 速度限幅与转矩限幅
速度限幅和转矩限幅设得不合理,也会影响速度精度。速度限幅如果设得比实际需求低,速度环输出会被限幅,速度实际值就达不到设定值。转矩限幅如果设得太低,电机加速时转矩不够,速度跟踪就会滞后。
这两个限幅值要根据实际负载来设。速度限幅一般设成最大工作速度的110%到120%,转矩限幅设成电机额定转矩的150%到200%(根据过载能力)。但要注意,转矩限幅设得太高,如果机械卡死,电机可能会过流或者损坏机械。所以要在保护机械和保证动态性能之间找平衡。
5.2 采样时间与计算周期
S120的速度环计算周期跟电流环有关,通常是电流环周期的整数倍。计算周期越短,速度环的带宽可以做得越高,但计算负担也越大。如果速度环计算周期设得太长,速度环的相位滞后就大,带宽上不去,动态响应就慢。
一般S120的速度环计算周期默认是电流环的2到4倍,对于大多数应用是够用的。但如果你的应用对速度精度要求特别高,可以尝试缩短速度环计算周期,但要注意不要超过驱动器的计算能力,否则会报计算时间溢出。
5.3 编码器信号监测与报警阈值
前面提过编码器信号监测,这里再展开说一下。S120可以监测编码器的信号幅值、频率、信号质量等。如果编码器信号开始劣化,比如幅值下降、波形畸变,监测功能可以提前报警,避免速度精度在不知不觉中变差。
我一般会把信号幅值下限设成正常值的70%到80%,频率上限设成最大转速对应频率的120%。这样既不会误报,又能在信号开始变差时及时发现。另外,S120还有编码器信号丢失、信号干扰等报警,这些报警的响应方式可以设成报警或故障,根据实际需求选择。
6. 常见问题与排查技巧实录
6.1 速度精度差排查速查表
| 现象 | 可能原因 | 排查方法 | 解决措施 |
|---|---|---|---|
| 稳态误差大 | 速度环P增益太小、积分时间太大 | 观察稳态误差收敛速度 | 增大P、减小I |
| 低速爬行 | 摩擦非线性、编码器分辨率不足 | 低速下录速度曲线 | 摩擦补偿、换高分辨率编码器 |
| 周期性波动 | 编码器安装偏心、机械谐振 | 录速度曲线看波动频率 | 重新安装编码器、加陷波滤波器 |
| 动态响应慢 | 速度环带宽低、前馈不足 | 做速度阶跃响应 | 提高P、加前馈 |
| 换向时精度差 | 传动间隙、编码器方向错误 | 换向时录速度曲线 | 机械预紧、检查编码器方向 |
| 速度反馈跳变 | TTL信号质量差、Z相丢失 | 示波器看编码器波形 | 检查接线、屏蔽、信号幅值 |
6.2 几个我踩过的坑
第一个坑:编码器线数设错。有一次换了一个编码器,线数从2500变成2048,但参数忘了改,结果速度反馈整体偏大,速度环把实际速度压得很低,加工出来的工件尺寸全不对。后来核对编码器铭牌才发现问题。所以换编码器后,第一件事就是核对参数。
第二个坑:速度环P增益调得太高。有一次为了追求快速响应,把P增益调到了振荡临界点以上,结果电机在某个转速下啸叫,速度实际值剧烈波动。后来把P增益退回到临界点的50%,问题解决。所以调参数不要贪,稳定第一。
第三个坑:忽略了机械谐振。有一台设备速度环怎么调都不对,后来用频谱分析发现机械系统在200Hz左右有谐振,加了一个200Hz的陷波滤波器后,速度环增益可以提得很高,精度也上去了。所以速度精度差,不要只盯着驱动器,机械也要查。
第四个坑:TTL编码器屏蔽层两端接地。现场干扰大,速度反馈一直有毛刺,后来把屏蔽层改成单端接地,毛刺消失。所以屏蔽层的接地方式很重要,不要想当然。
6.3 用Trace功能做定量分析
S120的Trace功能是排查速度精度问题的利器。我一般会录这几个信号:速度设定值、速度实际值、转矩给定、编码器信号质量。录一段从低速到高速的斜坡,再录一段稳态运行,基本就能看出问题在哪。
看Trace曲线的时候,重点关注几个指标:稳态误差是否在允许范围内、动态跟随误差有多大、有没有周期性波动、换向时有没有异常。把这些指标量化,才能判断问题是否解决。不要凭感觉说"好像好点了",要用数据说话。
7. 一个完整的调试案例
最后分享一个我最近处理的案例。一台S120驱动的伺服电机,用户反映低速时速度精度差,加工表面有振纹。我到现场后,先录了一段速度实际值和设定值的Trace,发现低速时速度实际值有大约±5rpm的周期性波动,波动频率跟转速同步。
第一步,查编码器。编码器是2500线TTL,示波器看A+、A-波形,发现幅值只有3.2V,而且交叉点有回沟。检查接线,发现编码器电缆跟电机动力线在同一线槽里,而且屏蔽层两端接地。把编码器线分开走线,屏蔽层改成单端接地,波形改善,幅值恢复到4.8V,但波动还有。
第二步,查机械。手动盘车,感觉联轴器有轻微间隙。拆开检查,联轴器的弹性体磨损了。更换联轴器后,波动幅度减小到±2rpm,但还有。
第三步,调速度环。把速度环P增益从15降到10,积分时间从20ms增到30ms,波动进一步减小到±1rpm。然后加了一个速度前馈,前馈量设到70%,动态跟随误差明显改善。
第四步,加陷波滤波器。用频谱分析发现机械系统在180Hz有谐振,在转矩给定通道加了一个180Hz的陷波滤波器,深度-15dB,带宽20Hz。加完后,速度环P增益可以提到18,速度波动降到±0.5rpm以内,加工表面振纹消失。
这个案例说明,速度精度差往往不是单一原因,而是编码器信号、机械传动、速度环参数、滤波器设置多个因素叠加的结果。排查的时候要系统性地一个一个排除,不要指望改一个参数就解决所有问题。
提示:每次改动后都要用Trace录曲线对比,确认改动有效再继续下一步。不要一次改多个参数,否则出了问题不知道是哪个改动引起的。
8. 写在最后的一些个人体会
调S120的速度精度,我的经验是"先软后硬、先静后动"。先查编码器信号和参数配置这些"软"的,再查机械和接线这些"硬"的;先看稳态精度,再看动态响应。这个顺序能帮你少走很多弯路。
另外,不要迷信默认参数。S120的默认参数是针对通用场景的,你的设备有你的特殊性,该调就得调。但调之前一定要知道每个参数是干什么的,改了会有什么影响,不要瞎调。我见过有人把速度环参数调得乱七八糟,最后只能恢复出厂设置重来,浪费了大量时间。
最后,记录很重要。每次调试改了哪些参数、为什么改、改完效果如何,都记下来。下次遇到类似问题,翻记录就能快速定位。我自己的调试笔记已经攒了好几本,很多问题的答案都在里面。