16
© 2008 Microchip Technology Inc. DS01156A_JP - ページ 1 AN1156 はじめに バッテリ残量インジケータは、バッテリ駆動型の携 帯用デバイスの一般的な機能となっています。バッ テリ残量の測定は、放電電流と充電電流をリアルタ イムに測定することで実行します。放電電流とは バッテリから流出する電流で、充電電流とはバッテ リに流入する電流をいいます。使用されたバッテリ 容量 (mAH) と残りのバッテリ容量 (mAH) は、放 電電流と充電電流を経時的に追跡して計算します。 この放電電流を累計したものが使用されたバッテ リ容量で、残りのバッテリ容量はバッテリのフル充 電時容量から使用された容量を引くだけで求める ことができます。 バッテリ液の動作は、温度と経年劣化の影響を大き く受けます。これらの影響を考慮した理想的なバッ テリ残量ゲージを実現するには、機能している間の 電流、電圧および温度を経時的に測定する必要があ ります。 バッテリの電圧および電流の測定には、ADC (Analog-to-Digital Converter) を使用します。バッテ リ残量測定の精度は、ADC 性能の精度に依存しま す。バッテリ電圧の測定は簡単明瞭ですが、バッテ リ電流の方は、電流センサを使用して間接的に測定 する必要があります。電流センサには抵抗素子が使 用されます。電流センサに電流が流れると、センサ 素子の前後で電圧降下が生じます。電流値は、この 電圧降下の測定値から、センサの既知の抵抗値に基 づいて計算します。電流センサによる電圧降下は損 失であり、システムにおけるバッテリ電圧バジェッ トを減少させることに注意してください。このた め、電流センサはなるべく抵抗値の小さいものを選 ぶ方がよいことになります。 電流センサによる電圧降下は、センサ素子の抵抗値 に反比例します。このため、ADC のビット分解能 が十分でない場合、電流センサの抵抗値が小さい と、μA 単位、あるいは mA 単位でも低電流域だと システムで検出できないことがあります。そこで、 電流測定を実行するには高ビット分解能の ADC、ま たはプログラマブル ゲイン アンプ (PGA) を内蔵し た高分解能 ADC の使用が推奨されます。 最近の集積化されたバッテリ残量ゲージ デバイス には、ADC と制御ロジック回路の両方が組み込ま れています。こうしたデバイスでは、幅広いアプリ ケーション仕様に対応するため、今も機能拡張が進 められています。しかしこのようなデバイスは、省 コスト性の製品で使用するにはまだ比較的高価で す。しかも、内蔵 ADC 回路のビット分解能の制約 により、アプリケーションによっては精度が不足す ることがあります。 より賢明な選択肢として、集積化されたバッテリ残 量ゲージ デバイスを使用せず、マイクロコントロー ユニット (MCU) のファームウェアを利用して独 自のバッテリ残量ゲージ アルゴリズムを開発して いる設計者もいます。電流と電圧の測定は、設計者 自身が選択した単体のADCデバイスで実行します。 この方法では、各アプリケーションに柔軟に対応し たソリューションを構築し、バッテリ残量ゲージ を低コストで実現できるように選択します。この方 法では MCU の持つ各種オプション機能を選択でき るので、量産アプリケーションでは大幅なコスト削 減が可能となります。使用するバッテリやアプリ ケーションの種類によって、バッテリ残量ゲージに はさまざまな設計トレードオフがあります。シンプ ルなアプリケーションではバッテリ電圧のみを測 定し、精度が要求されるアプリケーションでは高度 なバッテリ残量ゲージ機能を実現する、といった具 合です。 本アプリケーション ノートでは、 MCU および ADC デバイスを使用したバッテリ残量測定について概 説します。 バッテリの充放電特性の概説 バッテリの放電動作は、バッテリの電解液の種類、 負荷電流、温度、経年劣化などさまざまなパラメー タによって変化します。 1 に、バッテリの放電曲 線を電解液の種類別に示します。多くのバッテリで は、放電曲線が全容量の約 80%まではほぼ平坦で、 そこから急激に下降します。 バッテリ内部の化学反応は主に電圧と温度に左右 されるため、バッテリの放電動作は温度の影響を大 きく受けます。バッテリ動作温度の下限は、電解液 の凍結温度によって決定されます。多くのバッテリ は、-40°C 未満では正常に動作しません。バッテリ は、温度が高い方が良好な性能を発揮します。これ は、高温の方が化学反応が促進されるためです。し かし同時に、好ましくない化学反応も進行するた め、バッテリ寿命が短くなってしまいます。極度の 高温の下では化学的活性物質が不安定になり、バッ テリが破壊されることがあります。 著者 : Youbok Lee, Ph.D. Microchip Technology Inc. デルタ - シグマ ADC デバイスを使用したバッテリ残量測定 ご注意:この日本語版ドキュメントは、参考資料としてご使用の上、最新情報に つきましては、必ず英語版オリジナルをご参照いただきますようお願い します。

デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

  • Upload
    lyduong

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Page 1: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156デルタ - シグマ ADC デバイスを使用したバッテリ残量測定

ご注意:この日本語版ドキュメントは、参考資料としてご使用の上、最新情報につきましては、必ず英語版オリジナルをご参照いただきますようお願いします。

はじめに

バッテリ残量インジケータは、バッテリ駆動型の携帯用デバイスの一般的な機能となっています。バッテリ残量の測定は、放電電流と充電電流をリアルタイムに測定することで実行します。放電電流とはバッテリから流出する電流で、充電電流とはバッテリに流入する電流をいいます。使用されたバッテリ容量 (mAH) と残りのバッテリ容量 (mAH) は、放電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテリ容量で、残りのバッテリ容量はバッテリのフル充電時容量から使用された容量を引くだけで求めることができます。

バッテリ液の動作は、温度と経年劣化の影響を大きく受けます。これらの影響を考慮した理想的なバッテリ残量ゲージを実現するには、機能している間の電流、電圧および温度を経時的に測定する必要があります。

バッテリの電圧および電流の測定には、ADC (Analog-to-Digital Converter) を使用します。バッテリ残量測定の精度は、ADC 性能の精度に依存します。バッテリ電圧の測定は簡単明瞭ですが、バッテリ電流の方は、電流センサを使用して間接的に測定する必要があります。電流センサには抵抗素子が使用されます。電流センサに電流が流れると、センサ素子の前後で電圧降下が生じます。電流値は、この電圧降下の測定値から、センサの既知の抵抗値に基づいて計算します。電流センサによる電圧降下は損失であり、システムにおけるバッテリ電圧バジェットを減少させることに注意してください。このため、電流センサはなるべく抵抗値の小さいものを選ぶ方がよいことになります。

電流センサによる電圧降下は、センサ素子の抵抗値に反比例します。このため、ADC のビット分解能が十分でない場合、電流センサの抵抗値が小さいと、µA 単位、あるいは mA 単位でも低電流域だとシステムで検出できないことがあります。そこで、電流測定を実行するには高ビット分解能のADC、またはプログラマブル ゲイン アンプ (PGA) を内蔵した高分解能 ADC の使用が推奨されます。

最近の集積化されたバッテリ残量ゲージ デバイスには、ADC と制御ロジック回路の両方が組み込まれています。こうしたデバイスでは、幅広いアプリケーション仕様に対応するため、今も機能拡張が進められています。しかしこのようなデバイスは、省コスト性の製品で使用するにはまだ比較的高価です。しかも、内蔵 ADC 回路のビット分解能の制約により、アプリケーションによっては精度が不足することがあります。

より賢明な選択肢として、集積化されたバッテリ残量ゲージ デバイスを使用せず、マイクロコントローラ ユニット (MCU) のファームウェアを利用して独自のバッテリ残量ゲージ アルゴリズムを開発している設計者もいます。電流と電圧の測定は、設計者自身が選択した単体のADCデバイスで実行します。この方法では、各アプリケーションに柔軟に対応したソリューションを構築し、バッテリ残量ゲージを低コストで実現できるように選択します。この方法では MCU の持つ各種オプション機能を選択できるので、量産アプリケーションでは大幅なコスト削減が可能となります。使用するバッテリやアプリケーションの種類によって、バッテリ残量ゲージにはさまざまな設計トレードオフがあります。シンプルなアプリケーションではバッテリ電圧のみを測定し、精度が要求されるアプリケーションでは高度なバッテリ残量ゲージ機能を実現する、といった具合です。

本アプリケーション ノートでは、MCU および ADCデバイスを使用したバッテリ残量測定について概説します。

バッテリの充放電特性の概説

バッテリの放電動作は、バッテリの電解液の種類、負荷電流、温度、経年劣化などさまざまなパラメータによって変化します。図 1 に、バッテリの放電曲線を電解液の種類別に示します。多くのバッテリでは、放電曲線が全容量の約 80%まではほぼ平坦で、そこから急激に下降します。

バッテリ内部の化学反応は主に電圧と温度に左右されるため、バッテリの放電動作は温度の影響を大きく受けます。バッテリ動作温度の下限は、電解液の凍結温度によって決定されます。多くのバッテリは、-40°C 未満では正常に動作しません。バッテリは、温度が高い方が良好な性能を発揮します。これは、高温の方が化学反応が促進されるためです。しかし同時に、好ましくない化学反応も進行するため、バッテリ寿命が短くなってしまいます。極度の高温の下では化学的活性物質が不安定になり、バッテリが破壊されることがあります。

著者 : Youbok Lee, Ph.D.Microchip Technology Inc.

© 2008 Microchip Technology Inc. DS01156A_JP - ページ 1

Page 2: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

図 2 に、バッテリの温度別放電曲線を示します。図 1 と図 2 を見ると分かるように、理想的なバッテリ残量ゲージ管理システムを実現するには、電流と電圧、そして温度のいずれも監視する必要があります。

図 1: バッテリの放電特性

図 2: リチウムイオン バッテリの温度別放電特性

MCP3421 18 ビット デルタ - シグマADC ファミリの主な特長

MCP3421 ADC ファミリには、電圧および電流測定アプリケーションに特化した機能が用意されています。MCP3421 は 18 ビットのシングルチャネル デルタ - シグマ ADC で、構成ビットの設定はユーザー側でプログラミングできます。このデバイスの動作モードには、(a) 連続モードと (b) ワンショット モードの 2 つがあります。連続モード時には、デバイスは連続して変換を実行します。変換時のデバイスの消費電流は約 140 µA です。一方、ワンショット モードでは 1 回の変換が完了すると、デバイスは自動的に省電流モードに移行します。このデバイスを 18ビット モードで毎秒 1 回データを取得するように設定した場合、デバイスの消費電流はわずか 40 µA程度です。スタンバイ モードでは、消費電流はわずか 100 nA 程度です。この機能は、特にバッテリ駆動型の低消費電力アプリケーションで大きな効果を発揮します。

このデバイスには、最大ゲイン 8 倍、内部リファレンス電圧 2.048V のプログラマブル ゲイン アンプ(PGA) が内蔵されています。この PGA ゲイン機能は、低抵抗の電流センサの前後での低い電圧降下を測定するのに有用です。入力は、内部で 8 倍されてから A/D 変換されます。つまり、PGA は LSB サイズの 1/8 の入力信号まで検知できることになります。また、2.048V の内部リファレンス電圧には、ADC の性能が VDD の変動に左右されないという利点があります。ただし、入力電圧の最大値は 2.048Vに制限されます。このような制限により、測定するバッテリ電圧がリファレンス電圧よりも高い場合は、簡単な分圧回路が必要です。MCP3421 ファミリには、シングル チャネル、デュアル チャネル、4 チャネルのデバイスがあります。

以下に、MCP3421 デバイス ファミリの主な機能を示します。

• プログラマブルな ADC 分解能

- 12 ビット、14 ビット、16 ビット、18 ビット

• 差動入力動作またはシングルエンド入力動作

• 電圧リファレンス内蔵

• プログラマブル ゲイン アンプ (PGA) 内蔵

- ゲイン = 1、2、4、または 8 • ワンショット変換オプションまたは連続変換オプション

• 低消費電流 - 145 µA( 標準 )、連続変換時

- ワンショット変換 (1 SPS)、VDD= 3V の場合

39 µA ( 標準 ) (18 ビット モード時 )9.7 µA ( 標準 ) (16 ビット モード時 )2.4 µA ( 標準 ) (14 ビット モード時 )0.6 µA ( 標準 ) (12 ビット モード時 )

% of Capacity Discharged

3.5

3.0

2.0

2.5

1.5

1.0

0.5

4.0

20 % 40 % 60 % 80 % 100 %

Cel

l Vol

tage

(V)

Li-Ion

Lead-Acid

Ni-ZnNi-Cd

ZnMnO2NiMh

1.5

2.0

2.5

3.0

3.5

4.0

1.0

Cel

l Vol

tage

(V)

1 2 3 4 5 6 7 8 109

0.5

55 oC

25 oC

-25 oC

Discharge Time (Hour)

DS01156A_JP - ページ 2 © 2008 Microchip Technology Inc.

Page 3: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

ADC を使用したバッテリ電圧の測定

図 3 に、MCP3421 デバイス (U1) を使用したバッテリ電圧測定回路を示します。MCP3421 デバイスには内部リファレンス電圧があるので、測定可能な入力電圧の最大値は、内部電圧のリファレンス電圧である 2.048V までとなります。このため、内部リファレンス電圧よりも高い入力電圧を測定するには、R1、R2、R3 で構成される分圧回路が必要となります。R3はオプションであり、R1 と R2 の部品公差を校正するために使用するものです。分圧回路の直列抵抗の値をきわめて大きく (> 1 MΩ) すると、分圧回路による電流損失は無視できるレベルになります。

図 3 に示す回路例では、ADC は正入力ピン (VIN+)をバッテリ電圧に、負入力ピン (VIN-) を VSS に接続したシングルエンド構成となっています。ADC からの出力は、I2C バス ラインを経由して MCU に接続されます。

図 4 に、3.7V リチウムポリマー バッテリ (3.7V、170 mAH) の放電曲線を示します。この曲線を見ると、全容量の約 80%まではバッテリ電圧が直線的に下降していることが分かります。

バッテリの放電曲線は、急激な下降を始めるまではきわめて直線的に推移しているため、バッテリ電流の状態を低コストで推測する場合はバッテリ電圧を測定するだけでよいことになります。この場合、バッテリ電圧の測定値は MCU ファームウェア内のルックアップ テーブルに格納された残量値と比較できます。

ここに示した回路は、バッテリの種類にかかわらず、バッテリ電圧の測定に使用できます。この回路を使用する際は、ADC デバイスへの入力電圧の最大値 ( すなわちバッテリのフル充電時に VIN+ ピンにかかる電圧 ) が ADC の内部リファレンス電圧(2.048V) より低くなるよう、分圧回路 (R1、R2、R3)を正しく調節する必要があります。

電圧の測定だけでバッテリ液の残量を正確に知ることはできませんが、実現が簡単明瞭であるため、シンプルで省コスト性のアプリケーションではこの方法が広く使用されています。

図 3: バッテリ電圧の測定

LSB = 2.048V

2 (18-1)= 15.625 µV

Voltage at VIN+ pin = (R2 + R3)

R1 + (R2 + R3)Battery Volt *

To Load

© 2008 Microchip Technology Inc. DS01156A_JP - ページ 3

Page 4: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

図 4: 3.7V リチウムポリマー バッテリの放電曲線

Linear Approximation Line

Actual Curve

DS01156A_JP - ページ 4 © 2008 Microchip Technology Inc.

Page 5: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

図 5: バッテリ電圧測定用の MCU ファームウェアのフローチャート

LSB = 2.048V

2(17)= 15.625 µV

Send I2C Write Command to write the ADC Configuration Register Bits(One-shot conversion and 18 bit mode, PGA = 1)

Send I2C Read Command and Acquires 18 Bits of Conversion Data

Measured Voltage = Acquired ADC Code * LSB

Start

Convert the acquired digital data into voltage:

where:

Do you want to display the voltage on LCD ?

Convert the resulting Input Battery Voltage in binary form to decimal number

Display the Battery Voltage in LCD

No

Yes

Battery Voltage = Measured Voltage *

(R2 + R3)R1 + (R2 + R3)

= Measured Voltage *

Scale Factor of Voltage Divider Circuit 1

© 2008 Microchip Technology Inc. DS01156A_JP - ページ 5

Page 6: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

放電 / 充電電流の測定

図 6 に、MCP3421 ADC デバイスを使用したバッテリの放電 / 充電電流測定回路を示します。放電モードでは、電流はバッテリから電流センサ素子を経由して負荷の方向へ流れます。電流センサに電流が流れると、センサの抵抗成分により、センサ素子の前後で電圧降下が生じます。この電圧降下をMCP3421デバイスで測定します。

例に示す回路では、MCP3421 の差動入力ピンが電流センサの前後に接続されています。放電モードでは、VIN+ 入力ピンにかかる電圧は VIN- ピンにかかる電圧に対して正となります。充電モードでは、電流の方向が反対になるため、極性も反対になります。MCU は、ADC 出力コードの符号ビット (MSB)を調べて電流の向きを判断します。

設計時に電流センサを選択する際は、バッテリの電圧バジェットと ADC のビット分解能の両方を考慮する必要があります。電流センサによる電圧降下は損失であるため、最小限に抑える必要があります。その一方、ADC で測定できるだけの大きさも必要です。理論上は、入力信号が 1 LSB (Least SignificantBit) より大きければ ADC で測定できます。

式 1: MCP3421 の LSB

10 mA の負荷電流が 10 mΩの電流センサを流れたとすると、電流センサ前後の電圧降下は 100 µV となります。これは 18 ビットの MCP3421 ADC デバイスの 6.4 LSB、すなわち 6.4 の出力コードと同等です ( 実際には整数部分の 6 が出力される )。MCP3421 デバイスには PGA が内蔵されています。PGA のゲインを 8 に設定すると、入力が内部で800 µVに増幅されてからA/D変換が実行されます。この結果、測定に十分な 51 LSB、すなわち 51 の出力コードが得られます。

この例が示すように、電流を正確に測定するには高分解能の ADC が必要です。比較的高い抵抗値の電流センサを使用するのでなければ、PGA を内蔵した ADC を選択することが推奨されます。

電流は、電圧の測定値を、電流センサの既知の抵抗値で割って求めます。こうすることで、電流を短い間隔で定期的に測定できます。次に、この測定値を経時的に累積します。この放電電流の測定値を累計したものが使用されたバッテリ容量で、残りのバッテリ容量はバッテリのフル充電時容量から使用された容量を差し引いたものになります。これらのパラメータの計算は、MCU のファームウェアを使用して実行できます。

式 2: 電流の計算

式 3: 使用 ( 放電 ) されたバッテリ容量

式 4: 残りのバッテリ容量

LSB Reference Voltage2n 1–

-------------------------------------------- 2.048V217

----------------- 15.625µV= = =

ここで :n = 分解能ビット数

I Measured VoltageR of Current Sensor------------------------------------------------=

Fuel Used mAH( ) Disch ing Current mA( ) × ∆Time n( )argn 1=

N

∑=

Fuel Used mAH( ) Disch ing Current mA( ) × ∆Second n( )3600

-------------------------------argn 1=

N

∑=

Fuel Remaining mAH( ) Battery Full Capacity mAH( ) Fuel Used mAH( )–=

DS01156A_JP - ページ 6 © 2008 Microchip Technology Inc.

Page 7: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

MCU ファームウェアは、MCP3421 ADC デバイスがデータ変換、乗算、除算、および 2 進数から 10進数への変換を実行する際の制御を実行します。こうした処理を実行する MCU のコード例は、本アプリケーション ノートに付属のファームウェアに含まれています。

図 6: バッテリの放電 / 充電電流の測定

© 2008 Microchip Technology Inc. DS01156A_JP - ページ 7

Page 8: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

図 7: バッテリ電流測定用の MCU ファームウェアのフローチャート

LSB = 2.048V

2(18-1)= 15.625 µV

Send I2C Write Command to write the ADC Configuration Register Bits(One-shot conversion, 18 bits mode, PGA = 8)

Send I2C Read Command and Acquires 18 Bits of Conversion Data

(Dividing the factor of 8 is to take

Start

Convert the acquired ADC code into voltage:

where:

Do you want to display the current on LCD ?

Convert the current in binary form into decimal number

Display the value in LCD

Current = Measured Voltage

Convert to current:

Resistance Value of Current Sensor

Acquired ADC Code * LSB8

care of the PGA setting for the input signal.)

Sign Bit = 0 ? ADC Data = two’s complement of Acquired ADC Data

This is the discharging current This is the battery charging current.

Yes

No

The current flows into the battery.The direction of current is from the battery to the load.

Yes

No

MSB = 1

MSB = 0

Measured Voltage =

DS01156A_JP - ページ 8 © 2008 Microchip Technology Inc.

Page 9: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

デュアルチャネル ADC を使用した電圧と電流の測定

図 8 に、バッテリの電圧と電流の両方を測定する回路の例を示します。この測定には、デュアル チャネルの MCP3421 ADC デバイスを使用します。

MCU は、チャネルを多重化することで電圧と電流を測定できます。チャネルを多重化することを除けば、測定の原理は前項で説明した電圧と電流の測定と同じです。

図 8: バッテリの電圧と電流の測定

2-channel MCP3421Family Device

© 2008 Microchip Technology Inc. DS01156A_JP - ページ 9

Page 10: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

MCP3421 バッテリ残量ゲージ デモ ボードを使用したバッテリ残量測定アルゴリズム

図 9 と図 10 に、MCP3421 バッテリ残量ゲージ デモボードとその回路図をそれぞれ示します。

MCP3421 バッテリ残量ゲージ デモ ボードはバッテリの電圧と電流を 1 秒ごとに測定し、使用されたバッテリ容量と残りのバッテリ容量を計算します。測定値と計算結果はいずれもLCDに表示されます。

充電式バッテリを使用する場合は、必要に応じてバッテリを充電することもできます。この回路では、電圧測定用 (U5) と電流測定用 (U1) とで 2 つのMCP3421 デバイスが使用されています。U5 と U1の機能は、1 個のデュアルチャネル デバイス (U6)で代用できます。U6 はこのボードには実装されていません。R3、R4、R1 は分圧回路を構成します。R1 は、R3 と R4 の部品公差を校正するための可変抵抗器です。これらの抵抗の合計が 1 MΩより大きい場合、分圧回路による電流損失は無視できるレベルになります。

R12 は 0.01Ωの電流センサです。すべての負荷電流が R12 を流れます。

R11 は負荷抵抗の合計 (100Ω) を表しています。この値は、ある一定の負荷状態を表すために選択されたものであり、どのような値でもかまいません。

上記の状態で 1.5V の単四形電池を使用すると、負荷電流は 15 mA となります。電流センサ前後の電圧降下は次のとおりとなります。

U1 の ADC を 8 倍の PGA ゲインで構成して 18 ビット分解能で動作させた場合、ADC デバイスから出力される有効なデジタル変換コード ( カウント ) の総数は次のとおりとなります。

式 5:

式 5 に示した例は、15 mA の電流が 10 mΩ の電流センサを流れた場合について測定したものです。これを見ると、18 ビットの MCP3421 ADC デバイスで同一符号であれば利用できる全 131072 コードのうち、約 77 デジタル コードが有効に利用できることが分かります。この数の出力コードを利用できるだけでも、10 mΩ のセンサを流れる 15 mA の電流は十分検出できます。有効に利用できるコード数が多いほど精度が向上し、それとともに ADC のビット

分解能と PGA 設定も高まります。一般に、ADC はビット分解能が大きいほどデバイスのテスト時間が長くなり、それにつれて価格が高くなります。

PGA のゲインを 8 に設定すると、MCP3421 デバイスは 1.953 µV からの入力電圧を測定できます。これは 21 ビット ADC の LSB サイズであり、18 ビットの ADC デバイスに 3 ビットを追加して使用するのと同等です。

MCU のファームウェアは電流センサを流れる電流を追跡し、使用されたバッテリ容量と残りのバッテリ容量を計算します。

MCP73831(U3) は、単一セルのリチウムイオン / リチウムポリマー バッテリ充電管理コントローラです。MCU が PROG ピンを制御することで、バッテリの充電を開始または停止します。また、MCU はSTATUSピンを利用してバッテリの充電状態を監視します。

図 11 に、MCP3421 バッテリ残量ゲージ デモ キットで使用しているサンプル アルゴリズムのフローチャートを示します。このアルゴリズムは MCU のファームウェアをベースにしているため、アルゴリズムは各自で容易に変更できます。

MCU のサンプル ファームウェア

本アプリケーション ノートには、図 9、図 10、図 11に対応した MCU のサンプル ファームウェアが添付されています。このファームウェアは、PIC18F4550MCU を使用して作成しています。充電式バッテリには、米国カリフォルニア州 Powerizer 社 ( ウェブサイト : http://www.batteryspace.com) 製 3.7V / 170 mA リチウムイオン / ポリマー バッテリ ( 製品番号 : PL052025) を使用しています。

MCP3421バッテリ残量ゲージ デモ ボード キットは1.5V 単四形乾電池を使用するユーザー向けに出荷されているため、バッテリ充電機能は無効になっています。しかしながら、本アプリケーション ノートのサンプル ファームウェアでは充電式バッテリ( 製品番号 PL052025) を使用しています。

ユーザーは、MCP3421 バッテリ残量ゲージ デモボード キット、付属のファームウェア、指定の充電式バッテリ ( 製品番号 PL052025) を使用してバッテリ充電機能のシミュレーションを実行できます。MCP3421バッテリ残量ゲージ デモ ボード キットでこのファームウェアを使用すると、バッテリ残量を追跡し、残量がなくなったらバッテリを充電できます。

MCU のファームウェアはダウンロード可能です( ファイル名 : MCP3421 App Note on Battery Fuel Gauge.Zip)。

V 15mA 0.01Ω• 150µV= =

PGA ゲインを 8 に設定した場合のADC デバイスへの入力電圧 = 150 µV * 8 = 1.2 mV

有効な ADC コード カウント 1.2 mV

LSB ( = 15.6 µV)

= 77 カウント

の総数 =

DS01156A_JP - ページ 10 © 2008 Microchip Technology Inc.

Page 11: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

図 9: MCP3421 残量ゲージ デモ ボード

9V Power Supply

MCP3421 I2CInterface Test Points

(See Note 1)

Test Pins for Battery ChargerMenu Selection Switch

Connector forMPLAB® ICD2 In-Circuit

2x16 LCD

MCP3421

MCP3422 Footprint MCP73831

MCU MCLR Reset Switch

Potentiometer

USB

Jumper for Discharging Path

Battery U

nder Test

Con

nect

or(n

ot u

sed)

+

9V Battery

(See Note 1)Connector (TP11)

CurrentSensor

PIC18F4550

© 2008 Microchip Technology Inc. DS01156A_JP - ページ 11

Page 12: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

図 10: MCP3421 残量ゲージ デモ ボードの回路図

1

9V9V

DS01156A_JP - ページ 12 © 2008 Microchip Technology Inc.

Page 13: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

図 11: バッテリ残量管理のアルゴリズム

Get ADC value from U1

(for Battery Voltage)

Multiply ADC counts * LSB (LSB = 15.625 µV)

(Take into account theGet ADC value from U5

( for Discharging Current)

Battery Voltage < 50%

Fuel Used (mAH) = Fuel Used (mAH) + ∆Discharging Fuel (mAH)

Fuel Remaining (mAH) = Fuel Remaining (mAH)

(Discharging Fuel (mAH) = Discharging Current (mA•s)/3600)

- Fuel Used (mAH)

Fuel Remaining (mAH) = Fuel Remaining (mAH) + Fuel Charged (mAH)

Fuel Remaining (mAH) = Initial Battery Fuel (fully charged, 170 mAH)

Is Battery Fully Charged ? or

Interrupted ?

Get ADC value from U1( for Charging Current)

Get ADC value from U5(Battery Voltage)

Display Charging Current & Battery Voltage

Display Discharging Current and Battery Voltage

Display Fuel Remaining andFuel Used

No

Yes

Yes

No

Start

and want to Recharge?

voltage divider at input)

Enable MCP73831 output (to recharge battery)

Disable MCP73831 output (recharging is done)

Display Fuel Remaining

© 2008 Microchip Technology Inc. DS01156A_JP - ページ 13

Page 14: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

AN1156

結論

バッテリから流出する電流 ( 放電電流 ) とバッテリに流入する電流 ( 充電電流 ) をデバイスで経時的に追跡できれば、バッテリ残量は比較的簡単に測定できます。バッテリ残量ゲージの精度は電流の測定精度に依存します。単体の MCP3421 ADC ファミリ デバイスは、一般的な集積化されたバッテリ残量ゲージに使用されている ADC よりもはるかに高い測定精度を備えています。また、優れた性能だけでなく、大幅にコストを削減できるという利点もあります。

本アプリケーション ノートには、バッテリ残量測定アルゴリズムを実現するのに必要な MCU のサンプル ファームウェアが添付されています。このMCUファームウェアはPIC18F4550をベースにしています。このサンプルには、MCP3421 ADC デバイスの読み出しと書き込み、2 進数の乗算と除算、LCDディスプレイ表示のための 2 進数から 10 進数への変換など、実際に役立つコードが多く含まれています。

本アプリケーション ノートに示したサンプルでは、バッテリ特性への温度の影響は考慮していません。

参考資料

[1] MCP3421 データシート『18-bit ADC with I2C Interface and On-Board Reference』(DS22003) Microchip Technology Inc.

[2] 『MCP3421 Battery Fuel Gauge Demo Board User’s Guide』(DS51683A) Microchip Technology Inc. [3] MCP73831/2 データシート『Miniature Single-Cell, Fully Integrated Li-Ion, Li-Polymer Charger Management Controllers』(DS21984) Microchip Technology Inc.

[4] PIC18F2455/2550/4455/4450 データシート『28/40/44-Pin, High-Performance, Enhanced Flash, USB

Microcontrollers with nanoWatt Technology』(DS39632) Microchip Technology Inc.

注 : 添付されている MCU のサンプル ファームウェアは、指定のバッテリに対してのみ有効です。他の種類のバッテリを使用する場合は、各自でファームウェアを書き換えてください。

DS01156A_JP - ページ 14 © 2008 Microchip Technology Inc.

Page 15: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

マイクロチップ社デバイスのコード保護機能に関する以下の点にご留意ください。

• マイクロチップ社製品は、その該当するマイクロチップ社データシートに記載の仕様を満たしています。

• マイクロチップ社では、通常の条件ならびに仕様どおりの方法で使用した場合、マイクロチップ社製品は現在市場に流通している同種製品としては最もセキュリティの高い部類に入る製品であると考えております。

• コード保護機能を解除するための不正かつ違法な方法が存在します。マイクロチップ社の確認している範囲では、このような方法のいずれにおいても、マイクロチップ社製品をマイクロチップ社データシートの動作仕様外の方法で使用する必要があります。このような行為は、知的所有権の侵害に該当する可能性が非常に高いと言えます。

• マイクロチップ社は、コードの保全について懸念を抱いているお客様と連携し、対応策に取り組んでいきます。

• マイクロチップ社を含むすべての半導体メーカーの中で、自社のコードのセキュリティを完全に保証できる企業はありません。コード保護機能とは、マイクロチップ社が製品を「解読不能」として保証しているものではありません。

コード保護機能は常に進歩しています。マイクロチップ社では、製品のコード保護機能の改善に継続的に取り組んでいます。マイクロチップ社のコード保護機能を解除しようとする行為は、デジタルミレニアム著作権法に抵触する可能性があります。そのような行為によってソフトウェアまたはその他の著作物に不正なアクセスを受けた場合は、デジタルミレニアム著作権法の定めるところにより損害賠償訴訟を起こす権利があります。

本書に記載されているデバイス アプリケーションなどに関する情報は、ユーザーの便宜のためにのみ提供されているものであり、更新によって無効とされることがあります。アプリケーションと仕様の整合性を保証することは、お客様の責任において行ってください。マイクロチップ社は、明示的、暗黙的、書面、口頭、法定のいずれであるかを問わず、本書に記載されている情報に関して、状態、品質、性能、商品性、特定目的への適合性をはじめとする、いかなる類の表明も保証も行いません。マイクロチップ社は、本書の情報およびその使用に起因する一切の責任を否認します。マイクロチップ社デバイスを生命維持および /または保安のアプリケーションに使用することはデバイス購入者の全責任において行うものとし、デバイス購入者は、デバイスの使用に起因するすべての損害、請求、訴訟、および出費に関してマイクロチップ社を弁護、免責し、同社に不利益が及ばないようにすることに同意するものとします。暗黙的あるいは明示的を問わず、マイクロチップ社が知的財産権を保有しているライセンスは一切譲渡されません。

© 2008 Microchip Technology Inc.

商標

Microchip の社名とロゴ、Microchip ロゴ、Accuron、dsPIC、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、rfPIC、SmartShunt、UNI/O は、米国およびその他の国における Microchip Technology Incorporated の登録商標です。

FilterLab、Linear Active Thermistor、MXDEV、MXLAB、SEEVAL、SmartSensor、The Embedded Control Solutions Company は、米国における Microchip Technology Incorporated の登録商標です。

Analog-for-the-Digital Age、Application Maestro、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、In-Circuit Serial Programming、ICSP、ICEPIC、Mindi、MiWi、MPASM、MPLAB Certified ロゴ、MPLIB、MPLINK、mTouch、PICkit、PICDEM、PICDEM.net、PICtail、PIC32 logo、PowerCal、PowerInfo、PowerMate、PowerTool、Real ICE、rfLAB、Select Mode、Total Endurance、WiperLock、ZENA、は米国およびその他の国における Microchip Technology Incorporated の商標です。

SQTP は米国における Microchip Technology Incorporatedのサービスマークです。

その他、本書に記載されている商標は、各社に帰属します。

© 2008, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved.

再生紙を使用しています。

DS01156A_JP - ページ 15

マイクロチップ社では、Chandler および Tempe ( アリゾナ州 )、Gresham ( オレゴン州 ) の本部、設計部およびウエハ製造工場そしてカリフォルニア州とインドのデザイン センターが ISO/TS-16949:2002認証を取得しています。マイクロチップ社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。また、マイクロチップ社の開発システムの設計および製造に関する品質システムは、ISO 9001:2000 の認証を受けています。

Page 16: デルタ ADCww1.microchip.com/downloads/jp/AppNotes/01156A_JP.pdf容量(mAH) と残りのバッテリ容量(mAH) は、放 電電流と充電電流を経時的に追跡して計算します。この放電電流を累計したものが使用されたバッテ

DS01156A_JP - ページ 16 © 2008 Microchip Technology Inc.

北米本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-792-7200 Fax: 480-792-7277テクニカル サポート : http://support.microchip.comウェブ アドレス : www.microchip.comアトランタDuluth, GA Tel: 678-957-9614 Fax: 678-957-1455ボストンWestborough, MATel: 774-760-0087 Fax: 774-760-0088シカゴItasca, ILTel: 630-285-0071 Fax: 630-285-0075ダラスAddison, TXTel: 972-818-7423 Fax: 972-818-2924デトロイトFarmington Hills, MITel: 248-538-2250Fax: 248-538-2260ココモKokomo, INTel: 765-864-8360Fax: 765-864-8387ロサンゼルスMission Viejo, CATel: 949-462-9523 Fax: 949-462-9608サンタクララSanta Clara, CATel: 408-961-6444Fax: 408-961-6445トロントMississauga, Ontario,CanadaTel: 905-673-0699 Fax: 905-673-6509

アジア / 太平洋アジア太平洋支社Suites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel: 852-2401-1200Fax: 852-2401-3431オーストラリア - シドニー

Tel: 61-2-9868-6733Fax: 61-2-9868-6755中国 - 北京

Tel: 86-10-8528-2100 Fax: 86-10-8528-2104中国 - 成都

Tel: 86-28-8665-5511Fax: 86-28-8665-7889中国 - 香港 SARTel: 852-2401-1200 Fax: 852-2401-3431中国 - 南京

Tel: 86-25-8473-2460Fax: 86-25-8473-2470中国 - 青島

Tel: 86-532-8502-7355Fax: 86-532-8502-7205中国 - 上海

Tel: 86-21-5407-5533 Fax: 86-21-5407-5066中国 - 瀋陽

Tel: 86-24-2334-2829Fax: 86-24-2334-2393中国 - 深川

Tel: 86-755-8203-2660 Fax: 86-755-8203-1760中国 - 武漢

Tel: 86-27-5980-5300Fax: 86-27-5980-5118中国 - 厦門

Tel: 86-592-2388138 Fax: 86-592-2388130中国 - 西安

Tel: 86-29-8833-7252Fax: 86-29-8833-7256中国 - 珠海

Tel: 86-756-3210040 Fax: 86-756-3210049

アジア / 太平洋インド - バンガロール

Tel: 91-80-4182-8400 Fax: 91-80-4182-8422インド - ニューデリー

Tel: 91-11-4160-8631Fax: 91-11-4160-8632インド - プネ

Tel: 91-20-2566-1512Fax: 91-20-2566-1513日本 - 横浜

Tel: 81-45-471- 6166 Fax: 81-45-471-6122韓国 - 大邱

Tel: 82-53-744-4301Fax: 82-53-744-4302韓国 - ソウル

Tel: 82-2-554-7200Fax: 82-2-558-5932 または82-2-558-5934マレーシア - クアラルンプール

Tel: 60-3-6201-9857Fax: 60-3-6201-9859マレーシア - ペナン

Tel: 60-4-227-8870Fax: 60-4-227-4068フィリピン - マニラ

Tel: 63-2-634-9065Fax: 63-2-634-9069シンガポールTel: 65-6334-8870Fax: 65-6334-8850台湾 - 新竹

Tel: 886-3-572-9526Fax: 886-3-572-6459台湾 - 高雄

Tel: 886-7-536-4818Fax: 886-7-536-4803台湾 - 台北

Tel: 886-2-2500-6610 Fax: 886-2-2508-0102タイ - バンコク

Tel: 66-2-694-1351Fax: 66-2-694-1350

ヨーロッパオーストリア - ヴェルス

Tel: 43-7242-2244-39Fax: 43-7242-2244-393デンマーク - コペンハーゲン

Tel: 45-4450-2828 Fax: 45-4485-2829フランス - パリ

Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79ドイツ - ミュンヘン

Tel: 49-89-627-144-0 Fax: 49-89-627-144-44イタリア - ミラノ Tel: 39-0331-742611 Fax: 39-0331-466781オランダ - ドリューネン

Tel: 31-416-690399 Fax: 31-416-690340スペイン - マドリッド

Tel: 34-91-708-08-90Fax: 34-91-708-08-91英国 - ウォーキンガム

Tel: 44-118-921-5869Fax: 44-118-921-5820

世界各国での販売およびサービス

01/02/08