4、硬件滤波设计:RC低通滤波电路设计、施密特触发器整形、差分信号接收器应用

编码器信号最怕什么?怕干扰。

我在现场调试过不少设备,遇到过最头疼的问题就是:编码器明明没动,计数器却在跳。查了半天,最后发现是电机驱动器的高频噪声串进了编码器信号线。从那以后,我对硬件滤波这块就特别上心。

今天咱们就聊聊三种最常用的硬件滤波手段:RC低通滤波、施密特触发器整形、差分信号接收。这三招用好了,编码器信号基本就稳了。

4.1 RC低通滤波电路设计

RC低通滤波,说白了就是个电阻加电容。原理很简单:高频噪声被电容旁路到地,低频信号正常通过。

但设计的时候有几个坑,我一个个说。

4.1.1 截止频率怎么选?

截止频率的公式:

f_c = 1 / (2π × R × C)

举个例子:R=1kΩ,C=0.1μF

f_c = 1 / (2 × 3.14 × 1000 × 0.1×10^-6) ≈ 1592 Hz

也就是说,1.6kHz以上的信号会被衰减。

那编码器信号频率是多少?

假设编码器每转1000个脉冲,转速3000rpm:

f_signal = 1000 × 3000 / 60 = 50 kHz

你看,如果按上面那个参数,50kHz的信号也被衰减了,这就不行。

关键原则:截止频率要大于编码器最高输出频率的3-5倍,同时要低于干扰频率的1/10。

我个人习惯的做法是:先测一下现场的干扰频率范围,再反推RC参数。有一次在变频器旁边装编码器,干扰频率在2MHz左右,我就把截止频率设在200kHz,效果很好。

4.1.2 电阻电容选型注意事项

元件 推荐值 注意事项
电阻R 100Ω ~ 10kΩ 太小了功耗大,太大了信号衰减严重
电容C 100pF ~ 1μF 建议用C0G或X7R材质,温度稳定性好

注意:电解电容不要用在高频滤波上,ESR太大,效果很差。我曾经吃过这个亏,用了个10μF的电解电容做滤波,结果高频噪声一点没滤掉。

4.1.3 多级RC滤波

如果单级RC滤波不够,可以用两级甚至三级。但要注意:

  • 两级之间要加缓冲器(比如运放跟随器),否则后级会拉低前级的截止频率
  • 每级的截止频率可以设成一样,或者逐级降低

举个例子,两级RC滤波:

第一级:R1=1kΩ, C1=0.01μF  → f_c1 ≈ 15.9kHz
第二级:R2=1kΩ, C2=0.01μF  → f_c2 ≈ 15.9kHz
中间加一个运放跟随器隔离

这样对15.9kHz以上的信号,每级衰减-20dB/十倍频,两级就是-40dB/十倍频,效果翻倍。

4.2 施密特触发器整形

RC滤波之后,信号波形可能还是有点毛刺。这时候就需要施密特触发器上场了。

施密特触发器的核心特点:有滞回特性。什么意思?就是上升沿和下降沿的触发阈值不一样。

比如74HC14,典型的阈值:

  • 上升沿触发:约1.7V(Vcc=5V时)
  • 下降沿触发:约0.9V(Vcc=5V时)
  • 滞回宽度:约0.8V

这个滞回宽度就是抗干扰的关键。信号在阈值附近抖动时,只要抖动幅度不超过滞回宽度,输出就不会翻转。

小技巧:如果觉得芯片自带的滞回宽度不够,可以用正反馈自己搭一个施密特触发器。用运放加两个电阻就行,滞回宽度可以自由调节。

我自己搭过的一个电路:

运放:LM358
R1:10kΩ(从输出到正输入端)
R2:100kΩ(从正输入端到地)
Vref:2.5V(用电阻分压得到)

滞回宽度 ≈ Vcc × R2 / (R1 + R2)
         = 5V × 100k / (10k + 100k)
         ≈ 4.55V

这个滞回宽度有点大,适合信号质量特别差的场合。一般编码器信号,用芯片自带的施密特触发器就够了。

4.3 差分信号接收器应用

如果编码器距离控制器比较远(超过1米),或者现场电磁环境特别恶劣,那就得上差分信号了。

差分信号的优势很明显:

  • 共模噪声被抑制(两根线受到的干扰相同,相减后抵消)
  • 抗干扰能力强
  • 可以传输更远的距离(几十米没问题)

常用的差分接收器芯片:

芯片型号 特点 适用场景
AM26LS32 四路差分接收器,带施密特触发 通用编码器接口
DS26C32 低功耗,高速 高速编码器
MAX3095 ±15kV ESD保护 工业恶劣环境

接线方式:

编码器A+  →  接收器A+输入
编码器A-  →  接收器A-输入
编码器B+  →  接收器B+输入
编码器B-  →  接收器B-输入
编码器Z+  →  接收器Z+输入
编码器Z-  →  接收器Z-输入

注意:差分信号的两根线要双绞,绞距越密抗干扰越好。我一般用每米30-40绞的线,效果不错。

重要提醒:差分接收器的输入端不能悬空。如果编码器没接,接收器输出会乱跳。解决办法是在输入端加100kΩ的下拉电阻,或者接一个固定的电平。

4.4 三种方法的组合使用

实际项目中,这三种方法经常组合使用。我画个流程图给大家看看:

编码器信号硬件滤波流程 编码器原始信号 距离>1米? 差分信号接收 RC低通滤波 施密特触发器整形

我的习惯做法是:

  1. 近距离(1米以内):RC滤波 + 施密特触发器,成本低,效果好
  2. 中距离(1-10米):差分信号接收 + RC滤波,抗共模干扰
  3. 远距离(10米以上):差分信号接收 + 施密特触发器,双重保障

总结一下:硬件滤波是编码器信号处理的第一道防线。RC滤波干掉高频噪声,施密特触发器消除阈值抖动,差分接收搞定共模干扰。这三招用好了,编码器信号基本不会出问题。

嗯,今天就聊到这儿。下一节咱们讲讲软件滤波,那又是另一套思路了。


公众号:蓝海资料掘金营,微信deep3321