前言
4-20mA 工业电流环采集是硬件、嵌入式、工控岗位面试高频题目。工业上传感器常用 4~20mA 信号传输,抗干扰强,远距离传输不易衰减;需要把电流信号转换成单片机可采集的 0~3.3V 电压信号。 本电路使用TL431 提供精密基准电压 + 多路 LM358 运放做差分、比例放大、电平抬升,把 4~20mA 电流转换成 0~3.3V 电压,直接给 MCU 的 ADC 采样。
器件清单
- TL431:精密 2.49V 基准源
- LM358D:双路通用运算放大器,图内一共使用 3 片 LM358(U1A/U1B/U3A/U3B)
- R13=100Ω:I/V 转换采样电阻,把 4~20mA 电流转为电压
- 其余电阻:运放比例放大、差分电路、电平偏移网络
电路功能概述
- 输入:工业标准4mA ~ 20mA电流信号
- 输出:0V ~ 3.3V电压,适配 3.3V 单片机 ADC
- 转换关系:
- 输入 4mA → 输出 0V
- 输入 20mA → 输出 3.3V
核心难点:4mA 不是 0 电流,需要电平抬升(偏移),不能直接比例缩放,这也是面试官最爱提问的坑点。
分模块拆解原理
模块 1:TL431 精密基准电压源
TL431 是可控精密稳压源,本电路配置输出2.49V。 12V 电源经 R1 (10K) 给 TL431 供电,TL431 阴极输出稳定 2.49V。 R2、R3 两个 10K 电阻,将 2.49V 分压,送入 U1B 构成的电压跟随器。
U1B 是电压跟随器,作用:缓冲隔离,提高基准带载能力,防止后级电路拉低基准电压。
模块 2:I/V 电流电压转换(U3A)
4~20mA 电流流入端口,流过 R13=100Ω 采样电阻。 根据欧姆定律: \(V_{I\_min}=4mA \times 100Ω = 0.4V\) \(V_{I\_max}=20mA \times 100Ω = 2.0V\)
也就是电流输入转换成电压范围:0.4V ~ 2.0V。
U3A 是同相比例放大电路: \(A_v = 1+\frac{R9}{R8}=1+\frac{5.56K}{10K}=1.556\) 放大之后电压范围: 0.4V ×1.556 ≈0.622V 2.0V ×1.556 ≈3.112V
现在电压区间变成:0.622V ~ 3.112V。 我们目标:4mA 对应 0V,20mA 对应 3.3V。因此需要减去一个固定偏移电压。
模块 3:差分减法电路 U3B
U1B 输出稳定的基准电压,经过 R4 送到 U3B;U3A 放大后的信号经过 R11 送入 U3B,构成差分减法运算电路。 作用:用放大后的信号减去一个固定偏移电压,把 4mA 对应的 0.622V 往下抵消到接近 0V。
模块 4:最终比例缩放电路 U1A
U1A 是反相比例运放,R6、R7、R10、R12 组成比例 + 电平调整网络,把差分输出的信号最终映射到0~3.3V,输出 Port 接到单片机 ADC 引脚。
整体映射逻辑总结: 4mA → I/V 转 0.4V →放大→0.622V →减去偏移 → 0V 20mA → I/V 转 2.0V →放大→3.112V →减去偏移 →3.3V
面试高频提问
Q1:工业为什么使用 4~20mA,而不是 0~20mA?
✅ 核心原因:断线诊断
- 正常最低信号是 4mA;
- 如果线路断线,电流 = 0mA,MCU 检测 0mA 可以判断传感器断线故障; 如果是 0~20mA,0mA 无法区分是 “0 信号” 还是 “断线”。 另外电流信号远距离传输抗干扰强,导线上串联电阻不影响电流大小。
Q2:R13 采样电阻为什么选 100Ω?能不能随便选大一点?
采样电阻越大,同样电流下电压越大,信噪比越高。但是电阻功耗\(P=I^2R\),20mA 时\(P=(0.02)^2\times100=0.04W\)。 电阻取值不能太大:
- 电阻太大,采样电压太高,超出运放供电轨压;
- 采样电阻消耗电压,传感器侧需要足够的供电电压(电流环有最低压降要求,叫 compliance voltage,顺从电压),电阻太大,传感器供电不足无法正常输出电流。
Q3:TL431 在这里的作用是什么?能不能直接用电阻分压 12V 做基准?
TL431 提供温度稳定、高精度 2.49V 基准。 直接 12V 电阻分压,12V 电源本身有波动,分压电压跟着漂移,ADC 采样误差巨大;TL431 基准不随电源波动,保证采集精度。
Q4:U1B 为什么用电压跟随器?直接把 TL431 分压接到后面不行吗?
电压跟随器输入阻抗极高,输出阻抗极低,隔离前后级。 如果直接接后面的电阻网络,基准源会被后级电阻分流,基准电压被拉低,产生采集误差。
Q5:LM358 单电源供电,采集的时候有什么注意事项?
LM358 单电源(这里 12V 供电),输出不能到 0V,存在死区,接近地的时候输出会失真。 本电路通过运放差分偏移设计,避开了运放轨到轨限制;实际工程中要注意,输入信号不能低于运放共模输入下限。
Q6:这个电路最大误差来源是什么?
- 采样电阻 R13 的精度和温漂;
- TL431 基准温漂;
- 所有运放周边电阻的匹配精度(差分电路对电阻匹配很敏感);
- LM358 输入失调电压。
面试口述精简版(面试现场直接背诵)
该电路是 4-20mA 工业电流环采集电路,将 4~20mA 电流信号转换为 0~3.3V 电压给单片机 ADC。 TL431 产生精密 2.49V 基准,U1B 电压跟随缓冲基准。输入电流流过 100Ω 采样电阻 R13 完成 I/V 转换,把电流变成 0.4~2V 电压。U3A 做同相比例放大,U3B 构成差分减法电路,用来抵消 4mA 对应的固有偏移。最后 U1A 运放完成最终比例缩放,输出 0~3.3V 电压。 4-20mA 相比 0~20mA,可以做断线检测,电流信号远距离传输抗干扰强。
工程补充要点
- PCB 布局:采样电阻 R13 要靠近输入端口,电流回路尽量短,减少干扰;模拟地单点接地,数字地分开。
- 可以增加 RC 低通滤波在 ADC 输入,抑制高频噪声。
- 电阻建议选用 1% 精度金属膜电阻,保证差分电路匹配精度,降低采集误差。