4. 信号采集与调理:传感器信号放大、滤波、A/D转换电路设计
各位工程师朋友,咱们接着聊。电梯这玩意儿,说白了就是个垂直运输工具。但要让它在几十层楼之间稳稳当当、不出岔子,靠的就是传感器采集到的那些微弱信号。我常说,信号调理电路就是电梯的“听诊器”——听不准,后面诊断全白搭。
今天这一节,咱们就聚焦在传感器信号出来之后,到进入单片机之前,中间这段“调理”过程。放大、滤波、A/D转换,一个都不能少。
4.1 传感器信号的特点与挑战
电梯里用的传感器,比如加速度计、压力传感器、编码器,它们输出的信号有个共同特点:弱、小、杂。
- 弱:很多传感器输出只有毫伏级,甚至微伏级。比如压电式加速度传感器,输出可能就几毫伏。
- 小:信号动态范围小,容易被噪声淹没。
- 杂:电梯井道里电磁环境复杂,变频器、电机、开关电源,全是干扰源。
我遇到过最头疼的一次,是某项目电梯运行中偶尔报“速度异常”。查了半天,发现是编码器信号线上串入了变频器的共模干扰。嗯,从那以后,我对信号调理的重视程度直接拉满。
核心原则:信号调理的目标,就是把传感器输出的“原始信号”,变成ADC能接受的“干净信号”。
4.2 信号放大电路设计
放大电路,说白了就是把小信号变大。但这里有个坑——不是随便找个运放接上就行。
4.2.1 仪表放大器 vs 普通运放
我个人习惯,在电梯传感器信号放大中,优先选用仪表放大器(如AD620、INA128)。为什么?
- 高共模抑制比(CMRR):电梯井道里,共模干扰是家常便饭。仪表放大器天生就能把共模信号踢掉。
- 低噪声:普通运放的自噪声可能比信号还大,那就没法玩了。
- 单电阻增益设置:一个电阻搞定增益,调试方便。
举个例子,加速度传感器输出±2g对应±40mV,我们需要放大到ADC的满量程±2.5V。增益就是 2.5V / 0.04V = 62.5倍。用AD620,接一个1kΩ的增益电阻,搞定。
// 增益计算公式(AD620)
G = 49.4kΩ / Rg + 1
// 当 Rg = 1kΩ 时
G = 49.4 / 1 + 1 = 50.4 倍
// 实际需要62.5倍,调整Rg = 49.4 / (62.5 - 1) ≈ 0.8kΩ
// 选标准值 820Ω,实际增益约61倍,够用
我的小技巧:增益不要一次拉到最大。我习惯先放大10倍,后面再加一级可调放大。这样调试时灵活,还能避免前级饱和。
4.2.2 偏置与电平移位
很多传感器输出是双极性的(比如±40mV),但ADC输入范围可能是0~2.5V。这时候就需要电平移位。
我常用的方法:在仪表放大器后面加一级运放,用参考电压把信号抬升到ADC的中间点。比如ADC参考电压2.5V,就把信号偏置到1.25V。
// 电平移位电路设计要点
// 1. 参考电压必须低噪声,最好用精密基准源(如REF5025)
// 2. 运放选轨到轨型,保证输出能到0V和VCC
// 3. 偏置电阻用0.1%精度,避免温漂
4.3 滤波电路设计
放大之后,信号里还带着一堆噪声。滤波就是把这些“脏东西”滤掉。
4.3.1 低通滤波:滤除高频噪声
电梯信号的变化频率通常不高。比如电梯运行速度信号,带宽也就几十赫兹。但变频器的开关频率可能是几kHz甚至十几kHz。所以,低通滤波是必须的。
我推荐用二阶有源低通滤波器(Sallen-Key结构)。为什么不用一阶?一阶衰减太慢,20dB/十倍频,效果不够。二阶有40dB/十倍频,够用。
// 二阶低通滤波器设计(Sallen-Key)
// 截止频率 fc = 1 / (2π * R * C)
// 取 fc = 100Hz(滤除变频器噪声)
// 设 R = 10kΩ,则 C = 1 / (2π * 10k * 100) ≈ 0.16μF
// 选标准值 0.15μF,实际 fc ≈ 106Hz
// 品质因数 Q = 0.707(巴特沃斯响应,最平坦)
// 反馈电容 C2 = 2 * C1 = 0.3μF(选0.33μF)
注意:滤波电容一定要用C0G或NP0材质的,别用X7R。X7R的电容值会随电压变化,滤波特性就跑了。我曾经吃过这个亏,滤波截止频率漂了30%,信号都变形了。
4.3.2 带通滤波:提取特定频率
有些场景,比如电梯门机振动监测,我们只关心某个频段的信号。这时候用带通滤波更合适。
我记得有个项目,电梯轿厢在某个速度下共振。我们就在加速度信号后面加了个带通滤波器,只提取共振频率附近的信号,然后做FFT分析。效果立竿见影。
4.4 A/D转换电路设计
信号调理的最后一站,就是模数转换。把模拟信号变成数字量,交给单片机处理。
4.4.1 ADC选型要点
电梯故障诊断系统,对ADC的要求其实挺明确:
| 参数 | 要求 | 说明 |
|---|---|---|
| 分辨率 | 12位以上 | 电梯信号动态范围不大,12位够用。但要做高精度诊断,建议16位 |
| 采样率 | ≥1kHz | 电梯振动信号最高几百Hz,1kHz采样率满足奈奎斯特定理 |
| 输入范围 | 0~Vref 或 双极性 | 根据前级调理电路输出范围选择 |
| 接口 | SPI或I2C | 方便与MCU连接,隔离也容易做 |
我个人偏爱ADS1256(24位、30kSPS、SPI接口)。虽然有点贵,但精度和稳定性没得说。做电梯振动分析,数据质量直接决定诊断准确率。
4.4.2 参考电压设计
ADC的参考电压,是决定转换精度的关键。你想想看,如果参考电压本身都在漂,那转换出来的数字量能准吗?
我建议:独立参考电压源,别用MCU内部的Vref。推荐REF5025(2.5V,温漂3ppm/℃)。
// 参考电压电路设计要点
// 1. 参考电压输出端加10μF+0.1μF去耦电容
// 2. 走线要短,远离开关电源和变频器
// 3. 参考电压的GND和ADC的GND要单点连接
4.4.3 抗混叠滤波
ADC采样前,一定要加抗混叠滤波器。这是个老生常谈的问题,但很多人会忽略。
混叠是什么?就是高频信号采样后,变成了低频信号,混在有用信号里。你以为是电梯振动,其实是变频器噪声的“影子”。
抗混叠滤波器就是个低通滤波器,截止频率设在采样率的一半以下。比如采样率1kHz,抗混叠滤波器的截止频率就设在400Hz左右。
经验之谈:抗混叠滤波器的阶数至少2阶。我见过有人用一阶RC滤波做抗混叠,结果高频衰减不够,混叠还是出现了。后来换成4阶,问题解决。
4.5 完整信号链设计实例
说了这么多,咱们来个完整的例子。以电梯加速度信号采集为例:
- 传感器:ADXL335(三轴加速度计,输出±3g,灵敏度300mV/g)
- 第一级放大:AD620,增益10倍,输出±3V
- 电平移位:OPA340,偏置到1.25V,输出0~2.5V
- 低通滤波:二阶Sallen-Key,截止频率100Hz
- ADC:ADS1256,采样率1kHz,参考电压2.5V
// 信号链增益计算
// 传感器输出:±3g × 300mV/g = ±900mV
// 放大10倍后:±9V(但AD620供电±5V,会饱和!)
// 实际调整:增益设为2.78倍(Rg=18kΩ)
// 输出:±2.5V
// 电平移位后:0~2.5V,完美匹配ADC输入范围
避坑指南:设计信号链时,一定要算好每一级的输出范围。我曾经设计过一个电路,前级放大太大,后级ADC输入直接饱和,数据全是满量程。查了两天才发现是增益算错了。
4.6 布局与布线注意事项
电路设计好了,PCB布局布线也很关键。我总结了几条铁律:
- 模拟地和数字地分开:最后单点连接,用磁珠或0Ω电阻
- 电源去耦:每个运放、ADC的电源引脚都要加0.1μF电容,靠近引脚放置
- 信号走线要短:特别是传感器到放大器的走线,越短越好
- 远离干扰源:信号调理电路要远离变频器、继电器、开关电源
嗯,信号采集与调理这部分,内容确实不少。但说白了,就是三个字:准、净、稳。信号要准,噪声要净,电路要稳。做到这三点,电梯故障诊断系统就有了可靠的数据基础。
下一节,咱们聊聊怎么把这些调理好的信号,用软件算法做进一步处理。到时候见。