少量のスパイク状の電流を測定する方法は?


13

いくつかの周辺機器が接続されたマイクロコントローラーがあり、バッテリー寿命を合理的に見積もることができると思います。時々スリープし、さまざまな周辺機器の状態が異なるため、消費電流はuA(スリープモード)と数十mA(覚醒時)の間で異なる場合があります。

さて、バッテリーを取り付けて使い切って時間を測定することもできますが、これにより、ファームウェアとハ​​ードウェアの両方で異なるアプローチを比較するのに時間がかかり、困難(そしておそらく高価)になります。

マルチメーターを直列に配置することもできますが、データロギングがある場合でも、それはある間隔であり、補間する必要があり、間隔よりも小さい変動を完全に見落とす可能性があります。(負荷電圧とその他すべて)

デバイスが十分にスリープすると、アウェイク電流は多少無視できるようになりますが、スリープ時間とアウェイク時間の1000:1の比率が必要になる可能性があるため、すべてのデザインでそうなるとは限りません。

時間の経過とともに非常に少量の電流を統合するデバイスはありますか(たとえば、Kill-a-wattコンセントメーターではありません)。基本的に、「過去1時間で20mAhが消費された」ことを知りたいと思っています。アウェイクとアスリープの消費電流を比較するために、特定の時間に正確な電流測定値を取得できる場合のボーナスポイント。


3
@ Sparky256あなたは何について話しているのですか?十分なデカップリングコンデンサが含まれていると仮定すると、10 kHzのサンプリングレートで十分です。サンプルごとに16ビットを使用しているとしましょう。これは、1秒あたり20 kBだけです。最新の16ビットまたは32ビットのマイクロコントローラーは、SDカードにそれほど苦労せずに書き込むことができ、私のPC はその何年もをRAM、SSD、またはハードドライブに保存できます。これは1960年代ではありません!Vinceの1MS / sでさえ、ソフトウェア無線で作業している人にとっては笑えます。
マーカスミュラー

5
@ Sparky256、私は16 TBのNI Labviewシステムを持っています。これは、1 TBのハードドライブがいっぱいになるまで、200 kspsで16チャンネルの16ビットDAC測定値を記録できます。それはあなたがどれだけのお金を払いたいかということです。
ビンスパトロン

3
@ Sparky256は確かに、有名ブランドのDAQカードは高価です。この目的のために、非常に単純なデバイスで可能です。潜在的には、他のステレオチャンネルの電圧基準を持つサウンドカード(ブリッジカップリングキャップ付き)でさえ可能です。
マーカスミュラー

4
すみませんが、統合にはデジタル化された現在のサンプルを保存する必要はありません。累積積分を保存するのに十分です-合計。1MSa /秒または1Sa /秒、1秒の積分時間または1週間、数バイトのメモリで十分です。
user287001

6
クーロンカウンターに言及している人は誰もいません。これは、この状況では悪くない考えのようです
-BeB00

回答:


13

確かに、特定の電流検出ICは確かにあります。あなたの場合、私は次のようなものを「単純に」使います。

  • バッテリーと電子機器の間に小さな(例えば0.5Ω)直列抵抗を使用してください。
  • 計装アンプでその抵抗の両端の電圧を増幅します
  • ADCを使用して、その電圧を記録する

問題点:

  1. 低電流・低抵抗=低電圧:ノイズにより測定精度が低下します
  2. マイクロコントローラは非常に高速で起動し、同様に高速でスリープ状態になるため、ADCサンプリングレートは必ず非常に高くする必要があります。

しかし、原則として、それは機能し、確かに実行可能です(ただし、安定した低ノイズの高増幅計装アンプの設計は簡単ではないかもしれませんが、それを容易にする既存の計装アンプICがあります)。

幸いなことに、あなたの問題はかなり一般的です。テキサスインスツルメンツを含む多くの企業には、電流検出アンプのポートフォリオがあり、その一部には前述のシャント抵抗とデジタルインターフェイスの両方が統合されています。見るTIの製品リストを

実際、これらのICは電流と供給電圧を同時に測定することができます。これは、消費電力を実際に測定するのに最適です。これは、非線形要素がある場合(つまり、 、MCU)。

たとえば、INA233は外部シャント(たとえば0.3Ω)に接続でき、ADCステップごとに2.5 µVの分解能を持ちます。つまり、1つのADCステップは、電流がI = U / R = 2.5 µV / 0.3Ω= 8.333 µAです。

デバイスには自動サンプリングおよび平均化モードもあるため、急速に変化する負荷の下でも簡単に適切な近似値を取得できます。

また、私がちょうど見つけたように、物は「アラート」レベルを持っているので、電流が設定可能なしきい値を超えたときに測定システムを起動することができます。いいね!そうすれば、たまにサンプリングするだけで済みます。


高いサンプリングレートの必要性は、サンプリングされた後に低いレートでリセットされるアナログ積分器で交互に対処できますか?
フィルフロスト

漏れ、容量、二重層効果またはESR比が同じバッテリーサプライヤはありません。したがって、予測。容量対電流放電を一般化することは不可能です。データシートで正確に指定されていない限り、テストする必要があります。
トニースチュワートサニースキーガイEE75

@PhilFrost私はそのアイデアが好きですが、不正確さを統合することも心配です!しかし、少なくともある程度はこれが実現可能であると確信しています!
マーカスミュラー

7

非常に少量で電流を経時的に積分するデバイスはありますか

はい、いくつかあります。最も古いものは電気めっきセルです(めっき金属の質量はアンペア時を表します)エジソンの特許であり、最近では電気分解セル(毛細管へのガスの蓄積)が使用されています。これらは、長期間使用した後のバッテリーの分析とまったく同じです。

最近では、デジタル化を使用しています。

デジタルサンプリングレートよりも速い変動が予想される場合は、修正可能です。電流センサーをバイパスする高周波コンダクタンス(コンデンサー)、および並列の低周波コンダクタンス(インダクターと電流検出素子)を備えた2分岐電流経路を配置できます。

長時間の小さな電流(デジ​​タルサンプリングの精度を損なう)が予想される場合は、それも修正可能です。小さなDCプラスホワイトノイズソースをDC電流信号に追加すると、小数ビットの電流が(統計的に)長時間にわたって正しいデジタル蓄積を引き起こします。ディザ付ADC図 5a ただし、追加された信号のDC部分は離れて較正する必要があります。擬似ランダムノイズソースは、この種の「ディザ」に役立ちます。

デジタル化とレジスターへの蓄積(Kill-a-wattのように)は、簡単に入手できるコンポーネントで機能します。


7

早くて汚い:スーパーキャピター!(ウルトラキャパシタも検索してください。)システムに電力を供給し、積分電流を電圧サグとして時間とともに表示します。

考えていたプロセッサVdd、バッテリーボルトはどれですか?コンデンサはもちろん電流を自然に統合します。バッテリー電源の代わりに数ファラッドのスーパーコンデンサを使用すると、時間とともに低下する電圧を測定し、長期平均マイクロアンペアを正確に決定できます。

設計で一定のVddが必要な場合は、テストの実行中に電圧がXXパーセント低下するだけのスーパーキャップ値を選択してください。平均電流によっては、数ドルのコンデンサで逃げることができる場合があります。たとえば、数ボルトで4.7ファラッドは、余剰カタログで一般的なスーパーキャップです。(Sparkfunには約10ファラッドがあり、最大サイズはElectronic Goldmineの2.7Vでの3000ファラッドのブーストキャップです。)より高い電圧制限を得るために直列にスタックします。


3
スーパーキャップには、OPが考慮しなければならない電圧と温度によって変化する大きな漏れ電流があります。
ドミトリーグリゴリエフ

2
@DmitryGrigoryev良い点。ベアコンデンサのみでテストを実行し、リーク電流を計算してから、CPUボードを取り付けて再度テストします。忘れないでください:速くて汚い、複雑で高精度ではありません。1%以内に答えを知る必要がある場合は、適切に設計されたアクティブなインテグレーターなどに
アクセスしてください。– wbeaty

テストを数回実行します。CPUボードが取り付けられているものと取り付けられていないものが、ランダムな順序で実行されます。次に、平均差とその信頼区間を計算します。/統計家
nekomatic

次に、複数の愛好家CPUプロジェクトのメタ分析を行い、外れ値を破棄することでグループがバイアスを作成していないかどうかを検出します。
wbeaty

4

大きなダイナミックレンジを期待している場合、オプションとして、次のような対数トランスインピーダンスアンプによって流れる電流ミラーを使用することができます。 想定して LOG114の。適切に調整された回路を使用すると、60年以上の範囲を取得できます。電流ミラーの後にコンデンサで積分を調整できます。

これはより複雑なソリューションであり、バッテリー充電が大幅に変化した場合の高電流での解像度は低くなります。精度と直線的な比例センシングは、低電流で費やす時間の割合に依存します。

また、ADCの分解能をブルートフォースにすることもできます。24ビットまたは32ビットで問題なく40年をカバーできます。


3

大まかな測定用(+/- 10%または20%)。

抵抗を電源と直列に接続し、コンデンサと並列に接続して、サンプルレートが重要なデータを見逃さないように十分に大きな時定数を生成します。たとえば、100Hzでサンプリングしている場合、0.2秒の時定数を選択できます。おそらく電解コンデンサであり、低インピーダンスタイプが最適であり、パルスが約10usより短い場合は、1uF-10uFセラミックと並列に接続できます。値は重要ではありませんが、十分に高くなければなりません。抵抗を選択して、動作に影響を与えるほどの電圧降下が生じないようにしますが、十分な信号が得られるため、妥当な測定値を得ることができます。

アンプまたはそのようなものの立ち上がり時間と立ち下がり時間を分析する必要はありません。抵抗とコンデンサが仕事をします。

「スパイキー」パルスの低インピーダンス源であるバッテリーに依存する動作は、バッテリーが実際に使い果たされる前に失敗することに注意してください-バッテリーとコンデンサーを並列に接続すると、寿命が長くなる場合があります-バッテリーの内部抵抗使い果たされるにつれて増加します。


また、オン時間が短く、スタンバイ電流が低い場合、電解キャップの漏れをゼロにするために、回路を接続せずに電流を測定することをお勧めします。散発的にアクティブなコントローラーのMCU設計を大まかに計算したところ、100 nF セラミックキャップを介したリークは、MCUの平均消費電力よりも高くなりました。
マーカスミュラー

@MarcusMüller驚くほど高水準のものは500で仕様化されていますΩ/ Fですので、1uFで約500Mです(最大、通常はもっと少ないはずです)。破損していたのだろうか。または、驚くほど優れたMCU(深い眠りか何か!)実際には、ボタンセルでさえそれよりはるかに多くの自己放電があるため、数uA未満についてはあまり心配しないと思います。
スペロペファニー18年

ええ、それは過去数年です。しかし、たぶん、それは損傷していた(どのような損傷が漏れを大幅に増加させるのかはわからないが、どこかに系統的なエラーがあったのではないかと思うようになる)。MCUは、ほとんどの場合数秒から数分間、完全にオフになる(RAMおよび割り込みソースを除く)数十マイクロ秒の間、最低のクロック速度でオンになったフリースケールの超低電力のものでした。赤外線通信「ジュエリー」の未完成のプロトタイプ。
マーカスミュラー

3

私が提案するのはおそらくやり過ぎです...しかし、標準/安価なソリューションに十分なダイナミックレンジがないことがわかった場合、またはこれらの種類の測定を定期的に行う場合、この非常にきちんとしたデバイスを見ることができます:RocketLogger

ETH Zurichによって開発され、オープンソース化されています。彼らはそれを「ポータブル測定用の精密混合信号データロガー」と呼んでいます。これは、ビーグルボーンSBCに基づいた、非常に高いダイナミック電流範囲を持つポータブルな電流および電圧ロガーです。

  • 4 nAから±500 mAまでの高いダイナミックレンジを持つ2×電流チャンネル
  • 4×電圧チャンネル、13 uVから最大±5.5 Vまで測定
  • 等...

免責事項:デバイスの作成者とは関係ありません。


3

クーロンカウントは、少なくとも1回の反復サイクルの測定された間隔で、既知の電荷Q = CVからの電圧降下によって、蓄積された電荷の変化を測定することによって実行できます。

まず、必要な総充電寿命エネルギーを選択できるように、バッテリー寿命をワット秒またはジュールの単位で最小単位で定義する必要があります。

第二に、クーロン計数法は 、ソフトウェア効率がエネルギーに対して最適化されるように、睡眠とパルス活動の繰り返しサイクルを平均できる場合、1時間程度の短い間隔で何らかの試験法によって十分に正確でなければなりません

バッテリーの貯蔵寿命のかもしれない、あるいは、例えばである可能性があります。1年間のプライマリまたはチャージ間の1日のセカンダリですが、指定する必要があります。

第三に、クーロンをより速くカウントするために低リークキャップを使用できますか?1時間など?
ドレインが1時間あたり平均20mAで、0.1Vだけ低下すると予想される場合、どのような値Cが必要ですか?C = Ic * dt / dV = 20mA * 3600s / 0.1V = 700ファラッド

可能であれば、3V CR123Aバッテリーなど、この容量範囲の部品を選択してから、クーロンカウント方法を確認し、電圧を監視します。

または、電流を検知し、現在のコンテンツを使用して、設計とは別にクーロンを正確にカウントします。


3

あなたの質問の1時間の部分はこれを少し難しくします-しかしあなたのデバイスが周期的なことをしているなら(ほとんどの組み込みのものがそうするように)実際にはそれを必要としないかもしれません。

それで、あなたが何を買うことができるかを示すために、完全に行き過ぎて行きましょう。Keysight CX3300はあなたが200 MHzのアナログ帯域幅および1 Gサンプル/ sの最高と電流波形をサンプリングすることができます。256 MSaのメモリと組み合わせると、1時間以上でも適切なサンプルレートを得ることができます。もちろん、価格は33,000ドルから少し高く、プローブは4,800ドルからです。

私が通常行っている少し安い道は、オシロスコープをN2820Aのような電流プローブと使用することです-これにより、約4,200ドルに戻りますが、アナログ帯域幅(最大3 MHz)は得られませんが、これを見つけます本当に使いやすい。これにより、低電流測定のチャネルと高電流測定のチャネルが得られるため、分析には少し手動での計算が必要です。

上記のKeysight製品のようなものについて、異なるメーカーから同様の製品が提供されていると確信しています。

オシロスコープには大量のメモリが搭載されていないため、通常はアクティビティの1サイクルを測定してそこから計算します。デバイスには長いサイクルがないため、うまく機能します。

自動Wh計算で長時間の測定を行う必要がある場合、信頼できるGossen Metrahit Energyを使用します。これは、低電流でも素晴らしい仕事をします。ただし、データロギングは、サンプルレートがそれほど大きくないため、非常に変動する電流には適していません。

私がいくつかの高価な機器について自慢しているとこの答えを誤解しないでください、それは要件を処理できる専門のテスト機器がそこにあるというポインタです-他の答えのほとんどは自分でそれを行うことに焦点を当てていますあなた自身のために幸せなテストを行っているだけではない場合)。

KeysightやGossenとは一切関係ありません。彼らの製品の幸せなユーザーです。


2

@marcusmullerの優れた答えを取り、出力を積分器に送ります。開始する前にキャップをゼロにし、累積mAhまたはuAhをDC電圧として測定します。

積分コンデンサの選択を試す必要があるかもしれません。コンデンサの設計によっては、浸漬に不向きであるか、内部抵抗があるために正しくゼロ化できません。


2

マルチメーターを直列に配置することもできますが、データロギングがある場合でも、それはある間隔であり、補間する必要があり、間隔よりも小さい変動を完全に見落とす可能性があります。

そのため、測定チェーンにローパスフィルターを配置して、かなり低い周波数で平均値を記録できます。

回路図

この回路のシミュレーションCircuitLabを使用して作成された回路


2

持続時間(秒)を短くするには、オシロスコープに接続されたμCurrentのようなデバイスを使用できます。

ピーク電流が比較的重要でない場合(たとえば、非常に短いため、またはマイクロコントローラーのピーク電流のようにほぼ一定の既知の値が支配的であるため)、ダイオードと並列のシャント抵抗を使用して電圧降下を制限できます。100ΩのシャントとSIダイオードを並列に使用すると、最大約7mAを測定し、数十μAの精度を達成できます。


秒よりもはるかに優れています。アナログ帯域幅は、元のμCurrentでは8 kHz、μCurrentGOLD(Kickstarter one)では300 kHzです。このセットアップを使用して、Raspberry Piの1 msの過渡電流を測定しました。
ピーターモーテンセン

1
@PeterMortensen:バッテリの実行時間(つまり、平均電力)を推定するために測定できる合計期間を意味しました。OPのデバイスが0.5秒間隔で定期的な測定などを実行する場合、数秒間測定するだけで十分です。OPのデバイスがより長時間にわたってより複雑なタスクを実行する場合、別のアプローチが必要になります。
マイケル

0

バッテリーを使用するというあなたのアイデアが最良のアプローチかもしれないと思いますが、なぜそれが難しいか高価であると言うのか分かりませんか?購入できるA-Hrメーターがあるはずですが、興味のある短い電流間隔を正確に測定できない場合があります。別のアプローチは、オシロスコープに接続された電流プローブです。これはおそらく、振幅と時間の観点から電流を特徴付ける最も正確な方法ですが、電流波形が周期的でない限り、A-Hrsを与えません。


1つのバッテリーで最大2か月間動作するように設計されたデバイスで、最新のコードプッシュがバッテリー寿命に与える影響を確認したいとします。私はそこに座って、バッテリーをかなり使い果たさなければなりません。:)(「高価」は、プライマリセルが使用されている場合の定義です。)
デビッド

1つのオプションは、はるかに小さいバッテリーを使用することです。バッテリーのA-hrがわかっている限り、結果を任意のサイズのバッテリーにスケーリングできます。
EE_socal

バッテリーは較正された測定機器ではありません。1Ahバッテリーについて知っているのは、少なくとも 1Ahが入っているということだけです。
ドミトリーグリゴリエフ

バッテリーは、既知の負荷をかけて、放電にかかる時間を確認することで調整できます。私はこれが最も正確な方法ではないが、おそらく十分に良いことに同意します。
EE_socal

@EE_socal趣味のプロジェクトでは、確かに。仕事では、バッテリーのキャリブレーションと同じくらいリベッティングを行うためにエンジニアにお金を払うよりも、適切な測定機器を購入したいです。新しいバッテリーは、数サイクル後に特性が変化する可能性があるため、1つのキャリブレーションはそれほど速くありません。
ドミトリーグリゴリエフ

0

私はこの問題をずっと前にリチウム電池で解決しなければなりませんでした。デバイスは1分に1回、非常に短い時間で起動しました。バッテリーの両端の電圧をサンプリングできました。この状況でのリチウム電池の問題は、放電サイクルで非常に突然の「ひざ」があり、そのポイントに達したときに、あなたはほぼ時間外であり、それが小さな値の範囲であることです。


0

実際にロジック/アナログアナライザー(Saleae Logic 8)を使用してµCurrent Goldに接続し、完全に充電された状態から放電されるまでの電流プロット全体とバッテリー電圧を測定しました。開発インターフェイスに接続して値をポーリングおよび保存するPythonスクリプトを実行するだけです。これによりデータのTONが作成され、Excelで簡単に操作できないことがよくありますが、少なくとも特定の時間に瞬間的な電流を確認するために少なくとも時間を開けることができます。

これは、私がやっていたバッテリー寿命の検証のスクリーンショットで、あなたが探しているものに似ています:

Saleae Logic 8を使用した電流キャプチャ

黄色の信号は電流です(VはAに変換されます)。バッテリーの応答を見ることができます(この場合、ロジック8の最大5Vを超えるバッテリーが発生します)そして、最も重要なことは、測定のために電源レールがオンになってからオフになることです(実際にCAT経由でデータを送信していました) -Mクラウドサーバーへ)。あなたの場合、あなたのデューティサイクルがはるかに小さいという事実のために、それほどエキサイティングなものを見ることはないでしょう(私はここでいくつかの加速バッテリーテストを行っていたので、それはとても頻繁でした)

私のセットアップがどのように見えるかを見たいなら、私は記事を書きました上記のキャプチャを作成したギアで測定を行う方法最近。

GPIB制御のオシロスコープまたは異なるブランドのデータロガーを使用して、同様のことを行うことができます。手元にあったものを使うようになりました。

拡張キャプチャについては、ロジックアナライザのSaleae プログラミングリファレンスもご覧ください。また、このキャプチャの作成に使用したコードの要点もここで作成しました。


0

これらすべての答えと@wbeatyのみが明白なものに言及しました。電流と時間を統合するデバイスですか?I = C dV / dtはどうですか?

消費電流が十分に少ない場合、数個のコンデンサで十分かもしれませんが、高電流にはスーパーコンデンサが必要になります。コンデンサを調整して、妥当な時間内に妥当な低下を得る。以下のような回路がトリックを行います。

回路図

この回路のシミュレーションCircuitLabを使用して作成された回路

容量性分割器は、ノードからの電流の除去を回避するためにあります。ペリフェラルピンを介してuCの電源にプリチャージして初期状態を確立し、定期的に測定して放電率を読み取ることができます。この回路の問題の1つは、出力電圧が変化することです。これは、可変負荷を意味する可能性があります。

この問題を回避し、適切なサイズのコンポーネントを備えた調整可能な汎用回路の場合は、以下の概念図のように、代わりにアクティブキャパシタンス乗算器を使用できます。既知の負荷でのキャリブレーションと、カスタムメイドの消費メーターがあります。

回路図

この回路をシミュレートする

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.