一、抖动概述:编码器信号抖动的定义、抖动对系统的影响、抖动的分类
各位工程师朋友,咱们今天聊聊编码器信号里一个让人头疼的问题——抖动。说实话,我入行头几年,对抖动这玩意儿认识不够深,总觉得只要脉冲数对了就行。直到有一次,一个伺服驱动器项目在高速运行时频繁报错,排查了整整三天,最后发现是编码器抖动在作祟。从那以后,我对抖动就格外上心了。
1.1 什么是编码器信号抖动?
先给个定义。编码器信号抖动,说白了就是脉冲边沿在理想位置附近来回晃动的现象。你想想看,一个完美的编码器信号,每个上升沿和下降沿都应该出现在精确的时间点上。但实际中,这些边沿总会提前或滞后那么一点点。
我习惯用示波器看这个现象。把编码器A相和B相信号同时抓下来,用余晖模式显示,你会看到边沿位置不是一条清晰的线,而是一片模糊的带状区域。这个区域的宽度,就是抖动的幅度。
核心定义:编码器信号抖动是指脉冲边沿相对于理想位置的短期偏离,通常以时间(皮秒、纳秒)或角度(角分、角秒)为单位衡量。
这里要注意,抖动和误差不是一回事。误差是长期的、稳定的偏差,比如编码器安装偏心导致的相位偏移。而抖动是短期的、随机的波动。嗯,这个区别很重要,我见过不少工程师把两者混为一谈。
1.2 抖动对系统的影响
抖动到底有多大的破坏力?我给大家列几个真实场景。
| 影响领域 | 具体表现 | 后果 |
|---|---|---|
| 位置控制 | 位置反馈值来回跳动 | 定位精度下降,甚至振荡 |
| 速度控制 | 速度估算值噪声增大 | 电机运行不平稳,产生异响 |
| 伺服系统 | 跟随误差波动 | 加工表面粗糙度变差 |
| 通信接口 | 数据采样出错 | 通信丢包,系统报警 |
我印象最深的一个项目,是给一台数控机床做改造。客户反映加工出来的零件表面有振纹,怎么调PID参数都没用。后来我用高精度示波器抓了编码器信号,发现抖动达到了±5个脉冲当量。你想想看,机床每走一步都在抖,加工出来的表面能好吗?
为什么会这样?因为抖动会直接进入控制环路。位置环、速度环对这些高频扰动非常敏感。尤其是当抖动频率落在系统带宽内时,控制器会把它当成真实的位置变化去响应,结果就是系统自激振荡。
避坑指南:我曾经在一个项目中,为了追求极致的响应速度,把速度环带宽调得很高。结果编码器抖动被放大,电机高频啸叫。后来不得不降低带宽,才稳定下来。记住,系统带宽和抖动容忍度是一对矛盾,需要权衡。
1.3 抖动的分类
搞清楚了抖动的危害,咱们得知道抖动从哪来。按照行业惯例,抖动分为两大类:随机抖动和确定性抖动。我习惯用一张图来展示它们的关系。
随机抖动(Random Jitter, RJ)
随机抖动,顾名思义,它的出现没有规律可循。根源在于电子器件的热噪声、散粒噪声这些物理现象。我打个比方,就像你站在海边,海浪一波一波地拍打岸边,每一波的高度都不一样,但你没法预测下一波到底有多高。
随机抖动的特点是:
- 无界性:理论上,随机抖动的幅度没有上限。虽然概率极低,但可能出现很大的偏离。
- 高斯分布:大量测量后,抖动值服从正态分布。均方根值(RMS)是常用的衡量指标。
- 不可消除:只能通过降低噪声、优化电路来减小,无法完全消除。
实战技巧:我测量随机抖动时,习惯用长余辉模式采集至少1000个边沿,然后看直方图。如果直方图呈现漂亮的高斯钟形曲线,基本可以判断是随机抖动主导。如果直方图有多个峰,那就要怀疑有确定性抖动混入。
确定性抖动(Deterministic Jitter, DJ)
确定性抖动就好办多了。它有固定的模式,有边界,可以预测。说白了,就是有规律可循的抖动。
常见的确定性抖动来源:
- 周期性抖动:比如电源纹波耦合到编码器供电上,导致信号边沿以电源频率周期性地偏移。我遇到过一台设备,编码器抖动频率正好是100Hz,一查,果然是开关电源的纹波在捣乱。
- 占空比失真:编码器输出高电平和低电平的时间不对称。比如理想占空比是50%,实际变成了48%或52%。这会导致上升沿和下降沿的抖动特性不一样。
- 码间串扰:相邻信号线之间的电容耦合。编码器A相和B相靠得很近时,一相的跳变会干扰另一相。我在布线时吃过这个亏,后来把线间距拉开到3倍线宽以上,问题就解决了。
避坑指南:我曾经在一个项目中,编码器信号抖动始终超标。用示波器看波形,发现抖动呈现明显的周期性。排查了三天,最后发现是编码器电缆和电机动力线绑在一起走线,电机PWM的高频开关噪声通过空间耦合到了编码器信号上。把电缆分开走,抖动立刻降下来了。所以,布线时一定要把编码器信号线和动力线分开,这是血的教训。
1.4 如何区分随机抖动和确定性抖动?
实际项目中,两种抖动往往是混合在一起的。我常用的方法是看抖动直方图的形状。如果直方图是单峰的高斯分布,那主要是随机抖动。如果直方图出现双峰或多峰,那一定有确定性抖动存在。
还有一个更专业的办法——浴盆曲线。把抖动测量结果按时间顺序画出来,随机抖动表现为均匀的噪声带,确定性抖动则会在某些时间点出现明显的尖峰或凹陷。
嗯,这里要提醒一句:不要试图用软件滤波来消除抖动。我见过有人给编码器信号加低通滤波器,结果抖动是减小了,但信号的相位延迟也增加了,导致位置控制滞后。这属于拆东墙补西墙的做法。
好了,关于抖动的定义、影响和分类,咱们就聊到这儿。记住一句话:知己知彼,百战不殆。只有搞清楚抖动是什么、从哪来,才能有针对性地去消除它。下一节,我会详细讲抖动的测量方法,到时候咱们再接着聊。
公众号:蓝海资料掘金营,微信deep3321