电流感应 nA 至 mA

电器工程 微控制器 电流感应
2022-01-30 17:01:51

我需要通过其开/睡眠/关状态的各个时期来感应目标MCU的电流,然后需要将此数据发送回另一个接口 MCU 以读出该值。它们都在同一个板上,由 5 V USB 供电。

但是,这些是我的要求:

  1. 5 V USB 电源
  2. 必须能够以高精度/高精度感测 nA 至 mA 范围内的电流。(我认为 1 nA 到 500 mA)
  3. 只测量目标MCU的电流,不测量接口。
  4. 必须输出最大 3.3 V 接口 MCU

我查看了可用的选项,德州仪器 (Texas Instruments) 的电流检测放大器由于偏置电流较高而无法检测 nA。因此,我觉得我需要一个精密放大器。

但是,我坚持如何进行此操作,因为我需要以某种方式具有自动动态电流范围,而且我对电流感应相当陌生,并且不确定所有细节。

4个回答

TL;博士

提出了一种基于稳压器拓扑的电路,该电路在任何容性负载中都很稳定,其中包括一个与输出电流串联的二极管。该二极管上产生的电压名义上是电流的对数,它允许在单个电压范围内测量非常宽的电流范围。在仿真中已经证明了出色的动态稳定性。

在低电流下,电路噪音大且速度慢(没什么大不了的)。目前的结果显示,在低电流下,噪声约为 +/- 5% rms,对于 1uA 及以上的电流,建立时间为 10uS,对于低至 1nA 的电流,建立时间增加到 1 秒。

/TL;博士

我怀疑你不需要高精度。您之所以认为您这样做,是因为从 nA 到 500mA 的巨大范围。显然,500mA 时 +/- 1nA 需要极高的精度。我怀疑 500mA 时的 +/- 10% 和几个 nA 时的 +/- 10% 和一个覆盖两者而无需切换的单一范围会很有用。

我最初作为建议提出的最初想法显示在帖子底部以供参考。

不幸的是,它有一个致命的缺陷。虽然它可以很好地指示 1nA,但随着电流的突然增加,运算放大器输出最初不会移动,因为它的内部补偿和 C1。结果,输出电压会暂时下降超过 1v(需要让电流流过 Q1 和 D1),这会使任何由该线路供电的 MCU 严重尴尬。

“解决方案”是将 MCU 导轨去耦电容纳入分析。然而,MCU 线上的额外 C 会引起不稳定,因为它与运算放大器反相输入分流,并且在我们想要的宽范围内实际上无法补偿。

所以下一个想法是“这基本上是一个跨阻放大器,尽管有一个非常非线性的反馈电阻,它们是如何稳定的?” 快速搜索那些让我看到 Bob Pease 的文章(Nat Semi 的 RAP,Bob Pease - 任何模拟设计师都必须阅读。如果您从这个答案中没有得到任何其他内容,请挖掘并阅读他的一些东西!)

很明显,运算放大器反相节点上的假设电容虽然与 pF 相比很大,但与我们在 VCC 线上可能发现的 10uF 相比非常小,并且高速调整假设一个恒定的反馈电阻,所以这种拓扑结构是行不通的。

所以我想,如果我们不打算在电流变化时使 MCU 掉电,它必须像稳压器一样工作。我回顾了 LDO 的钽电容与陶瓷输出电容的问题。依靠钽的半欧姆 ESR 来保持稳定的架构对于陶瓷来说是不稳定的。当拓扑更改为容忍陶瓷的零 ESR 时,它们可以容忍任何高于指定最小值的大值。

为了应对大输出电容器,它被设计为主导极点,输出电流源将其变成积分器,使控制链的其余部分保持小于 45 度的相移。一旦完成翻转,输出电容可以任意大,LDO 仍将保持稳定。稳压器的输出电容器在电流变化事件期间提供所有电压保持。

现在我搜索了 LDO 应用笔记。这是新设计的结果。它与 DC 概念中的原始模型大体相似,但围绕输出电容器构建,并使用为陶瓷设计的 LDO 所采用的技巧,以获得足够的稳定性。

在此处输入图像描述

分析

Q2为串联通PNP器件,配置R2为电流输出。该特定类型是 LTSpice 库中的 1 Amp、200 hfe 150、50v、400MHz ft 相当烹饪级的部件。I1 将其偏置到标称 10mA,以在突然需要从零增加电流时降低所需的 delta V,并提供大量电流吸收器以应对电流输出的突然减少。

D1 是我们的老朋友,输出电流产生对数电压的非线性元件。我在图书馆中使用了 1n4148。它与 R1 连接,定义电流范围的底端(1nA 为 10mV),D3 用于在电流突然减小时捕获反向电压,C2 用于提高稳定性和输出过冲。请注意,如果将 1N4148 替换为更强大的 1n400x 类型,它们的较高电容将完全被 C2 吸收,因此为稳定性建模已经足够好。

我会建模一个 TL071。我首先尝试了一个 GBW 为 1.5MHz 的 LTC1150,但很难获得合理的稳定性。然后我切换到所示的 LT1022。这在 8MHz GBW 时要快一些,但周围有很多更快的部分。

正如 LDO 应用说明中所建议的,它周围的网络包括用于检测 0v 的 R3、用于稳定的 C3 以及用于将零添加到 C3 的 R4。有了这些值,由hope'n'poke 得出,它已经不错了。我相信通过一些适当的分析可能会更好。与其使用更快的单位增益稳定放大器,不如使用失补偿的放大器。

它看起来确实足够稳定。任何构建此电路以在愤怒中使用的人都可能会发现一些更多未建模的寄生效应会降低稳定性,但我建议他们从更快的放大器开始,给自己更多的肘部空间。

I2 为演示提供与时间相关的电流负载。从参数字符串中可以看出,它以 100nS 的上升时间将 100pA 转换为 100mA(因此在 10MHz 的一个周期内改变电流),然后再返回。二极管 D2 为模拟提供了一种方便的方式来显示对数电流,它不是目标电路的一部分。

在进行模拟时,我更喜欢将所有“动作”都设置在 0v 左右,因此对于此处显示的 -5、0v 和 +5v 轨道,分别为 OP 的应用程序读取 0v、+5v 和 +10v。

这是整体瞬态图

在此处输入图像描述

对于 100pA,输出电压的初始 DC 值为 0.5mV,当我从 1nA 开始时,它大约为 5mV,因此我们在 1nA 及以下水平上有明显的辨别力。

当电流增加时,测量值会有轻微的过冲。

当电流减小时,压摆会达到二极管限制。从 100mA 切换到 100pA 时还有一个 20mS 的读数拖尾,我不知道如何改进,也许有人有建议。当切换到 10nA 时,尾部仍然存在,但当切换到 100nA 或更大时,尾部不存在。对于这个应用程序,我想这没关系。

在接下来的三幅图中,我们着眼于所有重要的输出轨电压稳定性。

从 100pA 增加到 100mA

在此处输入图像描述

上升轨瞬态仅为 12mV,且无跳动。对于如此剧烈的电流变化,您不会发现许多商业 LDO 能够提供这种性能。

并在再次下降到 100pA 的路上

在此处输入图像描述

如果没有 D3 提供反向传导,Vmeas 会在一段时间内摆动到 -ve 轨,而不是摆动到 -0.6v。

在此处输入图像描述

下降轨瞬态也被限制在 12mV。您可以看到由 I1 电流吸收导致的速率限制向下摆动。

我不会说这是一个原则证明,但我认为这是一个很好的合理性证明。模拟包括很多寄生效应、Q2 Miller C、运算放大器的补偿,以及与 LDO 相媲美的性能,我认为这是开始开发可以在不同电流下为 MCU 供电的东西的一个很好的基础,读取大范围。

这将 Vmeas 显示为输出。如原始帖子中所述,如果在相同温度下相对于另一个二极管进行测量,则热精度将得到提高。Vmeas 是低阻抗输出,因此使用简单的差分放大器非常简单。

和以前一样,用阻值较低的电阻器替换 R1 将针对 D1 不导通的电压提供更准确的线性范围输出。

噪音问题

现在已经开发出稳定的电路,我们可以开始研究噪声了。下图显示了运算放大器输入的增益,在 C2 上安装了一个 1nF 电容器。曲线涵盖 100pA 至 100mA。100pA 和 1nA 曲线在亮蓝色下无法区分,非常接近红色的 10nA 曲线。1uA为粉红色,1mA为深蓝色,100mA曲线最低为紫色。

在此处输入图像描述

使用 LTSpice 的 .noise 仿真,并使用 .measure 在 10mHz 至 10MHz 的带宽内积分输出噪声,为 C2 使用 33nF 电容器,在 1nA 至 100uA 的电流下产生相对恒定的 2mV rms 噪声,随着电流的增加噪声下降在 100mA 时约为 100uV rms。

C3 值增加的代价是电流逐步减小后的稳定时间增加。达到最终值 1mV 以内的时间约为 10mS 至 1uA、60mS 至 100nA、500mS 至 10nA 和 900mS 至 1nA。

目前的运算放大器 LT1022 在 1kHz 时要求几十个 nV。前面提到的 Bob Pease 的跨阻放大器文章表明,3nV 与低电流 FET 输入是可行的,使用分立的低噪声 FET 作为复合放大器的前端。使用这种改进的运算放大器应该可以将噪声水平降低一个数量级。

这是原来的建议,供参考。

示意图

模拟此电路- 使用CircuitLab创建的原理图

运算放大器将使电流通过 Q1 和 D1 以将输出电压保持在 5v,因此您的 MCU 始终看到其正确的工作电压。

您在两个二极管之间测量的电压与 D1 电流与 D2 电流之比的对数成正比。虽然您可以单独使用 D1 两端的电压,但它取决于温度。此方法使用 D2 来补偿这种依赖性。

必须能够以高精度/高精度感测 nA 至 mA 范围内的电流。(我认为 1 nA 到 500 mA)

和....

我需要通过它的开/睡眠/关状态的各个时期来感测目标 MCU 的电流

好的,假设您将在电源中放置一个小值电阻器,该电阻器在 500 mA 时不得“下降”超过(例如)0.1 伏。如果它确实降低了显着的电压,那么您正在影响测量,并可能导致目标设备在过低的电压下运行。

因此,500 mA 和 0.1 伏需要一个电阻值为 0.2 欧姆的电阻。现在,该电阻在馈入 1 nA 时将产生 0.2 nV 的测量电压。

你看到第一个问题了吗?没有真正便宜且可靠的技术可以做到这一点,因为任何运算放大器的噪声都会比您尝试测量的噪声大得多,并且鉴于您似乎想要进行动态测量,您所需的带宽可能是几十kHz,您将只测量噪声!

编辑 - 对数放大器注意事项

  1. 假设噪声带宽为 10 kHz(大约为 7 kHz 信号带宽,以便充分测量目标电流的变化),意味着具有 1 nV/sqrt(Hz) 电压噪声的运算放大器在同相输入。具有如此低噪声值的运算放大器确实是一种罕见的野兽,并且会带来许多其他问题,这些问题将困扰该设计。
  2. 在反馈环路中使用二极管看起来很有吸引力,但在大约 100 nA 左右被传送到负载时,它的两端可能会有 300 mV。作为阻抗,它设置了运算放大器电路的噪声增益。因此,300 mV / 100 nA 是 3 Mohms 的动态电阻,该电阻值只会在电源电流低于 100 nA 时增加,即在较低电流时情况会变得更糟。
  3. 该电阻(反馈电路中二极管的动态电阻)与负载的动态阻抗一起在运算放大器电路中产生噪声增益,因此,如果负载的动态阻抗为 1 ohm,则噪声增益为3,000,000(假设运算放大器可以提供这种开环)。
  4. 运算放大器输入噪声(如上所述)为 100nV RMS 或(使用 6 sigma),600nV pp。由于二极管阻塞,其中一半被丢弃,因此留下 300nV 放大 3,000,000,因此可能产生峰值电压0.9 伏。
  5. 这是可以在对数放大器输出端看到的“潜在”噪声电压。然而,如果电压噪声上升到 300 mV 以上,则二极管的动态阻抗从 3 Mohm 下降,增益降低,​​所有这一切的结果是峰值噪声电压可能会在最大约 400 mV 处找到峰值电平。但是,到那时(0 nA 到 100 nA),所有的赌注都在试图获得任何体面的测量值。

如果负载的动态阻抗为 10 欧姆(而不是 1 欧姆),那么情况就不同了,但考虑到电源轨上可能存在 100 nF 电容并且可能存在更高的值,这将是可能的。

找到一个具有如此低电压源噪声且输入噪声电流非常低的运算放大器会有多难?另请记住,对于大多数运算放大器,噪声电压会随着频率降至(约)100 Hz 以下而急剧上升,因此这是一个真正的问题。

因此,为了使对数放大器工作,必须显着限制带宽,但这是否让 OP 有机会在(例如)目标 MCU 执行不同的例程时充分测量电流的动态变化?

只要您不需要快速切换增益。当您到达范围的顶端和底端时,您可以使用继电器来切换反馈电阻的 TIA 运算放大器电路。对于典型的运算放大器来说,要高于 ~10-30 mA 是很困难的,因此需要更多考虑高范围。您需要感应双极电流吗?

在没有显着精度损失的情况下测量如此宽范围的电流需要具有可调电阻的电流检测电路。通常,它要么是一组具有不同值的电阻器与 FET 配对,要么只是串联连接的 FET 晶体管。该电路由反馈回路驱动:当测量的电流发生变化时,任一电阻值切换或调整 FET 栅极电压。安捷伦在他们的一些电源中实施了后一种方法。