バッテリ管理システムで多数の温度測定と省電力化を同時に実現
要約
リチウムイオンバッテリスタックでは、優れたバッテリ管理システムによって多数のセル電圧とセル温度を監視することが極めて重要です。そうした監視を行わなければ、熱暴走からバッテリの破裂につながる恐れがあります。このアプリケーションノートでは、最大12個のサーミスタの温度を測定する低消費電力化回路について説明します。この回路はマルチプレクサへの給電とその設定を行います。また、温度を測定しないときは節電のためにマルチプレクサをシャットダウンします。
同様の記事が2011年10月6日に「Electronic Design」に掲載されました。
高電圧、マルチセルの直列スタックバッテリは、電気自動車、ハイブリッド車、電動自転車、電動工具、その他多くのデバイスに採用されています。これらのアプリケーションでは、エネルギー密度の高さから、リチウムイオンバッテリが広く使用されています。これらの高エネルギーバッテリスタックでは、優れたバッテリ管理システムによって多数のセル電圧とセル温度を監視することが極めて重要です。そうした監視を行わなければ、熱暴走からバッテリの破裂につながる恐れがあります。
現在のバッテリパック用データ収集ICは複数のセル電圧(通常12個)を測定しますが、温度についてはわずか2つをスキャンして測定するだけです。このアプリケーションノートでは、最大12個のサーミスタの温度を測定する低消費電力化回路について説明します。この回路はマルチプレクサに給電し、温度を測定しないときは節電のためにマルチプレクサをシャットダウンします。
図1の低消費電力化回路は、バッテリ内のすべてのセルの温度をスキャンして測定します。2つのMAX382マルチプレクサがデータ収集IC (MAX11068やMAX17830など)の2つの補助入力に対して、12個のサーミスタを6組に分けて一度に2個ずつスイッチングします。データ収集ICはサーミスタにバイアスを供給する一方、マルチプレクサに給電し、それらのスイッチングとイネーブル/ディセーブル機能を制御します。
サーミスタには、データ収集ICの温度測定用電源(THRM)からバイアスがかけられます。この構成では、補助入力がスキャン無効になると内部スイッチによってTHRMがディセーブルになるため、電力を節約することができます。それらの補助入力は外付けの温度検出デバイスの測定が不要である場合、ディセーブル(スキャン無効)にする必要があることに注意してください。THRMをマルチプレクサイネーブル入力に接続すると、温度測定が不要である場合にマルチプレクサがシャットダウンモードに置かれるため、さらなる省電力が実現します。補助入力をスキャンしない場合、2つのマルチプレクサはVAAから0.56µAしか消費しません。THRMは、補助入力がスキャンされる(温度測定が必要となる)わずかな時間しかマルチプレクサをイネーブルにしません。データ収集ICのGPIOポートでは、12個のサーミスタの間で補助入力をスイッチングします。
THRM、AUXIN1、AUXIN2の波形のスコープショット(図2)を見ると、THRMが最大収集時間(約700µs)だけイネーブルになることがわかります。この最大時間は説明のために使用しているだけです。実際の収集の整定時間はソフトウェアでプログラム可能であり、AUXIN_に接続したコンデンサの整定に十分な時間が確保されるように決める必要があります。
図1の回路と擬似コード(表2)を使用して、ADCの出力をさまざまな温度で読み取ります。表1は、マルチプレクサを使用した場合と使用しない場合についてデータ収集ICの出力を比較したもので、誤差(%)も示しています。
誤差(%) = [(マルチプレクサありのADC出力) - (マルチプレクサなしのADC出力)]/4096 × 100となります(式中の4096は10進数で表したフルスケールADC値)。 マルチプレクサのオン抵抗が誤差に影響します。このオン抵抗を抑制するには、(高温で)比較的高い抵抗のサーミスタを使用します(Murata製サーミスタ100kΩ、NXFT15WF104FA2B050)。
Temperature | Data-Acquisition IC Output with Multiplexer (HEX) | Data-Acquisition IC Output Without Multiplexer (HEX) | Error (%) |
-30 | F27 | F27 | 0 |
-20 | EA1 | E9E | 0.07 |
0 | C65 | C70 | -0.27 |
10 | AD0 | AD5 | -0.12 |
25 | 7F6 | 7F4 | 0.05 |
40 | 560 | 55A | 0.15 |
60 | 2EB | 2E3 | 0.19 |
80 | 18C | 18D | -0.02 |
100 | 0D6 | 0D0 | 0.15 |
125 | 06A | 065 | 0.122 |
コマンド | 用途 | 読取り/書込み |
HELLOALL | 初期化。このコマンドは、チェーンの最初の部分のデバイスアドレスを設定します。チェーンのその他の部分すべてには、自動インクリメントしたアドレスが割り当てられます。 | Write |
ROLLCALL | 初期化。スタック内のデバイス数を決めるために使用されます。 | Read |
SETLASTADDRESS | 初期化。このコマンドはSMBUSラダー内の各MAX11068に対して、最後のデバイスアドレスを通知します。 | Write |
Set AIN1EN & AIN2EN in ADCCFG register | AIN1チャネルとAIN2チャネルをスキャン可能にします。 | Write |
Set AINCFG_ bits in ACQCFG register | 補助アナログチャネルに収集の整定時間(5.3µs~339.2µs)を設定します。 | Write |
Set GPIO as output, and set the GPIO output values by writing to GPIO register | GPIOがマルチプレクサの選択ピンに接続されているため、GPIOの出力値によって、スキャン用に選択されるサーミスタが決まります。 | Write |
Set the SCAN bit in the SCANCTRL register (0x0D) | このコマンドは入力の変換プロセスを開始します。 | Write |
Read AIN1 (0x40) and AIN2 (0x41) registers | GPIOによって選択された温度検出デバイスから変換結果を読み取るために使用されます。 | Read |