第三章 信号调理电路:运算放大器基础、I/V转换、滤波电路设计、电平抬升与偏置

各位同学,大家好。欢迎来到第三章。

上一章我们聊了传感器怎么把烟雾、温度、气体浓度变成电信号。但说实话,传感器出来的信号,基本没法直接用。要么电流太小,要么噪声太大,要么电压不对。这时候就需要信号调理电路上场了。

我个人习惯把信号调理比作「给原始信号洗澡搓背」。洗完澡,信号才能干干净净地进ADC(模数转换器)。今天我们就来聊聊这个「洗澡」的过程。

3.1 运算放大器基础

运放是信号调理的核心。你想想看,一个运放加几个电阻电容,就能完成放大、滤波、转换等各种操作。我刚开始做消防报警时,总觉得运放很神秘,后来发现,其实抓住几个关键点就够了。

3.1.1 理想运放的「黄金法则」

理想运放有两个重要特性:

  • 虚短:同相输入端和反相输入端电压相等(V+ ≈ V-)
  • 虚断:输入阻抗无穷大,输入端几乎不取电流

记住这两条,大部分运放电路你都能分析。嗯,这里要注意,实际运放不是理想的,但做初步设计时用这个思路完全够用。

3.1.2 三种基本组态

组态 增益公式 特点 典型应用
反相放大器 Av = -Rf/Rin 输出反相,输入阻抗≈Rin 电流转电压后的放大
同相放大器 Av = 1 + Rf/Rin 输出同相,输入阻抗极高 传感器信号缓冲
电压跟随器 Av = 1 阻抗变换,隔离作用 ADC前端缓冲

我在项目中遇到过一个问题:用反相放大器放大光电烟雾传感器的信号,结果发现输出噪声特别大。后来排查发现,是输入阻抗太低,把传感器的微弱信号「拉垮」了。换成同相放大器后,问题就解决了。

我的小建议:传感器信号微弱时,优先考虑同相放大器或电压跟随器做第一级。输入阻抗高,信号损失小。

3.2 I/V转换:把电流变成电压

很多消防传感器输出的是电流信号。比如光电烟雾传感器的光敏二极管,输出的是微安级的电流。ADC只能读电压,所以必须做I/V转换。

3.2.1 最简单的I/V转换

一个电阻就能把电流变成电压:V = I × R。但直接串电阻有个问题——传感器的输出阻抗会受影响,导致测量不准。

所以,专业的做法是用运放搭建I/V转换电路,也叫「跨阻放大器」。

// 跨阻放大器基本结构
// 运放反相输入端接电流源
// 反馈电阻Rf跨接在输出和反相输入端之间
// 同相输入端接地

Vout = -Iin × Rf

举个例子:光电二极管输出10μA电流,用100kΩ的反馈电阻,输出电压就是:

Vout = 10μA × 100kΩ = 1V

你看,很简单吧?

注意:反馈电阻不能太大。我曾经用过10MΩ的电阻,结果电路振荡得一塌糊涂。因为寄生电容和电阻形成了极点,导致相位裕度不够。一般建议Rf不超过1MΩ,如果非要大增益,可以分两级放大。

3.2.2 实际设计中的避坑

我曾经在调试一氧化碳传感器时,发现I/V转换的输出一直有几十毫伏的偏置。查了半天,原来是运放的输入偏置电流在作怪。CO传感器的电化学电池输出电流本来就小,偏置电流的影响就特别明显。

解决办法有两个:

  • 选用偏置电流小的运放(比如FET输入的运放,偏置电流可以到pA级)
  • 在同相输入端加一个匹配电阻,抵消偏置电流的影响

3.3 滤波电路设计

传感器信号里,除了有用的信号,还有各种噪声。工频干扰(50Hz)、高频噪声、传感器本身的纹波……滤波就是要把这些乱七八糟的东西去掉。

消防报警系统里,最常用的是低通滤波和带通滤波。

3.3.1 低通滤波:滤掉高频噪声

说白了,低通滤波就是让低频信号通过,把高频噪声干掉。烟雾传感器的信号变化很慢,几赫兹到几十赫兹,所以低通滤波特别合适。

最简单的就是一阶RC低通:

// 一阶RC低通滤波器
// 截止频率:fc = 1 / (2πRC)

// 举例:R=10kΩ, C=1μF
fc = 1 / (2 × 3.14 × 10k × 1μ)
   ≈ 15.9 Hz

15.9Hz的截止频率,基本能把50Hz的工频干扰衰减掉。但一阶滤波的衰减速度只有-20dB/十倍频,效果一般。

我建议用二阶有源低通滤波器。用运放加RC网络,衰减速度可以到-40dB/十倍频。我常用的结构是Sallen-Key低通:

// Sallen-Key 二阶低通
// 截止频率:fc = 1 / (2π√(R1R2C1C2))
// 品质因数Q决定了滤波器的响应特性

// 常用参数(巴特沃斯响应,最平坦)
// Q = 0.707
// R1 = R2 = R
// C1 = 2C, C2 = C/2
关键点:滤波器的阶数不是越高越好。阶数高了,相位延迟大,对实时性要求高的系统(比如火焰探测)会有影响。我一般用二阶,最多四阶。

3.3.2 带通滤波:提取特定频率

有些传感器信号有特定的频率特征。比如电离室烟雾传感器,它的信号里有一个特定的频率成分可以用来区分烟雾类型。这时候就需要带通滤波。

带通滤波可以看成低通和高通的组合。我常用的方法是:

  • 先确定中心频率f0和带宽BW
  • 用多重反馈(MFB)结构实现
  • Q值(品质因数)一般取0.5~10之间

举个例子:要提取100Hz的信号,带宽20Hz,Q值就是5。Q值越高,选择性越好,但稳定性会变差。我一般取Q=2~5,比较稳妥。

3.4 电平抬升与偏置

ADC的输入范围通常是0~3.3V或0~5V。但很多传感器信号是双极性的(有正有负),或者电压范围不对。这时候就需要电平抬升和偏置。

3.4.1 为什么要抬升电平?

你想想看,如果传感器输出是-1V到+1V,直接送给0~3.3V的ADC,负电压部分就丢了。所以需要把整个信号往上抬,让最低点变成0V或略高于0V。

最简单的办法是用加法器:

// 电平抬升电路(加法器)
// Vout = -(Vin × Rf/R1 + Vref × Rf/R2)

// 常用设计:把-1V~+1V抬升到0.5V~2.5V
// 取R1=R2=Rf,Vref=1.5V
// Vout = -(Vin + 1.5V)
// 输入-1V时,输出-0.5V(需要再加一级反相)
// 或者用同相加法器实现正输出

嗯,这里要注意,加法器会引入反相,后面可能需要再加一级反相放大器把信号正回来。

3.4.2 偏置电路的设计技巧

偏置电压的精度直接影响测量精度。我见过有人直接用电阻分压给运放提供偏置,结果温漂大得离谱。

我的做法是:

  • 用精密基准电压源(比如TL431、REF3033)产生偏置
  • 用电压跟随器缓冲后送给加法器
  • 偏置电压的噪声要低,否则会叠加到信号上
避坑指南:我曾经在一个项目里,直接用电源电压分压做偏置。结果电源纹波有50mV,全部耦合到了信号里,导致ADC读数跳个不停。后来加了基准源和滤波电容,问题才解决。记住:偏置电压的干净程度,决定了你的信号质量。

3.4.3 实际案例:光电烟雾传感器信号调理

最后,我给大家分享一个完整的案例。这是我做光电烟雾探测器时的信号调理电路:

  1. 第一级:I/V转换——光电二极管输出电流,用跨阻放大器转成电压,Rf=100kΩ
  2. 第二级:同相放大——增益10倍,把信号放大到0.5V~3V范围
  3. 第三级:二阶低通滤波——截止频率10Hz,滤除工频干扰和高频噪声
  4. 第四级:电平抬升——用加法器把信号抬升到ADC的0~3.3V范围内

整个电路用了两个双运放(LM358或MCP6002),成本低,效果不错。调试时要注意各级的直流偏置,一级一级测,确保每级输出都在预期范围内。

好了,第三章的内容就到这里。信号调理是模拟电路的核心,也是消防报警系统里最容易出问题的地方。下一章我们聊聊ADC采样和数字信号处理的基础,到时候见。