在工业物联网(IIoT)、PLC 数据采集和过程控制系统中,4-20mA 电流环0-10V 电压信号是传感器输出的两大“绝对主力”。然而,在实际硬件设计中,工程师常常面临以下痛点:

  1. 现场接线错误导致高压窜入,瞬间烧毁 MCU 的 ADC 引脚;
  2. 变频器、开关电源带来的高频 EMI 毛刺让 ADC 采样数据疯狂跳变;
  3. 为了兼容 4-20mA 和 0-10V,不得不设计两套独立的硬件通道,导致 BOM 成本和 PCB 面积翻倍。

如何用单通道完美兼容这两种信号,并构建坚不可摧的模拟前端(AFE)?本文将深度拆解一款基于 Sallen-Key(塞林更)二阶有源滤波的工业级通用模拟量输入调理电路,为你提供一套可直接落地的实战方案!


一、 电路全局拓扑定性

在这里插入图片描述

本电路以 MCP6001UT(单通道 3.3V 轨到轨 CMOS 运放)为核心,构建了标准的 Sallen-Key 二阶低通滤波放大网络
它不仅仅是一个滤波器,更是一个集成了 I/V 切换转换 + 输入过压钳位保护 + 二阶有源滤波 + 小幅增益放大 + ADC 抗混叠 的全功能模拟前端。


二、 核心模块深度拆解

1. 输入切换:单通道复用 4-20mA 与 0-10V 的“魔法”

如何在同一个端子上兼容电流和电压输入?秘诀在于 Q2(Si2302 N-MOS 管) 构成的电子开关。

  • 电压模式(0-10V 输入)
    MCU 控制 U/I_SW2 输出高电平 → \rightarrow Q2 导通 → \rightarrow 采样电阻 R65 (250Ω) 下端接地被短路。外部 0~10V 电压信号直接通过 R63 送入后级运放。
  • 电流模式(4-20mA 输入)
    MCU 控制 U/I_SW2 输出低电平 → \rightarrow Q2 关断 → \rightarrow R65 悬空接入回路。4~20mA 电流流过 R65 (250Ω) 实现 I/V 转换:
    4 m A × 250 Ω = 1 V 4mA \times 250\Omega = 1V 4mA×250Ω=1V
    20 m A × 250 Ω = 5 V 20mA \times 250\Omega = 5V 20mA×250Ω=5V
    成功将 4-20mA 转换为 1V~5V 的电压信号。
  • 辅助设计:R71 (10K) 为 MOS 管栅极下拉电阻,确保上电或 MCU 复位时 Q2 可靠关断(默认电流模式);C48 (0.01uF) 构成输入一阶 RC 预滤波,初步抑制高频尖峰。

2. 输入保护:BAV99 构建的“硬件防弹衣”

工业现场最怕工人接错线(如误接 24V 电源或产生负向浪涌)。

  • 双向钳位:D15 采用 BAV99W(双通道高速二极管),一端接 3.3V,一端接 GND。
    • 当输入电压 > 3.3 V > 3.3V >3.3V 时,上管导通,将电压死死钳位在 3.3V;
    • 当输入电压 < 0 V < 0V <0V 时,下管导通,将电压钳位在 GND。
  • 限流泄放:R63 (10K) 作为限流电阻,配合 BAV99 限制并泄放冲击电流,确保后级运放和 MCU 绝对安全。

3. 核心大脑:Sallen-Key 二阶低通滤波与放大

这是本电路的灵魂所在。元件参数配置为:R64=3K, C49=0.01uF;R66=10K, R67=3K, C54=0.01uF。

(1) 结构判定与优势

同相输入端由 R64+C49 构成一阶 RC,反馈支路由 R66、R67、C54 构成二阶网络。标准的 Sallen-Key 拓扑拥有 -40dB/十倍频 的滚降斜率,相比普通一阶 RC(-20dB/十倍频),其对高频噪声的抑制能力提升了整整 100 倍

(2) 电压放大增益计算

Sallen-Key 同相放大增益公式为:
A v = 1 + R 反馈下 R 反馈上 A_v = 1 + \frac{R_{反馈下}}{R_{反馈上}} Av=1+R反馈上R反馈下
(注:根据电路增益为 1.3 倍的设计意图,反馈网络电阻比例配置为 3K/10K)
A v = 1 + 3 K 10 K = 1.3  倍 A_v = 1 + \frac{3K}{10K} = 1.3 \text{ 倍} Av=1+10K3K=1.3 
设计巧思:4-20mA 转换后的电压是 1~5V,经过 1.3 倍小幅抬升放大后,能够更好地适配后端 3.3V 单片机 ADC 的采样量程,提高 ADC 的有效分辨率。

(3) 截止频率估算与定位

当两电容相等( C 49 = C 54 = C = 0.01 μ F C49=C54=C=0.01\mu F C49=C54=C=0.01μF)时,截止频率近似公式为:
f c = 1 2 π R 64 × R 66 × C 2 f_c = \frac{1}{2\pi \sqrt{R64 \times R66 \times C^2}} fc=2πR64×R66×C2 1
代入参数计算,本电路的截止频率约为 2.9kHz

⚠️ 工程避坑提示
很多新手以为加了 Sallen-Key 就能滤除 50Hz 工频,这是错的!2.9kHz 的截止频率主要作用是滤除开关电源的高频开关毛刺和 EMI 射频干扰。若要专门死磕 50/100Hz 工频干扰,必须看后文的“优化建议”。

4. 输出抗混叠与运放供电

  • 末级 RC 抗混叠:运放输出端增加 R61 (10R) + C47 (100pF) 极小的一阶 RC 低通。这能滤除运放自身的高频自激毛刺,平滑波形,防止 ADC 采样时发生频谱混叠。输出信号 AI2-AD 直连 MCU ADC 引脚。
  • 电源去耦:MCP6001 是 3.3V 轨到轨运放,C46 (0.1uF) 紧靠电源引脚,稳定运放供电,抑制电源线上的 100Hz 整流纹波。

三、 本电路与“差分采样电路”的本质区别

很多工程师会问:这个电路和之前讲的“单运放差分放大电路”有什么区别?

对比维度 单运放差分放大电路 本电路(Sallen-Key 通用调理)
处理信号类型 差分信号(如板级 shunt 电阻两端的 mV 级压降) 单端信号(如外部引入的 4-20mA / 0-10V 标准模拟量)
核心抗干扰机制 抑制共模噪声(长线传输引入的共模干扰) 抑制高频 EMI 与差模噪声(侧重滤波与量程切换)
输入阻抗 相对较低(受限于分压电阻网络) 极高(同相放大结构,不会衰减外部标准信号)
典型应用场景 电机驱动、BMS 母线电流闭环控制 PLC 模拟量输入模块、工业物联网网关数据采集

四、 针对 50Hz 工频干扰的工程优化建议

如前文所述,本电路 2.9kHz 的截止频率对 50Hz 工频衰减极小。如果你的工业现场有大型变压器或变频器,导致 50Hz/100Hz 工频纹波让 ADC 数据跳变,必须采用以下两种优化方案之一

方案 A:级联低频 Sallen-Key 低通(推荐用于缓变信号)

如果采集的是温度、压力、液位等慢变直流信号(有效带宽 < 20Hz):

  • 做法:在 BAV99 钳位保护之后,额外增加一级截止频率为 10Hz ~ 30Hz 的 Sallen-Key 二阶低通滤波器。
  • 效果:0~20Hz 有用信号无损通过,50Hz 工频被衰减 40dB 以上(噪声幅值压缩至 1% 以内),ADC 数据稳如老狗。

方案 B:增加 50Hz 陷波滤波器(推荐用于交流/快速信号)

如果采集的是交流电流变送器输出的信号,或者系统要求较快的响应速度(有用信号带宽包含 50Hz 附近):

  • 做法:引入基于 Sallen-Key 双二阶拓扑的 50Hz 陷波滤波器(Notch Filter)
  • 效果:精准在 50Hz 频点“挖一个深坑”做深度衰减,只剔除工频干扰,完美保留全量程的高频有用信号。

五、 全文总结

设计一个优秀的 4-20mA/0-10V 模拟量采集电路,绝不仅仅是“接个电阻连到 ADC”那么简单。它需要:

  1. MOS 管切换实现单通道双量程复用,降本增效;
  2. BAV99 钳位提供硬件级防呆防烧毁保护;
  3. Sallen-Key 拓扑提供极低输出阻抗和强悍的高频 EMI 滤除能力;
  4. 合理的频带规划,通过级联低频滤波或陷波器彻底解决工频干扰。

更多推荐