4. 模拟信号链设计:热电堆传感器输出特性,低噪声运放选型(如AD8605),差分放大电路设计,抗混叠滤波器设计

各位同学,欢迎来到第四章。这一章我们聊聊模拟信号链。说实话,体温计里最考验硬功夫的,就是这一段。数字部分再花哨,前端信号没处理好,后面全是白搭。

热电堆传感器输出的信号有多微弱?我举个例子你就明白了。一个典型的热电堆,在人体温度37°C附近,输出信号大概只有几百微伏到几毫伏。你想想看,这比一个普通运放的输入失调电压还小。所以,信号链设计的核心就一句话:把微弱的信号,干净地放大到ADC能处理的范围内

4.1 热电堆传感器的输出特性

热电堆传感器,说白了就是一堆热电偶串在一起。它把红外辐射转换成电压。我习惯先看它的几个关键参数:

  • 灵敏度:一般在几十到几百 μV/°C 之间。比如 MLX90614 用的热电堆,灵敏度大约 50 μV/°C。
  • 输出阻抗:通常在 10kΩ 到 100kΩ 之间。这个值决定了后面运放的输入阻抗要求。
  • 响应时间:大约 10ms 到 100ms。体温测量不需要太快,但也不能太慢。
  • 温度范围:人体温度范围窄,35°C 到 42°C 就够了。但环境温度可能从 0°C 到 50°C。

重要提示:热电堆的输出是差分信号。它有两个输出端,一个正一个负。千万别当成单端信号处理,否则共模噪声会让你怀疑人生。

我在项目中遇到过一个问题:传感器离人体太远,信号衰减严重。后来发现,热电堆的视场角(FOV)也很关键。视场角越大,接收到的环境噪声越多。所以,选型时要注意视场角,一般 30° 到 60° 比较适合耳温枪或额温枪。

4.2 低噪声运放选型:以AD8605为例

运放选型,我个人的经验是:先看噪声,再看失调,最后看带宽。为什么?因为体温信号是直流或低频信号,带宽要求不高,但噪声会直接淹没信号。

AD8605 是我比较喜欢的一款运放。它的参数很漂亮:

参数 AD8605 典型值 为什么重要
输入失调电压 65 μV(最大) 失调电压会叠加到信号上,造成测量误差
输入偏置电流 1 pA(典型) 偏置电流流过传感器阻抗,产生额外压降
电压噪声密度 8 nV/√Hz @ 1kHz 噪声密度越低,信噪比越高
增益带宽积 10 MHz 对于体温信号,绰绰有余
电源电压 2.7V 到 5.5V 适合电池供电设备

你可能会问:为什么选 AD8605 而不是更便宜的 LM358?嗯,这里要注意。LM358 的输入失调电压高达 3mV,比体温信号还大。你想想看,信号才几百微伏,运放自己就漂了几毫伏,这还怎么测?

选型小技巧:我建议优先选 CMOS 输入级的运放。它们的偏置电流极低(pA 级),不会在传感器的高输出阻抗上产生明显的压降。AD8605 就是 CMOS 运放。

4.3 差分放大电路设计

热电堆输出的是差分信号,所以我们需要一个差分放大器。最简单的方案是用一个运放搭成差分放大电路。但这里有个坑:输入阻抗不匹配

我曾经踩过这个坑。直接用单个运放搭差分放大,结果两个输入端的阻抗不一样,导致共模抑制比(CMRR)急剧下降。后来我改用三运放构成的仪表放大器结构,问题才解决。

仪表放大器的经典结构是这样的:

第一级:两个运放构成对称的差分输入
第二级:一个运放做差分转单端

增益公式:G = 1 + (2R1/Rg)

其中 Rg 是增益电阻

实际电路中,我习惯这样设计:

  • 第一级运放:增益设为 10 到 50 倍
  • 第二级运放:再放大 10 到 20 倍
  • 总增益:100 到 1000 倍

为什么分两级?因为单级放大倍数太高,容易自激振荡。而且,分两级可以更好地控制噪声。第一级主要放大信号,第二级再进一步放大。

警告:差分放大电路的电阻匹配精度至关重要。1% 的电阻匹配误差,可能让 CMRR 从 100dB 降到 60dB。我建议用 0.1% 精度的电阻,或者直接用集成仪表放大器芯片。

4.4 抗混叠滤波器设计

信号放大之后,下一步就是滤波。为什么要加抗混叠滤波器?说白了,就是防止高频噪声混叠到低频段,干扰体温测量。

体温信号是直流信号,变化很慢。但环境中充满了 50Hz 的工频干扰、手机射频干扰、甚至开关电源的纹波。这些高频成分如果不滤掉,ADC 采样时就会产生混叠,把高频噪声折回到低频段。

我常用的滤波器设计思路:

  • 截止频率:设在 10Hz 到 100Hz 之间。体温变化不会超过这个范围。
  • 滤波器阶数:二阶巴特沃斯滤波器就够了。阶数太高,电路复杂,而且相位延迟大。
  • 滤波器类型:我习惯用 Sallen-Key 结构。它用运放少,元件少,性能稳定。

一个典型的二阶低通滤波器参数:

截止频率 fc = 10Hz
品质因数 Q = 0.707(巴特沃斯响应)

电阻 R1 = R2 = 100kΩ
电容 C1 = 0.1μF
电容 C2 = 0.22μF

计算验证:
fc = 1 / (2π * √(R1*R2*C1*C2))
   = 1 / (2π * √(100k * 100k * 0.1μ * 0.22μ))
   ≈ 10.7Hz

个人经验:我建议在滤波器后面再加一级电压跟随器。它有两个作用:一是隔离滤波器与ADC的输入阻抗影响,二是提供低阻抗驱动,让ADC采样更准确。

最后,整个模拟信号链的流程是这样的:

  1. 热电堆传感器输出差分信号(几百 μV 到几 mV)
  2. 仪表放大器差分放大(增益 100 到 1000 倍)
  3. 二阶低通滤波器(截止频率 10Hz)
  4. 电压跟随器(缓冲输出)
  5. 送入 ADC 采样

嗯,这一章的内容就到这里。下一章我们聊聊 ADC 选型和采样策略。记住,模拟信号链是体温计的命脉,每一步都要精打细算。有什么问题,欢迎在课程群里讨论。