2. 换相误差来源分析
换相精度这东西,说白了就是「电机转子的实际位置」和「控制器认为的位置」之间的偏差。偏差大了,轻则抖动、噪音、效率下降,重则直接失步甚至烧驱动器。我这些年调试过的伺服系统,十有八九的问题都能追溯到换相误差上。
那误差到底从哪来的?我把它归纳为四大类:机械安装误差、电气噪声干扰、信号延迟和温度漂移。下面一个一个拆开讲。
核心观点:换相误差不是单一原因造成的,往往是机械、电气、时序、环境四个维度叠加的结果。排查时一定要系统性地看,别只盯着一个点。
2.1 机械安装误差
这是最容易被忽视的误差来源。很多人觉得编码器装上去能转就行,其实安装精度直接决定了换相误差的下限。
2.1.1 偏心
编码器码盘或磁鼓的旋转中心与电机转轴中心不重合,就叫偏心。偏心会导致什么?码盘每转一圈,光栅或磁极与读头的距离周期性变化。反映在信号上,就是A/B脉冲的占空比和相位差跟着转子的角度一起变。
我记得有一次帮客户调试一个80mm的伺服电机,空载时换相正常,一带负载就剧烈抖动。用示波器抓编码器信号,发现A相高电平宽度在90°到110°之间来回跳。拆下来一测,码盘中心偏了0.15mm。重新装正后,问题直接消失。
我的经验:安装编码器时,建议用千分表打一下码盘端面和径向跳动。径向跳动控制在0.05mm以内,端面跳动控制在0.1mm以内,基本就不会有明显影响。
2.1.2 倾斜
码盘平面与转轴轴线不垂直,就是倾斜。倾斜的后果比偏心更隐蔽——它不会让脉冲宽度均匀变化,而是造成一个周期内局部误差大、局部误差小。你想想看,码盘倾斜后,读头在某个角度离得近,对面角度离得远,信号幅度都不一样了。
倾斜误差在增量式编码器上尤其麻烦。因为增量式靠计数脉冲来算位置,倾斜导致的局部脉冲畸变会让位置累加值产生非线性误差。换相时如果正好落在畸变区,换相角可能偏出去十几度电角度。
2.1.3 安装间隙
编码器与电机轴之间的联轴器或键槽配合间隙,也会引入换相误差。这个间隙在正反转切换时特别明显——正转时误差在一个方向,反转时误差跑到另一个方向,换相点来回漂移。
我曾经遇到过一台设备,正转时运行平稳,反转时电流突然增大30%。查了半天,发现是联轴器弹性体磨损后产生了0.2mm的回程间隙。换了个新的,两边就对称了。
2.2 电气噪声干扰
机械搞定了,电气噪声就是下一个拦路虎。编码器信号本质上是微弱的高速数字信号,很容易被强电系统干扰。
2.2.1 共模噪声
共模噪声是编码器信号线与地之间同时出现的干扰电压。它的来源通常是电机驱动器的PWM开关动作,通过寄生电容耦合到编码器线缆上。共模噪声不会直接改变A/B信号的逻辑电平,但会抬高或降低信号的参考地,导致接收端的差分接收器共模范围超限。
我见过最夸张的一次,共模噪声峰值达到了±12V,而编码器接口芯片的共模输入范围只有±7V。结果就是编码器信号频繁丢步,换相位置随机跳变。后来在编码器线缆上加了个共模扼流圈,噪声直接压到±2V以下。
2.2.2 差模噪声
差模噪声是直接叠加在A+/A-、B+/B-差分对之间的干扰。它比共模更致命,因为差分接收器就是靠检测两线之间的电压差来判别的。差模噪声一旦幅度超过接收器的阈值(通常是200mV左右),就会产生错误的脉冲边沿。
差模噪声的来源主要是电机动力线与编码器线缆的长距离平行走线。动力线上的大电流变化率(di/dt)通过互感耦合到编码器线上。
| 噪声类型 | 耦合方式 | 典型频率 | 抑制手段 |
|---|---|---|---|
| 共模噪声 | 寄生电容耦合 | PWM开关频率(10-100kHz) | 共模扼流圈、屏蔽层单端接地 |
| 差模噪声 | 互感耦合 | PWM边沿谐波(1-50MHz) | 双绞屏蔽线、物理隔离、RC滤波 |
注意:编码器线缆的屏蔽层一定要单端接地,千万不要两端都接。两端接地会形成地环路,反而把更大的共模电流引入屏蔽层,噪声不降反升。我吃过这个亏,后来再也不敢偷懒了。
2.3 编码器信号延迟
信号从编码器传到控制器需要时间。这个时间虽然短,但在高速电机上足以造成明显的换相误差。
2.3.1 电缆长度带来的延迟
信号在电缆中的传播速度大约是光速的60%-70%,也就是每米约5ns的延迟。对于10米长的电缆,单程延迟就是50ns。如果编码器输出是差分RS-422,接收端还要考虑信号上升时间变缓的问题。
你想想看,一个电机在6000rpm下,每转只需要10ms。50ns的延迟对应的角度误差是:
(50ns / 10ms) × 360° = 0.0018° 机械角度。
对于4对极的电机,电角度误差是0.0072°。看起来不大?但如果加上驱动器的滤波延迟、软件中断响应延迟,总延迟可能到几微秒,误差就不可忽视了。
2.3.2 电平转换延迟
很多系统里编码器输出是5V,而控制器是3.3V或1.8V,中间需要电平转换芯片。不同转换芯片的延迟差异很大:
- 高速比较器(如TLV3501):延迟约4.5ns
- 普通逻辑电平转换器(如74LVC4245):延迟约6-10ns
- 光耦隔离(如6N137):延迟约50-75ns
我个人习惯在高速换相场景下尽量不用光耦,改用电容隔离或磁隔离芯片,延迟能控制在10ns以内。
2.4 温度漂移对精度的影响
温度变化会影响编码器的多个环节,而且这种影响是缓慢的、累积的,很难在调试时发现。
2.4.1 码盘/磁鼓的热膨胀
码盘材料的热膨胀系数通常在10-20 ppm/°C。一个直径50mm的码盘,温度升高50°C,直径会膨胀0.025-0.05mm。这个量级对于高分辨率编码器来说,已经足以改变光栅或磁极的间距,导致细分误差。
2.4.2 读头位置漂移
读头安装支架的热膨胀会使读头与码盘的相对位置发生变化。如果读头支架是铝制的(热膨胀系数约23 ppm/°C),而电机轴是钢制的(约12 ppm/°C),两者膨胀不一致,读头间隙就会变化。
我记得有一个项目,电机在常温下调试好换相角度,跑到80°C时换相噪声明显增大。用热成像仪一照,读头支架温度比电机轴高了将近30°C,间隙变了0.03mm。后来把支架材料换成和轴系一致的钢材,问题就解决了。
2.4.3 电子元件温漂
编码器内部的发光管、光敏管、比较器阈值都会随温度变化。LED的光输出功率随温度升高而下降,光敏管的响应度也会变化。如果编码器没有做温度补偿,信号幅度和阈值会在高温下漂移,导致脉冲边沿位置偏移。
避坑指南:我曾经在选型时只看常温精度,忽略了温度范围。结果产品在北方冬天和南方夏天的换相误差差了将近0.5°电角度。后来我学乖了,选编码器时一定看全温范围内的精度指标,特别是-20°C到+85°C这个区间。
小结
换相误差的来源可以归纳为四个维度:机械安装的偏心、倾斜和间隙;电气噪声的共模和差模干扰;信号传输的电缆延迟和电平转换延迟;以及温度变化引起的热漂移。每个维度都可能贡献几度到十几度的电角度误差,叠加起来足以让一个高性能伺服系统变得不堪用。