3. 编码器信号特性:正弦/余弦信号模型、差分信号、信号幅值与偏置
做弱磁区间的电机控制,编码器信号质量是绕不开的坎。我见过不少工程师,算法调得漂漂亮亮,一上高速就崩,最后查出来是编码器信号本身有问题。说白了,你喂给控制器的位置信息是脏的,后面再怎么滤波、补偿都白搭。
这一节我们就把编码器信号的底细摸清楚。从数学模型到实际波形,从理想情况到工程中的坑,我都会结合自己的经验来讲。
3.1 正弦/余弦信号模型
增量式编码器输出两路正交信号,通常标记为 A 和 B。在理想情况下,它们是严格的正弦波和余弦波。为什么是正余弦?因为这样能通过反正切运算得到高分辨率的角度。
数学模型很简单:
A(t) = V_offset + V_amp × sin(θ)
B(t) = V_offset + V_amp × cos(θ)
其中 θ 是机械角度乘以编码器线数。V_amp 是信号幅值,V_offset 是直流偏置。
这里有个关键点——理想模型假设 A 和 B 幅值相等、偏置相同、相位严格差 90°。但实际中这三条全都会跑偏。我做过一个项目,编码器线数 2048,上到 3000rpm 时角度误差直接飙到 2° 电角度,电机开始抖。查了半天,发现是 A 相幅值比 B 相小了 8%。
核心公式:角度解算依赖 atan2(sinθ, cosθ)。如果 sin 和 cos 的幅值或偏置不一致,解算出的角度就会周期性失真。弱磁区间转速高,这种失真会被放大。
3.2 差分信号与抗干扰
工业环境里,编码器线缆动不动就三五米长。电机侧有 PWM 开关噪声、有共模干扰。单端信号在这种环境下基本没法用。
所以正经的编码器都用差分传输。A 和 B 各自配一个反相信号:A+、A-、B+、B-。接收端做差分放大,共模噪声被抵消,信号保真度大幅提升。
差分信号的好处我列一下:
- 共模抑制:外界干扰同时耦合到正负线上,差分后抵消
- 抗衰减:长线传输时信号幅度损失更小
- 电平摆幅小:RS-422 标准下只需 ±200mV 就能可靠识别
我曾经遇到过一个现场问题:编码器线缆和动力线走同一个线槽,电机一启动位置就跳变。用示波器看 A+ 对地波形,噪声峰峰值接近 1V。但看 A+ 减 A- 的差分波形,噪声只剩 50mV。这就是差分信号的价值。
我的习惯:设计电路板时,差分对走线一定要等长、紧耦合。长度差超过 5mm,高速下就会引入相位误差。别问我怎么知道的——吃过亏。
3.3 信号幅值与偏置
幅值和偏置是编码器信号的两个核心参数。它们直接影响角度解算精度。
| 参数 | 理想值 | 典型偏差 | 影响 |
|---|---|---|---|
| 幅值 V_amp | 1 V (归一化) | ±5% ~ ±20% | 角度误差随幅值偏差增大 |
| 偏置 V_offset | VCC/2 | ±10 mV ~ ±100 mV | 引入固定角度偏移 |
| 相位差 | 90° | ±1° ~ ±5° | 产生 2 次谐波误差 |
你想想看,如果 A 相偏置比 B 相高了 50mV,在过零点附近解算出的角度就会偏。弱磁区间转速高,每个电周期的时间短,这种误差来不及被电流环抑制,直接表现为转矩脉动。
我一般会在上电自检时做一次信号质量评估:
- 手动或低速旋转编码器一圈
- 采集 A、B 两路的最大值和最小值
- 计算实际幅值和偏置
- 与标称值对比,偏差超过 10% 就报警
注意:编码器信号幅值会随温度变化。高温下 LED 光衰会导致幅值下降。我见过一个案例,常温下幅值 1V,85°C 时掉到 0.7V,角度误差直接翻倍。所以高温环境要留足余量。
3.4 知识体系结构
下面这张图把编码器信号特性的核心逻辑串起来了。从理想模型到实际偏差,再到工程应对,是一条完整的链路。
从图上能看明白:理想模型是基础,三个核心参数决定了信号质量。差分传输是工程保障,实际偏差是绕不开的现实。最后通过自检和补偿,才能在高转速下拿到可靠的角度。
嗯,这一节的内容就这些。编码器信号特性是后面所有处理技巧的根基。你把这些参数摸透了,后面讲滤波、补偿、标定的时候,理解起来会轻松很多。