第三节:信号调理与采集——别让传感器白干了

做力控系统这么多年,我最大的感触是什么?
传感器选得再好,信号调理做不好,全白搭。
说白了,信号调理就是给传感器信号「梳妆打扮」,让它能体面地进ADC。

这一节,我重点聊聊信号放大与滤波、ADC选型、采样率匹配,还有抗混叠滤波器设计。
嗯,都是实战中容易踩坑的地方。

3.1 信号放大与滤波:别把噪声也放大了

传感器出来的信号,通常很微弱。
比如应变片桥路输出,满量程可能才几毫伏。
这时候必须放大。

放大器的选型,我一般看三点:

  • 输入失调电压:这个参数决定了你能测多小的信号。我习惯选<5μV的,不然小信号直接被漂移吃掉了。
  • 共模抑制比(CMRR):工业现场干扰多,CMRR低于100dB的放大器,我基本不考虑。
  • 带宽:别只看增益带宽积,还要看你的信号频率。我曾经在一个项目里用了OP07,结果信号频率10kHz,增益设了100倍,带宽根本不够——信号直接衰减了30%。

避坑指南:
我曾经在一个称重系统里,用了单级放大1000倍,结果输出噪声大得离谱。
后来改成两级放大:第一级10倍,第二级100倍,中间加了一阶RC低通滤波。
噪声瞬间降下来了。记住:高增益一定要分级,中间插滤波

滤波器的选择,我有个口诀:

  • 工频干扰(50Hz/60Hz)→ 陷波器或数字滤波
  • 高频噪声(>信号频率10倍)→ 二阶巴特沃斯低通
  • 直流漂移 → 高通或数字去趋势

实际项目中,我常用Sallen-Key结构的二阶低通滤波器。
元件少,性能稳定,适合PCB面积紧张的场景。

3.2 ADC选型要点:分辨率不是越高越好

很多人选ADC,第一反应就是「分辨率越高越好」。
其实不然。

我选ADC,按这个顺序来:

  1. 有效位数(ENOB):别信标称分辨率,要看数据手册里的ENOB。比如标称16位的ADC,实际ENOB可能只有12位。
  2. 采样率:根据信号最高频率的2.56倍以上来选。我一般留3~5倍余量。
  3. 输入范围:一定要匹配前级放大器的输出摆幅。我曾经见过有人用±10V输入的ADC,前级放大器只输出0~3.3V,白白浪费了动态范围。
  4. 噪声性能:看SNR和THD。对于力控系统,SNR最好>80dB。
参数 低端应用 工业级 高精度
分辨率 12位 16位 24位
ENOB 10位 14位 20位
采样率 100kSPS 1MSPS 10MSPS
SNR 60dB 80dB 100dB
典型型号 ADS7828 ADS1256 ADS1263

我的个人习惯:
力控系统里,我偏爱Σ-Δ型ADC。虽然速度慢一点,但内置了数字滤波,抗混叠效果好。
比如ADS1256,24位,30kSPS,ENOB能做到21位,够用了。

3.3 采样率与带宽匹配:奈奎斯特不是万能的

采样定理说:采样率≥2倍信号最高频率。
但实际工程中,2倍远远不够。

为什么?
因为现实中的信号不是理想正弦波,有谐波、有噪声。
你想想看,如果信号最高频率1kHz,你刚好采2kHz,那信号稍微有点抖动,就混叠了。

我一般遵循这个经验:

  • 力控系统:采样率 = (5~10) × 信号最高频率
  • 伺服控制:采样率 = (10~20) × 系统带宽
  • 数据采集:采样率 = (2.56~5) × 信号最高频率

举个例子:
一个力传感器,输出信号带宽100Hz。
我选采样率1kHz,也就是10倍。
这样即使有高频噪声,也能通过数字滤波干净地去掉。

警告:
采样率不是越高越好!
采样率太高,数据量暴增,MCU处理不过来,反而导致丢包。
我见过有人用1MHz采样率采一个10Hz的信号,结果CPU占用率100%,系统直接卡死。
匹配才是王道。

3.4 抗混叠滤波器设计:ADC前的最后一道防线

抗混叠滤波器,说白了就是ADC前面的低通滤波器。
它的作用:把高于奈奎斯特频率的成分滤掉,防止混叠。

设计要点:

  • 截止频率:设为采样率的1/2.56~1/5。比如采样率1kHz,截止频率设200~400Hz。
  • 阶数:至少二阶。我习惯用四阶巴特沃斯,衰减斜率24dB/oct,够用。
  • 元件选择:电容用C0G/NP0,电阻用金属膜,温漂小。

下面是一个典型的二阶抗混叠滤波器电路:

// 二阶Sallen-Key低通滤波器设计
// 截止频率:300Hz
// 增益:1 (单位增益)
// 元件值:
// R1 = R2 = 10kΩ
// C1 = 0.1μF
// C2 = 0.047μF

// 传递函数:
// H(s) = 1 / (1 + s*R1*C2 + s^2*R1*R2*C1*C2)

// 实际计算:
// fc = 1 / (2π * sqrt(R1*R2*C1*C2))
//    = 1 / (2π * sqrt(10k*10k*0.1μ*0.047μ))
//    ≈ 300Hz

避坑指南:
我曾经在一个项目里,用了有源抗混叠滤波器,结果运放自己产生了振荡。
排查了半天,发现是运放带宽太高,相位裕度不够。
后来换了低带宽的运放(比如LM358),再加了10pF反馈电容,问题解决。
记住:抗混叠滤波器本身不能成为噪声源。

3.5 知识体系总览

下面这张图,是我梳理的信号调理与采集的完整流程:

信号调理与采集知识体系 传感器 应变片/压电/电容 信号放大 仪表放大器/运放 抗混叠滤波 二阶/四阶低通 ADC采集 Σ-Δ/逐次逼近 数字处理 数字滤波/校准 关键参数 • 增益:10~1000倍 • 截止频率:200~400Hz • ENOB:≥14位 • 采样率:5~10倍带宽 常见陷阱 ✗ 单级高增益放大 ✗ 采样率刚好2倍 ✗ 忽略抗混叠滤波 ✗ ADC输入范围不匹配 核心原则:信号链每一级都要匹配,短板效应在这里特别明显 放大→滤波→ADC→数字处理,环环相扣

这张图把信号调理与采集的完整链路画出来了。
从传感器到数字处理,每一级都有讲究。
你想想看,如果放大级噪声大,后面滤波再好也救不回来。
如果ADC分辨率高但采样率不够,信号细节照样丢失。

所以我的建议是:
设计信号链时,先定ADC,再反推前级。
这样能保证每一级都匹配,不会出现瓶颈。

最后分享一个实用技巧:
调试时,用示波器看ADC输入端的信号。
如果看到明显的阶梯状波形,说明采样率不够。
如果看到高频毛刺,说明抗混叠滤波没做好。
这两个问题,我几乎在每个项目里都遇到过。


专注资料整理