运放输入失调电压

在电流低端检测电路中,如果检测很小的电流,输入失调电压 ($V_{os}$) 往往是决定测量精度的“头号杀手”

关于 $V_{os}$

什么是 $V_{os}$ (Input Offset Voltage)

  1. 定义(书本版)

当运放的两个输入端(+ 和 -)完全接地(电位相同)时,理论上输出应该是 0V。但实际上,输出端总会有一个非零电压。为了让输出强行变成 0V,你必须在输入端反向加上的那个微小补偿电压,就是 $V_{os}$。

  1. 工程师的直观理解(模型版)

你可以把 $V_{os}$ 想象成运放内部自带了一个捣乱的干电池,它串联在运放的输入端。

  • 即使外部没有信号,这个“内部电池”也会一直产生电压。
  • 运放分不清哪个是你要测的信号,哪个是这个电池的电压,它会把它们加在一起放大。

为什么在“电流检测”中它很致命?

在低端检测中,我们通过测量采样电阻($R_{sense}$)上的压降来算电流。

$$V_{sense} = I \times R_{sense}$$

悲剧的场景推演:假设你要测 10mA 的小电流,为了减小功耗,你选了 0.1Ω 的电阻。

  1. 有效信号:$V_{signal} = 0.01A \times 0.1\Omega = 1mV$。
  2. 运放误差:假设你用了一个普通的运放(比如 LM358),它的 $V_{os}$ 大约是 2mV
  3. 结果:
    • 运放看到的总输入 = $1mV \text{ (信号)} + 2mV \text{ (误差)} = 3mV$。
    • 误差高达 200%! 你根本分不清这是电流产生的,还是运放自己产生的。

这就是为什么对于小电流检测,$V_{os}$ 必须被严肃对待。

如何处理这个问题?

1. " 钞能力 " 法 —— 选用低失调运放(最推荐)

既然普通运放不行,那就换好的。

  • 普通运放 (General Purpose):如 LM358。$V_{os} \approx 3mV$。(此时不能用)
  • 精密运放 (Precision):如 OP07。$V_{os} \approx 75\mu V$。
  • 零漂移/斩波运放 (Zero-Drift / Chopper):这是终极武器。
    • 如 ADA4528, OPA333, SGM8953(国产)。
    • 它们的 $V_{os}$ 可以低至 1\mu V 甚至更低。
    • 原理:这种运放内部有一个自动校准电路,每秒钟自动校准几千次,把 $V_{os}$ " 切碎 " 并扔掉。

建议:在电流检测电路中,直接选用 Zero-Drift (斩波) 运放是性价比最高的解决方案,省去了复杂的校准工作。

2. " 大力出奇迹 " 法 —— 增大采样电阻 ($R_{sense}$)

如果不想换贵的运放,那就想办法把信号变大。

  • 做法:把 0.1Ω 的电阻换成 1Ω。
  • 效果:10mA 电流产生的压降变成了 10mV。
  • 对比:此时 2mV 的 $V_{os}$ 带来的误差从 200% 降到了 20%。
  • 代价:功耗增加,发热增加。满量程大电流流过时,电阻可能会烧烫,且压降过大可能影响负载供电。

3. " 软件补丁 " 法 —— 软件校准 (Calibration)

如果你必须用便宜的运放,也没法增大电阻,那就靠单片机来补。

  • 做法:
    1. 出厂归零(去皮):在电流为 0 时,读取 ADC 的数值(这个值就是 $V_{os}$ 放大后的结果)。
    2. 存储:把这个偏差值存在 EEPROM 里。
    3. 运算:每次测量时,实际结果 = 读取结果 - 偏差值
  • 缺点:$V_{os}$ 是会随温度漂移的(温漂)。你在 25°C 校准了,到了 60°C,偏差值变了,测量又不准了。

非理想特性

实际上,理想元件不存在,真实元件总带点“毛病”。这也是为什么精密仪器即使什么都不测,开机也得先“归零(Zeroing)”或“校准(Calibration)”的原因

第一类:明明没给输入,它却有输出 —— “零点偏置” (Zero Offset)

这和运放的 $V_{os}$ 是一模一样的亲兄弟。

  1. 传感器(重灾区)
    • 现象:你买一个电子秤(压力传感器),上面什么都没放,它却显示 0.05g。你买一个陀螺仪,放在桌上纹丝不动,读数却显示它在以 0.1度/秒 的速度旋转。
    • 术语:零点漂移 (Zero Offset / Zero Drift)
    • 原因:传感器内部的微机械结构(MEMS)或惠斯通电桥不可能做得完全对称。
  2. ADC(模数转换器)
    • 现象:你把 ADC 的输入端短路接到地(0V),你期望读出来的数字是 0000,但实际读出来可能是 0003
    • 术语:失调误差 (Offset Error)
    • 原因:ADC 内部比较器的不匹配。

第二类:明明关断了,它却在偷偷导电 —— “漏电流” (Leakage)

理想情况下,断开就是断开,电阻无穷大。但现实中,没有绝对的绝缘。

  1. 二极管 / 三极管 / MOS 管
    • 现象:你把二极管反接截止了,理应没有电流。但实际上,总会有微安(uA)甚至纳安(nA)级的电流偷偷流过去。高温下这个电流还会翻倍。
    • 术语:反向漏电流 ($I_R$)关断漏电流 ($I_{DSS}$)
    • 影响:这就是为什么电池供电的设备,关机放一年电池也会没电。
  2. 电容
    • 现象:你给电容充饱了电,拔掉电源放在那儿。理论上电荷应该永远存着,但过几天它就没电了。
    • 术语:自放电绝缘电阻 (Insulation Resistance)
    • 本质:电容内部相当于并联了一个很大的电阻(几百兆欧),一直在偷偷放电。

第三类:明明没通电,它却在“吵闹” —— “热噪声” (Thermal Noise)

这个最神奇,属于物理定律层面的“偏置”。

  1. 电阻
    • 现象:拿一个电阻放在桌子上,两头接上示波器(假设示波器精度无限高),你会发现电阻两端竟然有微小的电压波形在乱跳!哪怕你根本没给它通电。
    • 术语:约翰逊噪声 (Johnson Noise)
    • 原因:只要温度高于绝对零度,电阻内部的电子就会做热运动,这种无规则运动就产生了电压噪声。
    • 影响:这是精密信号测量的物理极限,你永远无法消除,只能通过降温(比如液氮冷却)来减小。

工程师的应对哲学

既然这种“自带偏置”无法避免(因为是制造工艺和物理定律决定的),工程师们是怎么解决的呢?通常有三板斧:

  1. 硬件上“差分” (Differential):
    • 既然大家都有偏置,那我就用两路一样的电路。假设都有 +0.1V 的误差,那我用 $A - B$,误差就相减抵消了。这是差分放大电路的核心思想。
  2. 软件上“校准” (Calibration):
    • 出厂校准:生产时先测出这个误差(比如 +2mV),写进芯片里。以后每次读数都自动减去 2mV。
    • 上电自校准:现在的万用表、电子秤,开机时都会自检一下零点,把你说的那个“自带偏置”当成当前的“0”。
  3. 工艺上“配对” (Matching):
    • 在芯片制造时,如果需要两个电阻一样,就把它们画得挨得很近,形状一模一样。虽然它们都不准,但它们“不准的程度”是一样的,这样在电路里也能用。
Licensed under CC BY-NC-SA 4.0