3、模拟输入信号调理:电压衰减与放大电路设计、低通滤波器设计与选型、抗混叠滤波器原理
好,咱们接着聊。上一章我们把传感器和信号类型理清楚了,这一章要动真格的了——信号调理。说白了,就是让被测信号“乖乖听话”,变成ADC能准确采样的样子。
我个人习惯把信号调理分成三步走:幅度调整(衰减或放大)、频率过滤(低通滤波)、抗混叠保护。这三步走对了,后面采样出来的数据才靠谱。走错了?嗯,你可能会花三天时间查一个根本不存在的故障。
3.1 电压衰减与放大电路设计
先问个问题:你的ADC输入范围是多少?大部分HIL系统的ADC是±10V或0~10V。但被测信号呢?可能是毫伏级的热电偶,也可能是几百伏的电机母线电压。
所以,幅度调整是第一步。
3.1.1 衰减电路:把大信号“压”下来
我在项目中遇到过最头疼的情况:客户说信号是0~10V,结果一接上发现峰值到了48V。还好我习惯在输入端先加一级衰减保护。
最简单的衰减电路就是电阻分压:
Vin —— R1 —— Vout —— R2 —— GND
Vout = Vin × R2 / (R1 + R2)
举个例子,你要把±100V衰减到±10V,分压比就是10:1。选R1=90kΩ,R2=10kΩ,搞定。
另外,衰减电路后面一定要跟一个高输入阻抗的电压跟随器。为什么?因为分压网络的输出阻抗是R1//R2,如果不加缓冲,后级电路一接上去,分压比就变了。
3.1.2 放大电路:把小信号“提”上来
小信号放大,我首选仪表放大器。比如AD620、INA128这些经典芯片。为什么不用普通运放?因为小信号通常伴随着共模干扰,普通运放扛不住。
仪表放大器的典型接法:
┌─────────┐
Vin+ ────┤ IN+ │
│ INA128 │──── Vout
Vin- ────┤ IN- │
│ RG │
└────┬────┘
│
Rg (增益电阻)
增益公式:G = 1 + 49.4kΩ / Rg
比如你要放大100倍,Rg = 49.4kΩ / (100 - 1) ≈ 499Ω。选个标准值499Ω就行。
3.2 低通滤波器设计与选型
信号幅度调好了,接下来要处理噪声。HIL环境里,噪声来源太多了:开关电源的纹波、电机驱动的PWM干扰、甚至隔壁工位的手机信号。
低通滤波器就是干这个的——把高频噪声滤掉,保留有用的低频信号。
3.2.1 一阶RC低通:最简单,但够用吗?
一阶RC滤波,一个电阻加一个电容:
Vin —— R —— Vout —— C —— GND
截止频率:fc = 1 / (2πRC)
比如你要滤除100Hz以上的噪声,选R=1.6kΩ,C=1μF,fc≈100Hz。
但说实话,一阶滤波的衰减斜率只有-20dB/十倍频。什么意思?100Hz的信号衰减3dB,1000Hz的信号才衰减20dB。如果噪声频率离信号频率很近,一阶滤波根本不够用。
3.2.2 二阶有源低通:巴特沃斯还是贝塞尔?
二阶有源滤波,衰减斜率-40dB/十倍频,效果好得多。常用的拓扑是Sallen-Key结构:
┌──────────────┐
Vin ── R1 ── R2 ──┤+ │
│ │ │ │──── Vout
C1 C2 │- │
│ │ └────┘
GND GND
选型时有两个经典选择:
| 类型 | 特点 | 适用场景 |
|---|---|---|
| 巴特沃斯 | 通带最平坦,截止特性好 | 一般信号滤波,最常用 |
| 贝塞尔 | 线性相位,无过冲 | 需要保真波形形状的场合 |
我个人习惯:测稳态信号用巴特沃斯,测动态波形用贝塞尔。比如测发动机转速信号,巴特沃斯就够了;但测爆震传感器波形,必须用贝塞尔,否则相位畸变会让你误判。
3.2.3 滤波器阶数怎么选?
阶数越高,滤波效果越好,但代价也大:
- 二阶:大多数场景够用,设计简单
- 四阶:噪声环境恶劣时用,比如电机测试台架
- 六阶以上:很少用,因为群延迟太大,信号会“走样”
3.3 抗混叠滤波器原理
这个知识点,我觉得是信号调理里最容易被忽视但又最关键的一环。
3.3.1 什么是混叠?
简单说:采样频率不够高,高频信号“伪装”成了低频信号。
举个例子:你以100Hz采样一个80Hz的信号,理论上没问题。但如果信号里有个120Hz的噪声,采样后会发生什么?
120Hz - 100Hz = 20Hz。这个20Hz的“假信号”会混入你的数据里,而你根本不知道它是假的。
3.3.2 抗混叠滤波器的设计要点
抗混叠滤波器本质上就是一个低通滤波器,但要求更严格:
- 截止频率:设为采样频率的1/2.5到1/3
- 阻带衰减:至少40dB以上,最好60dB
- 过渡带:越陡越好,但要注意相位
我常用的设计流程:
- 确定采样频率fs,比如1000Hz
- 抗混叠截止频率设为fs/2.5 = 400Hz
- 选择四阶巴特沃斯,阻带衰减60dB
- 在400Hz以上,信号已经被衰减到ADC量化噪声以下
3.3.3 一个真实的教训
我曾经调试一个电机控制器HIL项目,发现电流波形上总有奇怪的毛刺。查了三天,换了传感器、换了线缆、甚至换了机箱,问题依旧。
最后用示波器一看——电机PWM的开关频率是10kHz,而我的采样频率是2kHz。10kHz的噪声混叠成了2kHz - (10kHz mod 2kHz) = 2kHz - 0kHz = 0kHz?不对,算一下:10kHz / 2kHz = 5,余数为0,所以混叠到了直流分量上。
嗯,这就是为什么我的电流信号上有个“直流偏置”在来回跳。后来在ADC前端加了一级二阶低通滤波,截止频率设到800Hz,问题立刻消失。
3.4 小结
这一章内容不少,我帮你捋一下重点:
- 衰减放大:先调幅度,再缓冲,注意输入阻抗匹配
- 低通滤波:一阶够简单,二阶是主力,高阶要谨慎
- 抗混叠:这是硬门槛,不做的话数据可能全是错的
下一章我们讲模拟输出信号调理,也就是DAC后面的事。到时候你会看到,输出和输入虽然对称,但坑完全不一样。