3. 信号采集基础:模拟信号与数字信号,ADC采样原理,传感器信号调理电路

做过多级预警系统的朋友都知道,传感器是系统的“眼睛”和“鼻子”。但传感器吐出来的信号,往往不是单片机直接能消化的。这里面有个关键环节——信号采集。

说白了,我们得把物理世界的连续变化(模拟信号),翻译成单片机认识的0和1(数字信号)。这个翻译过程,就是ADC(模数转换)。但别急着上ADC,信号在进去之前,还得“洗把脸、整整衣冠”——这就是信号调理。

我个人习惯把这一整套流程叫做“信号的三级跳”:传感器输出 → 调理电路 → ADC采样。今天咱们就聊聊这三跳里头的门道。

3.1 模拟信号与数字信号:两个世界的对话

先说说这两个“世界”的区别。

模拟信号,就像水龙头流出的水,连续不断,任何时刻都有值。温度、压力、气体浓度,这些都是模拟量。它的优点是信息丰富,缺点是抗干扰能力差。我在项目中遇到过,一根长距离的模拟信号线,愣是把50Hz的工频干扰给“请”进了系统,导致数据跳得像心电图。

数字信号,就像开关,要么开(1),要么关(0)。它不关心中间过程,只认高低电平。优点是抗干扰强,缺点是精度受限于位数。

你想想看,为什么现在大部分系统都往数字化走?说白了,就是数字信号好欺负,不容易被噪声带偏。

核心观点: 模拟信号是“连续的真实”,数字信号是“离散的近似”。我们的任务,就是用离散的近似,去逼近连续的真实。

3.2 ADC采样原理:把连续变成离散

ADC(模数转换器)干的事,就是“拍照”。它每隔一段时间,给模拟信号拍一张“快照”,然后把这个瞬间的电压值,编码成一个数字。

这里有两个关键参数:采样率分辨率

  • 采样率:每秒拍多少张照片。单位是Hz。比如1000Hz,就是一秒拍1000次。
  • 分辨率:每张照片能记录多少细节。单位是bit。比如12位ADC,能把0-3.3V分成4096份。

嗯,这里要注意一个经典定律——奈奎斯特采样定理。它说:采样率必须大于信号最高频率的2倍,否则信号会“混叠”。

我曾经犯过一个低级错误:用一个100Hz的采样率,去采集一个80Hz的振动信号。结果呢?采出来的数据看起来像20Hz的信号。这就是混叠,数据完全失真了。后来我学乖了,采样率至少留3-5倍的余量。

实战技巧: 对于气体传感器这种慢变信号(响应时间通常几百毫秒),采样率100Hz就绰绰有余。但对于音频或振动信号,采样率至少得几千Hz起步。

3.3 传感器信号调理电路:放大与滤波

传感器出来的信号,通常有两个毛病:太弱太脏

太弱,是因为很多传感器(比如热电偶、电化学气体传感器)输出的电压只有毫伏级,甚至微伏级。ADC根本“看”不见。太脏,是因为环境噪声、电源纹波、电磁干扰都混在里面。

所以,信号调理电路要干两件事:放大滤波

3.3.1 放大电路

放大,不是简单地把信号乘以一个倍数。我建议用仪表放大器,比如AD620、INA128。它有三个好处:

  • 高输入阻抗:不“吸”传感器的电流,不影响传感器输出。
  • 高共模抑制比:能滤掉两根信号线上“共同”的噪声。
  • 增益可调:用一个电阻就能设定放大倍数。

举个例子,一个电化学一氧化碳传感器,输出范围是0-100mV。而ADC的输入范围是0-3.3V。那我们就需要放大33倍。用仪表放大器,一个电阻搞定。

// 仪表放大器增益计算公式(以AD620为例)
// G = 49.4kΩ / Rg + 1
// 目标增益:33倍
// Rg = 49.4kΩ / (33 - 1) = 49.4kΩ / 32 ≈ 1.54kΩ
// 实际取标称值:1.5kΩ,实际增益约33.9倍,软件校准即可
避坑指南: 我曾经为了省成本,用普通运放搭差分放大电路。结果共模抑制比上不去,50Hz工频干扰比信号还大。后来老老实实换了仪表放大器,世界清净了。别在这种地方省钱。

3.3.2 滤波电路

放大之后,信号变大了,但噪声也跟着放大了。这时候需要滤波。

对于气体传感器这种低频信号,我习惯用二阶低通有源滤波器。它能把高频噪声(比如开关电源的纹波、电磁干扰)给“削”掉。

设计要点:

  • 截止频率:一般设为传感器响应频率的5-10倍。比如气体传感器响应频率约1Hz,截止频率设10Hz就够。
  • 滤波器类型:巴特沃斯滤波器,通带最平坦,适合信号保真。
  • 运放选择:用低噪声、低偏置的运放,比如LM358、TL072。

你想想看,如果截止频率设得太高,噪声滤不干净;设得太低,有用的信号也被衰减了。这个平衡,得根据实际传感器来调。

3.4 知识体系总览

下面这张图,是我自己总结的信号采集流程。从传感器到数字量,每一步都有讲究。

信号采集知识体系总览 传感器 模拟信号(弱、脏) 信号调理电路 放大 + 滤波 ADC采样 模拟→数字转换 单片机 数字信号处理 常见传感器 • 气体传感器(电化学) • 温度传感器(热电偶) • 压力传感器(压阻式) • 烟雾传感器(电离式) 调理电路关键点 • 仪表放大器选型 • 增益计算与设置 • 低通滤波器设计 • 截止频率选择 ADC关键参数 • 采样率(Hz) • 分辨率(bit) • 参考电压(Vref) • 奈奎斯特定理 后续处理 • 数字滤波 • 阈值判断 • 报警逻辑 • 数据上报 核心原则:信号链的每一级,都会影响最终精度。调理电路是“地基”,ADC是“框架”,缺一不可。 设计时,先确定传感器输出特性,再反推调理电路和ADC参数。

3.5 实战中的几个坑

最后,分享几个我踩过的坑,希望能帮你省点时间。

  1. 阻抗匹配问题:传感器输出阻抗高,ADC输入阻抗低,直接接上去信号就被“拉垮”了。解决办法:加一级电压跟随器(缓冲器)。
  2. 电源噪声:ADC的参考电压如果来自开关电源,纹波会直接反映在采样结果里。我建议用独立的线性稳压器(如AMS1117-3.3)给ADC供电。
  3. 采样时序:多通道ADC切换时,通道之间会有串扰。解决办法:切换后加一个小的延时(比如1μs),等信号稳定了再采样。
  4. 接地问题:模拟地和数字地要分开走,最后单点连接。否则数字信号的高频噪声会通过地线窜到模拟信号里。
我的习惯: 每次画PCB时,我都会在模拟信号路径上预留一个0欧电阻的位置。如果发现地线干扰,就把模拟地和数字地通过这个电阻单点连接。调试起来方便很多。

好了,信号采集的基础就聊到这儿。记住,传感器是起点,ADC是终点,调理电路是中间的桥梁。这三者配合好了,你的预警系统就成功了一半。


专注资料整理