3、信号调理电路:仪表放大器、低通滤波器、ADC选型(Σ-Δ vs SAR)、参考电压设计
压传感器输出的信号,说白了就是个小不点。毫伏级别的电压变化,直接送给ADC?那基本等于白费功夫。我早年刚入行时,就吃过这个亏——传感器信号直接接ADC,结果读数跳得像心电图,根本没法用。
所以,信号调理电路就是干这个的:把微弱的、带噪声的传感器信号,变成ADC能愉快处理的干净信号。今天咱们就聊聊这块的实战经验。
3.1 仪表放大器:第一道防线
压传感器通常是桥式结构,输出差分信号。差分信号的好处是能抑制共模噪声——你想想看,电源纹波、电机干扰,这些噪声同时出现在两根线上,差分一减,就抵消了。
但普通运放做差分放大,输入阻抗不够,还会把共模信号放大。这就尴尬了。所以,专业的事交给专业的人——仪表放大器(INA)就是干这个的。
核心参数:
- 共模抑制比(CMRR):至少80dB,工业环境建议100dB以上
- 输入偏置电流:越低越好,特别是高阻抗传感器
- 增益范围:通常1-1000倍,用单个电阻设定
我常用的型号是AD620和INA128。AD620便宜,但噪声稍大;INA128噪声低,适合精密测量。有一次做称重系统,传感器输出只有10mV满量程,我用INA128设了100倍增益,效果相当不错。
实战技巧:
增益电阻尽量靠近INA引脚,走线要短。我见过有人把电阻放得老远,结果引入噪声,增益都不准了。
3.2 低通滤波器:把噪声滤干净
仪表放大器输出后,信号里还混着高频噪声。比如50Hz工频干扰、电机PWM噪声。这时候就需要低通滤波器出手了。
最简单的是一阶RC滤波,一个电阻一个电容。但说实话,一阶的滚降太慢,效果一般。我建议用二阶有源滤波器,比如Sallen-Key结构。
// 二阶低通滤波器设计示例
// 截止频率 fc = 1 / (2π * R * C)
// 假设 fc = 10Hz,R = 10kΩ
// 则 C = 1 / (2π * 10k * 10) ≈ 1.59μF
// 实际选型:R=10kΩ,C=1.5μF(标准值)
// 实际截止频率:fc = 1 / (2π * 10k * 1.5μ) ≈ 10.6Hz
注意:
滤波器会引入相位延迟。如果你做的是闭环控制系统,这个延迟可能影响稳定性。我有个项目就是滤波器阶数选太高,导致系统振荡,后来降到二阶才解决。
另外,电容选型有讲究。陶瓷电容有压电效应,振动时会产生电荷,引入噪声。我习惯用聚丙烯电容或C0G陶瓷电容,稳定性好。
3.3 ADC选型:Σ-Δ vs SAR
ADC是信号链的终点。选型时,我主要看两个指标:分辨率和采样率。
| 参数 | Σ-Δ ADC | SAR ADC |
|---|---|---|
| 分辨率 | 16-24位,甚至更高 | 8-16位 |
| 采样率 | 低,通常几十Hz到几kHz | 高,可达MHz级别 |
| 噪声 | 极低,内置数字滤波器 | 中等,需要外部滤波 |
| 功耗 | 较高 | 较低 |
| 典型应用 | 称重、压力、温度 | 数据采集、音频、控制 |
压传感器信号变化慢,通常几Hz到几十Hz。所以Σ-Δ ADC是首选。它内部有过采样和数字滤波,能有效抑制噪声。我常用的有ADS1232(24位,专为桥式传感器设计)和AD7190。
但如果你需要高速采样,比如做动态压力测量,SAR ADC更合适。不过要注意,SAR ADC对前端驱动电路要求高,输入信号需要快速建立。
我的选型原则:
- 静态或慢变信号 → Σ-Δ ADC
- 动态或高速信号 → SAR ADC
- 电池供电 → 关注功耗,SAR ADC更优
3.4 参考电压设计:ADC的基准
ADC的精度,很大程度上取决于参考电压的稳定性。参考电压漂移,ADC读数就会跟着漂。我曾经用过一个便宜的参考源,温度一变化,读数就偏,排查了好久才发现是参考电压的问题。
参考电压设计要点:
- 温度系数:最好低于10ppm/°C
- 噪声:低噪声,通常用10μF电容去耦
- 驱动能力:能提供足够的电流给ADC
常用的参考电压芯片有REF5025(2.5V,3ppm/°C)和ADR421(2.5V,1ppm/°C)。如果预算有限,也可以用TL431加精密电阻分压,但性能会差一些。
布线建议:
参考电压走线要单独走,远离数字信号和电源。我习惯在参考电压引脚附近放一个10μF钽电容和一个0.1μF陶瓷电容,分别滤除低频和高频噪声。
3.5 整体信号链设计
把上面几块串起来,就是一个完整的信号链:
传感器 → 仪表放大器 → 低通滤波器 → ADC → 微控制器
每个环节的增益和带宽要匹配。比如,仪表放大器增益设100倍,ADC满量程是5V,那传感器满量程输出就是50mV。滤波器截止频率要高于信号频率,但低于采样频率的一半(奈奎斯特频率)。
避坑指南:
我曾经在一个项目里,仪表放大器增益设得太高,导致信号饱和,ADC读数一直满量程。后来才意识到,传感器输出比预期大了两倍。所以,设计时一定要留有余量,增益不要用到极限。
好了,信号调理这块就聊到这儿。记住,好的调理电路是ADC性能的保障。别省那几个元件钱,否则后面调试会花更多时间。