如何测量小的尖峰电流?


13

假设我有一个连接了一定数量外围设备的微控制器,并且希望能够对电池寿命做出合理的估计。因为我有时可能会入睡,并且各种外围设备处于不同的状态,所以我的电流消耗可能在uA(处于睡眠模式)和大约10s mA(唤醒时)之间变化。

现在,我可以装上一块电池,让它用完并测量时间,但这使得在固件和硬件上比较不同的方法既费时又费力(并且可能很昂贵)。

我可以将万用表串联放置,但是即使它有数据记录功能,也要间隔一定的时间,并且我必须进行插值,并且可能会完全错过小于该间隔的变化。(加上负担电压等)。

如果我的设备足够睡眠,则唤醒电流可以忽略不计,但这可能需要1000:1的睡眠时间与唤醒时间之比,因此并非所有设计都可以。

是否有一些可以随时间推移以很小的电流积分的设备(例如,不是千瓦特电表)?基本上,我很想知道“在过去的一个小时中,消耗了20mAh电量”。如果我可以在任何给定时间获得精确的电流测量值,以比较清醒和睡眠时的电流消耗,则可得到加分。


3
@ Sparky256您在说什么?假设有足够的去耦电容器,那么10 kHz的采样率就足够了。假设每个样本使用16位,每秒仅产生20 kB。任何现代的16位或32位微控制器都可以毫不费力地将其写入SD卡,而我的PC可以将数的时间存储在RAM,SSD或硬盘驱动器上。这不是1960年代!甚至Vince的1MS / s速度……对于使用软件定义无线电的人来说都是可笑的。
MarcusMüller18年

5
@ Sparky256,我有一个16通道的NI Labview系统,它可以以200 ksps的速度记录16通道的16位DAC读数,直到1 TB硬盘驱动器装满为止。这就是您要支付多少钱。
文斯·佩特隆

3
@ Sparky256当然,名牌DAQ卡很昂贵。为此,可以使用一个非常简单的设备-甚至可能是声卡(带有桥接耦合帽),并且在另一个立体声通道上具有参考电压。
MarcusMüller18年

4
对不起,积分不需要存储数字化的电流样本,这就足以保存累积的积分-一个和。1MSa /秒或1Sa /秒,一秒的积分时间或一周的时间,几字节的内存就足够了。
user287001

6
我还没有看到有人提到库仑计数器,在这种情况下,这似乎是一个不错的主意
BeB00

Answers:


13

好吧,当然有特定的电流感应IC。在您的情况下,我会“简单地”执行类似的操作:

  • 在电池和电子设备之间使用一个较小的串联电阻(例如0.5Ω)。
  • 用仪表放大器放大电阻两端的电压
  • 记录电压,例如使用ADC

问题:

  1. 低电流·低电阻=低压:由于噪声,您的测量精度会变差
  2. 由于微控制器的唤醒速度非常快,而睡眠也同样快,因此您的ADC采样率一定需要很高。

但从原理上讲,这是可行的,并且肯定是可行的(尽管设计稳定,低噪声,高放大率的仪表放大器可能并不简单;但是:现有的仪表放大器IC使得这一点变得容易得多)。

幸运的是,您的问题很普遍。所以:包括德州仪器(TI)在内的许多公司都提供电流检测放大器产品组合,其中一些集成了上述并联电阻和数字接口。请参阅TI的产品清单

实际上,这些IC能够同时测量电流和电源电压-实际测量汲取功率非常有用,如果存在非线性因素(例如, ,MCU)。

例如,INA233可以连接到外部分流器(比方说0.3Ω),每ADC步长的分辨率为2.5 µV。这意味着,单个ADC步骤的电流为I = U / R = 2.5 µV / 0.3Ω= 8.333 µA。

我认为该设备还具有自动采样和平均模式,因此即使在快速变化的负载下也可以轻松获得良好的近似值。

而且,正如我刚刚发现的那样:事物具有“警报”级别,因此,只要电流超过可配置的阈值,就可以唤醒测量系统。真好!这样,您只需要偶尔采样即可。


可以通过模拟积分器交替解决高采样率的需求,该模拟采样器先采样后再以较低的速率复位?
菲尔·弗罗斯特

请注意,没有任何一家电池供应商具有相同的泄漏,容量和双层效应或ESR比。因此进行预测。容量与电流放电的Ah不可能一概而论。除非数据表中明确规定,否则必须对其进行测试。
Tony Stewart Sunnyskyguy EE75,2018年

@PhilFrost我喜欢这个主意,但也担心整合的不准确性!但是我很确定,至少在某种程度上,这是可行的!
MarcusMüller18年

7

是否有一些可以随时间推移以很小的电流积分的设备

是的,有几个;最古老的是电镀池(电镀金属的质量代表安培小时),Edison专利,最近使用了电解池(气体积聚在毛细管中)。这些完全等同于长时间使用后分析电池。

如今,使用数字化。

如果您希望波动快于数字采样率,那是可以解决的。可以安排一条两分支的电流路径,其旁路电流传感器的高频电导(一个电容器)和一个并联的低频电导(电感器和电流检测元件)。

如果您期望持续时间短的小电流(这会破坏数字采样粒度),那么这也是可以解决的。向直流电流信号中添加一个小的直流加白噪声源,一小部分位的电流会长时间(统计上)导致正确的数字累加。带抖动的ADC图。5a 但是,必须校准掉添加信号的直流部分。伪随机噪声源对于这种“抖动”很有用。

数字化和累加到寄存器中(就像“杀电”一样)可以使用容易获得的组件工作,并且有些欺骗会驯服其错误测量的潜力。


7

快速又肮脏:超级电容器!(还搜索超级电容器。)它们将为系统供电,并随着时间的流逝而显示积分电流。

您正在考虑使用什么处理器Vdd和/或电池电压?当然,电容器自然会积分电流,如果使用几法拉超级电容器代替电池电源,则可以测量随时间下降的电压,并精确确定长期平均微安。

如果您的设计需要恒定的Vdd,请选择一个足够大的超级电容值,以使测试运行时电压仅下降XX%。根据平均电流,您也许可以省下几个美元的电容器。例如,几伏特的4.7法拉是多余产品目录中的常见超级电容。(Sparkfun有大约10法拉,最大尺寸是Electronic Goldmine在2.7V时的3000法拉升电容。)将它们串联起来以获得更高的电压限制。


3
超级电容的漏电流会随电压和温度的变化而发生很大的变化,OP必须对此加以考虑。
德米特里·格里戈里耶夫

2
@DmitryGrigoryev好点。单独使用裸电容器运行测试,计算泄漏电流,然后在连接有CPU板的情况下再次进行测试。别忘了:快速又肮脏,而不是复杂而高精度。如果他需要在1%以内知道答案,请去精心设计的主动积分器等
。– wbeaty

随机运行几次测试,有些带有或不带有cpu板;然后计算均值差及其置信区间。/ statistician
nekomatic

然后对多个爱好者cpu项目进行荟萃分析,以检测是否有任何群体通过丢弃异常值而造成偏差。
wbeaty

4

如果期望较大的动态范围,则可以选择使用对数跨阻放大器(例如LOG114)流动的电流镜。调谐良好的电路可以获得超过6年的测量范围。电流镜后可通过电容器调整积分。

这是一个更复杂的解决方案,并且当电池电量发生明显变化时,大电流下的分辨率会降低。精确度与直线,比例感应的关系取决于您在低电流下花费的时间比例。

此外,您可以对ADC分辨率进行蛮力测试。24位或32位可以覆盖4年而没有问题。


3

对于您的粗略测量(可能为+/- 10%或20%)。

只需将电阻与电源串联,然后将其与电容器并联,即可产生足够大的时间常数,以使采样率不会丢失大量数据。例如,如果您以100Hz采样,则可能会选择0.2秒的时间常数。可能是电解电容器,最好使用低阻抗类型,如果脉冲短于大约10us,则可以将其与1uF-10uF陶瓷并联。该值是非关键的,它必须足够高。选择电阻器,使其不会跌落太多电压,从而不会影响操作,但会产生足够的信号,您可以进行合理的测量。

无需分析放大器或任何其他东西的上升和下降时间-电阻器和电容器即可完成工作。

请记住,依赖于电池是“尖刺”脉冲的低阻抗源的操作会在电池实际耗尽之前失败-将电池与电容器并联会(有时会大大延长)使用寿命-电池内阻随着耗尽而增加。


另外,请记住,如果您的接通时间很短且待机电流很低,那么在不连接电路的情况下测量电流将是一个好主意,只是为了使电解电容的泄漏为零即可。我们粗略地计算了偶发有源控制器的MCU设计,并且通过100 nF 陶瓷电容的泄漏电流高于MCU的平均功耗。
MarcusMüller18年

Ω

是的,这已经过去两年了。但是,也许它是损坏的(尽管我不确定哪种损坏会大大增加泄漏。让您怀疑我在某处是否存在系统错误)。MCU是一些飞思卡尔超低功耗设备,它以最低时钟速度打开了几十微秒,然后完全关闭(不包括RAM和中断源),主要持续了几秒钟到几分钟。红外通讯“珠宝”的原型尚未完成。
MarcusMüller18年

3

我的建议可能是矫kill过正...但是,如果您发现标准/廉价解决方案只是没有足够的动态范围,或者如果您定期进行此类测量,则可能需要看一下这种非常整洁的设备:RocketLogger

它由苏黎世联邦理工学院开发和开源。他们称其为“用于便携式测量的精密混合信号数据记录器”。这是一款基于Beaglebone SBC的便携式电流和电压记录仪,具有很高的动态电流范围。

  • 2个电流通道,具有4 nA至±500 mA的高动态范围
  • 4个电压通道,测量范围为13uV至±5.5V
  • 等等...

免责声明:我与设备的创建者无关。


3

库仑计数可通过在至少1个重复周期的测量间隔内测量来自已知电荷Q = CV的电压降引起的存储电荷变化来完成。

首先,必须以最小的瓦特秒或焦耳为单位定义电池寿命,以便可以选择所需的总充电寿命能量。

其次,库仑计数法必须 通过某种测试方法在较短的时间间隔(例如1小时左右)中足够准确,如果这可以平均睡眠和脉冲活动的重复周期,以便可以针对能量优化软件效率。

例如,电池的存储寿命可能是或可能是;每次充电之间,主要是1年,次要是1天,但应该指定。

第三,我们可以使用低泄漏帽来更快地计算库仑吗?如在1小时内?
如果期望漏极的平均电流为20mA / h avg,而仅下降0.1V,则需要什么值C?C = Ic * dt / dV = 20mA * 3600s / 0.1V = 700法拉

如果可能,请选择一个具有此电容范围的部件,例如3V CR123A电池,然后验证库仑计数方法并监控电压。

或者,可以从设计中感应电流并使用电流内容来精确计算库仑数。


3

问题的一小时部分使这一点变得有些困难-但是,如果您的设备正在做周期性的事情(例如大多数嵌入式工作),则实际上并不需要它。

因此,让我们彻底矫kill过正,只是为了说明您可以买到什么。使用Keysight CX3300,您可以采样高达200 MHz模拟带宽和1 GSa / s的电流波形。结合256 MSa的内存,您甚至可以在一小时内获得不错的采样率。价格当然有点高,起价为33,000美元,探头起价为4,800美元。

我通常走的一条便宜的路是将示波器与诸如N2820A这样的电流探头一起使用 -这将使您回到大约4,200美元,并且您无法获得相当的模拟带宽(高达3 MHz),但是我发现了真的有用。这将为您提供一个通道,该通道具有低电流测量值和一个具有高电流测量值的通道,因此分析需要一些手动计算。

我敢肯定,像上述Keysight产品一样,不同制造商也提供类似的产品。

由于我的示波器没有大量内存,因此我通常要做的是测量活动的一个周期并从那里进行计算-我们的设备周期不长,因此效果很好。

如果我需要使用自动Wh计算来进行长时间测量,则可以使用值得信赖的Gossen Metrahit Energy,即使在低电流情况下也能发挥出色的作用。但是数据记录不适用于高度可变的电流,因为采样率不是很高。

当我吹嘘一些昂贵的设备时,请不要误解这个答案,这表明那里有可以满足要求的专业测试设备-因为其他大多数答案都集中在自己做(可能会造成麻烦)如果您不只是为自己进行快乐的测试)。

我与Keysight或Gossen没有任何关系,我只是他们产品的满意用户。


2

以@marcusmuller的出色答案为例,并将输出反馈给积分器。在开始之前将电容帽置零,并测量累积的mAh或uAh作为直流电压。

您可能需要试验一下积分电容器的选择。一些电容器设计不易渗透,或者内部电阻会阻止它们正确归零。



2

对于较短的持续时间(秒),您可以使用连接到示波器的μCurrent之类的设备。

如果您的峰值电流相对不重要(例如,因为它非常短或因为它由一个固定的或已知的值(如微控制器的峰值电流)主导),则可以使用一个并联电阻和一个二极管来限制电压降。使用100Ω分流器和一个SI二极管并联,您可以测量高达〜7mA的电流,并达到数十μA的精度。


它比秒好得多。原始μCurrent的模拟带宽为8 kHz,μCurrentGOLD的模拟带宽为300 kHz(Kickstarter之一)。我使用此设置为Raspberry Pi测量了1 ms的电流瞬变。
彼得·莫滕森

1
@PeterMortensen:我的意思是说,您可以测量总时长,以估计电池运行时间(即一段时间内的平均功率)。如果OP的设备以0.5s的间隔执行例如定期测量之类的事情,那么测量几秒钟就足够了。如果OP的设备在更长的时间内执行更复杂的任务,那么他/她将需要不同的方法。
迈克尔

0

我认为您使用电池的想法可能是最好的方法,但是我不确定为什么您说这很困难或昂贵?我确定您可以购买A-Hr表,但它们可能无法准确测量您感兴趣的短电流间隔。另一种方法是将电流探头连接到示波器。这可能是根据幅度和时间表征电流的最准确方法,但除非电流波形具有周期性,否则它不会给出A-Hrs。


假设我想查看最新代码推送对设计为单电池可运行约2个月的设备的电池寿命的影响。我需要坐在那里,让电池电量耗尽一段时间。:)(如果使用原代细胞,则“昂贵”的定义是。)
戴维(David

一种选择是使用小得多的电池。只要知道电池的A-hr,您就可以将结果缩放到任何大小的电池。
EE_socal

电池不是校准的测量设备。您只知道1Ah电池中至少有 1Ah。
德米特里·格里戈里耶夫

可以通过在电池上施加已知负载并查看放电所需的时间来对电池进行校准。我同意这不是最准确的方法,但也许足够好。
EE_socal

@EE_socal当然,在一个业余项目中。在工作中,我宁愿购买适当的测量设备,也不愿花钱给工程师做像铆接电池一样的铆接工作。新电池可能会在几个循环后改变其特性,因此校准电池并不是那么快。
德米特里·格里戈里耶夫

0

很久以前,我不得不使用锂电池解决此问题。该设备每分钟唤醒一次,时间非常短。我可以采样电池两端的电压。在这种情况下,锂电池的问题在于,它们的放电周期会突然出现“拐点”,而当达到该点时,您的时间已不多了,而且取值范围很小。


0

我实际上已经使用了一个逻辑/模拟分析仪(Saleae Logic 8),并将其连接到µCurrent Gold,并测量了整个电流图以及从完全充电到放电为止的电池电压。您只需运行连接到开发接口的python脚本即可轮询和存储值。这样也制造了TON的数据往往不能够很容易地在Excel中进行操作,但你至少可以开拓的时间一大块,看看有什么瞬时电流在那个特定的时间。

这是我正在做的一些电池寿命验证的屏幕截图,看起来与您想要的类似:

使用Saleae Logic 8进行电流捕获

黄色信号是电流(V转换为A)。您可以看到电池的响应(在这种情况下,电池的电量可能超过了Logic 8的最大5V),最重要的是,您可以看到电源轨接通,然后关闭以进行测量(我实际上是通过CAT发送数据的-M到我们的云服务器)。对于您的情况,由于您的占空比小得多,您可能看不到太多令人兴奋的东西(我在这里进行了一些加速电池测试,这就是为什么它如此频繁)

如果您想查看我的设置是什么样的,最近写了一篇文章,介绍了如何使用我生产的齿轮进行测量,该齿轮产生了上面的捕获结果。

您可以使用GPIB控制的示波器或其他品牌的数据记录器执行类似的操作。我只是想用我手上的东西。

对于扩展捕获,您还可以查看其逻辑分析仪的Saleae 编程参考在这里,我还创建了用于创建捕获的代码要点


0

所有这些答案,只有@wbeaty提到了明显的答案。能将电流与时间整合在一起的设备吗?那我= C dV / dt呢?

如果电流消耗足够低,则几个电容器可能绰绰有余,但更高的电流将需要一个超级电容器。调整电容器以在合理的时间内获得合理的下降。下面的电路可以解决问题。

原理图

模拟该电路 –使用CircuitLab创建的原理图

那里有电容分压器,以避免从节点上去除电流。可以通过外围引脚将其预充电到uC的电源以建立初始条件,然后定期测量以读取放电速率。该电路的一个问题是输出电压将改变,这可能意味着负载可变。

为避免此问题,并且对于具有合理尺寸组件的可调式通用电路,可以使用有源电容倍增器代替,如以下概念示意图所示。使用已知负载进行一些校准,然后您便有了定制的消耗量表。

原理图

模拟该电路

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.