(57)【要約】【課題】二次電池を備える電源管理システムにおけるハードウェア資源の重複を低減する。【解決手段】電池モニタ部３０４は、（i）二次電池パック２００の着脱状態、（ii）電池電圧ＶＢＡＴの低電圧状態、（iii）二次電池パック２００の使用可・不可状態の少なくともひとつを実行する。電池計測部３０６は、電池電圧ＶＢＡＴ、充放電電流ＩＢＡＴ、二次電池パックの温度Ｔを計測し、ディジタルデータに変換する。充電回路３０２は、電池モニタ部３０４により検出された状態および電池計測部３０６により測定された情報にもとづいて、外部電源からの直流電圧を利用して二次電池パックを充電可能に構成される。クーロンカウンタ３０８は、所定の時間間隔で充放電電流ＩＢＡＴを計測し、それを積算していくことで、充電電荷量または放電電荷量の総和を算出する。バッテリマネージメント回路３００はひとつの半導体基板に一体集積化される。【選択図】図３
2015027137.tif 000002
【特許請求の範囲】
【請求項１】
二次電池パックを管理するバッテリマネージメント回路であって、
（i）前記二次電池パックの着脱状態、（ii）二次電池パックの電池電圧の低電圧状態、（iii）二次電池パックの使用可否状態の少なくともひとつを実行可能に構成された電池モニタ部と、
前記電池電圧、二次電池パックへの充放電電流、二次電池パックの温度を計測し、ディジタルデータに変換する電池計測部と、
前記電池モニタ部により検出された状態および前記電池計測部により測定された情報にもとづいて、外部電源からの直流電圧を利用して前記二次電池パックを充電可能に構成された充電回路と、
所定の時間間隔で二次電池パックの充放電電流を計測し、それを積算していくことで、充電電荷量または放電電荷量の総和を算出するクーロンカウンタと、
を備え、ひとつの半導体基板あるいはモジュールとして一体に構成されることを特徴とするバッテリマネージメント回路。
【請求項２】
前記電池計測部は、前記電池電圧、前記充放電電流、前記温度それぞれに応じた検出電圧を、ディジタル値に変換する第１Ａ／Ｄ変換器を含み、
前記クーロンカウンタは、前記二次電池パックと直列に設けられた電流検知抵抗器の電圧降下をディジタル値に変換する第２Ａ／Ｄ変換器を含むことを特徴とする請求項１に記載のバッテリマネージメント回路。
【請求項３】
前記第２Ａ／Ｄ変換器の精度は、前記第１Ａ／Ｄ変換器の精度よりも高いことを特徴とする請求項２に記載のバッテリマネージメント回路。
【請求項４】
前記第１Ａ／Ｄ変換器は、停止可能に構成されることを特徴とする請求項２に記載のバッテリマネージメント回路。
【請求項５】
二次電池パックと、
前記二次電池パックからの電池電圧、または外部電源からの直流電圧を受け、所定レベルに安定化された電源電圧を生成するパワーマネージメント回路と、
前記電源電圧を受けて動作するシステムコントローラと、
請求項１から３のいずれかに記載のバッテリマネージメント回路と、
を備えることを特徴とする電源管理システム。
【請求項６】
前記システムコントローラは、前記バッテリマネージメント回路と通信可能に構成され、
前記クーロンカウンタのカウント値および前記電池計測部による測定結果にもとづいて、前記電池の残存容量を計算可能に構成されることを特徴とする請求項５に記載の電源管理システム。
【請求項７】
請求項５または６に記載の電源管理システムを備える電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次電池を有する電源管理システムに関する。
【背景技術】
【０００２】
携帯電話端末、ディジタルカメラ、タブレット端末、ノート型パーソナルコンピュータをはじめとするさまざまな電池駆動型の電子機器において、システム制御や信号処理を行うＣＰＵ（Central Processing Unit）、液晶パネル、無線通信モジュール、その他のアナログ、ディジタル回路などの各電子回路は、二次電池からの電力供給を受けて動作する。
【０００３】
電池駆動型の電子機器では、電池残存容量の検出が欠かせない機能となっている。電池の残存容量の検出方法としては、以下で説明する（１）電圧法と、（２）電荷積算法の２つが主流となっている。
【０００４】
電圧法では、電池の電圧（以下、電池電圧ともいう）を測定し、電圧と充電状態（SOC：State Of Charge）の対応関係から残存容量を推定する。電荷積算法では、電池に流れ込む充電電流、電池から流れ出る放電電流（以下、充放電電流あるいは負荷電流と総称する)をそれぞれ積算し、電池への充電電荷量、放電電荷量を計算することで残存容量を推定する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１２−５３３７５９号公報
【特許文献２】特開２０１１−０６４４７１号公報
【特許文献３】特開２０１０−０１９７５８号公報
【特許文献４】特開平５−３２３００１号公報
【特許文献５】特開２０１１−１２３０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
電圧法では、事前に計測しておいた電池の開放電圧（OCV:：Open Circuit Voltage）と充電状態（SOC）との対応関係にもとづき、電池の放電動作中に電池の電圧を計測し、充電状態（SOC）を求めるものである。一方、電荷蓄積法により求めるSOCは、満充電状態の電池容量BATCAPを基準として、現在の残容量の相対的な割合を表したものであり、相対残存容量ともいう。電圧法により求めた相対残存容量SOCからは、絶対的な残存容量（以下、絶対残存容量）を知ることができない。
【０００７】
二次電池の外部から測定しうるのは端子電圧（電池電圧という）VBATであり、OCVは、電池電圧VBATから推定する必要がある。ここで電池電圧VBATは、OCVよりも下がった電圧値を示すが、この電圧降下量は、電池の動作条件すなわち、負荷電流IBATの波形、電池セルの温度、電池の劣化状態に大きく影響を受ける。
【０００８】
電池電圧が開放電圧よりも低下する原因は、電池の内部抵抗（等価抵抗値）が上記の動作条件に依存して増大するためである。電池の等価抵抗値を正しく検知する方法のひとつとして、電池の等価回路モデルを想定し、それを構成するインピーダンス要素すなわち、抵抗性、容量性、および誘導性の各インピーダンス要素を同定し電池の特性を正確に模擬しようとする方法がある。図１（ａ）、（ｂ）は、電池の等価回路モデルを示す図である。図１（ａ）のＺｗは、拡散過程に起因するインピーダンスであり、ワールブルグ・インピーダンスとも称される。
【０００９】
正確さの向上を追求すると、図１（ａ）に示すように等価回路モデルが複雑になるため、等価抵抗値算出の演算量が増え、演算処理時間や消費電力が増加するという欠点がある。逆に、演算量削減のために図１（ｂ）に示すように等価回路モデルを簡単化すると、推定誤差が増大するおそれがある。
【００１０】
また、電荷積算法は、実際の充電動作中および放電動作中に、充電電荷量および放電電荷量を積算するので、完全に放電完了した時点で電荷積算値をゼロとし、充電動作中に充電電荷量を積算し、電池電圧が満充電電圧に到達するまで充電すれば、その時点の電荷積算値が満充電容量であるとみなすことができ、その後の放電動作中には、放電電荷量を減算していくことで、正確な絶対残存容量値を得ることができる。
【００１１】
しかし、実際の電子機器の運用時には、システムが動作停止する前に、周辺回路の動作を止め、必要な情報やデータを不揮発性記憶媒体に退避する作業を行うため、それらの処理を実行するのに充分な電力を残存させておく必要があることから、電池を完全な放電完了状態にすることが困難である。また、未知の充電状態の電池を装着した場合は、電荷積算量の相対値は正確に得られるものの、その絶対値は不明のままである。
【００１２】
図２は、本発明者らが検討した比較技術に係る電源管理システム１０１ｒを示すブロック図である。なお図２の電源管理システム１０１ｒを従来技術と認定してはならない。この電源管理システム１０１ｒでは、充電回路３０２ｒ、電池モニタ部３０４ｒ、電池計測部３０６ｒ、クーロンカウンタ３０８ｒが、２個以上の個別のＩＣ（Integrated Circuit）あるいはモジュールに分けて構成される。
【００１３】
充電回路３０２ｒは、外部の電源アダプタからＤＣ電圧VEXTを受け、二次電池パック２００を充電する。充電回路３０２ｒは、たとえば定電流充電と定電圧充電が切りかえ可能であり、定電流充電時には、電池電流IBATを検出して、電流の検出値が目標値に近づくように充電状態を制御する。また定電圧充電時には、電池電圧を検出して、電池電圧の検出値が目標値に近づくように充電状態をフィードバック制御する。また満充電検出のために、電池電圧をしきい値と比較する電圧コンパレータや、外部からのＤＣ電圧VEXTを検出するための電圧コンパレータなどを含む。さらに充電電流制御のために、電池の温度を測定する機能を備える。
【００１４】
電池モニタ部３０４ｒは、（i）二次電池パック２００を着脱したときの装着検出および脱離検出、（ii）電池セル２０２の出力である電池電圧VBATの過剰な低電圧検出、（iii）電池セル２０２の使用可・不可検出（デッドバッテリ検出）などを行う。
【００１５】
電池計測部３０６ｒは、電池セル２０２の出力電圧VBAT、電池セル２０２への充電・放電電流IBAT、電池セル２０２の温度Tを計測し、ディジタルデータに変換する。
【００１６】
クーロンカウンタ３０８ｒは、一定の時間間隔（１秒または数秒）で電池の充放電電流IBATを計測し、時間間隔を掛けた電荷量をその時点の充電量または放電量とし、これを積算していくことで、充電電荷量または放電電荷量の総和を算出する。
【００１７】
この比較技術では、充電回路３０２ｒ、電池モニタ部３０４ｒ、電池計測部３０６ｒ、クーロンカウンタ３０８ｒがそれぞれ、電圧検出、電流検出、温度検出のための回路構成、たとえば電流検出用の抵抗、Ａ／Ｄ変換器、アンプ、電圧コンパレータ等を重複して具備することとなり、ハードウェア資源が無駄となっていた。
【００１８】
本発明はこうした課題に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、二次電池を備える電源管理システムにおけるハードウェア資源の重複を低減可能なバッテリマネージメント回路の提供にある。
【課題を解決するための手段】
【００１９】
本発明のある態様は、二次電池パックを管理するバッテリマネージメント回路に関する。バッテリマネージメント回路は、（i）二次電池パックの着脱状態、（ii）二次電池パックの電池電圧の低電圧状態、（iii）二次電池パックの使用可否状態の少なくともひとつを実行可能に構成された電池モニタ部と、電池電圧、二次電池パックへの充放電電流、二次電池パックの温度を計測し、ディジタルデータに変換する電池計測部と、電池モニタ部により検出された状態および電池計測部により測定された情報にもとづいて、外部電源からの直流電圧を利用して二次電池パックを充電可能に構成された充電回路と、所定の時間間隔で二次電池パックの充放電電流を計測し、それを積算していくことで、充電電荷量または放電電荷量の総和を算出するクーロンカウンタと、を備え、ひとつの半導体基板あるはモジュールとして一体に構成される。
【００２０】
この態様によると、二次電池を充電するために必要とされる電池電圧、充放電電流、温度などを検出するためのハードウェアと、二次電池の残存容量を検出するために必要とされる電池電圧、充放電電流、温度などを検出するためのハードウェアの一部、あるいは全部を共用することができるため、ハードウェア資源の重複を低減できる。
【００２１】
電池計測部は、電池電圧、充放電電流、温度それぞれに応じた検出電圧を、ディジタル値に変換する第１Ａ／Ｄ変換器を含んでもよい。クーロンカウンタは、二次電池パックと直列に設けられた電流検知抵抗器の電圧降下をディジタル値に変換する第２Ａ／Ｄ変換器を含んでもよい。第２Ａ／Ｄ変換器の精度は、第２Ａ／Ｄ変換器の精度よりも高くてもよい。
システムが休止状態においても、電池セルからは微少な放電電流が流れ、電池残量が変化する。態様によれば、クーロンカウンタにより使用される第２Ａ／Ｄ変換器を高精度に構成することで、より正確な残存容量の検出が可能となる。
【００２２】
本発明の別の態様は、電源管理システムに関する。電源管理システムは、二次電池パックと、二次電池パックからの電池電圧、または外部電源からの直流電圧を受け、所定レベルに安定化された電源電圧を生成するパワーマネージメント回路と、電源電圧を受けて動作するシステムコントローラと、上述のバッテリマネージメント回路と、を備えてもよい。
【００２３】
システムコントローラは、バッテリマネージメント回路と通信可能に構成され、クーロンカウンタのカウント値および電池計測部による測定結果にもとづいて、電池の残存容量を計算可能に構成されてもよい。
【００２４】
本発明の別の態様は、電子機器である。電子機器は上述の電源管理システムを備えてもよい。
【００２５】
なお、以上の構成要素の任意の組み合わせや本発明の構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２６】
本発明によれば、二次電池を備える電源管理システムにおけるハードウェア資源の重複を低減できる。
【図面の簡単な説明】
【００２７】
【図１】図１（ａ）、（ｂ）は、電池の等価回路モデルを示す図である。
【図２】本発明者らが検討した比較技術に係る電源管理システムを示すブロック図である。
【図３】実施の形態に係る電源管理システムを備える電子機器のブロック図である。
【図４】図４（ａ）は、二次電池パックの等価回路モデルを示す図であり、図４（ｂ）は、電池電圧と負荷電流の波形図である。
【図５】実施の形態に係る電源管理システムの電池残存容量の検出に関する機能ブロック図である。
【図６】電源管理システムの残存容量検出処理のフローチャートである。
【図７】図６の初期測定処理のフローチャートである。
【図８】図６の初期SOC推定処理のフローチャートである。
【図９】図６のSOC推定処理のフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００２９】
本明細書において、「部材Ａが、部材Ｂと接続された状態」とは、部材Ａと部材Ｂが物理的に直接的に接続される場合や、部材Ａと部材Ｂが、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
同様に、「部材Ｃが、部材Ａと部材Ｂの間に設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
【００３０】
また本明細書において、電圧信号、電流信号、あるいは抵抗に付された符号は、必要に応じてそれぞれの電圧値、電流値、あるいは抵抗値を表すものとする。
【００３１】
（システム構成）
図３は、実施の形態に係る電源管理システム１０１を備える電子機器のブロック図である。
電子機器１００は、電池駆動型デバイスであり、二次電池パック２００に加えて、バッテリマネージメント回路３００、システムコントローラ４００、パワーマネージメント回路５００を備える。二次電池パック２００、バッテリマネージメント回路３００、システムコントローラ４００、パワーマネージメント回路５００により構成される電子機器１００における電力制御に関するシステム全体を、電源管理システム１０１と称する。
【００３２】
二次電池パック２００は、たとえばリチウムイオン電池であり、電池セル（単電池）２０２と、保護回路２０４と、サーミスタ２０６を含み、電池セル２０２の電力出力を外部に取り出すため、正極端子２０８と、負極端子２１０を有する。
【００３３】
サーミスタ２０６の一端は電池セルの負極端子２１０に接続され、他方は温度検知端子２１２に接続されている。このようにサーミスタ２０６を二次電池パック２００に内蔵するのは一例であり、電池セル２０２の温度を計測するために、機器の電池ホルダ側にサーミスタまたは他の種類の温度センサ等を、電池パックに接触するように取り付けることも可能である。
【００３４】
システムコントローラ４００は、電子機器１００全体を統合的に制御する。システムコントローラ４００は、主として、ハードウェアであるメインプロセッサ４０２と、ソフトウェアである、オペレーティングシステム４０４、アプリケーションプログラム４０６、残存容量演算プログラム４０８の協調動作により実現される。
【００３５】
システムコントローラ４００は、メインプロセッサ４０２の上で動作するオペレーティングシステム４０４のもとでシステム制御・管理、周辺回路制御を行い、またアプリケーションプログラム４０６の実行、および電池の残存容量の推定のための残存容量演算プログラム４０８の実行を行う。
【００３６】
また、メインプロセッサ４０２は、通信バス１０４を介して、バッテリマネージメント回路３００およびパワーマネージメント回路５００と通信可能であり、バッテリマネージメント回路３００やパワーマネージメント回路５００からの情報を受け取り、また電池の状態や電力供給状態の監視や制御を行うことができる。
【００３７】
直流（ＤＣ）電力入力端子１０２には、外部電源（電源アダプタともいう、不図示）が着脱可能となっている。外部電源が接続された状態において、ＤＣ電力入力端子１０２には外部ＤＣ電圧VEXTが供給される。
【００３８】
パワーマネージメント回路５００は、システム電圧VSYSを受け、システムコントローラ４００を構成するメインプロセッサ４０２やその他の周辺回路に電源電圧を供給する。システム電圧VSYSは、二次電池パック２００からの電池電圧VBAT、もしくはバッテリマネージメント回路３００によって安定化された外部電源からのＤＣ電圧VEXTでありえる。
【００３９】
パワーマネージメント回路５００は、ひとつ、あるいは複数チャンネルＣＨ１〜ＣＨＮの電源回路を含む。各チャンネルの電源回路は、負荷ごとに設けられており、システム電圧VSYSを所定レベルに安定化し、対応する負荷にＤＣ電源電圧を供給する。たとえば、第１チャンネルＣＨ１の電源回路は、システムコントローラ４００に対して電源電圧VDDを供給する。別のチャンネルの電源回路は、図示しない液晶ドライバに電源電圧を供給する。電源回路は、リニアレギュレータ、ＤＣ／ＤＣコンバータ、チャージポンプ回路などでありえる。
【００４０】
パワーマネージメント回路５００は、複数のチャンネルＣＨ１〜ＣＨＮそれぞれの電圧出力の起動・停止タイミングや供給電力の管理を行う。
【００４１】
バッテリマネージメント回路３００は、主として二次電池パック２００の管理、より具体的には二次電池パック２００の充電およびその状態の検出を行う。
【００４２】
バッテリマネージメント回路３００は、充電回路３０２、電池モニタ部３０４、電池計測部３０６、クーロンカウンタ３０８、を備える。また、バッテリマネージメント回路３００は外部入力（ＥＸＴＩＮ）端子、スイッチ（ＳＷ）端子、システム電圧（VSYS）端子、正極接続用（ＢＡＴ＋）端子、負極接続用（ＢＡＴ−）端子、サーミスタ（ＴＨ）端子、グランド（ＧＮＤ）端子を有する。
【００４３】
ＥＸＴＩＮ端子は、ＤＣ電力入力端子１０２と接続される。ＢＡＴ＋端子、ＢＡＴ−端子はそれぞれ、二次電池パック２００の正極端子２０８および負極端子２１０と接続される。ＴＨ端子は、二次電池パック２００の温度検知端子２１２と接続される。ＧＮＤ端子は接地される。
【００４４】
充電回路３０２は、ＥＸＴＩＮ端子、ＢＡＴ＋端子、VSYS端子、ＳＷ端子と接続される。
【００４５】
充電回路３０２は、ＤＣ電力入力端子１０２に有効な外部ＤＣ電圧VEXTが供給されているとき、これを電圧安定化してシステム電圧VSYSを生成し、VSYS端子を介してパワーマネージメント回路５００に供給する。また、充電回路３０２は、電池セル２０２の残存容量が減少した場合には、ＢＡＴ＋端子を介して電池セル２０２に充電電流ICHGを供給することにより、二次電池パック２００を充電する。
【００４６】
充電回路３０２は、充電電流ICHGを一定に安定化する定電流（ＣＣ：Constant Current）モードと、電池電圧VBATを一定値に安定化させる定電圧（ＣＶ：Constant Voltage）モードと、が切りかえ可能となっている。充電回路３０２はリニア電源で構成してもよいし、スイッチング電源で構成してもよく、その構成は限定されない。
【００４７】
パワーＦＥＴ１０８は、二次電池パック２００の正極端子２０８からパワーマネージメント回路５００に至る経路上に設けられる。パワーＦＥＴ１０８のゲートは、バッテリマネージメント回路３００のスイッチ端子ＳＷと接続される。充電回路３０２は、パワーＦＥＴ１０８のオン、オフを制御し、パワーマネージメント回路５００を電池電圧VBATで駆動する状態と、システム電圧VSYSで駆動する状態と、を切りかえる。
【００４８】
システムコントローラ４００が、充電回路３０２により安定化されたシステム電圧VSYSを受けて動作している最中に、システムコントローラ４００の消費電力が増加し、外部電源の容量を上回り、外部ＤＣ電圧VEXTがドロップしてシステムコントローラ４００への電力供給が不足する場合がある。そこでシステムコントローラ４００は、外部ＤＣ電圧VEXTが低い場合には、電池セル２０２の充電を中断し、パワーMOSFET（Metal Oxide Semiconductor Field Effect Transistor）１０８をフルオンさせて、電池セル２０２から電力供給を補助する。
【００４９】
電池モニタ部３０４は、（i）二次電池パック２００を着脱したときの装着検出および脱離検出、（ii）電池セル２０２の出力である電池電圧VBATの過剰な低電圧検出、（iii）電池セル２０２の使用可・不可検出（デッドバッテリ検出）などを行い、検出した電池セル２０２の状態を充電回路３０２に伝達する。充電回路３０２は、この電池セル２０２の状態情報をもとに、充電動作を制御する。
【００５０】
第１Ａ／Ｄ変換器３１０は、ＢＡＴ＋端子、ＢＡＴ−端子、ＴＨ端子、ＧＮＤ端子それぞれの電圧が入力される。電池計測部３０６は、第１Ａ／Ｄ変換器３１０を使用して、電池セル２０２の出力電圧VBAT、電池セル２０２への充電・放電電流（以下、充放電電流ともいう）IBAT、電池セル２０２の温度Tを計測し、ディジタルデータに変換する。
【００５１】
第１Ａ／Ｄ変換器３１０は、ＢＡＴ＋端子とＢＡＴ−端子の間に生ずる電池電圧VBATを受け、それをディジタル値に変換する。電池計測部３０６は、このディジタル値を、電池電圧VBATを示す電池電圧値ＤＶとして取得する。
【００５２】
電流検知抵抗器１０６は、電池セル２０２の充放電電流IBATの経路上に、電池セル２０２と直列に挿入される。本実施の形態において電流検知抵抗器１０６は、負極端子２１０と接地ラインの間に設けられるが、その場所は特に限定されない。たとえば電流検知抵抗器１０６は、正極端子２０８とパワーＦＥＴ１０８の間に挿入されてもよい。
【００５３】
電池セル２０２の充放電電流IBATは、電流検知抵抗器１０６を流れ、電流検知抵抗器１０６の両端に、充放電電流IBATに比例した電圧降下（電流検出電圧という）ＶＩが発生する。第２Ａ／Ｄ変換器３１２は、ＢＡＴ−端子とＧＮＤ端子の間の電流検出電圧ＶＩをディジタル値に変換する。
【００５４】
電流検知抵抗器１０６の抵抗値は既知である。そこで電池計測部３０６のディジタル演算部３０７は、電流検出電圧ＶＩに応じたディジタル値と電流検知抵抗器１０６の抵抗値にもとづいて、充放電電流IBATを示す電流検出値ＤＩ１を生成する。電流検出値ＤＩ１の大きさは充放電電流IBATの大きさを、電流検出値ＤＩ１の符号は充放電電流IBATの向きを表す。
【００５５】
二次電池パック２００の温度検知端子２１２は、外部の抵抗１１０を介して一定電圧にプルアップされる。この抵抗１１０を介して、二次電池パック２００に内蔵されるサーミスタ２０６に電流が流れることにより、サーミスタ２０６の両端間、つまり温度検知端子２１２と負極端子２１０の間には、サーミスタ２０６の抵抗値に応じた温度検出電圧ＶＴが発生する。サーミスタ２０６の抵抗値は、電池セル２０２の温度変化に応じて変化するため、温度検出電圧ＶＴは、電池セル２０２の温度と１対１で対応づけられる。第１Ａ／Ｄ変換器３１０は、ＴＨ端子とＢＡＴ−端子の間の温度検出電圧ＶＴをディジタル値に変換する。電池モニタ部３０４のディジタル演算部３０７は、温度検出電圧ＶＴに対応したディジタル値を、電池セル２０２の温度を示す温度値ＤＴに変換する。
【００５６】
第１Ａ／Ｄ変換器３１０は、電池電圧VBAT、電流検出電圧ＶＩ、温度検出電圧ＶＴを時分割で測定することとし、単一のＡ／Ｄ変換器を３つの電圧に対して時分割で共用してもよい。また、電力損失を低減するために電流検知抵抗器１０６の抵抗値は極力小さく設計されることが好ましい。したがって充放電電流IBATが小さいとき、電流検知抵抗器１０６の両端間に生ずる電流検出電圧ＶＩは微少となる。そこで第１Ａ／Ｄ変換器３１０の前段には、電流検出電圧ＶＩを増幅するアンプを挿入してもよい。
【００５７】
電池計測部３０６により測定された計測値、すなわち電池セルの出力電圧値ＤＶ、充放電電流値ＤＩ、電池セルの温度値ＤＴは、充電回路３０２に出力され、充電動作制御に利用される。また同時に、電池セル２０２の充電状態（SOC）を検知するため、システムコントローラ４００（残存容量演算プログラム４０８）により、インタフェース部３１４および通信バス１０４を介して読み取られ、演算処理に使用される。
【００５８】
第２Ａ／Ｄ変換器３１２は、第１Ａ／Ｄ変換器３１０と同様に、電流検知抵抗器１０６の両端間に生ずる電流検出電圧ＶＩをディジタル値に変換する。クーロンカウンタ３０８は、第２Ａ／Ｄ変換器３１２の出力値を使用して、一定の時間間隔（１秒または数秒）で電池の充放電電流IBATを計測し、時間間隔を掛けた電荷量をその時点の充電量または放電量とし、これを積算していくことで、充電電荷量または放電電荷量の総和を算出する。この処理は、ディジタル演算部３０９が実行してもよい。
【００５９】
システムが休止状態においても、電池セル２０２からは微少な放電電流が流れ、電池残存容量が変化するため、正確な電池残存容量検出のためには、微少な充放電電流を検出する必要がある。そこでクーロンカウンタ３０８により使用される第２Ａ／Ｄ変換器３１２は、上記の電池計測部３０６により使用される第１Ａ／Ｄ変換器３１０よりも分解能を高くして、システムが休止状態のときのわずかな放電電荷量、つまり微少な充放電電流IBATでも検知できるようにすることが望ましい。
【００６０】
クーロンカウンタ３０８により計算された値（電荷カウント値ＣＣＮＴという）は、上記の電池計測値と同様に、システムコントローラ４００（残存容量演算プログラム４０８）により読み取られ、電池の残存容量検知に使用される。また、未知の残存容量の電池パックが装着された場合には、電池計測部３０６により初期計測が実行され、システム起動後にシステムコントローラ４００により初期計測値が読み取られ、クーロンカウンタの初期値が設定される。
【００６１】
システムコントローラ４００は、バッテリマネージメント回路３００において取得された二次電池パック２００の情報にもとづいて、電池セル２０２の電池残存容量を推定する。システムコントローラ４００による演算処理については後述する。
【００６２】
以上が実施の形態に係る電源管理システム１０１の構成である。
【００６３】
続いてその利点を説明する。この電源管理システム１０１の利点は、図２の電源管理システム１０１ｒとの対比によって明確となる。
実施の形態に係る図３の電源管理システム１０１によれば、バッテリマネージメント回路３００の中に、充電回路３０２と、電池の状態を計測する装置すなわち、電池モニタ部３０４、電池計測部３０６、クーロンカウンタ３０８、を一体に構成することにより、Ａ／Ｄ変換器、アンプ、抵抗、コンパレータなどのハードウェア資源を共用化することができ、重複する機能ブロックを削減することができる。
【００６４】
続いて、バッテリマネージメント回路３００とシステムコントローラ４００による、残存容量の演算処理について説明する。
【００６５】
（二次電池のモデル）
はじめに、この推定演算処理に使用可能な、二次電池のモデルについて説明する。
【００６６】
図４（ａ）は、二次電池の等価回路モデルを示す回路図であり、図４（ｂ）は、電池電圧と負荷電流の波形図である。
【００６７】
図４（ａ）に示すように、本実施の形態では、内部抵抗RINTは、固定成分RFと変動成分RVの和で定義される。
RINT = RF + RV
固定成分RFは、電池の動作条件に依存しない、電池本来の持つ固定的な抵抗成分すなわち、電極活物質と集電体との接触抵抗や、電極金属自身の電気抵抗などを含む。また、変動成分RVは、電池の動作条件に依存する抵抗値変動、すなわち電池の温度、負荷電流変動、充電状態（SOC）に依存する電池の特性変化を含む。
【００６８】
より具体的には、変動成分RVを、それに流れる電流の過渡応答にもとづく変動成分（過渡応答成分）RIと、温度Tに依存した変動成分（温度依存成分RT）の和として定義する。
RV = RI + RT
なおこの等価回路モデルを、公知技術として認識してはならず、本発明者らが独自に考案したものである。
【００６９】
図４（ｂ）を参照する。ある時刻ｔ０より前に、負荷電流（放電電流）IBATはゼロであったとする。ここでは、時刻ｔ０以前の電池電圧VBATは、開放電圧OCVと等しいものとする。
【００７０】
時刻ｔ０に負荷電流IBATが増大すると、瞬時に電池電圧VBATはドロップする。このドロップ量VDROPは、固定成分RFの電圧降下IBAT×RFと温度依存成分RTの電圧降下IBAT×RTの和である。
【００７１】
負荷電流IBATが流れ始めた直後においては、過渡応答成分RIはゼロであるが、負荷電流IBATが流れ続けると、それまでに流れた過去の電流の履歴に応じて変化していく。過渡応答成分RIの増大にともない、その両端間の電圧降下IBAT×RIが増大していき、電池電圧VBATは時間とともにさらに低下していく。過去の負荷電流の依存は、一時点のものだけではなく、数分前ないし数十分前からの電流変動の影響が残存している。そこで特に残存影響の大きい数分前までの変動履歴を考慮することで、過渡応答成分RIを正確に記述することができる。
【００７２】
ある時刻における電池電圧VBATが既知であるとき、開放電圧OCVは、以下の式から推定することができる。
OCV =  VBAT + IBAT * RINT=VBAT + IBAT×（RF + RI + RT）
【００７３】
固定成分RFは、後述の初期測定処理Ｓ１０２において取得することができ、あるいは二次電池のサンプルについて事前に取得した値を用いることができる。事前に取得された固定成分RFの値をZBAT1_pre、初期測定処理Ｓ１０２において取得された値をZBAT1_initとする。
【００７４】
温度依存成分RTについては、二次電池のサンプルを利用して、温度Tと温度依存成分RTの関係を事前に実験あるいはシミュレーションにより取得しておき、それらを対応づけるテーブルあるいは関係式（関数）を残存容量演算プログラム４０８に格納しておく。このテーブルあるいは関係式により計算された温度依存成分RTを、ZBAT2_pre(T)とする。
【００７５】
図４（ｂ）からも分かるように、ある時刻における過渡応答成分RVは、それまでに流れた負荷電流IBATの履歴に応じた値を有するものと考えられる。そこで本実施の形態では、ある時刻からさかのぼる一定の時間区間について、その時間区間に流れた電流IBATにもとづいた値CCNTS_varを定義する。この値CCNTS_varは、過去の負荷変動の影響度を示すパラメータであり、以下、単に影響度とも称する。
【００７６】
影響度CCNTS_varと過渡応答成分RVの関係を、事前に実験あるいはシミュレーションにより取得しておき、それらを対応づけるテーブルあるいは関係式（関数）を残存容量演算プログラム４０８に格納しておく。このテーブルあるいは関係式により計算された過渡応答成分RIを、ZBAT3_pre(CCNTS_var)とする。
【００７７】
一例として、値CCNTS_varは、過去の一定区間（たとえば数秒〜数十秒）に渡り取得されたクーロンカウンタの値CCNTを、重み付けして加算することにより計算される。影響度CCNTS_varの詳細については後述する。
【００７８】
図５は、実施の形態に係る電源管理システム１０１の、電池残存容量の検出に関する機能ブロック図である。電源管理システム１０１は、電池計測部７００、クーロンカウンタ７０２および残存容量検出部６００を備える。
【００７９】
電池計測部７００は、図３の電池計測部３０６に対応し、二次電池パック２００の電池電圧VBAT、充放電電流IBATおよび温度Tを測定する。クーロンカウンタ７０２は図３のクーロンカウンタ３０８に対応し、所定の時間間隔ごとに、充放電電流IBATを積算する。
【００８０】
残存容量検出部６００は、図３のシステムコントローラ４００の一部に対応するものであり、具体的には、メインプロセッサ４０２とソフトウェアの組み合わせで実現される。残存容量検出部６００は、電池電圧VBAT、充放電電流IBATおよび温度Tにもとづいて二次電池パック２００の残存容量、より具体的には絶対残存容量および相対残存容量を算出する。
【００８１】
残存容量検出部６００は、メモリ６０２、内部抵抗算出部６０４、電圧降下算出部６０６、開放電圧算出部６０８、第１充電状態推定部６１０、第２充電状態推定部６１２、クーロンカウンタ補正部６１４、電池容量補正部６１６、初期抵抗算出部６２０、劣化評価部６２２、を備える。
【００８２】
メモリ６０２には、二次電池パック２００の満充電状態における電池容量BATCAPに対する相対残量を示す充電状態（相対残存容量）SOC_ocvと、二次電池パック２００の開放電圧OCVとの対応関係を規定するテーブルもしくは関数を保持する。上述のようにこの対応関係は事前に取得されている。
【００８３】
上述のように、二次電池パック２００の内部抵抗RINTは、固定成分RFと変動成分RVの和であるものとしてモデリングされ、変動成分RVは過渡応答成分RIと温度依存成分RTを含む。内部抵抗算出部６０４は、このモデルにもとづいて二次電池パック２００の内部抵抗RINTを算出する。取得部６０４ａは、後述の初期測定処理の結果にもとづいて固定成分RFであるZBAT1を算出する。取得部６０４ｂは、二次電池パック２００に流れる電流の履歴にもとづいて、過渡応答成分RIであるZBAT2を算出する。電流の履歴には、クーロンカウンタ７０２のカウント値CCNTが利用される。取得部６０４ｃは、温度Tにもとづいて温度依存成分RTを取得する。電流の履歴には、クーロンカウンタ７０２のカウント値CCNTが利用される。これらの抵抗成分が加算器６０５により加算され、内部抵抗RINTが算出される。
【００８４】
電圧降下算出部６０６は、内部抵抗RINTに充放電電流IBATを乗算して、電圧降下VDROPを算出する。
【００８５】
開放電圧算出部６０８は、現在の電池電圧VBATに電圧降下VDROPを加算することにより二次電池パックの開放電圧OCVを算出する。
【００８６】
第１充電状態推定部６１０は、メモリ６０２に格納されたOCV-SOCの対応関係にもとづいて、現在の開放電圧OCVに対応する現在の充電状態SOC_ocvを取得する。
【００８７】
第２充電状態推定部６１２は、クーロンカウンタの値CCNTと電池容量BATCAPにもとづいて、充電状態SOC_ccを算出する。
【００８８】
クーロンカウンタ補正部６１４は、２つの充電状態SOC_ocvとSOC_ccの間の誤差が許容値を超えるとき、クーロンカウンタの値CCNTを補正する。
【００８９】
また電池容量補正部６１６は、２つの充電状態SOC_ocvとSOC_ccの間に誤差が許容値を超えるとき、電池容量BATCAPを補正する。
【００９０】
初期抵抗算出部６２０は、二次電池パック２００が検出された直後に実行される初期測定処理Ｓ１０２の結果得られた電池電圧VBAT、負荷電流IBATにもとづいて、内部抵抗RINTの固定成分ZBAT1の初期値ZBAT1_initを算出する。
【００９１】
劣化評価部６２２は、固定成分ZBAT1の初期値ZBAT1_initにもとづいて、二次電池パック２００の劣化度αを評価する。電池容量補正部６１６は、劣化度αにもとづいて、初期状態における電池残量BATCAPを補正する。
【００９２】
以上が残存容量検出に関する電源管理システム１０１の機能ブロック図である。以下、この電源管理システム１０１の残存容量検出処理について具体的に説明する。
【００９３】
図６は、電源管理システム１０１の残存容量検出処理のフローチャートである。図７は、図６の初期測定処理Ｓ１０２のフローチャートである。図８は、図６の初期SOC推定処理Ｓ１０７のフローチャートである。図９は、図６の残存容量推定処理Ｓ１０８のフローチャートである。
【００９４】
図６を参照する。図３の電池モニタ部３０４により、二次電池パック２００の有無が判定される（Ｓ１０１）。二次電池パック２００の有無は、温度計測用のサーミスタ２０６の端子電圧ＶＴにもとづいて識別するか、または電池に既知の負荷を接続し、その際の電池の応答にもとづいて検出可能である。二次電池パック２００が検出されない場合（Ｓ１０１のＮ）、引き続き電池モニタ部３０４により二次電池パック２００の検出動作が繰り返される。
【００９５】
二次電池パック２００が検出されると（Ｓ１０１のＹ）、初期計測処理を行う（Ｓ１０２）。
【００９６】
図７を参照して初期測定処理Ｓ１０２について説明する。
【００９７】
はじめに、二次電池パック２００の正極端子２０８を開放、つまり無負荷とし（Ｓ１０２−１）、無負荷状態で、そのときの電池電圧VBAT1を測定し、それを内部レジスタに保存する（Ｓ１０２−２）。続いて、二次電池パック２００の正極端子２０８と接地（Ground）との間に固定抵抗の軽負荷（ダミーロードと称する）を接続し（Ｓ１０２−３）、その直後の電池電圧（VBAT0）と負荷電流（IBAT0）を計測する（Ｓ１０２−４）。VBAT0とIBAT0は、内部レジスタに保存される。ダミーロードにはバッテリマネージメント回路３００に内蔵される抵抗を利用することができる。ダミーロードを接続した直後とは、過渡応答の影響が現れる以前を意味する。
【００９８】
続いて、ステップＳ１０２−１で接続したダミーロードを切断する（Ｓ１０２−５）。内部レジスタに保存したVBAT0、IBAT0、VBAT1は、システムコントローラ４００の起動後に、残存容量演算プログラム４０８（残存容量検出部６００）により読み出され、二次電池パック２００の初期SOC推定処理（後述のＳ１０７）に利用される。
【００９９】
電圧および電流の測定が終了すると、直ちにクーロンカウンタ３０８の動作を開始する（Ｓ１０２−６）。ただし、その初期値である電池容量BATCAPは仮値であり、後の初期値設定を行うまでは不正確である。しかし、時間経過における相対値（時間差分）は正確である。
【０１００】
続いて図３のパワーＦＥＴ１０８をオンし、二次電池パック２００の電池電圧VBATをシステム負荷であるパワーマネージメント回路５００に供給しはじめる（Ｓ１０２−７）。
【０１０１】
以上が初期測定処理Ｓ１０２である。
【０１０２】
図６に戻る。初期測定処理（Ｓ１０２）が完了すると、システムコントローラ４００の起動を待機する（Ｓ１０３のＮ）。そしてシステムコントローラ４００が起動すると（Ｓ１０３のＹ）、オペレーティングシステム４０４の管理下で、残存容量演算プログラム４０８がメインプロセッサ４０２によって実行可能な状態となる。
【０１０３】
二次電池パック２００の残存容量が充分あればシステムコントローラ４００は起動可能であり、二次電池パック２００の残存容量が不足の場合でも、ＤＣ電力入力端子１０２に接続された外部電源が既定の電力供給を行えば、システムコントローラ４００の起動は可能である。
【０１０４】
続いて外部電源からの外部ＤＣ電圧VEXTの有無がバッテリマネージメント回路３００により判定される（Ｓ１０４）。具体的には、バッテリマネージメント回路３００は、外部ＤＣ電圧VEXTを所定のしきい値と比較するコンパレータ（図３に不図示）を備え、このコンパレータにより、外部ＤＣ電圧VEXTの有無が判定される。有効な外部ＤＣ電圧VEXTが入力されており（Ｓ１０４のＹ）、かつ二次電池パック２００が満充電状態に未達であれば、充電回路３０２が二次電池パック２００への充電電力供給を開始する（Ｓ１０５）。充電回路３０２による充電方法は特に限定されず、公知の、あるいは将来利用可能な方法が利用される。充電状態（Ｓ１０５）は、電池電圧VBATが充電終止電圧VCHG_termに到達するまでの間継続する（Ｓ１０６のＮ）。電池電圧VBATが充電終止電圧VCHG_termに到達すると（Ｓ１０６のＹ）、充電を停止する。
【０１０５】
次に、二次電池パック２００の初期SOC推定処理Ｓ１０７を行う。初期SOC推定処理Ｓ１０７は、システムコントローラ４００において残存容量演算プログラム４０８にもとづいて実行される。
【０１０６】
初期SOC推定処理Ｓ１０７は、充電により充電終止電圧に達した場合（Ｓ１０６のＹ）と、充電を経ていない場合（Ｓ１０４のＮ）とで異なる。
【０１０７】
充電終止電圧VCHG_termを経て充電終了した場合の初期SOC推定処理Ｓ１１２について説明する。
【０１０８】
初期SOC推定処理Ｓ１１２では、充電終止電圧VCHG_termにより、クーロンカウンタの値CCNTを初期化する。充電終止電圧VCHG_termが、二次電池の仕様により規定された最大充電電圧、すなわち満充電電圧（例えば、リチウムイオン二次電池ならば４．３Ｖ）の場合は、クーロンカウンタ３０８に電池容量値BATCAPと同一の値を設定する。
【０１０９】
すなわちこの場合、クーロンカウンタ値CCNTから得られるSOC値（=CCNT÷BATCAP×１００[%]）は１００％である。システムの要求または電池の寿命等を考慮して、充電終止電圧VCHG_termを最大充電電圧よりも低い電圧値（例えば４．２Ｖ）を選ぶ場合もありうる。その場合、動作終止電圧VBAT_lowを基準に、式（１）により電池容量値BATCAPを縮小する。
BATCAP=BATCAP_max×(VCHG_term - VBAT_low)/(VBAT_max - VBAT_low)  …（１）
【０１１０】
ここで、BATCAP_maxは電池の最大容量、VCHG_termは充電終止電圧、VBAT_maxは電池の最大電圧（定格値）、VBAT_lowは電池の動作終止電圧である。BATCAP_maxは、二次電池パック２００の定格容量値もしくはサンプル電池の事前測定値を用いればよい。後述のように電池が劣化している場合、容量BATCAPにはさらに劣化の度合いが反映される。
【０１１１】
ここで動作終止電圧VBAT_lowは、JIS C8711で定義される「放電終止電圧」ではなく、システムの要求により、システム終了時にオペレーティングシステムが正常にシャットダウン動作（必要なデータを不揮発性記憶媒体に退避する、など）を実行するために充分な動作電圧と残存容量とを確保した電圧として設定される。
【０１１２】
充電を経ていないとき（Ｓ１０４のＮ）の初期SOC推定処理Ｓ１０７について説明する。電池パックが装着され、ＤＣ電力入力が無い場合、充電は行われず、電池の充電状態（SOC）および残存容量は未知である。このときの初期SOC推定処理Ｓ１０７について、図８を用いて説明する。
【０１１３】
図８の初期SOC推定処理Ｓ１０７では、図４（ａ）の内部抵抗の等価回路モデルが利用される。
【０１１４】
はじめに、二次電池の劣化度αが計算される（Ｓ１０７−１）。劣化度αの計算には、上述の初期測定処理（図７のＳ１０２）において電池装着時に計測し内部レジスタに保存しておいた値VBAT0、IBAT0、VBAT1が使用される。VBAT1は、図４（ｂ）の波形図において、時刻ｔ０より前の電池電圧VBATに対応し、VBAT0は、時刻ｔ０の直後の電池電圧VBATに対応し、IBAT0は、負荷電流IBATの電流量に対応する。
【０１１５】
なお、初期測定処理Ｓ１０２において取得されたVBAT1は、かならずしも二次電池のOCVであるとは限らないことに留意されたい。なぜなら、その直前において、二次電池パック２００が充電あるいは放電されており、直前の使用から十分な緩和時間が経過していない場合、電池電圧VBATはOCVとは一致しないからである。
【０１１６】
続いて、読み出した値を利用して、二次電池パック２００の内部抵抗の初期値ZBAT1_initを式（２）にもとづいて算出する。(VBAT1 - VBAT0)/IBAT0の項には、変動成分RFの電圧降下は実質的に含まれておらず、その値から温度依存成分ZBAT2_pre(T)を減ずることにより、内部抵抗の固定成分RFが計算される。この処理は、図５の初期抵抗算出部６２０により実行される。
ZBAT1_init = (VBAT1 - VBAT0) / IBAT0 - ZBAT2_pre(T)    …（２）
【０１１７】
本発明者らは、二次電池パック２００の検出直後の初期測定によって測定された電流値IBAT、電圧値VBATにもとづいて算出される固定成分ZBAT1_initが、二次電池パック２００の充電・放電を繰り返したことによる劣化（サイクル劣化）を原因として増大することを見いだした。そこで、劣化前の未使用状態における固定成分ZBAT1_preを予め測定しておき、それをメモリに格納しておく。システムコントローラ４００は、式（２）により計算された値ZBAT1_initと、予め測定しておいた値ZBAT1_preにもとづいて、二次電池パック２００の劣化度αを評価する。劣化度αの評価は、図５の劣化評価部６２２により実行される。この劣化度αは、たとえば式（３）で定義され、劣化が進むにつれてその値は大きくなる。
α = (ZBAT1_init - ZBAT1_pre) / ZBAT1_pre    …（３）
【０１１８】
劣化度αは、バッテリの寿命の管理に使用することができる。
【０１１９】
また本発明者らは、式（３）で算出される劣化度αが、二次電池の容量の劣化と相関を有することを見いだした。そこで本実施の形態では、劣化度αを電池容量BATCAPに反映させる。具体的には、補正後の容量BATCAP'を、BATCAP'=（１−α）×BATCAPとして計算する。この処理は、図５の電池容量補正部６１６により実行される。
【０１２０】
このように、実施の形態に係るバッテリマネージメント回路３００によれば、初期状態において、負荷電流IBATを流した直後における固有の抵抗値RFを測定することにより、その抵抗値にもとづいて二次電池パック２００の劣化度αを評価することができ、さらには、それを電池容量BATCAPに反映させることができる。
【０１２１】
エラー処理として、何らかの原因で、初期計測値VBAT0、IBAT0、VBAT1が得られなかった場合は、劣化度を０（劣化はない）と仮定して電池容量BATCAPに定格容量値BATCAP_maxを設定してもよい。
【０１２２】
続いて、電圧降下値VDROPの初期値VDROP_initが算出される（Ｓ１０７−２）。具体的には、二次電池にダミーロードを接続して、そのときの負荷電流IBAT_init、電池電圧VBAT_initを測定する。そして式（４）により電圧降下値VDROPの初期値VDROP_initを算出する（Ｓ１０７−２）。
VDROP_init = IBAT_init × (ZBAT1_init + ZBAT2_pre(T) + ZBAT3_pre(CCNTS_var))  …（４）
インピーダンスの項(ZBAT1_init + ZBAT2_pre(T) + ZBAT3_pre(CCNTS_var))は図５の内部抵抗算出部６０４により計算され、電圧降下VDROP_initは図５の電圧降下算出部６０６により計算される。
【０１２３】
こうして得られた初期の電圧降下値VDROP_initを用いて式（５）から開放電圧OCVの初期値OCV_initを推定する（Ｓ１０７−３）。この推定は、開放電圧算出部６０８により行われる。
OCV_init = VBAT_init + VDROP_init     …（５）
【０１２４】
システムコントローラ４００には、開放電圧OCVとSOC（充電状態）の対応関係を示すOCV-SOCテーブルSOC=table(OCV)が用意されている。SOCは、満充電状態の容量を基準として、現在の残容量の割合（本実施の形態では％）を表したものである。
【０１２５】
システムコントローラ４００は、このテーブルを参照して、現在の推定開放電圧OCV_initに対応するSOC初期値SOC_ocv_init=table(OCV_init)を推定する（Ｓ１０７−４）。この推定は、図５の第１充電状態推定部６１０により行われる。
【０１２６】
さらに、式（６）にしたがって初期残存容量CCNT_initを算出し（Ｓ１０７−５）、クーロンカウンタに初期値として設定する（Ｓ１０７−６）。BATCAPは電池容量である。この処理は、図５のクーロンカウンタ補正部６１４により実行される。
CCNT_init = SOC_ocv_init [%]/１００ × BATCAP      …（６）
【０１２７】
上述のように二次電池が劣化している場合、その劣化度αが電池容量BATCAPに反映される。
【０１２８】
図６に戻る。ここまでの処理で、電池の充電状態（SOC）すなわち満充電状態に対する相対的な電池残存容量の初期値SOC_ocv_initと、絶対的な電池残存容量の初期値CCNT_initを推定することができる。
【０１２９】
続くステップＳ１０８、Ｓ１０９、Ｓ１１０は、電池の放電動作中の残存容量推定処理に対応する。残存容量推定処理Ｓ１０８は、電池電圧が動作終止電圧VBAT_lowを下回るまで（Ｓ１０９）、一定の時間間隔（たとえば数秒）で繰り返し行われる。
【０１３０】
残存容量推定処理Ｓ１０８について、図９を参照して説明する。
【０１３１】
現在の電池電圧VBAT(n)と放電電流IBAT(n)が、電池計測部７００により所定の周期で計測される（Ｓ１０８−１）。nは計測時刻を表し、計測ごとにインクリメントされる。
【０１３２】
上述の、負荷変動の履歴にもとづいた影響度CCNTS_varは、クーロンカウンタの値CCNTを利用して計算される（Ｓ１０８−２）。このために常に数分間にわたる過去のクーロンカウンタの値CCNTを保存しておく。現在の負荷変動履歴の影響度CCNTS_var(n)は、式（７）で定義される。
CCNTS_var(n)=Σp=0:m[{CCNT(n-p)-CCNT(n-p-1)}* K_dec(p)]    …（７）
【０１３３】
ここで、CCNTS_varは、負荷変動履歴の影響度、CCNTはクーロンカウンタ値、K_decは時間経過に伴う減衰係数である。"n"は現在の時点を表し、"n-1"はひとつ前の、"n-p"は、ｐ個前の計測時点を意味する。"m"は履歴の影響度に算入する過去の標本数である。
図５の内部抵抗算出部６０４の取得部６０４ｂは、各時刻nにおいて、影響度CCNTS_var(n)を演算し、その結果にもとづいて過渡応答成分ZBAT2を取得する。
【０１３４】
CCNT(n-p)-CCNT(n-p-1)は、現在の時刻nからp個前の時刻(n-p)における電流に相当し、K_dec(p)は、時刻(n-p)における重み付け係数である。
【０１３５】
たとえば計測時間間隔が１秒で、過去２分間分のクーロンカウンタ値を保持しておくとすると、クーロンカウンタ値の保存標本数はm=120となり、またクーロンカウンタの大きさが３２ビットであるとすれば、すなわち3840ビットという多大なバッファを用意しなければならず、ハードウェア実装の場合はレジスタ量が非常に大きくなるおそれがある。またソフトウェア実装の場合でも、記憶領域や演算量が非常に大きくなりうる。そこで、このレジスタに関しては、１０秒程度の時間間隔で離散的に記憶し、m=10程度のバッファ量にまで削減する。さらに、時間経過に依存する減衰係数K_decは、電池の過渡応答に依存し、その減衰曲線は単純な式では表現が困難であるが、２のべき数による単純な指数的減衰とみなし演算を簡略化することが望ましい。２のべき乗の演算処理は、ビットシフトにより実行できるからである。たとえば現在の時刻nよりp個前の時刻に対する係数K_dec(p)は以下のように定義される。
K_dec(p)= 2-p
【０１３６】
以上の標本数削減と、減衰係数の単純化を用いても、誤差の増大にはつながらないことが実験的に確認できている。簡易計算ではあっても、負荷変動履歴の影響は非常に大きいので、誤差の低減効果も大きいと考える。
【０１３７】
電池の特性を考えれば、電荷の移動・拡散による電気化学的なインピーダンスと、電気二重層構造による電気的容量性インピーダンスとによる過渡応答は、一般に長い減衰時間をもった減衰曲線を示すものであり、負荷変動の影響を正しく算出するには、厳密には積分演算を必要とする。それを簡易計算によって置き換えることで、効率の良い推定精度向上を行うことができる。
【０１３８】
続いて式（８）にもとづいて電圧降下VDROPが算出される（Ｓ１０８−３）。
VDROP(n) = IBAT(n)×(ZBAT1_pre + ZBAT2_pre(T) + ZBAT3_pre(CCNTS_var(n))      …（８）
この演算処理は、図５の電圧降下算出部６０６により実行される。
【０１３９】
そして、式（９）にもとづいて開放電圧（OCV）が推定される（Ｓ１０８−４）。この処理は、図５の開放電圧算出部６０８により実行される。
OCV(n) = VBAT(n) + VDROP(n)    …（９）
【０１４０】
そしてテーブル参照により充電状態（SOC）の推定値SOC_ocvが求められる（Ｓ１０８−４）。これは図５の第１充電状態推定部６１０により実行される。
【０１４１】
ここで、IBAT(n)、VBAT(n)、VDROP(n)は、それぞれ現在時点(n)の電流値、電圧値、および電圧降下値、さらにOCV(n)は、現在時点の推定開放電圧OCVである。
【０１４２】
一方、クーロンカウンタ値CCNTと電池容量BATCAP（定格容量、または実効容量）の値からも、SOCを算出することができる。この処理は図５の第２充電状態推定部６１２により実行される。
SOC_cc(n)[%] = CCNT(n) / BATCAP       …（１０）
【０１４３】
ここで、電池容量BATCAPは、初期推定値算出時の誤差が内在している可能性がある。満充電完了直後に放電を開始した場合は、電圧降下が大きいので誤差が大きくなる傾向にあり、また、未知の残存容量の電池の充電状態を推定し初期値を算出した場合も、SOC初期値や劣化度推定の誤差を内在している可能性がある。
【０１４４】
そこで、開放電圧推定により導出したSOC値SOC_ocvと、クーロンカウンタ値から導出したSOC値SOC_ccとに差がある場合、クーロンカウンタの初期値に誤差があるとみなし、クーロンカウンタ値を増減する補正を行ってもよい。たとえば、（SOC_cc - SOC_ocv）＞ 5％であったとき、定格容量の所定の割合に対応する電荷量（たとえば１％分）をクーロンカウンタから減ずる。この処理は、図５のクーロンカウンタ補正部６１４により実行される。
【０１４５】
このとき、SOC_ccが不連続にならないよう、BATCAPからも同量を減ずることが好ましい。この処理は図５の電池容量補正部６１６が実行する。これにより、劣化等による初期値推定時の誤差が後に適応的に補正されていく。クーロンカウンタの相対値は正確なので、負荷変動履歴の演算に影響を及ぼすことは無く、絶対値が補正されていくため、SOC値だけでなく、残存容量の絶対値（[mAh]単位）をも知ることができる。
【０１４６】
以上が実施の形態に係るバッテリマネージメント回路３００とシステムコントローラ４００による、電池の充電状態（SOC）および残存容量の推定演算方法である。
【０１４７】
この方法によれば以下の利点を得ることができる。
【０１４８】
第１に、電池の初期状態の計測（Ｓ１０２）において、一時的に電池に負荷電流を流す際に、ダミーロードとして、電池モニタ部３０４の機能の一部を流用することができる。たとえば電池モニタ部３０４は、電池の接続を検出する機能を有するが、この機能に利用される回路素子を、ダミーロードとして利用してもよい。
【０１４９】
第２に、未知の充電状態の二次電池パック２００が装着されるその都度、初期状態を計測する（Ｓ１０２）ため、電池の充電状態を記憶しておくための不揮発性メモリを持つ必要が無い。
【０１５０】
第３に、電圧法と電荷積算法とを併用し、相互に誤差補正をすることとした。これにより、従来よりも高い精度で残存容量を検出することができる。
【０１５１】
第４に、電子機器１００が休止状態にあるときには、クーロンカウンタ３０８による電荷量の積算のみを継続し、開放電圧（OCV）推定を停止させることで消費電力低減が可能である。したがって、開放電圧推定演算処理（Ｓ１０８）は、電子機器１００の通常動作時のみでもよく、ソフトウェアによる実装が可能となる。このことは、バッテリマネージメント回路３００のハードウェアを削減することができることを意味する。なお、電子機器１００の休止状態では、第１Ａ／Ｄ変換器３１０を停止するようにしてもよく、この場合、消費電力を低減することができる。
【０１５２】
第５に、電池の内部抵抗値RINTの算出に、等価回路モデルを用いず、固定成分RFと変動成分RVとの和を用いることで、複雑な演算を排除し、演算量を削減でき、処理時間短縮および消費電力低減が可能である。
【０１５３】
第６に、電池の内部抵抗値RINTの変動成分を、電池の温度、負荷変動、特性変動、劣化を考慮して算出するため、推定誤差を低減することができる。
【０１５４】
第７に、機器の起動時および電池装着時に電池の充電状態（SOC）および残存容量の推定を行うので、システム停止時に電池の状態を記憶・保持するための不揮発性記憶媒体（フラッシュメモリなど）を必要としない。
【０１５５】
第８に、電池の残存容量推定装置を充電回路と協調動作させることにより、充電時は満充電完了時点を、ソフトウェアその他の通信手段を経ることなく、ただちに残存容量推定装置に通知することができる。また、電池の初期状態を計測する際、充電回路の機能の一部（充電電流供給機能、および無負荷／定負荷選択機能）を流用することができ、ハードウェアの重複を避けることができる。
【０１５６】
以上、本発明について、実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセス、それらの組み合わせには、さまざまな変形例が存在しうる。以下、こうした変形例について説明する。
【０１５７】
実施の形態では、図３のバッテリマネージメント回路３００とシステムコントローラ４００の組み合わせによって、図６〜図９で説明した残存容量推定の処理を行う場合を説明したが、本発明はそれには限定されない。
【０１５８】
たとえば、図２に示した電源管理システム１０１ｒにおいて、図６〜図９で説明した残存容量の推移処理を行ってもよい。
【０１５９】
また、図６〜図９の演算処理をすべて採用する必要はなく、その一部のみを採用し、残りの部分は公知技術を用いてもよい。
【０１６０】
実施の形態では、システムコントローラ４００を、メインプロセッサ４０２とソフトウェアの組み合わせで構成する場合を説明したが、本発明はそれには限定されず、システムコントローラ４００をハードウェアのみで実現してもよい。またシステムコントローラ４００の機能のうち、二次電池の残存容量検出に関する機能の一部あるいは全部は、バッテリマネージメント回路３００に内蔵されてもよい。
【０１６１】
反対に、バッテリマネージメント回路３００で行われる処理の一部、たとえばクーロンカウンタ３０８による積算処理は、システムコントローラ４００で行ってもよい。あるいは電池計測部３０６における演算処理の一部を、システムコントローラ４００で行ってもよい。
【０１６２】
実施の形態にもとづき、具体的な用語を用いて本発明を説明したが、実施の形態は、本発明の原理、応用を示しているにすぎず、実施の形態には、請求の範囲に規定された本発明の思想を逸脱しない範囲において、多くの変形例や配置の変更が認められる。
【符号の説明】
【０１６３】
１００…電子機器、１０１…電源管理システム、１０２…ＤＣ電力入力端子、１０４…通信バス、１０６…電流検知抵抗器、１０８…パワーＦＥＴ、２００…二次電池パック、２０２…電池セル、２０４…保護回路、２０６…サーミスタ、２０８…正極端子、２１０…負極端子、２１２…温度検知端子、３００…バッテリマネージメント回路、３０２…充電回路、３０４…電池モニタ部、３０６…電池計測部、３０８…クーロンカウンタ、３１０…第１Ａ／Ｄ変換器、３１２…第２Ａ／Ｄ変換器、３１４…インタフェース部、３２０…充電部、３２２…電流制御トランジスタ、３２４…充電制御部、４００…システムコントローラ、４０２…メインプロセッサ、４０４…オペレーティングシステム、４０６…アプリケーションプログラム、４０８…残存容量演算プログラム、４１０…通信ドライバプログラム、５００…パワーマネージメント回路。
【図１】
2015027137.tif 000003
【図２】
2015027137.tif 000004
【図３】
2015027137.tif 000005
【図４】
2015027137.tif 000006
【図５】
2015027137.tif 000007
【図６】
2015027137.tif 000008
【図７】
2015027137.tif 000009
【図８】
2015027137.tif 000010
【図９】
2015027137.tif 000011