4、信号调理基础:什么是信号调理、为什么需要信号调理、信号调理的典型流程

各位同学,咱们今天聊点实在的。

做嵌入式开发,尤其是工业控制这块,ADC采样是躲不开的坎儿。很多新手上来就把传感器信号直接往MCU的ADC引脚上一怼,结果读数飘得像过山车,还纳闷“我代码明明写对了啊”。

嗯,问题大概率出在信号调理上。

4.1 什么是信号调理?

说白了,信号调理就是给传感器信号“梳妆打扮”的过程。

传感器出来的原始信号,往往很“糙”——要么电压太小,要么噪声太大,要么阻抗不匹配。直接送给ADC,ADC根本没法准确识别。信号调理就是做这么几件事:把信号放大到ADC能接受的电压范围、滤掉高频噪声、把信号从高阻抗变成低阻抗。

我的理解:信号调理就是传感器和ADC之间的“翻译官”和“美容师”。它让传感器说的话,ADC能听懂。

我在一个温度采集项目里遇到过这种情况。热电偶输出只有几毫伏,直接接ADC,读数全是0。后来加了一级放大,才看到温度变化。你想想看,没有信号调理,再好的ADC也是白搭。

4.2 为什么需要信号调理?

这个问题,我分四点来讲。都是我在项目里踩过的坑。

4.2.1 电压匹配

工业MCU的ADC,参考电压通常是3.3V或5V。但很多传感器输出只有几十毫伏,比如热电偶、应变片。也有些传感器输出超过ADC量程,比如0-10V的工业变送器。不调理,要么测不到,要么烧引脚。

4.2.2 阻抗匹配

ADC的输入阻抗通常不高,几kΩ到几十kΩ。但很多传感器输出阻抗很高,比如pH电极,阻抗高达几百MΩ。直接接上去,信号被拉垮,读数完全不准。

我记得有个做水质监测的朋友,pH值怎么测都不对。我让他加了一级电压跟随器做阻抗变换,问题立刻解决。

4.2.3 噪声抑制

工业现场,电机、变频器、开关电源,到处都是干扰源。传感器信号线就像天线,把这些噪声全收进来了。不滤波,ADC采到的就是噪声+信号,你根本分不清哪个是哪个。

4.2.4 保护MCU

传感器线缆可能被雷击、可能短路到高压线上。没有保护电路,MCU的ADC引脚第一个烧。我见过一个案例,现场工人误把24V电源线接到了传感器输出上,整个控制板全烧了。加个TVS管和限流电阻,成本几毛钱,能省几万块的维修费。

警告:千万不要把传感器直接接到MCU的ADC引脚上!尤其是工业现场的长线缆传输。我曾经因为偷懒跳过信号调理,结果一个批次的产品返工率高达30%。

4.3 信号调理的典型流程

工业上最经典的信号调理链路,就是四个字:传、放、滤、采。

传感器 → 放大 → 滤波 → ADC

我习惯把这个流程画成框图,每个环节都有它的使命。

环节 作用 常用器件 我的经验
传感器 将物理量转为电信号 热电偶、PT100、压力传感器 选型时注意输出类型(电压/电流/电阻)
放大 将小信号放大到ADC量程 运放(LM358、OP07、AD620) 仪表放大器比普通运放更适合差分信号
滤波 滤除带外噪声 RC低通、有源滤波器 截止频率设为信号频率的5-10倍
ADC 将模拟信号转为数字量 MCU内置ADC、外部ADC 采样率至少是信号最高频率的2倍

4.3.1 第一步:传感器

传感器是整个链路的起点。它把温度、压力、流量这些物理量变成电信号。常见的输出类型有电压(如0-10V)、电流(如4-20mA)、电阻(如PT100)。

我个人习惯,在选传感器时就考虑好后续的调理方案。比如4-20mA的传感器,抗干扰能力强,适合远距离传输,但需要加一个250Ω的采样电阻转成1-5V电压。

4.3.2 第二步:放大

放大是信号调理的核心环节。小信号必须放大到ADC能分辨的范围。

举个例子:热电偶输出每10℃变化约0.4mV。如果ADC是12位、参考电压3.3V,分辨率是0.8mV。不放大,10℃的变化都检测不到。放大100倍后,40mV对应10℃变化,ADC就能轻松分辨。

小技巧:放大倍数不是越大越好。放大倍数太大,噪声也被放大了。我一般把信号放大到ADC量程的70%-80%,留一点余量防止过载。

4.3.3 第三步:滤波

滤波的目的是把噪声干掉,留下有用的信号。

工业现场最常见的噪声是工频干扰(50Hz/60Hz)和高频开关噪声。我通常的做法是:

  • 先加一级RC低通滤波,截止频率设在几百Hz,滤掉高频噪声
  • 如果工频干扰严重,再加一个50Hz陷波器
  • 最后在ADC输入端加一个小电容(0.1μF),滤掉采样瞬间的毛刺

我曾经在一个电机驱动项目里,不加滤波,ADC读数跳动±50个LSB。加了一级简单的RC滤波后,跳动降到±2个LSB。效果立竿见影。

4.3.4 第四步:ADC采样

信号调理好了,最后一步就是ADC采样。这里要注意几点:

  • 采样率要满足奈奎斯特定理,至少是信号最高频率的2倍
  • 采样时间要足够长,让ADC内部的采样电容充满电
  • 如果信号变化很快,考虑用采样保持电路

嗯,这里要注意。很多MCU的ADC输入引脚有寄生电容,如果信号源阻抗太高,采样时间不够,读数就会偏小。我一般会在软件里加一段延时,或者用DMA连续采样取平均值。

总结一下:信号调理不是可有可无的步骤,而是ADC采样精度的基石。传→放→滤→采,四个环节缺一不可。跳过任何一步,你的数据都可能不靠谱。

好了,这一章就讲到这里。下一章我们聊聊具体的放大电路设计,包括同相放大、反相放大、仪表放大器怎么选、怎么用。到时候我会拿几个我实际做过的电路板来拆解,咱们不见不散。

课后思考:如果你手头有一个输出0-10V的传感器,而你的MCU ADC参考电压是3.3V,你会怎么设计信号调理电路?下一章我会给出我的方案。


公众号:蓝海资料掘金营,微信deep3321