バッテリの安全性と精度を向上させるヒント


お使いのバッテリ・モニタの精度に問題がありますか?

バッテリ・パックとの間で流れる電流の量は、測定されて、さまざまな目的に使われます。例えば、電動工具の着脱可能なバッテリ・パックが誤ってショートすると、大電流が流れ、危険な状態になり得ます。あるいは、掃除機のようなバッテリが組み込まれた電化製品の内部で誤作動が起きた場合にも大電流が流れることがあり、場合によってはその設計で安全に対処できる電流レベルを超えるかもしれません。この2つの例を見ても、電流が過剰なレベルを超えていないか監視し、危険な動作を検知したら回路を切断して電流の流れを中断させる保護デバイス(直列の電界効果トランジスタ、リレー、ヒューズなど)を組み込むことが重要である理由がわかるでしょう。ほとんどの設計では、素早い検知のために、安全性を目的とした電流監視にコンパレータを用いるのが一般的ですが、バッテリ・パック内部のA/Dコンバータ(ADC)によりデジタル変換されたデータを使用する設計もあります。

バッテリ・パックの電流測定は、例えばバッテリの充電状態や健全性を判断して、システムがあとどれくらい動作可能かを予測する残量計測のためにも重要です。Impedance Track™テクノロジや補償付き放電終止電圧(CEDV)アルゴリズムを組み込んでいるような高度なバッテリ残量計のほとんどは、その計算にクーロン・カウンタを必要とします。

クーロン・カウンタは、一般に小型の直列センス抵抗の両端の差動電圧を測定することでバッテリ・パックの電流を常時測定する、特殊な電流測定用ADCです。標準的なシステムで使われるセンス抵抗は、多くは1mΩ以下の範囲ですが、高電流システムでは100µΩ未満になることもあります。低い抵抗値は、高電流システムでの過度の発熱を避けるうえで不可欠ですが、センス抵抗の両端で生じる電圧が高負荷時に50mV以下に制限されることにもなります。

ほとんどのバッテリ残量計測アルゴリズムは、バッテリに流入または流出する蓄積電荷を計算に使用します。電流測定値を時間積分することで、この蓄積電荷を計算します。このような計算の際には、電流測定値のオフセットが重要になります。なぜなら、これは疑似的な電流として時間の経過とともに積み上げられ、顕著な量の電荷誤差を生み出すからです。

高分解能で狭い電圧範囲を計測することは、低いオフセットも加わって、設計上の大きな課題であり、その結果、通常はバッテリ・モニタの中で最も性能が高いサブシステムがクーロン・カウンタになります。

この課題に対処するために、TIのバッテリ・モニタ『BQ76942』(3s~最大10s)と『BQ76952』(3s~最大16s)は、ローサイドのセンス抵抗の両端で最大±200mVの差動電圧を測定できる、16/24ビットのデルタ-シグマ・クーロン・カウンタADCを内蔵しています。また、電流保護機能も内蔵し、コンパレータを使用して、放電時の短絡と充放電時の過電流状態を検知します。

ADC電流測定

BQ76942』と『BQ76952』には、特定のデータ用途に最適化された、数種類のデジタル化された電流測定値があります。

  • CC1 Current() – この電流測定値は、デバイスがNORMALモード(実際に充電または放電が進行中)の間は250msごと、SLEEPモード(充電または放電をしていない)の間は4秒ごとに出力されます。この値は、電流ベースの内蔵保護機能と、蓄積電荷積分に使われます。CC1 Current()データは、DASTATUS5()サブコマンドを通して16ビット形式で通知されます。蓄積電荷は、DASTATUS6()サブコマンドを通して64ビット形式で通知されます。
  • CC2 Current() – この電流測定値は、NORMALモードのときは3msごと、SLEEPモードのときはPower:Sleep: Voltage Timeの時間間隔で出力されます。この値は、Current()コマンドを使用して16ビット形式で通知されます。さらなる後処理のために、24ビットの未加工データも32ビット形式を使って通知されます。3msの変換時間は、[FASTADC]設定ビットの設定によって1.5msに変更できますが、変換分解能は下がります。
  • CC3 Current() – この電流測定値は、複数のCC2 Current()測定値の平均です。さらなる処理のために、出力ペースは遅いですが、より高分解能のデータが得られます。平均するサンプルの数は、Settings:Configuration:CC3 Samples設定を使って、2~255の間でプログラミングできます。DASTATUS5()サブコマンドにより、求められたデータが32ビット形式で通知されます。
  • DASTATUS14()サブコマンドは、32ビット形式で、セル電圧測定値と同期して未加工の電流ADCデータを通知します。これらの値は、一部の残量計測アルゴリズムで使われるセル・インピーダンスの解析に役立ちます。

BQ76942』と『BQ76952』では、異なる範囲の電流レベルに対応できるように、電流測定の単位が選択可能になっています。例えば、1mAの単位を使用すると、16ビット形式で通知されるCC1 Current()は、電流を-32.768A~+32.767Aの範囲で表すことができます。それより大きい電流が予想される場合は、単位を10mAに変更することで、-327.68A~+327.67Aの範囲の電流を表すことができます。

表1に示すように、単位はSettings:Configuration:DA Configuration:[USER_AMPS_1:0]により設定します。この単位は、CC2 Current()CC1 Current()CC3 Current()の値に使われます。

1:電流測定用のプログラミング可能な単位

BQ76942』と『BQ76952』では、センス抵抗の両端で測定した電圧を電流の値に変換するために、電流ゲイン値が必要です(Calibration:Current:CC GainCalibration:Current:Capacity Gain)。これらのゲイン値は、システムで使われるセンス抵抗の公称値をもとに設定するか、プリント基板(PCB)ごとに較正して、デバイスのメモリに保存します。デバイスには、基板レベルのオフセット電流に関する設定もあります。この設定はPCBごとに決めることができ、メモリに保存されます。製造ラインでの測定数(Calibration:Current Offset:Coulomb Counter Offset Samplesで設定されるサンプル数により)と、Calibration:Current Offset:Board Offsetに保存される測定値の合計を取得することが可能です。電流の値を通知する際にデバイスは、各読み取り値からBoard Offset/Coulomb Counter Offset Samplesの値を減算してからCC Gainでスケーリングすることになります。

電圧および電流の同期測定

BQ76942』と『BQ76952』は、デルタ-シグマADCを2つ使用して電流と各セルの電圧を同時に測定する、同期測定をサポートします。各セルの電圧および同期された電流に対して、24ビットの未加工ADCデータがペアでデバイスに保存されることで、同期ペアとして読み出すことができます。このデータは、セルのインピーダンスや配線抵抗の解析に使用できます。

蓄積電荷測定

BQ76942』と『BQ76952』は、クーロン・カウンタの電流データを継続的に積分して蓄積電荷値を生成します。ホストは0x0082 RESET_PASSQ()サブコマンドを使用して、必要に応じてこの積分をリセットできます。デバイスには秒単位のタイマーも内蔵されており、このタイマーはクーロン・カウント積分と同時にリセットされます。タイマーの値で蓄積電荷値を割ることで、タイマー開始以降の期間の平均電流が計算されます。

蓄積電荷は、2つの32ビット値として出力されます。1つ目の32ビット(符号付き)データは、userAhの単位で電流を通知します。もう1つの32ビット(符号なし)データは、userAh/232の単位で分数電荷を通知します。64ビット蓄積電荷データとタイマー値はすべて、0x0076 DASTATUS6()サブコマンドにより通知されます。

バッテリ・モニタおよびプロテクタである『BQ76942』と『BQ76952』は、精密なクーロン・カウンタを内蔵した高性能な測定サブシステムを実現します。これらのデバイスの電流測定サブシステムは、きめ細かい設定が可能なので、速さと分解能のトレードオフを柔軟に調整できます。複数の電流データが得られ、それぞれが残量計測、後処理、電流ベースのバッテリ・パック保護に最適化されています。

参考情報

+技術記事:バッテリ・モニタリング・システムの電圧測定精度を改善する方法
+アプリケーション・レポート(英語):“Easy Configuration of BQ76942/52 Battery Monitors.”
+ビデオ(英語):“What is the secret sauce behind Impedance Track?

※すべての登録商標および商標はそれぞれの所有者に帰属します。
※上記の記事はこちらの技術記事(2020年5月28日)より翻訳転載されました。
※ご質問はE2E Support Forumにお願い致します。